Docs/Modules/Scene Panels

SceneHierarchyPanel (Left Panel)

Located at src/MeshCraft/Scene/SceneHierarchyPanel.cpp. Width: 220 px.

Displays the scene's object tree in a scrollable, indented list. Features:

ℹ️

The hierarchy panel populates hierarchyRows_ during its draw call. These rows are then consumed by Update() in the next frame to handle mouse interaction. This intentional 1-frame lag is invisible to users.

PropertiesPanel (Right Panel)

Located at src/MeshCraft/Scene/PropertiesPanel.cpp. Width: 220 px.

Shows editable properties for the selected object. Organized into tabs:

Object Tab

Lights Tab

List of scene lights. Create, delete, and edit each light's type, name, color, brightness, position, direction, range, angle, cast_shadows.

Cameras Tab

List of scene cameras. Create, delete, and edit position, target, FOV, near/far, projection type.

Textures Tab

List of scene textures. Create, delete, edit URI, wrap modes, filter, color space.

Materials Tab

Full inline PBR material editor: baseColor RGBA picker, metallic/roughness sliders, emissive color, alpha mode, alpha cutoff, double-sided toggle, and five texture slot dropdowns (base color, normal, metallic-roughness, occlusion, emissive).

Defs Tab

Definitions manager. Add/remove definitions; rename (propagates to all Instance references); edit definition's root object transform and type.