Repository navigation
Animate between-page handoffs with slide, rise, and zoom - #181
Merged
Merged
Conversation
Slide now carries the previous board off to the left and brings the next page's first node in from the right. Rise drops the old board and settles the next node under the title. Zoom shrinks the board away and scales the next node up. Later boxes stay paced, and transition time is still clamped so the clock cannot skip the next word. Co-authored-by: John Menke <jmjava@gmail.com>
mutmut 3.8.0 reads pytest's private Function._nodeid, which pytest 9 removed, so stats collection dies before any mutant runs. Co-authored-by: John Menke <jmjava@gmail.com>
scene_spec.py is in the top change-frequency set, so touching it fails CI once any function exceeds CCN 10 or 80 lines. The page-transition work stays the same; the long functions are now smaller pieces. Co-authored-by: John Menke <jmjava@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Between pages, the previous board now leaves with a real motion and the next page's first node comes in to meet it. Later boxes stay paced to the narration, and the transition duration is still clamped so the clock cannot skip the next spoken word.
layout.page_transition(or a per-pagetransition) accepts:fade— dissolve. Still the default.slide— the board travels left, and the next node enters from the right. The old slide was a 0.35-unit nudge.rise— the board drops away, and the next node settles down from just under the title.zoom— the board shrinks out, and the next node scales up.none— instant remove.An explicit box
revealon that first incoming node still wins.scene-spec-generateis steered to pick slide, rise, or zoom when the page turn is a continuation, a deeper step, or a focus change.Existing bundles pick this up on the next
scene-compile.docgen benchmarkstill meetsbaseline.json.CI
Two checks failed for reasons beside the handoff motion.
scene_spec.pyis in the top change-frequency set, so any edit fails once a function is over CCN 10 or 80 lines. The page-transition compile touched that file while those functions were already over the limit. They are split into smaller helpers. The compiled motion is the same.Function._nodeid. Pytest 9 removed it, so stats collection died before any mutant ran. The job now pins mutmut 3.8.1, which uses publicnodeid. Local run: 11 killed, 0 survived.Handoff frames
Slide: the board leaves left, then the next node travels in from the right.
Slide exit, board moving left
Slide entrance, next node arriving from the right
Rise: the board drops, then the next node settles under the title.
Rise exit, board dropping
Rise entrance, next node under the title
Zoom: the board shrinks, then the next node scales up.
Zoom exit, board shrinking
Zoom entrance, next node scaling up
SlideHandoff-handoff.mp4
To show artifacts inline, enable in settings.