From 1b63ed248511ff36c243e9af5fb222880ca6fc3e Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 11:40:09 -0500 Subject: [PATCH 01/12] docs(comparison): present RustGIS and GeoLibre as complements (#951) The comparison page leads with each project's priorities: GeoLibre web and mobile first and maturing, RustGIS desktop first, built for automation and AI agents, and deeper in data design, reports and layouts. Feature gaps move to a dated section. The roadmap drops the Exploratory items left to GeoLibre and adds opening .geolibre projects (#962); GEOLIBRE_PARITY.md becomes a reference, with the web- and mobile-first items struck through. Co-Authored-By: Claude Opus 5.5 --- GEOLIBRE_PARITY.md | 33 ++++++++++-------- ROADMAP.md | 15 ++++---- docs/comparison/geolibre.md | 69 +++++++++++++++++++++++-------------- docs/comparison/index.md | 3 +- 4 files changed, 71 insertions(+), 49 deletions(-) diff --git a/GEOLIBRE_PARITY.md b/GEOLIBRE_PARITY.md index 125f07c96..947bc4cd9 100644 --- a/GEOLIBRE_PARITY.md +++ b/GEOLIBRE_PARITY.md @@ -14,6 +14,10 @@ section; RustGIS [ROADMAP.md](ROADMAP.md), [docs/](docs/) and the command regist (`crates/engine/src/cmd`). Some items may be out of scope for a pure-Rust GIS (noted inline); strike those through with a reason rather than leaving them open. +This list is a reference, not a plan: not every GeoLibre feature suits RustGIS. Web- and +mobile-first features (mobile apps, collaboration, an SQL engine in the browser, AI segmentation) +are left to GeoLibre ([#951](https://github.com/opengeos/RustGIS/discussions/951)). + ## Data formats & sources _GeoLibre: docs/data-formats.md, docs/features.md › Adding data, SQL and databases_ @@ -59,7 +63,7 @@ _GeoLibre: docs/data-formats.md, docs/features.md › Adding data, SQL and datab Iceberg. Partial: PostGIS ([#125](https://github.com/opengeos/RustGIS/issues/125)), MySQL, MariaDB and SQL Server tables read live on the desktop. Missing: write-back (_Roadmap: data at the source_) and Iceberg. - [x] **Spatial SQL workspace** ([#131](https://github.com/opengeos/RustGIS/issues/131)): an SQL pane over DuckDB Spatial on the desktop. The web app - has no in-browser engine yet (_Exploratory_). + has no in-browser engine, left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). - [ ] **Private S3 buckets**: partial. `s3://` addresses, SigV4-signed connections, saved connections without their secrets and an S3 browser, desktop and web ([#150](https://github.com/opengeos/RustGIS/issues/150)). Missing: SSO, IAM roles and secrets kept in the keychain (_Roadmap: solid ground_). @@ -172,8 +176,8 @@ model-builder.md, segmentation.md, obia.md_ Partial: Suitability Modeler (_Roadmap: analysis_ for hot spots). - [ ] **H3 and DGGS grids**: H3, A5, DGGRID, DGGAL. Partial: A5 grids (_Roadmap: any time_ for H3). -- [ ] **AI segmentation and detection**: SAM/SamGeo, ONNX/YOLO detection, OBIA with eCognition - import. Partial: pixel classification (_Exploratory_). +- [ ] ~~AI segmentation and detection~~ (SAM/SamGeo, ONNX/YOLO detection, OBIA with eCognition + import): left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). RustGIS has pixel classification. - [ ] **Visual Model Builder canvas**: a node graph with validation and export to code. Partial: ModelBuilder with a node canvas and models from history. - [ ] **Re-run or copy history as code; batch runs over a folder**. Partial: history copied as @@ -202,11 +206,11 @@ _GeoLibre: docs/features.md › Map tools, printing, and media; docs/user-guide/ _GeoLibre: docs/collaboration.md, docs/server-api.md, docs/user-guide/embedding.md, projects.md, storymaps.md_ -- [ ] **Real-time multi-user collaboration**: live sessions, permissions, roster, chat. Missing - (_Exploratory_). -- [ ] **Review comments**: anchored, threaded, resolvable. Missing (_Exploratory_). -- [ ] **Share links, project gallery, accounts**: roles, expiry, passwords, a server API. Missing; - Share As writes static files (_Exploratory_). +- [ ] ~~Real-time multi-user collaboration~~ (live sessions, permissions, roster, chat): + left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). +- [ ] ~~Review comments~~ (anchored, threaded, resolvable): left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). +- [ ] ~~Share links, project gallery, accounts~~ (roles, expiry, passwords, a server API): + left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). Share As writes static files. - [ ] **Story maps**: chapters that fly the live map, a presenter view, HTML export. Partial: Presentations. - [ ] **Embed API**: a `postMessage` protocol, an npm client, viewer-only and map-only modes, deep @@ -247,13 +251,12 @@ docs/agent-skill.md_ _GeoLibre: docs/android.md, ios.md, mac-app-store.md, downloads.md, self-hosting.md, deployment-capabilities.md, ui-profiles.md_ -- [ ] **Android app**. Missing (_Exploratory_). -- [ ] **iOS/iPadOS app**. Missing (_Exploratory_). -- [ ] **Touch and responsive layout**. Missing (_Exploratory_). -- [ ] **Field data collection**: forms, photos, GPS or tap placement. Missing (_Exploratory_, - [#665](https://github.com/opengeos/RustGIS/issues/665)). -- [ ] **GPS**: live position, track logs, digitizing from GPS, NMEA receivers. Missing - (_Exploratory_). +- [ ] ~~Android app~~: left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). +- [ ] ~~iOS/iPadOS app~~: left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). +- [ ] ~~Touch and responsive layout~~: left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). +- [ ] ~~Field data collection~~ (forms, photos, GPS or tap placement): left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)); see also + [#665](https://github.com/opengeos/RustGIS/issues/665). +- [ ] ~~GPS~~ (live position, track logs, digitizing from GPS, NMEA receivers): left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). - [ ] **PWA and offline basemap tile pre-caching**. Partial: the web app is installable with offline start; offline data areas with sync. Tile pre-caching unverified. - [ ] **Docker self-hosting image with runtime config**. Partial: the static web build (_Roadmap: diff --git a/ROADMAP.md b/ROADMAP.md index 75f973741..6d55a0eba 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -4,8 +4,11 @@ _Last reviewed: 2026-10-24 (v0.4.0). Reviewed weekly; if this date is old, trust over this page._ This page says where RustGIS is heading and where help is most useful. Details live in the linked -issues; feature-by-feature comparison with GeoLibre is tracked in -[GEOLIBRE_PARITY.md](GEOLIBRE_PARITY.md). +issues. RustGIS and GeoLibre complement each other +([#951](https://github.com/opengeos/RustGIS/discussions/951)): GeoLibre is web and mobile first, +RustGIS desktop first and built for automation and AI agents. +[GEOLIBRE_PARITY.md](GEOLIBRE_PARITY.md) compares the two feature by feature as a reference, not a +plan: not every GeoLibre feature suits RustGIS. ## Goals - **What exists works.** A feature that crashes, misreads data or is undocumented costs more @@ -96,6 +99,9 @@ And alongside it: ### Data at the source - Write edits back to GeoPackage and PostGIS (edits stay in the project today). _Coordinate first._ +- Open GeoLibre `.geolibre` projects as maps, the way supported QGIS projects open + ([#962](https://github.com/opengeos/RustGIS/issues/962)). GeoLibre opening + `.rgis` projects follows once RustGIS reads a wider range of data. - A date and date-time field type, read and written as dates (they are text today) ([#853](https://github.com/opengeos/RustGIS/issues/853)). _Coordinate first_ (it changes `FieldType`). @@ -159,16 +165,11 @@ Open questions rather than plans; discuss before building. and point cloud I/O library: which of its drivers, coordinate transformations and GDAL-style operations could back or replace RustGIS's own readers, or stand in for the GDAL program, and which of them build for the web app. -- Collaboration: shared projects, review comments, accounts and a server. -- Mobile and field work: touch layout, GPS, data collection, QFieldCloud - ([#665](https://github.com/opengeos/RustGIS/issues/665)). - Native NetCDF-4/HDF5 without GDAL ([#396](https://github.com/opengeos/RustGIS/issues/396)), kerchunk and Icechunk. -- An SQL engine in the web app. - Broader QGIS project compatibility and opening ArcGIS Pro projects (supported QGIS projects already open as maps). - An in-app Python console; an R package. -- AI segmentation and detection (SAM, ONNX models). ## Done - Projects that survive a move: local data paths relative to the project and undoable Repair diff --git a/docs/comparison/geolibre.md b/docs/comparison/geolibre.md index e0a8a4e67..4b4c4f3a6 100644 --- a/docs/comparison/geolibre.md +++ b/docs/comparison/geolibre.md @@ -15,26 +15,35 @@ For RustGIS beside QGIS, ArcGIS Pro and ArcGIS Online as well, see the ## The short answer -**GeoLibre is the broader, web-first GIS.** It is built with web technology (Tauri, React, +GeoLibre and RustGIS serve similar purposes, but take different approaches and suit different +workflows. Neither is meant to replace the other +([discussion #951](https://github.com/opengeos/RustGIS/discussions/951)). + +**GeoLibre is web and mobile first.** It is built with web technology (Tauri, React, MapLibre GL JS, DuckDB-WASM, deck.gl) and runs in a browser tab with nothing installed, as a -desktop app, and as native Android and iOS apps. It reaches further into data (databases, -cloud catalogs, dozens of open-data portals), 3D (Cesium, 3D Tiles, I3S, Gaussian splats), AI -(SAM segmentation, ONNX object detection), sharing (share links, review comments, real-time -collaboration) and the Python and R ecosystems (a Jupyter widget and an R package). +desktop app, and as native Android and iOS apps. Its strengths are access from anywhere, +cloud-native data, interactive visualization and sharing. GeoLibre is mature, with a broad +set of features, and its development now centres on stability, performance and usability. + +**RustGIS is desktop first, built for automation and AI agents.** It is a single program written +entirely in Rust that draws its own interface on the GPU, with no browser engine or JavaScript +runtime inside; the same program, compiled to WebAssembly, also runs in the browser. Its +interface is a ribbon laid out in the order of the work, and almost everything in it is a +command that scripts, the command line, Python and AI agents can run. It goes deeper in the +classic desktop GIS jobs of data design, reports and print layouts. RustGIS is young and +changing quickly: expect frequent releases, new capabilities and some significant changes. -**RustGIS is the narrower, native one.** It is a single program written entirely in Rust that -draws its own interface on the GPU, with no browser engine or JavaScript runtime inside, and the -same program compiled to WebAssembly for the browser. Its interface is a ribbon laid out in the -order of the work, its engine commands run from the command line, Python or an AI -agent, and its WebAssembly plugins run sandboxed. It also supports native process plugins -and goes further in the classic desktop GIS jobs of data design, reports and print layouts. +The two complement each other. Both can run the 1,000+ GeoLibre/Whitebox geoprocessing suite, +both read and write common open formats, and the plan is for each to open the other's projects +(see [Using them together](#using-them-together)). Choose GeoLibre for the browser, phones and +notebooks, choose RustGIS for a scriptable desktop GIS, or use both. -They are complementary rather than competing. Both can run the 1,000+ GeoLibre/Whitebox -geoprocessing suite; RustGIS loads it through an optional desktop runner or WebAssembly. -Both read and write common open formats. Choose GeoLibre for reach, choose RustGIS for a -compact, scriptable desktop GIS, or use both. +## Where each is stronger today -## Where GeoLibre is stronger +These lists compare features as of **October 2026**, and RustGIS's features change quickly. The +differences in the short answer, in platform, technology and focus, are the ones that last. + +### Where GeoLibre is stronger - **More platforms.** GeoLibre runs as a web app, an installable PWA, a desktop app on Windows, macOS and Linux, native [Android and iOS apps](https://geolibre.app), a Docker image, a Chrome @@ -49,7 +58,7 @@ compact, scriptable desktop GIS, or use both. SQL Server/Azure SQL connections. Other formats and File Geodatabase tables the native reader cannot read need GDAL (see [Data formats](../user-guide/data-formats.md)). - **SQL in the browser.** GeoLibre runs DuckDB Spatial, PGlite/PostGIS and Apache Sedona inside - the browser. RustGIS's SQL pane uses DuckDB on the desktop; its web app has no SQL engine yet. + the browser. RustGIS's SQL pane uses DuckDB on the desktop; its web app has no SQL engine. - **Cartography depth.** GeoLibre has rule-based and expression renderers, heat maps, clustering, diagrams, blend modes, layer groups, a data-defined label engine, and style interchange with SLD, QGIS QML and Mapbox GL JSON. RustGIS covers the common renderers and @@ -79,14 +88,14 @@ compact, scriptable desktop GIS, or use both. Hebrew and Persian. RustGIS has [17](../i18n.md), including Persian text support; its widget layout is not right-to-left. -## Where RustGIS is stronger +### Where RustGIS is stronger - **A native program, not a web view.** RustGIS is memory-safe Rust compiled to one native program with no browser engine, JavaScript or Python inside the core app. Large GeoPackage, GeoParquet, FlatGeobuf and Shapefile files are read a view at a time rather than loaded whole; the cloud-native readers also work in the browser. -- **A shared command engine.** Ribbon actions dispatch commands with ids and JSON parameters. - Engine commands run from [`rustgis-cli`](../cli.md), the +- **Commands for scripts and AI agents.** Ribbon actions dispatch commands with ids and JSON + parameters. Engine commands run from [`rustgis-cli`](../cli.md), the [`rustgis` Python package](../python.md), notebooks, models, the Script pane, the [MCP server](../mcp.md) and the AI Assistant. UI-only pane/dialog commands stay in the app. A batch of maps can be rendered in CI with one @@ -146,8 +155,12 @@ compact, scriptable desktop GIS, or use both. The two read and write the same open formats, so data moves between them without conversion: GeoPackage, GeoParquet, FlatGeobuf, Shapefile, GeoJSON, KML/KMZ, GPX, CSV and cloud-optimised -GeoTIFF (GeoPackage export is desktop only in RustGIS). Neither opens the other's project -file yet; move the data across and restyle it. +GeoTIFF (GeoPackage export is desktop only in RustGIS). + +Neither opens the other's project file yet; for now, move the data across and restyle it. The +plan is for RustGIS to open `.geolibre` projects first +([#962](https://github.com/opengeos/RustGIS/issues/962)), and for GeoLibre to +open `.rgis` projects once RustGIS reads a wider range of data. They also share their geoprocessing. RustGIS's **Analyze › Tools** offers the GeoLibre and Whitebox suite through the optional `geolibre` program on desktop and an on-demand WebAssembly @@ -162,9 +175,11 @@ or reports and map series printed to PDF. ## Common questions **Why are there two?** -They are built on different foundations for different jobs. GeoLibre uses the web platform to -reach as many places and data sources as possible. RustGIS explores what a desktop GIS looks like -as one native Rust program with a shared command engine. Each project borrows ideas from the other. +To explore different ways of making geospatial tools accessible and powerful. GeoLibre uses the +web platform to reach as many places and data sources as possible. RustGIS explores what a +desktop GIS looks like as one native Rust program that scripts and AI agents can drive. Each +project borrows ideas from the other, and they are meant to be used together, not chosen +between. **Which one should I start with?** If you want to open a dataset in a browser tab or on a phone right now, or work in Jupyter or R, @@ -182,7 +197,9 @@ No. GeoLibre plugins are TypeScript modules for its web interface. RustGIS has i WebAssembly and native process-plugin interfaces, including Python process plugins. **Can I open a GeoLibre project in RustGIS?** -Not yet. Export the layers (GeoPackage or GeoParquet keep the most) and add them to RustGIS. +Not yet; it is planned +([#962](https://github.com/opengeos/RustGIS/issues/962)). Until then, export +the layers (GeoPackage or GeoParquet keep the most) and add them to RustGIS. ## See also diff --git a/docs/comparison/index.md b/docs/comparison/index.md index 543647bf4..1259bc11f 100644 --- a/docs/comparison/index.md +++ b/docs/comparison/index.md @@ -38,7 +38,8 @@ They differ in how they are built and who they suit: out in the order of the work, and an engine whose commands run the same way from the ribbon, `rustgis-cli`, Python, notebooks, models and the AI Assistant. -If you want the widest data access and the most platforms, choose GeoLibre. If you want a +They complement each other rather than compete: GeoLibre is web and mobile first, RustGIS +desktop first and built for automation and AI agents. If you want the widest data access and the most platforms, choose GeoLibre. If you want a compact native desktop GIS with a classic ribbon workflow and a scriptable command engine, choose RustGIS. Both work on local files on your machine; remote features, such as web data and AI providers, send requests over the network. See From 3bd858de34b801deb54b10a94ec76c580cb331ed Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 12:03:41 -0500 Subject: [PATCH 02/12] docs(parity): give each item left to GeoLibre its own reason Review on #963: "web and mobile first" didn't describe AI segmentation or GPS, so each struck item now says what GeoLibre covers (the mobile apps, the shared web app, browser SQL engines, built-in models). The field-collection item no longer links #665, and the comparison index's new sentence is rewrapped. Co-Authored-By: Claude Opus 5.5 --- GEOLIBRE_PARITY.md | 34 ++++++++++++++++++++-------------- docs/comparison/index.md | 6 +++--- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/GEOLIBRE_PARITY.md b/GEOLIBRE_PARITY.md index 947bc4cd9..b9b22e526 100644 --- a/GEOLIBRE_PARITY.md +++ b/GEOLIBRE_PARITY.md @@ -14,9 +14,10 @@ section; RustGIS [ROADMAP.md](ROADMAP.md), [docs/](docs/) and the command regist (`crates/engine/src/cmd`). Some items may be out of scope for a pure-Rust GIS (noted inline); strike those through with a reason rather than leaving them open. -This list is a reference, not a plan: not every GeoLibre feature suits RustGIS. Web- and -mobile-first features (mobile apps, collaboration, an SQL engine in the browser, AI segmentation) -are left to GeoLibre ([#951](https://github.com/opengeos/RustGIS/discussions/951)). +This list is a reference, not a plan: not every GeoLibre feature suits RustGIS. Some are left +to GeoLibre by decision ([#951](https://github.com/opengeos/RustGIS/discussions/951)), each +struck through below with its reason: mobile apps and field work, real-time collaboration and +sharing, an SQL engine in the browser, and AI segmentation. ## Data formats & sources _GeoLibre: docs/data-formats.md, docs/features.md › Adding data, SQL and databases_ @@ -63,7 +64,8 @@ _GeoLibre: docs/data-formats.md, docs/features.md › Adding data, SQL and datab Iceberg. Partial: PostGIS ([#125](https://github.com/opengeos/RustGIS/issues/125)), MySQL, MariaDB and SQL Server tables read live on the desktop. Missing: write-back (_Roadmap: data at the source_) and Iceberg. - [x] **Spatial SQL workspace** ([#131](https://github.com/opengeos/RustGIS/issues/131)): an SQL pane over DuckDB Spatial on the desktop. The web app - has no in-browser engine, left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). + has no in-browser engine: SQL in the browser is left to GeoLibre, which runs DuckDB, PGlite and + Sedona there ([#951](https://github.com/opengeos/RustGIS/discussions/951)). - [ ] **Private S3 buckets**: partial. `s3://` addresses, SigV4-signed connections, saved connections without their secrets and an S3 browser, desktop and web ([#150](https://github.com/opengeos/RustGIS/issues/150)). Missing: SSO, IAM roles and secrets kept in the keychain (_Roadmap: solid ground_). @@ -177,7 +179,8 @@ model-builder.md, segmentation.md, obia.md_ - [ ] **H3 and DGGS grids**: H3, A5, DGGRID, DGGAL. Partial: A5 grids (_Roadmap: any time_ for H3). - [ ] ~~AI segmentation and detection~~ (SAM/SamGeo, ONNX/YOLO detection, OBIA with eCognition - import): left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). RustGIS has pixel classification. + import): left to GeoLibre, which has these models built in ([#951](https://github.com/opengeos/RustGIS/discussions/951)). RustGIS has pixel + classification. - [ ] **Visual Model Builder canvas**: a node graph with validation and export to code. Partial: ModelBuilder with a node canvas and models from history. - [ ] **Re-run or copy history as code; batch runs over a folder**. Partial: history copied as @@ -207,10 +210,11 @@ _GeoLibre: docs/collaboration.md, docs/server-api.md, docs/user-guide/embedding. storymaps.md_ - [ ] ~~Real-time multi-user collaboration~~ (live sessions, permissions, roster, chat): - left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). -- [ ] ~~Review comments~~ (anchored, threaded, resolvable): left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). + left to GeoLibre, the shared, web-first app ([#951](https://github.com/opengeos/RustGIS/discussions/951)). +- [ ] ~~Review comments~~ (anchored, threaded, resolvable): left to GeoLibre, the shared, + web-first app ([#951](https://github.com/opengeos/RustGIS/discussions/951)). - [ ] ~~Share links, project gallery, accounts~~ (roles, expiry, passwords, a server API): - left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). Share As writes static files. + left to GeoLibre, the shared, web-first app ([#951](https://github.com/opengeos/RustGIS/discussions/951)). Share As writes static files. - [ ] **Story maps**: chapters that fly the live map, a presenter view, HTML export. Partial: Presentations. - [ ] **Embed API**: a `postMessage` protocol, an npm client, viewer-only and map-only modes, deep @@ -251,12 +255,14 @@ docs/agent-skill.md_ _GeoLibre: docs/android.md, ios.md, mac-app-store.md, downloads.md, self-hosting.md, deployment-capabilities.md, ui-profiles.md_ -- [ ] ~~Android app~~: left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). -- [ ] ~~iOS/iPadOS app~~: left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). -- [ ] ~~Touch and responsive layout~~: left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). -- [ ] ~~Field data collection~~ (forms, photos, GPS or tap placement): left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)); see also - [#665](https://github.com/opengeos/RustGIS/issues/665). -- [ ] ~~GPS~~ (live position, track logs, digitizing from GPS, NMEA receivers): left to GeoLibre, which is web and mobile first ([#951](https://github.com/opengeos/RustGIS/discussions/951)). +- [ ] ~~Android app~~: left to GeoLibre, which has the mobile apps ([#951](https://github.com/opengeos/RustGIS/discussions/951)). +- [ ] ~~iOS/iPadOS app~~: left to GeoLibre, which has the mobile apps ([#951](https://github.com/opengeos/RustGIS/discussions/951)). +- [ ] ~~Touch and responsive layout~~: left to GeoLibre, which has the mobile apps + ([#951](https://github.com/opengeos/RustGIS/discussions/951)). RustGIS's layout is for desktop screens. +- [ ] ~~Field data collection~~ (forms, photos, GPS or tap placement): left to GeoLibre, which + has the mobile apps ([#951](https://github.com/opengeos/RustGIS/discussions/951)). +- [ ] ~~GPS~~ (live position, track logs, digitizing from GPS, NMEA receivers): left to + GeoLibre with field work, which it covers on phones ([#951](https://github.com/opengeos/RustGIS/discussions/951)). - [ ] **PWA and offline basemap tile pre-caching**. Partial: the web app is installable with offline start; offline data areas with sync. Tile pre-caching unverified. - [ ] **Docker self-hosting image with runtime config**. Partial: the static web build (_Roadmap: diff --git a/docs/comparison/index.md b/docs/comparison/index.md index 1259bc11f..a5b183168 100644 --- a/docs/comparison/index.md +++ b/docs/comparison/index.md @@ -39,9 +39,9 @@ They differ in how they are built and who they suit: same way from the ribbon, `rustgis-cli`, Python, notebooks, models and the AI Assistant. They complement each other rather than compete: GeoLibre is web and mobile first, RustGIS -desktop first and built for automation and AI agents. If you want the widest data access and the most platforms, choose GeoLibre. If you want a -compact native desktop GIS with a classic ribbon workflow and a scriptable command -engine, choose RustGIS. Both work on local files on your machine; remote features, such as web +desktop first and built for automation and AI agents. If you want the widest data access and the +most platforms, choose GeoLibre. If you want a compact native desktop GIS with a classic ribbon +workflow and a scriptable command engine, choose RustGIS. Both work on local files on your machine; remote features, such as web data and AI providers, send requests over the network. See [RustGIS and GeoLibre](geolibre.md) for a closer look. From f4261fcc67537612b7ab3ef522f79d02d970583e Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 12:09:49 -0500 Subject: [PATCH 03/12] docs(parity): say which items are struck and which carry a note Review on #963: browser SQL is a note on the checked Spatial SQL item, not a struck-through entry, so the intro no longer says every item is struck. Co-Authored-By: Claude Opus 5.5 --- GEOLIBRE_PARITY.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/GEOLIBRE_PARITY.md b/GEOLIBRE_PARITY.md index b9b22e526..8bc24f267 100644 --- a/GEOLIBRE_PARITY.md +++ b/GEOLIBRE_PARITY.md @@ -15,9 +15,10 @@ section; RustGIS [ROADMAP.md](ROADMAP.md), [docs/](docs/) and the command regist strike those through with a reason rather than leaving them open. This list is a reference, not a plan: not every GeoLibre feature suits RustGIS. Some are left -to GeoLibre by decision ([#951](https://github.com/opengeos/RustGIS/discussions/951)), each -struck through below with its reason: mobile apps and field work, real-time collaboration and -sharing, an SQL engine in the browser, and AI segmentation. +to GeoLibre by decision ([#951](https://github.com/opengeos/RustGIS/discussions/951)): mobile +apps and field work, real-time collaboration and sharing, and AI segmentation are struck through +below with their reasons, and the Spatial SQL item notes that an SQL engine in the browser is +GeoLibre's too. ## Data formats & sources _GeoLibre: docs/data-formats.md, docs/features.md › Adding data, SQL and databases_ From 965dfe618173478947963d3f55220aab8e1ec78b Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 12:12:05 -0500 Subject: [PATCH 04/12] docs(comparison): say why GeoLibre opening .rgis comes later Review on #963: the condition "once RustGIS reads a wider range of data" didn't say why. GeoLibre would be reading a format that is still changing, so it waits for RustGIS's project format and data types to settle. Also rewraps the comparison index paragraph. Co-Authored-By: Claude Opus 5.5 --- ROADMAP.md | 2 +- docs/comparison/geolibre.md | 5 +++-- docs/comparison/index.md | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 6d55a0eba..5852788a5 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -101,7 +101,7 @@ And alongside it: first._ - Open GeoLibre `.geolibre` projects as maps, the way supported QGIS projects open ([#962](https://github.com/opengeos/RustGIS/issues/962)). GeoLibre opening - `.rgis` projects follows once RustGIS reads a wider range of data. + `.rgis` projects comes later, once RustGIS's project format and supported data types settle. - A date and date-time field type, read and written as dates (they are text today) ([#853](https://github.com/opengeos/RustGIS/issues/853)). _Coordinate first_ (it changes `FieldType`). diff --git a/docs/comparison/geolibre.md b/docs/comparison/geolibre.md index 4b4c4f3a6..4fd285fe4 100644 --- a/docs/comparison/geolibre.md +++ b/docs/comparison/geolibre.md @@ -159,8 +159,9 @@ GeoTIFF (GeoPackage export is desktop only in RustGIS). Neither opens the other's project file yet; for now, move the data across and restyle it. The plan is for RustGIS to open `.geolibre` projects first -([#962](https://github.com/opengeos/RustGIS/issues/962)), and for GeoLibre to -open `.rgis` projects once RustGIS reads a wider range of data. +([#962](https://github.com/opengeos/RustGIS/issues/962)). GeoLibre opening `.rgis` projects +comes later, once RustGIS's project format and the data types it supports settle: RustGIS is +still changing quickly, and GeoLibre would otherwise be reading a moving target. They also share their geoprocessing. RustGIS's **Analyze › Tools** offers the GeoLibre and Whitebox suite through the optional `geolibre` program on desktop and an on-demand WebAssembly diff --git a/docs/comparison/index.md b/docs/comparison/index.md index a5b183168..759a66d71 100644 --- a/docs/comparison/index.md +++ b/docs/comparison/index.md @@ -41,8 +41,8 @@ They differ in how they are built and who they suit: They complement each other rather than compete: GeoLibre is web and mobile first, RustGIS desktop first and built for automation and AI agents. If you want the widest data access and the most platforms, choose GeoLibre. If you want a compact native desktop GIS with a classic ribbon -workflow and a scriptable command engine, choose RustGIS. Both work on local files on your machine; remote features, such as web -data and AI providers, send requests over the network. See +workflow and a scriptable command engine, choose RustGIS. Both work on local files on your +machine; remote features, such as web data and AI providers, send requests over the network. See [RustGIS and GeoLibre](geolibre.md) for a closer look. ## At a glance From c10b2b44c5e1e3b1306c5e071ae34f70dc34d3cd Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 12:12:53 -0500 Subject: [PATCH 05/12] docs(parity): say #665 is not planned; cite #951 for GeoLibre's focus Review on #963 asked both to drop and to keep the #665 link. The field collection item now links it with its status, so the open issue stays traceable without implying RustGIS will build it. The comparison page cites #951 for GeoLibre's stability focus. Co-Authored-By: Claude Opus 5.5 --- GEOLIBRE_PARITY.md | 4 +++- docs/comparison/geolibre.md | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/GEOLIBRE_PARITY.md b/GEOLIBRE_PARITY.md index 8bc24f267..5077ac428 100644 --- a/GEOLIBRE_PARITY.md +++ b/GEOLIBRE_PARITY.md @@ -261,7 +261,9 @@ deployment-capabilities.md, ui-profiles.md_ - [ ] ~~Touch and responsive layout~~: left to GeoLibre, which has the mobile apps ([#951](https://github.com/opengeos/RustGIS/discussions/951)). RustGIS's layout is for desktop screens. - [ ] ~~Field data collection~~ (forms, photos, GPS or tap placement): left to GeoLibre, which - has the mobile apps ([#951](https://github.com/opengeos/RustGIS/discussions/951)). + has the mobile apps ([#951](https://github.com/opengeos/RustGIS/discussions/951)). A QFieldCloud + connection, requested in [#665](https://github.com/opengeos/RustGIS/issues/665), is not planned + either. - [ ] ~~GPS~~ (live position, track logs, digitizing from GPS, NMEA receivers): left to GeoLibre with field work, which it covers on phones ([#951](https://github.com/opengeos/RustGIS/discussions/951)). - [ ] **PWA and offline basemap tile pre-caching**. Partial: the web app is installable with diff --git a/docs/comparison/geolibre.md b/docs/comparison/geolibre.md index 4fd285fe4..c3362e1d7 100644 --- a/docs/comparison/geolibre.md +++ b/docs/comparison/geolibre.md @@ -23,7 +23,8 @@ workflows. Neither is meant to replace the other MapLibre GL JS, DuckDB-WASM, deck.gl) and runs in a browser tab with nothing installed, as a desktop app, and as native Android and iOS apps. Its strengths are access from anywhere, cloud-native data, interactive visualization and sharing. GeoLibre is mature, with a broad -set of features, and its development now centres on stability, performance and usability. +set of features, and its development now centres on stability, performance and usability +([#951](https://github.com/opengeos/RustGIS/discussions/951)). **RustGIS is desktop first, built for automation and AI agents.** It is a single program written entirely in Rust that draws its own interface on the GPU, with no browser engine or JavaScript From 28afa98055a6e6d3065efe9e9846640675079718 Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 12:13:28 -0500 Subject: [PATCH 06/12] docs(parity): smooth the GPS item's wording Review nit on #963. Co-Authored-By: Claude Opus 5.5 --- GEOLIBRE_PARITY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GEOLIBRE_PARITY.md b/GEOLIBRE_PARITY.md index 5077ac428..e1755c5d7 100644 --- a/GEOLIBRE_PARITY.md +++ b/GEOLIBRE_PARITY.md @@ -265,7 +265,7 @@ deployment-capabilities.md, ui-profiles.md_ connection, requested in [#665](https://github.com/opengeos/RustGIS/issues/665), is not planned either. - [ ] ~~GPS~~ (live position, track logs, digitizing from GPS, NMEA receivers): left to - GeoLibre with field work, which it covers on phones ([#951](https://github.com/opengeos/RustGIS/discussions/951)). + GeoLibre, which covers field work on phones ([#951](https://github.com/opengeos/RustGIS/discussions/951)). - [ ] **PWA and offline basemap tile pre-caching**. Partial: the web app is installable with offline start; offline data areas with sync. Tile pre-caching unverified. - [ ] **Docker self-hosting image with runtime config**. Partial: the static web build (_Roadmap: From bd7c26debbe2007bfb88ee62112262d12a86eb91 Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 12:24:13 -0500 Subject: [PATCH 07/12] docs(comparison): state the project-file order; attribute GeoLibre's focus Review on #963: the short answer now gives the same order as the rest of the page (.geolibre in RustGIS first, .rgis in GeoLibre later), attributes GeoLibre's stability focus to its maintainer in #951, and says "web-first work" rather than "the browser", since RustGIS runs there too. Co-Authored-By: Claude Opus 5.5 --- docs/comparison/geolibre.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/comparison/geolibre.md b/docs/comparison/geolibre.md index c3362e1d7..61b8a55d8 100644 --- a/docs/comparison/geolibre.md +++ b/docs/comparison/geolibre.md @@ -23,8 +23,9 @@ workflows. Neither is meant to replace the other MapLibre GL JS, DuckDB-WASM, deck.gl) and runs in a browser tab with nothing installed, as a desktop app, and as native Android and iOS apps. Its strengths are access from anywhere, cloud-native data, interactive visualization and sharing. GeoLibre is mature, with a broad -set of features, and its development now centres on stability, performance and usability -([#951](https://github.com/opengeos/RustGIS/discussions/951)). +set of features; as its maintainer put it in +[discussion #951](https://github.com/opengeos/RustGIS/discussions/951), its development now +centres on stability, performance and usability. **RustGIS is desktop first, built for automation and AI agents.** It is a single program written entirely in Rust that draws its own interface on the GPU, with no browser engine or JavaScript @@ -35,8 +36,9 @@ classic desktop GIS jobs of data design, reports and print layouts. RustGIS is y changing quickly: expect frequent releases, new capabilities and some significant changes. The two complement each other. Both can run the 1,000+ GeoLibre/Whitebox geoprocessing suite, -both read and write common open formats, and the plan is for each to open the other's projects -(see [Using them together](#using-them-together)). Choose GeoLibre for the browser, phones and +both read and write common open formats, and the plan is for RustGIS to open `.geolibre` +projects first and for GeoLibre to open `.rgis` projects later (see +[Using them together](#using-them-together)). Choose GeoLibre for web-first work, phones and notebooks, choose RustGIS for a scriptable desktop GIS, or use both. ## Where each is stronger today From 796cd713e9a3b0755366341224b712b620278293 Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 12:28:33 -0500 Subject: [PATCH 08/12] docs(parity): link #951 once; #665 is "not on the roadmap" Review on #963: the note at the top already links #951, so the struck items no longer repeat it. The QFieldCloud line says "not on the roadmap", which is what was decided, rather than "not planned". Co-Authored-By: Claude Opus 5.5 --- GEOLIBRE_PARITY.md | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/GEOLIBRE_PARITY.md b/GEOLIBRE_PARITY.md index e1755c5d7..61c887882 100644 --- a/GEOLIBRE_PARITY.md +++ b/GEOLIBRE_PARITY.md @@ -66,7 +66,7 @@ _GeoLibre: docs/data-formats.md, docs/features.md › Adding data, SQL and datab Missing: write-back (_Roadmap: data at the source_) and Iceberg. - [x] **Spatial SQL workspace** ([#131](https://github.com/opengeos/RustGIS/issues/131)): an SQL pane over DuckDB Spatial on the desktop. The web app has no in-browser engine: SQL in the browser is left to GeoLibre, which runs DuckDB, PGlite and - Sedona there ([#951](https://github.com/opengeos/RustGIS/discussions/951)). + Sedona there. - [ ] **Private S3 buckets**: partial. `s3://` addresses, SigV4-signed connections, saved connections without their secrets and an S3 browser, desktop and web ([#150](https://github.com/opengeos/RustGIS/issues/150)). Missing: SSO, IAM roles and secrets kept in the keychain (_Roadmap: solid ground_). @@ -180,8 +180,7 @@ model-builder.md, segmentation.md, obia.md_ - [ ] **H3 and DGGS grids**: H3, A5, DGGRID, DGGAL. Partial: A5 grids (_Roadmap: any time_ for H3). - [ ] ~~AI segmentation and detection~~ (SAM/SamGeo, ONNX/YOLO detection, OBIA with eCognition - import): left to GeoLibre, which has these models built in ([#951](https://github.com/opengeos/RustGIS/discussions/951)). RustGIS has pixel - classification. + import): left to GeoLibre, which has these models built in. RustGIS has pixel classification. - [ ] **Visual Model Builder canvas**: a node graph with validation and export to code. Partial: ModelBuilder with a node canvas and models from history. - [ ] **Re-run or copy history as code; batch runs over a folder**. Partial: history copied as @@ -211,11 +210,11 @@ _GeoLibre: docs/collaboration.md, docs/server-api.md, docs/user-guide/embedding. storymaps.md_ - [ ] ~~Real-time multi-user collaboration~~ (live sessions, permissions, roster, chat): - left to GeoLibre, the shared, web-first app ([#951](https://github.com/opengeos/RustGIS/discussions/951)). + left to GeoLibre, the shared, web-first app. - [ ] ~~Review comments~~ (anchored, threaded, resolvable): left to GeoLibre, the shared, - web-first app ([#951](https://github.com/opengeos/RustGIS/discussions/951)). + web-first app. - [ ] ~~Share links, project gallery, accounts~~ (roles, expiry, passwords, a server API): - left to GeoLibre, the shared, web-first app ([#951](https://github.com/opengeos/RustGIS/discussions/951)). Share As writes static files. + left to GeoLibre, the shared, web-first app. Share As writes static files. - [ ] **Story maps**: chapters that fly the live map, a presenter view, HTML export. Partial: Presentations. - [ ] **Embed API**: a `postMessage` protocol, an npm client, viewer-only and map-only modes, deep @@ -256,16 +255,15 @@ docs/agent-skill.md_ _GeoLibre: docs/android.md, ios.md, mac-app-store.md, downloads.md, self-hosting.md, deployment-capabilities.md, ui-profiles.md_ -- [ ] ~~Android app~~: left to GeoLibre, which has the mobile apps ([#951](https://github.com/opengeos/RustGIS/discussions/951)). -- [ ] ~~iOS/iPadOS app~~: left to GeoLibre, which has the mobile apps ([#951](https://github.com/opengeos/RustGIS/discussions/951)). -- [ ] ~~Touch and responsive layout~~: left to GeoLibre, which has the mobile apps - ([#951](https://github.com/opengeos/RustGIS/discussions/951)). RustGIS's layout is for desktop screens. +- [ ] ~~Android app~~: left to GeoLibre, which has the mobile apps. +- [ ] ~~iOS/iPadOS app~~: left to GeoLibre, which has the mobile apps. +- [ ] ~~Touch and responsive layout~~: left to GeoLibre, which has the mobile apps. RustGIS's + layout is for desktop screens. - [ ] ~~Field data collection~~ (forms, photos, GPS or tap placement): left to GeoLibre, which - has the mobile apps ([#951](https://github.com/opengeos/RustGIS/discussions/951)). A QFieldCloud - connection, requested in [#665](https://github.com/opengeos/RustGIS/issues/665), is not planned - either. + has the mobile apps. A QFieldCloud connection, requested in + [#665](https://github.com/opengeos/RustGIS/issues/665), is not on the roadmap either. - [ ] ~~GPS~~ (live position, track logs, digitizing from GPS, NMEA receivers): left to - GeoLibre, which covers field work on phones ([#951](https://github.com/opengeos/RustGIS/discussions/951)). + GeoLibre, which covers field work on phones. - [ ] **PWA and offline basemap tile pre-caching**. Partial: the web app is installable with offline start; offline data areas with sync. Tile pre-caching unverified. - [ ] **Docker self-hosting image with runtime config**. Partial: the static web build (_Roadmap: From 4ce5fba3a17770dc72e64b84b334094acd77ec4a Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 12:38:45 -0500 Subject: [PATCH 09/12] docs(parity): eCognition is an import, not a model Review on #963: the AI segmentation item grouped eCognition import with SAM and ONNX as "models". It now names the models and the OBIA workbench separately. The comparison index says "almost every action" is a command, since UI-only pane and dialog commands stay in the app. Co-Authored-By: Claude Opus 5.5 --- GEOLIBRE_PARITY.md | 3 ++- docs/comparison/index.md | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/GEOLIBRE_PARITY.md b/GEOLIBRE_PARITY.md index 61c887882..03ba0661c 100644 --- a/GEOLIBRE_PARITY.md +++ b/GEOLIBRE_PARITY.md @@ -180,7 +180,8 @@ model-builder.md, segmentation.md, obia.md_ - [ ] **H3 and DGGS grids**: H3, A5, DGGRID, DGGAL. Partial: A5 grids (_Roadmap: any time_ for H3). - [ ] ~~AI segmentation and detection~~ (SAM/SamGeo, ONNX/YOLO detection, OBIA with eCognition - import): left to GeoLibre, which has these models built in. RustGIS has pixel classification. + import): left to GeoLibre, which has SAM and ONNX models built in and an OBIA workbench with + eCognition import. RustGIS has pixel classification. - [ ] **Visual Model Builder canvas**: a node graph with validation and export to code. Partial: ModelBuilder with a node canvas and models from history. - [ ] **Re-run or copy history as code; batch runs over a folder**. Partial: history copied as diff --git a/docs/comparison/index.md b/docs/comparison/index.md index 759a66d71..cf6554bcb 100644 --- a/docs/comparison/index.md +++ b/docs/comparison/index.md @@ -5,8 +5,8 @@ platforms people most often ask about: **QGIS**, **ArcGIS Pro** and **ArcGIS Onl RustGIS is not trying to replace any of these. It fills a narrower spot: a **free and open-source desktop GIS compiled to a single native program**, with a ribbon interface familiar -from desktop GIS, every action available as a scriptable command, and the same app running in a -browser tab through WebAssembly. +from desktop GIS, almost every action available as a scriptable command, and the same app running +in a browser tab through WebAssembly. !!! note "How to read this" Comparisons like this age quickly and are written by an interested party. The RustGIS From b8f6f700936e5efc558ff3bff83c8a39df0e8d69 Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 12:42:34 -0500 Subject: [PATCH 10/12] docs(comparison): RustGIS does open supported QGIS projects Review on #963: "RustGIS opens neither" contradicted the user guide, the QGIS comparison and the roadmap, where supported .qgs/.qgz projects open as maps. Only ArcGIS Pro projects are unsupported. Co-Authored-By: Claude Opus 5.5 --- docs/comparison/geolibre.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/comparison/geolibre.md b/docs/comparison/geolibre.md index 61b8a55d8..086b49808 100644 --- a/docs/comparison/geolibre.md +++ b/docs/comparison/geolibre.md @@ -83,7 +83,8 @@ differences in the short answer, in platform, technology and focus, are the ones that runs commands headlessly and built-in notebooks of command cells, but no Python console in the app and no R package. - **Opening other projects.** GeoLibre imports QGIS (`.qgs`/`.qgz`) and ArcGIS Pro - (`.aprx`/`.mapx`) projects. RustGIS opens neither. + (`.aprx`/`.mapx`) projects. RustGIS opens supported QGIS projects as maps (see + [QGIS projects](../user-guide/workspace.md#qgis-projects-and-styles)) but not ArcGIS Pro ones. - **Editing.** GeoLibre edits vertices and writes edits back to their sources (GeoPackage, PostGIS, ArcGIS feature services). RustGIS moves, inserts and deletes vertices, but edits stay in the project until exported rather than being written back to those sources. From 3b25e5df96dfc6dc2085dc91d3f480d62191e14f Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 12:44:56 -0500 Subject: [PATCH 11/12] docs(parity): the web app installs on phones, but its layout is for desktops Review on #963: "RustGIS's layout is for desktop screens" read as if RustGIS can't run on a phone at all, against docs/installation.md. Co-Authored-By: Claude Opus 5.5 --- GEOLIBRE_PARITY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GEOLIBRE_PARITY.md b/GEOLIBRE_PARITY.md index 03ba0661c..abed80499 100644 --- a/GEOLIBRE_PARITY.md +++ b/GEOLIBRE_PARITY.md @@ -259,7 +259,7 @@ deployment-capabilities.md, ui-profiles.md_ - [ ] ~~Android app~~: left to GeoLibre, which has the mobile apps. - [ ] ~~iOS/iPadOS app~~: left to GeoLibre, which has the mobile apps. - [ ] ~~Touch and responsive layout~~: left to GeoLibre, which has the mobile apps. RustGIS's - layout is for desktop screens. + layout is built for desktop screens, though the web app installs on phones and tablets. - [ ] ~~Field data collection~~ (forms, photos, GPS or tap placement): left to GeoLibre, which has the mobile apps. A QFieldCloud connection, requested in [#665](https://github.com/opengeos/RustGIS/issues/665), is not on the roadmap either. From a3b553486b474fd772946fba315f12d1ea986e2a Mon Sep 17 00:00:00 2001 From: mavrick Date: Mon, 26 Oct 2026 12:46:57 -0500 Subject: [PATCH 12/12] docs(parity): QGIS project import is partial, not missing Review on #963: the entry still said "Missing", contradicting the GeoLibre comparison and the user guide, where supported QGIS projects open as maps. Co-Authored-By: Claude Opus 5.5 --- GEOLIBRE_PARITY.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GEOLIBRE_PARITY.md b/GEOLIBRE_PARITY.md index abed80499..eb6f9d3df 100644 --- a/GEOLIBRE_PARITY.md +++ b/GEOLIBRE_PARITY.md @@ -221,8 +221,8 @@ storymaps.md_ - [ ] **Embed API**: a `postMessage` protocol, an npm client, viewer-only and map-only modes, deep links. Partial: the web app embeddable with `?embed`, exchanging the project through `postMessage` (`apps/rustgis-web/src/embed.rs`); no npm client. -- [ ] **Import QGIS (`.qgs/.qgz`) and ArcGIS Pro (`.aprx/.mapx`) projects**. Missing - (_Exploratory_). +- [ ] **Import QGIS (`.qgs/.qgz`) and ArcGIS Pro (`.aprx/.mapx`) projects**. Partial: supported + QGIS projects open as maps (`project.importQgis`). Missing: ArcGIS Pro (_Exploratory_). - [ ] **Autosave, project history, crash recovery, snapshot compare**. Partial: undo, per-layer archive restore, and autosave with crash recovery in the desktop app ([#873](https://github.com/opengeos/RustGIS/issues/873)); the browser has neither yet.