Space actions¶
Space actions operate on named CRDT-backed zones in the attached Space.
Placement payloads use a token as card; placement IDs are generated by the
space and are needed for later remove/move/flip operations.
| Type | Payload | Result / effect |
|---|---|---|
space:place |
{ zone, card, opts? } |
Returns a placement, or null for a locked zone |
space:remove |
{ zone, placementId } |
Removes a placement |
space:move |
{ fromZone, toZone, placementId, x?, y? } |
Moves a placement |
space:flip |
{ zone, placementId, faceUp } |
Sets face state |
space:createZone |
{ name, label?, x?, y? } |
Creates a zone |
space:deleteZone |
{ name } |
Deletes a zone |
space:clearZone |
{ zone } |
Removes all placements from one zone |
space:lockZone |
{ zone, locked? } |
Sets the zone lock |
space:shuffleZone |
{ zone, seed? } |
Shuffles zone ranks |
space:fanZone |
{ zone, ...layout options } |
Applies an arc layout |
space:spreadZone |
{ zone, pattern?, angleStep?, radius? } |
Applies a layout |
space:stackZone |
{ zone } |
Places zone items at one coordinate |
space:transferZone |
{ fromZone, toZone } |
Moves all items and returns a count |
space:clear |
none | Clears all zones |
The implementation validates ordering metadata and records placement snapshots
in the Chronicle. A locked zone makes operations that honor the lock no-ops or
returns null/0 as indicated by the underlying facade.