mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-08 12:23:59 +00:00
Draw the last native world labels through the label overlay
The Directions A and B letters and a data pack's media label were the two Cesium text labels left, kept by an allow-list in noCesiumLabels.test.mjs. Both now publish entries to the shared world-overlay host, and the allow-list is gone, so any Cesium label in src is a test failure. Directions publishes the letters to the directions-markers source; the markers keep only their points. A clicked endpoint's letter hangs over the surface that was clicked. One placed without a click stays hidden until its ground-floor cell resolves, then requests a render, so a still camera shows it; a cell that settles with no height falls back to the ellipsoid. Each position is computed once. A pack resource handle gains label(entry). The application passes its shared overlay host to SceneDirector through dataPacks.overlayHost; without one a media pack fails to load rather than drawing a native label. Each labelled resource takes a source from a pool and returns it on dispose, as the host never removes a source, so two presentations of one pack never clear each other's labels and repeat loads add no sources. A label written after dispose is ignored. The media label is protected, so it always draws as before. Live (Denver, keyless globe): a clicked A and a programmatic B both anchor on their dots over 1.58 km ground. Documented in docs/CURRENT-STATE.md and docs/DIRECTOR-DATA-PACKS.md.
This commit is contained in:
1 parent
ad8adc85f4
commit
fb30287898
12 files changed
+382
-44
No files matched your search
@@ -95,6 +95,11 @@ registry of source functions. Each receives `{ path, signal, maxBytes }` and
|
||||
returns `{ bytes: Uint8Array, mimeType }`. Custom transports must honor the
|
||||
signal, bound reads and return the real MIME type. They remain application code,
|
||||
not scene document fields. Without registrations, referenced sources fail closed.
|
||||
A standalone `SceneDirector` also passes `dataPacks.overlayHost`, the
|
||||
world-overlay host that draws pack world text such as a media pack's label (an
|
||||
object with `setEntries(sourceId, entries)` and `clearSource(sourceId)`);
|
||||
without it a media pack fails to load. `createApplicationTools` passes the
|
||||
application's shared host.
|
||||
|
||||
The portable session receives format adapters separately. Each adapter receives
|
||||
`{ pack, asset, anchors, signal }` and returns a resource with an idempotent
|
||||
|
||||
Reference in new issue
Block a user