compiler: ludic schema gains a "code" section (R7) - the code map from the compiler, so the studio's scan is only a fallback: modules (package, layer, uses and where, friend, files), states, actions, reducers, every dispatch, events (cancellable, net) with every emit and their @On listeners, ports (members with fn types, defaults, required) and binds (port, member, fn, value, at), handlers (phase, hook and target, @Public, @Server / @Predicted, @Queries with filters as written, scene and layer), models (@Owned, @Sync), prefabs, scenes (start, public, shows, lasts / then, loads, enter / exit, layers) and fn_refs - every fn name in code or a resource file with the slot it fills (registry field and row, port member or default, record field, emit field, call argument, assignment, let). Places are "file:line:col"; sorted by name, sites by place; schema_version stays 1 (additive). The parser records emits, fn refs, handlers and scenes' layers / lasts / loads for it (emit_schema_code.ludic, emit_schema_code_game.ludic); LANGUAGE.md and the changeset say so; schema_case lines added (not run); reseeded, bootstrap-cfree fixpoint holds
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
4ccbc12b48
commit
bfd99cdda1
12 changed files with 112243 additions and 92761 deletions
|
|
@ -12,6 +12,9 @@
|
|||
# stripped (the runtime supplies them), written as a field's type is ("fn(A,B)->R")
|
||||
# components every UI component: props, state, derived fields, functions, events (emit_schema_ui)
|
||||
# natives every native tag registered with ui_native / ui_native_input by a literal
|
||||
# units, lang @Unit's spellings; the text keys and the languages (emit_schema_lang)
|
||||
# code the code map: modules, states, actions, reducers, dispatch, events, ports, binds,
|
||||
# handlers, models, prefabs, scenes and fn_refs (emit_schema_code)
|
||||
#
|
||||
# Deterministic: each list sorted by name (then file and line), an entry list in index order, the
|
||||
# paths as the compiler read them, and nothing about the run. The engine's runtime is left out.
|
||||
|
|
@ -47,6 +50,8 @@ function schema_buf() -> Buf {
|
|||
sc_units(b)
|
||||
buf_puts(b, "],\n \"lang\": ")
|
||||
sc_lang(b) # emit_schema_lang.ludic: the keys and the languages
|
||||
buf_puts(b, ",\n \"code\": ")
|
||||
sc_code(b) # emit_schema_code.ludic: the code map
|
||||
buf_puts(b, "\n}\n")
|
||||
return b
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue