Repository navigation
feat(playback): speed tiers, a full Step, and the phone's Playback speed with 12 pairs a step (v0.24.0) - #343
Merged
Merged
Conversation
…eed with 12 pairs a step (v0.24.0) Part of #330, the third of its three playback pull requests. - Three tiers read once when a step starts: at 400 ms or slower the token and its +N badge travel; 200-399 ms the token travels and +N shows on arrival; below 200 ms the moved path flashes, then the token appears at the end with +N. - Step always draws the full tier. - The phone: More > Playback speed (Slow 1 s, Normal 0.6 s, Fast 0.3 s, Very fast 0.12 s), and a phone profile fixed at step start: the first 12 of the desktop's 24 pairs, no departure ring; Gate paths, arrival cues, Pool pulses and Converter marks kept. Reduced motion and L0 unchanged. - Presentation only: engine, RNG, files, share links, digests and simulation results unchanged. - A current limit, recorded in docs/simulation-playback.md: about 300 simultaneous moves draw at 70-200 ms a frame, before this change as after it. - Three phone departure baselines replaced (no departure ring on the phone).
Deploying cozy-loop-studio with
|
| Latest commit: |
4e17549
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://946c69eb.cozy-loop-studio.pages.dev |
| Branch Preview URL: | https://feat-play-speed-tiers.cozy-loop-studio.pages.dev |
3 tasks
7 tasks done
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.
Summary
Part of #330: the last of its three playback pull requests (v0.24.0). Playback speed now decides how much a step draws, Step always draws the full movement, and the phone gets a Playback speed choice and fewer moving markers. A presentation layer only: the engine, the RNG, files, share links, digests and simulation results are unchanged, and the speed is still not saved.
What changes
src/store/playbackTier.ts). Full, 400 ms a step or slower: the token travels with its+Nbeside it, as in v0.22.0. Fast, 200–399 ms: the token travels and+Nshows from the arrive beat. Very fast, below 200 ms: the moved path flashes (pb-path--flash) from its onset to the arrive beat, then the token appears at the end with+N. Changing the speed during a step changes its pace, not what it draws; the next step takes the new tier.+N; Pool pulses and Converter marks stay. A rotation or resize mid-step makes nothing in that step appear or disappear. Under reduced motion the phone uses the desktop profile, so its static form is unchanged.Current limit
A step with about 300 simultaneous moves draws at roughly 70–200 ms a frame on a desktop development build, on main as on this branch; hiding the pulse or the cues does not change it. Recorded in
docs/simulation-playback.md§PB6.1, not optimised here.Contract changes
docs/simulation-playback.md§PB6.1: the tier table and its rules, the display profile (phone 12, no departure ring, fixed per step, reduced motion uses the desktop profile, the L0 pulse within the budget), and the current limit.docs/mobile.md§MV4: the Playback speed sheet and the fewer moving elements; MV-D7 updated.docs/visual-language.md§VL9: the tiers.Tests
e2e/playback-speed-tiers.spec.ts, 9 tests: the full, fast and very fast tiers with the tier read once per step; Step at full tier at 120 ms; the phone profile (the first 12 of the desktop pairs, no.pb-cue--depart, the 18 moves past 12 with their path and arrival cue); the profile fixed across a mid-step resize; the phone speed sheet; reduced motion within 24 on the phone; the tiers are a view only (values at 120 ms equal the same steps advanced without cues).src/store/playbackTier.test.ts: the 400 / 200 ms boundaries, the phone speeds' tiers, the 12 and 24 caps.e2e/mobile.spec.ts: the secondary-label contrast walk counts the new More row (15) and its submenu marker list addsPlayback speed; titles unchanged.Baselines
Three replaced, approved after an off (main
1a1ce1b) / on (this branch) capture of all 76, each side captured twice to separate noise, compared on every channel:playback-visualplay-depart-light-L2-mobile,play-depart-dark-L2-mobileandplay-depart-forced-colors-L2-mobile(no departure ring on the phone; 85, 109 and 85 px, of which 0, 19 and 3 px are ±1–2 per channel anti-aliasing beside the removed ring layer, the same in every capture). The desktopplay-depart-*-chromiumbaselines are unchanged. Four that differed between captures of the same side are noise and were left as they are (ko-desktop-app-chromium,ko-long-label-and-tip-chromium,frame-colours-chromium,state-inspector-light-chromium). The other 73 are byte-identical.Checks run locally
npx tsc -b, unit tests 3,289 passed, every sourcecheck:*, oxlint at its 39-warning baseline.Release
v0.24.0:
package.json, the release-note entry (three lines in 18 languages, 16 without native review; the Portuguese lines are identical in pt-BR and pt-PT), nine phone strings,.changes/playback-speed-tiers.json,CHANGELOG.md,README.md. The release date is set to the Seoul day of the merge right before it.