Phase 2 boundary
This lab evolves the Phase 1 component system into music-business particles. Everything is mocked: no playback, backend, auth, Supabase, registry database, or plugin runtime.
SEIHOUSE UI
/lab/raw · Phase 4 behavior hardening lab
Phase 2 keeps everything mocked and visual-only while making the lab feel closer to real product surfaces.
This lab evolves the Phase 1 component system into music-business particles. Everything is mocked: no playback, backend, auth, Supabase, registry database, or plugin runtime.
Phase 2 adds reusable blocks for albums, artists, vault fragments, Dojo modules, registry states, player shells, plugins, metrics, and actions — all visual-only and mock-driven.
Each particle accepts className, composes Phase 1 primitives, and exposes local variants only where the particle needs product-specific styling.
Mock content covers release worlds, creators, registry panels, vault recovery, learning modules, and internal dashboard summaries.
Audio playback, auth, APIs, registry databases, plugin execution, and final brand-system decisions remain out of scope.
Buttons, badges, panels, cards, and sections continue to provide the reusable foundation for every Phase 2 particle.
A reusable card for showing routes, tools, or projects without binding to app logic.
Flexible layout for creator pages, album worlds, or collection previews.
A test surface for overlays, future player docks, and ambient panels.
These components are reusable product-style particles, not app workflows. They use realistic fake data and stay flexible across style lanes.
Phase 3 adds the first headless behavior libraries. Base UI and React Aria provide focus management, keyboard navigation, and ARIA wiring; SEIHouse keeps full visual control through Tailwind variants. Everything below is mocked — no audio, backend, auth, or registry runtime.
Accessible modal dialog: focus trap, Escape to close, click-outside, and focus return to the trigger. Used for confirm actions and rich detail views like opening an AlbumCard.
Side / bottom panel for queues, vault details, and creator tools. Built on the Base UI Dialog primitive so SEIHouse fully controls side, size, and slide direction.
Keyboard-navigable tabs (arrow keys, Home/End) shown inside a registry-style panel. Active/disabled states and the underline indicator are SEI-styled.
pill
panel
default
Floating content anchored to a trigger (flip / shift positioning). Here a RegistrySeal explains its state on click — the seal itself is the trigger.
Helper text on hover and keyboard focus, with a shared open delay. Here an info control on a MetricCard explains the metric.
Plays
128.4K
Searchable, keyboard-navigable combobox with an accessible label and empty state. Mock data for artist search and vault tags.
Command-palette preview: type to filter grouped commands (Albums, Vault, Registry, Dojo, Creator Tools) with full keyboard navigation. Nothing executes.
Phase 4 hardens the behavior layer for real apps: a swipe/snap drawer (vaul), a multi-select metadata combobox, a ⌘K command palette with fuzzy search and recent commands, Playwright + axe tests, a reduced-motion strategy, and shared variants promoted into styles/variants.ts. Still mocked — no audio, backend, auth, or registry runtime.
vaul adds drag-to-dismiss and snap points on top of an accessible Radix Dialog (focus trap, Escape, focus return). Bottom drawers get a drag handle and snap points; side drawers slide in. Styling stays in SEIHouse variants.
Searchable tagging input with removable chips, keyboard navigation, disabled options, clear-all, helper/error text, and an empty state. React Aria provides combobox + tag-group semantics.
Mock vault tags — one option is disabled.
Pick one or more genres.
At least one label is required (mock validation).
Categorize a Dojo module.
A modal command palette opened with ⌘K / Ctrl K. Base UI Dialog handles modal a11y; React Aria handles grouped keyboard navigation; a tiny dependency-free fuzzy matcher powers search with match highlighting.
Fuzzy search (try ovf → “Open Vault Fragments”), grouped arrow-key navigation, and a recent-commands section.
Playwright + axe guard keyboard and ARIA behavior so the lab does not silently regress.
Specs live in test/accessibility/:
npx playwright installpnpm test:a11ypnpm test:e2eMotion is optional. The lab honours prefers-reduced-motion by shortening transitions rather than removing UI feedback.
Stable behavior styles now live in packages/seihouse-ui/src/styles/variants.ts and are reused across components: overlay scrim, popup surfaces, interactive item states, and command group headers.
seiOverlayVariantsseiPopupSurfaceVariantsseiInteractiveItemVariantsseiCommandGroupHeaderThese particles preview higher-order product surfaces without adding runtime behavior.
Use these particles to test workflows before adding data models, auth, or service integrations.
Optional preview slot for album worlds, dashboard summaries, registry states, or creator-tool mockups.
RegistryPanel composes SEIPanel, RegistrySeal, badges, and buttons as a reusable product particle. No registry service or database is included.
MetricCard and ActionStrip support quick dashboard summaries, creator operations, and responsive action rows.
Reusable responsive action row composed entirely from SEIButton.
Clean, soft, dark, light, media, and glass lanes expose a flexible palette for future testing across primitives and Phase 2 particles.
Neutral lab surface for general product UI.
Low-pressure blue tint for calm navigation and onboarding.
Dense studio surface for media, dashboards, and focused tools.
High-contrast neutral lane to test non-dark contexts.
Music-forward gradients for cards, players, and campaign surfaces.
Frosted overlay experiments inspired by player shells and panels.
Showcase test single
Mara Vale
SENSEIDUKES · lab preview
A five-track release world for testing album cards, registry seals, campaign notes, and creator-facing actions.
A compilation-style mock release used to preview discovery surfaces and internal catalog utilities.
Single-lane release preview with flexible metadata for landing pages, artist profiles, and dashboard rows.
Artist · Producer · Systems lead
Building release worlds, creator tools, and a flexible music-business interface language for SEIHouse.
Vocalist · Writer
Pop and electronic topliner used in the lab to test artist cards, profile variants, and showcase flows.
Collective · Session archive
Recovered from March writing sprint before hook selection.
Internal mix note for comparing master direction. No playback behavior attached.
Planning fragment for future creator dashboard and registry education modules.
A guided UI lesson mock for collecting release metadata, contributors, and verification notes.
Template-style module for assembling rollout assets, showcase entries, and action strips.
Internal training module for tagging fragments, archive states, and recovery workflows.
EP rollout shell
SENSEIDUKES
Future plugin slot
Visual placeholder for future song asset package controls and metadata surfaces.
Future plugin slot
A non-playing slot for future radio, queue, and fragment programming concepts.
Future plugin slot
Mock controls for ambience, context, and adaptive player environments.
Future plugin slot
Placeholder area for future verification visuals without registry logic.
Future plugin slot
Future slot for rollout tasks, split reminders, templates, and internal actions.
Mock checksum and contributor line confirmed for lab display.
Registered in mock registry lane; pending showcase QA.
Experimental contributor map for future registry concepts.
Plays
128.4K
Mock cross-platform pulse
Saves
18.7K
Campaign interest indicator
Registered Works
42
Visual registry count only
Vault Items
316
Fragments, notes, and archives
Active Modules
9
Dojo learning tracks
Completion
68%
Release package readiness