Fantasy-Map-Generator/modules
barrulus 9c090894f2 Implement hierarchical burg placement and route generation system
Major Changes:
- Enhanced burg placement system with three-tier hierarchy:
  * Primary centers (capitals + large ports) connected by main roads
  * Regional centers (plaza burgs) connected by secondary roads
  * Local settlements connected by trails to existing network

Burg Placement Improvements (burgs-and-states.js):
- Added identifyLargePorts() function to mark coastal settlements as major population centers
- Implemented placeRegionalCenters() function for strategic plaza burg placement
- Enhanced placeTowns() with hierarchical scoring based on distance to major centers
- Updated population calculations to respect settlement hierarchy
- Modified defineBurgFeatures() to guarantee plazas for regional centers

Route Generation Overhaul (routes-generator.js):
- Created hierarchical route system eliminating overlapping routes:
  * Main roads connect primary population centers (capitals + large ports)
  * Secondary roads connect plaza burgs to main network and each other
  * Trails connect isolated settlements to nearest existing routes
- Added filtered burg categorization to prevent duplicate connections
- Implemented intelligent pathfinding that integrates with existing routes
- Fixed getLength() function with fallback calculation for DOM timing issues

CSV Export Enhancement (routes-overview.js):
- Updated routes CSV export to include new "secondary" route type
- Added documentation for supported route types in export function

Technical Features:
- Distance-based population gradients radiating from major centers
- Urquhart graph algorithm for optimal route networks
- Integration with existing pathfinding cost system
- Proper route merging and connection tracking
- Robust error handling for route length calculations

Result:
- Realistic settlement hierarchy with proper population distribution
- Non-overlapping transportation network with clear purpose for each route type
- Radial patterns from major centers through regional hubs to local settlements
- Enhanced world-building with economically logical settlement placement
2025-08-12 22:44:54 +01:00
..
dynamic perf: set text-rendering to optimizeSpeed, v1.108.1 2025-02-15 14:43:51 +01:00
io Add fantasy world coordinate system to GeoJSON exports 2025-08-12 12:03:31 +01:00
renderers Allow data URI scheme for custom images (#1196) 2025-03-08 14:51:48 +01:00
ui Implement hierarchical burg placement and route generation system 2025-08-12 22:44:54 +01:00
biomes.js Urquhart routes (#1072) 2024-08-15 15:46:55 +02:00
burgs-and-states.js Implement hierarchical burg placement and route generation system 2025-08-12 22:44:54 +01:00
coa-generator.js feat: add new emblem charges 2023-10-30 22:27:25 +04:00
coa-renderer.js Fix: rework texture data format (#1017) 2023-11-19 14:43:56 +04:00
cultures-generator.js Removed priority queue in favor of FlatQueue (#1157) 2024-10-26 14:26:59 +02:00
features.js fix: features - define first cell 2024-09-22 13:04:22 +02:00
fonts.js feat: new style - DarkSeas 2024-08-17 14:16:01 +02:00
heightmap-generator.js feat: heightmap brushes - linear edit option (1.88.00) 2022-10-31 00:24:54 +03:00
lakes.js Refactor layers rendering (#1120) 2024-09-20 12:20:27 +02:00
markers-generator.js feat: make lined icons work for all elements, v1.107.0 2025-02-08 14:05:28 +01:00
military-generator.js feat: make lined icons work for all elements, v1.107.0 2025-02-08 14:05:28 +01:00
names-generator.js fix: allow to load smaller namesbase without issues on regeneration 2024-10-09 01:08:47 +02:00
ocean-layers.js feat: optimizeSpeed rendering (1.87.15) 2022-10-13 00:52:49 +03:00
provinces-generator.js Removed priority queue in favor of FlatQueue (#1157) 2024-10-26 14:26:59 +02:00
religions-generator.js Removed priority queue in favor of FlatQueue (#1157) 2024-10-26 14:26:59 +02:00
resample.js fix: sumap - clip routes by bbox 2024-12-14 15:12:38 +01:00
river-generator.js fix: 1.106.7 - rivers starting width calc 2024-12-17 17:11:13 +01:00
routes-generator.js Implement hierarchical burg placement and route generation system 2025-08-12 22:44:54 +01:00
submap.js chore: parse DEBUG setting as an object 2024-10-22 14:45:25 +02:00
voronoi.js Fix: flux calculation from area-propotional value instead of normal value. (#654) 2021-08-15 12:43:20 +03:00
zones-generator.js fix: add p to priority queue 2024-10-26 14:29:52 +02:00