A prebuilt tool, bin/ludic-ui-preview (built by ludic-dev build, shipped beside ludic-lsp, run as `ludic ui-preview [--font DIR]`): ludic.ui with a backend that records every draw call as a line, and mock component classes the studio describes (load / model / calls). frame t runs ui_show at interface time t; text is measured on the CPU with the game's font.json metrics; locale goes through ludic.i18n; tree / box / rules inspect the frame. No game code, no GPU, no network. The wire protocol is frozen as tools/ui-preview/protocol-v1.md; smoke.txt is a transcript to run. ludic.ui gains, all additive: UiClass.make_of, UiBackend.said / emitted, UiRule.text / at (with comment line breaks kept so rule lines count true, and a class's styles read under its .lss path), and ui_root, ui_find, ui_rules_of, ui_rule_value, ui_building, ui_class, ui_class_load, ui_file_forget, ui_errors_clear; ui_nine_cuts_into exported. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.2 KiB
bump: minor
type: feature
ludic ui-preview: a game's ludic.ui components previewed for a studio, over stdio. A new
prebuilt tool (bin/ludic-ui-preview, built by ludic-dev build and shipped beside ludic-lsp) that
is ludic.ui with a backend that records every draw call as a line of text, and component classes the
studio describes: their template and styles (load, unsaved text welcome), their model (model),
their functions' answers (calls). frame t runs ludic.ui's own frame - build, cascade, layout,
input, draw - at interface time t and writes the draw list, then what happened (template errors
with file and line, calls, sets, emits, sounds); text is measured with the game's font.json
metrics on the CPU, translated through ludic.i18n with locale, and tree / box / rules
inspect the frame, rules with the file and line they were written on. No game code, no GPU, no
network. The wire protocol is frozen as tools/ui-preview/protocol-v1.md. ludic.ui gains what it
needs, all additive: UiClass.make_of, UiBackend.said / emitted, UiRule.text / at, and
ui_root, ui_find, ui_rules_of, ui_class, ui_class_load, ui_file_forget,
ui_errors_clear, ui_building.