mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-15 07:42:23 +00:00
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.
This commit is contained in:
1 parent
e53cfef1d1
commit
6f830a2e70
46 files changed
+1417
-34
No files matched your search
@@ -0,0 +1,7 @@
|
||||
- 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).
|
||||
Reference in new issue
Block a user