Reference
Feature Flow Catalog
Look up syntax, contracts, layouts, algorithms, and exact behavior.
A LiveBoard feature belongs in the architecture when it has a clear route through the system: one obvious frontend owner, one obvious backend contract, one durable state owner when persistence is needed, and one realtime story when collaborators are affected. The following catalog summarizes those routes.
signup/login
AuthScreen -> /api/auth/signup or /api/auth/login -> sessions -> dashboard
create canvas
Dashboard -> POST /api/canvases -> canvases + owner membership -> rename modal
create nested folder
Dashboard/FolderModal -> POST /api/folders(parentId) -> canvas_folders
move canvas into folder
drag/drop -> PATCH /api/canvases/:id/folder -> canvases.folder_id
move folder into folder
drag/drop -> PATCH /api/folders/:id/parent -> canvas_folders.parent_id
reorder mixed siblings
insertion zone drop -> PATCH /api/dashboard/order -> sort_order rewrite
share canvas
ShareModal -> POST /api/canvases/:id/invite -> canvas_members
delete folder subtree
ConfirmModal -> DELETE /api/folders/:id -> folders, canvases, sockets closeddraw
pointer draft -> create_shape -> PostgreSQL revision -> op_applied
move/resize/rotate
local optimistic preview -> preview_op fanout -> pointer-up durable op
multi-select or group transform
combined bounds -> batch preview -> batch durable op -> one undo step
style change
toolbar control -> update_shape or batch -> server-derived inverse
text edit
inline textarea draft -> update_shape on commit -> one history entry
paint bucket
shape click -> update_shape fill patch
background click -> update_canvas backgroundColor
z-order action
context menu -> reorder_shape -> shapes array order changes
undo/redo
toolbar/shortcut -> websocket undo/redo -> server history -> op_appliedcursor movement
canvas coordinates -> cursor message -> Redis fanout -> inverse-scaled remote cursor
durable op miss
client observes revision gap -> GET /api/canvases/:id -> replace local state
rate-limited write
backend rejects before persistence -> rate_limited snapshot to sender
peers receive preview_reset -> refresh durable state
access removal
DELETE member row -> Redis invalidation -> access_removed -> socket close
server scale-out
any replica handles HTTP/WS -> PostgreSQL serializes writes
Redis fans out transient and committed room events