Web application generating interactive and highly customizable maps
Find a file
Claude 69e69abb85
feat(obsidian): pre-warm vault cache on startup for instant browsing
Problem: The first time you browse notes, it has to scan all 13,496 files,
which is very slow. This makes the initial user experience poor.

Solution: Pre-warm the vault file cache in the background:
1. When Obsidian connection is tested (first-time setup)
2. When FMG loads and Obsidian is already enabled (page reload)

Implementation:
- Add prewarmCache() function that scans vault in background
- Call it from testConnection() (don't await - runs async)
- Call it from init() if config.enabled is true
- Scan happens silently in the background
- By the time user clicks Browse, cache is already loaded

Benefits:
- First browse is instant (cache already loaded)
- Works on every page reload
- Non-blocking (doesn't slow down FMG startup)
- Silent/automatic (no user interaction needed)

User experience:
- First time: Test connection → cache warms in background → browse is instant
- Subsequent loads: Page loads → cache warms → browse is instant
- Cache lasts 5 minutes, so multiple browses within that window are all instant
EOF
)
2025-11-14 06:21:05 +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): pre-warm vault cache on startup for instant browsing 2025-11-14 06:21:05 +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: