From defd4a86d220c02d65e54b2ccf802052c78fed94 Mon Sep 17 00:00:00 2001 From: MelekTaus Date: Sun, 20 Sep 2026 15:41:43 +0200 Subject: [PATCH] The live dt in the graph is not always three decimals: the check in module 18 that reads the value an output last carried asked for /^0\.\d{3} dt$/, but formatNumber trims trailing zeros, so a frame of exactly 50 ms reads as "0.05" - that is why the suite for 5ba796a was red in CI with this single FAIL while the same check is green on this machine, where the frame time never lands on a round number; the check now asks for any number of decimals, which is what it was ever about, and the reason stands as a comment next to it (#119) Co-Authored-By: Claude Opus 5 --- tools/e2e/18-pause.mjs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/e2e/18-pause.mjs b/tools/e2e/18-pause.mjs index 44e31fa6..1aabe95d 100644 --- a/tools/e2e/18-pause.mjs +++ b/tools/e2e/18-pause.mjs @@ -169,9 +169,12 @@ export async function pause(t) { move: await outputs('p-move'), }; check( + // Not a fixed number of decimals: the live value is formatted with trailing zeros trimmed, and + // a slow frame of exactly 50 ms reads as "0.05", not "0.050". CI failed on exactly that + // (task 175), while the frame time here always lands on three digits. 'while playing, each output shows the value it last carried in front of its name', live.owner[0] === 'Pause box object' && - /^0\.\d{3} {2}dt$/.test(live.update[1]) && + /^0\.\d+ {2}dt$/.test(live.update[1]) && live.move[1] === 'false blocked x', JSON.stringify(live), );