Commit Graph
471 Commits
Author SHA1 Message Date
Sameh Khamis 2b53af71ab Merge branch 'main' into contrib/gods-019-terrain-warm-batch-lru-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 18:54:35 -07:00
Sameh Khamis 4a2c6ff7f6 Merge branch 'main' into contrib/gods-015-imagery-box-missing-edge-20261011-reviewed 2026-10-14 18:44:19 -07:00
Mazeyar Moeini Feizabadi 4092c2e9a2 merge: refresh file import integration against main 2026-10-15 02:48:47 +02:00
Rudy CelekliandClaude Sonnet 5.5 360aa74f50 fix(imagery): paginate raw CMR pages within the record budget
Rebased onto current main with review follow-ups folded in.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 20:13:52 -04:00
Rudy CelekliandClaude Sonnet 5.5 4fcca5b215 docs: separate CHANGELOG bullets after rebase
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 20:13:40 -04:00
Rudy Celekli af128bd4cd fix(regional): keep impossible compact article dates unknown 2026-10-14 20:13:34 -04:00
Rudy CelekliandClaude Sonnet 5.5 1f83897d77 docs: separate CHANGELOG bullets after rebase
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 20:13:26 -04:00
Rudy CelekliandClaude Sonnet 5.5 e225f0851b docs: separate CHANGELOG bullets after rebase
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 20:13:15 -04:00
Rudy CelekliandClaude Sonnet 5.5 3962ac52f7 fix(imagery): require explicit Data-Present proof before decoding thumbnails
Rebased onto current main with review follow-ups folded in.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 20:13:02 -04:00
Rudy Celekli 5889d35327 fix(maps): stop delivering settled state to detached subscribers 2026-10-14 20:12:42 -04:00
Rudy Celekli cd7c23b36f fix(director): reject cancellation during the final asset stream read 2026-10-14 20:12:40 -04:00
Rudy CelekliandClaude Sonnet 5.5 e26a715b04 docs: separate CHANGELOG bullets after rebase
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 20:12:33 -04:00
Rudy CelekliandClaude Sonnet 5.5 29583c55ed fix(firms): reject impossible acquisition days in CSV parsing
Rebased onto current main with review follow-ups folded in.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 20:12:29 -04:00
Rudy Celekli 8b68ff8412 fix(firms): reject missing and out-of-range detection coordinates 2026-10-14 20:12:08 -04:00
Rudy CelekliandClaude Sonnet 5.5 d861f24d3e docs: separate CHANGELOG bullets after rebase
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 20:11:57 -04:00
Rudy Celekli 9f56e9df98 fix(terrain): refresh cache recency when resolving warm batches 2026-10-14 20:11:49 -04:00
Sameh Khamis 6ffbf7f524 fix(imagery): refuse blank box edges at every conversion
Share-link integers and Cesium radians were converted before normalizeBox
checked them, so a blank edge still became 0°. Edges are now accepted only as
numbers or non-blank numeric strings, which also refuses [] and {}. Tests cover
all four edges through validateBox, dequantizeBox, boxFromRectangle and
searchHls.
2026-10-14 20:11:39 -04:00
Rudy Celekli 9c9c80a7ed docs: address review scope and feature placement for #1036 2026-10-14 20:11:20 -04:00
Rudy Celekli c5ac24b600 fix(recent-imagery): reject absent box edges instead of inventing zero degrees 2026-10-14 20:11:19 -04:00
Sameh Khamis 7e6ab49815 Merge branch 'main' into contrib/gods-011-street-level-unique-tiles-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 17:03:46 -07:00
Sameh Khamis 51d335b1db test: check the route cap at exactly 200 turns
The existing "route that fits" case used 199 steps, which is how the
off-by-one went unnoticed. Folds the docs note into the existing cap sentence
and makes the changelog entry specific.
2026-10-14 16:35:10 -07:00
Sameh Khamis c07b71a443 Merge branch 'main' into contrib/gods-011-street-level-unique-tiles-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 16:34:46 -07:00
Sameh Khamis 7cc6199245 Merge branch 'main' into contrib/gods-009-route-cap-truthfulness-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 16:34:45 -07:00
Sameh Khamis 2befda5286 Merge branch 'main' into contrib/gods-006-weather-missing-observations-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 16:03:41 -07:00
Sameh Khamis 47a35f9816 Merge branch 'main' into contrib/gods-005-tool-schema-codepoints-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 15:54:52 -07:00
Sameh Khamis a7e5f341ab Merge branch 'main' into contrib/gods-006-weather-missing-observations-20261011-reviewed 2026-10-14 15:03:20 -07:00
Sameh Khamis d74556a801 Merge branch 'main' into contrib/gods-005-tool-schema-codepoints-20261011-reviewed 2026-10-14 15:03:19 -07:00
Sameh Khamis b80ef27eb9 Merge branch 'main' into contrib/gods-002-director-dateline-seek-20261011-reviewed 2026-10-14 15:03:18 -07:00
Rudy CelekliandClaude Sonnet 5.5 4adcb3f727 docs: drop superseded CHANGELOG bullet
The review-driven rewrite added a narrower entry but left the original
bullet in place, so the PR carried two entries for one change.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 15:18:17 -04:00
HEOJUNFOandSameh Khamis 750f3da6eb fix(styles): keep Snow wind sway bounded over time (#782)
The horizontal offset multiplied elapsed time by a sine, so flakes swung faster the longer the app ran. It is now the integral of the intended sway velocity, which stays bounded at any session age; Wind still scales the amplitude.

Co-authored-by: Sameh Khamis <[email protected]>
2026-10-14 11:48:51 -07:00
Sameh Khamis f6ae1ecdd1 Merge branch 'main' into fix/right-rail-css-hidden-panel-20261003
# Conflicts:
#	CHANGELOG.md
2026-10-14 11:27:31 -07:00
Sameh Khamis aa32d4d588 Merge branch 'main' into fix/right-rail-css-hidden-panel-20261003 2026-10-14 11:20:20 -07:00
Sameh Khamis c7c63a00ce Merge branch 'main' into contrib/gods-001-coordinate-empty-components-20261011-reviewed 2026-10-14 11:20:19 -07:00
Rudy Celekli f67888be00 docs: address review scope and feature placement for #1032 2026-10-14 14:17:56 -04:00
Rudy Celekli ba58a5ec50 fix(street-level): deduplicate overlapping dateline tile halves 2026-10-14 14:17:56 -04:00
Rudy Celekli a140c52f84 fix(directions): report truncation only when a maneuver was actually omitted 2026-10-14 14:17:52 -04:00
Rudy Celekli c86c1a4cce fix(weather): keep absent observations unknown instead of reporting clear skies 2026-10-14 14:17:48 -04:00
Rudy Celekli 2c5fb039ce fix(tools): enforce string schema lengths by Unicode code point 2026-10-14 14:17:46 -04:00
Rudy Celekli 632005d221 fix(director): seek camera longitude across the shortest dateline arc 2026-10-14 14:17:39 -04:00
Sameh Khamis 6f0d1bb35f fix(ui): keep panels the right rail hides itself in its layout
Exclusive presentation hides collapsed right-rail panels with display: none.
Skipping every display: none panel also skipped those, so panels the rail had
auto-collapsed stayed collapsed after the HUD was hidden or left Tactical.
Only panels hidden by other CSS are skipped now. Adds the changelog and
current-state notes.
2026-10-14 11:07:18 -07:00
Sameh Khamis db8e1ad7cb Merge branch 'main' into contrib/gods-001-coordinate-empty-components-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 11:06:17 -07:00
Sameh Khamis c34cef559d Merge branch 'main' into fix/cctv-hls-insecure-context 2026-10-14 11:06:10 -07:00
Said TurkseverandClaude Opus 5.5 4838a64373 docs: restore NYC CCTV changelog entry below the Bing note
The merge from main replaced the NYC DOT opt-in pack entry instead of
adding the Bing entry above it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 17:13:17 +01:00
Said Turksever a09d4534a0 Merge branch 'main' into fix/bing-ion-https 2026-10-14 16:56:08 +01:00
Mazeyar Moeini Feizabadi 01a8ad7aa7 fix: address GNSS integrity and aircraft emergency review findings 2026-10-14 17:43:13 +02:00
Mazeyar Moeini Feizabadi 4240d04642 Merge current main into HAL-522 review candidate 2026-10-14 16:53:13 +02:00
Said TurkseverandClaude Opus 5.5 da0d370fa3 Merge upstream/main (KartaView #1121 merged) into pr/panoramax
KartaView's later viewer changes are carried into the shared
photoViewer.js: the camera bearing (`bearingOf`), redrawing the same
photo after a GPU reset through `onReopen`, no pose while a lost context
recovers, the 2,560 px flat version only once the viewer outgrows
1,280 px, `refreshPose`, and one sharper-panorama load at a time with a
second look once it lands. Its tile cache's `keyOf` and `clear` move to
the shared tileCache.js. KartaView gets `onEscape` beside `onReopen`.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 15:52:21 +01:00
Said TurkseverandClaude Opus 5.5 cf502429a3 fix(street-level): Panoramax IC8 review — line geometry budget, caches, attribution, tests
From a five-lens IC8 review (correctness, security, tests with mutation
testing, performance, UX):
- P0: over Paris at 12–60 km the unsimplified z10–z12 lines sent ~2M
  points to Cesium's ground-polyline builder (gigabytes of geometry; the
  tab hung). decode.js now simplifies lines (Douglas–Peucker, 4 tile
  units: 6–10% of the points), and lineCoverage gains an opt-in point
  budget (`maxPoints`, 10,000 a tile for Panoramax).
- Decoded coverage tiles are kept (KartaView's tile cache moves to the
  shared tileCache.js); a sequence's z15 picture lists are kept and load
  on their own connection; cones know their tiles from the start of a
  load, so a picture opening meanwhile re-centres them and ‹ › no longer
  restarts the load.
- The HD panorama loads only for the expanded viewer (a docked one on a
  dense screen asked for 3 MB originals) and is aborted when another
  photo opens; picture files over 48 MB or 16,384 px are refused; a
  bitmap no renderer took after a context loss is closed.
- A nearest lookup survives one of its two searches failing; only a
  timeout is retried; offline reads as unreachable; Retry-After is
  capped at five minutes; the search box stays on the map at ±180°;
  cones near both edges of a narrow (high-latitude) tile read both.
- Every producer is credited (app and photographer); with none to name,
  the caption says "via <instance>" rather than crediting the host.
- Esc anywhere in the docked viewer (toolbar, caption) clears the
  sequence before the panel takes it. A filter that hides every density
  dot says so; wording aligned ("coverage", "photo").
- Tests for every surviving mutant (Esc consumed, keepOrder and dot-size
  wiring, licence in the core, limiter aborts, radius floor, bbox corner,
  first-producer-only, byte and size caps), a limiter test, and a gate
  fixture that answers box searches and leaves out pictures facing away;
  the gate now clicks over the other sequence's pictures, so only the
  line click's own-sequence lookup can pass.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 15:24:13 +01:00
Said Turksever 02a2efb8d4 Merge branch 'main' into pr/kartaview 2026-10-14 15:13:16 +01:00
Said TurkseverandClaude Opus 5.5 c4ecb11f75 feat(street-level): KartaView's SINCE is its upload date, noted in the panel
KartaView's server filters by upload date only, so SINCE goes by it
throughout for KartaView: the lines (as before), the photo a click opens
and the cones, the cut-off taken as its UTC day as KartaView's startDate
(passesKartaViewFilter). Providers may declare sinceBasis: 'upload'
(validated); while one is lit the panel shows "KartaView: by upload date"
under the SINCE slider, read out with it. The gate checks the note, and
step 13's picks get 60 s on a loaded machine.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 15:02:14 +01:00