Repository navigation
Release v4.120.0
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 andreexposes <Owner>. Maps to Scene'sExposureDeclarationandExposedProperty. (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'sInstanceContributionandContributedItem. (part of #168) (part of #173)contribute to <Point> [order <n>]inside ascreencontributes content to a contribution point, mapping to Scene'sScreen.Contributions. (part of #168) (part of #173)- Screen and dialog templates can provide their own slot content with
content <slot>, and picker metadata withdisplay,descriptionandscopes(application,module,feature,subfeature,sliceornone); layouts acceptscopes. (part of #168) (part of #173) - Flow arrangements accept
grid ... columns <n> rows <n>,grow [<number>]andspan <n>on containers, and a weightedgrow <number>on slots. Navigation acceptsoutlet <name>. (part of #168) (part of #173) - New diagnostics
PLAY0621–PLAY0632reject 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 noui profiledeclares. 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 todirective in a screen now prints itsroute,outletandparameterlines instead of dropping them. (part of #173)