Spawn

Make Games with Words

Learn about spawn
spawn / swhat we're building

pinned

start herewhat spawn isfaqfrequently asked questionsthe betthe spawn bet

updates

engine v5.0For Real1 weekengine v4.6Atelier1 weekengine v4.5Surface Tension2 weeksengine v4.4Solid3 weeksengine v4.3GroovyMay 13, 2026engine v4.2ContinuumMay 9, 2026engine v4.1FoundationsMay 4, 2026engine v0.1GenesisApril 29, 2026
← All posts

engine v5.0.11

Engine v5.0.11

June 11, 2026

A patch in the For Real line.

what's new

  • Savi's script tools work again in solo games with mouse-look cameras — a 5.0.10 regression broke her ability to run scripts there.
›technical notes
  • The exec worker's snapshot rebuild now registers the client-runtime components for client-mode worlds (ledger #595, 5.0.10 regression). 5.0.10 moved run_script off the sim thread into an exec worker that rebuilds the world from a WorldSnapshot, with a registry built from game.schema(...) + feature glue only — but the client runtime worker registers pointer-lock intent and the selection components OUTSIDE that path (runtime-worker.ts define). In singleplayer the client world is the authority, so any mouse-look game's snapshot shipped an input/pointer-lock-intent column and every run_script faulted deterministically with "snapshot component 'input/pointer-lock-intent' is not registered in the worker schema — game module mismatch" (field hit: app 463cbf9c, creator rolled back to 5.0.9).
  • One source of truth: the registrations are extracted into registerClientRuntimeComponents (engine/components/client-runtime.ts), called by BOTH the runtime worker's define and createSnapshotWorld. The snapshot rebuild registers them for worldMode === "client" only — server snapshots never carry these rows and server registries are byte-for-byte unchanged. The loud unknown-column throw stays for genuinely unknown components (no silent column skipping).
  • New real-path pin client-runtime-components.test.ts: a singleplayer-shaped client world built through the exact runtime-worker registration split, a pointer-lock row on the camera, run_script through createExecEndpoint → createSnapshotWorld — red on the unfixed build with the field's exact signature; plus a selection-row case and a still-throws case for unknown columns.

pinned

what spawn isstart herefrequently asked questionsfaqthe spawn betthe bet

updates

For Realengine v5.01 weekAtelierengine v4.61 weekSurface Tensionengine v4.52 weeksSolidengine v4.43 weeksGroovyengine v4.3May 13, 2026Continuumengine v4.2May 9, 2026Foundationsengine v4.1May 4, 2026Genesisengine v0.1April 29, 2026
← All posts