| .. |
|
game
|
a program's states made on first injection, and the ECS stores started at 8 slots
|
2026-09-29 14:14:05 +03:00 |
|
stdlib
|
map packs: Fs.mount / Fs.unmount at run time, and a map's bakes under assets/baked/maps/<map>/
|
2026-09-29 17:27:06 +03:00 |
|
emit_addr.ludic
|
feat(lang): L11 views and templates - the UI is markup, not code
|
2026-09-24 15:58:47 +03:00 |
|
emit_call.ludic
|
compiler: text keys (phase 26.2) - k"pause.resume" / kn"catch.count" of the builtin type Key (not a string, and no string one; == compares), its run-time value the key after a marker byte (1, or 2 for a plural); package.ludic's lang "assets/lang" en and a gettext .po reader; every key literal checked against en.po (a kn"" one wants a msgid_plural), trf / trn and a template's t('key', ...) against the English's holes, a component's template words and a @Text row's English as "English left" (warnings, english_left in ludic deps), a @Text Key field a compiled row leaves out filled with its derived key <registry>.<row>.<field> (or @TextKey's prefix; maps.<map>.<table>.<row>.<field> for a @PerMap row, checked), one English under several undescribed keys warned at en.po's line; the schema's "lang" (keys and their sites, unused, undescribed, split, and every other language's missing / fuzzy / extra); k"" in .lres data, @PerMap rows included (lres_key); ludic-fmt keeps a key literal whole; reseeded, bootstrap-cfree fixpoint holds
|
2026-09-29 23:33:52 +03:00 |
|
emit_core.ludic
|
Os.heap_relief(): the allocator's freed-but-cached memory handed back, once after a load
|
2026-09-29 14:30:20 +03:00 |
|
emit_decl.ludic
|
compiler: a test program may hold a phase handler - the test runner called @rt_init whenever the program had systems, and a handler alone makes none (LLVM: use of undefined value '@rt_init'); it calls it only when it exists, as an entry program's main does; a ludic test case with a handler (added, not run); reseeded, bootstrap-cfree fixpoint holds
|
2026-09-30 00:34:34 +03:00 |
|
emit_deps.ludic
|
ludic deps: the reach bitsets hold 30 states to a word, not 60 - an int is 32 bits, so states 32 apart shared a bit and a function could reach fewer states than it takes; examples/state/reach_wide.ludic and a deps case hold it; reseeded (bootstrap-cfree fixpoint)
|
2026-09-30 16:49:34 +03:00 |
|
emit_escape.ludic
|
compiler: text keys below a row, trf padding and tr's cast (ECS's 26.4 gaps) - a @Text Key in a record nested in a row, or in each item of a list of them, is filled with its derived key <registry>.<row>.<field>.<i>.<field> as a top-level one is, and a @Text []Key a row leaves out takes <...>.0, .1, ... for as many as en.po has (so no .lres spells a key; the manifest and en.po are now read before the parse that fills the rows); field: null is no text; trf / trn's trailing "" literals are padding, not counted against the English's holes; and string(x) of a string or a Key is x itself to the escape analysis, no allocation site, so tr(key) passes arena strict (a template's lone hole still copies); examples/lang/i18n_nested and its feat_case (added, not run); LANGUAGE.md and the changeset; reseeded, bootstrap-cfree fixpoint holds
|
2026-09-30 00:41:05 +03:00 |
|
emit_expr.ludic
|
compiler: text keys (phase 26.2) - k"pause.resume" / kn"catch.count" of the builtin type Key (not a string, and no string one; == compares), its run-time value the key after a marker byte (1, or 2 for a plural); package.ludic's lang "assets/lang" en and a gettext .po reader; every key literal checked against en.po (a kn"" one wants a msgid_plural), trf / trn and a template's t('key', ...) against the English's holes, a component's template words and a @Text row's English as "English left" (warnings, english_left in ludic deps), a @Text Key field a compiled row leaves out filled with its derived key <registry>.<row>.<field> (or @TextKey's prefix; maps.<map>.<table>.<row>.<field> for a @PerMap row, checked), one English under several undescribed keys warned at en.po's line; the schema's "lang" (keys and their sites, unused, undescribed, split, and every other language's missing / fuzzy / extra); k"" in .lres data, @PerMap rows included (lres_key); ludic-fmt keeps a key literal whole; reseeded, bootstrap-cfree fixpoint holds
|
2026-09-29 23:33:52 +03:00 |
|
emit_fence.ludic
|
fence: every runtime call is its line's site, and site 0 comes back when it returns
|
2026-09-29 00:40:28 +03:00 |
|
emit_fence_ir.ludic
|
intern: past its store or its table, the fence's overflow - said once
|
2026-09-29 00:37:56 +03:00 |
|
emit_float.ludic
|
schema: ludicc --emit-schema / ludic schema, --check --diagnostics=json, and editor attributes
|
2026-09-29 18:06:54 +03:00 |
|
emit_fnval.ludic
|
a program's states made on first injection, and the ECS stores started at 8 slots
|
2026-09-29 14:14:05 +03:00 |
|
emit_frame.ludic
|
schema: ludicc --emit-schema / ludic schema, --check --diagnostics=json, and editor attributes
|
2026-09-29 18:06:54 +03:00 |
|
emit_head.ludic
|
a program's states made on first injection, and the ECS stores started at 8 slots
|
2026-09-29 14:14:05 +03:00 |
|
emit_intrin.ludic
|
fence: every runtime call is its line's site, and site 0 comes back when it returns
|
2026-09-29 00:40:28 +03:00 |
|
emit_intrin2.ludic
|
a render3d program's window is opened by its renderer, not by the runtime before main
|
2026-09-29 14:19:10 +03:00 |
|
emit_lazy.ludic
|
tests: the full suite's seven failures on lang/foundations - one compiler fault and six stale expectations
|
2026-09-29 21:19:00 +03:00 |
|
emit_mem.ludic
|
fence (25.1): every allocation goes through the fence - sites, frame judging, census, callers
|
2026-09-28 15:35:29 +03:00 |
|
emit_new.ludic
|
capacities (25.5a): @max(n) on a list field, and a full table is a failure
|
2026-09-28 16:43:02 +03:00 |
|
emit_resource.ludic
|
owned fields (25.5e): @owns(Kind) on a record's field, and owned_leaks
|
2026-09-28 17:01:28 +03:00 |
|
emit_schema.ludic
|
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
|
2026-09-30 00:19:24 +03:00 |
|
emit_schema_code.ludic
|
feat(lang): 27.1 - a state machine as data: @Machine(Record.field) on a registry of transitions
|
2026-09-30 16:37:37 +03:00 |
|
emit_schema_code_game.ludic
|
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
|
2026-09-30 00:19:24 +03:00 |
|
emit_schema_hash.ludic
|
Build.schema_hash(): FNV-1a 64 of the program's own schema (the bytes ludic schema prints), worked out only when a program names it, 0 under ludicc --release, which ludic bundle now passes (Mac and Windows); reseeded
|
2026-09-29 19:05:28 +03:00 |
|
emit_schema_lang.ludic
|
compiler: text keys (phase 26.2) - k"pause.resume" / kn"catch.count" of the builtin type Key (not a string, and no string one; == compares), its run-time value the key after a marker byte (1, or 2 for a plural); package.ludic's lang "assets/lang" en and a gettext .po reader; every key literal checked against en.po (a kn"" one wants a msgid_plural), trf / trn and a template's t('key', ...) against the English's holes, a component's template words and a @Text row's English as "English left" (warnings, english_left in ludic deps), a @Text Key field a compiled row leaves out filled with its derived key <registry>.<row>.<field> (or @TextKey's prefix; maps.<map>.<table>.<row>.<field> for a @PerMap row, checked), one English under several undescribed keys warned at en.po's line; the schema's "lang" (keys and their sites, unused, undescribed, split, and every other language's missing / fuzzy / extra); k"" in .lres data, @PerMap rows included (lres_key); ludic-fmt keeps a key literal whole; reseeded, bootstrap-cfree fixpoint holds
|
2026-09-29 23:33:52 +03:00 |
|
emit_schema_ui.ludic
|
ludic schema: a components section and a natives list (R4)
|
2026-09-29 19:36:04 +03:00 |
|
emit_stmt.ludic
|
frame allocs (25.2): @frame on a step list's field, @alloc_ok on a statement, and on an exported function
|
2026-09-28 15:56:32 +03:00 |
|
emit_vis.ludic
|
feat(lang): 27.3 - a reducer on a table's row: reducer T in S.table on A, @Target, Row<T>, @RowVerb, @Column
|
2026-09-30 16:14:59 +03:00 |