πŸ•Š FREE-FORM LAB Β· PAGE 5

Two hands. Lionel, playing fast passages (2026-09-05): if the right hand runs a tiny bit ahead of the left, the game reads it as two beats ahead and books the left hand's correct notes as MISSED β€” and the faster the passage, the tighter the sync it demands. Three rules on every page before this one treat the score as ONE ordered stream of presses: the ahead-claim budget (anchored at the last matched note of either hand, so the leading hand is measured from the lagging hand's position and refused), the claim-time sweep (a claim books every pending note older than 20 ms as missed at once) and the aligner's monotone path. Measured on the Ballade run of 2026-09-03: 140 of 275 misses had a press right where he was, 105 of those refused by the budget for a note the aligner had already named. A lets the budget defer to the aligner; B gives the two hands an allowance (budget, sweep, aligner, anchor) β€” one change at a time off the shipped follower. Load a run from the Recorded run tab (stats page β†’ πŸ•Š), or headless: node tools/follow_probe.mjs <song.json> <replay.json> hands-none,hands-trust,hands-allow.
← back to the game

Piece

loading catalog…

Player

Algorithm the game uses

Takes effect on the next run you start in the game (Free Play β†’ free-form toggle). The in-game πŸ•Š tempo pill names a non-default pick and shows πŸ”¦ while the distressed layer is in charge.

How to read this

  1. Pick a player on the left. A player is a recording of someone playing β€” either one of your real runs (Recorded run tab; send one here with the πŸ•Š button next to a replay on the game's stats page) or a made-up one (Synthetic: "Steady" plays cleanly, "Fumble & carry on" does what you did at bar 20 of Feux Follets, "Breakdown + restart" flubs and restarts a bar back, etc.).
  2. β–Ά Run all 10. The same playing is fed to ten different clock-following algorithms, using the real game engine.
  3. Read the sentence in the "What it did" column β€” βœ… it kept up with the player, ⚠️ small trouble, ❌ it ran ahead, fell behind or stopped the run. The numbers to the right say the same thing in seconds; hover a column name for its meaning. The first row is the best for this player.
  4. Click a row to see its timeline: grey = where the player was in the piece, blue = where the game's clock was. Perfect following = the lines sit on top of each other. Blue above grey = the game ran ahead (your Feux symptom). The ten little charts below compare all of them at once.
  5. When an algorithm convinces you, press its "use" button β€” the game plays with it from your next free-form run (the πŸ•Š tempo pill in the game shows its name). To compare algorithms fairly, try several players: a clean one, a messy one, and your own recordings.

Rows tie at βœ… when a player is too easy to tell the algorithms apart β€” that's information too (they all cope); the interesting players are the messy ones and your real runs.

Scoreboard

Run the algorithms to fill this in.
Hover a column name for what it measures. Everything is in seconds of music or in counts; Drift is the one number that summarises following quality (0 = perfect).

Timeline

player's position   follower clock   tempo estimate (right axis, Γ— nominal)   wrong key   reclaimed note   distressed   stopped (fail overlay)

All ten at a glance