Skip to content

Release v4.25.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 03:59
ee4c4e9

Template applicability is now decided by the Scene engine instead of Studio. A template reference can name an own or a blueprint template with a version pin, a template must carry a category, and a picker asks one function what to offer at a target (C# and TypeScript, identical results on the shared corpus).

Added

  • ApplicableTemplates.Compute / applicableTemplates(library, target): own templates by category, then only the blueprints that have at least one applicable template (TPL2). A target is a scope, an optional slice kind, the container whose slots the template must fit, and the chain of templates already chosen above (no loops, TPL6). It composes TemplateApplicability and ScreenTemplateResolver with the per-level defaults of spec 4.2; explicit scopes/sliceKinds override and category never implies a scope. ApplicableTemplates.Validate / validate*ForTarget give the reason a template does not apply.
  • TemplateReference (source Own | Blueprint, id, blueprint, version semver range, default ^<installed>) and TemplateReferenceResolver.Resolve / resolveTemplateReference with Resolved, Malformed, UnknownBlueprint, VersionNotSatisfied (drift) and UnknownTemplate.
  • TemplateMetadata.sliceKinds (reusing SliceKind from the application structure) narrows which slice kinds a template applies to.
  • Catalog entries carry warnings.

Changed

  • category is required: TemplateCatalog.Describe / describeTemplateCatalog report a missing category (templateCategoryMissing) as a problem for a template in a Blueprint package and as a warning for an own template.
  • Every template in blueprint.default (Foundation / <type>) and blueprint.components (Business / <domain>) now has a category; the components list/detail/command templates declare their slice kinds.
  • template-applicability-fixtures.json now covers each level, explicit scopes, slot-nesting failure, hidden blueprints, the slice-kind split, category error/warning and version-pinned references, asserted by both Engine.Specs and engine specs. scene-model-shape.json and docs (template-applicability.md, template-provenance.md) updated.

Part of #98. Spec §3.3, §4 (TPL1, TPL2, TPL5, TPL6), REN1, REN2.