Skip to content

ui profile and theme configuration UI #160

Description

@einari

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions