Period: December 8, 2025 Total Commits: 13

Hey — here’s what we worked on today. The headline is visual variety with a proper custom tileset pipeline, plus a new doodad system that respects both sides of the board and stays out of your way during placements. We also cleaned up a few UI issues and a campaign edge case.

What’s New

Per-board doodads that don’t get in your way

We added decorative doodads to grass tiles and made them board-aware. Each board side seeds its doodads independently, so both players get their own natural scatter without mirroring or weird sync issues. When you place a tower or assign a spawn, any doodads on that tile are cleared immediately. Keeps the board readable.

Custom tilesets across grass, roads, and water

We unified rendering so the game and the editor share the same tileset-driven system. This means the visuals you build in the editor are the visuals you see in-game, one source of truth.

Gameplay impact: more readable edges, less flicker, and variety without losing clarity.

Editor conveniences that carry into play

Map changes feel more immediate now. Base tileset switching updates the canvas in real time, and grass/water/road systems all respond via the same renderer configuration. Doodad configs (variants + spawn chance) live alongside the tileset, so creators control both base tiles and environmental dressing from one place.

What Got Fixed

[screenshot: cleaned-up skill tree modal UI at c8097b5]

Under the Hood

One tileset pipeline for game and editor

We removed duplicate renderers and made tileset config a requirement before any tiles draw. That ensures textures are loaded, materials point to the right sprites, and both tools behave the same.

Determinism and cleanup

We leaned into deterministic selection (position-based) for road variants and seeded doodads per-board to keep visuals consistent and fair. Event hooks now power doodad removal and board-specific updates, and we’re cleaning up renderer groups on dispose to prevent lingering data.

Notes and Thanks

That’s it for today. More visual consistency, less clutter, and tighter UI. Try it and tell us where it still feels rough.