Files
gods-eye-view/src/annotations/index.js
T

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;
}