Panel 구현 지도
Pterodactyl·Blueprint의 설정·소스·설치 산출물을 구분합니다.
WickedHost 공통 확정 기준: vPanel/Pterodactyl 디자인을 Blesta까지 동일 적용. 문서·예제 기준이며 운영 서비스 배포와는 별도입니다. 공통 동작 규칙을 재사용하며, 다른 체계의 사례는 비교 근거일 뿐 스타일 상속이 아닙니다.
확인 범위
blueprint 저장소의 wicked 확장 소스·문서 일부를 읽었습니다. 내부 식별자 nebula는 호환성 경로이며 사용자 표기는 WICKED/Panel입니다. 로컬 원본·packages 아카이브·installed-only 스냅샷·운영 설치본은 같다고 가정하지 않습니다.
구조와 데이터 흐름
Design Controller의 검증된 JSON → Blueprint 저장 설정 → Blade 토큰 주입 → React/확장/관리 화면 소비. 라이브 콘솔·전원·WebSocket은 기존 Panel/Wings가 소유합니다.
- extensions/wicked/private/design_controller.php: 라이트/다크 기본값, 레이아웃, 번역·아이콘 설정 검증.
- extensions/wicked/src/views/wrapper/theme/variables.blade.php: 저장값을 해석해 --arct-* CSS 변수로 출력.
- extensions/wicked/private/dashboard/ServerRow.tsx: 서버 목록 리소스 조회·표시.
- extensions/wicked/private/elements/MessageBox.tsx: 메시지 기본 요소.
- extensions/wicked/private/elements/ScreenBlock.tsx: 페이지 수준 상태.
- docs/ARCT-DESIGN-SYSTEM.md: 기존 구조·선택 이유. 일부 시간 설명은 소스와 충돌합니다.
적용 원칙
PANEL-01 MUST: 문서의 기본값으로 운영 Design Controller 저장값을 덮어쓰지 않습니다.
PANEL-02 MUST: 디자인 변경은 Blueprint source/package/live 계약에 따라 별도 검증합니다. 문서 작성만으로 패키지를 재생성하지 않습니다.
PANEL-03 MUST: 권한·서버 바인딩·콘솔 스트림은 기존 소유자를 유지합니다.
PANEL-04 SHOULD: 중복 오류는 MessageBox/ScreenBlock 문맥에서 한 번만 표시하도록 검토합니다.
알려진 차이
ServerRow는 60000ms interval, 숨긴 탭 조회 생략, 429에서 마지막 정상값 유지를 구현합니다. ARCT 문서 후반의 30초·실패 시 초기화는 현재 코드와 다릅니다. 원문 전체를 덮어쓰지 않고 차이 목록에 재검토 대상으로 기록했습니다.
남은 확인
운영 설정의 실제 토큰, 패키지와 소스 일치, 사용자·관리 화면의 공통 요소, 파일/모달 키보드, 데이터 freshness, 모바일 메뉴와 실제 권한 실패 경로.