feat: Introduce SceneModule for managing map and WebGL canvas integration

This commit is contained in:
Azgaar 2026-03-13 01:07:10 +01:00
parent 125403b82f
commit 42557881bb
6 changed files with 197 additions and 11 deletions

View file

@ -13,6 +13,8 @@ const ERROR = true;
// detect device
const MOBILE = window.innerWidth < 600 || navigator.userAgentData?.mobile;
Scene.bootstrap();
if (PRODUCTION && "serviceWorker" in navigator) {
window.addEventListener("load", () => {
navigator.serviceWorker.register("./sw.js").catch(err => {
@ -32,7 +34,7 @@ if (PRODUCTION && "serviceWorker" in navigator) {
}
// append svg layers (in default order)
let svg = d3.select("#map");
let svg = d3.select(Scene.getMapSvg());
let defs = svg.select("#deftemp");
let viewbox = svg.select("#viewbox");
let scaleBar = svg.select("#scaleBar");

View file

@ -302,11 +302,11 @@ async function parseLoadedData(data, mapVersion) {
{
svg.remove();
document.body.insertAdjacentHTML("afterbegin", data[5]);
const mapSvg = Scene.replaceMapSvg(data[5]);
svg = d3.select(mapSvg);
}
{
svg = d3.select("#map");
defs = svg.select("#deftemp");
viewbox = svg.select("#viewbox");
scaleBar = svg.select("#scaleBar");