Repository navigation
Release v4.13.0
Scene can now diagnose broken navigation before anything renders, carries compatibility, attribution and license metadata on every template, and loads third-party design-time extensions through one generic, versioned host.
Added
diagnoseNavigation(@cratis/scene.engine) andNavigationDiagnostics.Diagnose(Cratis.Scene.Engine) report duplicate routes, duplicate, missing and incompatible outlets, navigation cycles through nested outlets and unavailable screen or dialog targets, with the same codes and messages in both engines.diagnoseRenderedNavigationin@cratis/scene.reactcompares the routes the renderer actually builds. See Navigation diagnostics. (part of #74)- An outlet can list the template types it
accepts; a destination placing any other screen there is diagnosed as an incompatible outlet. (part of #74) TemplateMetadatacarriescompatibility(Scene and package version ranges),attributionand an SPDXlicensewithlicenseUrl, in both the TypeScript and C# models.validateTemplateMetadata/TemplateMetadataValidation.Validatereject missing or invalid values, anddescribeTemplateCatalog/TemplateCatalog.Describelist every template with whether it can be used and why not. See Template compatibility, attribution and license. (part of #73)resolvePackageHostexposes the approved bundles' template catalog astemplates; setsceneVersionon the host configuration to check each template's Scene range. (part of #73)resolveDesignTimeHostloads package previews, designers, property editors, property displays and design-time actions through generic lookups, with a generic fallback and a diagnostic for every unknown, undeclared, unloaded or incompatible extension.PackageDesignTimeMetadata.contractVersionandDesignTimeContractVersionversion the contract. See Package design-time extensions. (part of #70)runDesignTimeActionsubmits an action's canonical edit batch whole or not at all, so host validation and undo stay authoritative. (part of #70)- A design record compares the WinForms and ASP.NET designer patterns with Scene's extension points: Designer patterns from WinForms and ASP.NET. (part of #70)
Changed
- Every built-in layout, screen template and dialog template in
@cratis/scene.blueprint.defaultand@cratis/scene.blueprint.componentsdeclares compatibility with Scene^4.13.0and its package dependencies, Cratis attribution and the MIT license. The default shell and dashboard credit the Sakai arrangement they follow. (part of #73) validateNavigationDestinationsnow uses the shared navigation diagnostics. Destinations that share a route and open the same target are no longer reported as duplicates. PassscreensanddialogTemplatesto also check targets. (part of #74)