Belts built after a tick reset join the network; pin tick in golden renders

A world started after a long session kept the old nextPowerBuild, so new
belts were never added until a reload. Treat a wait longer than 6 ticks as
stale. The golden test pins tick now that t45 animates belts from it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cj2RPXdPykKMEz5BXXczsj
This commit is contained in:
2026-10-29 23:50:09 -04:00
co-authored by Claude Opus 5.5
parent af411d5b21
commit e605953661
4 changed files with 22 additions and 2 deletions
+12
View File
@@ -4,6 +4,18 @@ What agents have done, newest first. Add an entry for every piece of work: the d
note or request it was for, what changed, the files touched, the tests run, and anything left
open or not verified. Keep each entry short; the git history has the details.
## 2026-10-29: new belts stood still until reload; golden test after t45 (Claude)
- Owner bug: in a world started after a long session, belts built after loading never moved
(save and reload fixed them). The 6-tick power rebuild throttle (`nextPowerBuild`) survived
the tick reset of a new or loaded world, so rebuilds waited for the old tick count. Now a wait
longer than 6 ticks counts as stale. Not caused by t45; tests had hidden it with `nextPowerBuild=0`.
- t45 animates belts from the tick (`transportClock`), so `t_gpu_golden.py` now pins `tick`
(1000 for pixel = old R.frame, 300 for smooth = old 5 s clock); all goldens match exactly again.
- Files: sim/machine-tick, test/{t_basics.js,t_gpu_golden.py}, this log.
- Tests: new t_basics check failed before the fix; all headless suites, t_stalls.py,
t_gpu_golden.py and play.py pass.
## 2026-10-29: t103 blow carried liquids without the Flask (Codex)
- Removed only blow-side Flask gates, including Shift's HUD list; corrected the Flask hint.