NewMCP agent API — drive Promenade from your own AI agent
Rust · WebAssemblyView · TypeScriptObject-centricViews

Metro Station

run.promenade.metro-station

The metro-map metaphor taken into the third dimension, the way a station atlas draws Shinjuku: activities are circular platforms, object types are colored routes, horizontal position is process order — and vertical position is accumulated elapsed time. A wait is therefore a literal descent, drawn as a translucent elevator shaft for a long one and a staircase for a short one, so the two-day gap before payment is a two-story drop rather than a number on an arc. Depth is a genuinely new axis rather than a second encoding of object type, which is why color stays free to mean what it means everywhere else in Promenade. Interactive: orbit it, flatten it back to an ordinary 2D metro map, and switch the depth axis between linear and logarithmic. Rendered with three.js WebGPURenderer, falling back to WebGL 2.

Produces

  • OCStationMap

Runtimes

  • Rust · WebAssemblyCompiled to WebAssembly, runs in the page or on an engine
  • View · TypeScriptRenders an artifact inside a sandboxed iframe

Versions

VersionReleasedSizeNotes
0.2.0latest6 Sept 2026548 KBLift cars. Each shaft now runs a car — instanced primitives, one passenger per object type on that hand-off, in that type’s own color. A car only ever descends, at constant speed so a longer wait is a visibly longer journey, and then beams back to the top with a flash rather than climbing: height here is elapsed time, so a rising car would be a case travelling backwards through the process. Shafts gained a minimum radius (set in the kernel, where the clearance invariants can see it), a machine room, a pit and a hoist cable. Also fixes two layout defects the invariants caught: column pitch is now per-column instead of one global maximum, and the corridor allocator centers each group of overlapping claims rather than a whole corridor. wasm change: Remove+reinstall.