Skip to content

design: Constellation phase C - micro-moments#66

Merged
knzeng-e merged 1 commit into
design/constellation-phase-bfrom
design/constellation-phase-c
Jul 5, 2026
Merged

design: Constellation phase C - micro-moments#66
knzeng-e merged 1 commit into
design/constellation-phase-bfrom
design/constellation-phase-c

Conversation

@knzeng-e

@knzeng-e knzeng-e commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Constellation phase C: micro-moments

Third and final prototyped phase of the Constellation design track (ticket 19,
spec in docs/design/dotify-constellation-ux.md). Stacked on
design/constellation-phase-b (#65); merge the stack bottom-up (#64 -> #65 ->
this).

The four micro-moments

All triggers key off real state, never status-string matching:

  1. Dot birth (components/DotBirth.tsx): the single loading vocabulary.
    Scattered particles converge into a lit sphere; three sizes (inline, panel,
    full); colors ride the ambient aura variables. Wired to the catalog's
    genuine loading state in ListenView ('Loading registry catalog' is the
    one canonical in-flight value); terminal states (empty registry, failures)
    stay plain text so the loader never lies.
  2. Unlock ritual (PlayerView): when the selected track's real access
    flips from needed to granted (access-map transition tracked per track id),
    a ring of aura light travels the cover once. Paying an artist is the
    product's most important moment; it gets the most care.
  3. Reaction petals: the room reaction emojis now rise inside aura-tinted
    petals. CSS-only change to .room-reaction; markup untouched.
  4. Into orbit (ArtistConsole + ReleasesTab): when a new release id
    appears in the artist's on-chain catalog while the console is open
    (structural id diff; the first observation only seeds the known set, so
    nothing animates on mount), its card plays a one-shot arrival glow.

Reduced motion

Static dignity everywhere: particles hidden with a static glowing core,
near-instant ritual, fade-only reactions, no arrival motion.

Footprint

No new dependencies, no WebGL, CSS + a few dozen lines of trigger logic. The
Bulletin single-file build is unaffected.

Verification

tsc clean, lint 0 errors (3 pre-existing warnings), build, fmt:check, 72 unit
tests, 10/10 Playwright e2e. Visually verified: mid-flight screenshot of the
unlock ritual (aura ring crossing the cover) captured on the seeded
classic-unlock flow.

Track status

With this PR the Constellation track has phases A (The Stage), B (The Sky of
rooms), and C (micro-moments) prototyped. Remaining ideas from the direction
doc (theater lamp narrowing at the preview cutoff, studio central-dot
satellites, ambassador filaments) stay deferred until their real data or a
dedicated pass justifies them.

🤖 Generated with Claude Code

Add the four cross-surface micro-moments from the Constellation direction, all
keyed off real state (no status-string matching for triggers):

- Dot birth (components/DotBirth.tsx): the single loading vocabulary.
  Scattered particles converge into a lit sphere, three sizes, colored by the
  ambient aura variables. Wired to the catalog's genuine loading state in
  ListenView; terminal states (empty registry, failures) stay plain text.
- Unlock ritual (PlayerView): when the selected track's real access flips from
  needed to granted (access-map transition tracked per track id), a ring of
  aura light travels the cover once (1.3s). Paying an artist is the product's
  most important moment; it gets the most care.
- Reaction petals: the room reaction emojis now rise inside aura-tinted petals
  (CSS-only change to .room-reaction; markup untouched).
- Into orbit (ArtistConsole + ReleasesTab): when a new release id appears in
  the artist's on-chain catalog while the console is open (structural id diff;
  the first observation only seeds the known set, so nothing animates on
  mount), its card plays a one-shot arrival glow.

Reduced motion gets static dignity everywhere: particles hidden with a static
core, near-instant ritual, fade-only reactions, no arrival motion. No new
dependencies, no WebGL.

Verified: tsc clean, lint 0 errors, build, fmt:check, 72 unit tests, 10/10
Playwright e2e, plus a mid-flight screenshot of the unlock ritual (ring
crossing the cover) on the seeded classic-unlock flow.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@knzeng-e
knzeng-e merged commit 84aa0fa into design/constellation-phase-b Jul 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant