Releases: iTowns/itowns
Releases · iTowns/itowns
Release v2.11.1
Release v2.11.0
2.11.0 (2019-06-04)
BREAKING CHANGES
- core: *
x()
,y()
,z()
,latitude()
,longitude()
andaltitude()
have
been replaced by getters of the same names setAltitude()
has been replaced by a setter onaltitude
- the validity of a CRS is no longer check when doing conversion using
as()
, so it needs to be checked beforehand if needed - view: Adding a layer to a view, with a source not
instantiated (only as an object) is no longer supported, even in
deprecation mode.
Features
- 3dtile: support rtc center from feature. (b050461)
- core: export Feature, FeatureCollection and FeatureGeometry (b0e5838)
Bug Fixes
- chore: no message on shader failed after THREE v104. (6ba4733)
- converter: don't allow filling for LINES features (bfd9260)
- test: test parse Style. (f439b2d)
- tooltip: display all properties of a feature (cc778a1)
Chores
- chore(view): remove createXXXLayer methods (20381a2)
- add watch script to transpile when sources files has changed. (a2ce36d)
- option to disable babel-inline-import-loader. (8d2b104), closes #934
- update npm packages. (575fa70)
- update THREE to r104.0 (1a3f093)
- view: remove support of passing a source as an object (3bfef5c)
Code Refactoring
Release v2.10.0
2.10.0 (2019-05-10)
- release v2.10.0 (56812e9)
Bug Fixes
- provider: remove the caching exception causing jittering (b7b4f26)
- test: inverse range with wheel mouse event. (42bd1c4)
feature
- core: add initialization condition when union a Extent (c8c9991)
- parser: classify polygon by clockwise. (37cf1ba)
- parser: parse vector tile in Feature without coordinates conversion. (efa0f7e)
Code Refactoring
- converter: In feature2Mesh, avoid transformation if altitude is zero. (745784e)
- core: add style class. (88f959f)
- core: use class Es6 for Builder tile and add factory of Tile. (6bbef61)
- core: use proj4 to set ellipsoid size. (66d43ca)
- core: use specification to set EPSG:3857 bound dimension (9b32b44)
- parser: Class Feature (9895d3f)
- coord: remove C.EPSG_4326 (1fdd137)
- crs: create a CRS module (b5d81c6)
- ellipsoid: move ellipsoidSizes from Coordinates to Ellipsoid (8739dfb)
- extent: remove Float64Array from Extent (8319c36)
Documentation
- add the support markdown when writing JSDoc (511db53)
- tmpl: add divider (0f467c9)
- tmpl: add events generation for classes (f746e38)
- tmpl: fix caption tag in examples generation (232736a)
- tmpl: make the documentation template more readable (4b1ad40)
- tuto: fix #1076 (ec2823f)
- tuto: update geometry layer using sources object instead of configuration (09541a1)
example
- add a new one with a multipolygon geojson (a539446)
Tests
- parser: add test on vector Style parsing. (d7ce98e)
- add Feature test unit. (5790ca1)
- add test to feature2Texture and elevation processing (fa58319)
- add unit test on gltfLoader and remove ThreeExtented from coveralls. (a5957ac)
- add unit test on view (46b7fa1)
- fix Errors. (f26a340)
- source: add more tests to sources (1a55901)
Chores
- docs: remove navigation.json file (765e381)
- fix useless or missing conditions. (ef2e183)
- remove deprecated config layer (f66ec37)
- remove eslint rule 'class methods use this'. (21ffdf3)
- build: swap functional and unit testing in npm run test (f21132a)
- docs: remove console.log (f6c6c50)
- update dev packages (f059a87)
- update THREE to v103 (422d996)
Release v2.9.0
2.9.0 (2019-04-01)
Features
- core: add Extent.copy(extent) (786d853)
- core: add Extent.expandByValues (efeec80)
- core: add function to copy and transform Extent (a2bdabf)
- fetcher: add a multiple method to load a bunch of files (6c616d7)
- FirstPersontControl: enabled: a boolean used to enable or disable this control (cf4f495)
- parser: add a simple Shapefile parser (de42db7)
- StreetControls: enabled: a boolean used to enable or disable this control (6ee3d7f)
Performance Improvements
- converter: add extent checks in Feature2Texture (e2f0c93)
BREAKING CHANGES
Extent.crs()
andExtent._crs, Extent.west(), Extent.east(), Extent.south()
andExtent.north()
are replaced byExtent.crs
and getterExtent.west, Extent.east, Extent.south and Extent.north
.- The Function
Extent.extentParent
has renamed toExtent.tiledExtentParent
. - The Function
Extent.expandByPoint
has renamed toExtent.expandByCoordinates
. - Remove
PanoramaView
,PanoramaLayer
,StaticSource
andPanoramaTileBuilder
.
Bug Fixes
- 3dtiles: enable draco loader for b3dm (a4c442a)
- 3dtiles: fix batch table support, for null object. (a0408ad)
- chore: prepare 'Three js examples' didn't export all functions. (ce7a6d2)
- controls: check if targetOrientation is defined in travel of planarControls. (b8a1328)
- controls: fix of removeEventListener in GlobeControls.dispose. (fe7bf07)
- controls: fix ORBIT touch event making North down. (0d6ab33)
- core: event target change doesn't trigged with little change (bf2e54e)
- core: wrong default parameter in OBB.setFromExtent (d1a3bed)
- debug: add a check if folder already exists (f9d0245)
- example: fix Geoportail stream for administrative boundaries (97d5eb1)
- example: undefined value to enable realistic atmosphere (af7714f)
- examples: dilate extent to Region WMS to show entire data. (08189fc), closes #1067
- examples: refresh debug gui with correct color status. (b91b017)
- FirstPersonControls: add boolean isFirstPersonControls (a21235b)
- process: bad calling of window.setTimeout (60c61e4)
- process: pass, through the command, the parsedData attached to textures (eb8c1ba)
Code Refactoring
- convert: in convert to tile mesh separate init tile from layer (5455da8)
- core: add zoom to each extent of tile (7475a3f)
- core: compute ColorLayers sequence order only one time, in tileLayer.preUpdate (2610963)
- core: Extent to Es6 class (cf18241)
- core: remove spread syntax in Extent (e8525ae)
- layer: use layer.projection to add MaterialLayer and move colorLayersOrder in tileLayer (b89d678)
- process: add default time Stamp parameter to LayerUpdateState.canTryUpdate. (7e6f25e)
- process: extract common functions in layered material processing. (2bdc27d)
- provider: make DataSourceProvider more modulable (4152104)
- three: remove all instanceof THREE.* (bb19d1b)
examples
- stream: Add stream from Geoportail (Cassini, Etat Major and Top25) (beaeb7c)
- update examples using FileSource (b8686ff)
Tests
Chores
- add draco library in examples/libs (4ac4818)
- docs: add generation of each property type in typedef (f0b0eab)
- docs: add generation of return description for methods (997c14c)
- clean some useless things (70af947)
- remove PanoramaView, PanoramaLayer, StaticSource and PanoramaTileBuilder. (e977f30)
- update to Three r102.1 (d3ff2d3)
- examples: clean eslintrc (8e98262)
- upgrade packages after new release 2.8.0 (d22f12c)
Release v2.8.0
2.8.0 (2019-03-01)
Features
- core: support metric unit to convert Extent to Obb (8f850fc)
- 3dtiles: add 3D Tiles extension support (92f4aba)
- 3dtiles: implement 3DTILES_batch_table_hierarchy extension (0f4d3f7)
- 3dtiles: update batch table support (bc01f50)
- example: Add an example demonstrating 3D Tiles batch table hierarchy extension management (262ceae)
- parser: add a kml parser and modify gpx parser (ba4a174)
- StreetControls: add click and go, surface helpers, click and look at, tweens animations : (ca4f8d5)
- TileMesh: add a boolean to know if it's a TileMesh or not, without doing an instanceof (287b914)
BREAKING CHANGES
- parser: GpxParser doesn't return a THREE.Mesh anymore.
Code Refactoring
- core: extend Atmosphere from GeometryLayer (75206b3)
- debug: remove useless traverse nodes to select them (50565f5)
- debug: use GeometryLayer for debug Layer (02f5db4)
- examples, tests: factorize 3d tiles examples and tests common helpers (5c5749a)
Documentation
- add generation of typedefs in the documentation (3c9a438)
- 3dtiles: expose documentation of 3D Tiles related classes (a9066e3)
Chores
- docs: add eslint check for jsdoc scripts (a610c95)
- fix 'npm ci' when it prints npm version. (555921b)
- remove useless global directive (353bbb7)
- update packages (f4c0742)
- core: remove useless condition (9907641)
- core: useless condition to parse xbil data (04683f6)
- core: useless return (0bff6f5)
- docs: Local variable 'tutorials' is not used (b9cb452)
- docs: required module component 'taffy' is not used (b0013d1)
- test: rename test/examples to test/functional (21dd2c5)
- update THREE.js to r101.1 (ce002f7)
- 3dtile: useless variable assignment (23b9bd7)
- tests: remove useless littleEndian parameter for UInt8 (0926dcf)
- Required module component 'patchedPath' is not used. (dd494c6)
example
- immersive: add debug UI, and change the name of 'WFS buildings' layer to 'Buildings', and increase background radius from 80 to 1 200 (89fef54)
- 3D Tiles: reduce padding of 3D Tiles examples feature info div (7fcb3b2)
Tests
- example: add tests for 3D Tiles batch table hierarchy extension example (d7bb4eb)
Bug Fixes
- core: error in condition to get difference between camera transformation (a536e9a)
- core: forgotten Extent instantiation in projection convert (349e2df)
- core: problem with debug layer because PanoramaView haven't Atmosphere (195f506)
- core: wrong handling error with the layer.id (e1c96c2)
- example: change id building in wfs functional test (06555c2)
- example: update the gpx example to create directly meshes in it (4d6febc)
- gpx: waypoint are scaling correctly (05bfc52), closes #1045
- security vulnerability in lodash (c27e220)
- core: remove condition on scheduler singleton (3784d10)
- examples: forgotten variable declaration (f7c72f5)
- examples: wrong altitude for buildings in immersive paris example. (8b79e1f)
- OrientedImageCamera: increase default far from 1000 to 10 000. (bc057cc)
- OrientedImageMaterial: it supports opacity. (710a970)
- process: fix and unify calls to window.setTimeOut (e88480e)
- source: wrong handling error with file (a558e2e)
- view: picking: Add a log warning when user try to pick on a layer not ready. (4803371)
Release v2.7.1
2.7.1 (2019-02-01)
the important features in this version
OrientedImageLayer
to display immersive view with oriented images andStreetControls
to navigate inside. See example Immersive Paris.- Function
removeLayer
to remove color, elevation and geometry layers from viewer.
Features
- controls: Street controls, to move the camera from a point to another point. (67eea6c)
- converter: add batchId attribute in mesh from convert of feature2Mesh (e54a44a)
- core: function get layer by Id (af2d582)
- core: function removeLayer to remove color, elevation and geometry layers from viewer (6b772ed), closes #906
- OrientedImageLayer: add the previous pano position to the onPanoChanged event. (27e825e)
- OrientedImageLayer: Specific layer to show oriented images. (4a9b57f)
- parser: add option to override altitude incoming (from source) by 0. (c3a1f43)
- parser: add the possibility to specify parser (e7e9c5e)
- StreetControls: add a previousPosition, binded on key S, to move camera to previousPosition. (3fa4b18)
- StreetControls: The user can now change key binding (e64828e)
- wms: enable vendor specific parameters (b8a9c9c), closes #959
Bug Fixes
- 3dtiles: region extent is treated as an OBB (4339851)
- controls: Fix key in FirstPersonControl, remove prevent default. (33aee47)
- core: avoid to access to DOM properties (c64ff59), closes #140
- core: fix delete OrientedImageLayer (46f5de2), closes #1018
- core: missed layer to layer.source (5099a8a)
- core: wrong Z min and max to compute tile's obb (a7a4e84)
- gui: Fix GUI debug color layer and elevation layer (b0b4c6c)
- loop: Add a preUpdate call for attached geometry layers (877c623)
- test: reduce displayed tiles count because of the improvement horizon culling (a96a63a)
- utils: wrong filtering with filterFeaturesUnderCoordinate (48745d4)
- security vulnerability detected in webpack-dev-server (18756fc)
- windows install no more backslash (3a1964b)
- example: 3dTile, change ortho image layer source to openSM data, to avoid many warnings. (d14aadd)
- example: Immersive example, update camera projection matrix. (0d158d1)
- example: Improve performance on immersive example. (1f8323f)
- example: wrong filtering to get layer with FileSource (a82ebbc)
- example: wrong altitude for buildings in immersive paris example. (8b79e1f)
- example: wrong properties in layers json files (50ec664)
- example: wrong property to filter layers by type (e135e92)
Chores
- example: update jsonlayers url to https (26b1d04)
- check node version to prevent error in THREE examples installation (eae303c)
- update and rewrite contents in README and other .md files. (185ef25)
- docs: add a README concerning the documentation of itowns (fc804b9)
- check PUPPETEER_SKIP_CHROMIUM_DOWNLOAD to warn user (5c26437)
- remove useless propocol properties (8d0976b)
- upgrade packages npm (149208c)
- upgrade to THREE r100 (daba997)
- lint: remove max-length parameter for testing examples (dade5fe)
Code Refactoring
- core: improved results and performance of the culling horizon (0692c05)
- core: issue #1011 question about the usefulness of the test on precision altitute (555e40d)
- core: update preSSE view only when it's needed (f3d9df7)
- core: update size view only when it's needed (59204c8)
- core: update view Matrix view only when it's needed (29fa985)
- example: use batchId attributes to pick buildings (c1a32be)
- layer: replace all layer.type by layer.isLayer (6d017a5), closes #951
Documentation
- StreetControls: update doc for key code properties (fcdd0cb)
Examples
- immersive: Example Immersive Paris. (5ef1d02)
- immersive: update to manage previous pano key binding (c891b11)
Tests
- add new tests for camera (9a40a5e)
- add tests on View.removeLayer with ColorLayer, ElevationLayer and GeometryLayer (846ea34)
- disable default node warning regarding event listeners (a4028ff)
- pick feature from Layer with SourceFile (b998fce)
- trap console errors when an example page is loaded (73458ec)
Release v2.6.0
2.6.0 (2018-12-19)
- documentation : new documentation and filter tool. Documentation link
Features
- OrientedImageMaterial: Material used to compute projective textures. (bd737eb)
- fetcher: add the possibility to specify fetcher (83ab9e1), closes #954
- layer: add isXXXLayer properties to layers objects (41933f4)
- view: add support for a coordinate when creating a GlobeView (6947b78)
- debug: add sse helper on tiled geometry layer (f4a8afe)
BREAKING CHANGES
- source: Sources as instance. see a example
- source: the origin property of TMSSource has been replaced by a
boolean, isInverted, that serves the same goal, but using a boolean. - source: the protocol property no longer exists, instead to test
the type of Source, one needs to use the property isSource, adapted to
each type: for example, isWMTSSource tells if the source is WMTSSource. - core: Computing screen space error is changed, so tile subdivision are different.
- renderer: the API of TileMesh and LayeredMaterial have changed.
- renderer: LayeredMaterialConstants and RendererConstant have
been removed. - layer: layer.options.mimetype is no longer supported, use
layer.format instead
Deprecating
- layer: deprecate adding a layer with only a configuration (fd36d3b)
- source: deprecate adding a source with only a configuration (0f7ca09)
Code Refactoring
- renderer: LayeredMaterial splitted and simplified (810a756)
Bug Fixes
- 3dTilesDebugUI: Fix view.notifyChanges. (eec5ec5)
- core: implement preSSE once and fix the formula (958f124)
- core: wrong parameter in dichotomy strategy. (4df0540)
- debug: disable fog with camera debug rendering (a5169c9)
- doc: wrong includes in doc configuration (326722f)
- examples: fix a bad merge in planar_vector (29d899f), closes #926
- examples: fix the debug menu in oriented_images (7dffe9e)
- examples: forgotten color layers in examples (72e1598)
- examples: instantiate sources for index.html example (3019ce4)
- examples: wrong layer id for picking (e8494a9)
- examples: wrong menu position in 3dtiles (29f62ba)
- FirstPersonControl: Fix a bug introduced in #881. Before this change, this controls was going up when we pressed key up instead of going forward as expected. Now it goes forward again when we press key up. (f734985)
- geometryLayer: wireFrame property change only affect This layer objects. Before this commit, it could also affect objects on attached layers (for example, bounding box from attached debug layers). fix #940 (7ffb31b)
- layer: Add default convert function (2aedd17)
- protocol: error while getting textures and zoom texture, for StaticSource (24d2aea)
- test: wrong synchronization with elevation data and DEMUtils/CameraUTils (ad223ad)
- utils: wrong steps up in hierachy to read altitude in DEM (fc3b50e), closes #936
Release v2.6.1
v2.5.0
2.5.0 (2018-11-08)
Features
- core: add information properties in Layer and TiledGeometryLayer (daa57a7e)
- OrientedImageCamera: Camera extension for oriented images (56fc4a1)
- parser: Camera calibration parser (f8e7753)
Inside
- devDependencies Babel 7, webpack 4, Eslint 5
Bug Fixes
- controls: remove THREE warning (8364c7a)
- core: problem in runtime with bundle itowns and debug (f917be4)
- core: remove useless console.info in animation (b6a5329)
- core: wrong OBB from extent (d0aedf2)
- FirstPersonControl: It now supports Globe view. (1eae7fe)
- debug: error typo on obb properties (bb58aa7)
- doc: wrong camera utils parameter in documentation (dfab6ae)
- shaderUtils: use boundary delimiter in the regex (c62d9e0)
- source: always build an extent in FileSource (375375e)
- test: add node 10 build and remove node 11 build (11.0.0) for the moment (bcb1026)
- test: enhancement bootstrap and globeControls test (da7b75e)
- test: resolve fail test and cleanup boostrap (98ca430)
2.4.0
Resume
- Partial support mapbox vector tile.
- New architecture, add
ColorLayer
,ElevationLayer
,GeometryLayer
andGeometryTiledLayer
. With the will, attach the associated processes to them. - Add source data concept.
WMTS
,WMS
, they are considered sources. It's possible to combine all the types of layers (ColorLayer
,GeometryLayer
..) with any sources. - Fix and re-factorization of
GlobeControls
. - Improved picking.
- Add hole support to geojson to mesh and option to create a unique mesh or a mesh by feature.
- Start support to oriented image. see example
Deprecated
createGlobeLayer
is deprecated, use theGlobeLayer
class instead.createPanoramaLayer
is deprecated, use thePanoramaLayer
class instead.GlobeControls.getCameraTargetGeoPosition
has been deprecated, useGlobeControls.getLookAtCoordinate
.GlobeControls.setCameraTargetGeoPosition
has been deprecated, useGlobeControls.lookAtCoordinate
.GlobeControls.setCameraTargetGeoPositionAdvanced
has been deprecated, useGlobeControls.lookAtCoordinate
GlobeControls.setOrbitalPosition
has been deprecated, useGlobeControls.lookAtCoordinate
BREAKING CHANGES
- core
GlobeControls.moveTarget
is removed useGlobeControls.getCameraTargetPosition
instead. - core: The providers
RasterProvider
,StaticProvider
,TMSProvider
,WFSProvider
,WMSProvider
andWMTSProvider
are replaced byDataSourceProvider
. You must add source option in your layer. see json layer files. - gis:
ellipsoidSizes
fromCoordinates
is no longer a function but an object. - Core: Before this change,
view.addLayer
was throwing some errors directly in
some cases, and rejecting the promise in others. This replaces the
former for the latter in all cases. If you relied on a try/catch block
surroundingview.addLayer
to catch some undocumented errors, you need
to move your error handling code to your promise rejection handler. - core: this modify the signature of all picking functions.
- core: the signature of
Fetcher.texture
has changed, and only return a promise now, instead of an object containing the texture and the promise. - core:
c3DEngine.renderViewTobuffer
has been renamedrenderViewToBuffer
and has a new signature. - core: change
view.notifyChange
signature and semantics - vector:
GeoJSONParser
now returns a Promise - core:
layer.options.mimetype
is removed in favor oflayer.format
. - core: a Provider needs to return a Promise every time after
calling itsexecuteCommand
function. - core: Feature have on array of number to store the coordinates instead of array of
Coordinates
. - core: Upgrade to THREE v97.
- examples: picking WFS (Geometry or color) changes see examples FeatureToolTip and wfs picking.
Features
- controls: make event listeners opt-out for FirstPersonControls (5f20af6)
- core: add a 'radius' parameter to picking methods (4b45651)
- core: add a Cache system with expiration policy (cbf248a), closes #687
- core: add a new
VIEW.LAYERS_INITIALIZED
event (e5ccfbb) - core: add vector tile loading (6411908)
- core: implement layer priorities (985d051)
- core: move url function outside providers (3aef9ca), closes #182
- core: store Layer instead of layer's id (7a93779)
- core: unify tilelayer in globeViewer, planarViewer and panoramaViewer (1e08030)
- core: update to THREE v97 (fa81c64)
- examples: add a loading screen for examples (7428478)
- panorama: add projection type constant #677 (b94ae1a)
- parser: add partial z support for geojson parsing (f0835f3), closes /tools.ietf.org/html/rfc7946#section-9
- pointclouds: use 'changeSource' mechanism to avoid useless work (b67670a)
- pointclouds: compute extent for pointclouds elements (#793) (a2f5950)
- protocols: add Source (b04e83b)
- protocols: add spatial hashing to StaticProvider (#675) (d4ec447)
- renderer: add default background color to texture (01035ac)
Code Refactoring
- core: change the return value of Fetcher.texture (592e8f8)
- core: change
view.notifyChange
semantics (881013d), closes #4 - core: improve render view to buffer / target functions (1b07ea6)
- core: remove unused condition in Scheduler (43b76ef)
- core: Harmonize the mimetype configuration (#597) (b38aa7b)
- gis: change ellipsoidSizes from function to object (f681060)
- vector: add hole support (a212dde), closes #688
Performance Improvements
- protocols: decrease the count of network fetch image/xbil (b891a81)
- protocols: improve performance in geojson parser
- protocols: improve performance to convert feature to mesh or texture
- renderer: stop creating new vector for each feature (#713) (b426336)
Bug Fixes
- 3dtiles: apply matrixWorld to boundingVolume.box (7ae39eb)
- 3dtiles: dont stop subdivision at tileset boundaries (bbf0a9b)
- 3dtiles: fix pnts loading (c091b0d)
- 3dtiles: simplify 3dtiles layer creation (ce9191c)
- badge: fix typo for coverage badge (5319066)
- chore: fix package_lock.json (152ac73)
- chore: tag eslint config as root (f75aed9)
- Coordinates: Concerning coordinate conversions, this commit fixes two bugs: (f3ce0fa)
- core: assign the correct layer property (73f3592), closes #758
- core: assume min level is 0 if not provided for dichotomy strategy (c9c93eb)
- core: avoid clone vector to convert coordinate (06e3313)
- core: Cache return mesh with null geometry (d1ba731), closes #869
- core: chain animations stops after the first animation (d75ca7d)
- core: compute globe fog distance after camera update (d65d4e6)
- core: correct typo in event's name (97f1000)
- core: delay FrameRequesters deletion to avoid breaking updates (139156d)
- core: fix wrong 3dtiles's OBB using BuilderEllipsoidTile (ca6daf1), closes #656
- core: fix wrong cachekey value equal to NaN in geometry building (8414a5d)
- core: force the use of decimal notation in protocol requests (ed4d001)
- core: make sure PlanarControls call notifyChange when needed (2989aea), closes #776
- core: make sure VIEW_EVENTS.LAYERS_INITIALIZED if fired (1cb2fa1)
- core: pass GlobeView options to GlobeLayer (dcb4830)
- core: remove correctly event listener after...