v0.5.12 — decouple scoring from the range control entirely

Reported from a real device: with "show within" at 1100 m the circle was
YELLOW on a police report 312 m away scoring 52; dragging to 300 m turned it
GREEN and said "All clear". Same spot, same police car.

v0.5.10 fixed the widening direction by calibrating the curves, but the
narrowing direction was still broken and is worse — a view setting that can
hide a live alert, and silently turn the circle green while it does, is a trap
rather than a feature. The earlier verification swept the slider at a location
where the nearest thing scored 35, so it could not have caught this.

Root cause was structural, not calibration: the scanners used the user's
setting as their emit cutoff, so it decided what entered the store, and the
store decides the tier. Scanners now evaluate at their own fixed radii
(DeFlock 1200 m, Waze 2000 m; aircraft already had its own), DetectionEvent
carries the distance it was observed at, and the UI filters only what it
*draws and lists*. Anything at YELLOW or above is shown regardless of range.

Removes the now-dead refresh() paths and the jobs that drove them, since a
range change no longer needs to touch a scanner.

Verified on device: a camera 285 m away scoring 48 holds the tier at YELLOW
from a 200 m view range through 4900 m, both out-of-range alerts stay listed
rather than vanishing, and standing 29 m from a camera still reads 89 RED.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RsfSpnwuxCkcXKkD9XH8SR
This commit is contained in:
KaraZajac
2026-09-17 08:44:42 -04:00
co-authored by Claude Opus 5
parent aa53757a1a
commit d3e4a1a5cd
11 changed files with 78 additions and 70 deletions
+8 -2
View File
@@ -358,8 +358,14 @@ decides what gets *reported*, never how alarming it is.
| 15000 m | — | — | — | — | 30 |
**Every curve crosses below 40 (YELLOW) at roughly the distance the thing stops
being able to act on you.** That is not cosmetic — it is what makes a single
range slider safe. The on-screen tier is `max(score)` over everything reported,
being able to act on you**, and **scoring is fully decoupled from the range
control**: scanners evaluate everything inside their own fixed radii (DeFlock
1200 m, Waze 2000 m, aircraft 15 km) and the tier is computed from that, so the
`show within` slider cannot move it in either direction. Anything at YELLOW or
above is displayed whatever the range says, since a view setting that can hide a
live alert is a trap rather than a feature.
Getting there took two passes, and the second one is the instructive half. The on-screen tier is `max(score)` over everything reported,
and the slider decides what is reported, so loose curves let the setting leak
into the alarm: measured against a real 195-node cache, standing still and
dragging from 300 m to 500 m flipped the app GREEN → YELLOW with nothing