Releases: iTowns/itowns
Releases · iTowns/itowns
Release 2.43.1
Release 2.43.0
2.43.0 (2024-04-02)
Features
- ESM distribution (ab36885)
- gltf: add a GLTFParser to parse gltf 1.0 and 2.0 files (e6eb4cf)
- Remove WebGL1 support (5bd5c32)
- TiledGeometryLayer: layer can now hide skirt (06c7181)
- VectorTileSource: add support for multiple source (c51e64a)
Bug Fixes
- 3dtiles: fix tiles disappearing when zooming in and out (c04e784)
- elevation: Fix elevation layer removal from view (4f361c3)
- example: migrate sources to IGN geoplateforme (f6baf69)
- examples: fix new IGN VT style url (17124ec)
- examples: fix some issues with entwine planar example (7d05a0f)
- examples: migrate ign and grandlyon urls (3f3ed82)
- Feature2Mesh: fix proj on base alti (49e48b5)
- PointCloud: fix precision error for entwinePointTileLayer (bf38a72)
- PotreeDebug: fix oversight (e5810d7)
- RasterTile: Fix RasterTile removeEvent when view.dispose is called (33d0e8d)
- tutorials: migrate urls to IGN geoplateforme (5d324ca)
Performance Improvements
- 3dtiles: fix loading time overhead due to internal structures pre-filling (5d2f384)
Examples
- ept: Allow navigation on the pointcloud (ec7ae6c)
Code Refactoring
- babelrc: add geojson and remove gltf from import extension (dd3f80d)
- example: entwine_simple_loader add use of param in url (89d6fbd)
- Fetcher: supp extent in parsed file (1240db6)
- PointCloudLayer: add new scheme and gradients to generate texture for use in the shader (a557914)
- source: supp supportedFetchers and add Fetcher.get(format) (9fa4cde)
- test: add CanvasGradient in bootstrap.js (99be96e)
- test: add tests for Fetcher.js (2fb3298)
- test: unit test clean up (f6b6bf4)
- test: use sinon for multisource (3b0709b)
- unitTests: use sinon to mock hidden itowns.Fetcher and add json file localy (9dcfed3)
Workflow and chores
- release v2.43.0 (066e4e5)
- coverage: replace nyc by c8 (f55ee06)
- deps-dev: bump express from 4.18.2 to 4.19.2 (9be39b7)
- deps-dev: bump follow-redirects from 1.15.4 to 1.15.6 (3163f5f)
- deps-dev: bump ip from 1.1.8 to 1.1.9 (5d84b37)
- deps-dev: bump webpack-dev-middleware from 5.3.3 to 5.3.4 (d53c1a5)
- deps: bump copc and remove unecessary ignore of fs (d4779cc)
- npm install @xmldom/xmldom --save-dev (1c8256c)
- npm install sinon --save-dev (4d21c1e)
- replace the CDN from unpkg to jsdelivr (c7ff763)
- scripts: mark cjs scripts explicitely (c6bae49)
Documentation
Tests
- wfs: fix wfs to 25d example test (1cb36a7)
BREAKING CHANGES
-
- WebGL1 context is no longer supported.
- The itowns library drops the CommonJS distribution in favor of
a standard ECMAScript module (ESM) distribution. - 3dtiles: * C3DTFeature constructor parameters changed from
(tileId, batchId, groups, info, userData, object3d) to
(tileId, batchId, groups, userData, object3d) - C3DTilesLayer.findBatchTable() is not exposed in the API anymore
Release 2.42.0
2.42.0 (2024-02-05)
Features
- Add bboxUrlPrecision parameter (09a037d)
- Add Cloud Optimized GeoTIFF (COG) sample (#2250) (f707e26)
- controls: add meta key support in state controls (74f8b50)
- Coordinates: add toArray method. (ebadc9c)
- deps: Update proj4 from 2.9.0 to 2.9.2 (24eac28)
- deps: Update three from 0.154.0 to 0.159.0 (a2f9105)
- drop support of old browsers (e81e117)
- Feature2Mesh: Stylize points mesh. (b7538b0)
- LASParser: change lasparser package from loaders.gl to copc (aa9d97e)
- View: add getters for threejs renderer and camera (57ed8d3)
- view: add WebXR support. (1d10290)
Bug Fixes
- C3DTilesLayer: handle tileContent with several child containing C3DTFeature. (219e015)
- ColorLayer: Fix rendering issue on white to invisible effect (04cad6c), closes #2236
- examples: change watercolor tile url (1bfd639)
- examples: Fix stereo effects example (3919b72), closes /github.com/mrdoob/three.js/wiki/Migration-Guide#147--148
- package-lock.json: Restore resolved and integrity properties (6737c93), closes npm/cli#4263
- pointcloud: Add SSE calculation for orthographic projections (cae9463)
- points: Correct orthographic vertex projection (e6e1d80)
- StateControl: use uncaught key event (7fae54c)
- tests: prevent overwriting
navigator.userAgent
(f146262) - VectorTile: loading texture on VectorTile when node.pendingSubdivision !need improvement! (e464bdc)
Performance Improvements
- 3dtiles: Transform 3d tiles region bounding volumes to spheres (f0eaf96)
Code Refactoring
- bboxDigits: Apply code review (b118942)
- Feature2Mesh: add gestion feature with variable size (4d44cd3)
- FeatureContext: use Context on LabelLayer and Feature2Texture (4abab9b)
- FeatureCtx: move class FeatureContext to Style and rename (2428d56)
- Feature: remove geometry.properties.style -> use style fct at Feature level (b736f72)
- FeatureToolTip: update with new gestion of Style (356e695)
- points: Uniformize naming with three's points shader (d46cd44)
- Style: change setFromGeojsonProperties() to static (8cf99b6)
- style: change Style.drawingFromContext(ctx) to Style.getFromContext(ctx) for hierarchization of style properties (17bbe88)
- Style: change Style.setFromVectorTileLayer to static (5f22009)
- StyleContext: add setFeature to access feature.type (6b44ef9)
- Style: fuse drawStylefromContext() and symbolStylefromContext() into applyContext() (db3e455)
- Style: homogenize gestion fill.pattern between all existing (396edfb)
- Style: Style hierachisation in Layer.Style instanciation (55849f6)
- Style: supp collection.style and delete notion of style.parent (40f83b3)
- Style: supp getTextFromProperties() ad it's done with getContext() (565dd63)
Workflow and chores
- release v2.42.0 (ec812b4)
- babel: remove nullish coalescing operator transform (691a859)
- deps-dev: bump @babel/traverse from 7.22.5 to 7.23.2 (66171c7)
- deps-dev: bump follow-redirects from 1.15.2 to 1.15.4 (9761d58)
- deps-dev: Update conventional-changelog from 3.0.0 to 4.1.0 (5f084bf)
- deps-dev: Update eslint and its plugins (1e9371e)
- deps-dev: Update some developer dependencies (4d74d4a)
- deps-dev: Update webpack and its loaders (cdaf12f)
- deps: add copc.js dependency (f89df8c)
- deps: supp package loaders.gl/las (14884f3)
- deps: Update @loaders.gl/las from 3.4.4 to 4.0.4 (30ded56)
- deps: Update @tmcw/togeojson from 5.6.2 to 5.8.1 (e52fba6)
- deps: Update regenerator-runtime from 0.13.11 to 0.14.0 (878a256)
- dev-deps: Update puppeteer from 19.4.0 to 21.6.0 (a681103)
- dev-deps: Update semver due to moderate vulnerability (5a6c7e3)
- examples: ESMify collada example (b82622d)
- examples: ESMify multiple 2.5D maps (ac9cea4)
- Feature: rename base_altitudeDefault to camelCase (658992d)
- polyfills: remove polyfill for async/await (abc6bbb)
- polyfills: remove polyfill for TextDecoder (356811e)
- README: add browser support notice (f31fec9)
- test: fix bootstrap to follow ES semantics (4d4e28f)
- webpack: remove fetch polyfill on bundle (96b870a)
- webpack: remove URL polyfill on bundle (1928986)
- webpack: stop watching node modules in dev mode (47d0c7c)
Documentation
- ColorLayer: Update doc on effect_type and effect_parameter (d508831)
- README: remove typo (6329129)
- style: specify features supported with labels (de88737)
- View: document View properties (ef8d3f4)
BREAKING CHANGES
- iTowns now officially supports only the two last
versions + versions with >0.5% market share of popular browsers as
well as the lastest version of Firefox ESR. WebGL2.0 support is also
mandatory. - 3dtiles: Remove region, box and sphere properties of C3DTBoundingVolume.
They have been replaced by volume property which contains a THREE.Box3 (for
box) or a THREE.Sphere (for sphere or region). Initial bounding volume type
can be retrieved with the initialVolumeType property. - C3DTilesLayer: C3DTFeature constructor changed from (tileId, batchId, groups, info, userData) to (tileId, batchId, groups, info, userData, object3d)
Release 2.41.0
2.41.0 (2023-10-16)
Features
- 3dtiles: add method to enable ktx2 loader for gltf (a260109)
- points: Add attenuated mode for points size rendering (6db3c5e)
- points: Add option to render points in shape square or circle (363f137)
- VectorTile: add coordProj in pushCoordinatesValues() to get access to position when using style.base_altitude. (451e5d6)
Bug Fixes
- example: fix example Gpx 3d and functional test (781a47d)
- fix Glob error when lauching npm install on windows (e56bf65)
- picking: Fix point reference of picking (#2192) (1cd4db9)
Examples
- VectorTile: new example using official mapbox flux, showing buildings placed at ground level. (cefebce)
Code Refactoring
- Feature: Feature.pushCoordinates() change in arguments order (44e9532)
- VectorTile: Code clean up (284c46b)
- View: Deprecate WebGL 1.0 support (1cf7075)
Workflow and chores
- release v2.41.0 (d47e36c)
- add commit message checker (9370312)
- integration: add release commit to message check (b88de83)
- release: add npm install to npm bump command (cc6239d)
- separate build and test jobs (c3bc003)
- workflow: add npm provenance to npm package (cb29ab6)
- workflow: fix publish rights with npm provenance (63f70be)
- workflow: update github actions to node 18 (5143c25)
Documentation
- CONTRIBUTING.md: add commits type list (b91404a)
- CONTRIBUTING.md: fix typo (ac6c328)
- WebGL1: Remove tutorial "Getting Started - WebGL 1.0/2.0" (57f7b59)
BREAKING CHANGES
- VectorTile: Feature.pushCoordinatesValues() signature change from pushCoordinatesValues(feature, long, lat, normal) to pushCoordinatesValues(feature, coordIn, coordProj)
- Feature: Feature.pushCoordinates() change in arguments order from pushCoordinates(coordIn, feature) to pushCoordinates(feature, coordIn)
Release 2.40.0
2.40.0 (2023-07-28)
Features
- 3dtiles: add classification for rendering pointscloud (b924cd7)
- 3DTiles: add style API + C3DTFeature (864268a)
- 3dtiles: add support for 3d tiles from cesium ion server (e9793a3)
- 3DTiles: add C3DTILES_LAYER_EVENTS.ON_TILE_REQUESTED (ec837c7)
- Coordinates: Add a setCrs method (606b6b8)
- elevationLayers: Add config.clampValues for clamping values of the elevation dataset (1985078)
- instancing: use instancing for large number of 3d objects (619a611)
- LabelLayer: add option to clamp labels to terrain. (f46ca97)
- Parser: detect if original source have elevation data. (17aaa8b)
- picking: Add distance and point position to returned object by points picking (97a5e6a)
- planarcontrols: add enabled attribute (f13a060)
- Style: add icon.color and icon.opacity (4fd5dc4)
- typescript: Add devDeps on three's definitions (2fbbcc3)
- typescript: Add tsconfig.json configuration (3c8c5f5)
- typescript: Add typescript dependency (71a2370)
- view: allow to pass an array of layers for picking (9b6d59f)
- Widget: add C3DTilesStyle widget (7862bc1)
- WMTS: Support vendor specific parameters (cff042c)
- XbilParser: gestion nodata in elevation layer (elevation set to 0) (20075b8)
Bug Fixes
- 3dTiles: addEventListener onTileContentLoaded constructor (6f9a9d2)
- 3dtiles: fix batchtable reading (b245301)
- 3dtiles: improve 3D Tiles cache cleaning (284be24)
- 3DTiles: tileId == 0 can update style (11582c9)
- controls: keyboard events are now on the domElement on the view instead of window (d5c80f4)
- CRS: more robust parameter tests (a2e0f5c)
- Debug: fix 3dTiles bbox visibility (cd8d106)
- example: change config file linked with the clampValues config (2a4e911)
- example: invert order of the ElevationLayer addition when using 2 (c6800c9)
- examples: Fix cesium ion token (7f86d26)
- examples: Replace Lyon's deprecated MNT sources (7490590)
- examples: Replace Lyon's deprecated Ortho2009 sources (8dbb3d6)
- examples: Update Lyon bus source options (0881b2d)
- Feature2Texture: prevent empty style (ab5713a)
- GeoJsonParser: fix firstCoordinates when empty (e54f352)
- GlobeLayer, PlanarLayer: fix too much tiles subdivision due to wrong param name (c726f25)
- Label: catch no data elevation. (e1e3b1d)
- ObjectRemovalHelper: linked objects are not removed. (05a0768)
- Parser: detect if original source have elevation data with multi-features. (9d509da)
- Source: Validate crs in Source constructor (195bef3)
- typescript: Add annotation to unblock typechecking (25619f3)
- view: improve resource disposal by removing textures and allow to remove cache (2497d00)
- view: improve view disposal by removing resize listener (6f4ec34)
Performance Improvements
- LabelLayer: add automatic label filtering to reduce rendering calls. (e7dde10)
Examples
- 3dtiles: add an example to display OSM buildings from cesium ion server (9e9acb0)
- 3dtiles: rename some 3D tiles examples (e032bf2)
- 3dtiles: update 3d tiles dataset on 3dtiles_25d example to a textured one (15b438c)
- Collada: clean and update (08dbd3d)
- potree_25d_map: declare map projection code (604b6ac)
- SourceFileGeoJson: geojson raster file -> add new example for planarView (2d6abcd)
- SourceFileKML: add new kml raster file from official source (58734ee)
Code Refactoring
- c3DEngine: deleting the unused method getUniqueThreejsLayer. (9664006)
- Camera: remove camera argument from CameraRig (2af65b7)
- example: update with new gestion of Style (955722c)
- Extent: move calculation of Extent intersection to static Extent.intersectsExtent(ExtentA,ExtentB) (4ca93a9)
- FeatureGeometryLayer: cleanup -> remove extra line break (4cef6ba)
- FeatureToolTip: update for official kml and geojson flux (6e2a98c)
- GlobeControls: remove three layer for helpers. (a1a8391)
- GlobeLayer: pass in static the method horizonCulling. (18af800)
- GlobeView: move sun light, from tileLayer to main scene. (68b78f0)
- LabeLayer: change label node culling mechanism. (b833744)
- LabelLayer: apply architecture node and simplify process. (aff7964)
- Label: optimize elevation update. (7492c8e)
- Layer: instanciate new Style at Layer instead of at examples (d26f29e)
- LayerUpdateState: add hasFinished method. (3767b0a)
- OBB: remove OBB from node's children. (0440bb6)
- pickFeaturesAt: avoid picking twice the same featureGeometry (d5e5f7e)
- RasterTile: emit event when raster elevation changed. (ea52ee1)
- Style: instantiate canvas when no document (b20916f)
- test: add a npm run test in develpment mode -> run test-dev (9ca1d5f)
- test: commenting failing test in test/unit/CameraUtils (b39edf8)
- test: handling assert fail messages in tests (1131abe)
- test: handling fail messages in test with promise (48b9750)
- THREE: Remove Three.js layers using. (971f175)
- TileMesh: add change visibility event. (90ada88)
- TileMesh: new structuring of the data linked to the node. (05eb368)
- view: rename pickCoordinates to pickTerrainCoordinates (9c701db)
- Widget: expose Widget in API (ca77fc8)
Workflow and chores
Release 2.39.0
2.39.0 (2023-01-04)
Features
- 3dtiles: add support for binary batch table (47325ab)
- add a npm build task creating a non minified version (48a24fa)
- debug: add altitude to displayed coordinates. (e1fea9f)
- globeControls: add configuration parameters and documentation (cdd865c)
- globeView: allow to configure globeControls when creating a globeView (821e522)
Bug Fixes
- 3dtiles: fix and document 3d tiles material overriding (8ade709)
- 3dtiles: fix layer opacity and visibility change for 3d tiles pnts (059fe5e)
- 3dtiles: handle tilesets with cesium specific uniforms in shaders (04f8b40)
- 3dtiles: use correct batch table constructor for pnts tiles (e1dbd63)
- change THREE.Math to THREE.MathUtils (826b5bd)
- Feature2Texture: prevent drawing points if they lack style (5706e6f)
- gltf: fix parsing of khr_binary_extension in gltf 1.0 files (2bf9d2d)
- LayeredMaterial: fix opacity when initialized to 0 (deac41e)
- picking: fix picking on multiple layers (5c2f578)
- Scheduler: replace url subdomains alternatives (91fd9ec)
- view: fix view resize when width or height is 0 (dbd9ee3)
- wfs, wms, wmts: support urls ending with or without ? character (f44dfb2)
Performance Improvements
- demutils: texture data read optimization in elevation measurement (9ee991c)
- picking: don't pick atmosphere layer (069b2dd)
Examples
- 3dtiles_25d: change data url (52a412f)
- Camera animation: cleanup example code (2bfe4e6)
- GuiTools: fix opacity slider by adding step (3b205bc)
- DSM: add an example of Digital Surface Model (2f9d558)
Code Refactoring
- feature: use feature crs property for instance center property. (e455bdb)
Workflow and chores
- release v2.39.0 (dd1d251)
- add a script to start an https local session with webpack (e99bf15)
- deps: bump loader-utils from 2.0.2 to 2.0.3 (fd0f01b)
- deps: bump loader-utils from 2.0.3 to 2.0.4 (cccacae)
- deps: bump terser from 5.13.1 to 5.14.2 (7134b26)
- integration: add option to launch integration workflow manually (db05ed6)
- integration: update potree repository (39fbdd7)
- up chalk to 5.0.1 (1a30d66)
- update CONTRIBUTORS.md (ba33056)
- update packages. (3dac8b9)
- update three.js to 0.146.0 (55e7016)
Documentation
- RasterTile: fix faulty link (7cf4fcf)
- README: Typo in the readme redirecting to a 404 error (04122a8)
- tutorials: Improve tutorial and add two tutorials for 3D tiles (3063925)
Tests
- 3dtiles: add 3D Tiles batch table parsing tests (f3bd6c7)
BREAKING CHANGES
- 3dtiles:
C3DTBatchTable
constructor signature has changed from
C3DTBatchTable(buffer, binaryLength, batchLength, registeredExtensions) to
C3DTBatchTable(buffer, jsonLength, binaryLength, batchLength, registeredExtensions)
Release 2.38.2
Release 2.38.1
Release 2.38.0
2.38.0 (2022-04-13)
Features
-
FeatureGeometryLayer: introduce FeatureMesh, they are added to layer.object3d. (0d777ce)
-
Widgets: add a searchbar widget (164b6ee)
-
Widgets: add a widget to display a scale (d3a0154)
-
Widgets: add show and hide methods (59ac32c)
-
widgets: Navigation tooltips can be parametrized (094803f)
-
Widgets: placeholder for searchbar can be modified (9bd81ce)
Bug Fixes
- Feature2Mesh: fix wrong computing of clockwise polygon. (bad5e34)
- GeoidLayer: transformation error on tileMesh. (472e39c)
- parser: GeoJsonParser add legacy identifier to fct readCRS() (a0195c6)
- VectorTileParser: clock wise polygon wasn't calculated. (135ee7a)
- View: fix pickCoordinates undefined parameter (0ec49f4)
- Widgets: fix focus policy and event propagation on widgets (7775a04)
- Widgets: fix in Navigation css (a85f8b4)
Examples
- change view source button style (e593237)
- FeatureGeometryLayer: add vector tile to 3d object. (53a42a6)
- view 3d: updates on widgets (30bee5f)
- Widgets: use minimap widget in view 3D example (5042ba7)
Code Refactoring
- Feature: move properties to private fields. (02604b9)
- Feature: simplify normals data. (0914834)
- GeometryLayer: reference to material properties from Layer properties. (23a0269)
- label: render only object with labels. (c317a8a)
- MainLoop: use class for MainLoop. (25a48fd)
- PlanarControls: change focus policy (99fadc0)
- view_3d_map: simplify example (3786dcf)
- View: move View properties to private fields. (51f5508)
- Widgets: add onClick property in Navigation (8d9f69e)
- Widgets: simplify Navigation usage (7c2bc89)
Workflow and chores
- add support ecma 2022 (25080d9)
- deps: bump deps to fix security vulnerability. (1db1ae7)
- deps: bump minimist from 1.2.5 to 1.2.6 (09e047a)
- deps: bump node-forge from 1.2.1 to 1.3.0 (e536532)
- submodule: use submodule for widgets. (44cc7d0)
- update packages. (e19809f)
Documentation
- core: Add doc for local execution (faf58be)
- Widgets: specify GlobeView support for navigation (c209fdc)
- Widgets: specify resources needed to use widgets (b65c081)
Tests
- Feature2Mesh: add test to calculate the difference with and without proj4. (1527c64)
Release 2.37.0
2.37.0 (2022-01-31)
Features
- Geoid: add support for geoid heights (38569f6)
- Parser: add parsers for GTX, ISG and GDF file formats (a55b154)
- View: add a method to pick world coordinates (91ccfe3)
- View: add support for ortho camera in getScale method (06eb805)
- View: dispatch an event when camera is moved (37cfb90)
- Widget: add a minimap widget (6d82c74)
Bug Fixes
- GlobeControl: stop damping when launching new animation (dad7641)
- test: fetch local laz files behind proxy. (b732c0a)
- View: fix picking radius with polygons (b7be8e9)
Examples
- Compass: add an example of a compass in a GlobeView (3290820)
- FileSource: add exemples of FileSource instantiation (7db9bcb)
- Potree: add an example of Potree intgration within iTowns (4bbc772)
- Potree: fix minor issues on the example (1ee50c8)
- source / file: simplify FileSource usage (21317b4)
- Widget: add an example of minimap widget (2b89f83)
- Widgets: add a plugin to display widgets (ec56fa9)
- add GeoidLayer implementation example (5df8cc5)