Skip to content

Render Godot games in terminal with native UI text - #40

Closed
nicodes wants to merge 4 commits into
mainfrom
feat/godot-terminal-text
Closed

nicodes wants to merge 4 commits into
mainfrom
feat/godot-terminal-text

Conversation

@nicodes

@nicodes nicodes commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Godot games export to a Termcade .tgd target and play as terminal graphics, with standard Label and Button captions drawn as real characters. This makes menus readable while preserving Godot's scripts, physics, shaders, cameras, button backgrounds and ordinary keyboard input. Honeyvale needs no source changes.

The native runtime renders through an owned private Xvfb/Mesa display near terminal resolution. Bounded RGB and text metadata feed the asynchronous player; render time counts inside its 60 Hz frame budget. Text uses terminal fonts, alignment, wrapping and parent clipping. Standard opaque panels and buttons cover earlier text; rich text, rotated controls, subviewports and image-based lettering retain raster rendering. Rectangle occlusion is approximate for unusual skins and overlapping artwork. PNG captures contain the background framebuffer only.

Exports preserve source projects and refuse overwrites. Native execution is an experimental trusted Linux developer target requiring Godot 4.7.2, Xvfb and Mesa; it remains separate from the Wasm marketplace. No deployment or release is included.

Validation: five-platform archives, lint, race/consumer checks, actual Godot exports/rendering/input/scene transitions/watchdog cleanup and shipping-archive PTY captions/pause/resize/exit. Text tests cover Unicode widths, clipping, colors, panel ordering and control filtering; the engine fixture confirms glyphs are removed from the raster pass. Honeyvale's Play button, Day 1 HUD and bag Close control were exercised in an owned PTY.

Canonical documentation is maintained separately in nicodes/docs and must land before generated consumer documentation. This draft includes and supersedes the earlier unmerged rendering/performance drafts.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant