sbuffkin_hexmaker/src
isaprettycoolguy@protonmail.com b69131f16d perf: cut redundant per-item work on map + table load
Map grid: the per-hex render loop called getTerrainFromFile +
getIconOverrideFromFile + getGmIconsFromFile, each re-running
getAbstractFileByPath + getFileCache — 3 identical cache lookups per hex
(~11.5k redundant ops on a 3843-hex map). Fetch frontmatter once and feed
three new pure extractors (terrainFromFm/iconOverrideFromFm/gmIconsFromFm).
Reuse the bg-image layer across renders (bgLayerEl/bgLayerSrc) so
renderGrid()'s viewportEl.empty() no longer re-decodes the image each time.
Tag painted hexes with .duckmage-hex-painted (setHexColor) and switch the
bg-image empty-hex rule to a class selector instead of a slower
:not([style*="background-color"]) attribute-substring match.

Table view: memoise the name→entry palette Map per region instead of
rebuilding it per row, and re-filter only the rows just filled in each batch
(applyFilters(rows?)) instead of re-scanning all rows after every batch.

Adds dev/bg-hex-recalc-bench + unit tests for the new pure extractors.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 07:03:23 -04:00
..
export fix: render road/river chains in parallel + skip zoom-bake on bg-image maps 2026-06-30 06:56:46 -04:00
hex-map perf: cut redundant per-item work on map + table load 2026-06-30 07:03:23 -04:00
hex-table perf: cut redundant per-item work on map + table load 2026-06-30 07:03:23 -04:00
random-tables chore: address obsidianmd lint and popout-window compat (1.2.1) 2026-06-05 23:04:11 -04:00
bundledIcons.ts feat: bundle built-in icons into main.js as data URLs 2026-03-23 16:17:52 -04:00
constants.ts feat: smoother wheel zoom + coord label layer/settings 2026-06-21 13:00:32 -04:00
defaultHexTemplate.md clean up workflow view, remove encounter column from hex table 2026-03-17 22:39:46 -04:00
defaultTableTemplate.md add delete table function to tree view 2026-03-14 20:32:10 -04:00
frontmatter.ts perf: cut redundant per-item work on map + table load 2026-06-30 07:03:23 -04:00
HexmakerModal.ts fix: combo dropdown no longer jumps modal to top on first click 2026-06-23 19:02:46 -04:00
HexmakerPlugin.ts feat: export module — PDF/Markdown for notes, hexes, maps, tables, workflows (1.2.0) 2026-06-05 20:46:41 -04:00
HexmakerSettingTab.ts feat: smoother wheel zoom + coord label layer/settings 2026-06-21 13:00:32 -04:00
md.d.ts feat: bundle built-in icons into main.js as data URLs 2026-03-23 16:17:52 -04:00
overlayPatterns.ts fix: overlay pattern editor — hex preview, palette refresh, thin outline 2026-06-17 12:22:28 -04:00
sections.ts auto update links in the random tables 2026-04-04 11:51:53 -04:00
SetupWizardView.ts feat: coord placement setting + terrain tables in onboarding (1.2.2) 2026-06-16 10:34:57 -04:00
types.ts feat: smoother wheel zoom + coord label layer/settings 2026-06-21 13:00:32 -04:00
utils.ts feat: background image + grid calibration mode (1.4.0) 2026-06-17 17:01:24 -04:00