McRogueFace/tests
John McCardle abb3316ac1 feat: Add dirty flag and RenderTexture caching for Grid layers (closes #148)
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>
2025-11-28 21:44:33 -05:00
..
benchmarks fix: Remove O(n²) list-building from compute_fov() (closes #146) 2025-11-28 21:26:32 -05:00
demo fix: Resolve --exec double script execution bug 2025-11-26 13:20:22 -05:00
geometry_demo fix: Refine geometry demos for 1024x768 and fix animations 2025-11-26 04:54:13 -05:00
integration Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
notes feat: Exit on first Python callback exception (closes #133) 2025-11-26 10:26:30 -05:00
regression feat: Add dirty flag and RenderTexture caching for Grid layers (closes #148) 2025-11-28 21:44:33 -05:00
unit feat: Add work_time_ms to benchmark logging for load analysis 2025-11-28 16:13:40 -05:00
run_tests.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00