Releases: iTowns/itowns
Releases · iTowns/itowns
Release 2.44.2
2.44.2 (2024-09-17)
Bug Fixes
- 3dtiles: support point cloud attenuated mode in OGC3DTiles layer (afcb250)
- exampleCOPC: fix elevation behavior (95d2194)
- PointCloud: Fix clipping point cloud (2019826)
- pointcloud: Fix point cloud distance to camera whatever point cloud initial placement is (ff9a86a)
Workflow and chores
- release v2.44.2 (f785666)
- deps: bump actions/download-artifact in /.github/workflows (8e872be)
- deps: bump body-parser and express (a01de04)
- fix dependency vulnerabilities (29dfc60)
Documentation
Release 2.44.1
Release 2.44.0
2.44.0 (2024-09-02)
Features
- 3dtiles: add new OGC3DTilesLayer using 3d-tiles-renderer-js (a2fedd8)
- Add support for Cloud Optimized Point Clouds (COPC) (f1e014f)
- COG: Allow tileWidth, tileHeight & resampleMethod parameter (24ab82f)
- deps: bump proj4 from 2.9.2 to 2.11.0 (7962fdc)
- deps: bump three from 0.159.0 to 0.165.0 (258adc6)
- examples: add COPC url loader (6b4a5f2)
- introducing workers for LAS parser (0505297)
- LasParser: add parsing of chunks of LAS files (eec3197)
- potree2: Add potree 2.0 loader (ee56ec7)
Bug Fixes
- 3dTilesLayer: fix transparency for 3dTilesLayer (af4d061)
- C3DTFeature: use correct interleaved buffer getter (#2326) (6e20fcb)
- COG: Fix AggregateError (retry if error occur) (038dedd)
- COG: Fix COG example (aaa9691)
- COG: Fix COG levels parsing (921bc03)
- COG: Fix selectLevel (incorrect level selection when source extent is huge) (809a4ad)
- COG: Fix texture width & height (use source.tileWidth & source.tileHeight) (e03caf5)
- deps: update babel and add @babel/core dependency (77fd215)
- entwine: change transparency settings (47f859d)
- example: change klokantech url in 3dtile_ion.html (14891fd)
- MVT: add texture and subdivision size parameter (f286b40)
- parser: wrong shpjs 6.0.1 using (755ae17)
- PointCloud: Allow using custom object3d on PointCloudLayer (2b81710)
- PointCloud: fix after pr feedback (19c0e65)
- pointcloud: fix non-world projected elevation (58fc8bb)
- PointCloud: use preSSE for C3DTilesLayer (8654ccb)
- PointsMaterial.js: Allow transparency when any class is invisible (d091207)
- points: support point classification up to 256 classes (170f220)
- points: use param classificationScheme in 3DTiles (eeef84d)
- potree2: Fix options request issue with raw.githubusercontent.com data source (9abdeed)
- potree2: Fix sample data url (d5ee112)
- scheduler: ignore invalid URLs (c3a67a3)
- shader: Remove early discard based on vcolor (16cbbbf)
- test-functional: fixes on hooks_functional.js (bc41708)
- test: fetcher.js augment timeout limit (5668334)
- test: fix change on id for test functional (3780c56)
- test: import HttpsProxyAgent (624880d)
- TiledGeometryLayer: add hideSkirt unit test (3738a06)
- TiledGeometryLayer: handle hideSkirt at creation (0fa08cd)
- VectorTile: fix Style.setFromVectorTileLayer() when icon.id with {xx} or/and .stops (85e49a1)
Examples
- COG: Set maxSubdivisionLevel to 10 (default is 5) (1de7124)
Code Refactoring
- 3dTilesDebug: add properties hasPnts for pnts fields in GUI (ff0ff3d)
- 3dTiles: supp unused parameter in debug set up (5bf62f2)
- move loaders with little to no dependency to own directory (1bca2e3)
- PointCloudDebug: fix SizeMode gui (bf87dd6)
- points: material as superset of three PointsMaterial (63af9e2)
- points: remove compressed normal support in material (24b3641)
- points: remove support of oriented images (c93a2cd)
- PotreeDebug: rename PotreeDebug to PointCloudDebug (d1eb374)
- style: clean up style and test/style.js (982b908)
- test-functional: reworks on hooks-functional.js: better gestion of errors and save initial camera position only once (488d6a1)
- test: setFromVectorTileLayer() with icon (565472b)
Workflow and chores
- release v2.44.0 (d667129)
- add threads dependency for web workers (1976481)
- babel: modernize config and clean webpack (048eaec)
- CONTRIBUTORS.md: add name (ad67a6b)
- deps-dev: bump braces from 3.0.2 to 3.0.3 (936bc22)
- deps-dev: bump webpack from 5.93.0 to 5.94.0 (9b59bd3)
- deps: bump @mapbox/vector-tile from 1.3.1 to 2.0.3 (de9d16c)
- deps: bump @tweenjs/tween.js from 18.6.4 to 23.1.2 (52c0b6c)
- deps: bump developer dependencies (ff70c47)
- deps: bump earcut from 2.2.4 to 3.0.0 (620e91c)
- deps: bump pbf from 3.2.1 to 4.0.1 (544b4a7)
- deps: bump shpjs from 4.0.4 to 6.0.1 (7c904ff)
- deps: bump ws and puppeteer (02d141f)
- deps: remove unused marked devDependencies (0c4d101)
- devDeps: remove unused babel-register-esm (43a3c14)
- eslint: use babel resolver instead of webpack (4c98e9e)
- issues: update issue templates (e6bc462)
- test: add web worker polyfill (cec42ad)
- use node hooks to fix coverage issues (50e785c)
Documentation
- Add link to governance repo in the README (d3a317b)
- COPC: expose doc for COPCLayer and COPCSource (48fb9df)
BREAKING CHANGES
- points: * Remove overlayColor property (replaced by the standard diffuse property)
- points: * Remove non-tested and non-documented orientedImageMaterial property
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)