A shared folder tree, live
Three watershed documents share one
SharedDirectory, a recursive SharedMap where
every folder holds its own key/value readings and a set of named
child folders. 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.
Add folders and readings on any client, delete a folder, or press
Race the same folder: all three clients create
/kettle-run at the same instant. The three ops merge into a
single folder (whose creator set records every author), rather
than duplicating. That hierarchical-identity merge is exactly what a flat
map can’t do, and it survives delete-then-recreate races too.
Client B
0 pendingClient C
0 pendingConverged all trees 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.