From 05de284e020139fa22c3a9a943b7a522fc1f3cac Mon Sep 17 00:00:00 2001 From: Azgaar Date: Fri, 20 Sep 2024 12:20:27 +0200 Subject: [PATCH] Refactor layers rendering (#1120) * feat: render states - use global fn * feat: render states - separate pole detection from layer render * feat: render provinces * chore: unify drawFillWithGap * refactor: drawIce * refactor: drawBorders * refactor: drawHeightmap * refactor: drawTemperature * refactor: drawBiomes * refactor: drawPrec * refactor: drawPrecipitation * refactor: drawPopulation * refactor: drawCells * refactor: geColor * refactor: drawMarkers * refactor: drawScaleBar * refactor: drawScaleBar * refactor: drawMilitary * refactor: pump version to 1.104.00 * refactor: pump version to 1.104.00 * refactor: drawCoastline and createDefaultRuler * refactor: drawCoastline * refactor: Features module start * refactor: features - define distance fields * feat: drawFeatures * feat: drawIce don't hide * feat: detect coastline - fix issue with border feature * feat: separate labels rendering from generation process * feat: auto-update and restore layers * refactor - change layers * refactor - sort layers * fix: regenerate burgs to re-render layers * fix: getColor is not defined * fix: burgs overview - don't auto-show labels on hover * fix: redraw population on change * refactor: improve tooltip logic for burg labels and icons * chore: pump version to 1.104.0 * fefactor: edit coastline and lake * fix: minot fixes * fix: submap --------- Co-authored-by: Azgaar --- index.css | 16 +- index.html | 102 +- libs/simplify.js | 103 ++ main.js | 328 +--- modules/burgs-and-states.js | 375 +--- modules/dynamic/auto-update.js | 24 +- modules/dynamic/editors/cultures-editor.js | 1 + modules/dynamic/editors/religions-editor.js | 1 + modules/dynamic/editors/states-editor.js | 23 +- modules/features.js | 255 +++ modules/io/export.js | 2 + modules/io/load.js | 12 +- modules/lakes.js | 174 +- modules/military-generator.js | 136 +- modules/provinces-generator.js | 257 +++ modules/renderers/draw-borders.js | 120 ++ modules/renderers/draw-burg-icons.js | 69 + modules/renderers/draw-burg-labels.js | 39 + modules/renderers/draw-emblems.js | 129 ++ modules/renderers/draw-features.js | 61 + modules/renderers/draw-heightmap.js | 144 ++ modules/renderers/draw-markers.js | 50 + modules/renderers/draw-military.js | 126 ++ modules/renderers/draw-scalebar.js | 101 ++ .../{state-labels.js => draw-state-labels.js} | 4 +- modules/renderers/draw-temperature.js | 104 ++ modules/river-generator.js | 6 +- modules/submap.js | 101 +- modules/ui/3d.js | 5 +- modules/ui/battle-screen.js | 4 +- modules/ui/burg-editor.js | 2 +- modules/ui/burgs-overview.js | 6 +- modules/ui/coastline-editor.js | 151 +- modules/ui/editors.js | 26 +- modules/ui/general.js | 18 +- modules/ui/heightmap-editor.js | 34 +- modules/ui/hotkeys.js | 6 +- modules/ui/lakes-editor.js | 138 +- modules/ui/layers.js | 1578 +++-------------- modules/ui/measurers.js | 29 + modules/ui/provinces-editor.js | 116 +- modules/ui/regiment-editor.js | 4 +- modules/ui/regiments-overview.js | 2 +- modules/ui/style.js | 7 +- modules/ui/submap.js | 3 +- modules/ui/tools.js | 40 +- modules/ui/units-editor.js | 4 +- modules/ui/world-configurator.js | 6 +- modules/ui/zones-editor.js | 1 + utils/commonUtils.js | 1 + utils/pathUtils.js | 140 +- versioning.js | 2 +- 52 files changed, 2473 insertions(+), 2713 deletions(-) create mode 100644 libs/simplify.js create mode 100644 modules/features.js create mode 100644 modules/provinces-generator.js create mode 100644 modules/renderers/draw-borders.js create mode 100644 modules/renderers/draw-burg-icons.js create mode 100644 modules/renderers/draw-burg-labels.js create mode 100644 modules/renderers/draw-emblems.js create mode 100644 modules/renderers/draw-features.js create mode 100644 modules/renderers/draw-heightmap.js create mode 100644 modules/renderers/draw-markers.js create mode 100644 modules/renderers/draw-military.js create mode 100644 modules/renderers/draw-scalebar.js rename modules/renderers/{state-labels.js => draw-state-labels.js} (99%) create mode 100644 modules/renderers/draw-temperature.js diff --git a/index.css b/index.css index eb1e82fc..49ecd8f0 100644 --- a/index.css +++ b/index.css @@ -122,10 +122,6 @@ a { fill: none; } -#biomes { - stroke-width: 0.7; -} - #landmass { mask: url(#land); fill-rule: evenodd; @@ -190,20 +186,12 @@ t, font-size: 0.8em; } -#statesBody { - stroke-width: 3; -} - #statesHalo { fill: none; stroke-linecap: round; stroke-linejoin: round; } -#provincesBody { - stroke-width: 0.2; -} - #statesBody, #provincesBody, #relig, @@ -733,7 +721,7 @@ input[type="color"]::-webkit-color-swatch-wrapper { #toolsContent > .grid { display: grid; - grid-template-columns: repeat(4, 1fr); + grid-template-columns: repeat(3, 1fr); margin: 0.2em 0; } @@ -780,7 +768,7 @@ fieldset { text-overflow: ellipsis; } -.tabcontent .buttonoff { +.tabcontent li.buttonoff { background-color: var(--bg-disabled); color: #444444aa; } diff --git a/index.html b/index.html index 931174f1..6fcaf3c5 100644 --- a/index.html +++ b/index.html @@ -138,7 +138,7 @@ } - + @@ -344,6 +344,10 @@ + + + + @@ -351,9 +355,6 @@ - - - @@ -438,7 +439,7 @@