업데이트 2.218
2026. 8. 2.
v2.218.0.0BETAMINOR
Seymour2026년 8월 2일
VIEWERHUB F1: 3D 뷰어의 보편적 통합 (포트 1개, 파이썬 없음, 브라우저 없음)
StudioWebServer(Modules/Common/ViewerHub/): IN-PROCESS 정적 HTTP 서버 (TcpListener loopback:8769)에 가상 호스트 라우팅*.loopback(RFC 6761 — WebView2은 루프백으로 해결됨; 각 앱은 자체 “도메인” 루트를 인식함 — HTML 재작성 없이 절대 경로를 해결함). 정적 파일 + MIME + 투명 정션 + 경로 탐색 가드 +GET /health. 포트 회수: 레거시 python (http.server) squats 8769, kills 그것 통해GetExtendedTcpTable; otherwise honest status. Zero external process (nothing 으로 leak).NoclipLocator: 단일 발견 사항 (envNOCLIP_ROOT→ walk-up →Downloads/Compressed) 및 nested-root 수정 사항 (잠재적인 Aurora 버그).ServeDirBuilder: noclip serve-dir (증분 배포판 + 데이터 정션).ViewerDescriptor+ViewerHubService: 선언형 뷰어 레지스트리 + 단일 APIBuildUrl/Find/StatusText; 초기 설명서monster-studio및magic-studio(호스트noclip.loopback).ViewerShell(Modules/Common/ViewerShell/): 범용 메뉴 — 고정 바 (in-process 서버 상태, URL, 새로 고침) + 내장된 WebView2;WebView2Host이Common으로 복사됨 (구형 뷰어는 F2까지 기존 사본을 유지함).- 배선:
Main_Window— Monster Studio에서 이제 ViewerShell 임베드(브라우저 불필요)를 지원하며,magic-studio-web핸들러/케이스가 새로 추가되었습니다.ModuleCatalogPolicy—magic-studio-web항목이 추가되었고,monster-studio-web항목이 업데이트되었습니다(임베디드 3D 뷰어). - 게이트: 릴리스 build 0 오류 (445 pre-existing 경고); StudioWebServer 프르오브에 테스트 7/7 PASS (흐이르스 JSON, 알려진/알 수 없는 호스트 라우팅, 즈스/브이느 MIME, 경로 트르아브어스얼 통해 원시 TCP, 404).
- 건축 문서:
docs/ai/VIEWERHUB_ARCHITECTURE_2026-08-02.md(승인된 계획 F1–F6, 사용자 결정 사항). - 보류 중:
*.loopbackWebView2 스프이크에 (수동 스姆오크에: 추가 기능 → 몬스터 스튜디오 에서 해당 편집기); F2 (마이그레이션 마법/모델/Map 브이에우어스 로 해당 허브); 대상 배포 (브이느/릴리스 였음 잠김 통해 해당 열기 편집기 동안 build).
v2.217.1.0
v2.218.1.0BETAPATCH
Seymour2026년 8월 2일
i18n Wave 3b: 1,739개의 UNIQUE 리터럴이 마이그레이션됨 — 편집기 100% resx-driven
- Lane IFRT-2
- 1,759개의 고유 항목에 대한 객관적 분류: 1,739개의 실제 항목UI과 20개의 기술적 잡다한 항목(경로/16진수/숫자/기호/ID — 의도적으로 마이그레이션되지 않음).
- 총 9개의 르스엑스 파일에 포함된 1,739개의
U_{slug}_{hash8}키(표시되는 텍스트는 byte-for-byte에서 EN/PT로 유지됨 — 시각적 동작에는 변화가 없으며, 실제 번역 작업은 향후 점진적으로 진행될 예정입니다 내 모든 9 르스엑스 (표시됨 텍스트 프르스어브드 byte-for-byte 내 EN/PT — 0 시각적 동작 변경; 실제 트르아느스르아션 유지됨 처럼 프우처 이느크르먼트얼 작업). - 94개의 .axaml 파일에서 총 1,736곳을 수정 (
{x:Static res:Strings.U_...});MonsterAiEditor2*는 제외됨 (엄격한 규칙, 차이점 0개).Strings.cs+1,739개 속성. - 스크립트:
_i18n_onda3b_classify.py,_i18n_onda3b_migrate.py,_i18n_onda3b_cs.py,_i18n_onda3b_check.py(0개의 잔여 항목; “남은” 10개는 정규 표현식의 오탐지 결과입니다 — 문자열 내의 XAML 조각이며, UI은 아닙니다). - 게이트: build 0 오류; 스위트 381/381 PASS (다른 레인's StudioWebServerTests.cs 이동됨 아스이드에 위해 해당 테스트 및 복원됨 이느트아크트).
- MILESTONE: 하드코딩된 리터럴 드에브트 ZEROED — 파동 1+2+3a+3b = 2,294개의 리터럴 마이그레이션 완료 (2,414 → 0개 실제 UI). 진행 중: 편집기에서 수동으로 PT/EN 스모크 테스트. ### PATCH
v2.218.0.0
v2.218.2.0BETAPATCH
Seymour2026년 8월 2일
ViewerHub F1 수정: `*.loopback` spike FAILED → loopback-IP URL
- 진단 (체계적): in-process 서버 100% OK (상태 200, 인덱스 200, 번들 200, wasm 200 application/wasm, 1d/0080 bins 200) — BLACK SCREEN는 WebView2에서
noclip.loopback로 이동하는 경로였으며, 이 Windows 시스템은 아님를 해결할 수 있습니다(RFC 6761이 OS 리졸버에서 비활성 상태:Resolve-DnsName/GetHostAddresses실패). - 수정:
ViewerHubService.BuildUrl이제 반환함http://loopback:8769/index.html#ffx/...(직접 IP, 없음 DNS) — 해당 느오크르이프 르이브스 에서 해당 serve-dir 루트, 절대 경로 해결 와 함께 없음 르르이트잉. Virtual-host 라우팅 유지됨 에서StudioWebServer(해당loopback별칭 크오브어스 해당 현재 흐름; 브이르트우얼 호스트 남다 위해 프우처 아프프스). - 인코딩:
ViewerHub.cs/ViewerShell_Control.axaml.csMOJIBAKEPowerShell /5.1Set-ContentUTF-8에서ViewerHub→ViewerHubServiceUTF-8PowerShellSet-Content와 accents. - 게이트: build 0 오류; 테스트 8/8 PASS (새로운
LoopbackAlias_ServesForPlainIpHost— 해당 실제 허브 흐름). - 문서 업데이트:
docs/ai/VIEWERHUB_ARCHITECTURE_2026-08-02.md§5 (스파이크 결과 + 대체 처리 방식 문서화).
v2.218.1.0
v2.218.3.0BETAPATCH
Seymour2026년 8월 2일
i18n: 수동 스모크 테스트 AUTOMATED + 이스케이프 처리된 4개 Run.Text 리터럴이 마이그레이션되었습니다
- Lane IFRT-2
StringsIntegrityTests(신규, 테스트 3개) — 약 96개 모듈에 대한 수동 스모크 테스트를 대체합니다: (1) .axaml 내의 모든{x:Static res:Strings.X}참조는 Strings.cs 속성으로 해결되며, 및는 중립적인 resx 키를 가집니다; (2) 모든 Strings.cs 속성은 중립적인 키를 가집니다; (3) .axaml 파일에 원시 UI 리터럴이 전혀 없어야 합니다(기술적 잡다한 요소 — 경로/16진수/숫자 — 에 대해서는 문서화된 예외가 있으며, 이는 Wave 3b 분류기와 동일한 기준입니다).- 4개의 이스케이프된 리터럴 (
Run Text=앞에 공백이 있는=속성 — 마이그레이션 정규식이 이를 놓쳤음):· partner hex:,/ 112 non-empty,+ →(MixTableEditor),Payload SHA256:(SaveEditorHub) → 9개의 resx 파일 전체와U_*에 있는 키를 Strings.cs으로 변경 및 대체함. - 게이트: build 0 오류; 스위트 384/384 PASS (381 + 3 새로운). 해당 테스트 포착됨 실제 실패 위에 첫 번째 실행 (23 원시 리터럴 → 아느아리스이스 → 20 을그이트이姆아트에 기술적 즈우느크 + 4 실제 마이그레이션됨) — 증명 해당 자동화된 스姆오크에 작동함.
- 현재 번역 흐름: 새 문자열 = Strings.resx 에 1개의 키 + Strings.cs에 1개의 속성 (8개의 위성은 EN의 폴백을 통해 ResourceManager을 상속받음); 실제 번역 = 위성에 번역된 키만 채우면 됨. ### PATCH
v2.218.2.0
v2.218.4.0BETAPATCH
Seymour2026년 8월 2일
ViewerShell UNIVERSAL MENU v2 (browser-like 패턴)
- 새로운 툴바: 3개의 영역으로 구성된 간결한
cardSoft— (1) 제목 + 서버 상태 표시창 (3가지 상태:iniciando…/servidor in-process/pillDanger, 오류 발생 시 — 실제 StudioTheme 클래스:pillReadonly/pillDanger); (2) 주소 표시줄 (URL이 ToolTip로 축약됨 — 소프트웨어 내부의 “브라우저”); (3) 범용 동작 (다시 로드). 세로 공간을 낭비하던 기존의 큰 카드는 사라졌습니다. - DataModel:
IsStarting/IsRunning/IsError+SetState(); code-behind는 성공/오류 시나리오에 따라 상태를 업데이트합니다(BuildUrl null → 오류 사유가 포함된 빨간 알약). - 게이트: build 0 오류; 편집기 스姆오크에 (추가 기능 → 몬스터 스튜디오/마법 스튜디오 — 새로운 메뉴 + 뷰어 르오아드잉).
- 참고: ‘per-mode’ 컨텍스트 패널(desc 도구 — e.g. Aurora의 엔카운터 선택기)은 F3(axaml 주석)에서 접을 수 있는 행으로 표시됩니다.
v2.218.3.0
v2.218.5.0BETAPATCH
Seymour2026년 8월 2일
ViewerShell SKIN: noclip UI 숨김 (로고/정보/하단 바)
WebView2Host에InjectScriptOnDocumentCreated(script)— 기능이 추가되었습니다 — 생성되는 모든 문서에 스크립트를 삽입합니다AddScriptToExecuteOnDocumentCreatedAsync, 를 통해, 런타임 초기화 전에 안전한 대기열을 거치도록 함). 향후 스킨 및 도구 개발을 위한 기반이 됩니다.- ViewerShell에서 적용한 Noclip 스킨 (
RequiresNoclip설명): CSS+MutationObserver (#BottomBar(noclip 재생/일시정지/전체화면/공유) 숨김),#About(로고가 포함된 크레딧 패널),#studioSidePanelHelpBtn,.SettingsButton— 기능 패널은 그대로 유지됩니다 (몬스터/마법 드롭다운) 및 3D 캔버스. 기존의 기본 메뉴는 사라졌으며, 유니버설 메뉴는 저희가 사용 중입니다(셸 툴바). - 게이트: build 0 오류; 편집기 스姆오크에 (추가 기능 → 몬스터 스튜디오 — 느오크르이프 UI 숨겨진, 몬스터 드롭다운 이느트아크트).
- 다음: F2 (Magic/Model/Map 뷰어 마이그레이션) + 스킨 개선 (noclip 드롭다운 메뉴를 대체하는 자체 셸 도구).
v2.218.4.0