docs: document the new map readouts, quick analysis, and startup preference - #1831
Conversation
…erence Seven features shipped over the last several PRs with no user-facing docs, and one Settings tab documented here no longer exists. New coverage: - The right-click **Quick analysis** menu as a whole. It was only ever a ticked roadmap line, so buffers, drive/walk-time isochrones, centroids, convex hull and bounding box from a click were undiscoverable from the docs. - The interactive viewshed (#1815), including what it deliberately does not model — curvature and refraction — and when to reach for the Whitebox tool instead. - The status bar, rewritten as a table of every readout. Coordinate notation (DD/DMS/DDM/UTM, #1814), the pointer elevation readout (#1813) with both its sources and its consent gate, and Eye alt (#1816) with its planetary scaling. - Measure headings (#1817): great-circle initial bearing, the 16-point compass label, and why a final-bearing row appears only on long lines. - The spectral profile now working on any multiband GeoTIFF/COG (#1818), added under Raster styling rather than left implicit in the NetCDF text. - Settings → Startup (#1810), with the two limits that surprise otherwise: only local projects are reopened, and a URL always wins. Corrections and gaps found on the way: - **Settings → Project Settings no longer exists** — no `settings.project` catalog entry and no reference anywhere in the app. Replaced with where the project name and path actually live now. - Settings → Map Preferences was missing Celestial body, Scale bar units and Coordinate format; the page also never named Appearance, Interface, Geocoding, AI Providers or Updates. Added a section index so every tab is reachable. - Self-hosting's "Reducing outbound requests" table gained the two services it omitted: Valhalla routing (`VITE_ROUTING_ENDPOINT`, previously undocumented anywhere) and the Open-Meteo elevation fallback. The coordinate examples are rendered output from `formatCoordinate`, not hand-computed, so the DMS seconds and UTM easting/northing are exact. Verified with `zensical build` (no issues) and a link checker over every internal link and anchor in the changed pages.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThe pull request updates documentation for map analysis, terrain and elevation readouts, raster spectral profiling, coordinate formats, self-hosting controls, and desktop startup preferences. ChangesFeature documentation
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Waiting for the background verification agent to complete — I'll be notified automatically when it finishes. |
🔍 Cloudflare PR preview
|
🔍 GitHub Pages PR preview
Note GitHub Pages built this preview successfully, but its serving edge returned HTTP 403 when checked. The links may still be propagating. |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/features.md`:
- Line 34: Update the pointer-elevation documentation in docs/features.md:34-34
to say the public elevation API is used when no usable terrain sample is
available, and explicitly state that disabling pointer elevation prevents
outbound requests. Also revise docs/self-hosting.md:371-371 so enabled 3D
terrain is not described as guaranteeing internal-only elevation requests.
In `@docs/user-guide/interface.md`:
- Around line 115-120: Update the elevation documentation describing the 3D
terrain fallback to reflect that an unavailable terrain sample may use the
Open-Meteo API even when 3D terrain is enabled, or modify
createPointerElevationResolver to gate the network fallback on the
terrain-enabled state. Ensure the documented privacy behavior matches the
resolver’s actual behavior.
In `@docs/user-guide/processing.md`:
- Around line 14-15: Update the Quick analysis description in the “Skipping the
dialog” tip to exclude network isochrones from the actions available on each
layer row. Preserve the claim that buffer, centroids, convex hull, and bounding
box are available from layer rows, while keeping drive-time and walk-time
isochrones associated only with clicked-point actions.
In `@docs/user-guide/projects.md`:
- Around line 27-28: Update the startup restoration sentence near the Settings →
Startup link to explicitly state that GeoLibre reopens only local projects,
including both the last-project and specific-project options. Preserve the
existing precedence statement for project URLs in the address bar.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: ca83753f-bd8c-49f4-a77c-e873fe518897
📒 Files selected for processing (9)
docs/features.mddocs/self-hosting.mddocs/user-guide/interface.mddocs/user-guide/layers.mddocs/user-guide/map-controls.mddocs/user-guide/processing.mddocs/user-guide/projects.mddocs/user-guide/settings.mddocs/user-guide/styling.md
- Correct the pointer-elevation privacy contract in interface.md, features.md and self-hosting.md. CodeRabbit is right: createPointerElevationResolver branches on whether `sampleMapTerrainPoint` returned a value, not on whether 3D terrain is enabled, so a terrain-enabled map with no sample for that point still falls through to Open-Meteo. Presenting "3D terrain on" as a guarantee of no outbound request was wrong. The real gate is `canUseRemote` — the consent prompt — so the docs now name declining consent (or leaving the readout off) as what actually keeps it off the network, and describe the terrain path as "whenever a usable sample is available" instead. - Stop implying network isochrones run from a layer row (processing.md). The clicked-point menu has buffer and drive/walk time; the layer-row menu has buffer, centroids, convex hull and bounding box. The tip conflated the two. - Say "last local project" in projects.md, matching settings.md and features.md — remote share links are deliberately never replayed on launch.
Code reviewThis is a documentation-only PR (9 files under
No bugs, security issues, performance concerns, or CLAUDE.md violations found. I have no findings to raise on this PR — the documentation is accurate and well-verified against the current implementation. |
Seven features shipped over the last several PRs with no user-facing documentation, and one Settings tab the docs describe no longer exists.
New coverage
The Quick analysis menu as a whole was the biggest gap: it existed only as a ticked roadmap line, so running a buffer, isochrone, centroid, convex hull or bounding box from a right-click was undiscoverable from the docs.
Each entry documents the limits that actually bite, not just the happy path — the quick viewshed ignores curvature and refraction (~180 m of drop at its 50 km ceiling) and runs on generalized global terrain tiles, so the Whitebox tool is named as the rigorous alternative; "Reopen the last project" deliberately skips remote share links; UTM falls back to degrees outside its latitude band.
Corrections and gaps found on the way
Settings → Project Settingsno longer exists. There is nosettings.projectcatalog entry and no reference to it anywhere in the app. Replaced with where the project name and file path actually live now.VITE_ROUTING_ENDPOINToverride was undocumented anywhere indocs/despite being the one knob a private deployment needs — and the Open-Meteo elevation fallback.Verification
formatCoordinate, not hand-computed, so the DMS seconds and the UTM easting/northing are exact rather than plausible.zensical build— no issues.pre-commit run --files <changed>— passed.Documentation only; no code or behavior changes.
Summary by CodeRabbit