mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 18:34:02 +00:00
37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
import { createAnnotationEngine } from './annotationEngine.js';
|
|
import { createHybridAnnotationRenderer } from './hybridAnnotationRenderer.js';
|
|
|
|
/**
|
|
* Initialize the map-annotation engine and expose it for the voice agent and
|
|
* for manual/dev use via `window.__gevAnnotations`.
|
|
*
|
|
* This module is the single swap point between annotation rendering strategies.
|
|
* This branch (Direction C) uses the HYBRID renderer: world-space draping for
|
|
* footprints + screen-space SVG for callouts/rings/arrows. The engine, resolver,
|
|
* and voice tool wiring are identical to the other two branches.
|
|
*/
|
|
export function initAnnotations({
|
|
viewer,
|
|
tileset = null,
|
|
placeSearch,
|
|
resolver,
|
|
}) {
|
|
// World-space footprint draping; clamped marks can use the photoreal tiles.
|
|
if (tileset) {
|
|
try {
|
|
tileset.enableCollision = true;
|
|
} catch {
|
|
/* older tileset */
|
|
}
|
|
}
|
|
const renderer = createHybridAnnotationRenderer(viewer);
|
|
const engine = createAnnotationEngine({
|
|
viewer,
|
|
renderer,
|
|
placeSearch,
|
|
resolveTarget: resolver?.resolveAnnotationTarget,
|
|
});
|
|
window.__gevAnnotations = engine;
|
|
return engine;
|
|
}
|