Python Explorer Scene / Dropdown Console widget #65

Closed
opened 2024-03-09 21:15:50 +00:00 by john · 1 comment
Owner

52 feat: Python Explorer scene [depends on dearimgui tests]

This would replace the uitest scene, with something more powerful and helpful.

  • Exceptions - don't throw them away, save them so devs can see mouse/key/timer/animation callback issues
  • Object Viewer / modder - keep track of all mcrfpy objects, list and sort them by scene, modify their properties with point/click/type, delete them from the scene
  • REPL that doesn't pause the game or rely on the console

Another Dear-Imgui feature that would be nice is ~ to open a console. This would keep more of the immersion and give a cheaty, hacky vibe to testing out the engine

Depends / see also #36

52 feat: Python Explorer scene \[depends on dearimgui tests] This would replace the uitest scene, with something more powerful and helpful. * Exceptions - don't throw them away, save them so devs can see mouse/key/timer/animation callback issues * Object Viewer / modder - keep track of all mcrfpy objects, list and sort them by scene, modify their properties with point/click/type, delete them from the scene * REPL that doesn't pause the game or rely on the console Another Dear-Imgui feature that would be nice is `~` to open a console. This would keep more of the immersion and give a cheaty, hacky vibe to testing out the engine Depends / see also #36
john added the
Major Feature
label 2024-03-09 21:15:50 +00:00
john added the
priority:tier3-future
system:grid
labels 2025-10-26 00:50:48 +00:00
Author
Owner

MVP Console Implemented (see #36)

The initial Python console overlay has been implemented as part of the ImGui integration work:

What's Done

  • Dropdown console activated with ~ key
  • Python code execution without blocking the game loop
  • Output capture (stdout/stderr) with color coding
  • Command history with up/down navigation
  • mcrfpy.setDevConsole(enabled) API for game developers

What's Remaining (future issues)

  • Exception storage/viewer (currently exceptions print to console but aren't saved for review)
  • Object viewer / tree view (listing scenes, frames, grids, entities)
  • Property modification UI (point/click to modify objects)
  • Better REPL experience (multi-line input, autocomplete)

The console no longer uses PyRun_InteractiveLoop - it captures and executes Python in-frame, keeping the game responsive.

## MVP Console Implemented (see #36) The initial Python console overlay has been implemented as part of the ImGui integration work: ### What's Done - Dropdown console activated with `~` key - Python code execution without blocking the game loop - Output capture (stdout/stderr) with color coding - Command history with up/down navigation - `mcrfpy.setDevConsole(enabled)` API for game developers ### What's Remaining (future issues) - [ ] Exception storage/viewer (currently exceptions print to console but aren't saved for review) - [ ] Object viewer / tree view (listing scenes, frames, grids, entities) - [ ] Property modification UI (point/click to modify objects) - [ ] Better REPL experience (multi-line input, autocomplete) The console no longer uses `PyRun_InteractiveLoop` - it captures and executes Python in-frame, keeping the game responsive.
john closed this issue 2025-11-27 01:04:06 +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#65
No description provided.