Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# GeoLibre Desktop

Lightweight, cloud-native desktop GIS prototype built with **Tauri v2**, **React**, **TypeScript**, and **MapLibre GL JS**.
Lightweight, cloud-native desktop GIS prototype built with **Tauri v2**, **React**, **TypeScript**, **MapLibre GL JS**, and **DuckDB-WASM Spatial**.

## Features (v0.1 MVP)
## Features (v0.4.0)

- MapLibre map with OpenFreeMap Liberty basemap
- Load local GeoJSON, GeoParquet, GeoPackage, and Shapefile layers
- Layer panel (visibility, opacity, reorder, remove)
- Live style panel (fill, stroke, opacity, circle radius)
- Attribute table for imported vector layers
- Save/open `.geolibre.json` projects
- Processing toolbox (bounds, count + placeholders)
- Plugin system (basemap + sample GeoJSON plugins)
- Optional Python FastAPI sidecar (design only)
- Processing toolbox with local bounds and feature count algorithms
- Plugin system with basemap, layer control, swipe, street view, lidar, GeoAgent, and GeoEditor integrations
- Optional Python FastAPI sidecar for heavier processing workflows

## Prerequisites

Expand Down
2 changes: 1 addition & 1 deletion apps/geolibre-desktop/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "geolibre-desktop",
"version": "0.3.0",
"version": "0.4.0",
"private": true,
"type": "module",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion apps/geolibre-desktop/src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apps/geolibre-desktop/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "geolibre-desktop"
version = "0.3.0"
version = "0.4.0"
description = "GeoLibre Desktop — lightweight cloud-native desktop GIS"
authors = ["GeoLibre Contributors"]
edition = "2021"
Expand Down
2 changes: 1 addition & 1 deletion apps/geolibre-desktop/src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "GeoLibre Desktop",
"version": "0.3.0",
"version": "0.4.0",
"identifier": "org.geolibre.desktop",
"build": {
"beforeDevCommand": "npm run dev",
Expand Down
2 changes: 1 addition & 1 deletion backend/geolibre_server/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "geolibre-server"
version = "0.3.0"
version = "0.4.0"
description = "Optional Python processing sidecar for GeoLibre Desktop"
readme = "README.md"
requires-python = ">=3.10"
Expand Down
14 changes: 7 additions & 7 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ hide:
<h1>MapLibre-powered GIS for local projects and modern geospatial workflows.</h1>
<p class="hero__lead">
GeoLibre is a lightweight desktop GIS prototype built with Tauri, React,
TypeScript, and MapLibre GL JS. It focuses on fast local GeoJSON work,
project files, styling, plugins, and a practical path toward cloud-native
formats.
TypeScript, MapLibre GL JS, and DuckDB-WASM Spatial. It focuses on fast
local vector data work, project files, styling, plugins, and a practical
path toward cloud-native geospatial workflows.
</p>
<div class="hero__actions">
<a class="md-button md-button--primary" href="/demo/">Open live demo</a>
Expand All @@ -35,9 +35,9 @@ Use an OpenFreeMap basemap, pan and zoom smoothly, and toggle built-in map contr
</div>

<div class="feature-card" markdown>
### Local GeoJSON projects
### Local vector projects

Load GeoJSON, inspect attributes, style layers, reorder visibility, and save or reopen `.geolibre.json` projects from the desktop app.
Load GeoJSON, GeoParquet, GeoPackage, and Shapefile data, inspect attributes, style layers, reorder visibility, and save or reopen `.geolibre.json` projects from the desktop app.
</div>

<div class="feature-card" markdown>
Expand All @@ -56,11 +56,11 @@ The processing toolbox includes client-side algorithms now, with a roadmap towar

## Try it in the browser

The live demo is the browser-capable version of the GeoLibre desktop UI. It is useful for exploring the map, loading browser-selected GeoJSON files, styling layers, and testing plugins. Desktop-only file dialogs and filesystem save/open operations still require the installed Tauri app.
The live demo is the browser-capable version of the GeoLibre desktop UI. It is useful for exploring the map, loading browser-selected GeoJSON, GeoParquet, GeoPackage, and zipped Shapefile data, styling layers, and testing plugins. Desktop-only file dialogs and filesystem save/open operations still require the installed Tauri app.

[Open the live demo](/demo/){ .md-button .md-button--primary }
[Read the architecture](architecture.md){ .md-button }

## Project status

GeoLibre is an active prototype. The current implementation includes the map workspace, project format, plugin API, and core UI patterns. See the [roadmap](roadmap.md) for planned work on cloud-native formats, DuckDB Spatial, the Python processing sidecar, and external plugin loading.
GeoLibre is an active prototype. Version 0.4.0 includes the map workspace, project format, plugin API, browser vector import, DuckDB-WASM Spatial loading, and core UI patterns. See the [roadmap](roadmap.md) for planned work on PMTiles, COGs, SQL workflows, the Python processing sidecar, and external plugin loading.
16 changes: 8 additions & 8 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "geolibre",
"private": true,
"version": "0.3.0",
"version": "0.4.0",
"description": "GeoLibre Desktop — lightweight cloud-native desktop GIS",
"workspaces": [
"apps/*",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@geolibre/core",
"version": "0.3.0",
"version": "0.4.0",
"private": true,
"type": "module",
"main": "./src/index.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/map/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@geolibre/map",
"version": "0.3.0",
"version": "0.4.0",
"private": true,
"type": "module",
"main": "./src/index.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/plugins/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@geolibre/plugins",
"version": "0.3.0",
"version": "0.4.0",
"private": true,
"type": "module",
"main": "./src/index.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/processing/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@geolibre/processing",
"version": "0.3.0",
"version": "0.4.0",
"private": true,
"type": "module",
"main": "./src/index.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@geolibre/ui",
"version": "0.3.0",
"version": "0.4.0",
"private": true,
"type": "module",
"main": "./src/index.ts",
Expand Down
Loading