ludic/docs/language/structure/kw-view.md
Orkuncakilkaya e2528c1b10 docs/language: a page for every keyword and attribute the vocabulary has
Keywords: module uses friend export internal numbers unsafe mut port bind action
reducer registry of as from def open alias component prop view (structure),
shows lasts then loads (scenes), system (ecs), dispatch (control), true false
null (operators). Attributes: @Ref @OneOf @Range @Unit @Asset @Color, @Node /
@Clip / @Material, @Tint @Derived, @Text / @Multiline, @Key, @AppendOnly /
@ByKey, @PerMap / @Chunked, @frame @max, @owns / @creates / @releases,
@deterministic @alloc_ok. Each is in tools/docgen/inventory.json; every fence
that is not marked skip parses (ludicc --fmt). annot-clearcolor's token loses its
quotes, which no reader strips.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 23:59:47 +03:00

695 B


id: kw-view name: view category: structure kind: keyword tokens: view sig: view Name[(states)] { field = expr, function q(...), on e(...) { } } tip: The bridge to a template: what it may read and what it may do. order: 72

A view says what a template may read (its fields, each an expression) and what it may do (its queries and its on events), and nothing else crosses. The compiler writes view_name(), whose model is a value object of every field and whose call runs a query or an event by name.

# doc-check: skip — the functions it names are elsewhere
view Yard {
  spots: int = yard_spots()
  on buy(hf: int) { yard_buy(hf) }
}