Expand XCUI demo editing and bridge hooks
This commit is contained in:
@@ -13,9 +13,7 @@ Old `editor` replacement is explicitly out of scope for this phase.
|
|||||||
- schema document definition data is now retained on `UIDocumentModel` and round-trips through the UI artifact path
|
- schema document definition data is now retained on `UIDocumentModel` and round-trips through the UI artifact path
|
||||||
- engine runtime coverage was tightened again around `UISystem` and concrete document-host rendering
|
- engine runtime coverage was tightened again around `UISystem` and concrete document-host rendering
|
||||||
- `LayoutLab` continues as the editor widget proving ground for tree/list/property-section style controls
|
- `LayoutLab` continues as the editor widget proving ground for tree/list/property-section style controls
|
||||||
- The current editor-host checkpoint additionally hardens the XCUI demo text-editing path and the temporary ImGui host bridge:
|
- the demo sandbox and editor bridge APIs were tightened again without touching the old editor replacement scope
|
||||||
- multiline demo text areas now support pointer caret placement, line-number gutters, and tab indent/unindent behavior
|
|
||||||
- the ImGui bridge now accepts existing shader-resource views and the window renderer exposes an after-UI callback seam
|
|
||||||
- Old `editor` replacement remains deferred; all active execution still stays inside XCUI shared code and `new_editor`.
|
- Old `editor` replacement remains deferred; all active execution still stays inside XCUI shared code and `new_editor`.
|
||||||
|
|
||||||
## Three-Layer Status
|
## Three-Layer Status
|
||||||
@@ -29,7 +27,6 @@ Old `editor` replacement is explicitly out of scope for this phase.
|
|||||||
- Build-system hardening for MSVC/PDB output paths has started in root CMake, `engine/CMakeLists.txt`, `new_editor/CMakeLists.txt`, and `tests/NewEditor/CMakeLists.txt`.
|
- Build-system hardening for MSVC/PDB output paths has started in root CMake, `engine/CMakeLists.txt`, `new_editor/CMakeLists.txt`, and `tests/NewEditor/CMakeLists.txt`.
|
||||||
- Shared engine-side XCUI runtime scaffolding is now present under `engine/include/XCEngine/UI/Runtime` and `engine/src/UI/Runtime`.
|
- Shared engine-side XCUI runtime scaffolding is now present under `engine/include/XCEngine/UI/Runtime` and `engine/src/UI/Runtime`.
|
||||||
- Shared engine-side `UIDocumentScreenHost` now compiles `.xcui` / `.xctheme` screen documents into a runtime-facing document host path instead of leaving all document ownership in `new_editor`.
|
- Shared engine-side `UIDocumentScreenHost` now compiles `.xcui` / `.xctheme` screen documents into a runtime-facing document host path instead of leaving all document ownership in `new_editor`.
|
||||||
- The temporary ImGui bridge can now register an existing shader-resource view directly instead of forcing the caller to recreate a texture SRV from scratch.
|
|
||||||
- Core regression coverage now includes `UIContext`, layout, style, runtime screen player/system, and real document-host tests through `core_ui_tests`.
|
- Core regression coverage now includes `UIContext`, layout, style, runtime screen player/system, and real document-host tests through `core_ui_tests`.
|
||||||
|
|
||||||
Current gap:
|
Current gap:
|
||||||
@@ -56,12 +53,12 @@ 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 -> ImGui shell texture embed`.
|
- Native hosted preview is working as `RHI offscreen surface -> ImGui shell texture embed`.
|
||||||
- `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 pointer caret placement, line-number gutters, delete/backspace symmetry, and tab indent/unindent in text areas.
|
- `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.
|
||||||
- `LayoutLab` now includes a `ScrollView` prototype and a more editor-like three-column authored layout.
|
- `LayoutLab` now includes a `ScrollView` prototype and a more editor-like three-column authored layout.
|
||||||
- `LayoutLab` now also covers editor-facing widget prototypes: `TreeView`, `TreeItem`, `ListView`, `ListItem`, `PropertySection`, and `FieldRow`.
|
- `LayoutLab` now also covers editor-facing widget prototypes: `TreeView`, `TreeItem`, `ListView`, `ListItem`, `PropertySection`, and `FieldRow`.
|
||||||
- Panel diagnostics were expanded to clearly separate preview/runtime/input state and native vs legacy paths.
|
- Panel diagnostics were expanded to clearly separate preview/runtime/input state and native vs legacy paths.
|
||||||
|
- The editor bridge layer now has smoke coverage for swapchain after-UI rendering hooks and SRV-backed ImGui texture descriptor registration.
|
||||||
- `XCNewEditor` builds successfully to `build/new_editor/bin/Debug/XCNewEditor.exe`.
|
- `XCNewEditor` builds successfully to `build/new_editor/bin/Debug/XCNewEditor.exe`.
|
||||||
- `new_editor` host plumbing now has a narrower swapchain seam via a window-renderer post-ImGui callback, which is the first practical hook for a future window-level compositor split.
|
|
||||||
|
|
||||||
Current gap:
|
Current gap:
|
||||||
|
|
||||||
@@ -78,17 +75,17 @@ Current gap:
|
|||||||
- `core_ui_tests`: `14/14`
|
- `core_ui_tests`: `14/14`
|
||||||
- `core_ui_style_tests`: `5/5`
|
- `core_ui_style_tests`: `5/5`
|
||||||
- `ui_resource_tests`: `7/7`
|
- `ui_resource_tests`: `7/7`
|
||||||
- `editor_tests` targeted XCUI/editor host API smoke cases: `3/3`
|
- `editor_tests` targeted bridge smoke: `3/3`
|
||||||
|
|
||||||
## Landed This Phase
|
## Landed This Phase
|
||||||
|
|
||||||
- Demo runtime `TextField` with UTF-8 text insertion, caret state, and backspace.
|
- Demo runtime `TextField` with UTF-8 text insertion, caret state, and backspace.
|
||||||
- Demo runtime multiline `TextArea` path in the sandbox and test coverage for caret movement / multiline input.
|
- Demo runtime multiline `TextArea` path in the sandbox and test coverage for caret movement / multiline input.
|
||||||
- Demo runtime text editing extended with:
|
- Demo runtime text editing was extended with:
|
||||||
- pointer-based caret placement for text inputs
|
- click-to-place caret
|
||||||
- multiline text-area line-number gutters
|
- `Delete` support
|
||||||
- tab indent / shift-tab unindent
|
- `Tab` / `Shift+Tab` indentation for text areas
|
||||||
- delete handling symmetry with backspace
|
- optional text-area line-number gutter rendering
|
||||||
- Demo authored resources updated to exercise the input field.
|
- Demo authored resources updated to exercise the input field.
|
||||||
- LayoutLab `ScrollView` prototype with clipping and hover rejection outside clipped content.
|
- LayoutLab `ScrollView` prototype with clipping and hover rejection outside clipped content.
|
||||||
- LayoutLab editor-widget prototypes for tree/list/property-style sections with dedicated runtime coverage.
|
- LayoutLab editor-widget prototypes for tree/list/property-style sections with dedicated runtime coverage.
|
||||||
@@ -108,11 +105,11 @@ Current gap:
|
|||||||
- mirrored image UV preservation
|
- mirrored image UV preservation
|
||||||
- external texture binding reuse
|
- external texture binding reuse
|
||||||
- per-batch scissor application
|
- per-batch scissor application
|
||||||
|
- Editor bridge helpers now expose:
|
||||||
|
- an `afterUiRender` swapchain callback hook in `D3D12WindowRenderer`
|
||||||
|
- SRV-view based texture descriptor registration in `ImGuiBackendBridge`
|
||||||
|
- smoke tests for window renderer, ImGui backend bridge, and console sink registration
|
||||||
- `new_editor` panel/shell diagnostics improvements for hosted preview state.
|
- `new_editor` panel/shell diagnostics improvements for hosted preview state.
|
||||||
- ImGui host bridge improvements:
|
|
||||||
- existing shader-resource view registration overload
|
|
||||||
- swapchain render callback seam after ImGui submission
|
|
||||||
- editor-side API smoke coverage for bridge and window renderer accessors
|
|
||||||
- XCUI asset document loading changed to prefer direct source compilation before `ResourceManager` fallback for the sandbox path, fixing the LayoutLab crash.
|
- XCUI asset document loading changed to prefer direct source compilation before `ResourceManager` fallback for the sandbox path, fixing the LayoutLab crash.
|
||||||
- `UIDocumentCompiler.cpp` repaired enough to restore full local builds after the duplicated schema-helper regression.
|
- `UIDocumentCompiler.cpp` repaired enough to restore full local builds after the duplicated schema-helper regression.
|
||||||
- MSVC debug build hardening was tightened again so large parallel `engine` rebuilds stop tripping over compile-PDB contention.
|
- MSVC debug build hardening was tightened again so large parallel `engine` rebuilds stop tripping over compile-PDB contention.
|
||||||
|
|||||||
Reference in New Issue
Block a user