Skip to content

Clock idle landing snow from the landing's own timer - #788

Merged
TheGreatAxios merged 8 commits into
mainfrom
cl-5737-landing-snow-is-never-drawn-decide-what-clocks-a-pre-session
Sep 5, 2026
Merged

Clock idle landing snow from the landing's own timer#788
TheGreatAxios merged 8 commits into
mainfrom
cl-5737-landing-snow-is-never-drawn-decide-what-clocks-a-pre-session

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

  • The idle landing owns a 33ms setInterval for mark snow; the renderer still stops on session idle.
  • Reduced-motion keeps the mountain still and never starts that timer.
  • Tests pin the mount path: snow glyphs move while the silhouette stays put, the timer stops on teardown and first stream row, and reduced-motion never draws snow.

The landing is idle by definition, so a session-idle frame stop cannot paint snow. The landing's own timer is the frame source for that surface only.

Verification

  • bun run typecheck exits 0
  • bun run build exits 0
  • bun test ./src/tui/landing.test.ts ./src/tui/mark-anim.test.ts ./src/tui/render-loop.test.ts — 45 pass, 0 fail
  • bun run check fails 4 overlay-body tests because this worktree path contains session (pre-session in the branch name); those tests do not exercise this diff. CI cwd is the repo root.

Fixes CL-5737

The monitor stays quiet when idle, which is correct for turn chrome.
The landing is idle by definition and still wants motion, so it owns a
mount-scoped timer for its lifetime. Driving the mark from the renderer
FRAME event was rejected because FRAME follows dirty rows and
self-starves under throttle.
Paint-function tests stayed green while snow was unreachable. These
assert the real mount timer, its teardown, and the reduced-motion hook.
@linear-code

linear-code Bot commented Sep 4, 2026

Copy link
Copy Markdown

CL-5737

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review · Approve

Idle landing snow is clocked by the landing's own 33ms timer, scoped to mount and teardown, and reduced-motion never starts it.

No findings.

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critic · Comment

The two-commit branch matches the brief. TUI.md records the landing as the pre-session frame owner. Tests pin reduced-motion, mount-path snow motion, and timer teardown.

No findings.

@TheGreatAxios
TheGreatAxios merged commit b2ea962 into main Sep 5, 2026
5 checks 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