A new run rewinds the clock; the camera flashes did not rewind with it
Oliver: "I start a new zombie tennis match. when playing and scoring no fotograph flashes appear, but at a random place in the crowd some frozen midflash circle is visible. after a few points the flashes unfreeze." Both halves are the same cause. resetState() puts G.idleT back to 0 for every new run, while the flash list and its "next at" live in render.js's own closure and survive it. So the new run inherited a flashNext from the old one — no photographs at all until the clock climbed back past it — and any flash still in flight was left with a t0 in its own future, which makes its fade 1 - (now - t0)/life permanently greater than 1: a shutter stuck at full brightness in the stand until something else cleared it. tickFlashes now notices the clock moving backwards and clears and re-arms. One guard, in the only place that owns the state, so it covers any future mode that rewinds the clock as well. Verified on the canvas: after a rewind there is no permanently-bright pixel in the stand, and the photographers resume within seconds instead of staying dark. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ca3e72d0a9
commit
3d7e66449a
3 files changed
+23
-2
No files matched your search
+1
-1
@@ -664,6 +664,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="module" src="src/main.js?v=304"></script>
|
||||
<script type="module" src="src/main.js?v=305"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user