Context
Depends on Screenplay's ui profile and theme constructs, and Scene's
package/theme resolution and compatibility engines.
Proposal
- Profile editor: platform selection, size-class target, and an ordered,
drag-reorderable package list (order = override priority, matching the
language semantics directly — reordering in the UI is reordering the
packages list).
- Component name collision surfacing: when two active packages define the
same component name, show which one currently wins (by priority) and
flag it, rather than only warning at build time.
- Theme picker filtered by the active profile's package list — only
themes declared compatible with all (or a sufficient subset of) the
profile's packages appear as selectable, reusing the exact compiler
compatibility check as the filter logic rather than duplicating it.
- Component picker (wherever a widget is inserted into a screen) should
show which package a given component resolves from, and offer
qualification (Internal.Widgets.TrendChart) when a bare name would be
ambiguous.
Open questions
- None currently blocking — depends on Scene's package resolution engine
and theme engine shipping first.
Dependencies
Depends on
Refines #80 — the original "UI Profile setup" request. This issue is the concrete design for it; #80 can close once this ships.
Part of the screen work — build order and full dependency map: Cratis/Scene#7
Context
Depends on Screenplay's
ui profileandthemeconstructs, and Scene'spackage/theme resolution and compatibility engines.
Proposal
drag-reorderable package list (order = override priority, matching the
language semantics directly — reordering in the UI is reordering the
packageslist).same component name, show which one currently wins (by priority) and
flag it, rather than only warning at build time.
themes declared
compatible withall (or a sufficient subset of) theprofile's packages appear as selectable, reusing the exact compiler
compatibility check as the filter logic rather than duplicating it.
show which package a given component resolves from, and offer
qualification (
Internal.Widgets.TrendChart) when a bare name would beambiguous.
Open questions
and theme engine shipping first.
Dependencies
Depends on
ui profilepackage resolution engine Scene#3 — package resolution; the collision surfacing and component picker read from itui profile— platform/size targeting and component packages Screenplay#94 —ui profileconstructtheme, with declared package compatibility Screenplay#96 —themeconstructRefines #80 — the original "UI Profile setup" request. This issue is the concrete design for it; #80 can close once this ships.
Part of the screen work — build order and full dependency map: Cratis/Scene#7