Phase 3b+3c: ui props use ':'; drop dead needs/uses synonyms (Rule A)
3b: widget props go from key=value to key: value (parse_widget). emit_ui and ludic-fmt unchanged (AST-identical; ':' formats correctly by default). Chose the colonized form over parenthesized named-args — minimal churn, no new grammar. Migration: tools/ludic-tools/migrate_ui.c. menu golden byte-identical. 3c: removed the undocumented, unused 'needs'/'uses' clause synonyms from parse_system; reads/writes stay. Reseeded, fixpoint holds, test.sh 14/14, check-docs + check-vocabulary green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
39bd430ce8
commit
b643037d8f
6 changed files with 2687 additions and 2651 deletions
12
LANGUAGE.md
12
LANGUAGE.md
|
|
@ -105,18 +105,18 @@ TrueType text, focus highlight) and keyboard focus + activation.
|
|||
|
||||
```ludic
|
||||
ui MainMenu {
|
||||
panel id=Root w=288 pad=16 gap=6 skin="assets/ui/panel.png" inset=10 align=center {
|
||||
label text="CHRONO RIFT" font=reg(R_FONT) size=26 fg=0xffe060 align=center
|
||||
button id=NewGame text="New Game" font=reg(R_FONT) size=16 w=236
|
||||
button id=Quit text="Quit" font=reg(R_FONT) size=16 w=236
|
||||
panel id: Root w: 288 pad: 16 gap: 6 skin: "assets/ui/panel.png" inset: 10 align: center {
|
||||
label text: "CHRONO RIFT" font: reg(R_FONT) size: 26 fg: 0xffe060 align: center
|
||||
button id: NewGame text: "New Game" font: reg(R_FONT) size: 16 w: 236
|
||||
button id: Quit text: "Quit" font: reg(R_FONT) size: 16 w: 236
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Widget types: `panel` (container + optional skin/bg/border), `col` / `row`
|
||||
(pure stacks), `label`, `button` (focusable), `image`, `spacer`. Props are
|
||||
evaluated at build time, so `font=reg(R_FONT)` reads a value the game set first.
|
||||
Each `id=Name` mints a `UI_Name` handle (the `ui` block name too), used from
|
||||
evaluated at build time, so `font: reg(R_FONT)` reads a value the game set first.
|
||||
Each `id: Name` mints a `UI_Name` handle (the `ui` block name too), used from
|
||||
systems:
|
||||
|
||||
```ludic
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue