Skip to content

Release v0.7.0

Choose a tag to compare

@github-actions github-actions released this 15 Aug 08:58
87e0fc4

Added

  • Layout.Arrangement: an optional FlowArrangement/FreeformSlotArrangement describing how a layout's own named slots position relative to each other, filling a gap where Screenplay's template/row/column/grid/variant constructs (which arrange slots) had nowhere to go in the object model - only a single slot's own filled content could be arranged before this
  • FlowSlotLeaf/SlotPlacement: the slot-referencing counterparts to FlowLeaf/ElementPlacement, used only within a Layout's own arrangement tree
  • FreeformSlotArrangementEvaluator (+ TypeScript evaluateFreeformSlotArrangement): selects a Layout's macro placement variant for a size class, mirroring FreeformArrangementEvaluator

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.