Song select: the decided genre board stays up while its songs load #22

Merged
Yonokid merged 4 commits from GanYiZhong/YataiDONNijiiro:folder-open-leg into main 2026-09-10 19:32:36 +02:00
Collaborator

Opening a folder on this engine differs from the cabinet in one way that matters for the animation: the cabinet swaps the content 69 frames into the decide leg, this engine swaps when its loader is done, which can take a couple of seconds for a big folder. The leg clock parked one frame short of the swap (f113) -- decided board already furled away, neighbours flown out -- so the screen sat empty for the whole load; and right after the press the engine re-grows the decided box's yellow frame, which made the board close and reopen.

  • The open leg now parks one frame short of the furl (f99): the decided board stays up, contents faded per the clip, as the loading state. On the swap the clock resumes from the furl, so furl (f100..113) and the new board's unfurl (f114..) play back to back. A swap that lands before the park point just lets the clock run.
  • The neighbours' fly-out (f86..99) plays before the swap as on the cabinet; it used to wait for the swap and then jump straight to the off-screen hold.
  • The decided board is remembered at OPEN_BEGIN and drawn fully open for the whole leg, past the engine's closed re-grow and past the moment the engine takes the box off the wheel for the loader (draw_overlays bridges it from the still-live box handle until it has furled).
  • The new content's song / back board is not drawn before the swap frame.

Verified with captures: press -> board stays open -> neighbours fly out -> contents fade to the slab -> (load) -> furl -> back board unfurls -> neighbours fly back in.

Not covered: the boxes below the decided one are moved off screen by the engine at once, so their fly-out cannot be drawn from the skin.

🤖 Generated with Claude Code

Opening a folder on this engine differs from the cabinet in one way that matters for the animation: the cabinet swaps the content 69 frames into the decide leg, this engine swaps when its loader is done, which can take a couple of seconds for a big folder. The leg clock parked one frame short of the swap (f113) -- decided board already furled away, neighbours flown out -- so the screen sat empty for the whole load; and right after the press the engine re-grows the decided box's yellow frame, which made the board close and reopen. - The open leg now parks one frame short of the **furl** (f99): the decided board stays up, contents faded per the clip, as the loading state. On the swap the clock resumes from the furl, so furl (f100..113) and the new board's unfurl (f114..) play back to back. A swap that lands before the park point just lets the clock run. - The neighbours' fly-out (f86..99) plays before the swap as on the cabinet; it used to wait for the swap and then jump straight to the off-screen hold. - The decided board is remembered at `OPEN_BEGIN` and drawn fully open for the whole leg, past the engine's closed re-grow and past the moment the engine takes the box off the wheel for the loader (`draw_overlays` bridges it from the still-live box handle until it has furled). - The new content's song / back board is not drawn before the swap frame. Verified with captures: press -> board stays open -> neighbours fly out -> contents fade to the slab -> (load) -> furl -> back board unfurls -> neighbours fly back in. Not covered: the boxes *below* the decided one are moved off screen by the engine at once, so their fly-out cannot be drawn from the skin. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
GanYiZhong added 1 commit 2026-09-10 01:26:18 +02:00
Opening a folder on this engine differs from the cabinet in one way that
matters for the animation: the cabinet swaps the content 69 frames into the
decide leg, this engine swaps when its loader is done, which can be a couple
of seconds for a big folder.  The leg clock parked one frame short of the swap
(f113), i.e. with the decided board already furled away and the neighbours
flown out, so the screen sat empty for the whole load -- and before that the
engine re-grows the decided box's yellow frame, which made the board close
and reopen right after the press.

- The open leg now parks one frame short of the furl (f99): the decided board
  stays up, contents faded per the clip, as the loading state.  On the swap the
  clock resumes from the furl, so furl (f100..113) and the new board's unfurl
  (f114..) play back to back; a swap that lands before the park point just lets
  the clock run.
- The neighbours' fly-out (f86..99) plays before the swap as on the cabinet;
  it used to wait for the swap and then jump straight to the off-screen hold.
- The decided board is remembered at OPEN_BEGIN and drawn fully open for the
  whole leg, past the engine's closed re-grow and past the moment the engine
  takes the box off the wheel for the loader (draw_overlays bridges it from the
  still-live box handle until it has furled).
- The new content's song / back board is not drawn before the swap frame.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GanYiZhong added 1 commit 2026-09-10 12:35:55 +02:00
Closing a folder (もどる) had no wheel motion at all: the fly table only
covered the open leg (clip f27..150), fly_offset only ran for kind "open", and
the engine's 166 ms fade took the song boxes and the back board out right
after the press -- the cabinet keeps them solid until they fly out (f184..204)
and the board furls (f205..217).

- anim/wheel_decide now spans f27..255 (open leg + `return` leg, straight from
  the cabinet clip); fly_offset plays the return half on the close leg: song
  boxes fly out, wait off screen across the swap (f219) and the genre boxes
  fly back in f234..254.  f255 re-bases the clip, so the leg stops before it.
- The engine's box fade is ignored during the pre-swap half of the close leg
  (box_fade); the clip channels already drive the back board's title fade and
  furl.

Verified with captures: press -> boxes stay -> contents fade / boxes fly out ->
back board furls -> genre board unfurls -> contents return -> boxes fly in.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Author
Collaborator

Second commit: the close leg (もどる). It had no wheel motion at all: the fly table only covered the open leg, fly_offset only ran for the open kind, and the engine's 166 ms fade took the song boxes and the back board out right after the press. anim/wheel_decide now spans f27..255 (both legs, from the cabinet clip), fly_offset plays the return half on the close leg, and the engine fade is ignored before the swap (the clip channels drive the back board's title fade and furl). Verified with captures: boxes stay -> contents fade / fly out -> back board furls -> genre board unfurls -> contents return -> boxes fly in.

Also: the engine PR Yonokid/YataiDON#165 lets the boxes below the decided folder stay for their fly-out on the open leg.

Second commit: the **close** leg (もどる). It had no wheel motion at all: the fly table only covered the open leg, `fly_offset` only ran for the open kind, and the engine's 166 ms fade took the song boxes and the back board out right after the press. `anim/wheel_decide` now spans f27..255 (both legs, from the cabinet clip), `fly_offset` plays the return half on the close leg, and the engine fade is ignored before the swap (the clip channels drive the back board's title fade and furl). Verified with captures: boxes stay -> contents fade / fly out -> back board furls -> genre board unfurls -> contents return -> boxes fly in. Also: the engine PR Yonokid/YataiDON#165 lets the boxes below the decided folder stay for their fly-out on the open leg.
GanYiZhong added 1 commit 2026-09-10 18:37:38 +02:00
Squashing the 960-wide board texture to a few px averaged the outline away and,
because the GPU picks the mip level from the larger axis, blurred every row too;
the cabinet scales a vector shape and stays sharp.  draw_board now builds a
furled board from columns: both rounded corners at 1:1 and the band / panel /
band between them scaled in proportion, each drawn from an 8 px flat slice of
itself and magnified.  Narrower than both corners it becomes a solid bar with
the outline columns on either side and the flat centre between them (squeezed
corners left two hollow strokes with nothing between).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Yonokid added 1 commit 2026-09-10 19:32:20 +02:00
Yonokid merged commit 7c642d68ed into main 2026-09-10 19:32:36 +02:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Yonokid/YataiDONNijiiro#22