isard 1.12.1 → 1.14.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 +57 -0
- package/LICENSE +1 -1
- package/README.md +14 -7
- package/dist/isard_bg.wasm +0 -0
- package/dist/isard_core_bg.wasm +0 -0
- package/dist/isard_tess_bg.wasm +0 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,63 @@ versions [Semantic Versioning](https://semver.org) (before 1.0.0, a minor versio
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [1.14.0] - 2026-10-28
|
|
9
|
+
|
|
10
|
+
With `isard-react-native` 0.3.0 and `isard-map` 0.3.0 (Python: its `geoplateforme_wfs` asks page by page as isard
|
|
11
|
+
does, `srs_name`; isard 1.14.0 in its widget).
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- The examples' versions kept in step: the visual tests draw each example's Python version (its script's state replayed
|
|
16
|
+
by the notebook widget, its WFS answered from the recorded fixtures) and its React Native version (on React Native for
|
|
17
|
+
Web) and compare them with the TypeScript version's picture; a version that drifts fails. Python's
|
|
18
|
+
`geoplateforme_wfs` asks for its pages as isard does (`srs_name` too); a data layer's options take `{ $js }`.
|
|
19
|
+
|
|
20
|
+
- isard's whole API from React Native: the view's `api` (the map of the page) gives handles whose methods run in the
|
|
21
|
+
page, typed by isard's method names; `make`, `module`, `valueOf`, `get`, `set`; `ref`, `js`, `prop`; the app's
|
|
22
|
+
functions as callbacks, dates and bytes passed. Every example in React Native beside its TypeScript, React and
|
|
23
|
+
Python (36, run on React Native for Web), and the documentation's page of the whole API.
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- The travel times of the network example (TypeScript and React): the run kept its times in a `Float32Array` and turned
|
|
28
|
+
away the nodes whose time rounded below the one pushed; 18 nodes of 1931 were reached. In double precision now, as
|
|
29
|
+
the comparison of the example's versions showed.
|
|
30
|
+
|
|
31
|
+
## [1.13.0] - 2026-10-28
|
|
32
|
+
|
|
33
|
+
With `isard-react-native` 0.2.0 and `isard-map` 0.2.0 (Python).
|
|
34
|
+
|
|
35
|
+
### Added
|
|
36
|
+
|
|
37
|
+
- isard's whole API from Python: a method of the map in snake_case (`m.vector_tiles(…)`, `m.set_sun(…)`) runs in the
|
|
38
|
+
page and answers a handle whose methods are called the same way; `m.new(class, …)`, `m.module(entry)`, `ref()` for
|
|
39
|
+
isard's exports, `js()` for an expression run in the page, Python functions as callbacks, `then=` for an answer,
|
|
40
|
+
dates and bytes passed. The Python of every example the widget can draw, beside its TypeScript and React; the
|
|
41
|
+
documentation's Python introduction shows the basic example's map as its Python made it. In the page of
|
|
42
|
+
`isard-react-native`, the `invoke` message the widget sends.
|
|
43
|
+
- isard in Jupyter: the Python package `isard-map` (`packages/python`, PyPI), a notebook widget (anywidget) running
|
|
44
|
+
the page of `isard-react-native`; `Map(center, zoom, …)` with GeoMap's options, `add_circles`, `add_lines`,
|
|
45
|
+
`add_fills`, `add_extrusions`, `add_tiles3d` or `add(type, data, …)`, GeoDataFrames as data (brought to WGS 84),
|
|
46
|
+
`prop(name, default)` for an option read from the properties, a ramp's `values` from a column, `fly_to`, `ease_to`,
|
|
47
|
+
`set_camera`, `m.camera`, `on_click`; `geoplateforme_wfs` for the Géoplateforme's WFS. The documentation's Python tab;
|
|
48
|
+
the Python of six examples beside their TypeScript and React.
|
|
49
|
+
- `isard-react-native`: an option read from each feature's properties as plain data (`{ property, default }`), a
|
|
50
|
+
ramp's `values` set in place as the data are; `start` takes a container and returns what destroys the map.
|
|
51
|
+
- The Space Shuttle Discovery example (TypeScript and React): the Smithsonian's scan (CC0, a Draco GLB of 150,000
|
|
52
|
+
triangles, 2048 px textures, kept next to the page) at full size beside the Udvar-Hazy Center's hangar that keeps it,
|
|
53
|
+
among OpenFreeMap's buildings as geometry, in the sun; also in the mobile app.
|
|
54
|
+
- The My location example (React Native, in the documentation's Mobile tab): the phone's position from `expo-location`,
|
|
55
|
+
a dot within the circle of its accuracy, a button following it.
|
|
56
|
+
|
|
57
|
+
### Changed
|
|
58
|
+
|
|
59
|
+
- The documentation's home page: a wall of the examples' pictures, each opening its example, and the same map in
|
|
60
|
+
TypeScript, React, Python, React Native and QGIS, a tab each.
|
|
61
|
+
- The licence's copyright: © 2026 Institut National de l'Information Géographique et Forestière, as the IGN's other
|
|
62
|
+
repositories have it (the code stays MIT); the README lists the data files kept in the repository under their own
|
|
63
|
+
licences (an OpenStreetMap extract, ODbL; a Smithsonian model, CC0).
|
|
64
|
+
|
|
8
65
|
## [1.12.1] - 2026-10-28
|
|
9
66
|
|
|
10
67
|
### Changed
|
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2026
|
|
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
|
-
|
|
172
|
-
|
|
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:
|
|
185
|
-
- **P2**, then: rasters draped
|
|
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
|
|
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).
|
package/dist/isard_bg.wasm
CHANGED
|
Binary file
|
package/dist/isard_core_bg.wasm
CHANGED
|
Binary file
|
package/dist/isard_tess_bg.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED