Skip to content

Release v0.2.0

Choose a tag to compare

@github-actions github-actions released this 15 Aug 08:07
240eb7b

Added

  • PackageResolver.Resolve() (C#, Cratis.Scene.Engine) and resolveComponentName() (TypeScript, @cratis/scene.engine) - resolve a bare or package-qualified component name against a ui profile's package list. A bare name walks the package list from highest to lowest priority (core always the lowest-priority fallback); a package-qualified name (e.g. Internal.Widgets.TrendChart) resolves directly against its named package, bypassing priority order entirely. (#3)
  • Every resolution also reports which other active packages declared the same bare name but were shadowed by the winner, directly answering the issue's own open question ("why did my button render as PrimeReact's and not core's") without needing separate CLI tooling. (#3)
  • A shared JSON fixture corpus (package-resolution-fixtures.json) asserted independently by both the C# and TypeScript specs, so the two implementations of the algorithm cannot drift apart - the same pattern scene-model-shape.json already establishes for Scene.Model's shape.
  • New Cratis.Scene.Engine C# project, sibling to Scene.Model, mirroring the existing TypeScript model/engine package split - keeps Scene.Model's strict shape-parity manifest free of behavioral types.

Notes

Wiring this resolver into SceneElementView/ComponentRegistry's actual rendering path (resolving an entire element tree's component names before it renders) is left to Stage#39 and StudioIssues#160, which this issue explicitly lists as downstream consumers - not attempted here.