Commit graph

58 commits

Author SHA1 Message Date
isaprettycoolguy@protonmail.com
83cd8e2da0 fix combo dropdown scroll: suppress modal-content overflow while open
position:fixed failed because Obsidian's modal CSS animation sets transform on
.modal, making fixed children position relative to it (not the viewport).
Instead, toggle .duckmage-combo-open on .modal-content (overflow-y:visible)
while the dropdown is open so the absolute-positioned dropdown doesn't trigger
the scroll container.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 12:42:04 -04:00
isaprettycoolguy@protonmail.com
ff8479c59c fix combo dropdown: position:fixed escapes modal scroll, blank inputs in map modals
- Combo dropdown now uses position:fixed with JS-calculated viewport coords so it
  never causes the modal's overflow-y:auto container to scroll
- MapLinkModal: map filter and link text both start blank; link text auto-fills
  on map selection only if still empty
- SubmapPickerModal: focus opens all maps (blank query)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 12:35:34 -04:00
isaprettycoolguy@protonmail.com
31d3256192 add submap links: link hex to another map, centre-dot nav, back button, map link insert
- Right-click hex → "Link submap" writes duckmage-submap frontmatter
- Hex flower shows centre dot (hidden when no link) that navigates into the submap
- Centre dot centering is orientation-aware (flat-top top:24px, pointy-top top:20px)
- ← Back button appears next to map dropdown (via flex nav group) after submap drill-in
- "Insert map link" editor context menu inserts obsidian://duckmage-openmap URI
- Map rename updates all duckmage-submap references via updateSubmapReferences()
- HexEditorOptions refactored: onNavigate/onModalClose/onSwitchMap in options object
- 10 new tests for submap frontmatter helpers and rename propagation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 12:29:22 -04:00
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
b84bc1811c fix !important in shrink button styles; raise selector specificity instead
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 03:51:47 -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
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
891434b36f add delete map button with confirmation to MapModal
Each map row in the switch-map list now shows a "Delete" button (visible on
hover). Clicking it enters an inline confirmation state showing the map name
and a warning that hex notes will be trashed. Confirming calls
fileManager.trashFile() on the hex folder (if it exists), removes the map
entry from settings, reassigns defaultMap/activeMapName to the next available
map, saves, and re-renders. Cancelling returns to normal without changes.

Fixes #3 — map entries left dangling after manual folder deletion are now
cleanly removable through the UI.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 16:51:03 -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
2af3b68f8f fix portal warnings: CSS !important, duplicate selectors, hex color, README title
styles.css:
- Remove all !important declarations by increasing selector specificity instead:
  - terrain icon hide: fix competing rule with :not(.duckmage-hide-terrain-icons)
    so the fallback only shows when terrain icons are not already hidden
  - modal size: .modal.duckmage-editor-modal-drag beats Obsidian's .modal rule
  - error border: input.duckmage-input-error beats attribute selectors
  - hidden row: tr.duckmage-row-hidden beats UA table-row default
  - copy cell padding: .duckmage-random-table prefix beats table td defaults
- Merge duplicate .duckmage-icon-option (add position:relative to original)
- Remove duplicate .duckmage-rt-folder-header (first declaration already has
  display:flex and align-items:center)
- Expand #fff to #ffffff

README.md:
- Change title from "Hexmaker" to "Hexmap World Creator" to match manifest.json

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 15:06:16 -04:00
isaprettycoolguy@protonmail.com
d91ea4eb57 add initial gm layer pass 2026-05-10 16:22:38 -04:00
isaprettycoolguy@protonmail.com
31f9bbe0d8 fix up faction overlay and add legend, add region overlay, add region encounter tables 2026-05-10 09:10:15 -04:00
isaprettycoolguy@protonmail.com
90d2496fc3 add and enhance faction overlay. 2026-05-09 20:49: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
ca49d08331 fix issues from pr, begin optimizing again 2026-03-30 16:19:57 -04:00
isaprettycoolguy@protonmail.com
2091648b26 add actual edge pathing 2026-03-26 21:07:04 -04:00
isaprettycoolguy@protonmail.com
eb0e7a841c allow user to set random weights to negative and add -1 to all 2026-03-25 13:32:56 -04:00
isaprettycoolguy@protonmail.com
d9c4f85087 allow user to add path types, include undo/redo support for them 2026-03-25 13:18:24 -04:00
isaprettycoolguy@protonmail.com
0f205e0702 adjust UX and make terrain more easily edited 2026-03-24 19:56:52 -04:00
isaprettycoolguy@protonmail.com
632e514c3e add undo and redo 2026-03-23 22:26:50 -04:00
isaprettycoolguy@protonmail.com
b16e590f70 add license and additional palette support 2026-03-23 15:38:32 -04:00
isaprettycoolguy@protonmail.com
81fcd9cccc optimizations and clean up hex map ui 2026-03-20 19:30:13 -04:00
isaprettycoolguy@protonmail.com
68d4edb65d reorganize files 2026-03-20 15:35:35 -04:00
isaprettycoolguy@protonmail.com
b8f3c5df05 add filter to random table view 2026-03-18 21:35:46 -04:00
isaprettycoolguy@protonmail.com
7557d18c2e expand tests and enhance workflow editing 2026-03-18 17:19:32 -04:00
isaprettycoolguy@protonmail.com
803d2fc5a5 improve adding/removing labels to workflows 2026-03-18 08:40:04 -04:00
isaprettycoolguy@protonmail.com
b6af1a5b13 clean up workflow view, remove encounter column from hex table 2026-03-17 22:39:46 -04:00
isaprettycoolguy@protonmail.com
583c3f656e create workflow tool 2026-03-17 16:18:42 -04:00
isaprettycoolguy@protonmail.com
2ebee21308 improve random table styling 2026-03-16 18:55:06 -04:00
isaprettycoolguy@protonmail.com
2447c12568 make it easy for user to add links to tables 2026-03-16 17:38:39 -04:00
isaprettycoolguy@protonmail.com
68e2a51c91 improve terrain drawing 2026-03-16 16:30:23 -04:00
isaprettycoolguy@protonmail.com
48d4b4ea5e add regions, fix abiliensure additional regions work properly with default setting and so on 2026-03-16 12:46:57 -04:00
isaprettycoolguy@protonmail.com
ed49bd663f reorganize hex map ui 2026-03-16 11:01:20 -04:00
isaprettycoolguy@protonmail.com
e82417d743 go through review process and make a file to do so again in the future 2026-03-15 09:34:53 -04:00
isaprettycoolguy@protonmail.com
bdb9807e32 add click and d 2026-03-14 21:10:06 -04:00
isaprettycoolguy@protonmail.com
c7e177554c add delete table function to tree view 2026-03-14 20:32:10 -04:00
isaprettycoolguy@protonmail.com
c283ffe9c8 set up random table view to enable the ability to generate folders with notes based on the tables. ux fixes 2026-03-14 19:51:32 -04:00
isaprettycoolguy@protonmail.com
4cf513585f make random tables view start collapsed, add include/exclude from the dropdowns for random tables 2026-03-14 18:44:08 -04:00
isaprettycoolguy@protonmail.com
9250bd65b3 clean up table editing experience 2026-03-13 13:38:03 -04:00
isaprettycoolguy@protonmail.com
5fd49558fb add tests and set up the picker tool to change on selection 2026-03-12 20:21:11 -04:00
isaprettycoolguy@protonmail.com
dc990544f1 add collapse option to the roller view 2026-03-12 18:01:15 -04:00
isaprettycoolguy@protonmail.com
850c3c4713 update and fix resize and such 2026-03-12 15:39:07 -04:00
isaprettycoolguy@protonmail.com
e5ae614c89 add adjustible modal 2026-03-12 11:01:00 -04:00
isaprettycoolguy@protonmail.com
4e51b1a517 add help icon and adjust ui to be cleaner, add terrain editor modal to the main hex map view 2026-03-12 10:12:34 -04:00
isaprettycoolguy@protonmail.com
11ee9e82f8 add table linking tool and ux for it 2026-03-11 12:42:29 -04:00
isaprettycoolguy@protonmail.com
d5d1372c37 bugfixes and ux enhancements 2026-03-10 23:11:56 -04:00
isaprettycoolguy@protonmail.com
12b7c9883e add enter submit for table creation 2026-03-10 17:55:28 -04:00
isaprettycoolguy@protonmail.com
d3774c2911 add random tables along with modal to use them and a page to roll them on 2026-03-10 17:45:55 -04:00
isaprettycoolguy@protonmail.com
458f4303c4 update terrain picker modal 2026-03-09 20:10:34 -04:00