design(web): Living Interface - the room replaces the dashboard#71
Conversation
The console design read as a dashboard: 81 hairline-bordered boxes, 4-8px corners, panels declaring their edges. The philosophy says a listening room is a place you inhabit, and infrastructure should disappear behind the human experience. Borders are exposed plumbing. One scoped CSS layer (appended block, cascade-ordered, no !important) makes five gestures: - Light replaces the line: panel borders go transparent; separation comes from tonal layering and from the playing track's aura tinting every major surface (color-mix on --aura-a/b/accent). - Geometry relaxes: radius tokens retuned from console (4-8px) to human (12-22px); gaps and padding open up. - Floating layers become deep glass: topbar dissolves to a scrim, player dock becomes an aura-tinted glass capsule, modals become deep translucent slabs, bottom nav loses its rule line. - Chat becomes a conversation: asymmetric bubbles, self messages aura-tinted and right-aligned; the request queue stays a curated list, host veto quiet until hover/focus (rules dormant until the queue PR merges). - Motion breathes: one easing curve, two tempos (160/420ms), staggered rise on view open, everything off under prefers-reduced-motion. Purely presentational: no markup, behavior, copy, or test changes. Identity (palette, type, aura engine) and the honesty rule are untouched. Rationale in docs/design/dotify-living-interface.md, tracked as ticket 22. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
@claude please review this. Sois critique des choix, designs et UX, je veux la plus fluide, la plus sobre mais la plus belle / stylées des Dapp du monde |
|
Claude finished @knzeng-e's task in 6m 20s —— View job Review: Living Interface
|
Two cascade-order gaps found by tracing specificity, plus the stagger note:
- Mobile modal padding regressed: the block's unconditional
`.modal-card { padding: 1.5rem }` sat after the `@media (max-width: 760px)`
compact-padding rule at equal specificity, so it silently won on the
tightest screens. Gate the roomier padding behind `min-width: 761px`.
- Border-removal coverage was incomplete relative to the global radius
retune: several surfaces consumed the enlarged radius tokens but kept their
hairlines, so de-bordered glass panels sat beside bigger-radius framed
boxes on Home, Rooms, and Player. Extend the treatment to `.metric` /
`.rooms-live-panel` / `.rooms-join-panel` (match their `.doc-panel`
sibling), transparent the edges on the hero and room cards
(`.home-listening-hero`, `.artist-profile-hero`, `.room-live-card`,
`.commons-step`, `.commons-live-join`, `.solo-room-invite`) while keeping
their bespoke aura backgrounds, and drop the simulated 1px inset ring on
`.player-view-grid .cover` while keeping its aura glow.
- Extend the content-grid entrance stagger through rank 5+ so a view reads
as one cascade instead of "first ranks animate, rest snap."
Still pure CSS, cascade-ordered, no !important. Build/lint/test/fmt green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Stacked on #70 (base:
feat/production-preview-assets), per request. Tracked asdocs/backlog/22-living-interface.md; full rationale indocs/design/dotify-living-interface.md.The argument
The console design was disciplined, but it read as a dashboard: 81 hairline-bordered boxes, 4-8px corners, panels declaring their edges. A dashboard is a tool you operate; Dotify's philosophy says a listening room is a place you inhabit. Same argument as the product's Web3 stance: infrastructure (keys, policies, chains) disappears behind the human experience. Borders are the UI equivalent of exposed plumbing.
Five gestures (one scoped CSS layer)
--surface-lit/deep) and from the playing track's aura tinting every major surface (color-mixon--aura-a/b/accent). The room's color IS the structure.cubic-bezier(0.22, 1, 0.36, 1)), two tempos (160ms interaction / 420ms entrance), staggered rise when a view opens, all disabled underprefers-reduced-motion.What deliberately did not change
docs/index.htmlstays aligned, so no Pages update needed.styles.css, cascade-ordered, zero!important.Verification
build(tsc + vite) clean,lint0 errors (3 pre-existing warnings),test:unit75/75,fmt:checkclean.prefers-reduced-motion.npm run dev:listenand walk Home, a room with chat, and a modal. The layer is additive CSS, so reverting is deleting one block.Pre-existing unrelated
contracts/working-tree changes are excluded, as with the previous PRs.