ludic/selfhost/backend/stdlib
Orkuncakilkaya e1585de9b6 map packs: Fs.mount / Fs.unmount at run time, and a map's bakes under assets/baked/maps/<map>/
Maps ship outside the game, each one a content-addressed pack (.lmap: the .lpak format) downloaded to
the save root. The runtime already served reads from packs mounted at boot (packs.index); now one can
come and go while the game runs:

- Fs.mount(path) -> bool maps a pack over the ones mounted before it (searched first, as a later
  packs.index line is); Fs.unmount(path) -> bool gives the mapping back (munmap, UnmapViewOfFile on
  Windows) and closes the gap in the search order. Each slot keeps its length and path for it. A
  FILE* still open over one of its entries (a baked_open_range) is closed first. Still 8 packs at most.
- baked_path(map, file) is assets/baked/maps/<map>/<file> for a map's bake - what its .lmap carries
  and the game's own pack never does - and assets/baked/<file> for the rest.

The IR assembles for macOS and Windows (llvm-as). Compile-only: nothing mounted or run here.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 17:27:06 +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 fence (25.1): every allocation goes through the fence - sites, frame judging, census, callers 2026-09-28 15:35:29 +03:00
emit_datetime.ludic fence (25.1): every allocation goes through the fence - sites, frame judging, census, callers 2026-09-28 15:35:29 +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 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_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 fence (25.1): every allocation goes through the fence - sites, frame judging, census, callers 2026-09-28 15:35:29 +03:00
emit_log.ludic fence (25.1): every allocation goes through the fence - sites, frame judging, census, callers 2026-09-28 15:35:29 +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 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_pak.ludic 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_rect.ludic feat(types): IVec2 + Rect 2D value types (#1) 2026-08-31 18:29:41 +03:00
emit_text.ludic fence (25.1): every allocation goes through the fence - sites, frame judging, census, callers 2026-09-28 15:35:29 +03:00
emit_text_prelude.ludic fence (25.1): every allocation goes through the fence - sites, frame judging, census, callers 2026-09-28 15:35:29 +03:00
emit_time.ludic refactor(selfhost): reorganise into concern-based subdirectories 2026-08-31 00:26:02 +03:00
emit_unicode.ludic fence (25.1): every allocation goes through the fence - sites, frame judging, census, callers 2026-09-28 15:35:29 +03:00
emit_uuid.ludic fence (25.1): every allocation goes through the fence - sites, frame judging, census, callers 2026-09-28 15:35:29 +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 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