ludic/selfhost/backend
Orkuncakilkaya b401f7acc1 feat(ludic.lab): the visual lab as a package - a scene on a plate, never a world
A scene is an entry in the open registry LabScenes, shown on a plate: a
flat lit disc, the package's own small sky with the sun at one hour, and
a frame clock. Headless each camera (lab_shot, lab_shot_at) settles and
is written as build/lab/<scene>/<shot>.png (a stored PNG, written here);
in a window N and P step through them. tools/lab/run.sh and sheet.py
make the contact sheet; tools/lab/plate_build.py makes plate/.
ludic.render3d gains r3d_plate_mode (no terrain, grass or water is made)
and r3d_sky_path. quit() in a program with no frame loop links. The
example takes ~120 MB resident, 417 MiB peak footprint. Reseed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 07:48:43 +03:00
..
game feat(lang): L4 type checker between parse and emit 2026-09-24 01:34:49 +03:00
stdlib feat(lang): functions are values (L2), and render3d takes its scene as callbacks 2026-09-24 00:27:26 +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 feat(ludic.lab): the visual lab as a package - a scene on a plate, never a world 2026-09-25 07:48:43 +03:00
emit_core.ludic feat(ludic.lab): the visual lab as a package - a scene on a plate, never a world 2026-09-25 07:48:43 +03:00
emit_decl.ludic feat(ludic.lab): the visual lab as a package - a scene on a plate, never a world 2026-09-25 07:48:43 +03:00
emit_expr.ludic feat(lang): functions are values (L2), and render3d takes its scene as callbacks 2026-09-24 00:27:26 +03:00
emit_float.ludic feat(lang): L4 type checker between parse and emit 2026-09-24 01:34:49 +03:00
emit_fnval.ludic feat(lang): L4 type checker between parse and emit 2026-09-24 01:34:49 +03:00
emit_head.ludic feat(lang): ports - port Clock { ... } in a module, bind Clock { ... } in the app 2026-09-25 04:20:12 +03:00
emit_intrin.ludic feat(lang): L7 memory is safe unless it says unsafe 2026-09-24 12:53:27 +03:00
emit_intrin2.ludic feat(lang): L7 memory is safe unless it says unsafe 2026-09-24 12:53:27 +03:00
emit_mem.ludic feat(lang): L7 memory is safe unless it says unsafe 2026-09-24 12:53:27 +03:00
emit_new.ludic feat(lang): packages count under uses; a port of defaults may go unbound 2026-09-25 05:36:11 +03:00
emit_stmt.ludic feat(lang): L7 memory is safe unless it says unsafe 2026-09-24 12:53:27 +03:00
emit_vis.ludic feat(lang): packages count under uses; a port of defaults may go unbound 2026-09-25 05:36:11 +03:00