diff --git a/docs/CURRENT-STATE.md b/docs/CURRENT-STATE.md index 65728d649..4ff831e70 100644 --- a/docs/CURRENT-STATE.md +++ b/docs/CURRENT-STATE.md @@ -1,5 +1,10 @@ # God's Eye View Current State +Touch-first devices use three times the default Cesium zoom sensitivity, so +pinching traverses globe and street scales with fewer gestures. Cesium retains +its distance-aware zoom, collision handling and minimum/maximum distance limits. +Fine-pointer desktop mouse and trackpad sensitivity is unchanged. + Analyst region queries resolve unique Natural Earth names offline without geocoding, so Gold Coast and Ivory Coast name the West African natural regions. Duplicate names require a geocoded containment anchor; when several entries for diff --git a/src/app/viewer.js b/src/app/viewer.js index cedfbb020..c8b841352 100644 --- a/src/app/viewer.js +++ b/src/app/viewer.js @@ -137,6 +137,11 @@ export function createApplicationViewer({ container, creditContainer }) { ); try { viewer.targetFrameRate = 60; + // A phone pinch spans fewer screen pixels than desktop zoom gestures. + // Keep Cesium's distance-aware zoom and collision limits, with less travel + // required on touch-first screens. Mouse/trackpad sensitivity stays native. + if (globalThis.matchMedia?.('(pointer: coarse)').matches) + viewer.scene.screenSpaceCameraController.zoomFactor *= 3; // Before any tile builds a draw command: Cesium's per-vertex model // atmosphere fails to LINK on Apple's Metal backend and kills the // render loop. See app/atmosphereCompat.js.