ludic/selfhost/frontend
Orkuncakilkaya 2f4860ae71 @PerMap and @Chunked(n) registries: rows read per map, a state and verbs written, every map checked
- @PerMap registry R of T from "file.lres" reads <maps root>/<map>/file.lres at run time
  (package.ludic's new `maps` line, default assets/maps); @Chunked(n) one file per chunk,
  {cx}/{cz} in its name. No as PREFIX, no constants, no def, never open.
- permap_gen: state R, r_load/_clear/_find/_path; chunked: RChunk, r_in/_out/_slot/_find/
  _clear/_path; a typed reset and fill per record over lres.ludic, rows, lists and list
  records pooled per table / chunk slot, @alloc_ok on what grows at high water.
- permap_consts: lres_consts__(), the program's int and float constants by name.
- permap_check: ludicc --check reads every map directory (fields, types, constants, fn,
  @OneOf/@Range/@Ref, cross-row @Ref keys in the same map, a key twice); --no-maps skips.
- @Ref(PerMapTable) is refused on a non-string field; the schema says scope/chunk per
  registry and scope map on such a Ref, and lists the canonical @Unit spellings; any other
  @Unit spelling is a warning naming the canonical one.
- reseeded (mac + win seeds; bootstrap-cfree out.ll == seed.ll).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 21:03:56 +03:00
..
actions.ludic compiler(0.R): a dispatched action's record is the queue's to keep - one list per action, filled in place, all free again when the drain ends 2026-09-28 02:02:11 +03:00
aliases.ludic wip(0.S3): the runtime migrated - ludic migrate state --runtime <every program>: 331 vars into 25 states (RtInputState, RtGlState, ...), 2 lets; its states are made before it boots; no module-level var is let through outside --globals 2026-09-25 16:02:12 +03:00
ast.ludic schema: ludicc --emit-schema / ludic schema, --check --diagnostics=json, and editor attributes 2026-09-29 18:06:54 +03:00
attrs.ludic @PerMap and @Chunked(n) registries: rows read per map, a state and verbs written, every map checked 2026-09-29 21:03:56 +03:00
attrs_node.ludic attributes: @Material(field) resolved as @Node is; @OneOf on a string field takes words, and every registry row's value is checked against them - words on another field, or constants on a string, is an error; reseeded 2026-09-29 19:13:32 +03:00
component.ludic ludic schema: a components section and a natives list (R4) 2026-09-29 19:36:04 +03:00
component_class.ludic ludic schema: a components section and a natives list (R4) 2026-09-29 19:36:04 +03:00
component_gen.ludic feat(lang): 0.S - components take states in their header; migrate writes them, never inside a name, never outside the programs given, never into a package's state 2026-09-25 17:11:15 +03:00
component_gen2.ludic frame keeps: a model's records filled in place, kept event numbers, list spares, Json.read_file 2026-09-29 12:22:13 +03:00
component_rw.ludic feat(lang): 0.S - components take states in their header; migrate writes them, never inside a name, never outside the programs given, never into a package's state 2026-09-25 17:11:15 +03:00
defaults.ludic feat(lang): L11 views and templates - the UI is markup, not code 2026-09-24 15:58:47 +03:00
diag.ludic schema: ludicc --emit-schema / ludic schema, --check --diagnostics=json, and editor attributes 2026-09-29 18:06:54 +03:00
generics.ludic feat(lang): L5 generic records and functions 2026-09-24 02:21:15 +03:00
lex.ludic schema: ludicc --emit-schema / ludic schema, --check --diagnostics=json, and editor attributes 2026-09-29 18:06:54 +03:00
migrate.ludic feat(migrate): 0.R5 - ludic migrate state --tighten takes mut off every state parameter nothing down the chain writes; --root DIR lets the edits reach a directory without running its programs; a write through a local holding part of a mut state counts as a write to it 2026-09-27 00:20:44 +03:00
modules.ludic fix(lang): the action drain is the program's; --check runs every check a build makes; a registry key named count is refused; name lookups are tables 2026-09-25 23:34:43 +03:00
natives.ludic feat(pkg): phase 15 - a package can carry a native library 2026-09-26 23:35:45 +03:00
parse.ludic @PerMap and @Chunked(n) registries: rows read per map, a state and verbs written, every map checked 2026-09-29 21:03:56 +03:00
parse_game.ludic schema: ludicc --emit-schema / ludic schema, --check --diagnostics=json, and editor attributes 2026-09-29 18:06:54 +03:00
permap.ludic @PerMap and @Chunked(n) registries: rows read per map, a state and verbs written, every map checked 2026-09-29 21:03:56 +03:00
permap_check.ludic @PerMap and @Chunked(n) registries: rows read per map, a state and verbs written, every map checked 2026-09-29 21:03:56 +03:00
permap_consts.ludic @PerMap and @Chunked(n) registries: rows read per map, a state and verbs written, every map checked 2026-09-29 21:03:56 +03:00
permap_gen.ludic @PerMap and @Chunked(n) registries: rows read per map, a state and verbs written, every map checked 2026-09-29 21:03:56 +03:00
ports.ludic wip(0.S3): ui blocks, scene on enter/exit, hooks, machines over a state's field, namespace and engine-system injection; a reference out of a read-only state or a module let is read-only; deps counts writes into another module's state; the rejected examples hold states 2026-09-25 14:49:03 +03:00
privates.ludic feat(lang): a module's private records and events are its own 2026-09-25 11:02:48 +03:00
privates_types.ludic feat(lang): a module's private records and events are its own 2026-09-25 11:02:48 +03:00
registry.ludic @PerMap and @Chunked(n) registries: rows read per map, a state and verbs written, every map checked 2026-09-29 21:03:56 +03:00
registry_finish.ludic @PerMap and @Chunked(n) registries: rows read per map, a state and verbs written, every map checked 2026-09-29 21:03:56 +03:00
registry_open.ludic feat(lang): open registry - other modules' defs, in an order imports cannot change 2026-09-25 04:28:34 +03:00
resource.ludic schema: ludicc --emit-schema / ludic schema, --check --diagnostics=json, and editor attributes 2026-09-29 18:06:54 +03:00
state.ludic feat(base): 0.R4 - a queue keeps its own count, so every package verb takes only its own state; ludic migrate state --prune 2026-09-26 04:19:56 +03:00
view.ludic wip(0.S3): ui blocks, scene on enter/exit, hooks, machines over a state's field, namespace and engine-system injection; a reference out of a read-only state or a module let is read-only; deps counts writes into another module's state; the rejected examples hold states 2026-09-25 14:49:03 +03:00
view_conv.ludic feat(lang): L11 views and templates - the UI is markup, not code 2026-09-24 15:58:47 +03:00
view_fill.ludic frame keeps: a model's records filled in place, kept event numbers, list spares, Json.read_file 2026-09-29 12:22:13 +03:00
view_finish.ludic wip(0.S3): ui blocks, scene on enter/exit, hooks, machines over a state's field, namespace and engine-system injection; a reference out of a read-only state or a module let is read-only; deps counts writes into another module's state; the rejected examples hold states 2026-09-25 14:49:03 +03:00