Fix the early-fall soft-lock: the decided latch must die with its rally
Oliver's retest: 'the fall never happens, the game does not continue, the ball is gone.' Root cause: the decided latch was set AFTER resolveInterlude, and on a point with no stage change matchPoint re-arms the next rally synchronously — so the latch outlived the rally it scoped and swallowed every resolution after it. Two changes: matchFallWillPlay() gates the early resolution to points that actually put a collapse (or the game-winning kill) on court — an ordinary point keeps its ordinary bounce-2 ending, so the ball never vanishes mid-roll — and with only those paths admitted, the after-set latch is provably safe: both defer matchReady until their beat ends. A regression test drives the exact soft-lock sequence through the real update loop. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
53df079db6
commit
f991f1ab10
3 files changed
+54
-6
No files matched your search
+1
-1
@@ -431,6 +431,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one') {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="module" src="src/main.js?v=220"></script>
|
||||
<script type="module" src="src/main.js?v=221"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user