Skip to content

Release v0.5.0

Choose a tag to compare

@github-actions github-actions released this 15 Aug 08:32
75303b4

Added

  • ThemeCompatibility.IncompatiblePackages()/incompatiblePackages() and IsCompatible()/isThemeCompatible() - reuse the exact rule Screenplay's compiler already applies (ValidateThemes): every package a ui profile declares must be in the theme's compatibleWith list, with no implicit exemption for core. Sharing this rule here means Stage's build-time warning and Studio's design-time theme-picker filtering don't each reimplement it. (#5)
  • ThemeCompatibility.ApplicablePackages()/applicableThemePackages() - the renderer-facing half: the packages a profile activates that a theme also declares compatible, which Scene.React scopes token application to (rather than applying a theme's tokens globally). Computing it fresh from the current theme/profile pair, rather than caching a resolved result, is what makes theme switching a live re-resolution with no reload. (#5)
  • A shared JSON fixture corpus (theme-compatibility-fixtures.json) asserted independently by both the C# and TypeScript specs, following the pattern established in #3/#4.

Notes

The theme token model's own shape (colors, spacing, typography) is explicitly out of scope for this issue, confirmed by its own text - this PR only builds the compatibility check and the package-scoping helper a future token-application layer in Scene.React will consume; it does not attempt to design or apply actual tokens.