ImGui Object Explorer / Scene Tree View #136

Open
opened 2025-11-27 01:04:27 +00:00 by john · 0 comments
Owner

Overview

Follow-on work from the ImGui console implementation (#36, #65, #75). Now that the basic console overlay exists, add object exploration and debugging tools.

Proposed Features

Scene Tree View

  • Hierarchical view of all scenes and their UI elements
  • Expandable tree: Scene → Frames/Grids/Captions/Sprites → Children → Entities
  • Click to select, shows properties in inspector panel
  • Visual indicator for currently active scene

Property Inspector

  • View and edit properties of selected objects in real-time
  • Support for common types: position, size, color, text, etc.
  • Changes apply immediately (live editing)

Exception Viewer

  • Store recent Python exceptions instead of just printing them
  • Show traceback, timestamp, and context (which callback raised it)
  • Option to copy exception details to clipboard

Additional Enhancements

  • Search/filter for finding objects by name
  • Highlight selected object in the game view
  • Performance metrics per-object (render time, etc.)

Technical Considerations

  • Leverage existing name property on UIDrawables for identification
  • Use ImGui tree nodes and collapsing headers
  • Consider separate ImGui windows vs tabs in console
  • May need to expose more C++ internals to support inspection
  • Built on top of: #36, #65, #75 (now closed)
  • See also: F3 profiler overlay for performance metrics
## Overview Follow-on work from the ImGui console implementation (#36, #65, #75). Now that the basic console overlay exists, add object exploration and debugging tools. ## Proposed Features ### Scene Tree View - Hierarchical view of all scenes and their UI elements - Expandable tree: Scene → Frames/Grids/Captions/Sprites → Children → Entities - Click to select, shows properties in inspector panel - Visual indicator for currently active scene ### Property Inspector - View and edit properties of selected objects in real-time - Support for common types: position, size, color, text, etc. - Changes apply immediately (live editing) ### Exception Viewer - Store recent Python exceptions instead of just printing them - Show traceback, timestamp, and context (which callback raised it) - Option to copy exception details to clipboard ### Additional Enhancements - Search/filter for finding objects by name - Highlight selected object in the game view - Performance metrics per-object (render time, etc.) ## Technical Considerations - Leverage existing `name` property on UIDrawables for identification - Use ImGui tree nodes and collapsing headers - Consider separate ImGui windows vs tabs in console - May need to expose more C++ internals to support inspection ## Related - Built on top of: #36, #65, #75 (now closed) - See also: F3 profiler overlay for performance metrics
john added the
Major Feature
system:grid
priority:tier2-foundation
labels 2025-11-27 01:04:47 +00:00
john added
system:rendering
and removed
system:grid
labels 2025-11-27 01:06:39 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: john/McRogueFace#136
No description provided.