Repository navigation
Release v4.41.0
The foundation screen set of Part B 2.1-2.9, with the reusable per-template definition of done.
Added
- Eight foundation screen templates in
@cratis/scene.blueprint.defaultunderfoundation/templates, categoryFoundation / <type>:WorkspaceScreen(moduleNav,moduleContent),DashboardScreen,ListScreen(header, toolbar, filters, list, bulkBar, footer),BoardScreen,MasterDetailScreen(fits the qualified slotWorkspaceScreen.moduleContent, offers themaster-detail.detailoutlet),RecordPage(tabs, related, activity, aside),FormScreenandWizardScreen. Each fits theAppShellcontentslot (or its container's qualified slot), so any of them is placed in the shell without per-template shell code; each carries a compact arrangement (list to cards, master/detail to a stack, section rail to tabs), the five standard states through the foundation components, permission rules on action controls, address-reflected filters/sort/page/selection/step, and a keyboard alternative on the board. - Preview data is the sample-data pack
sampleData/foundation-en.json(templates only declare query bindings), a thumbnail for each inthumbnails/, and the pack and thumbnails ship in the package. verifyTemplateDefinitionOfDonein@cratis/scene.engine: the Part B 6 per-template checklist (metadata, type, category, one-sentence description, thumbnail in the package, every slot arranged and none undeclared, placed by the slot resolver, no inline sample rows, every bound query answered by the pack), with specs and used for each foundation template.- Gallery screens for the eight templates (breadcrumbs, nesting through the workspace for the qualified slot), the preview host takes a sample-data pack and forced state.
- Docs:
blueprints/foundation-templates.md,template-set.mdandpattern-coverage.md(Board, Record page and Wizard no longer deferred).
Changed
- Existing templates (
Dashboard,CrudList,MasterDetail,DetailView,FormPage,ModuleWorkspace, ...) are unchanged and keep their names: the foundation set is added alongside rather than renamed, so nothing breaks. As with the components (see #105) the set lives in the publishedblueprint.defaultrather than a new package (a new npm package cannot be published until a trusted publisher exists).
Part of #107