Pick Area, Line or Pin, click the vertices on the real world, double-click
or press Enter to finish, label and colour it. A drawn shape goes through the
same annotationEngine.annotate() the voice agent uses, with its geometry
supplied and manual: true, so it renders with the whiteboard look, persists,
de-dups, exports to GeoJSON and clears with the board. No geocoder, Places or
Overpass call is made for a drawn shape.
- drawMode.js: pure session, minimum vertices, double-click de-dup, length
and area, hint text, isDrawModeActive(); unit-tested
- drawTool.js: Cesium + DOM half; vertices world-anchored through the
resolver's pickWorldFromScreen; dashed preview; stock double-click
removed for the session and restored on exit; window.__gevDrawTool seam
- annotationEngine: manual specs resolve without any fetch; a drawn line is
a route with mode manual, labelled with its length, never a travel time
- trackingClickGesture: yields while a draw session is open, so a vertex
over a contact is a vertex, not a selection
- index.html / style.css: the Draw group in the DISPLAY panel
- docs: CURRENT-STATE, CHANGELOG, README
The first formal release.
- One-click install via Pinokio; keyless boot lands on a live Esri World
Imagery satellite globe with keyless terrain, with automatic OSM fallback
and graceful degradation when terrain is unavailable.
- Provider Settings (the POWER UP panel): add, replace, or remove API keys
inside the app; credential files made owner-only before any secret is
written; external keys shown read-only; the panel refuses shared or proxied
servers.
- Keyless capability responses for the optional HUD summary and place search.
- Aircraft-identity voice answers cover operator, type, and route, and say so
plainly when enrichment is unavailable.
- README rewritten keyless-first; concise 0.1.0 changelog section; CI
workflow included.
Gates: 2,672 unit tests pass / 0 fail, build clean, tracking regression
108/108, map-source tray QA pass, setup doctor ready.