3.5 KiB
3.5 KiB
XCUI Phase Status 2026-04-05
Scope
Current execution stays inside the XCUI module and new_editor.
Old editor replacement is explicitly out of scope for this phase.
Three-Layer Status
1. Common Core
UI::DrawData, input event types, focus routing, style/theme resolution are in active use.UIDocumentCompilerwas restored to a stable buildable baseline after a broken parallel schema attempt corrupted the file.- Build-system hardening for MSVC/PDB output paths has started in root CMake,
engine/CMakeLists.txt,new_editor/CMakeLists.txt, andtests/NewEditor/CMakeLists.txt.
Current gap:
- Schema/validation is not yet landed in a stable form.
- Shared widget/runtime instantiation is still thin and mostly editor-side.
2. Runtime/Game Layer
- Runtime-side XCUI is still shallow.
- The main concrete progress here is that the retained-mode demo runtime now supports a real
TextFieldinput path with UTF-8 text entry and backspace handling. - This proves that the runtime-facing layer is no longer limited to static cards/buttons.
Current gap:
- No real game-facing screen host, menu stack, HUD stack, or shared runtime widget library yet.
3. Editor Layer
new_editorremains the isolated XCUI sandbox.- Native hosted preview is working as
RHI offscreen surface -> ImGui shell texture embed. XCUI Demoremains the long-lived effect and behavior testbed.LayoutLabnow includes aScrollViewprototype and a more editor-like three-column authored layout.- Panel diagnostics were expanded to clearly separate preview/runtime/input state and native vs legacy paths.
XCNewEditorbuilds successfully tobuild/new_editor/bin/Debug/XCNewEditor.exe.
Current gap:
- The shell is still ImGui-hosted.
- Editor-specialized widgets are still incomplete: tree, list virtualization, property grid, toolbar/menu, text area, icon atlas widgets.
Validated This Phase
new_editor_xcui_demo_runtime_tests:6/6new_editor_xcui_layout_lab_runtime_tests:5/5new_editor_xcui_rhi_command_compiler_tests:6/6new_editor_xcui_rhi_render_backend_tests:5/5XCNewEditorDebug target builds successfully
Landed This Phase
- Demo runtime
TextFieldwith UTF-8 text insertion, caret state, and backspace. - Demo authored resources updated to exercise the input field.
- LayoutLab
ScrollViewprototype with clipping and hover rejection outside clipped content. - RHI image path improvements:
- clipped image UV adjustment
- mirrored image UV preservation
- external texture binding reuse
- per-batch scissor application
new_editorpanel/shell diagnostics improvements for hosted preview state.- XCUI asset document loading changed to prefer direct source compilation before
ResourceManagerfallback for the sandbox path, fixing the LayoutLab crash.
Phase Risks Still Open
- Schema/validation work must be restarted cleanly after the corrupted parallel attempt.
ScrollViewis still authored/static; no wheel-driven scrolling or virtualization yet.Imagewidgets still do not have source-rect/atlas-subregion level API in the high-level draw command model.- Editor shell still depends on ImGui as host chrome.
Next Phase
- Re-open common-layer schema/validation on a clean branch and land the smallest stable version.
- Add next editor-facing widgets:
TextArea, list/tree, property-style sections. - Move more diagnostics and shell affordances into XCUI-owned editor-layer surfaces instead of only ImGui HUDs.
- Continue phased validation, commit, push, and plan refresh after each stable batch.