UI: - Bottom palette strip (above status, left of side-panel): 14 coloured swatches numbered 1-14. Click selects state.active_tile. - World-space overlay (Auto-Tile mode only): cell grid + vertex dots + snapped-vertex highlight ring. - Side-panel + status repositioned to clear the palette band. - Cheatsheet updated with the new LMB/RMB canvas + palette rows. Paint: - Auto-Tile mode: LMB on canvas -> maps.set_vertex(active_layer, snap.vx, snap.vy, true); RMB -> set_vertex(..., false). Snap is computed in update() by rounding world coords to the nearest (W+1)x(H+1) vertex; off-map cursor publishes nil. - Direct mode: unchanged from 0.2.0a (paint_cell_at with active slot + rotation). Notes: - Palette swatches are placeholder solid colours, not real tile thumbnails — that needs a tile-UV getter on lib-core.maps, which is out of scope for this sub-slice. - Transform controls, Direct-Override transform writes, and the Decal/Entity sub-selectors land in 0.2.0c/d.
33 KiB
33 KiB