Commit Graph
3013 Commits
Author SHA1 Message Date
Said Turksever 22e60098da Merge branch 'main' into contrib/gods-010-catalog-cancellation-v2-20261011-reviewed 2026-10-15 15:17:39 +01:00
Said Turksever 453083b8a9 Merge pull request #1024 from rudycelekli/contrib/gods-003-boundary-probe-recovery-20261011-reviewed
fix(services): retry malformed capability probes after the existing backoff
2026-10-15 15:15:54 +01:00
German Khokhlov a5c98c6b07 feat(app): construct the globe engine with the viewer
The scene builds the page's Cesium engine right after the viewer
(src/app/globeEngine.js), names the startup Google tileset to it once
loaded, returns it beside the viewer and destroys it before the viewer.
The debug handle exposes it as window.__godsEyeView.engine. Nothing
consumes it yet; render holds taken before the governor is installed
apply at install.

qa-globe-contract now runs on the app's engine (self-built only when the
app has none); a throwaway engine checks creation and destroy leave the
scene untouched.
2026-10-15 18:02:11 +04:00
Said Turksever 8ca74cccf7 Merge branch 'main' into contrib/gods-003-boundary-probe-recovery-20261011-reviewed 2026-10-15 14:55:05 +01:00
German Khokhlov ab2368f3f3 fix(globe): tighten the Cesium engine after review
Map sources are applied through one src/maps/sceneApply.js helper shared by MapSourceController and engine.maps (live layer kept for an unchanged provider, providers cached per source). The contract gains flyTo endTransform and rectangle destinations, flyToSphere easing, drillPick width/height and pick content, with Cesium's own flyToSphere range. Input skips listeners removed during dispatch and stays inert after destroy.
2026-10-15 17:55:00 +04:00
Said Turksever c802ce87b8 Merge pull request #1039 from rudycelekli/contrib/gods-018-terrain-request-coordinate-boundary-20261011-reviewed
fix(terrain): reject out-of-range points at the proxy boundary
2026-10-15 14:54:26 +01:00
Said Turksever 12611ba414 Merge branch 'main' into contrib/gods-020-thumbnail-presence-proof-20261011-reviewed 2026-10-15 14:50:46 +01:00
Said Turksever f77276ecf0 Merge branch 'main' into contrib/gods-012-surface-tab-order-20261011-reviewed 2026-10-15 14:49:52 +01:00
Said Turksever ab3f644d8a Merge branch 'main' into contrib/gods-017-ambiguous-camera-direction-20261011-reviewed 2026-10-15 14:49:38 +01:00
Said Turksever 5fd6f6c4f8 Merge branch 'main' into contrib/gods-030-regional-calendar-evidence-20261011-reviewed 2026-10-15 14:49:19 +01:00
Said Turksever d1929344d1 Merge branch 'main' into contrib/gods-010-catalog-cancellation-v2-20261011-reviewed 2026-10-15 14:48:57 +01:00
Said Turksever debe0aef8a Merge branch 'main' into contrib/gods-022-firms-calendar-validity-20261011-reviewed 2026-10-15 14:48:43 +01:00
Said Turksever e3d6609f08 Merge branch 'main' into contrib/gods-003-boundary-probe-recovery-20261011-reviewed 2026-10-15 14:47:47 +01:00
Said Turksever 2560af5016 Merge branch 'main' into contrib/gods-018-terrain-request-coordinate-boundary-20261011-reviewed 2026-10-15 14:47:07 +01:00
German Khokhlov d831cbd23a feat(globe): implement the engine on Cesium
createCesiumEngine wraps an existing viewer without changing it: camera, picker, projector, frames, render (through the render governor), surface, input, credits and maps, with geo values out and Cesium values in at the boundary. Map and surface code is shared with src/maps and services/groundSnap instead of copied. scripts/qa-globe-contract.mjs runs the contract suite against the engine in headless Chrome; the camera-events check now waits for the previous move to end, as Cesium's moveStart marks a move from rest.
2026-10-15 17:43:05 +04:00
Said TurkseverandClaude Opus 5.5 26694380fb test(track): stub the geocode proxy routes, not the browser call
Reverse geocoding now goes to /api/google/reverse-geocode on the app
server, so the harness stub for maps.googleapis.com never matched and a
keyed run would reach Google live. Answer both proxy routes with
ZERO_RESULTS instead.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 14:36:06 +01:00
Said Turksever cebd870b3b Merge branch 'main' into fix/radio-mirror-null-body 2026-10-15 14:33:30 +01:00
Said TurkseverandClaude Opus 5.5 3533b323b0 fix(radio): keep the || 500 fallback for a missing mirror status
Node always sets statusCode on client responses, but keeping the
fallback stops a missing status from reading as 200, as main did.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 14:28:37 +01:00
Said TurkseverandClaude Opus 5.5 1fffdf7600 Merge upstream/main into fix/363-geocode-proxy
Resolve SECURITY.md against the Street View provider (#966): the browser
key now loads the Maps JavaScript API as well as Map Tiles, so the
'Map Tiles only' guidance becomes 'Map Tiles + Maps JavaScript API'
here and in CHANGELOG, CURRENT-STATE and google-key.js. The CHANGELOG
entry moves to [Unreleased]; its old section shipped in 0.2.0.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 14:28:26 +01:00
German Khokhlov cd94a26b9f fix(globe): document Cesium's default view angles and check them
FlightOptions and setView now state Cesium's defaults for missing angles
(heading 0, pitch -pi/2, roll 0), enforced by a contract-suite check. The
suite also checks a horizon-bounded view rectangle and an undefined one
when the camera looks away from the Earth.
2026-10-15 17:21:31 +04:00
German Khokhlov 708c96b6f6 fix(globe): tighten the engine contract after review
Engine events get their own documented semantics (single registration,
branded instances); the fake follows Cesium's roll sign, angle ranges,
synchronous zero-duration flights, flyToSphere defaults and
computeViewRectangle. The contract adds viewProjection, horizonVisible,
flightActive, lookAtTransform/transform, zoomIn/zoomOut, input modifiers,
terrainHeight and clampToHeight, with geometric suite checks. Engine
import rules now follow each engine graph transitively.
2026-10-15 17:15:35 +04:00
German Khokhlov 528ec75f32 feat(globe): add the engine contract and its test suite
src/globe/contract.js defines the engine-neutral GlobeEngine capabilities
(JSDoc), createEngineEvent with Cesium.Event semantics and
assertGlobeEngine. src/globe/testing adds a geo-based fake engine for shell
tests and an engine-agnostic contract suite that the fake passes in Node.
check-import-directions keeps the contract free of cesium, three and
@navaramap, and each engine directory free of the other engine.
2026-10-15 17:01:08 +04:00
German KhokhlovandClaude Opus 5.5 8029747b7e Merge origin/main: GNSS integrity, geo file import and cockpit emergencies meet i18n
Conflicts resolved by keeping both sides: the Events group gains
gnss-integrity with a translated label, the cockpit aircraft line shows
main's transponder emergency through a localized formatter (cockpitMath.js
stays i18n-free, like the Context scope line), and the boundary lists keep
both the i18n modules and main's new data modules.

Main's new UI is translated into es and ru: the GNSS Integrity row, legend
and notes; geo file import (button, hints, list actions, every import
error, with numbers passed as placeholders); transponder status names.
Also formats kartaview/viewer.js so format:check passes.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 16:55:45 +04:00
VG31OP d90503660b Merge remote-tracking branch 'origin/main' into fix/tle-catalog-matching
# Conflicts:
#	CHANGELOG.md
2026-10-15 18:19:31 +05:30
Mazeyar Moeini Feizabadi 533d7c6454 Merge pull request #1122 from bilawalsidhu/codex/hal-526-import-review
feat(import): integrate local geodata files (HAL-526)
2026-10-15 14:21:14 +02:00
Said TurkseverandClaude Opus 5.5 de83e1c17f Merge upstream/main into pr/panoramax
CHANGELOG: keep both new [Unreleased] entries (Panoramax, and the
emergency-transponder highlight from #856).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 12:57:53 +01:00
Mazeyar Moeini Feizabadi 2a5c01b418 Merge accepted GNSS integration into local imports 2026-10-15 13:55:04 +02:00
Mazeyar Moeini Feizabadi d9ff718359 Merge pull request #1108 from bilawalsidhu/codex/hal-522-trial
Integrate GNSS integrity and aircraft emergency highlighting
2026-10-15 13:54:51 +02:00
Mazeyar Moeini Feizabadi e3c07e43e3 Merge current main and reviewed GNSS into import integration 2026-10-15 13:48:39 +02:00
Mazeyar Moeini Feizabadi 65239ed110 Merge current main into GNSS integration candidate 2026-10-15 13:46:45 +02:00
ulihhhhandClaude Opus 5.5 da0a840b7b Merge upstream/main into feature/catalonia-cctv-cameras
Keep both: Catalonia CCTV alongside the NYC DOT TMC pack in the source
imports, README layer table and CURRENT-STATE data table, and both
CHANGELOG entries.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-15 10:09:28 +02:00
Meir Michanie 343a5df057 Merge branch 'main' into i18n-spanish 2026-10-15 08:57:13 +02:00
Sameh Khamis f0a1b22dc8 Merge pull request #1047 from rudycelekli/contrib/gods-026-map-subscription-ownership-20261011-reviewed
fix(maps): stop delivering settled state to detached subscribers
2026-10-14 21:28:08 -07:00
Sameh Khamis 56ca8fd922 Merge branch 'main' into contrib/gods-026-map-subscription-ownership-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 21:11:47 -07:00
Sameh Khamis 871523593f Merge pull request #1046 from rudycelekli/contrib/gods-025-asset-stream-cancellation-20261011-reviewed
fix(director): reject cancellation during the final asset stream read
2026-10-14 21:11:42 -07:00
Sameh Khamis 20730e5ec5 Merge branch 'main' into contrib/gods-025-asset-stream-cancellation-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 19:54:24 -07:00
Rudy Mizrahi CelekliandSameh Khamis fd5a1ef856 fix(tools): keep results when a timestamp is outside Date's range (#1045)
isoTime returned toISOString() for any finite number, which throws past ±8.64e15 ms, so one bad record (e.g. a bike-share last_reported) failed the whole tool answer. Such timestamps are now null. The voice analyst's result rows had the same conversion and get the same guard.

Co-authored-by: Sameh Khamis <[email protected]>
2026-10-14 19:54:17 -07:00
Sameh Khamis 84bfba8d39 Merge pull request #1044 from rudycelekli/contrib/gods-023-firms-coordinate-evidence-20261011-reviewed
fix(firms): reject missing and out-of-range detection coordinates
2026-10-14 19:43:39 -07:00
Sameh Khamis b9fa0eedcc fix(maps): stop all delivery once the controller is destroyed
A listener could destroy the controller and re-subscribe one still pending in
the snapshot, which then ran. Delivery now stops at destruction and a destroyed
controller takes no listeners. Adds ordering tests for adds, duplicates and
re-adds during delivery, and moves the current-state note after the section
intro.
2026-10-14 19:23:46 -07:00
Sameh Khamis bf4edb5bdb fix(director): discard an asset cancelled during reader cleanup
The finally block awaits reader.cancel(), so a cancel arriving there still let
the bytes return. Rechecks the signal after cleanup, with a test that keeps the
caller's abort reason, and wraps the current-state note.
2026-10-14 19:23:12 -07:00
Sameh Khamis 6a7b89e436 test(firms): cover both coordinate bounds and blank values on each axis
Documents the adapter's skip rule and cross-references the two checks, which
sit in separate packages (provider parser and fire layer).
2026-10-14 19:21:57 -07:00
Sameh Khamis 69a84c47a1 Merge branch 'main' into contrib/gods-026-map-subscription-ownership-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 19:21:11 -07:00
Sameh Khamis d42f5d4fd2 Merge branch 'main' into contrib/gods-025-asset-stream-cancellation-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 19:21:10 -07:00
Sameh Khamis 493b154a6b Merge branch 'main' into contrib/gods-023-firms-coordinate-evidence-20261011-reviewed
# Conflicts:
#	CHANGELOG.md
2026-10-14 19:21:08 -07:00
Mazeyar Moeini Feizabadi 5ea6d81310 fix(import): correct clamping and bound local-file rendering
Normalize GeoJSON ground footprints, preserve explicit KML track heights,
and tessellate ground paths before native loading. Validate coordinates,
geometry types and decoded image budgets before allocating native resources;
strip loader-sensitive metadata and settle deferred failures and cancellation.

Render static pins in owned billboard collections instead of walking tens
of thousands of point entities each frame. Refine nearby ground heights in
batches, isolate imported pins from height picks, and release owned resources
and point selections on removal. Use safe ray origins above a hidden coarse
globe and retain valid mesh heights outside the current footprint.

Frame complete geometry with viewport-aware nadir arrivals, including walls
and rotated overlays; respect camera gestures and accept document file drops.
Strengthen real-loader, native 3D Tiles, paint, clock and lifecycle coverage.
Addresses both P1 and all 25 P2 findings in the follow-up review of #1122.
2026-10-15 04:10:41 +02:00
Sameh Khamis 7661cd349c Merge pull request #1040 from rudycelekli/contrib/gods-019-terrain-warm-batch-lru-20261011-reviewed
fix(terrain): refresh cache recency when resolving warm batches
2026-10-14 19:02:26 -07:00
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 fc798969ec Merge pull request #1036 from rudycelekli/contrib/gods-015-imagery-box-missing-edge-20261011-reviewed
fix(recent-imagery): reject absent box edges instead of inventing zero degrees
2026-10-14 18:54:24 -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
Sameh Khamis 197e5ee855 Merge pull request #1032 from rudycelekli/contrib/gods-011-street-level-unique-tiles-20261011-reviewed
fix(street-level): deduplicate overlapping dateline tile halves
2026-10-14 18:43:48 -07:00