UsdLayerManager/openspec/changes/implement-scene-hierarchy-p.../specs/scene-hierarchy-panel/spec.md

2.3 KiB

ADDED Requirements

Requirement: Scene hierarchy panel displays USD prim tree

The system SHALL display a hierarchical tree view of all prims in the currently loaded USD stage, allowing users to browse and select prims.

Scenario: Panel shows prim hierarchy when stage loaded

  • WHEN a USD stage is successfully loaded and the Scene Hierarchy panel is visible
  • THEN the panel displays a tree view containing all prims from the stage, organized by parent-child relationships
  • AND each prim node displays its name, type, and visual indicators for visibility/active state
  • AND the root prims (children of the pseudo-root) are displayed at the top level

Scenario: Panel shows empty state when no stage loaded

  • WHEN no USD stage is loaded (or stage creation/opening failed) and the Scene Hierarchy panel is visible
  • THEN the panel displays disabled text indicating no stage is loaded
  • AND suggests opening a USD file to view scene hierarchy

Scenario: Prim selection highlights in tree

  • WHEN a prim is selected in the scene hierarchy tree (via click)
  • THEN that prim's node is highlighted as selected in the tree view
  • AND the panel's selected prim path is updated to match the clicked prim's path
  • AND the prim selection callback is invoked with the selected prim's path

Scenario: Prim type visible in tooltip

  • WHEN the user hovers over a prim node in the scene hierarchy tree
  • THEN a tooltip appears showing the prim's type name and full path
  • AND the tooltip disappears when the cursor leaves the prim node

Scenario: Context menu available on prim nodes

  • WHEN the user right-clicks on a prim node in the scene hierarchy tree
  • THEN a context menu appears with options for common prim operations
  • AND the context menu includes options to toggle visibility and toggle active state
  • AND selecting a context menu option applies the corresponding operation to the prim

Scenario: Panel integrates with application docking system

  • WHEN the Scene Hierarchy panel is created as part of the application UI
  • THEN the panel appears as a dockable window titled "Scene Hierarchy"
  • AND the panel can be undocked, floated, resized, and docked to other positions in the UI
  • AND the panel respects the NoCollapse window flag (cannot be collapsed to title bar only)