A shared portage route, live
Three watershed documents share one
SharedSequence, an ordered list of waypoints down a river.
One client creates it and shares the handle; the others resolve it. They
talk to one sluice, the in-memory server that ships in the
library. It runs the production client runtime
without a network backend. Local
edits are drawn in magenta until the
sluice stamps them; server-sequenced state is
ink.
Select a station to move, rename, or delete it, or press + between stations to insert one. Then stage a race: Race a move has B and C drag the same waypoint opposite ways; Crowd an insert has them insert different waypoints at the same spot. Both converge: a move follows its waypoint and concurrent inserts both survive, because ops name items, not index numbers.
Client B
0 pendingClient C
0 pendingConverged all routes identical · nothing pending
Latency and jitter affect simulated arrival order; animation speed changes playback only.
The live demo couldn’t start: it runs the production client runtime against
the in-memory sluice as compiled JavaScript, and this browser
didn’t load it. The rest of the page works fine without it.