Commit graph

27 commits

Author SHA1 Message Date
isaprettycoolguy@protonmail.com
a23a98b982 add token layer: place, edit, and inspect tokens on the hex map
- Tokens placed per-hex link to vault notes; support circle/square shape,
  sm/md/lg size, fill color, optional border color, icon, and description
- TokenInfoModal shows note content (formatted via MarkdownRenderer, images
  included) with jump-to-hex, open-note, edit, and two-step remove actions
- Edit flow reopens TokenModal pre-filled; proxy notes handle multiple tokens
  referencing the same source note
- Icon picker replaced with scrollable palette grid (2-row cap, drag-to-reorder,
  hide/show) in both HexEditorModal and TokenModal; order persisted in settings
- Token layer toggle added to layers menu (default on)
- Fix metadata-cache race on token delete (wasToken check prevents missed updates)
- Token preview rendered inline in TokenModal title row; real-time color preview
  via native input event on color pickers
- Bump version to 1.1.6

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 08:26:20 -04:00
isaprettycoolguy@protonmail.com
924c8629b6 bump version to 1.1.5
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 03:52:10 -04:00
isaprettycoolguy@protonmail.com
fb98acbbaf bump version to 1.1.4; fix zoom pixelation, brush size reset, shrink rows/cols, icon folder onboarding
- Fix map pixelation on zoom: bake CSS scale() into viewport font-size after
  scroll wheel settles so the DOM renders natively at the zoomed resolution
  instead of upscaling a compositor bitmap; redraw SVG overlays after bake
- Fix terrain brush size persisting when switching to icon tool: reset
  paintBrushSize to 1 on icon mode entry
- Add shrink (−) buttons paired with each expand (+) button: fade in on hover,
  positioned to the right for top/bottom and below for left/right; clicking a
  clean row/col shrinks immediately and trashes the hex notes; clicking a dirty
  row/col shows a red OK? confirm state (3 s timeout) before deleting
- Fix stale terrain showing after delete+re-expand: pass null terrain/icon
  overrides for newly-added edge hexes so cached frontmatter from deleted files
  cannot bleed through
- Add iconsFolder to onboarding wizard folder generation step

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 03:38:01 -04:00
isaprettycoolguy@protonmail.com
b5dd942dc7 add sync awareness: onExternalSettingsChange + auto-register maps from vault
- Override onExternalSettingsChange() so Obsidian Sync delivering a new
  data.json from another device immediately reloads settings and refreshes
  all open HexMapView and HexTableView instances — no manual restart needed
- Add autoRegisterMapsFromVault() on startup: scans hexFolder subfolders and
  registers any that are missing from settings.maps, inferring grid size and
  offset from the x_y.md filenames. Handles the case where data.json arrives
  stale or empty but the vault folders already exist (e.g. sync timing, first
  install on a new device)

Closes #4

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 18:35:38 -04:00
isaprettycoolguy@protonmail.com
469cc56894 refine map delete UX: always-visible X, block last-map deletion, no red wash
- Replace hover-fade "Delete" button with a fixed 20×20px ✕ button always
  visible in each map row
- Hide the ✕ entirely when only one map remains (deletion blocked)
- Remove red background from confirmation row; use muted text instead

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 17:00:02 -04:00
isaprettycoolguy@protonmail.com
8ad991dc11 bump version to 1.1.1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 16:51:24 -04:00
isaprettycoolguy@protonmail.com
683ef17ec1 add first-install setup wizard; bump to 1.1.0
- New SetupWizardView (ItemView): 4-step welcome → folders → map → done
- Wizard auto-opens on first install (setupComplete/setupDismissed flags)
- Folder step creates all world subfolders and ensures hex template exists
- Map step creates the first hex grid; done step shows recommended next steps
- "Open hex map" from done step opens map with terrain picker + toolbar open
- Re-run wizard button added to settings tab
- Fix: loadAvailableIcons() now runs inside onLayoutReady (vault readiness)
- Fix: migrateHexFilesToDefaultRegion() no longer creates world/hexes/default
  on fresh installs — scans candidates first, early-returns if none found
- Fix: loadHexTemplate() falls back to built-in default instead of returning null
- Fix: terrain toolbar button re-opens picker when clicked while active

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 16:39:01 -04:00
isaprettycoolguy@protonmail.com
48024ae137 bump version to 1.0.29
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 15:24:52 -04:00
isaprettycoolguy@protonmail.com
96eef77ffa fix Obsidian reviewer lint errors; add lint to rebuild flow; bump to 1.0.28
- Remove unnecessary type assertions in IconPickerModal (createEl("input") already returns HTMLInputElement)
- Fix sentence-case violation: "Remove GM icon" → "Remove icon" in HexEditorModal tooltip
- Annotate frontmatter["region"] accesses as unknown to satisfy no-unsafe-assignment
- Wire npm run lint into /rebuild command so issues are caught locally before submission
- Document no-unnecessary-type-assertion and mid-sentence acronym patterns in /lint guidance

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 08:49:51 -04:00
isaprettycoolguy@protonmail.com
e7019aaca4 bump version 2026-05-10 17:11:01 -04:00
isaprettycoolguy@protonmail.com
31a6730cd1 prevent duplicate terrain names on rename; hide system-table filter checkboxes; version bump to 1.0.26
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09 10:09:24 -04:00
isaprettycoolguy@protonmail.com
c984e9014b fix linter sentence-case error in icon picker hint text, version bump to 1.0.25
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09 08:58:53 -04:00
isaprettycoolguy@protonmail.com
dd0cafe273 rework sentence to fix linter issue 2026-04-23 20:32:27 -04:00
isaprettycoolguy@protonmail.com
5e480d40c1 add ability to add lists from file 2026-04-22 18:47:44 -04:00
isaprettycoolguy@protonmail.com
88cf136f5a fix linter error 2026-04-17 16:52:55 -04:00
isaprettycoolguy@protonmail.com
c4287028fd fix linter error 2026-04-15 09:59:12 -04:00
isaprettycoolguy@protonmail.com
399fe699b6 fix icon bug 2026-04-13 11:18:45 -04:00
isaprettycoolguy@protonmail.com
6d09c4ae4a fix lint errors 2026-04-13 08:59:23 -04:00
isaprettycoolguy@protonmail.com
4b141857b3 fixes and adding overlays and icon upload 2026-04-11 12:15:54 -04:00
isaprettycoolguy@protonmail.com
37c4a866bc auto update links in the random tables 2026-04-04 11:51:53 -04:00
nyxsys
0d9ccd2b93 chore: release 1.0.6 2026-03-27 11:38:58 -04:00
isaprettycoolguy@protonmail.com
04f1a0ab69 update readme amd license: 2026-03-27 11:28:13 -04:00
nyxsys
3f716dd645 chore: release 1.0.2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 13:26:52 -04:00
nyxsys
fe6f217f72 chore: release 1.0.1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 22:41:40 -04:00
isaprettycoolguy@protonmail.com
ee20e0f9f3 update readme 2026-03-23 17:58:50 -04:00
nyxsys
84477f7b22 chore: set minAppVersion to 1.12.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 17:36:35 -04:00
isaprettycoolguy@protonmail.com
9a4b5d4254 init commit 2026-02-12 19:27:36 -05:00