Terrain chunks remain in the renderer cache after the camera leaves them. On an unchanged 800 by 480 viewport and a public 256 by 256 flat world, panning through four positions and returning retains 32 chunk canvases with 130,744,320 bytes of RGBA capacity, compared with 12 canvases and 49,152,000 bytes initially. The simulation checksum is unchanged. These numbers measure retained canvas dimensions, not total process RSS.
The reproduction uses the published renderer with one read-only diagnostic getter over the actual retained canvases. No browser API or allocation is replaced. Source inspection confirms that the chunk map has no eviction; replacing a stale chunk also drops its backing store without explicitly releasing it.
Acceptance:
- Retain a real browser pan-and-return regression through public sessions and renderer calls.
- Enforce an explicit byte budget independent of map size and camera history. Release evicted, replaced and cleared canvas backing stores.
- Keep rendering complete when a viewport or a single chunk exceeds the retained cache budget. Do not reduce supported map sizes or relax allocation guards.
- Verify stable pixels on return, repeated draws, fog/territory invalidation, asset replacement and disposal; preserve simulation state.
- Document what the reported resource measurements cover and run complete checks and CI.
Source owner: game renderer. Related #20, #88 and #100. The separate terrain coverage problem remains independently tracked. This work establishes a terrain cache bound, not complete large-world performance or native host qualification.