Skip to content

Add UI starter package/theme resolution engine - #13

Merged
einari merged 3 commits into
mainfrom
feature/ui-starters
Aug 15, 2026
Merged

Add UI starter package/theme resolution engine#13
einari merged 3 commits into
mainfrom
feature/ui-starters

Conversation

@einari

@einari einari commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Added

einari added 3 commits August 15, 2026 10:39
A packaged, versioned UI starting point: a package list, the themes it
ships as compatible choices, and a gallery of sample screens - the data
shape #6's starters and Studio's new-project scaffolding
build on. Mirrored in both Cratis.Scene.Model and @cratis/scene.model,
with the shared shape manifest updated to keep them in parity.
StarterProfileBuilder builds the sandboxed UiProfile a UiStarter's
gallery boots through, scoped to exactly the starter's own package
list, so Studio can run the gallery as a real working mini-app rather
than a simulated preview.

StarterThemeValidation reuses ThemeCompatibility to find which of a
starter's declared themes are actually incompatible with its own
packages - a starter is versioned per package combination, so this is
the same compatibility gap the theme engine already surfaces for a
UiProfile.

Both are asserted against a shared ui-starter-fixtures.json corpus so
the upcoming TypeScript twin cannot drift from this implementation.
TypeScript twin of the C# starter engine: buildStarterProfile mirrors
StarterProfileBuilder, incompatibleStarterThemes mirrors
StarterThemeValidation. Both are asserted against the same shared
ui-starter-fixtures.json corpus as the C# implementation.
@einari einari added screen Screen/UI work: Screenplay UI constructs, Scene runtime, Stage rendering, Studio designers minor labels Aug 15, 2026
@einari
einari merged commit a580581 into main Aug 15, 2026
5 of 6 checks passed
@einari
einari deleted the feature/ui-starters branch August 15, 2026 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

minor screen Screen/UI work: Screenplay UI constructs, Scene runtime, Stage rendering, Studio designers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant