번들되지 않은 아키텍처: 4개의 프런트엔드 모듈이 독립형으로 전환 + OSS 미러 강화
이날은 대규모 건축물 언번들링이 있었습니다. 스튜디오의 가장 큰 4가지 프런트엔드 패키지(채팅, 워크벤치, 설정, 대시보드)가 독립형 하위 모듈(R4 계획)로 추출되었습니다. CLI 종속성 클로저는 자체 저장소로 격리되었습니다. 공개 OSS 미러는 실제 빌드 CI, PR 기반 푸시 및 관리자 우회 보호 기능을 얻었습니다. 뷰포트 2×2 재설계 사양이 출시되었습니다. Nightly 릴리스 v0.3.3이 자동으로 제공됩니다.
R4: 프런트엔드를 완전히 독립된 모듈로 분할
스튜디오의 프런트엔드는 가장 무거운 4가지 패키지(채팅, 워크벤치, 설정, 대시보드)가 모두 기본 저장소에 내장되어 함께 컴파일되고 함께 릴리스될 정도로 커졌습니다. 개발자의 경우 채팅에서 한 줄을 변경한다는 것은 전체 프런트엔드가 다시 빌드될 때까지 기다리는 것을 의미합니다. 구조적으로 네 개의 블록 사이에 얽힌 종속성은 풀기가 점점 더 어려워졌습니다. 오늘의 R4 계획은 이 네 가지 패키지를 각각 자체 저장소, 자체 버전, 자체 CI를 포함하는 독립적인 하위 모듈로 등록했습니다. 이점은 즉각적이었습니다. 각 모듈은 독립적으로 반복하고 테스트할 수 있으며 채팅을 터치해도 워크벤치를 다시 빌드하지 않아도 됩니다. 단점도 분명합니다. 관리할 하위 모듈이 더 많다는 것입니다. 그러나 "신속한 프로토타입"에서 "장기 유지 관리 가능"으로 이동하는 프로젝트의 경우 이 단계는 조만간 이루어져야 하며, 빠르면 빠를수록 좋습니다.
CLI 종속성 클로저도 독립형으로 작동합니다.
프론트엔드뿐만이 아닙니다. 또한 이날은 CLI의 종속성 폐쇄(계약, 에이전트 호스트, 플랫폼-io, 코어)를 기본 저장소에서 독립형 하위 모듈 저장소로 추출했습니다. 이전에는 하나의 node_modules와 하나의 빌드 파이프라인을 공유하면서 기본 저장소의 하위 디렉터리로 사용되었습니다. 그러나 CLI는 기본적으로 다양한 Studio 버전 간에 호환성을 유지해야 하는 독립적인 제품이며, 모노레포에 내장되어 있어 유연성이 제한되었습니다. 일단 추출되면 CLI는 독립적으로 버전을 지정하고 테스트할 수 있으며 OSS 미러는 완전히 빌드하기 위해 이러한 저장소만 동기화하면 됩니다. 그 전에는 누락된 종속성으로 인해 공용 미러의 'bun 설치'가 계속 실패했습니다.
OSS 미러: "탐색 가능"에서 "빌드 가능"까지
이날 공개 OSS 미러(ForgeaX-Games/forgeax-studio)가 철저하게 강화되었습니다. 가장 큰 변화: 퍼블릭 리포지토리에 코드를 푸시하는 것은 더 이상 메인으로 직접 이동하지 않습니다. 즉, PR + 자동 병합 흐름을 거쳐야 합니다. 즉, 모든 동기화에는 CI 확인, 검토 추적 및 롤백 지점이 제공됩니다. 동시에 공개 저장소는 유형 확인, 'bun fx 설정', 스모크 테스트, 코드 오픈 소스 사용자가 실제로 컴파일을 수신하는지 확인하기 위한 엔드투엔드 실행 등 실제 빌드 CI를 처음으로 얻었습니다. 보안 허점도 막혔습니다. 이전에는 관리자가 지점 보호를 우회하고 직접 푸시할 수 있었습니다. 이제 enforce_admins=true는 해당 경로를 닫습니다. MIRROR_TOKEN 누출도 수정되었으며 PR-time 미러 드라이런 게이트가 추가되었습니다. 한 문장으로 말하자면, 미러는 "찾을 수는 있지만 빌드할 수 없는 코드"에서 "CI는 빌드를 보장하고 프로세스는 추적 가능을 보장합니다."로 바뀌었습니다.
뷰포트 2×2 재설계: 실행 × 디스플레이 직교 모드
이날 중요한 디자인 사양인 뷰포트 2×2 재설계도 이루어졌습니다. 핵심 아이디어는 "실행 모드"(편집/재생)를 "표시 모드"(장면/게임)에서 두 개의 직교 차원으로 분리하여 2×2 행렬을 형성하는 것입니다. 이전에는 편집기의 편집 및 재생이 상호 배타적인 두 가지 상태였으며 전체 뷰포트가 스위치에서 다시 작성되었습니다. 새로운 디자인을 통해 다양한 실행 상태에 따라 장면 보기와 게임 보기를 동시에 볼 수 있습니다. 이는 앞뒤로 전환하지 않고도 한 화면에서 편집하고 미리 볼 수 있는 UE5의 에디터 경험과 일치시키기 위한 단계입니다.
v0.3.3 자동 야간 릴리스 + 빌드 수정 더미
Nightly 릴리스 파이프라인은 오늘 자동으로 v0.3.3을 성공적으로 생성했습니다. 그러나 프로세스는 또한 그 과정에서 상당한 수의 문제를 노출하고 해결했습니다. 데스크탑 빌드에 Bun 사이드카 바이너리가 누락되었고, 재귀 하위 모듈 체크아웃이 간헐적으로 실패하고 재시도 메커니즘이 필요했으며, Vite 별칭 경로가 패키지 이름 재구성을 따라가지 못했고, Tauri 빌드가 계약에서 이동한 유형 정의를 찾을 수 없었습니다. 또한 서버측 워크벤치 GUID 재매핑 버그와 플랫폼-io 자산 루트가 하나씩 떨어져 있는 문제도 수정되었습니다. 각 수정 사항은 그 자체로는 작지만 "자동 릴리스 파이프라인 실행 가능"에서 "자동 릴리스 파이프라인이 안정적으로 실행"까지의 핵심 단계입니다.
오늘의 의미
오늘의 키워드는 '경계'입니다. 프로젝트가 신속한 프로토타이핑에서 성숙 단계로 이동할 때 해야 할 가장 중요한 일 중 하나는 코드에 명확한 경계를 그리는 것입니다. 어떤 부분은 독립적인 모듈이고, 누가 누구에게 의존하고, 어떤 부분은 스스로 출시할 수 있는지입니다. R4 분할 및 CLI 종속성 추출은 기본 저장소 내부에 경계를 그립니다. OSS 미러를 강화하면 내부 저장소와 공용 저장소 사이에 경계가 그려집니다. 분기 보호 및 PR 흐름은 "사람"과 "코드 변경" 사이에 경계를 그립니다. 경계가 명확해지면 각 부분이 독립적으로 발전, 테스트 및 출시될 수 있으며 프로젝트는 "한 사람이 큰 진흙 공을 밀어내는 것"에서 "각각 스스로 앞으로 나아가는 명확한 모듈 세트"로 이동할 수 있습니다.