Skip to content

feat(rollupdice): include the rollup dice software - #48

Merged
richardlt merged 1 commit into
masterfrom
feat/rollup-dice-software
Aug 22, 2026
Merged

richardlt merged 1 commit into
masterfrom
feat/rollup-dice-software

Conversation

@richardlt

Copy link
Copy Markdown
Owner

Rollup dice was a separate repository built against the SDK as it was then: dep for its dependencies, urfave/cli.v1, and the protobuf messages passed by value. It no longer built against matrix, and the README pointed at it rather than shipping it.

The logic is unchanged, and so are the logo and the pip font, so the dice look the same on the panel: two faces, pips drawn through the caracter driver, and a reroll on the A button. Three things differ from the original:

  • the faces are placed from a faceSize constant rather than from hardcoded coordinates, so both of them and their pips share the same arithmetic
  • the engine draws from the global math/rand source rather than one seeded from time.Now(). The board has no RTC, so a clock-seeded generator would deal the same sequence at every boot; the runtime seeds the global source whatever the clock says
  • it rerolls on the A release only, where before it re-rendered on every button event, including the ones it ignores

Being in-tree, it travels with the releases: it is in the default component list of the .deb, of the Alpine card script and of the tarball, so it is on the console without a second binary to install.

ArgsUsage is the list printed when a component name is rejected, and it was missing getout, animate and light. All four names are added, not just the new one, so the error stops calling a valid component invalid.

Rollup dice was a separate repository built against the SDK as it was then:
dep for its dependencies, urfave/cli.v1, and the protobuf messages passed by
value. It no longer built against matrix, and the README pointed at it rather
than shipping it.

The logic is unchanged, and so are the logo and the pip font, so the dice look
the same on the panel: two faces, pips drawn through the caracter driver, and a
reroll on the A button. Three things differ from the original:

- the faces are placed from a faceSize constant rather than from hardcoded
  coordinates, so both of them and their pips share the same arithmetic
- the engine draws from the global math/rand source rather than one seeded from
  time.Now(). The board has no RTC, so a clock-seeded generator would deal the
  same sequence at every boot; the runtime seeds the global source whatever the
  clock says
- it rerolls on the A release only, where before it re-rendered on every button
  event, including the ones it ignores

Being in-tree, it travels with the releases: it is in the default component list
of the .deb, of the Alpine card script and of the tarball, so it is on the
console without a second binary to install.

ArgsUsage is the list printed when a component name is rejected, and it was
missing getout, animate and light. All four names are added, not just the new
one, so the error stops calling a valid component invalid.
@richardlt
richardlt merged commit 750d01e into master Aug 22, 2026
4 checks passed
@richardlt
richardlt deleted the feat/rollup-dice-software branch August 22, 2026 11:06
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