From a23cf852231bea618d84c2ac01b928ac327fa412 Mon Sep 17 00:00:00 2001 From: Richard Zink Date: Sat, 10 Oct 2026 11:16:11 +0200 Subject: [PATCH] config: translate all source comments to English (i18n data strings unchanged) --- config.js | 93 +++++++++++++++++++++++++++---------------------------- 1 file changed, 46 insertions(+), 47 deletions(-) diff --git a/config.js b/config.js index 934a605..d2762a1 100644 --- a/config.js +++ b/config.js @@ -80,8 +80,8 @@ window.CONFIG = { units: { temperature: 'C' }, - // Data attribution at the bottom of the info box (auto text based on - // the enabled layers). false = ausgeblendet. + // Data attribution at the bottom of the info box (automatic text + // based on the enabled layers). false = hidden. credits: true, // Internal 3D resolution scale (0.3..1, default 1). Lower values // render the clouds/map shader at reduced resolution and upscale @@ -92,61 +92,44 @@ window.CONFIG = { maxFps: 30, location: { // Latitude and longitude for sun/moon calculations - // Passau (vorher: Muenchen 48.1374/11.5755, Innsbruck 47.2692/11.4041) lat: 48.5667, lon: 13.4319 }, weatherSim: false, weatherSimInterval: 30000, - // Alles Downloads (Strassenkacheln, Hoehengitter, Wetter-JSON, - // Geo-Label) bleibt dauerhaft im IndexedDB — kein erneuter - // Download. expireDays (Tage, >0) reaktiviert periodisches - // Auffrischen der Strassenkacheln. + // All downloads (basemap tiles, elevation grid, weather JSON, geo + // label) stay in IndexedDB permanently and are never re-fetched once + // cached. expireDays (days, > 0) re-enables periodic basemap refresh. tiles: { expireDays: null, - // true = Kachel-Raender + N/S + x/y-Koords in die Boden-Textur - // malen (Debug-Orientierung). Aus = saubere Karte. + // true = draw tile borders + N/S + x/y coords into the ground + // texture (debug orientation). Off = clean map. debug: false }, - // Boden-Bildquelle: 'satellite' = ESRI World_Imagery (Luftbild, ohne - // Beschriftung), 'streets' = ESRI World_Street_Map (mit Ortsnamen). - // Beide dauerhaft gecacht (eigener Cache- Praefix pro Stil). + // Ground imagery: 'satellite' = ESRI World_Imagery (aerial, no + // labels), 'streets' = ESRI World_Street_Map (with place names). + // Both cached permanently (separate cache prefix per style). ground: { style: 'satellite' }, - // Achterkurs um location (lat/lon), ueberschneidungspunkt genau auf - // der Koordinate. null/entfernen = gerade Flugbahn. + // Figure-eight course around location (lat/lon); the crossing point + // sits exactly on the coordinate. null/removed = straight flight. orbit: { - radiusKm: 60, // Lappenspitze: max. Abstand vom Zentrum + radiusKm: 60, // lobe tip: max distance from the centre clockwise: true, - reorient: true, // Zufalls-Ausrichtung an jedem Kreuzungs-Durchflug - // Langsames vertikales Wogen innerhalb der Flugband 15-35 km: - // Mitte 25 km (~1.93 Welt-Einheiten), amp = halbes Band - // (10 km ~ 0.77); harte Klemme ueber/unter die Bandgrenzen. - // periodS Sekunden pro Zyklus, tilt = Reaktion der Kamera-Nase - // auf Steig-/Sinkrate. enabled: false = konstant 25 km. + reorient: true, // random heading at every crossing pass + // Slow vertical bobbing inside the 15-35 km flight band: + // centre 25 km (~1.93 world units), amp = half the band + // (10 km ~ 0.77); hard clamp at the band limits. + // periodS = seconds per cycle, tilt = camera nose reaction to + // climb/descent rate. enabled: false = constant 25 km. altBob: { enabled: true, amp: 0.77, periodS: 90, tilt: 0.3 } }, - // Bodennebel: Distanz-Haze. distanceKm = Sichtweite bis vollständige - // Nebelsaettigung (false/0 = aus). + // Ground fog: distance haze. distanceKm = visibility until fully + // saturated haze (false/0 = off). fog: { distanceKm: 120 }, - // 3D-Boden aus echten Hoehendaten (Copernicus DEM, terrarium-Kacheln). - // enabled: false = flache Ebene. exaggeration: vertikale Ueberhoehung - // (1 = real, unsichtbar; default 8). wireframe: true = Mesh-Kanten - // als orange Linien zusaetzlich einblenden (Debug). - // nightLights: NASA-VIIRS-Stadtlichter-Layer, der ab Sonnenuntergang - // ueber ~1 h in die Tageskarte geblendet wird (dunkler Boden, - // leuchtende Staedte). Einmaliger Fetch (~49 Kacheln), persistent - // gecacht. false = kein Lichtoverlay, nachts bleibt die normale - // Textur deutlich heller (nur sanft abgedimmt). - // carLights: fahrende Lichter auf Autobahnen (OSM/Overpass-Kurven, - // nachts additiv ueber dem Gelaende). JSON einmalig, persistent gecacht. - // cityLights: Siedlungslichter — OSM-Ortsknoten (city/town/village/ - // hamlet) als leicht gelbliche Glow-Punkte, ab Daemmerung statisch; - // je groesser die Siedlung (place-Klasse + population-Tag), desto - // mehr und hellere Punkte. Eine Overpass-Abfrage, persistent gecacht. // ---- Civil aviation (CONFIG.flights) --------------------------------- // Low-poly jets (CC0 model, vendor/plane3d.js) with randomized target // airports: the destination is rolled at every take-off (hubs weighted @@ -176,6 +159,22 @@ window.CONFIG = { contrailLifeS: 300, // trail visibility duration contrailWidthM: 310 // full trail width }, + // 3D ground from real elevation data (Copernicus DEM, terrarium + // tiles). enabled: false = flat plane. exaggeration: vertical + // elevation scale (1 = real, nearly invisible; default 8). + // wireframe: true = overlay mesh edges as orange lines (debug). + // nightLights: NASA VIIRS city-lights layer, cross-faded into the + // day map over ~1 h after sunset (dark ground, glowing cities). + // One-time fetch (~49 tiles), cached permanently. false = no light + // overlay; at night the normal texture stays much brighter (only + // gently dimmed). + // carLights: moving lights on the real road network (OSM/Overpass + // curves, additive over the terrain at night). JSON once, cached. + // cityLights: settlement lights - OSM place nodes (city/town/ + // village/hamlet) as slightly yellow glow dots from dusk on; + // bigger settlements (place class + population tag) get more and + // brighter dots. One Overpass query, cached permanently. + // Data (c) OpenStreetMap contributors, ODbL. terrain: { enabled: true, exaggeration: 8, @@ -184,20 +183,20 @@ window.CONFIG = { carLights: true, cityLights: true }, - // Tagessimulation: true = 24h-Zyklus wird in cycleSeconds durchlaufen - // (Sonne steigt im Osten, Mittag im Sueden, Untergang im Westen). - // false = echte Sonnen-/Mondposition via SunCalc. - // fixedTime: 'HH:MM' (oder Zahl 0-24) = Sim-Uhr steht still auf - // dieser Tageszeit (bewegte Objekte, Wolken, Autos und Wetter-Sim - // laufen unaffected weiter); null/auskommentiert = Uhr laeuft. - // 20:00 = maximum Verkehrsaufkommen (Plateau 18:30-23:00, Dichte=1). + // Day simulation: true = a full 24 h cycle runs in cycleSeconds + // (sun rises east, culminates south, sets west). + // false = real sun/moon positions via SunCalc. + // fixedTime: 'HH:MM' (or a number 0-24) freezes the sim clock at + // that time of day (moving objects, clouds, cars and the weather + // sim keep running unaffected); null/omitted = the clock advances. day: { simulation: false, cycleSeconds: 20, fixedTime: null }, - // Wolkendecke in Welt-Einheiten (1 unit ~ 12.9 km bei Zoom 11; - // Flugband 15-35 km = y ~ 1.16-2.70). Oberkante unter dem Tiefpunkt. + // Cloud deck in world units (1 unit ~ 12.9 km at zoom 11; flight + // band 15-35 km = y ~ 1.16-2.70). Keep the top below the lowest + // flight altitude. clouds: { top: 0.9, bottom: -0.3