Merge remote-tracking branch 'origin/main' into claude/hal-676-gev-fire-intensity-742bd1

# Conflicts:
#	src/i18n/locales/es.json
#	src/i18n/locales/ru.json
#	src/i18n/locales/uk.json
#	src/i18n/locales/zh-CN.json
This commit is contained in:
German Khokhlov committed 2026-11-04 22:45:08 +04:00
commit 908cce915a
222 files changed
+31778 -1189

No files matched your search

@@ -0,0 +1,8 @@
- Add a Prohibited & Restricted Airspace layer for FAA prohibited (P) and
restricted (R) special-use airspace. The keyless `/api/drone-airspace` proxy
pages the public SUA FeatureServer, keeps a one-hour snapshot, and serves
stale data when a refresh fails. Zones draw as ground polygons (red
prohibited, orange restricted); selection shows name, altitude range, times
of use and agency, and the row legend states the layer is informational only
and does not include the UAS Facility Map or UAS flight restrictions. Off by
default; share-link token `8` (mvanhorn, #1086).
+18
View File
@@ -0,0 +1,18 @@
- Add Houston traffic cameras from Houston TranStar as a CCTV pack. The camera
list is one keyless JSON request to
`traffic.houstontranstar.org/data/layers/cctvSnapshots_json.js`; frames are
stills synthesized from each numeric camera id on `www.houstontranstar.org`,
so a catalog field cannot steer the proxy off-host. Cameras without a
snapshot id, and cameras outside Greater Houston, are dropped. TranStar's
`dir` field (the side of the freeway the camera sits on) seeds a
low-confidence heading along the nearest lanes' travel direction. TranStar's
Content Usage terms (traffic.houstontranstar.org/disclaimer.aspx) prohibit
copying, distribution and external framing of its images without TxDOT's
written permission, so the pack is off by default; operators should set
`CCTV_HOUSTON_ENABLED=1` only if they hold that permission. Frames are
relayed on demand with `no-store` and not archived. Once enabled, it loads
the 250 cameras nearest downtown, Uptown, the Medical Center, IAH and
Galveston; `CCTV_HOUSTON_MAX_SOURCES` changes that cap.
Snapshots update about every 3 minutes. The catalog-wide ceiling is
unchanged; extra cameras share it round-robin with the other packs
(mvanhorn, #1125).
+3
View File
@@ -0,0 +1,3 @@
- Vendor the Bosch MIC PTZ datasheet records that the City of Amsterdam camera
register names (MIC-7522, MIC-7502, MIC-7130), with the register's `x` colour
wildcard as an alias, from the CCTV Camera Database v2.29.0 (ch-bas, #1319).
@@ -0,0 +1,4 @@
- Ground-sample Data Centers and Dams markers only when the camera sees the
ground under them. Unseen ground read through the Earth and retried every
2 s; over Ashburn, Virginia on the Esri map, slow frames reached 2 s
(quanticsoul4772, #1464).
+4
View File
@@ -0,0 +1,4 @@
- Street Traffic gives the two TomTom `one_side` lines of one two-way street
a two-way direction's half share of simulated vehicles each, so the street
is no longer drawn twice as dense as the same street from OpenStreetMap
(quanticsoul4772, #1495).
+9
View File
@@ -0,0 +1,9 @@
- Add a typed AI chat beside the voice mic in the command dock. Replies are
silent and never use the microphone; messages run the same map actions as
voice through OpenAI Chat Completions (`OPENAI_CHAT_MODEL`) or Gemini
`generateContent` (`GEMINI_CHAT_MODEL`). Chat is throttled per IP by
`GEV_RATELIMIT_OPENAI_CHAT_PER_MIN` or `GEV_RATELIMIT_GEMINI_CHAT_PER_MIN`,
which default to that provider's voice throttle, and `GEV_PREFER_CODEX_OAUTH`
turns OpenAI chat off. The chat and voice panels minimize to a bar or dock
beside the right rail, and step aside for the Location and Visual Presets
trays (Manjunath, @manjunath22466, with Darren Dignam, @darrendignam, #1507).
@@ -0,0 +1,4 @@
- Draw the Global Context 250 km range ring as a 4 px line with a dark halo,
so it stays visible over desert, snow, ocean and forest and under the FLIR,
NVG and CRT styles, where the old 1 px outline disappeared (manjunath22466,
#1518).
@@ -0,0 +1,8 @@
- The Global Context range ring pulses like a sonar: three dim rings with a
soft inward glow grow from the subject to 250 km, and the ring flashes as
each one arrives. Flights, military aircraft and AIS vessels a pulse crosses
get a brief echo around their brackets. The pulses run for about 9 s after
a selection or camera move, dimming the ring between flashes, then rest
with the ring steady on screen, so a parked view stops repainting. Under
reduced motion there are no pulses and the ring stays on screen
(manjunath22466, #1519).
+5
View File
@@ -0,0 +1,5 @@
- Keep the globe on screen when zooming out from a tilted view. User zoom is
capped at 40,000 km, and above 300 km outward zoom pitches the view down so
Earth stays framed. Correction finishes when zoom stops, respects tilt
gestures and stricter host limits, and yields to other camera actions
(asturksever, #1522).
@@ -0,0 +1,5 @@
- Finish the typed AI chat translations. The "Reset to globe view" and "Show
earthquakes" quick commands are now translated, Traditional Chinese follows
Simplified Chinese again, Arabic docks the panel to the side it actually
lands on, and the new strings use each language's glossary terms
(German, @gekh, #1545).
+15
View File
@@ -0,0 +1,15 @@
- Voice can reuse what it outlines. `resolve_area` turns a named place into a
reusable area, keeping every part and hole, from the same sources as voice
outlines; a name several countries or states share ("Georgia", "Punjab") is
asked about unless the view is inside one of them. "Draw an area around
<landmark>" outlines the mapped area enclosing it, or a 250 m buffer marked
approximate. `analyst_query` counts inside an area, the area you drew or an
outline on the map, and `find_imagery` shows the best recent acquisition for
an area, the view or the spot under the pointer (manjunath22466, #846).
- `osm_query` ("hospitals in Kathmandu") lists places of one kind into a
session-only OSM Places layer. It is offered only when `OVERPASS_UPSTREAMS`
is set, and `/api/osm/features` refuses before fetching otherwise; public
Nominatim is never used for it (manjunath22466, #846).
- Analyst counts that combine flights, military aircraft and local ADS-B are
named "aircraft". Follow-ups keep the displayed scope and the loaded-data
caveat until a new scope replaces them (manjunath22466, #846).