isard 1.12.1 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,40 @@ versions [Semantic Versioning](https://semver.org) (before 1.0.0, a minor versio
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [1.13.0] - 2026-10-28
9
+
10
+ With `isard-react-native` 0.2.0 and `isard-map` 0.2.0 (Python).
11
+
12
+ ### Added
13
+
14
+ - isard's whole API from Python: a method of the map in snake_case (`m.vector_tiles(…)`, `m.set_sun(…)`) runs in the
15
+ page and answers a handle whose methods are called the same way; `m.new(class, …)`, `m.module(entry)`, `ref()` for
16
+ isard's exports, `js()` for an expression run in the page, Python functions as callbacks, `then=` for an answer,
17
+ dates and bytes passed. The Python of every example the widget can draw, beside its TypeScript and React; the
18
+ documentation's Python introduction shows the basic example's map as its Python made it. In the page of
19
+ `isard-react-native`, the `invoke` message the widget sends.
20
+ - isard in Jupyter: the Python package `isard-map` (`packages/python`, PyPI), a notebook widget (anywidget) running
21
+ the page of `isard-react-native`; `Map(center, zoom, …)` with GeoMap's options, `add_circles`, `add_lines`,
22
+ `add_fills`, `add_extrusions`, `add_tiles3d` or `add(type, data, …)`, GeoDataFrames as data (brought to WGS 84),
23
+ `prop(name, default)` for an option read from the properties, a ramp's `values` from a column, `fly_to`, `ease_to`,
24
+ `set_camera`, `m.camera`, `on_click`; `geoplateforme_wfs` for the Géoplateforme's WFS. The documentation's Python tab;
25
+ the Python of six examples beside their TypeScript and React.
26
+ - `isard-react-native`: an option read from each feature's properties as plain data (`{ property, default }`), a
27
+ ramp's `values` set in place as the data are; `start` takes a container and returns what destroys the map.
28
+ - The Space Shuttle Discovery example (TypeScript and React): the Smithsonian's scan (CC0, a Draco GLB of 150,000
29
+ triangles, 2048 px textures, kept next to the page) at full size beside the Udvar-Hazy Center's hangar that keeps it,
30
+ among OpenFreeMap's buildings as geometry, in the sun; also in the mobile app.
31
+ - The My location example (React Native, in the documentation's Mobile tab): the phone's position from `expo-location`,
32
+ a dot within the circle of its accuracy, a button following it.
33
+
34
+ ### Changed
35
+
36
+ - The documentation's home page: a wall of the examples' pictures, each opening its example, and the same map in
37
+ TypeScript, React, Python, React Native and QGIS, a tab each.
38
+ - The licence's copyright: © 2026 Institut National de l'Information Géographique et Forestière, as the IGN's other
39
+ repositories have it (the code stays MIT); the README lists the data files kept in the repository under their own
40
+ licences (an OpenStreetMap extract, ODbL; a Smithsonian model, CC0).
41
+
8
42
  ## [1.12.1] - 2026-10-28
9
43
 
10
44
  ### Changed
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 Kevin Graff
3
+ Copyright (c) 2026 Institut National de l'Information Géographique et Forestière
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -136,7 +136,10 @@ Local files on a map: `bun scripts/viewer.ts data.geojson lidar.copc.laz tiles.p
136
136
  ([The viewer](https://ideal-adventure-zqn6y6p.pages.github.io/guide/viewer)).
137
137
 
138
138
  In QGIS (3.28 and 4): the **isard 3D view** plugin shows the map canvas and its layers in 3D, in a panel or the
139
- browser, the camera, layers and clicks in sync ([QGIS plugin](https://ideal-adventure-zqn6y6p.pages.github.io/guide/qgis)).
139
+ browser, the camera, layers and clicks in sync ([QGIS plugin](https://ideal-adventure-zqn6y6p.pages.github.io/guide/qgis)). In Jupyter:
140
+ `pip install isard-map`, a notebook widget whose layers are your GeoDataFrames ([Python](https://ideal-adventure-zqn6y6p.pages.github.io/python/)). On a
141
+ phone: `isard-react-native` puts the map in a React Native app, and an Expo app shows the examples
142
+ ([Mobile](https://ideal-adventure-zqn6y6p.pages.github.io/mobile/)).
140
143
 
141
144
  ## Fast by design
142
145
 
@@ -168,8 +171,10 @@ crates/engine/ the WebAssembly core: the engine, the ground, the layers, pic
168
171
  crates/tess/ the tessellation module: vector tiles made ready for the GPU in the basemap workers
169
172
  crates/grid/ the grid module: GRIB2 and NetCDF files read into grids, the wind through the streets tested natively
170
173
  packages/isard/ the npm package isard: GeoMap, layer handles, overlays, workers
171
- apps/ the demo, the viewer (local files, a bridge for other apps) and the benchmark
172
- examples/ one page per example
174
+ packages/react-native/ the npm package isard-react-native: the map in a React Native app's WebView
175
+ packages/python/ the Python package isard-map: the map as a Jupyter widget (anywidget)
176
+ apps/ the demo, the viewer (local files, a bridge for other apps), the benchmark, the Expo app (mobile/)
177
+ examples/ one page per example; in React (react/), React Native (react-native/), Python (python/)
173
178
  docs/ the documentation site (VitePress)
174
179
  scripts/ build, dev server, docs, release
175
180
  integrations/qgis/ the QGIS plugin (Python), its server tested with python3 -m unittest; integrations/README.md: the bridge
@@ -181,8 +186,8 @@ More in [Develop and release](https://ideal-adventure-zqn6y6p.pages.github.io/gu
181
186
 
182
187
  By priority:
183
188
 
184
- - **P1**, next: areas and heights in the measure.
185
- - **P2**, then: rasters draped on the buildings; rasters draped within an area; a clipping volume; a performance report.
189
+ - **P1**, next: rasters draped on the buildings.
190
+ - **P2**, then: rasters draped within an area; a clipping volume; a performance report.
186
191
  - **P3**, later: objects moving along paths; video in the scene.
187
192
  - **P4**, when time allows: the whole MapLibre style drawn as vectors, a 3D vector map to walk through, Panoramax's
188
193
  street-level photos, fluids on the globe, several projections on the globe, smaller items.
@@ -191,5 +196,7 @@ See [Roadmap](https://ideal-adventure-zqn6y6p.pages.github.io/guide/roadmap).
191
196
 
192
197
  ## Licence
193
198
 
194
- MIT, © 2026 Kevin Graff. Basemap data: © OpenStreetMap contributors (OpenFreeMap, OpenMapTiles); IGN data: Licence
195
- Ouverte (Géoplateforme).
199
+ The code: MIT, © 2026 Institut National de l'Information Géographique et Forestière (IGN). Basemap data: © OpenStreetMap
200
+ contributors (OpenFreeMap, OpenMapTiles); IGN data: Licence Ouverte (Géoplateforme). Data files kept in the repository
201
+ under their own licences: `examples/mall/les-4-temps.geojson` © OpenStreetMap contributors (ODbL),
202
+ `examples/smithsonian/discovery.glb` the Smithsonian Institution (CC0).
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isard",
3
- "version": "1.12.1",
3
+ "version": "1.13.0",
4
4
  "description": "A WebGL2 map engine for large, interactive data layers, labels and 3D Tiles over raster or vector basemaps (Rust core in WebAssembly)",
5
5
  "license": "MIT",
6
6
  "author": "Kevin Graff",