Optimize wall/fog rendering

This commit is contained in:
gamer147
2026-04-07 10:22:30 -04:00
parent 0882908e4c
commit e42a98fece
3 changed files with 49 additions and 64 deletions

View File

@@ -129,7 +129,9 @@ Both systems independently iterate `get_nodes_in_group("units")`, hook `node_add
---
### J. Sprite spam in `FogRenderer` and `WallRenderer`
### J. Sprite spam in `FogRenderer` and `WallRenderer` — **Resolved 2026-04-07**
Both renderers now override `_draw()` and use `draw_texture_rect_region()` directly. Zero child sprites; layout changes call `queue_redraw()` instead of thrashing the scene tree. Findings **O** (redundant `match` arms) and **P** (undocumented `FOG_RECT`) were folded into the same change.
**Files:** `nodes/fog_renderer.gd:13-43`, `nodes/wall_renderer.gd:44-176`
@@ -254,7 +256,7 @@ Findings 2 and 9 from the prior review are the largest gameplay gap. Until that
| G | `remove_unit` leaks signal connections | Medium | Small |
| H | Dead `process_combat` | Medium | Trivial |
| I | O(n) unit lookup | Medium | Small |
| J | Sprite-per-tile renderers | Medium | Medium |
| J | Sprite-per-tile renderers | ~~Medium~~ | **Done** |
| K | `MapLayout.initialize` not guarded | Medium | Small |
| L | Highlight updates while modal open | Medium | Trivial |
| M | Inline scripts in `unit.tscn` | Medium | Small |