mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-09 21:02:19 +00:00
Draw movers and lines on Cesium and require them of every engine
Layers are to draw through the globe contract on both engines, so Cesium gets back the movers and lines removed as unused: - engine.movers draws sprite sets as a BillboardCollection (atlas cells cropped once per set), point sets as a PointPrimitiveCollection and model sets as one Model per instance. depthTest, disableWithinM, order, scaleByDistance, colorBlend, unlit and minimumPixelSize follow the contract; a model's matrix is written in place, so instances no longer share one scratch matrix. - engine.lines draws each line as a polyline Primitive with width in CSS px, geodesic arcs, dashes, the tactical and arrow materials, depthFailAlpha and modelMatrix; a rebuild keeps its show, matrix, colour and place in order. - The picker returns the pickId a layer wrote last, skips sets that are not pickable and instances behind the horizon, and falls through to what lies under them. Surface samples can exclude mover sets again. movers and lines move from the optional capabilities into the required contract shape, and the contract suite always runs their checks.
This commit is contained in:
1 parent
59a233db51
commit
2213be6566
19 files changed
+1758
-75
No files matched your search
@@ -184,8 +184,11 @@ one application, and only the globe-bound parts move to the next engine.
|
||||
on the real Cesium and Navara of a keyless dev server. On November 7, 2026
|
||||
Cesium passed 57 of 57 and Navara 64 of 67: a resting move raised no
|
||||
`moveEnd`, a click payload never came, and contact sonar lost an angle-only
|
||||
change inside the app. `movers` and `lines` are optional capabilities: only
|
||||
Navara has them, and the suite skips their checks elsewhere.
|
||||
change inside the app. `movers` and `lines` are required of every engine:
|
||||
Cesium draws them with billboards, points, models and polyline primitives
|
||||
(`src/globe/cesium/movers.js`, `lines.js`). The 57 Cesium checks above ran
|
||||
without them; in Node their checks pass on Cesium without pixels or a
|
||||
pointer, and the browser run with them is still to come.
|
||||
- **Engine coupling.** `node scripts/report-engine-coupling.mjs` counts the
|
||||
engine-specific code outside the engines: renderer lines per engine, Cesium
|
||||
imports, `viewer` mentions, engine-name checks, raw Navara reads, Navara
|
||||
|
||||
Reference in new issue
Block a user