mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 10:24:02 +00:00
Review follow-up for the sonar pulses (the non-blocking items). Unpickable pulses: the three pulse lines were polyline entities, which Cesium always picks, so near-miss and touch picks around them became unowned hits. They are now drawn by the pulse disc's shader, which already drew the gradient and is built with allowPicking false. Each line keeps the polyline outline material's look: 3 CSS px wide with a 1 px dark outline in the ring's colours, measured from the screen-space gradient of the disc's radius times czm_pixelRatio, as Cesium's contour material does. Without derivatives only the gradient band is drawn. Disc follow: with the lines on the disc, it is rebuilt after the subject moves 500 m instead of 2 km, so the pulses stay concentric with the ring. A resting disc is hidden and not rebuilt; it catches up when the pulses wake. Camera below the disc: the disc sits 2.5 km above the ellipsoid with faceForward, so from a lower camera it swept across the sky. It is now hidden while the camera is below that height. Echo palette: echo brackets keep the pulse blue on the default detection style and take the style's line colour under NVG, FLIR and CRT. Echo test: the detection renderer's echo maths moves into awarenessEchoBracket and awarenessEchoColor in src/awarenessEcho.js, tested directly instead of running a regex slice of detection.js through vm, and the one-sided spread assert is now two-sided. The positions reuse parameter of awarenessRangeRingPositions and the pulse segment count had no callers left and are removed.