feat: add relay-backed web radar sharing

- publish radar state/bootstrap snapshots to an HTTP relay
- add shared waypoint sync through relay APIs and SSE updates
- add remote Caddy/deploy tooling and mock relay push script
- add static POIs, topo-tile availability checks, and tile-load throttling
- add WASM 3D map engine and Python map data-prep pipeline
- update worn clothing reads to include slot metadata
- add grid controls, render perf HUD, and marker/label scaling tweaks
- remove embedded map resource generation in favor of disk/relay maps
This commit is contained in:
67
2026-06-23 03:11:52 +08:00
parent 7f9a6620f9
commit 361c6baa8f
16 changed files with 539 additions and 147 deletions
+19 -5
View File
@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>DayZ Web Radar</title>
<link rel="stylesheet" href="style.css?v=7">
<link rel="stylesheet" href="style.css?v=13">
</head>
<body>
@@ -53,8 +53,7 @@
<label class="toggle-row"><input type="checkbox" id="showLabels" checked><span>Labels</span></label>
<label class="toggle-row"><input type="checkbox" id="showPOIs" checked><span>Locations</span></label>
<label class="toggle-row"><input type="checkbox" id="showGrid"><span>Grid <kbd>G</kbd></span></label>
<label class="toggle-row"><input type="checkbox" id="showSatellite"><span>Satellite</span></label>
<label class="toggle-row"><input type="checkbox" id="showSatmap"><span>Sat map</span></label>
<label class="toggle-row"><input type="checkbox" id="showSatmap"><span>Satellite map</span></label>
<label class="toggle-row"><input type="checkbox" id="showDistanceRings"><span>Distance rings</span></label>
<label class="toggle-row"><input type="checkbox" id="showMinimap"><span>Minimap</span></label>
</div>
@@ -152,6 +151,20 @@
</div>
</div>
<div class="tab-section">
<div class="section-label">Grid</div>
<label class="setting-row">
<span class="setting-name">Line weight</span>
<span id="gridLineWeightValue" class="setting-val">2.5 px</span>
<input type="range" id="gridLineWeight" min="0.5" max="6" step="0.5" value="2.5">
</label>
<label class="setting-row">
<span class="setting-name">Label size</span>
<span id="gridLabelSizeValue" class="setting-val">13 px</span>
<input type="range" id="gridLabelSize" min="8" max="24" step="1" value="13">
</label>
</div>
<div class="tab-section">
<div class="section-label">Theme</div>
<div class="theme-bar">
@@ -206,7 +219,8 @@
<!-- Right-click context menu -->
<div class="ctx-menu" id="ctxMenu">
<button class="ctx-item" id="ctxAddWaypoint">Add waypoint</button>
<button class="ctx-item" id="ctxAddWaypoint">Add waypoint (local)</button>
<button class="ctx-item ctx-item-shared" id="ctxAddSharedWaypoint">Add shared waypoint</button>
<button class="ctx-item" id="ctxCopyCoords">Copy coordinates</button>
</div>
@@ -228,6 +242,6 @@
<!-- ── Toast notifications ────────────────────────────────────────── -->
<div class="toast-stack" id="toastStack"></div>
<script src="app.js?v=7"></script>
<script src="app.js?v=13"></script>
</body>
</html>