Repository navigation
Release v4.73.0
The Stage runtime now runs the modeled application through the Scene navigation host - outlets, dialogs, toolbars and the address - and the converters carry the hierarchy and navigation metadata the model authors instead of refusing it or flattening it.
Added
- A screen records where it sits as Scene's
Screen.Path: the modules and features, outermost first, it was declared in. A module's owncontribute toreaches every screen beneath the module, and a contribution records the hierarchy it was declared in, whether it sits on a module, a feature at any depth or a screen. (part of #237) - A navigation entry's
id,icon,presentation,groupanddestination outlet|dialog|externalreach the runtime, composed with itsnavigate tointo one Scene destination. The menu honourspresentation(icon,textorboth), and an entry that opens an outlet or a dialog is executed by the Scene host. (part of #237) - A
toolbaritem carries the destination it opens - the screen anavigateitem targets, the dialog template adialogitem targets - with its parameters as route parameter bindings, so it runs through the Scene host like any other navigation. Command items render as the Stage's command action. Presentation hints are honoured (modeoficon,textorboth; any other hint is adata-scene-presentation-<name>attribute). (part of #237) - A screen no navigation entry lists is shown under its own module and feature, with the breadcrumb leading to it, instead of a single "Other screens" group. (part of #236)
- A dialog opened through the host is a real modal: a backdrop above the shell,
aria-modal, and Escape closes it. Before, it rendered unstyled at the end of the page where the shell's sidebar covered its Close button - found by the browser proof. (part of #237) - The Stage's
core:outletrenders the screen the host placed in the named outlet inside the Stage's data scope. (part of #237)
Changed
- The Stage no longer keeps navigation state of its own: the primary screen, nested outlets, the open dialog and the
#/Screen?parameter=valueaddress belong to Scene'suseSceneHistoryNavigationovercreateHashSceneHistory. An address that stands for an outlet destination restores the whole composition, and closing a dialog goes back to where it was opened from. (part of #237) - Navigation contributions carrying
id,icon,presentationor adestinationare no longer refused withSTAGE-SCENE-UI-001; Scene 4.21.0 honours them. - The generated-React browser harness proves it against the generated application: the module-level entry, a screen no entry lists nested under its module and feature, the toolbar with an icon-only item and a placement hint, and a toolbar dialog that opens and closes (70 assertions, 0 blocked).
- Moves to Scene 4.21.0 and Screenplay 4.137.0. The frozen default scene, the frontend shell digest and the screens vector ledger are re-pinned, and the canonical typed composition is translated again rather than refused. See Stage rendering.