ludic ui-preview: ludic.ui components previewed for a studio over stdio (R5)
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>
This commit is contained in:
parent
28f7b4666b
commit
49b5e80af5
38 changed files with 1986 additions and 16 deletions
15
changes/ui-preview.md
Normal file
15
changes/ui-preview.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
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`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue