From 4f5cae83c9b834197a3039a6120c2611ff4b7785 Mon Sep 17 00:00:00 2001 From: Richard Zink Date: Tue, 13 Oct 2026 07:02:22 +0200 Subject: [PATCH] emergency: add vehicle debug output --- background.html | 19 +++++++++++++++++-- vendor/clouds3d.js | 11 +++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/background.html b/background.html index abdfb92..dc614ee 100644 --- a/background.html +++ b/background.html @@ -379,6 +379,7 @@
Time: --
Day%: --
+
Emergency: --
Weather: -- @@ -663,8 +664,8 @@ window.addEventListener('resize', scheduleFitInfoPanel); var SIM_SPEED = (function () { var d = (window.CONFIG && window.CONFIG.day) || {}; var hs = parseFloat(_hashParams.speed); - if (!isNaN(hs) && hs > 0) return hs; - if (typeof d.speed === 'number' && d.speed > 0) return d.speed; + if (!isNaN(hs) && hs >= 0) return hs; + if (typeof d.speed === 'number' && d.speed >= 0) return d.speed; // legacy: cycleSeconds used to mean "seconds per simulated day" if (typeof d.cycleSeconds === 'number' && d.cycleSeconds > 0) return 86400 / d.cycleSeconds; return 1; @@ -1835,6 +1836,20 @@ window.weatherThemes = { document.getElementById('dbg-time').textContent = (hh < 10 ? '0' : '') + hh + ':' + (mm < 10 ? '0' : '') + mm + ':' + (ss < 10 ? '0' : '') + ss; document.getElementById('dbg-day').textContent = realDayProgress != null ? (realDayProgress * 100).toFixed(1) + '%' : (t * 100).toFixed(1) + '%'; + var ed = window.__emergencyDbg || {}; + var ev = window.__emergencyVehiclesDebug || []; + var emergencyText = 'off'; + if (ed.enabled) { + emergencyText = (ev.length || 0) + ' veh'; + if (ed.startCity) emergencyText += ' | start ' + ed.startCity.km + ' km'; + if (ed.poolMode) emergencyText += ' | ' + ed.poolMode + '/' + (ed.candidates || 0); + if (ev.length) { + emergencyText += ' | ' + ev.map(function (v) { + return v.routeKm + ' km ' + (v.progressKm != null ? v.progressKm.toFixed(1) : '--') + ' km ' + (v.dir > 0 ? 'out' : 'back'); + }).join(', '); + } + } + document.getElementById('dbg-emergency').textContent = emergencyText; document.getElementById('dbg-weather').textContent = currentWeatherCode + ' (' + (window.weatherThemes[themeName] ? themeName : '?') + ')' + (window.__weatherStale ? ' cache' : ''); diff --git a/vendor/clouds3d.js b/vendor/clouds3d.js index 1cca77f..e4ad434 100644 --- a/vendor/clouds3d.js +++ b/vendor/clouds3d.js @@ -3669,6 +3669,17 @@ function updateEmergencyVehicles(now) { emergencyPts[pi++] = v.seed; emergencyPts[pi++] = route.len; } emergencyCount = pi / 10; + window.__emergencyVehiclesDebug = []; + for (var d = 0; d < emergencyVehicles.length; d++) { + var vv = emergencyVehicles[d], rr = emergencyRoutes[vv.route]; + if (!rr) continue; + window.__emergencyVehiclesDebug.push({ + routeKm: +(rr.lenKm).toFixed(1), + progressKm: +(vv.d * KM_PER_TILE).toFixed(1), + dir: vv.dir, + seed: +vv.seed.toFixed(3) + }); + } return emergencyCount; }