Formalize staged scene viewport gizmo frame API

This commit is contained in:
2026-04-04 01:09:02 +08:00
parent 64a2efe993
commit d207043f8f
5 changed files with 486 additions and 44 deletions

View File

@@ -1,5 +1,22 @@
# SceneViewport Overlay/Gizmo Rework Checkpoint
## Update 2026-04-04 Phase 5D
### Stage-Oriented Gizmo Frame API Completed
- Extended `SceneViewportTransformGizmoCoordinator.{h,cpp}` with formal frame options, refresh requests, frame updates, and refresh-and-submit helpers.
- `SceneViewPanel` no longer directly assembles the large `RefreshSceneViewportTransformGizmos(...)` argument list for interaction and draw stages.
- The required dual-stage gizmo timing remains intact, but the stage orchestration now flows through `BuildSceneViewportTransformGizmoRefreshRequest(...)` and `RefreshAndSubmitSceneViewportTransformGizmoFrame(...)`.
- Added coordinator tests covering frame option/request construction and refresh-to-submit flow.
### Verification
- `cmake --build build --config Debug --target editor_tests -- /p:BuildProjectReferences=false`
- `build/tests/Editor/Debug/editor_tests.exe --gtest_filter=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 5C
### Transform Gizmo Coordinator Completed