Formalize scene viewport chrome and presentation helpers

This commit is contained in:
2026-04-04 13:50:34 +08:00
parent a3ba08bb99
commit bd35b8b4e8
9 changed files with 626 additions and 269 deletions

View File

@@ -1,5 +1,27 @@
# SceneViewport Overlay/Gizmo Rework Checkpoint
## Update 2026-04-04 Phase 5G
### Chrome/Focus/Presentation Shell Formalization Completed
- Added `SceneViewportChrome.{h,cpp}` to take over the remaining scene viewport chrome responsibilities:
- top toolbar rendering
- in-viewport tool overlay rendering
- unified tool-change command building and execution
- Extended `SceneViewportInteractionFrame.h` with explicit helpers for:
- post-interaction viewport focus decisions
- final scene viewport presentation refresh and HUD draw
- `SceneViewPanel` no longer owns inline scene toolbar/tool overlay rendering, ad-hoc tool switching glue, focus heuristics, or the final gizmo refresh/HUD presentation tail path.
- Added focused editor tests covering tool-command composition/execution and the new focus/presentation helpers.
### Verification
- `cmake --build build --config Debug --target editor_tests -- /p:BuildProjectReferences=false`
- `build/tests/Editor/Debug/editor_tests.exe --gtest_filter=SceneViewportChromeTest.*:SceneViewportNavigationTest.*:SceneViewportInteractionFrameTest.*:SceneViewportInteractionActionsTest.*:SceneViewportInteractionResolverTest.*:SceneViewportTransformGizmoCoordinatorTest.*:SceneViewportOverlayRenderer_Test.*:SceneViewportOverlayProviderRegistryTest.*:ViewportRenderFlowUtilsTest.*`
- `cmake --build build --config Debug --target XCEditor`
All commands completed successfully in `Debug`.
## Update 2026-04-04 Phase 5F
### Interaction Frame/Request Glue Formalization Completed