Ice Layer Data Model (#1262)

* prototype for ice seperation

* feat: migrate ice data to new data model and update version to 1.110.0

* refactor: update ice data handling and rendering for improved performance

* feat: integrate ice generation and recalculation in heightmap editing

* fix ice selection(hopefully)

* fix ice selection better(pls)

* refactor: remove redundant element selection in ice editing functions

* fix: clear ice data before generating glaciers and icebergs

* sparse array implementation with reduced updates

* fix logic chech in modules/dynamic/auto-update.js

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: migrate ice data to new data model structure

* refactor: streamline ice generation process and clean up rendering functions

* refactor: simplify ice rendering logic by removing redundant clearing of old SVG

* fix: update editIce function to accept element parameter and improve logic for glacier handling

* ice drawing with only type on less occuring glaciers

* feat: add compactPackData function to filter out undefined glaciers and icebergs

* fix: clear existing ice elements before redrawing in editHeightmap function

* fix compact problems on autosave

* refactor: unify ice data structure and streamline ice element handling

* refactor: improve getNextId function to fill gaps in ice element IDs(optional commit)

* just to be sure

* bump version in html

* fix index.html script import

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
kruschen 2026-01-22 17:33:30 +01:00 committed by GitHub
parent b223dc62da
commit e597d905eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 402 additions and 118 deletions

View file

@ -259,6 +259,8 @@ function editHeightmap(options) {
Rivers.specify();
Lakes.defineNames();
Ice.generate();
Military.generate();
Markers.generate();
Zones.generate();
@ -465,6 +467,10 @@ function editHeightmap(options) {
.attr("id", d => base + d);
});
// recalculate ice
Ice.generate();
ice.selectAll("*").remove();
TIME && console.timeEnd("restoreRiskedData");
INFO && console.groupEnd("Edit Heightmap");
}