How WikiScript runs, in three honest lanes: the browser, the server, and replication. One principle throughout — the interpreter is small and compiles anywhere; the Livecode engine is large and lives only where it belongs, the browser.
# The browser lane A Livecode HTML5 standalone is four files: a shell page, the Emscripten JS glue, the engine compiled to WebAssembly at about 6.4 MB, and `standalone.zip` holding the stack. The engine boots into a canvas and loads the zip through a `Module.preRun` hook. Livecode Wasm documents the anatomy. In wiki we embed the trimmed shell in a sandboxed frame; a future plugin lazy loads the engine and tears it down when it leaves the lineup.
# The server lane The Emscripten engine cannot run under WASI. It needs its JS glue, its virtual filesystem and a browser host. So the server lane never runs Livecode. Instead the WikiScript interpreter itself compiles to a wasm32-wasi component and runs under Fermyon Spin — the way wasm servers run QuickJS or StarlingMonkey. The interpreter is the component; agreements are data. The service reserves port `4246` and the Caddy name `wikiscript.localhost`, next to the dns service on `4245`.
Evaluation over HTTP is the same pure function as evaluation anywhere. Page-json and an event go in; a verdict and ghost page-json come out. Nothing is written. Forking the ghost is a human act.
# The replication lane The code repo replicates peer to peer over Radicle, following the rungs of Radicle Pi Plan. Later, agreement lineage becomes collaborative objects, and party identity maps to Radicle DIDs. Nothing in this lane is built yet; it is reserved, on purpose.
# The legacy bridge Livecode Server remains a native CGI engine. GPL 9.6.3 builds survive on the Internet Archive, and OpenXTalk can build the server target from source. It could serve behind Caddy as a native process — but it is documented here as heritage, not chosen as architecture.
# Links
- Livecode emscripten build docs
- Spin documentation
- StarlingMonkey pattern
- Livecode Community Server archive
- OpenXTalk forum ![]()
# See - WikiScript and WikiScript Grammar - Livecode Wasm and Radicle Pi Plan - Three Livecode Doors and SimpleTalk