Commit ef1cd24
docs: add comprehensive format reference and source code deep-dive tu… (#1763)
* docs: add comprehensive format reference and source code deep-dive tutorials
Add four tutorials covering GeoLibre's supported GIS formats and source
code architecture analysis, in both Chinese (original) and English:
- supported-formats-zh.md / supported-formats-en.md
Complete reference of all GIS data formats natively supported by
GeoLibre, organized by category with parsing engines and platform notes.
- source-code-deep-dive-zh.md / source-code-deep-dive-en.md
In-depth analysis of dependency selection, DuckDB-WASM Spatial engine,
web performance optimization, state management patterns, PWA offline
caching, and cloud-native geospatial data architecture.
Includes 12 supporting images under docs/assets/.
* style: auto-format (ruff + oxfmt) [pre-commit.ci]
* Address CodeRabbit review feedback; host tutorial images on the CDN
- Serve every tutorial image from https://assets.geolibre.app/images/*.webp
instead of committing ~10 MB of PNGs into docs/assets; docs/assets is now
byte-identical to main again.
- Describe cloud-native range access accurately: the file carries its own
layout metadata (header/footer, tile directory, R-tree, overviews, row-group
stats), and traditional formats lack partial-range access rather than
"having no index" (EN + ZH).
- Present HTTP/2/3 as a recommendation, not a requirement — HTTP/1.1 supports
Range too (EN + ZH).
- Wrap the 4-8 and 9-12 checklist blocks in <ol start> so the 1-12 numbering
survives; python-markdown drops a bare list's start number, so they were
rendering as 1-5 and 1-4 (EN + ZH).
- Drop the stray full-width closing parenthesis in both Chinese prefaces.
- Qualify the "no accounts, no servers" claim: local workflows are offline and
local, but remote catalogs, CDN tiles, and authenticated services need the
network and sometimes credentials (EN + ZH).
- Tag the two bare fenced blocks in each supported-formats file as `text`.
- Fix the geotagged-photo extension row: it duplicated `.png` and omitted
`.jpeg`/`.tiff`/`.webp` (see PHOTO_IMAGE_EXTENSIONS in
apps/geolibre-desktop/src/lib/geotagged-photos.ts).
- Correct the platform matrix: the Whitebox toolbox is WASM-backed and is not
hidden on Android/mobile (only the sidecar-backed tools are), and the Mac App
Store row now says which engines fall back client-side.
- Quote the Python extra: pip install "geolibre[all]".
* docs: serve the vector demo gif from the CDN demos path
* docs: shorten the four new tutorial nav labels
* Drop AGENTS.md from this PR
AGENTS.md was an untracked local file that got swept into 2e5ee02 by an
over-broad `git add`. It is unrelated to these documentation tutorials, so
untrack it here; the file stays in the working tree.
* Address CodeRabbit review feedback
- Scope the ST_Read claim: it reads the formats the extension's own bundled
GDAL subset covers, not whatever GDAL is installed; point at ST_Drivers().
- Call extension loading "per-instance, run-once" — the code memoizes on a
WeakMap keyed by the DuckDB instance, as its own comment two lines down says.
- Mark the SYNC blockquote as a verbatim quote of lib/tauri-io.ts:150-153 and
say plainly that "the bug this PR fixes" points at the PR that added the
comment, so it will not mean much to a later reader.
- Scope the offline claim to the web PWA and to the first *successful* fetch:
CacheFirst only serves from cache once a response has actually been stored,
and desktop builds install no Service Worker at all.
- Retitle "concurrency and scaling problems disappear" to "the concurrency
bottleneck moves off your servers", and note that cache misses still reach
origin and object stores carry request-rate limits and egress bills.
- Stop saying a striped GeoTIFF cannot be partially read: strip offsets do
allow range reads, but a strip spans the full image width and there are no
overviews, and GeoLibre's client readers require internal tiles outright.
- State the toolchain in the secondary-development entry: npm on Node 22+.
- Fix the Chinese typo 列格式 -> 列出格式.
Applied to both the English and Chinese versions.
---------
Co-authored-by: libingya <“26315071+lby0102@users.noreply.github.com”>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Qiusheng Wu <giswqs@gmail.com>1 parent adeccf6 commit ef1cd24
5 files changed
Lines changed: 1957 additions & 0 deletions
0 commit comments