Legacy Vector Clutter Removed; Tile-Seam Root Causes Fixed
Same audit/backfill as Iteration 48. A months-spanning seam-artifact investigation, resolved across several real, distinct root causes rather than one fix:
- Removed the entire legacy vector-drawn ambient clutter system (bones, mushroom clusters, sheep, cattle, vector fence/cart/field-stones) as redundant once the accent-object pool covered the same role.
- Trimmed the accent-object pool from 146 back down to 30: the original 116-item batch was low-resolution (averaging ~72x84px native against a ~35-55px draw size) and at least one item had baked-in label text from its source sheet; removed entirely rather than salvaged, since a cross-referenced 30-item second batch was already independently verified clean.
- Fixed tile seams across pond/forest/rock art via proportional ~7% overdraw, compensating for a genuine soft-alpha-fade at those textures' own edges.
- Root-caused a second, structurally unrelated seam source after the first fix didn't fully resolve user reports:
resize()computed tile position/size as raw floating-point division of the canvas's fractional CSS size, so terrain almost never landed on a whole device pixel, softening every boundary regardless of the art itself -- fixed by rounding to whole pixels. - Root-caused a third seam source, again found only after the first two fixes still didn't fully resolve it: an always-on per-cell grid
strokeRect, whose "crisp 1px line" offset trick only works at devicePixelRatio=1, anti-aliasing into a blurry line at any other scale factor -- removed entirely except for the reachable-tile-highlight case. - Root-caused a fourth seam source, specific to grass (which uses most of the map): the grass tile source art itself has a genuine baked-in bright guide-line artifact in its outer 2-3px, left over from how the source sheet was cropped -- fixed by sampling an inset region of each source image instead of the whole thing. visible seams after all four fixes).
