UsdLayerManager/openspec/changes/implement-scene-hierarchy-p.../proposal.md

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