mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-11 05:42:22 +00:00
Draw the aircraft family, Wildlife Sightings and the Cockpit through the contract
The layers that still had one Cesium and one Navara implementation, or
drew on Cesium only, now draw through engine.movers, engine.lines and
engine.camera on both engines, and application code holds the engine
instead of guessing it from a viewer.
- Aircraft family: flights, military and local ADS-B share one display
(src/layers/aircraft/render/display.js). The Cesium and Navara
renderers are gone. Where they differed, the display follows Cesium:
- attach and visibility tracking, live disableDepthTestDistance
changes, the tracked glyph's distance scale, model ids that change,
local ADS-B markers hidden until shown and its UAT ring as a point;
- the trail head's hidden alpha is 0.45, the contract's
depthFailAlpha scaled by the head's 0.9.
The tracked glyph stays over the fleet, as on Navara. The movers
contract reports readiness per model and reads model axes as the
glTF's own on every engine. Cesium's follow takes any native target
through a proxy entity in the ENU frame and mirrors its readout fields.
- Wildlife Sightings draws badges and the density glow as sprite sets
and its privacy cells as line outlines (no fill yet). It takes clicks
from engine.input and its card anchors to the engine's canvas and
camera, so the layer is in both engines' catalogs again and a switch
keeps the session's layer set.
- Cockpit: cockpitHost takes the engine only. The ridden aircraft is the
engine follow's target, hidden through its sprite; only the Cesium
Viewer's stock double-click is still routed around.
- About forty camera, navigation, share-link, HUD, voice, detection and
layer-lifecycle callers take the engine. isGlobeEngine and
engineFromViewer calls outside src/globe fall from 51 to 14.
The coupling baseline drops accordingly: layer renderer lines from
5239/12331 to 4546/11106 (Cesium/Navara), `viewer` lines from 2424 to
2209, Cesium-importing files from 69 to 66.
This commit is contained in:
1 parent
48988015f1
commit
35e70ec280
145 files changed
+4716
-4212
No files matched your search
+17
-7
@@ -206,9 +206,13 @@ one application, and only the globe-bound parts move to the next engine.
|
||||
(`scripts/qa-strict-parked-release.mjs`).
|
||||
- **Renderers per engine.** Each layer keeps its model and display policy in
|
||||
engine-neutral files and draws through `render/cesium*.js` or
|
||||
`render/navara*.js`. Cesium renderers are listed in
|
||||
`src/app/layers/renderers.js` (`CESIUM_LAYER_RENDERERS`), Navara ones are
|
||||
loaded by `registerNavaraLayerRenderers` in `src/app/navaraMode.js`. Navara
|
||||
`render/navara*.js`, or through one `render/display.js` that runs on every
|
||||
engine over the globe contract: the aircraft family (flights, military and
|
||||
local ADS-B) draws through `src/layers/aircraft/render/display.js`. Cesium
|
||||
renderers are listed in `src/app/layers/renderers.js`
|
||||
(`CESIUM_LAYER_RENDERERS`), Navara ones are loaded by
|
||||
`registerNavaraLayerRenderers` in `src/app/navaraMode.js`; both register the
|
||||
same display factory for a layer that has one. Navara
|
||||
ground effects (heat, pulses, trails, pads, drapes) are declared with
|
||||
`defineGroundEffect` (`src/layers/shared/render/navaraGroundEffect.js`);
|
||||
their insert order is pinned by `navaraGroundOrder.test.mjs`.
|
||||
@@ -288,17 +292,23 @@ snapshot, including one whose rows all fall outside coverage or the species
|
||||
checks, is a fresh success that clears earlier rows; only a malformed or failed
|
||||
upstream reply serves stale and starts a retry cooldown. WHALES accepts only
|
||||
recognized cetaceans; other identified marine mammals appear under ALL or
|
||||
MAMMALS. Sensitive iNaturalist locations remain 0.2° privacy cells; Acartia
|
||||
MAMMALS. Sensitive iNaturalist locations remain 0.2° privacy cells, drawn as
|
||||
outlines (`engine.lines`), with no fill yet; Acartia
|
||||
positions are rounded to 0.01° on the server. Acartia comments are never retained.
|
||||
Observer identity is retained only for photo attribution.
|
||||
|
||||
`/api/inaturalist/grid` supplies a dedicated, nonpickable billboard density glow,
|
||||
The layer draws on both engines through one display
|
||||
(`src/layers/wildlifeSightings/display.js`): taxon badges and the density glow
|
||||
are `engine.movers` sprite sets.
|
||||
|
||||
`/api/inaturalist/grid` supplies a dedicated, nonpickable sprite density glow,
|
||||
with a view-relative density ramp from cool teal to warm amber. Overlapping
|
||||
Gaussian splats span four logical cell widths; mono and CRT styles follow map
|
||||
and cockpit vision changes. Empty snapshots paint nothing. Full footprints
|
||||
stay inside the globe limb with a 5% radius margin; opacity fades from full at
|
||||
3,000 km to zero at 8,000 km camera altitude. Culling and cached coordinates
|
||||
add no per-frame work and leave sighting counts intact.
|
||||
3,000 km to zero at 8,000 km camera altitude. Splats are sized in metres on
|
||||
the CPU, only on frames where the camera moved; culling and cached coordinates
|
||||
leave sighting counts intact.
|
||||
|
||||
Only real sampled observation rows produce taxon badges at their public
|
||||
positions. The badges use 28 px screen buckets, a 22 px overlap check and a
|
||||
|
||||
Reference in new issue
Block a user