Skip to content

Release v4.120.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 00:24
054c28d

Screens can now express the rest of the Scene v4.12.0 composition model in typed Screenplay instead of leaving it to tool-specific carriers.

Added

  • exposure for <Owner> declares what a layout, screen template or dialog template lets an instance configure: component properties by identifier or exact quoted stable id, with an optional label, collection operations (add, remove, reorder, edit-fields), editable item fields and reexposes <Owner>. Maps to Scene's ExposureDeclaration and ExposedProperty. (part of #168) (part of #173)
  • instance <Screen or Template> stores typed literal values (set <component>.<path> = <value>) and collection items (items / item <id>) for what was exposed. Maps to Scene's InstanceContribution and ContributedItem. (part of #168) (part of #173)
  • contribute to <Point> [order <n>] inside a screen contributes content to a contribution point, mapping to Scene's Screen.Contributions. (part of #168) (part of #173)
  • Screen and dialog templates can provide their own slot content with content <slot>, and picker metadata with display, description and scopes (application, module, feature, subfeature, slice or none); layouts accept scopes. (part of #168) (part of #173)
  • Flow arrangements accept grid ... columns <n> rows <n>, grow [<number>] and span <n> on containers, and a weighted grow <number> on slots. Navigation accepts outlet <name>. (part of #168) (part of #173)
  • New diagnostics PLAY0621–PLAY0632 reject malformed composition, unknown exposure owners and instances, unexposed or mistyped instance values, re-exposure cycles and broken re-exposures, unknown template content slots, unknown navigation outlets, template scope mismatches and components from packages no ui profile declares. The source stays in the syntax tree. See diagnostics. (part of #168)
  • The canonical screen composition corpus covers every new construct in its typed positive vector and adds six rejection vectors with exact diagnostics and no artifacts. (part of #168)

Changed

  • A standalone navigate to directive in a screen now prints its route, outlet and parameter lines instead of dropping them. (part of #173)