Release v0.7.0
Added
Layout.Arrangement: an optionalFlowArrangement/FreeformSlotArrangementdescribing how a layout's own named slots position relative to each other, filling a gap where Screenplay'stemplate/row/column/grid/variantconstructs (which arrange slots) had nowhere to go in the object model - only a single slot's own filled content could be arranged before thisFlowSlotLeaf/SlotPlacement: the slot-referencing counterparts toFlowLeaf/ElementPlacement, used only within aLayout's own arrangement treeFreeformSlotArrangementEvaluator(+ TypeScriptevaluateFreeformSlotArrangement): selects aLayout's macro placement variant for a size class, mirroringFreeformArrangementEvaluator
Context
Found while implementing Cratis/Stage#37 (the Screenplay → Scene translation seam) - Screenplay's layout construct places named slots via template/variant blocks, but Layout had no field to receive that structure, only Slot.Arrangement for a slot's own content. Fully additive: no existing type's shape changed, and FlowArrangementEvaluator is reused unmodified since it never inspects leaf content.