v0.4.4 — New Game dialog for the opening hand and the three revenue rates, Yard renamed Interchange, and two movement bugs behind a mirrored consist

This commit is contained in:
Jesse
2026-08-14 22:39:50 -04:00
parent d1314066bd
commit 6655e20ea8
29 changed files with 5450 additions and 3902 deletions
+6 -1
View File
@@ -275,8 +275,13 @@ describe('every published replay actually replays', () => {
const save = JSON.parse(readFileSync(join(dir, f), 'utf8')) as {
seed: number;
history: unknown[];
rules?: unknown;
};
const back = fromSave({ seed: save.seed, history: save.history as never });
// The WHOLE save, `rules` included. Rebuilding it from seed and history alone threw away the
// one field that says which ruleset the file was recorded under, so this replayed every
// published file under the pre-dialog defaults no matter what it said — a test that would
// pass a genuinely dead replay the moment the defaults and the file disagreed.
const back = fromSave(save as never);
assert.equal(
back.history.length,
save.history.length,