Skip to content

fix(app): phase-lock harmonic dot SMIL + crossfade done-dot transition - #274

Open
jeonghun-jj-lee wants to merge 1 commit into
local/amicodefrom
phase-lock-harmonic-dot
Open

fix(app): phase-lock harmonic dot SMIL + crossfade done-dot transition#274
jeonghun-jj-lee wants to merge 1 commit into
local/amicodefrom
phase-lock-harmonic-dot

Conversation

@jeonghun-jj-lee

Copy link
Copy Markdown
Contributor

Summary

Phase-lock the harmonic dot's SMIL animation to a global modular clock so remounts pick up mid-morph instead of restarting from the ring. Add a 150ms opacity crossfade on the done-dot for a smooth running→done handoff.

Changes

File Change
packages/ui/src/amicode/harmonic-geometry.ts New smilBeginOffset() — computes -(Date.now() % CYCLE_MS)ms
packages/ui/src/amicode/harmonic-dot.tsx Wire begin={begin} into both <animate> elements
packages/app/src/index.css transition: opacity 150ms ease-out on done-dot
packages/ui/src/amicode/harmonic-geometry.test.ts Phase-lock offset correctness tests
packages/app/src/pages/session/timeline/travelling-dot.test.ts Done-dot crossfade regression guard

Testing

  • packages/ui: 488 pass, 0 fail
  • packages/app: 900 pass, 9 fail (pre-existing SolidJS use export issues, unchanged)
  • Typecheck: 30/30 pass

Closes #273

Phase-lock: set SMIL begin to -(Date.now() % CYCLE_MS)ms so every mount
picks up the morph cycle at the globally correct phase instead of
restarting from the ring.

Crossfade: 150ms opacity ease-out on the done-dot so the running→done
handoff reads as continuity, not a hard swap.

Closes #273
@jeonghun-jj-lee
jeonghun-jj-lee marked this pull request as ready for review August 31, 2026 12:45
@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 21ed1c00-db12-43ac-8e46-a46b4a7e7ae6


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

fix(app): phase-lock harmonic dot SMIL + crossfade done-dot transition

1 participant