Implement per-layer dirty tracking and RenderTexture caching for ColorLayer and TileLayer. Each layer now maintains its own cached texture and only re-renders when content changes. Key changes: - Add dirty flag, cached_texture, and cached_sprite to GridLayer base - Implement renderToTexture() for both ColorLayer and TileLayer - Mark layers dirty on: set(), fill(), resize(), texture change - Viewport changes (center/zoom) just blit cached texture portion - Fallback to direct rendering if texture creation fails - Add regression test with performance benchmarks Expected performance improvement: Static layers render once, then viewport panning/zooming only requires texture blitting instead of re-rendering all cells. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| benchmarks | ||
| demo | ||
| geometry_demo | ||
| integration | ||
| notes | ||
| regression | ||
| unit | ||
| run_tests.py | ||