A shader was made for every painter and never disposed, and its uniforms are only freed by dispose: zooming replaced the painter each step, so each step leaked one. The grid's state now owns a single shader and disposes it when the grid goes. Only the web reads the editor's zoom, so desktop records its points once again rather than on every zoom step. Found in review by Astra. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Dara Adedeji committed on 10/6/2026, 2:00:55 AMparent99b947f
Checks
- SuccessfulCodeRabbitGitHub
Review rate limited
- SuccessfulconvexGitHub
- Cancelledwindows-buildGitHub
- Successfulclient-contractGitHub
- Successfulpresence-workerGitHub
- Successfullinux-buildGitHub
- Successfulwindows-testGitHub
- Successfulnative-bridgeGitHub
- Successfulnative-replayGitHub
- SuccessfulanalyzeGitHub
- SuccessfulwebGitHub
- Successfultest (shard 1)GitHub
- Successfultest (shard 0)GitHub
- SuccessfulchangesGitHub
- NeutralGreptile ReviewGitHub
1 file changedLine totals unavailable