From e1fb5ecd48ae52341277736694b01b2a8f68b7f7 Mon Sep 17 00:00:00 2001 From: Brandon Cook Date: Sun, 7 Jun 2026 10:51:07 +1000 Subject: [PATCH] guide: the rejoin-dirty trap for render-on-change games Found driving the engine's restore conformance test: a re-seated player's baselines are invalidated, so a dirty-tracking game that skips them on rejoin leaves the resumed session blank until something moves. Co-Authored-By: Claude Opus 4.8 (1M context) --- GUIDE.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/GUIDE.md b/GUIDE.md index a1d5385..31ba489 100644 --- a/GUIDE.md +++ b/GUIDE.md @@ -426,6 +426,11 @@ viewports: - at typical input rates expect only ~10–30% of viewports dirty per tick — a 3–10× cut in wake cost. +One trap: mark a player dirty on REJOIN (same account re-seating, including +after a hibernation resume) — their frame baselines were invalidated, and a +render-on-change game that skips them leaves the resumed session staring at +nothing until something happens to move. + The frame-delta layer already makes CLEAN-but-resent frames cheap on the wire; dirty tracking makes them free in CPU too. Allocation discipline matters as much as ever under `-gc=leaking`: compose into a reused