page 9c02… display:open — mellms-workshop (child · canonical)
page 44d7… display:collapsed — ir-oral-session (child · canonical)
block a8e0… — itinerary Wednesday
page 71bb… display:open · overlay — reading-group/queue (summoned)
LifeLab · reconciliation
The page's order list holds typed refs: block or page-ref. A page-ref renders as a link line, a collapsed region, or an open transclusion (display flag, toggled with Tab). Subpage refs are canonical (child of this page — no dismiss); summoned refs are overlay (window onto a foreign page — dismissable). Same component, one extra bit.
{type:page, uuid, display} sits in the same list as block uuids — page refs order and drag exactly like blocks.
The old :SUBPAGES: footer becomes an auto-generated shelf listing children with no ref yet in the order list. Never orphaned, never duplicated.
Dragging a shelf row into the flow creates its canonical ref at the drop point; the row leaves the shelf. Old behavior is the degenerate case — everything on the shelf.
Subpage: child, canonical ref, no dismiss. Summon: foreign page, overlay ref, C-c - dismisses the window. Header badge tells them apart.
acl2026 after reconciliation: the workshop subpage is placed inline, open where it belongs in the narrative; the orals session is placed but collapsed; a foreign page (reading-group/queue) is summoned — same region, SUMMONED badge, dismissable. Blocks flow around all of them.
The footer isn't stored; it's derived: children of this page with no ref in the order list. Place a subpage into the flow and it leaves the shelf automatically. A page whose children are all placed shows no shelf at all. This keeps today's data valid on day one — every existing subpage simply starts on the shelf.
Tab on a row previews collapsed.Dragging [[mellms-workshop]] from the shelf up between two blocks. Drop writes one canonical page-ref at that index (display: collapsed by default — Tab opens it). The shelf row leaves the shelf the moment the ref exists.