|
|
|
@@ -48,7 +48,7 @@ Current gap:
|
|
|
|
|
|
|
|
|
|
|
|
- Minimal schema self-definition support is landed, including consistency checks for enum/document-only schema metadata, but schema-driven validation for `.xcui` / `.xctheme` instances is still not implemented.
|
|
|
|
- Minimal schema self-definition support is landed, including consistency checks for enum/document-only schema metadata, but schema-driven validation for `.xcui` / `.xctheme` instances is still not implemented.
|
|
|
|
- Shared widget/runtime instantiation is still thin and mostly editor-side.
|
|
|
|
- Shared widget/runtime instantiation is still thin and mostly editor-side.
|
|
|
|
- Common widget primitives are still incomplete: shared text-input presentation/composition on top of the new text controller, multi-selection/focus-traversal/virtualized collection state on top of the new editor-primitive helpers, and native image/source-rect level APIs.
|
|
|
|
- Common widget primitives are still incomplete: shared text-input presentation/composition on top of the new text controller, multi-selection/focus-traversal/virtualized collection state on top of the new editor-primitive helpers, and a fully native text/font-atlas path that no longer leans on ImGui font internals.
|
|
|
|
|
|
|
|
|
|
|
|
### 2. Runtime/Game Layer
|
|
|
|
### 2. Runtime/Game Layer
|
|
|
|
|
|
|
|
|
|
|
|
@@ -72,6 +72,7 @@ Current gap:
|
|
|
|
- `new_editor` remains the isolated XCUI sandbox.
|
|
|
|
- `new_editor` remains the isolated XCUI sandbox.
|
|
|
|
- Native hosted preview is working as `RHI offscreen surface -> hosted surface image present` through the current shell adapter path.
|
|
|
|
- Native hosted preview is working as `RHI offscreen surface -> hosted surface image present` through the current shell adapter path.
|
|
|
|
- Hosted preview surface descriptors now stay on XCUI-owned value types (`UITextureHandle`, `UIPoint`, `UIRect`) instead of exposing ImGui texture/UV types through the generic preview contract.
|
|
|
|
- Hosted preview surface descriptors now stay on XCUI-owned value types (`UITextureHandle`, `UIPoint`, `UIRect`) instead of exposing ImGui texture/UV types through the generic preview contract.
|
|
|
|
|
|
|
|
- Shared `UI::UIDrawData` image commands now carry explicit `uvMin` / `uvMax` source-rect semantics, and the native panel canvas host preserves those UVs when it records hosted surface-image preview commands.
|
|
|
|
- `XCUI Demo` remains the long-lived effect and behavior testbed.
|
|
|
|
- `XCUI Demo` remains the long-lived effect and behavior testbed.
|
|
|
|
- `XCUI Demo` now covers both single-line and multiline text authoring behavior, including click caret placement, delete/backspace, tab indentation, and optional text-area line numbers.
|
|
|
|
- `XCUI Demo` now covers both single-line and multiline text authoring behavior, including click caret placement, delete/backspace, tab indentation, and optional text-area line numbers.
|
|
|
|
- `XCUI Demo` now consumes the shared `UITextInputController` path for text editing instead of carrying a private key-handling state machine.
|
|
|
|
- `XCUI Demo` now consumes the shared `UITextInputController` path for text editing instead of carrying a private key-handling state machine.
|
|
|
|
@@ -106,7 +107,7 @@ Current gap:
|
|
|
|
- routes shell shortcuts through the same command router without reading ImGui capture state in the default host path
|
|
|
|
- routes shell shortcuts through the same command router without reading ImGui capture state in the default host path
|
|
|
|
- drives both sandbox runtimes directly from Win32/XCUI input snapshots instead of routing through ImGui panel hosts
|
|
|
|
- drives both sandbox runtimes directly from Win32/XCUI input snapshots instead of routing through ImGui panel hosts
|
|
|
|
- composes one native `UIDrawData` packet and submits it through `NativeWindowUICompositor`
|
|
|
|
- composes one native `UIDrawData` packet and submits it through `NativeWindowUICompositor`
|
|
|
|
- `NativeXCUIPanelCanvasHost` now backs that direct shell path as an externally driven canvas/session host for native cards instead of assuming an ImGui child-window model.
|
|
|
|
- `NativeXCUIPanelCanvasHost` now backs that direct shell path as an externally driven canvas/session host for native cards instead of assuming an ImGui child-window model, and it now emits native `Image` draw commands for hosted surface-image previews while preserving per-surface UVs.
|
|
|
|
- `XCUIInputBridge.h` no longer includes `imgui.h`, so the public XCUI input bridge seam is now host-neutral at the header boundary.
|
|
|
|
- `XCUIInputBridge.h` no longer includes `imgui.h`, so the public XCUI input bridge seam is now host-neutral at the header boundary.
|
|
|
|
- `XCNewEditor` builds successfully to `build/new_editor/bin/Debug/XCNewEditor.exe`.
|
|
|
|
- `XCNewEditor` builds successfully to `build/new_editor/bin/Debug/XCNewEditor.exe`.
|
|
|
|
|
|
|
|
|
|
|
|
@@ -116,7 +117,7 @@ Current gap:
|
|
|
|
- Hosted-preview offscreen surface publication is still not wired for the native compositor path because descriptor-backed texture registration is still ImGui-host-centric today.
|
|
|
|
- Hosted-preview offscreen surface publication is still not wired for the native compositor path because descriptor-backed texture registration is still ImGui-host-centric today.
|
|
|
|
- The native shell currently proves direct runtime composition, but its shell chrome is still a bespoke `Application`-side layout rather than a fully shared XCUI-authored editor shell document.
|
|
|
|
- The native shell currently proves direct runtime composition, but its shell chrome is still a bespoke `Application`-side layout rather than a fully shared XCUI-authored editor shell document.
|
|
|
|
- Editor-specialized widgets are still incomplete at the shared-module level: the authored prototypes exist, but virtualization, multi-selection/focus traversal, toolbar/menu chrome, menu interaction widgets, and icon-atlas widgets are not yet extracted into reusable XCUI modules.
|
|
|
|
- Editor-specialized widgets are still incomplete at the shared-module level: the authored prototypes exist, but virtualization, multi-selection/focus traversal, toolbar/menu chrome, menu interaction widgets, and icon-atlas widgets are not yet extracted into reusable XCUI modules.
|
|
|
|
- Shared image support is still incomplete for full native hosted-preview parity: `UI::UIDrawData` still lacks explicit source-rect/UV-level image commands, so native surface-image composition cannot yet mirror the ImGui panel host path exactly.
|
|
|
|
- The default native path still depends on ImGui font-atlas internals through `XCUIStandaloneTextAtlasProvider`, so text rendering is not yet cleanly de-ImGuiized even though the shell/panel composition path is native by default.
|
|
|
|
|
|
|
|
|
|
|
|
## Validated This Phase
|
|
|
|
## Validated This Phase
|
|
|
|
|
|
|
|
|
|
|
|
@@ -125,7 +126,7 @@ Current gap:
|
|
|
|
- `new_editor_xcui_input_bridge_tests`: `4/4`
|
|
|
|
- `new_editor_xcui_input_bridge_tests`: `4/4`
|
|
|
|
- `new_editor_imgui_xcui_input_adapter_tests`: `2/2`
|
|
|
|
- `new_editor_imgui_xcui_input_adapter_tests`: `2/2`
|
|
|
|
- `new_editor_xcui_layout_lab_runtime_tests`: `12/12`
|
|
|
|
- `new_editor_xcui_layout_lab_runtime_tests`: `12/12`
|
|
|
|
- `new_editor_xcui_rhi_command_compiler_tests`: `6/6`
|
|
|
|
- `new_editor_xcui_rhi_command_compiler_tests`: `7/7`
|
|
|
|
- `new_editor_xcui_rhi_render_backend_tests`: `5/5`
|
|
|
|
- `new_editor_xcui_rhi_render_backend_tests`: `5/5`
|
|
|
|
- `new_editor_xcui_hosted_preview_presenter_tests`: `20/20`
|
|
|
|
- `new_editor_xcui_hosted_preview_presenter_tests`: `20/20`
|
|
|
|
- `new_editor_imgui_window_ui_compositor_tests`: `7/7`
|
|
|
|
- `new_editor_imgui_window_ui_compositor_tests`: `7/7`
|
|
|
|
@@ -203,6 +204,7 @@ Current gap:
|
|
|
|
- RHI image path improvements:
|
|
|
|
- RHI image path improvements:
|
|
|
|
- clipped image UV adjustment
|
|
|
|
- clipped image UV adjustment
|
|
|
|
- mirrored image UV preservation
|
|
|
|
- mirrored image UV preservation
|
|
|
|
|
|
|
|
- explicit image UV/source-rect submission through `UI::UIDrawData`
|
|
|
|
- external texture binding reuse
|
|
|
|
- external texture binding reuse
|
|
|
|
- per-batch scissor application
|
|
|
|
- per-batch scissor application
|
|
|
|
- Editor bridge helpers now expose:
|
|
|
|
- Editor bridge helpers now expose:
|
|
|
|
@@ -233,7 +235,7 @@ Current gap:
|
|
|
|
- The native host follow-up is now present in `new_editor`:
|
|
|
|
- The native host follow-up is now present in `new_editor`:
|
|
|
|
- `NativeWindowUICompositor` provides a swapchain-native XCUI packet present path beside the legacy ImGui compositor
|
|
|
|
- `NativeWindowUICompositor` provides a swapchain-native XCUI packet present path beside the legacy ImGui compositor
|
|
|
|
- `Application` now defaults to that native host path and directly composes `XCUI Demo` plus `Layout Lab` into one native shell frame
|
|
|
|
- `Application` now defaults to that native host path and directly composes `XCUI Demo` plus `Layout Lab` into one native shell frame
|
|
|
|
- `NativeXCUIPanelCanvasHost` now drives externally configured native card sessions for that shell path
|
|
|
|
- `NativeXCUIPanelCanvasHost` now drives externally configured native card sessions for that shell path and records hosted surface-image preview commands with preserved UVs
|
|
|
|
- new native compositor/native canvas-host tests now cover the new host seam
|
|
|
|
- new native compositor/native canvas-host tests now cover the new host seam
|
|
|
|
- `XCUIInputBridge.h` no longer includes `imgui.h`, so XCUI input translation is no longer coupled to ImGui at the public header boundary.
|
|
|
|
- `XCUIInputBridge.h` no longer includes `imgui.h`, so XCUI input translation is no longer coupled to ImGui at the public header boundary.
|
|
|
|
- `SceneRuntime` layered XCUI routing now has dedicated regression coverage for:
|
|
|
|
- `SceneRuntime` layered XCUI routing now has dedicated regression coverage for:
|
|
|
|
@@ -260,8 +262,7 @@ Current gap:
|
|
|
|
|
|
|
|
|
|
|
|
- Schema instance validation is still open beyond `.xcschema` self-definition and artifact round-trip coverage.
|
|
|
|
- Schema instance validation is still open beyond `.xcschema` self-definition and artifact round-trip coverage.
|
|
|
|
- `ScrollView` is still authored/static; no wheel-driven scrolling or virtualization yet.
|
|
|
|
- `ScrollView` is still authored/static; no wheel-driven scrolling or virtualization yet.
|
|
|
|
- `Image` widgets still do not have source-rect/atlas-subregion level API in the high-level draw command model.
|
|
|
|
- The default native text path still builds its font atlas on top of ImGui font types/internal baking helpers.
|
|
|
|
- Editor shell still depends on ImGui as host chrome.
|
|
|
|
|
|
|
|
- Hosted-preview compatibility presentation still depends on an ImGui-only inline presenter path when not using the queued native surface path.
|
|
|
|
- Hosted-preview compatibility presentation still depends on an ImGui-only inline presenter path when not using the queued native surface path.
|
|
|
|
- Editor widget coverage is still prototype-driven inside `LayoutLab`; it has not yet been promoted into a full reusable shared widget/runtime layer with command routing, virtualization, and property-edit transactions.
|
|
|
|
- Editor widget coverage is still prototype-driven inside `LayoutLab`; it has not yet been promoted into a full reusable shared widget/runtime layer with command routing, virtualization, and property-edit transactions.
|
|
|
|
|
|
|
|
|
|
|
|
@@ -269,6 +270,6 @@ Current gap:
|
|
|
|
|
|
|
|
|
|
|
|
1. Expand runtime/game-layer ownership from the current `SceneRuntime` UI context into scene-declared HUD/menu bootstrapping, draw submission, and higher-level runtime UI policies.
|
|
|
|
1. Expand runtime/game-layer ownership from the current `SceneRuntime` UI context into scene-declared HUD/menu bootstrapping, draw submission, and higher-level runtime UI policies.
|
|
|
|
2. Promote the current editor-facing widget prototypes out of authored `LayoutLab` content and into reusable XCUI widget/runtime modules, then continue with toolbar/menu chrome, shell-state adoption, virtualization, and broader focus/multi-selection behavior.
|
|
|
|
2. Promote the current editor-facing widget prototypes out of authored `LayoutLab` content and into reusable XCUI widget/runtime modules, then continue with toolbar/menu chrome, shell-state adoption, virtualization, and broader focus/multi-selection behavior.
|
|
|
|
3. Add a native XCUI host compositor on the existing window-level compositor seam so `new_editor` can present without going through ImGui-owned draw data.
|
|
|
|
3. Finish native compositor texture registration and hosted-preview surface publication so the native path no longer depends on ImGui-centric descriptor registration.
|
|
|
|
4. Replace the remaining ImGui-only fallback seams in hosted preview and panel canvas hosting with native host implementations so ImGui can become compatibility-only instead of the default shell path.
|
|
|
|
4. Strip the remaining default-path ImGui seams down to compatibility-only code, starting with the standalone text/font-atlas path and then the remaining hosted-preview fallback layers.
|
|
|
|
5. Continue phased validation, commit, push, and plan refresh after each stable batch.
|
|
|
|
5. Continue phased validation, commit, push, and plan refresh after each stable batch.
|
|
|
|
|