Skip to content

Release v1.0.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 11:06
35a2936

Added

  • Packages. A ui profile lists packages by name; ScenePackage is the declaration behind such a name — what it contributes (components, layouts, screen and dialog templates, themes) and what else has to be active for it to work. Kinds are ComponentLibrary, Styling and Blueprint.
  • Dependency resolution. PackageDependencyResolver expands a chosen set of packages into the complete list, ordered so a package always follows what it depends on — which is also the correct override priority. Missing dependencies, version conflicts and cycles are reported rather than guessed at. PackageCatalog answers what a package picker asks: which component libraries are a base to build on, and what else fits what is already selected.
  • Screen and dialog templates. ScreenTemplate is a reusable shape that goes inside a layout, at module, feature or slice level; FitsSlot names the slot on its parent it fills, and ScreenTemplateResolver turns those names into a tree. The same rule applies at every level, so nesting has no depth limit. DialogTemplate is the same for overlays, which fill no slot.
  • Themes carry attribution. Theme gained design tokens plus Author, AuthorUrl and License, so a theme adopted from elsewhere credits its original creator.
  • @cratis/scene.primereact — 87 component names across PrimeReact's families, and 25 of PrimeTek's free themes, each credited.
  • @cratis/scene.components — the Arc-bound Cratis Components composites, with a binding registry so a screen can name a query or command that a host resolves to a real class at render time.
  • @cratis/scene.tailwind — the styling package component libraries declare themselves written against.
  • @cratis/scene.blueprint.default — application shells with eight menu modes, 23 screen templates, 3 dialog templates and two themes.
  • @cratis/scene.blueprint.components — whole Arc-bound pages built from Cratis Components, layered on the default blueprint rather than shipping a rival shell.

Changed

  • A layout and a template are now different things. A Layout is an application's base navigational look and an application has one; a ScreenTemplate goes inside it and an application has many. They were previously the same word for both.
  • FlowContainer carries its Kind. C# distinguished a FlowRow from a FlowColumn by type, but the TypeScript mirror could not — interfaces with identical members are the same type — so a renderer had no way to tell a row from a column.

🤖 Generated with Claude Code