sbuffkin_hexmaker/versions.json

51 lines
1,000 B
JSON
Raw Permalink Normal View History

{
2026-04-17 20:52:55 +00:00
"0.1.0": "1.12.0",
"1.0.0": "1.12.0",
"1.0.1": "1.12.0",
"1.0.2": "1.12.0",
"1.0.3": "1.12.0",
"1.0.4": "1.12.0",
"1.0.5": "1.12.0",
"1.0.6": "1.12.0",
"1.0.18": "1.12.0",
"1.0.19": "1.12.0",
"1.0.20": "1.12.0",
"1.0.21": "1.12.0",
2026-04-22 22:47:44 +00:00
"1.0.22": "1.12.0",
2026-04-24 00:32:27 +00:00
"1.0.23": "1.12.0",
"1.0.24": "1.12.0",
"1.0.25": "1.12.0",
2026-05-10 21:11:01 +00:00
"1.0.26": "1.12.0",
"1.0.27": "1.12.0",
"1.0.28": "1.12.0",
"1.0.29": "1.12.0",
"1.1.0": "1.12.0",
"1.1.1": "1.12.0",
"1.1.2": "1.12.0",
"1.1.3": "1.12.0",
"1.1.4": "1.12.0",
"1.1.5": "1.12.0",
"1.1.6": "1.12.0",
"1.1.7": "1.12.0",
"1.1.8": "1.12.0",
"1.1.9": "1.12.0",
2026-05-25 20:09:43 +00:00
"1.1.10": "1.12.0",
"1.1.11": "1.12.0",
"1.1.12": "1.12.0",
"1.1.13": "1.12.0",
"1.1.14": "1.12.0",
"1.1.15": "1.12.0",
"1.2.0": "1.12.0",
"1.2.1": "1.12.0",
"1.2.2": "1.12.0",
"1.2.3": "1.12.0",
"1.3.0": "1.12.0",
feat: background image + grid calibration mode (1.4.0) Per-map background image with full interactive calibration — pick or drag-drop an image from the OS, drop straight into calibration mode, align the hex grid to features in the image. Calibration UX: - Drag image body or grid body to move; corner/edge handles to resize (image is aspect-locked; grid has top/bottom edges for hex-aspect stretch). Anchor math: the side you grab moves, the opposite stays fixed — see topics/design/notes/resize-handle-anchor-rule in the KB for the derivation. - Click an element to "focus" it; arrow keys nudge by 1 px (Shift = 10). Sequential nudges coalesce into one undo entry. - Floating ✓ button bottom-right commits, Esc cancels. Wheel falls through to viewport zoom (precision alignment). - Hex outlines drawn as an SVG overlay during calibration (CSS `border` and `drop-shadow` filter approaches both fail on clip-path-shaped hexes — the SVG overlay was chosen after sandbox iteration; see dev/hex-calibration-sandbox.html). - Resize handles use `transform: scale(1/zoom)` so they stay constant screen size regardless of viewport zoom. - Full undo/redo for every calibration mutation (drag, resize, nudge); Ctrl/Cmd+Z and Ctrl/Cmd+Shift+Z hotkeys wired at view scope. Persistence + alignment: - New MapData.savedViewport persists per-map zoom/pan/font-size across view close, so calibration values (sized to a specific font-size) don't drift when the view reopens. - bakeZoom now scales calibration values by the bake factor so calibrated images stay aligned with the hex grid after wheel zoom. Suppressed entirely during calibration (and pending bake timers cancelled on entry) so the SVG outline doesn't drift mid-session. - Path / faction / region overlay SVGs moved inside the gridContainer so they inherit the gridDisplay transform — previously they sat as siblings of the grid and drew at un-scaled coordinates, producing the "two grids" effect on calibrated maps. Other UX: - Top/left grid expand buttons now visually anchor — the existing grid stays put and the new row/column appears above/left, instead of the whole grid shifting down/right. - New "Background image" section in both the MapModal Properties tab and the New map tab (with drop zone). - Drag-and-drop OS images import to {hexFolder}/{mapName}/_bg/, with filename collision auto-rename. - "No terrain" hexes become transparent when a bg image is set, so the image shows through. - Calibration banner anchored to the view's contentEl (was body) so it can't survive across view-close; defensive sweep on open clears any banner left by a prior buggy build. Dev infrastructure: - dev/hex-calibration-sandbox.html — minimal hex grid that mirrors the plugin's CSS, used to iterate on calibration outline / overlay alignment approaches outside the live editor. - dev/screenshot-approaches.mjs + snapshot-calibration-outline.mjs — runners against the shared frontend-testing tool that produce one PNG per CSS variant for LLM-direct visual review (see the frontend-testing-tools KB project).
2026-06-17 21:01:24 +00:00
"1.3.1": "1.12.0",
"1.4.0": "1.12.0",
fix: address obsidianmd reviewer rules (1.4.2) Five separate categories the upstream obsidianmd reviewer flagged on the 1.4.x diff, plus enforcement to catch them earlier. - **no-static-styles-assignment** (5 sites in HexMapView.ts): Replace every direct `transform`/`transform-origin`/`opacity` write with CSS custom properties on the relevant container. Static rules in styles.css now reference them via `transform: translate(var(--duckmage-bg-tx, 0px), …) scale(...)` with identity-default fallbacks. JS writes only the values via `setCssProps({ "--duckmage-bg-tx": ... })`. Applies to the bg image layer, the hex grid container, AND the viewport itself. Two small helpers `applyBgLayerVars` / `applyGridLayerVars` centralise the variable plumbing and replace ad-hoc transform-string assembly at the drag / wheel / arrow-key / bake / shiftForGridGrowth call sites. - **document → activeDocument** (4 sites in overlayPatternControls.ts): swap for popout-window compatibility. - **setDynamicTooltip removal** (5 sites): the API is deprecated; the value is shown inline now. - **Lint enforcement**: `obsidianmd/no-static-styles-assignment` promoted from default to error, so a regression breaks the local lint instead of waiting for the upstream reviewer. The other two patterns aren't shipped as eslint rules upstream — documented in CLAUDE.md under "Obsidian reviewer-bot conventions" so the next pass-through audits them by hand. Sandbox regression check (dev/snapshot-bg-hex-alignment.mjs) still PASSes — the CSS-var refactor doesn't disturb the bg-image / grid alignment math from 1.4.1.
2026-06-17 22:48:13 +00:00
"1.4.1": "1.12.0",
"1.4.2": "1.12.0",
"1.4.3": "1.12.0",
2026-06-23 23:05:34 +00:00
"1.4.4": "1.12.0",
"1.4.5": "1.12.0",
"1.4.6": "1.12.0"
2026-04-17 20:52:55 +00:00
}