004c077181
handlePageTextureRecords() called markStaticSceneBuffersDirty() on every page-texture update, forcing a full SSAO + shadow + reflection recompute (23-47ms frames) on every block during playback — even though a page-text change moves no geometry. AO and shadows depend only on geometry; the soft tabletop reflection picks up the new page on its throttled cadence. Removed the forced dirty so only real geometry changes (flips, camera, rebuild, resize) recompute the static buffers. Playback median ~60->63fps; the per-block forced heavy frames are gone (the remaining periodic ~23ms frames are the normal 8Hz throttled refresh). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>