lumbda/www
russell@unturf.com d4380c64c7
repl: portal save/resume — vault-backed tier checkpoints
Adds a portal-bar to the REPL between tabbar and transcript: a save
button + chip strip showing all saved checkpoints for the active tab.
Click a chip to restore, click × to delete.

Per-tier strategy:
  * c, python — call the tier's (portal-snapshot! NAME), then read the
    JSON blob out of MEMFS (Emscripten/Pyodide FS) and stash it in the
    encrypted vault entry. Restore reverses: hydrate MEMFS, then
    (portal-load! NAME) merges the bindings into the live env.
  * asm — no portal serializer in the WAT tier yet (would need a
    Cheney-aware walk). Falls back to transcript replay: save snapshots
    every successful prior input, restore reboots the tier and re-evals
    them in order.

Plumbing:
  * Worker bridge: new portal-save / portal-load message kinds wire
    MEMFS reads/writes to the main thread.
  * runner.js exposes portalSave / portalLoad — null when a tier
    hasn't implemented portals (asm stays grey).
  * C tier: replace EM_JS with extern + --js-library for js_lumbda_bend_call
    (EM_JS-generated declaration was unreachable from wasmImports at
    instantiate time, browsers threw "import object field ... not a
    Function"). FS added to EXPORTED_RUNTIME_METHODS so JS can reach
    pyodide.FS / Module.FS for MEMFS I/O.

Smoke-tested all three tiers headlessly: save → chip render → restore
round-trips clean on c / python / asm, zero console errors.
2026-06-15 07:43:07 -04:00
..
fonts/chunkfive www: ChunkFive for logo/titles; normalize asm references to "GNU asm" 2026-04-19 16:08:02 -04:00
playground repl: portal save/resume — vault-backed tier checkpoints 2026-06-15 07:43:07 -04:00
repl repl: portal save/resume — vault-backed tier checkpoints 2026-06-15 07:43:07 -04:00
404.html www/: static docroot for lumbda.com 2026-04-19 11:21:56 -04:00
bend.html bend: dual-port worker (8320 wire + 8321 http) — playground onramp 2026-06-14 17:32:46 -04:00
index.html playground: free-form code option + encrypted vault, single-scroll layout 2026-06-14 12:56:25 -04:00
lumbda-logo-green.png www + whitepaper: adopt custom λ mark from MPS, green, 3× wordmark size 2026-04-19 17:32:43 -04:00
lumbda-logo.png www + whitepaper: adopt custom λ mark from MPS, green, 3× wordmark size 2026-04-19 17:32:43 -04:00
lumbda-whitepaper.html www: HTML whitepaper + prose rewrite avoiding "to be" and "the" 2026-04-19 16:23:56 -04:00
lumbda-whitepaper.pdf www: canonical slug /lumbda-whitepaper.pdf + embed uncloseai.js 2026-04-19 16:17:43 -04:00
robots.txt www/: static docroot for lumbda.com 2026-04-19 11:21:56 -04:00
style.css logo: revert artwork to source orientation (was over-flipped) 2026-04-19 17:42:14 -04:00