Web application generating interactive and highly customizable maps
Find a file
Claude ace6867259
feat(obsidian): build complete FMG ID index on startup
Problem: With hundreds/thousands of burgs and markers, building the FMG ID
index one-by-one as you click each element is too slow. Users need instant
lookups at scale.

Solution: Build the complete index upfront on startup by reading ALL notes'
frontmatter during the pre-warm phase.

How it works:
1. On startup/connection test: Pre-warm cache runs
2. After scanning file list: buildCompleteIndex() runs
3. Reads frontmatter from ALL 13k+ files
4. Extracts fmg-id from each note
5. Builds complete fmg-id → path mapping
6. Saves to localStorage

Benefits:
- Day 1: All burgs/markers with notes have instant lookups
- No gradual index building needed
- Scales to thousands of elements
- Index persists across page reloads

Performance:
- Initial build: One-time cost on startup (background, non-blocking)
- All subsequent clicks: Instant O(1) lookup
- Manual rebuild: ObsidianBridge.buildCompleteIndex()

Console output shows: 'Complete FMG ID index built: X notes indexed, Y skipped'
2025-11-14 06:35:25 +00:00
.docker Containerized version (#639) 2021-07-13 18:42:28 +03:00
.github Add comprehensive GitHub Copilot instructions for Fantasy Map Generator (#1233) 2025-08-29 17:20:03 +02:00
.vscode v1.3.03a 2020-03-27 17:52:23 +03:00
charges feat: add new emblem charges 2023-10-30 22:27:25 +04:00
components Slider-input web component (#1109) 2024-08-22 13:35:36 +02:00
config central store for heightmap configs 2022-05-29 01:03:21 +03:00
heightmaps doc: update readme 2023-02-09 13:12:37 -08:00
images Fix: rework texture data format (#1017) 2023-11-19 14:43:56 +04:00
libs style: increase dialog buttons size 2024-12-16 14:30:11 +01:00
modules feat(obsidian): build complete FMG ID index on startup 2025-11-14 06:35:25 +00:00
styles feat: generate less water ice, v1.108.3 2025-02-15 17:45:16 +01:00
utils fix regex of 'and' adjectivization rule (#1225) 2025-08-02 13:48:10 +02:00
.gitignore fix: image conversion UI, restrict namebase chars 2022-09-17 14:36:32 +03:00
CLAUDE.md docs: add comprehensive CLAUDE.md for AI assistants 2025-11-14 02:21:52 +00:00
CODE_OF_CONDUCT.md docs: code of conduct 2022-06-01 15:08:20 -07:00
Dockerfile Containerized version (#639) 2021-07-13 18:42:28 +03:00
dropbox.html dropbox - load script dynamically 2022-02-08 00:47:17 +03:00
icons.css AI generation for notes (#1112) 2024-08-23 18:08:50 +02:00
index.css fix: grid layer to not be clickable 2025-03-09 13:29:45 +01:00
index.html feat(obsidian): add collapsible folder tree for browsing notes 2025-11-14 04:29:56 +00:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2018-06-11 21:36:07 +03:00
LICENSE Update LICENSE to include permission for derivative works 2024-06-29 12:03:52 +02:00
main.js chore: remove debug logging from default map feature 2025-11-14 03:55:45 +00:00
manifest.webmanifest Correct name and shortname in web manifest (#912) 2023-01-09 01:03:23 -08:00
OBSIDIAN_INTEGRATION.md feat: add Obsidian vault integration for modern Markdown notes 2025-11-14 02:57:07 +00:00
README.md chore: update readme 2024-03-14 11:30:21 +01:00
run_php_server.bat BAT-file for run PHP built-in server (#1094) 2024-07-11 13:46:26 +02:00
run_python_server.bat v1.5.02 - COA rendering + editor basic UI 2021-02-04 15:56:27 +03:00
run_python_server.sh something 2025-11-13 22:03:36 -05:00
sw.js fix: service worker fn 2024-09-20 15:40:10 +02:00
versioning.js Merge branch 'master' into claude/claude-md-mhy85sj7tlvzwb5w-01QzBpdgGJXE5Qk3JaNupuxM 2025-11-13 22:01:51 -05:00

Fantasy Map Generator

Azgaar's Fantasy Map Generator is a free web application that helps fantasy writers, game masters, and cartographers create and edit fantasy maps.

Link: azgaar.github.io/Fantasy-Map-Generator.

Refer to the project wiki for guidance. The current progress is tracked in Trello. Some details are covered in my old blog Fantasy Maps for fun and glory.

preview

preview

preview

Join our Discord server and Reddit community to share your creations, discuss the Generator, suggest ideas and get the most recent updates.

Contact me via email if you have non-public suggestions. For bug reports please use GitHub issues or #fmg-bugs channel on Discord. If you are facing performance issues, please read the tips.

Pull requests are highly welcomed. The codebase is messy and requires re-design. I will appreciate if you start with minor changes. Check out the data model before contributing.

You can support the project on Patreon.

Inspiration: