26 lines
1.4 KiB
Markdown
26 lines
1.4 KiB
Markdown
## Why
|
|
|
|
The application currently has a `SceneHierarchyPanel` class that renders a prim tree using USD traversal, but `Application::RenderUI()` ignores it and renders an inline placeholder instead. Users cannot browse the USD prim hierarchy in the Scene Hierarchy panel — the foundational feature for this USD editing tool.
|
|
|
|
## What Changes
|
|
|
|
- Wire the existing `SceneHierarchyPanel` class into `Application` so it renders in the "Scene Hierarchy" dockable window
|
|
- Enhance the panel to display prim type icons, visibility/active state indicators, and structured prim path hierarchy
|
|
- Support prim selection that can drive other panels (Property Panel, Layer Panel) via the existing callback mechanism
|
|
- Add context menu support for common prim operations (toggle visibility, toggle active, show/hide children)
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
|
|
- `scene-hierarchy-panel`: Renders a tree view of USD prims from the loaded stage, with selection, type indicators, and prim state toggles. Wired as a dockable panel in the application layout.
|
|
|
|
### Modified Capabilities
|
|
|
|
<!-- No existing specs have requirement-level changes -->
|
|
|
|
## Impact
|
|
|
|
- **Affected code**: `src/ui/Application.h/.cpp` (wiring), `src/ui/SceneHierarchyPanel.h/.cpp` (enhancements)
|
|
- **Dependencies**: `UsdStageManager` (stage access), `PropertyManager` (prim traversal), `LayerManager` (layer context)
|
|
- **No breaking changes** — the existing placeholder is replaced with the functional panel |