Files
gods-eye-view/changelog.d/1737-placement-provider.md
T
Sameh Khamis 6f830a2e70 Let a host application place live contacts
createApplicationCatalog takes an optional placement provider. Its
layer(kind) hands Flights, Military Flights, AIS Vessels, Transit and Rail
a place(id, wallMs), and optionally observe(id, fix) and forget(id). While
live, each layer tells it every fix it accepts and draws a contact where it
places it: position, height (the layer's own when none is given), course
and speed. A null answer, a provider that throws, a kind it leaves out, or
no provider at all keeps the layer's own motion unchanged, and following
the world clock the layers never ask it. A transit vehicle or train it
holds still lets the render loop idle and is asked again each second;
vessels ask for frames only while it places one, and stop when the layer
turns off.

Tests show the layers draw and reconcile exactly as before without a
provider and with one that places nothing, draw where a provider places
them, and idle while it holds them still.
2026-11-14 15:07:25 -08:00

485 B

  • Let a host application decide where live contacts are drawn. createApplicationCatalog({ placement }) takes a placement provider whose layer(kind) hands Flights, Military Flights, AIS Vessels, Transit and Rail a place(id, wallMs) (and optionally observe(id, fix), forget(id)): each layer tells it every live fix it accepts and draws a contact where it places it. Without one, or for a contact it does not place, every layer moves as before (samehkhamis, #1737).