Skip to content

feat(#310): show the measured rate and step time beside the set speed - #315

Merged
octalide merged 1 commit into
devfrom
feat/310
Oct 4, 2026
Merged

octalide merged 1 commit into
devfrom
feat/310

Conversation

@octalide

@octalide octalide commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Closes #310

Plan

  • cellar.pace: a Rate measured from the shown generation against the clock, in windows of at least 0.25 s that hold a generation, each moving the reading halfway. A pause, a reset (generation going back) or a full world drops it, so no stale number is shown. A HashLife step moves the generation by 2^k, so the same measure reads in generations a second there too. A run that completes nothing for 4 s drops the reading.
  • Step time: sim.step_ns, shown through world.Shown. On the GPU it is the timestamp-measured slot cost (smoothed in gpu already) times the slots a generation steps (gpu.step_ns). On the chunk engine and HashLife it is the host step's wall time, smoothed by an eighth, cleared on play/pause. A GPU with no timestamps has no step time unless uncapped, where the interval between generations is the step's wall time (pace.step_for); capped it shows a dash since the interval would only echo the set speed.
  • Top readout: speed 41 of 60/s, or speed 41/s max uncapped, - of 60/s while paused. Chosen because it reuses the existing field and reads measured against set at a glance. HashLife keeps its x2^k suffix.
  • Stats panel: rate (gen/s) and step rows beside speed, a dash while paused.

Decisions the issue did not settle: the window and smoothing constants, the dash while paused, and the GPU-without-timestamps fallback above.

Ran: full mach test . under a private kwin (passes), release build, mach fmt --check .. Captures of both readouts (paused, chunk GPU, CPU, HashLife) are in the worktree's caps/. An uncapped capture could not be taken without key injection.

@octalide
octalide marked this pull request as ready for review October 4, 2026 04:04
@octalide
octalide merged commit c6a0c26 into dev Oct 4, 2026
2 checks passed
@octalide
octalide deleted the feat/310 branch October 4, 2026 04:14
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.

feat: show the measured rate and step time beside the set speed

1 participant