{"disclaimer":"Honesty split: SHIELD/ATLAS provides the operator-usable methods listed under 'provided' plus the operator surfaces under 'relatedSurfaces' (live breadcrumb + drift-bound + REPLOT banner on /field, operator-driven offline tile pre-cache on /field /cop /gps-denied). The 'notIntegrated' list is reference material — those external PNT systems exist in the world but SHIELD/ATLAS does NOT integrate with them as of this build. The /gps-denied page references them as conceptual nav modes for the jammer-uncertainty simulator only.","provided":{"toolkitUrl":"/pnt-toolkit","count":7,"methods":{"sunAzimuth":{"name":"Sun Azimuth (NOAA SPA)","gives":"True heading","accuracy":"±1°","requires":"Visible sun + watch + rough lat/lon","offline":true},"shadowStick":{"name":"Shadow-Stick Method","gives":"East-west line","accuracy":"±2°","requires":"Visible sun + 15-30 min wait + stick","offline":true},"polarisFix":{"name":"Polaris Fix (N hemisphere)","gives":"True north","accuracy":"±1°","requires":"Visible Polaris (lat > ~5°N)","offline":true},"southernCrossFix":{"name":"Southern Cross Fix (S hemisphere)","gives":"True south","accuracy":"±1.5°","requires":"Visible Crux + Pointers (S hemisphere)","offline":true},"twoLandmarkResection":{"name":"Two-Landmark Resection","gives":"Self lat/lon","accuracy":"~50-100m at 5km","requires":"Two visible known landmarks + compass","offline":true},"deadReckoning":{"name":"Dead Reckoning / Pace Count","gives":"Projected position","accuracy":"±5-10% of distance traveled","requires":"Known start + heading + segment log","offline":true},"magneticDeclination":{"name":"Magnetic Declination Lookup (coarse 2025-2030 epoch)","gives":"Magnetic→true conversion","accuracy":"±2-3° (verify against map marginal data)","requires":"Lat/lon + date","offline":true}},"relatedSurfaces":{"/field":"Anchor + bearing + range projection (inverse of resection — known anchor, derive target lat/lon); live operator breadcrumb (TRACK ON/OFF, watchPosition, last 10 min / 200 pts, dashed cyan polyline); accumulated distance + drift bound (foot 5%, wheeled 2%) since last anchor; REPLOT REQUIRED red banner at >200m foot / >500m wheeled; OFFLINE TILES panel for AO pre-cache","/phone":"Photo intake with EXIF GPS auto-extract; fallback to anchor+bearing+range or map tap","/cop":"Multi-track breadcrumb trails (last ~60s, ~30 pts/track) + heading vectors; OFFLINE TILES panel for AO pre-cache","/gps-denied":"Jammer-awareness + uncertainty-growth simulator (R-330Zh, Pole-21, Iranian, DPRK profiles) with per-session trajectory (≤1000 waypoints) + APPLY TERRAIN FIX endpoint + GeoJSON LineString export; OFFLINE TILES panel for AO pre-cache"},"offlineTileCache":{"mechanism":"Service Worker (/sw.js) intercepts CartoDB / OSM tile fetches and serves cache-first from CacheStorage 'shield-atlas-tiles-v1'","uiSurfaces":["/field","/cop","/gps-denied"],"actions":["PRE-CACHE WORLD (z0–z5, ~6 MB)","PRE-CACHE THIS AO (z0–z14, operator-confirmed bbox)","CLEAR CACHE"],"honestyNote":"Operator-driven, AO-specific. We do NOT ship a pre-bundled global high-resolution basemap (would violate OSM/CartoDB ToS for bulk redistribution and is not the right scope for a brigade PWA). Pre-cache happens in-garrison before deployment; tiles persist in browser cache and the basemap then works offline within the cached scope."}},"notIntegrated":{"disclaimer":"These external PNT systems EXIST in the world but SHIELD/ATLAS does NOT integrate with them. Listed for situational awareness and to be honest about scope.","systems":{"eLoran":{"name":"Enhanced LORAN (eLoran)","accuracyM":20,"available":"CONUS coastal + Northern Europe","latencySec":0.1},"leoPNT":{"name":"LEO PNT Constellation","accuracyM":5,"available":"Global (emerging)","latencySec":0.05},"atomicClock":{"name":"Chip-Scale Atomic Clock (CSAC)","accuracyM":0,"driftPerHour":100,"latencySec":0,"note":"Timekeeping only — enables INS"},"inertialNav":{"name":"Inertial Navigation System (INS)","accuracyDriftPerKm":15,"available":"Always","latencySec":0},"terrainMatch":{"name":"Terrain Matching (TERCOM/DTED)","accuracyM":10,"requiresDTED":true,"available":"Pre-loaded terrain required"},"visualOdometry":{"name":"Visual Inertial Odometry (VIO)","accuracyDriftPerKm":5,"requiresCamera":true,"available":"Camera + SLAM algorithm required"}}},"peerTriangulation":{"toolkitUrl":"/peer-locate","method":"Operator-assisted resection from peer GPS broadcasts via Gauss-Newton least squares on a local tangent plane.","api":{"postBeacon":"POST /api/nav/peer-beacon  body: {callsign, lat, lon, accuracy_m?, source?}","listBeacons":"GET /api/nav/peer-beacons  -> {count, ttl_s, beacons:[{callsign, lat, lon, accuracy_m, source, ts, age_s}]}","deleteBeacon":"DELETE /api/nav/peer-beacon/:callsign"},"store":{"backing":"in-memory Map<callsign, beacon>","ttl_s":300,"maxBeacons":200,"persistence":"none — lost on server restart"},"gives":"Self lat/lon estimate with 1σ from least-squares residuals","accuracy":"Dominated by operator range-estimate error (typically 10-30%); geometric fit converges in <10 iterations for well-conditioned 3+ peer geometry","requires":"3+ peers with active GPS broadcasting + operator-estimated range to each (eyeball, pace count, map measure, landmark of known distance)","offline":false,"honestyHardNots":["We do NOT do hardware ranging between phones — the web platform exposes no API for RSSI, time-of-flight, angle-of-arrival, or UWB. Real TAK/ATAK peer-trilateration plugins use radio-layer primitives a PWA cannot reach.","We do NOT provide an authoritative GPS substitute. The fix narrows your uncertainty; it does not replace a satellite fix.","We do NOT provide an encrypted, authenticated, or trust-verified beacon channel. The store is in-memory and brigade-internal demonstration only. Production deployment must add per-callsign trust and transport security.","We do NOT use AI for the position solve. It is browser-side Gauss-Newton on a local tangent plane."]},"hardRules":["All seven provided methods are decision support — operator confirms before any fires-related action.","We do NOT auto-derive position from photo via visual landmark matching against an imagery library — that is a separately licensed product class (Pictometry-based) and we do not claim it.","We do NOT integrate with eLoran, LEO PNT constellations, CSAC chip-scale atomic clocks, military-grade INS, TERCOM, or VIO/SLAM systems.","Peer triangulation is operator-assisted only — no hardware ranging, no encrypted channel, no trust verification. See peerTriangulation.honestyHardNots for the full list.","AI does not author ballistic numbers or position fixes. The math on /pnt-toolkit and /peer-locate is astronomy and geometry, not fires."]}