mirror of
https://github.com/sbuffkin/hexmaker.git
synced 2026-07-22 14:30:24 +00:00
Path chains that share a route are stroked in path-type order, so a later chain on the same hexes used to paint over the earlier one (hexmaker#30). Add computeLaneOffsets() + offsetPolyline() (hexGeometry.ts): chains sharing a segment are grouped via union-find and given symmetric perpendicular lane offsets PER DISTINCT TYPE — same-type chains merge into one stroke, different types fan out side by side. Chains with no shared segment keep offset 0, so the common single-path case is pixel-identical. Wired into both the on-screen overlay (renderPathOverlay) and the PNG exporter (mapPngRenderer) so they match. Also fixes a macOS-only bg-image zoom drift: bakeZoom grows the em-based hex grid via font-size while the px-based bg image is grown through a separate multiply; device-pixel snapping on fractional/Retina DPR rounds the two paths differently, so the grid slipped off the image on zoom settle. scheduleZoomBake now skips baking whenever a bg image is present, keeping zoom as a single composited viewport scale() that can't drift on any DPR. Adds ISSUES.md (local mirror of open upstream issues for planning). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| exporters | ||
| exportFolder.ts | ||
| htmlRenderer.ts | ||
| mapPngRenderer.ts | ||
| mdSerializer.ts | ||
| pdfExporter.ts | ||
| printScaffold.ts | ||