Skip to content

Latest commit

 

History

History
1361 lines (893 loc) · 82.8 KB

changelog.md

File metadata and controls

1361 lines (893 loc) · 82.8 KB

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

  • remove empty class used for documentation (9479973)
  • rewrite some docs to follow jsdoc semantics (cbb1b96)

2.44.1 (2024-09-06)

Bug Fixes

  • tutorials: use OGC3DTilesLayer in 3d tiles tutorials (e345979)

Workflow and chores

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

2.43.1 (2024-04-30)

Bug Fixes

  • LASLoader: fix default CDN URL (4d029ef)
  • PointCloud: correct some issues after refacto (65c4008)

Workflow and chores

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

  • tutorials: minor typo and syntax fixes (7680ccf)
  • tutorials: replace deprecated callback (c6ba5fb)

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

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)

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)

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 v2.40.0 (20a80eb)
  • add coding rules (1ec89f2)
  • add name to contributors (2f81334)
  • contributors: update contributors and maintainers (b5123f5)
  • deployment: prevent deploying potree bundle since it is not used yet (8f7ae1a)
  • deps-dev: bump webpack from 5.72.1 to 5.76.0 (0bf309b)
  • deps-dev: bump word-wrap from 1.2.3 to 1.2.5 (64794b1)
  • deps: bump dns-packet from 5.3.1 to 5.4.0 (96987fd)
  • don't watch git hash modification (f19973e)
  • examples: update draco to work with THREE r153 (00b6db5)
  • integration: differentiate deployment for LTS and current version (470e306)
  • integration: fix next version publication (fdb4813)
  • integration: publish latest and next npm packages (f8996b3)
  • integration: update actions in integration script (c83bfcf)
  • replace variable declaration by const or let (36ce64d)
  • update packages (a841343)
  • update three to 0.153.0 (728f473)
  • update three to r154 (85c9b78)

Documentation

  • 3dtiles: add documentation for 3d tiles source (eb7c8ca)
  • add coding conventions and other rules for PR. (5001c8d)
  • examples: Add documentation on some test cases (cba2146)
  • layers: improve raster layers doc (c53436a)
  • style: JSDoc for StyleOptions (3adbf39)
  • tutorials: fix tutorials source API keys (0c10d82)
  • tutorials: update with new gestion of Style (d76f92f)
  • WMTSSource: Change the link and the extend to TMSSource (23c16d2)

Tests

  • 3dtiles: test 3d tiles sources and 3d tiles ion example (47db4c7)
  • examples: add new functional tests (8e14fe8)
  • LabelLayer: add and modify LabelLayer tests. (a8dfb36)
  • style: add tests for applyToHTML() and getImage() (8e04cd8)

BREAKING CHANGES

  • view: View.pickCoordinates has been renamed to View.pickTerrainCoordinates and returns the coordinates in the referenceCrs of the view instead of in the crs of the tiledLayer extent.

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)

2.38.2 (2022-05-11)

Features

  • View: Add option viewer to enable/disable focus on start. (88d7c93)

Workflow and chores

2.38.1 (2022-04-13)

Examples

  • Navigation: fix addButton method call (c53ae71)

Workflow and chores

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

  • release v2.38.0 (34ae0f3)
  • 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)

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)

Code Refactoring

  • TileMesh: refactorize bbox update method (18196b6)
  • Widgets: rename widgets to navigation (509a042)

Workflow and chores

  • release v2.37.0 (97e59b6)
  • deps-dev: bump marked from 4.0.8 to 4.0.10 (cfc9100)
  • add potree repo and symbolic link to gitignore (d7bb92c)
  • change itowns.github.io deploying (870299f)
  • deploy itowns and potree bundle. (b104fd5)
  • fix eslint rules. (6fff078)
  • update CONTRIBUTING.md (96cfb21)
  • update packages. (eb7c8d5)

2.36.2 (2021-11-29)

Bug Fixes

  • VectorTileSource: error if vector tile layer style is undefined. (b535583)

Code Refactoring

  • Coordinates/Extent: rename dimension and distance methods. (6a436ac)
  • examples: replace geoservice keys. (b81738c)
  • Feature: defaults buildExtent parameter to true for 2d structure (3182075)

Workflow and chores

2.36.1 (2021-11-22)

Bug Fixes

  • View: wrong calculate pick radius with distance/zoom. (d5efa03)

Workflow and chores

2.36.0 (2021-11-18)

Features

  • Coordinates: add methods to calculate distance between coordinates. (acdf643)
  • Crs: add isGeocentric method. (1ab76c8)
  • Extent: add methods to calculate extent dimensions. (ed583d9)
  • Label: add parameter to change labels padding property (33f8680)

Bug Fixes

  • ColorLayer: fix shader when transparent is true (1a4f44d)
  • ElevationLayer: scale elevation isn't updated (26d72da)
  • Ellipsoid: wrong geodesic distance. (4d462f2)
  • Extent: fix wrong calculating when apply matrix. (04abdd2)
  • Feature: wrong altitude and altitude limits. (4746e86)
  • Feature2Mesh: set scale transformation from FeatureCollection. (0f5cd07)
  • FirstPersonControls: prevent context menu from poping (94bfd57)
  • GlobeControls: fix black screen when zooming outside globe (3e0f23f)
  • label2DRenderer: add frustum culling in global labels culling. (5ba4e9d)
  • Point/3Dtiles: wrong geographical extent property for points cloud and 3Dtiles. (c663ce4)
  • Style: copy order property when copying style (cab78ba)
  • VectorTileSource: set style parent with style Layer (aba0743)

Examples

  • 3dtiles_basic: update 3dtiles sources url (50d6733)

Code Refactoring

  • debug: remove id text in OBB helper. (d033279)
  • examples: add wfs labels in 2.5d examples. (944e412)
  • Extent: throw error if the projection is geocentric. (e0048f7)
  • Extent: use Extent.planarDimensions instead of Extent.dimensions (023d5fa)
  • OBBHelper: remove OBBHelper text. (1e2fc31)
  • TerrainMaterial: rename fogDepth -> vFogDepth (7d162ec)
  • View: change label margin default. (8c6edf5)

Workflow and chores

Documentation

  • Ellipsoid: minor fix on geodesicDistance doc (a0cd2a3)

2.35.0 (2021-09-16)

Features

  • AnimationPlayer: add a callback ran at each animation frame (1280ce0)

Bug Fixes

  • c3DEngine: fix error when input renderer.domElement is a canvas (14567c1)
  • CameraUtils: CameraTransformOptions parameter stopPlaceOnGroundAtEnd is no longer overriden (7f3a542)
  • CameraUtils: compute precise altitude when setting CameraRig (011fcbc)
  • Feature2Mesh: addapt indices array type from the size of polygon (378c092)
  • GlobeControls: fix jittering move globe when devtool is open (825841c)
  • Label: clamp labels altitude over 0 (ddd59e0)
  • Label: enforce Labels div top position to 0 (08528d7)
  • ShapefileParser: prevent ignoring input crs wen given (d2b90b7)

Examples

  • camera traveling: add an example where user can pick points and have camera traveling between those points (6e79ff3)

Code Refactoring

  • Controls: change deprecated mouseWheel event to wheel event (923d10c)
  • Controls: handle mouse events in StateControls (ae1c30b)
  • Controls: switch context menu management in StateControl (5fa010b)
  • Controls: switch enabled property from GlobeControls to StateControl (76130b4)
  • Controls: switch keyboard management to StateControls (a392a7b)
  • Controls: switch wheel management to StateControl (4e64b75)
  • StateControl: factorise handleMouse in pointer methods (0e626d8)
  • StateControls: simplify setFromOptions method (a7d175f)

Workflow and chores

  • release v2.35.0 (ade35e8)
  • examples: change geoportail key. (36f0f40)
  • move babel preset-env options to .babelrc (ad22bcc)
  • remove import three examples polyfill. (48d52ae)
  • up three 131.2 (aed4dbc)
  • up to webpack 5. (ea36982)
  • update packages. (909e96e)

Documentation

  • minor update on Controls documentation (5f4ace1)
  • Controls: minor doc fixes (d7c2ffa)

2.34.0 (2021-07-30)

Features

  • GlobeControls: add support for travel out animation (9db6ecb)
  • Label: add support to pass custom domElements to labels (b560005)
  • Layer: add FeatureGeometryLayer. (0961787)
  • StateControl: add a method to modify class properties (1e2e11e)
  • Style: add support for custom icon in labels (7f355c4)
  • Style: add support for custom label anchor (fe2a2d9)
  • TMSSource: add support for specific TileMatrix identifier (e394255)
  • View: add double right-click event (9ce7213)

Bug Fixes

  • 3Dtiles: remove debugger command. (0a06614)
  • eventToViewCoord: check if event.offset properties are defined (26f459a)
  • example: generate correct URL when sharing EPT example (8ef0b34)
  • FeatureToolTip: fix tooltip legend icon (f632308)
  • Label: fix occlusion between icons and label text (29b6435)
  • Label: fix Style.text.offset parameter (26b970b)
  • Label: rounds the projected coordinates of labels (5d0ca6f)
  • LayeredMaterialNodeProcessing: checks for source cache with the layer crs for command cancellation (7570cad)
  • tutorial: fix internal link in tutorials (ce8029c)

Examples

  • add an example where user can define custom controls (00e62c2)
  • GeoJSON raster: center the camera initial position on the displayed features (8d8ac2c)
  • geojson-file: refactor example to illustrate two ways of displaying data from a file (4bc0774)
  • vectorTile: replace expired source in vector tile examples (8ccc1a3)

Code Refactoring

  • GlobeControls: switch travel animation to StateControl (d99827d)
  • View: eventToViewCoords returns middle view coords by default (2e501c3)

Workflow and chores

Documentation

  • FeatureGeometryLayer: add jsdoc to documentation config (e77f102)
  • README: update deprecated link (b483e0d)
  • README: update integration badge to github action (4c77adf)
  • Style: add precision on doc (bcee39f)
  • tutorials: add support to sort tutorials in sections (e9c8510)

Others

  • Fundamentals: add links to documentation (cf30e37)
  • Fundamentals: change section titles (296206f)
  • Fundamentals: change tutorial links appearance (ac167ec)
  • add tutorials on how to use iTowns (5916ac9)
  • resize tutorial images (bbb91e7)
  • update html titles in some examples (7ea6538)

2.33.0 (2021-05-28)

Features

  • ColorLayer: add custom shader to ColorLayer. (2d32888)
  • ColorLayer: add option to filtering textures Layer. (da245f9)
  • Coordinates: add applyMatrix4 method. (061eda0)

Bug Fixes

  • CameraUtils: count heading in clockwise direction (880c67d)
  • CameraUtils: fix rotation animation when start heading is 0 (1ca0c17)
  • CameraUtils: the camera rotation animation take the shortest angle (ae194d3)
  • Controls: replace deprecated THREE.Quaternion.slerp. (2e27408)
  • debug: update coordinates event on mouse move (9b62770)
  • Feature: wrong condition to choose extent crs projection. (73198c7)
  • FeatureToolTip: avoid undefined layer on move. (6ae7305)
  • FileSource: transform extent source if is needed. (0177503)
  • GeojsonParser: store geojson properties within a separate property (121b796)
  • LabelLayer: init LabelLayer visibility with attached ColorLayer. (67f25a1)
  • LayeredMaterialNodeProcessing: prevent errors in layer update when removing layer (d9fda75)
  • PlanarControls: prevent freezing zoom when clicking while zooming with an orthographic camera (b0f0a2d)
  • test: use Extent.applyMatrix4 and Coordinates.applyMatrix4. (bdf50ab)

Examples

  • add custom shader effect example. (15163d9)
  • change buildings id for coloring (3f7ccd0)

Code Refactoring

  • ColorLayer: add effect type ColorLayer parameter. (19d58c6)
  • ColorLayer: remove useless features in ColorLayer command. (66ee340)
  • example: remove unuseless variable. (041b62a)
  • Feature: compute and apply local transform matrix in Feature. (e244f55)
  • Feature: declare constant in file begining. (f44c29e)
  • Feature: FeatureCollection extends by Object3D and use local transform matrix. (8d20315)
  • Feature: normalize crs projection. (f9df7ff)
  • Feature: remove optionsFeature from FeatureCollection. (b15c642)
  • Feature: replace parsing option withNormal and withAltitude by structure. (420ba1a)
  • Feature: simplify build extent check. (0091a5a)
  • Layer: deprecate labelEnable option Layer and replace by addLabelLayer. (082d22c)
  • ShaderChunk: introduce shader chunk manager class to instance ShaderChunk. (e93ed76)
  • Source: avoid to cache raster data in Source. (521ca74)
  • Style/Convert: move options from Converter to Style. (23de259)
  • VectorTileParser: remove unnecessary parameters. (860d748)

Workflow and chores

Documentation

  • FeatureCollection: clarify FeatureCollection.extent projection. (f612eb3)
  • View: add diffuse parameter documentation. (fcc16da)

Tests

  • unit: update unit tests with feature refactoring. (cbe3e68)

BREAKING CHANGES

  • Style/Convert: * GeometryLayer.convert options are moved in Style properties. Use
    • Style.xxx.color
    • Style.xxx.base_altitude
    • Style.fill.extrusion_height
    • Style.stroke.width
    • Style.point.radius
  • overrideAltitudeInToZero layer options is removed use Style.xxx.base_altitude instead.
  • CameraUtils: The headings used in CameraUtils are now counted clockwise (they were previously counted counter-clockwise).
  • Feature: FeatureCollection and Feature signature constructor are changed.

2.32.0 (2021-04-09)

Features

  • PlanarControls: add max and min resolution parameters to limit zoom (ad17590)
  • PlanarControls: Add property 'Cursor' and method 'setCursor' for cursor modification (0870ede)
  • Style: support mapbox expression. (0581d3d)

Bug Fixes

  • Atmosphere: avoid several realistic atmosphere initializations. (b949f75)
  • Camera: resize preserves the scale (e44de7f)
  • extent: forget copy zoom in Extent#transformedCopy. (1a607ea)
  • Extent: forgetting zoom property copy, in Extent.as(). (3efea0e)
  • Label: wrong div translate. (5ef7197)
  • PlanarControls: fix drag when moving out of view domElement (a4f0a3f)
  • PlanarControls: prevent triggering new movement when already moving (66256bb)
  • test: apply async icon label loading. (76d732a)
  • test: update label test with default icon size. (72a98d4)
  • test: update vector tile style test with context expression. (c9fc662)
  • VectorTileSource: failing to open mapbox url format. (b6dd383)

Examples

  • Orthographic: add resolution limit parameters in orthographic examples (aafd37b)
  • add atmosphere mars example. (27e28ad)
  • update irrelevant titles in some examples (2914286)

Code Refactoring

  • Atmosphere: move realistic atmosphere options to Atmosphere constructor. (234a8ee)
  • Source: remove extentsInsideLimit. (035701b)
  • VectorTilesSource: remove useless styles by zoom. (baabbae)

Workflow and chores

Documentation

  • GeometryLayer: fix example and typo regarding Object3D (d77c8d6)
  • TMSSource: add example in doc (dce0032)

2.31.0 (2021-03-02)

Bug Fixes

  • GlobeLayer: doesn't subdivise the pole tile mesh. (53a9f6f)
  • PlanarControls: fix pan movement (5be30b7)
  • PlanarControls: standardize zoom factors for perspective and orthographic camera (c65bbab)
  • Points: remove THREE.Geometry. (6ff3b3d)
  • RasterColorTile: wrong getter name. (1f7eb05)

Examples

  • correct zoom factor parameter in examples (a86e3f8)

Code Refactoring

  • Debug: simplified point debug code. (c99fb09)
  • GlobeControls: refactor zoom speed management (57f6666)
  • Immersive: replace Matrix4.makeBasisFromMatrix by Matrix4.setFromMatrix3. (d442602)
  • MaterialLayer: MaterialLayer to RasterNode. (46b19f1)
  • PlanarControls: refactor zoom speed management (ca47389)
  • points: avoid clone point material. (174a60f)
  • RasterTile: rename file. (c73fc38)
  • View: remove useless getParentLayer method (6f0b545)
  • View: simplify getLayerById method. (58874ec)

Workflow and chores

  • release v2.31.0 (c3f5e47)
  • update package-lock.json. (b3e81fc)
  • deps-dev: bump marked from 1.2.9 to 2.0.0 (46bc3f9)
  • update packages. (09f12c9)

Tests

  • MaterialLayer: update tests with the MaterialLayer refactoring. (0fa3c06)

2.30.0 (2021-02-05)

Features

  • CameraUtils: add possibility to set camera placement from an extent (d6b2ab4)
  • VectorTilesSource: store parsed vector tile style as class property (bb581fb)

Bug Fixes

  • Camera: rename intersectSphere to intersectsSphere (f5e1004)
  • examples: rename smartZoom param in vector_tile_raster_2d (ca7aaeb)
  • examples: update three version in view_mutli_25d (7778a4d)
  • Terrain: use exact method to compute min and max elevation node; (6297c09)

Examples

  • OrthographicCamera: set camera initial position from an extent (6c10ba2)

Code Refactoring

  • Camera: refactor Camera as an ES6 class (596cee6)
  • Camera: remove matrixProjectionNeedsUpdate. (a501c92)
  • debug: remove three r124 warning. (9c2406f)
  • layer: introduce RasterLayer. (e7b2653)
  • Layer: Layer constructor parameter needs Source. (11b8645)

Workflow and chores

2.29.2 (2021-01-26)

Bug Fixes

  • 3dTile: don't overload the b3dm material. (d7f14b6)
  • PlanarControls: fix zoom movement with an orthographic camera (999851a)

Code Refactoring

  • view: add vector target viewToNormalizedCoords. (b83a9c8)

Workflow and chores

2.29.1 (2021-01-22)

Bug Fixes

  • PlanarControls: fix issues related to cameraOrtho feature (475c788)

Workflow and chores

Documentation

  • update some deprecated doc (d16c796)
  • Camera: modify camera.adjustAltitudeToAvoidCollisionWithLayer doc (aabe814)
  • GlobeControl: update class constructor doc (6fb3d28)
  • GlobeControls: minor correction (7230b53)
  • View: update doc of View.getMeterToPixel method (cc2385c)

2.29.0 (2021-01-21)

Features

  • controls: add damping factor property. (22d962d)
  • controls: add option enable smart travel in planarControls (a31873d)
  • orthographic camera: add support for an orthographic camera (de0dba6)
  • points: apply opacity classification on others MODE. (e411425)
  • webgl: support pick position from depth buffer with ortho (05fb79f)

Bug Fixes

  • ColorLayer: wrong white to opacity effect. (9666822)
  • controls: moving camera after disabling collision. (2dd8e06)
  • controls: remove prevent default in mouseDown. (c866807)
  • examples: fix key events in examples (c187616)
  • PlanarControls: remove previously instantiated controls associated (2726101)
  • PlanarControls: reset focus policy default parameters (b56aaaf)
  • test: update a deprecated method call (497d55e)
  • workflow: wrong path to build docs link. (066f54a)

Examples

  • orthographic camera: add examples of PlanarView with an orthographic camera (d58c1b6)

Code Refactoring

  • Three: remove deprecated matrix method. (fffef40)
  • Three: remove deprecated quaternion method. (f435fef)

Workflow and chores

  • release v2.29.0 (8c69ef6)
  • add action github to release and npm publish. (eef3d53)
  • add bump script. (9e0f7b6)
  • add changelog script. (f7f6c40)
  • add github action to continuous integration (e8e4f01)
  • add script to unit tests coverage. (7c128ab)
  • prepare migrating to webpack 5. (9a549d4)
  • refactoring debug npm script. (b56f8b0)
  • example: rename start zoom to smart travel in key bindings description (24c7c2b)
  • remove deprecated babel-polyfill (2e3de03)
  • remove useless integration files. (349e1b4)
  • update actions/setup-node to v2. (e3e31c0)
  • upgrade and update lock file version to 2.0. (537345b)
  • deps: bump ini from 1.3.5 to 1.3.7 (fd46fd1)
  • update packages. (34ee221)

Documentation

  • workflow: bump and changelog scripts. (01bf159)

Others

  • Update LICENSE.md (28be05c)
  • Change comment on workflow remove old artifact (7fcbb3a)
  • Update actions checkout to v2 (9094edc)
  • Update remove-old-artifacts.yml (0a9911f)
  • Create remove-old-artifacts.yml (617326c)