Skip to content

Playground

Runs the full wasm engine in the tab — no eelden serve. Durable OPFS when available; otherwise session memory.

Hosted: play.eelden.dev (same bundle; VITE_PLAYGROUND=1 so the ?local=1 flag is optional).

Local

bash
cd clients/studio && npm install && npm run build:wasm && npm run dev:playground
# open http://127.0.0.1:5173/?local=1

Mobile-first shell

Phone layout is an app chrome, not a long card stack:

  • Tabs: Examples · Build · Code · Results (cold open stays on Examples)
  • Sticky Run + write toggle in the footer; height tracks visualViewport so the CTA stays above the soft keyboard when possible
  • Schema, snapshots, reset, and the action log live in bottom sheets (⋮ / Log)

What it demos

  • Schema: Users, Listings, Orders (listing: ref Listings)
  • Auto-seed on empty open: sample rows, snapshot seed, plus a post-snapshot “Flash sale” listing so asof has something to show
  • Visual builder stage cards: filter, select, sort/take/skip, join, group, distinct, asof, plus insert/update/delete
  • CodeMirror + lang intel (Shape button; long-press on touch)
  • Write-mode gate; snapshot create for time-travel
  • Results as cards on narrow viewports (table toggle; cards capped at 50)

Build vs Code

Opens in BuildStays in Code
filter / select / sort / take / skipcompound filters (&& / ||)
join / asof / group / distinctatomic { … } blocks
insert / update / delete (when parseable)anything tryParseBuilder rejects

Examples live in clients/studio/src/playgroundDemo.ts (separate from serve-mode examples.ts).

Reset

Reset & reseed (⋮ → More, or Schema sheet when dirty) wipes OPFS (or reopens mem) and reloads the demo catalog. Schema edits require Reset to apply.

Deploy

See Deploy docs + playground.

Pre-alpha. Local-first. Stdlib-only Rust engine.