Show a big roll's tail faster as its dice are read - #373
Merged
Merged
Conversation
On the Pixel 10a 100d4 settles in a median 1.29 s and a p99 3.09 s of simulated time, which at the watched pace of 0.4 is 3.2 s and 7.7 s on the screen, nearly all of the tail a few dice rocking among ninety still ones. For a roll of ten dice or more, RollPace.paceFor now climbs from the watched pace to real speed as the share of unread dice falls from a quarter to a tenth. It only decides when steps are taken, so faces, fairness and goldens are untouched. Smaller rolls keep 0.4 to the end. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merged
drehtuer
added a commit
that referenced
this pull request
Oct 4, 2026
Bumps `version.txt` from 0.1.1 to **0.2.0**, so the `v0.2.0` tag and the APK it builds agree (`release.yml` refuses a tag that disagrees). README and STATUS name the release. **Why 0.2.0:** many new features and no breaking change to saved data. - The face designer's drafts move to format 2, but format 1 is still read and carried across. - An older build cannot open a format-2 draft. That is a downgrade, which semver does not promise. **Checks:** `:app:assembleRelease` passes R8 locally; `markdownLint` and `verifyDocsLinks` are clean. **After merge:** I tag the merge commit `v0.2.0` and push the tag. That runs the full check suite and publishes the signed `dInfinityApp-0.2.0.apk` with its SHA-256. ### What's in it since v0.1.1 - **Rolling** - Only a shake starts a roll. - Waiting dice drop onto the board under real physics, from one spot. - A livelier tumble, watched at a 0.4 pace. - A big roll's tail is shown faster. - The wrist's swing no longer pushes the dice to the top of the tray. - **Stuck and picked dice** - Cocked dice wait for your shake, with an accent prompt over the tray. - Pick a landed die and shake to throw just that one. - **Roll screen** - Controls fold away after a throw. - A double tap clears the table. - The formula field has a ×. - **Startup:** a cold start shows the tray in 0.8 s instead of 9.9 s. - **Face designer** - Clear face. - More than one personal set. - d10/d18 drawings fit their faces. - *Roll it* throws the drawing as it is now. - **Rendering** - Prefiltered reflections. - The tray's corners are fillets, not posts. - Table thumbnails the right way up. - The frame rate on the debug overlay. - **Notation and statistics** - Braced notation for a set's own dice. - Faces named by their label. - The saved-rolls list scrolls while dragging. - **Fixes** - A roll that gives up no longer takes the app with it. - Fudge totals keep their sign. - The SonarQube gate is green again. Based on `main` (#373). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
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.



Owner feedback: 100d4 takes a long time to settle. Of the options offered (faster tail, fewer cocked d4s, chase the rare give-up), the owner chose A, the faster tail.
Measured on the Pixel 10a (
tools/harness.sh -n 200 -c 100 -s d4,mainat #372):At the watched pace of 0.4, that is 3.2 s and 7.7 s to watch. Nearly all of the tail is a few dice rocking among ninety still ones.
Change (decision 88): for a roll of 10 dice or more,
RollPace.paceForclimbs from the watched 0.4 to real speed as the share of unread dice falls:TrayLooppassesunsettled.sizeand the dice count tosecondsFor.Docs:
docs/physics-and-rendering.md, "The simulation clock": replaces the old "one constant, no easing" paragraph.Tests:
RollPaceTest: small rolls unaffected, the quarter and tenth bounds, a monotonic line within [0.4, 1.0], a hand or a long roll still wins.TrayLoopTest: a 100-die roll with 5 still moving is advanced at real time through the real frame path.:simulation:apiand:render:filamentunit tests, ktlint, detekt and the docs checks pass.Judge on the phone: does the end of 100d4 and 40d6 speed up smoothly and feel short enough now, while 1d20 and 5d6 still feel unhurried?
Based on
main(#372).🤖 Generated with Claude Code