Grid Level Editor v2.1.0
Editor quality-of-life update: smarter block icons, free map navigation, and a large internal refactor of the grid view. Public API and saved data are unchanged —
existing levels and blocks keep working.
✨ Added
- Auto block icons. A block now shows its prefab's auto-generated preview (Unity AssetPreview) across the palette, grid, plates and drag ghosts. The icon sprite became
an optional manual override — assigning one is no longer required. - Free map panning. Hold the middle mouse button to drag the grid anywhere inside a clipped viewport that fills the editor down to the log. A ⊕ button recenters the map.
Works alongside zoom (− / + / 1:1, Ctrl + mouse wheel).
🔧 Improved
- Clearer "no space" feedback. When a block or paste can't fit, the blocked cells flash red — and now the blocking multi-cell object's plate flashes too, so it's visible
even under overlapping objects. - Faster block creation. Only an id is required now; without an icon the prefab preview is used automatically.
- Paste reports the exact blocked cells, so the flash highlights precisely where there was no room.
🐞 Fixed
- Grid is centered in the viewport on open, and the ⊕ button recenters it.
- Even cell spacing when the map is larger than the window (the flex viewport no longer compresses the grid vertically).
🧹 Internal / Refactor
- LevelGridView reduced from 1233 → ~270 lines. The God-object was split into focused, single-responsibility components under Editor/Grid: zoom, selection, hit-testing,
highlighting, cell rendering, multi-cell plates, drag/move, palette placement, free-pan and keyboard shortcuts — plus a LevelGridOps domain helper and a shared
GridContext. - De-duplicated the clear/place rules that were previously copied across the grid, the block popup and the clipboard.
- Behavior-preserving throughout; the window and palette drag controller were untouched.
📄 Docs
- README updated (features, controls, structure, changelog).
- Added Assets/Code/LevelEditor/SUBDIVISION_FEATURE.md — a spec for the planned per-cell destructible sub-mask (Battle City–style breakable walls), to be implemented in
a future release.
Full changelog: v2.0.0...v2.1.0