Add ImGui Scene Explorer (F4) for runtime object inspection (#136)
New Features: - Scene Explorer window (F4) displays hierarchical tree of all scenes - Shows UIDrawable hierarchy with type, name, and visibility status - Click scene name to switch active scene - Double-click drawables to toggle visibility - Displays Python repr() for cached objects, enabling custom class debugging - Entity display within Grid nodes Bug Fixes: - Fix PythonObjectCache re-registration: when retrieving objects from collections, newly created Python wrappers are now re-registered in the cache. Previously, inline-created objects (e.g., scene.children.append(Frame(...))) would lose their cache entry when the temporary Python object was GC'd, causing repeated wrapper allocation on each access. - Fix console focus stealing: removed aggressive focus reclaim that caused title bar flashing when clicking in Scene Explorer Infrastructure: - Add GameEngine::getSceneNames() to expose scene list for explorer - Scene Explorer uses same enabled flag as console (ImGuiConsole::isEnabled()) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
4be2502a10
commit
5e45ab015c
7 changed files with 378 additions and 3 deletions
|
|
@ -381,9 +381,9 @@ void ImGuiConsole::render() {
|
|||
}
|
||||
ImGui::PopItemWidth();
|
||||
|
||||
// Keep focus on input
|
||||
// Keep focus on input only after executing a command
|
||||
ImGui::SetItemDefaultFocus();
|
||||
if (reclaimFocus || (visible && !ImGui::IsAnyItemActive())) {
|
||||
if (reclaimFocus) {
|
||||
ImGui::SetKeyboardFocusHere(-1);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue