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

1.4 KiB

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

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