Merge branch 'sameh/world-clock' into sameh/world-timeline-launches

This commit is contained in:
Sameh Khamis committed 2026-11-08 12:13:46 -08:00
commit 137639dd38
572 files changed
+111206 -2700

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 @@
- Add Sea Marks (OpenSeaMap) and Ski Pistes (OpenSnowMap) as two raster
overlay layers under Infrastructure. They drape on the globe stacks and on
Google 3D, and share links keep each one (Tom-Neverwinter, #114).
@@ -0,0 +1,6 @@
- Add optional keyless Radio priority-country coverage with up to 40 stations
per configured country inside the existing 750-station cap; the UK alias uses
the canonical GB code. Country query
failures do not block a healthy global catalog. Bound mirror attempts to three
and retry failed or partial refreshes after 60 seconds on all installations,
including those without priority countries configured (m3ayush, #1206).
@@ -0,0 +1,13 @@
- Keep Overpass-backed layers working behind a reverse proxy: `/api/overpass`
now uses the keyless same-site gate, admits forwarding headers and still
refuses cross-site requests. Direct loopback requests keep their own
admission window; proxied requests, including those a local reverse proxy
relays over loopback, are admitted as remote traffic keyed by their socket,
and IPv6 peers are keyed by /64, so neither LAN peers nor proxied users can
exhaust the owner's admission. The upstream budget stays shared, so an owner
cache miss can still be rate-limited (asturksever, #1308).
- Give the tracking arrival check a wall-clock budget per observed frame and
retry only an inconclusive timeout: a timeout keeps every angle it
measured, including a late frame's, and a wrong one fails without retry, so slow software-rendered
frames no longer fail the check and a real violation is never retried into a
pass (asturksever, #1308).
+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).
+12
View File
@@ -0,0 +1,12 @@
- Color every Active Fires detection by fire radiative power on a six-stop
ember → white-hot ramp (ember · red · flame · orange · gold · white-hot at
0 · 5 · 20 · 50 · 100 · 300 MW, brighter as power rises), and add a
log-scale minimum-FRP slider whose track is the ramp, an All / Nominal+ /
High confidence switch and an "N of M shown" counter to the layer row. Far
zoom shows a Snap Map–style heatmap in the same colors instead of squares,
one distinct spot per fire, empty where nothing burns, and cross-fades with
the markers around 4,500 km with no gap, keeping weak fires as markers. The filter applies once before
rendering, so markers, cards, the heatmap, context and the top-fires query
agree; share links keep it (`w` token: `f`, `c`), and `get_active_fires`
takes matching `min_frp_mw` and `confidence` arguments. Default 0 MW / All
(gekh, #1426).
@@ -0,0 +1,5 @@
- Military aircraft that leave the adsb.lol feed fade and are removed again.
The feed's routine position-less rows no longer mark every snapshot partial,
which kept vanished aircraft at full opacity for up to five minutes; those
rows keep only their own aircraft, and a likely-landed one still leaves on
the landed limit (Aditya, @Rohilalala, #1435).
@@ -0,0 +1,3 @@
- A terrain request the proxy can only partly answer (a 429 pause, or a point
the upstream returns without a height) now keeps the real heights it has
instead of putting the whole chunk on the geoid (quanticsoul4772, #1456).
@@ -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).
@@ -0,0 +1,5 @@
- Radio Next, Previous and the tuning dial no longer start a broadcaster stream
before Play is pressed; while a stream plays, it follows the new station.
Play reads Pause while a stream connects, and a tuner release onto a station
the directory removed or changed no longer leaves a Resume for another
station (gekh, #1474).
+5
View File
@@ -0,0 +1,5 @@
- Add Rio de Janeiro to the Transit layer: municipal buses and the Mobi-Rio BRT
from SMTR's keyless GTFS-Realtime feeds (CC BY 4.0), the layer's first Latin
American region. Rio's internal route keys are joined to SMTR's published
GTFS `routes.txt`, so a card reads "Route SN731" rather than
"Route O0731AAN0A" (IMBrandao, #1481).
+3
View File
@@ -0,0 +1,3 @@
- Write the AI HUD summary in the interface language, led by the HUD's own
translated feed-state warning. A partial layer no longer reads as off or
nominal in the HUD, voice and analyst answers (German, @gekh, #1488).
+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).
@@ -0,0 +1,8 @@
- Expand CCTV coverage with a keyless Taiwan Highway Bureau fallback, 1,120
Québec camera locations, City of Ottawa traffic cameras (needs a free city
access certificate, `OTTAWA_CAMERA_CERTIFICATE`), and 2,230 curated
image-backed cameras from Oregon and Japan (InoukT, #1506).
- Québec 511 in-browser video is opt-in (`CCTV_QUEBEC_VIDEO_ENABLED=1`) and
loads only after the viewer presses Play; enforce provider-specific frame
refresh limits, and report recognized MLIT maintenance images as degraded
instead of healthy camera snapshots.
+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).
+6
View File
@@ -0,0 +1,6 @@
- Voice "tilt the camera" works from the top-down view a fly-to lands on: the
camera swings about the place under the crosshair, keeps its heading, and can
tilt to a spoken angle ("tilt 45 degrees") or a default oblique view. A tilt,
orbit, pan or rotate said with a fly-to ("fly to Paris and orbit it") now
waits for the flight to land, and is dropped if you move the map meanwhile
(Manjunath, @manjunath22466, #1520).
+4
View File
@@ -0,0 +1,4 @@
- Cockpit Contact counts and the Contacts list name the provider that
answered, marked `FALLBACK` or `STALE` as in the Layers panel. Flights from
the adsb.lol fallback no longer read OpenSky, and vessels no longer always
read AISStream (German, @gekh, #1521).
+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,4 @@
- Add an adjustable event-age filter across S2 GhostMaps products, defaulting
to seven days with 1-, 3-, 14- and 30-day choices and an All markers option.
Preserve undated features, save the selected window and expire old events
while the map stays open. Thanks @dylanmaniatakes (#1528).
+11
View File
@@ -0,0 +1,11 @@
- Keep the globe in view from orbit. Cesium's free look (Shift+drag) turned
the camera in place, so a few drags from the whole-globe view left only
stars, and the pose stayed in the share link. Free look now works only below
1,000 km, and above it a drag that starts on the stars orbits the globe
instead of turning the camera; a camera move that ends above it with no
planet surface in view (inside the scope keyhole when the scope is on) turns
straight down; and voice tilt and turns from orbit stop while the planet is
still on screen and say so instead of reporting a turn they could not make.
Thanks to [Chad Elliott](https://github.com/THEtheChad) for the review that
closed the drag path and kept authored scenes framed (Manjunath,
@manjunath22466, #1532).
@@ -0,0 +1,2 @@
- Keep retained Active Fires heat imagery hidden when an empty filtered layer is
re-enabled while a new snapshot is pending (radianx, #1535).
@@ -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).
+5
View File
@@ -0,0 +1,5 @@
- Keep typed chat's view when switching AI Provider: Settings opened from
chat stay chat's Settings for the new provider instead of falling back to
voice and widening the dock. Opening chat or closing the
voice panel now also clears a voice error left on the dock (Manjunath,
@manjunath22466, #1546).
@@ -0,0 +1,6 @@
- Enter Cockpit with only the ridden aircraft's layer on. Contacts is no longer
required, and ending Contacts mid-session keeps the view and the layer it
rides; turning off the aircraft's own feed ends the view, a missing other
feed reads `… FEED OFF · PARTIAL PICTURE`, and double-clicking the followed
aircraft or the entry beside its readout enters it (Denis Groshev, @ZloyS,
#1556).
@@ -0,0 +1,3 @@
- Chat autocomplete finds Arabic suggestions typed without short vowels or
shadda, so «تتبع» now suggests «اعرض تتبّع الرحلات المباشر»
(German, @gekh, #1561).
@@ -0,0 +1,4 @@
- Space Missions no longer locks the workspace when its mission index fails to
load (429, timeout or bad payload): entry rolls back to the previous layers
and camera view and a toast says the index could not load (German, @gekh,
#1578).
@@ -0,0 +1,4 @@
- Fix the translations of the voice area cards, the fire confidence filter,
the drone airspace layer and Sea Marks: one word for "landmark" per
language, the airspace layer names the airspace again, and Traditional
Chinese follows Simplified Chinese again (German, @gekh, #1581).
@@ -0,0 +1,3 @@
- Keep keyless place search on a nearby exact match for names written in
non-Latin scripts instead of discarding the match and retrying without its
proximity ranking (mertkayacs, #1585).
+12
View File
@@ -0,0 +1,12 @@
- Add Wildlife Sightings in the Wildlife layer group, off by default, using
keyless iNaturalist observations within 48 h (whales 7 d) and Acartia Salish
Sea marine mammals. CONFIRMED and taxa filters share via token `9`.
A noninteractive density glow accompanies real-sighting taxon badges,
decluttered species labels and credited ambient photos. Selection stays
pinned across camera and sample changes and opens an anchored photo card
with a contained image, creator/licence and one iNaturalist source link.
Obscured and Acartia sightings use text-only cards; private records and
Acartia comments are excluded. Attribution appears in the layer row and
Data attribution popover. Cached progressive tiles, bounded image/billboard
work and a paced queue preserve iNaturalist's 60/minute and 8,000/day limits.
All 11 locales supported. (lyehe, #1591)
@@ -0,0 +1,4 @@
- Without a Mapillary token, Street Level starts on the first keyless source
(KartaView) instead of opening on Mapillary's `KEY REQUIRED` with nothing on
the globe. A share link that turns a source off is respected
(asturksever, #1601).
@@ -0,0 +1,4 @@
- Street Traffic offers separate Lines and Dots toggles while live flow is on:
Lines draws each road with flow in green, amber or red, and Dots shows or
hides the moving dots. A host can choose which road modes it offers; without
OpenStreetMap the layer never draws simulated roads (#1609).
@@ -0,0 +1,4 @@
- Typed chat on OpenAI answers again: OpenAI refused every message because
`resolve_area`'s area-id pattern uses Unicode classes Chat Completions does
not accept. Chat leaves those patterns out; area ids are still checked
before the tool runs (samehkhamis, #1616).
+12
View File
@@ -0,0 +1,12 @@
- Add Icelandic road cameras from the Icelandic Road and Coastal Administration
(Vegagerðin) as a CCTV pack. The camera list is one keyless JSON request to
`gagnaveita.vegagerdin.is/api/vefmyndavelar2014_1` (about 500 views at 166
stations); frames are JPEG stills in `www.vegagerdin.is/vgdata/vefmyndavelar/`,
and only links inside that directory are registered. The catalog is fetched
over https with redirects refused and a 2 MiB body cap. An explicit facing in
the view description ("til vesturs", "í suður", "séð austur") sets a
high-confidence heading; other views keep the low-confidence fallback pose.
IRCA publishes the images under CC BY 4.0, credited in the Data attribution
popover. Loads the 250 views nearest Reykjavík, Akureyri, Egilsstaðir,
Ísafjörður and Selfoss; `CCTV_ICELAND_MAX_SOURCES` changes that cap and
`CCTV_ICELAND_ENABLED=0` turns the pack off (daikaginza, #1617).
@@ -0,0 +1,5 @@
- Add an optional Giroc / Webcam Romania CCTV source pack with corrected
coordinates, live HLS, a snapshot fallback and provider attribution. Allow
HLS segments up to 8 MiB so high-resolution cameras whose segments exceed
4 MiB can play, while retaining the 24 MiB per-session cache and existing
origin and session limits (NeoXrated23, #1619).
+3
View File
@@ -0,0 +1,3 @@
- Turning CCTV on opens the camera nearest you instead of the first camera in
the catalog, which showed a Sydney camera in London. A share link opens on
the camera nearest the shared view once its flight lands (samehkhamis, #1620).
+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).
@@ -0,0 +1,3 @@
- Let the voice assistant read the storm you select in Cyclone advisories:
its official advisory, position, intensity and movement. Clearing the
selection and the storm leaving the feed are reported apart (kvnloo, #847).
+4
View File
@@ -0,0 +1,4 @@
- Reduce dead-reckoning work for flights already hidden behind the horizon.
Hidden contacts update on a staggered one-in-13-ticks rotation (about once a
second) while visible contacts and contacts with fleet models retain the full
update path (Wilmer Alzate, #870).
@@ -0,0 +1,2 @@
- Add Troll Housing to the Datacenters layer (4,352 features) by refreshing
Norway from OpenStreetMap data of 2026-10-05 (trygvehhh, #953).