ludic/selfhost/backend/stdlib
Orkuncakilkaya 8384ad3215 feat(compiler): the built-in ECS's stores grow - 100 000 entities, where 1024 was the wall
Every per-entity store (@S_ components, @H_ flags, alive, kind, freelist, owners) is a heap block
L_grow doubles from 1024 as L_alloc hands out a slot past it, the new slots zeroed; each site loads
the store's base where it indexes it (ecs_base, its registers %ecsb* so a raw function's t0 labels
cannot collide). Prop.has bounds against @L_cap, Pool.capacity answers it, a mod's registered
stores grow with the rest, every main grows the stores once before anything reads them. A snapshot
records its slot count first and a load grows to it before reading back. The overflow stop of
1c7ce84 is gone with the wall. ludic-dev test 305 passed, selfhost-test 33 passed; 1000 / 5000 /
100000 entities spawn and count.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 22:53:24 +03:00
..
emit_anim.ludic wip(0.S3): calls into the runtime get its states supplied; the emitter's own calls to runtime functions reach their thunks; the migration names the runtime's states per file 2026-09-25 15:44:50 +03:00
emit_color.ludic refactor(cli)!: split the contributor tool out of the ludic CLI 2026-09-05 23:15:12 +03:00
emit_colorfn.ludic refactor(selfhost): reorganise into concern-based subdirectories 2026-08-31 00:26:02 +03:00
emit_crypto.ludic fix: CSPRNG on Windows, and a window's first title is the package's app name 2026-09-17 16:22:05 +03:00
emit_datetime.ludic feat(compiler): list literals, typed compound assignment, file:line diagnostics 2026-09-05 01:12:16 +03:00
emit_ease.ludic feat(compiler): list literals, typed compound assignment, file:line diagnostics 2026-09-05 01:12:16 +03:00
emit_fs.ludic fix(windows): Fs.remove removes an empty directory, as POSIX remove does 2026-09-13 02:27:21 +03:00
emit_hash.ludic feat(compiler): list literals, typed compound assignment, file:line diagnostics 2026-09-05 01:12:16 +03:00
emit_ivec.ludic wip(0.S3): calls into the runtime get its states supplied; the emitter's own calls to runtime functions reach their thunks; the migration names the runtime's states per file 2026-09-25 15:44:50 +03:00
emit_key.ludic feat: every key on the keyboard is bindable - the F-row, the six-pack, Caps Lock and the numpad 2026-09-18 00:57:02 +03:00
emit_list.ludic wip(0.S3): calls into the runtime get its states supplied; the emitter's own calls to runtime functions reach their thunks; the migration names the runtime's states per file 2026-09-25 15:44:50 +03:00
emit_log.ludic feat(windows): a Windows target for ludicc, and the compiler builds itself there 2026-09-13 01:59:41 +03:00
emit_math.ludic feat(lang): float and double types with ordinary operators 2026-09-16 16:13:31 +03:00
emit_net.ludic feat(compiler): the built-in ECS's stores grow - 100 000 entities, where 1024 was the wall 2026-09-27 22:53:24 +03:00
emit_noise.ludic feat(lang): functions are values (L2), and render3d takes its scene as callbacks 2026-09-24 00:27:26 +03:00
emit_os.ludic feat(windows): a Windows target for ludicc, and the compiler builds itself there 2026-09-13 01:59:41 +03:00
emit_pak.ludic carry: the runtime and render3d work Maroon Lake builds against 2026-09-23 15:55:02 +03:00
emit_rect.ludic feat(types): IVec2 + Rect 2D value types (#1) 2026-08-31 18:29:41 +03:00
emit_text.ludic feat(text): Text.to_float; a void function's return <value> is an error 2026-09-23 19:19:28 +03:00
emit_text_prelude.ludic feat(compiler): list literals, typed compound assignment, file:line diagnostics 2026-09-05 01:12:16 +03:00
emit_time.ludic refactor(selfhost): reorganise into concern-based subdirectories 2026-08-31 00:26:02 +03:00
emit_unicode.ludic feat(compiler): list literals, typed compound assignment, file:line diagnostics 2026-09-05 01:12:16 +03:00
emit_uuid.ludic feat(compiler): list literals, typed compound assignment, file:line diagnostics 2026-09-05 01:12:16 +03:00
emit_vector.ludic feat(compiler): list literals, typed compound assignment, file:line diagnostics 2026-09-05 01:12:16 +03:00
emit_win.ludic fix(windows): Fs.remove removes an empty directory, as POSIX remove does 2026-09-13 02:27:21 +03:00