3.6 KiB
3.6 KiB
platform-web-theme-accessories Specification
ADDED Requirements
Requirement: Theme frame accessories
Shared platform web framed surfaces SHALL render theme-specific ornamental accessories.
Scenario: Black mecha theme is active
- WHEN the active palette is
mecha-black - THEN shared framed surfaces include mecha accessory motifs such as spacecraft, robot hardware, radar, planet, or cockpit details
- AND the motifs are provided through shared theme variables rather than page-local decorative DOM
Scenario: Magical-girl theme is active
- WHEN the active palette is
magical-girl - THEN shared framed surfaces include magical accessory motifs such as hearts, stars, magic wands, ribbons, or magic circles
- AND the motifs are provided through shared theme variables rather than page-local decorative DOM
- AND repeated sibling items rotate through distinct motifs instead of repeating one identical accessory
- AND each framed item uses one compact edge badge rather than multiple oversized illustrations
Requirement: Navigation active frame accessories
Active sidebar navigation entries SHALL inherit the active theme's frame accessory language.
Scenario: User changes theme while a route is active
- WHEN a sidebar route is active
- AND the user switches between first-party themes
- THEN the active sidebar frame changes accessory motifs to match the selected theme
- AND route order and labels remain unchanged
Requirement: Live theme isolation
Theme switching SHALL replace the complete active palette without retaining visual variables or shell labels from the previous palette.
Scenario: User switches from magical-girl to black mecha
- WHEN the active palette is
magical-girl - AND the user selects
mecha-black - THEN the root theme marker, shared surface materials, sidebar subtitle, and palette strip update to black mecha immediately
- AND magical-girl accessory variables from the previous palette do not remain active on mecha surfaces
Requirement: Single frame ownership
An operational content region SHALL render at most one ornamental frame at each visual hierarchy level.
Scenario: State view is nested inside a shared framed surface
- WHEN an empty, loading, or error state is rendered inside a
console-panel, card, table wrapper, plugin group, or operation item - THEN the parent surface retains the active theme frame and accessory
- AND the nested state view renders as unframed content without a second border, panel fill, or accessory pseudo-element
Requirement: Uploaded background frame visibility
Uploaded backgrounds SHALL remain visually legible while preserving the selected theme's frame identity.
Scenario: Magical-girl theme uses an uploaded background
- WHEN the active palette is
magical-girl - AND the user has configured an uploaded background
- THEN shared foreground surfaces use translucent neutral-pink crystal glass rather than an opaque maroon color mask
- AND the uploaded image remains recognizable behind the foreground surfaces
- AND compact heart, star, wand, moon, ribbon, crystal, and magic-circle accessories visibly cross the panel border instead of being hidden inside the panel
- AND accessory pseudo-elements do not add a color wash over the configured background
Scenario: Magical-girl theme uses a built-in background
- WHEN the active palette is
magical-girl - AND no uploaded background is configured
- THEN shared framed surfaces retain compact, immediately visible magical accessories that extend beyond their borders without crowding content