itowns 2.44.3-next.40 → 2.44.3-next.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/README.md +3 -129
  2. package/package.json +16 -72
  3. package/CODING.md +0 -120
  4. package/CONTRIBUTING.md +0 -150
  5. package/CONTRIBUTORS.md +0 -56
  6. package/LICENSE.md +0 -44
  7. package/changelog.md +0 -1361
  8. package/dist/455.js +0 -2
  9. package/dist/455.js.map +0 -1
  10. package/dist/debug.js +0 -3
  11. package/dist/debug.js.LICENSE.txt +0 -13
  12. package/dist/debug.js.map +0 -1
  13. package/dist/itowns.js +0 -3
  14. package/dist/itowns.js.LICENSE.txt +0 -5
  15. package/dist/itowns.js.map +0 -1
  16. package/dist/itowns_lasparser.js +0 -2
  17. package/dist/itowns_lasparser.js.map +0 -1
  18. package/dist/itowns_lasworker.js +0 -2
  19. package/dist/itowns_lasworker.js.map +0 -1
  20. package/dist/itowns_potree2worker.js +0 -2
  21. package/dist/itowns_potree2worker.js.map +0 -1
  22. package/dist/itowns_widgets.js +0 -2
  23. package/dist/itowns_widgets.js.map +0 -1
  24. package/examples/.eslintrc.cjs +0 -35
  25. package/examples/jsm/.eslintrc.cjs +0 -38
  26. package/lib/Controls/FirstPersonControls.js +0 -308
  27. package/lib/Controls/FlyControls.js +0 -175
  28. package/lib/Controls/GlobeControls.js +0 -1179
  29. package/lib/Controls/PlanarControls.js +0 -1025
  30. package/lib/Controls/StateControl.js +0 -432
  31. package/lib/Controls/StreetControls.js +0 -392
  32. package/lib/Converter/Feature2Mesh.js +0 -614
  33. package/lib/Converter/Feature2Texture.js +0 -175
  34. package/lib/Converter/convertToTile.js +0 -70
  35. package/lib/Converter/textureConverter.js +0 -43
  36. package/lib/Core/3DTiles/C3DTBatchTable.js +0 -131
  37. package/lib/Core/3DTiles/C3DTBatchTableHierarchyExtension.js +0 -96
  38. package/lib/Core/3DTiles/C3DTBoundingVolume.js +0 -157
  39. package/lib/Core/3DTiles/C3DTExtensions.js +0 -97
  40. package/lib/Core/3DTiles/C3DTFeature.js +0 -110
  41. package/lib/Core/3DTiles/C3DTilesEnums.js +0 -20
  42. package/lib/Core/3DTiles/C3DTileset.js +0 -99
  43. package/lib/Core/3DTiles/utils/BinaryPropertyAccessor.js +0 -100
  44. package/lib/Core/AnimationPlayer.js +0 -142
  45. package/lib/Core/CopcNode.js +0 -174
  46. package/lib/Core/Deprecated/Undeprecator.js +0 -74
  47. package/lib/Core/EntwinePointTileNode.js +0 -126
  48. package/lib/Core/Feature.js +0 -489
  49. package/lib/Core/Geographic/CoordStars.js +0 -80
  50. package/lib/Core/Geographic/Coordinates.js +0 -331
  51. package/lib/Core/Geographic/Crs.js +0 -170
  52. package/lib/Core/Geographic/Extent.js +0 -550
  53. package/lib/Core/Geographic/GeoidGrid.js +0 -109
  54. package/lib/Core/Label.js +0 -222
  55. package/lib/Core/MainLoop.js +0 -209
  56. package/lib/Core/Math/Ellipsoid.js +0 -185
  57. package/lib/Core/Picking.js +0 -255
  58. package/lib/Core/PointCloudNode.js +0 -42
  59. package/lib/Core/Potree2Node.js +0 -206
  60. package/lib/Core/Potree2PointAttributes.js +0 -139
  61. package/lib/Core/PotreeNode.js +0 -101
  62. package/lib/Core/Prefab/Globe/Atmosphere.js +0 -295
  63. package/lib/Core/Prefab/Globe/GlobeLayer.js +0 -152
  64. package/lib/Core/Prefab/Globe/GlobeTileBuilder.js +0 -111
  65. package/lib/Core/Prefab/Globe/SkyShader.js +0 -78
  66. package/lib/Core/Prefab/GlobeView.js +0 -156
  67. package/lib/Core/Prefab/Planar/PlanarLayer.js +0 -59
  68. package/lib/Core/Prefab/Planar/PlanarTileBuilder.js +0 -72
  69. package/lib/Core/Prefab/PlanarView.js +0 -62
  70. package/lib/Core/Prefab/TileBuilder.js +0 -82
  71. package/lib/Core/Prefab/computeBufferTileGeometry.js +0 -248
  72. package/lib/Core/Scheduler/Cache.js +0 -17
  73. package/lib/Core/Scheduler/CancelledCommandException.js +0 -15
  74. package/lib/Core/Scheduler/Scheduler.js +0 -294
  75. package/lib/Core/Style.js +0 -660
  76. package/lib/Core/StyleOptions.js +0 -486
  77. package/lib/Core/System/Capabilities.js +0 -63
  78. package/lib/Core/Tile/Tile.js +0 -207
  79. package/lib/Core/Tile/TileGrid.js +0 -49
  80. package/lib/Core/TileGeometry.js +0 -124
  81. package/lib/Core/TileMesh.js +0 -108
  82. package/lib/Core/View.js +0 -1116
  83. package/lib/Layer/C3DTilesLayer.js +0 -459
  84. package/lib/Layer/ColorLayer.js +0 -154
  85. package/lib/Layer/CopcLayer.js +0 -63
  86. package/lib/Layer/ElevationLayer.js +0 -139
  87. package/lib/Layer/EntwinePointTileLayer.js +0 -71
  88. package/lib/Layer/FeatureGeometryLayer.js +0 -77
  89. package/lib/Layer/GeoidLayer.js +0 -80
  90. package/lib/Layer/GeometryLayer.js +0 -233
  91. package/lib/Layer/InfoLayer.js +0 -64
  92. package/lib/Layer/LabelLayer.js +0 -470
  93. package/lib/Layer/Layer.js +0 -335
  94. package/lib/Layer/LayerUpdateState.js +0 -89
  95. package/lib/Layer/LayerUpdateStrategy.js +0 -80
  96. package/lib/Layer/OGC3DTilesLayer.js +0 -543
  97. package/lib/Layer/OrientedImageLayer.js +0 -228
  98. package/lib/Layer/PointCloudLayer.js +0 -405
  99. package/lib/Layer/Potree2Layer.js +0 -171
  100. package/lib/Layer/PotreeLayer.js +0 -72
  101. package/lib/Layer/RasterLayer.js +0 -37
  102. package/lib/Layer/ReferencingLayerProperties.js +0 -62
  103. package/lib/Layer/TiledGeometryLayer.js +0 -459
  104. package/lib/Loader/LASLoader.js +0 -193
  105. package/lib/Loader/Potree2BrotliLoader.js +0 -261
  106. package/lib/Loader/Potree2Loader.js +0 -207
  107. package/lib/Main.js +0 -115
  108. package/lib/MainBundle.js +0 -4
  109. package/lib/Parser/B3dmParser.js +0 -174
  110. package/lib/Parser/CameraCalibrationParser.js +0 -94
  111. package/lib/Parser/GDFParser.js +0 -72
  112. package/lib/Parser/GTXParser.js +0 -75
  113. package/lib/Parser/GeoJsonParser.js +0 -212
  114. package/lib/Parser/GpxParser.js +0 -25
  115. package/lib/Parser/ISGParser.js +0 -71
  116. package/lib/Parser/KMLParser.js +0 -25
  117. package/lib/Parser/LASParser.js +0 -137
  118. package/lib/Parser/MapBoxUrlParser.js +0 -83
  119. package/lib/Parser/PntsParser.js +0 -131
  120. package/lib/Parser/Potree2BinParser.js +0 -92
  121. package/lib/Parser/PotreeBinParser.js +0 -106
  122. package/lib/Parser/PotreeCinParser.js +0 -29
  123. package/lib/Parser/ShapefileParser.js +0 -78
  124. package/lib/Parser/VectorTileParser.js +0 -215
  125. package/lib/Parser/XbilParser.js +0 -120
  126. package/lib/Parser/deprecated/LegacyGLTFLoader.js +0 -1386
  127. package/lib/Parser/iGLTFLoader.js +0 -168
  128. package/lib/Process/3dTilesProcessing.js +0 -304
  129. package/lib/Process/FeatureProcessing.js +0 -76
  130. package/lib/Process/LayeredMaterialNodeProcessing.js +0 -221
  131. package/lib/Process/ObjectRemovalHelper.js +0 -97
  132. package/lib/Process/handlerNodeError.js +0 -23
  133. package/lib/Provider/3dTilesProvider.js +0 -149
  134. package/lib/Provider/DataSourceProvider.js +0 -8
  135. package/lib/Provider/Fetcher.js +0 -233
  136. package/lib/Provider/PointCloudProvider.js +0 -45
  137. package/lib/Provider/TileProvider.js +0 -16
  138. package/lib/Provider/URLBuilder.js +0 -116
  139. package/lib/Renderer/Camera.js +0 -281
  140. package/lib/Renderer/Color.js +0 -56
  141. package/lib/Renderer/ColorLayersOrdering.js +0 -115
  142. package/lib/Renderer/CommonMaterial.js +0 -31
  143. package/lib/Renderer/Label2DRenderer.js +0 -192
  144. package/lib/Renderer/LayeredMaterial.js +0 -243
  145. package/lib/Renderer/OBB.js +0 -151
  146. package/lib/Renderer/OrientedImageCamera.js +0 -118
  147. package/lib/Renderer/OrientedImageMaterial.js +0 -167
  148. package/lib/Renderer/PointsMaterial.js +0 -485
  149. package/lib/Renderer/RasterTile.js +0 -208
  150. package/lib/Renderer/RenderMode.js +0 -31
  151. package/lib/Renderer/Shader/ShaderChunk.js +0 -160
  152. package/lib/Renderer/Shader/ShaderUtils.js +0 -47
  153. package/lib/Renderer/SphereHelper.js +0 -17
  154. package/lib/Renderer/WebXR.js +0 -51
  155. package/lib/Renderer/c3DEngine.js +0 -214
  156. package/lib/Source/C3DTilesGoogleSource.js +0 -74
  157. package/lib/Source/C3DTilesIonSource.js +0 -54
  158. package/lib/Source/C3DTilesSource.js +0 -30
  159. package/lib/Source/CopcSource.js +0 -126
  160. package/lib/Source/EntwinePointTileSource.js +0 -72
  161. package/lib/Source/FileSource.js +0 -188
  162. package/lib/Source/OGC3DTilesGoogleSource.js +0 -29
  163. package/lib/Source/OGC3DTilesIonSource.js +0 -34
  164. package/lib/Source/OGC3DTilesSource.js +0 -21
  165. package/lib/Source/OrientedImageSource.js +0 -59
  166. package/lib/Source/Potree2Source.js +0 -167
  167. package/lib/Source/PotreeSource.js +0 -82
  168. package/lib/Source/Source.js +0 -203
  169. package/lib/Source/TMSSource.js +0 -144
  170. package/lib/Source/VectorTilesSource.js +0 -182
  171. package/lib/Source/WFSSource.js +0 -170
  172. package/lib/Source/WMSSource.js +0 -168
  173. package/lib/Source/WMTSSource.js +0 -92
  174. package/lib/ThreeExtended/capabilities/WebGL.js +0 -69
  175. package/lib/ThreeExtended/libs/ktx-parse.module.js +0 -506
  176. package/lib/ThreeExtended/libs/zstddec.module.js +0 -29
  177. package/lib/ThreeExtended/loaders/DDSLoader.js +0 -200
  178. package/lib/ThreeExtended/loaders/DRACOLoader.js +0 -400
  179. package/lib/ThreeExtended/loaders/GLTFLoader.js +0 -2879
  180. package/lib/ThreeExtended/loaders/KTX2Loader.js +0 -709
  181. package/lib/ThreeExtended/math/ColorSpaces.js +0 -59
  182. package/lib/ThreeExtended/utils/BufferGeometryUtils.js +0 -846
  183. package/lib/ThreeExtended/utils/WorkerPool.js +0 -70
  184. package/lib/Utils/CameraUtils.js +0 -555
  185. package/lib/Utils/DEMUtils.js +0 -350
  186. package/lib/Utils/FeaturesUtils.js +0 -156
  187. package/lib/Utils/Gradients.js +0 -16
  188. package/lib/Utils/OrientationUtils.js +0 -457
  189. package/lib/Utils/ThreeUtils.js +0 -115
  190. package/lib/Utils/gui/C3DTilesStyle.js +0 -215
  191. package/lib/Utils/gui/Main.js +0 -7
  192. package/lib/Utils/gui/Minimap.js +0 -154
  193. package/lib/Utils/gui/Navigation.js +0 -245
  194. package/lib/Utils/gui/Scale.js +0 -107
  195. package/lib/Utils/gui/Searchbar.js +0 -234
  196. package/lib/Utils/gui/Widget.js +0 -80
  197. package/lib/Utils/placeObjectOnGround.js +0 -136
  198. package/lib/Worker/LASLoaderWorker.js +0 -19
  199. package/lib/Worker/Potree2Worker.js +0 -21
package/README.md CHANGED
@@ -1,131 +1,5 @@
1
- ![iTowns](https://raw.githubusercontent.com/iTowns/itowns.github.io/master/images/itowns_logo_300x134.png)
2
- # iTowns
3
-
4
- [![Coverage Status](https://coveralls.io/repos/github/iTowns/itowns/badge.svg?branch=master)](https://coveralls.io/github/iTowns/itowns?branch=master)
5
- [![example branch parameter](https://github.com/iTowns/itowns/actions/workflows/integration.yml/badge.svg?query=branch%3Amaster)](https://github.com/iTowns/itowns/actions/workflows/integration.yml?query=branch%3Amaster)
6
- [![DeepScan grade](https://deepscan.io/api/teams/2856/projects/10991/branches/159107/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=2856&pid=10991&bid=159107)
7
-
8
1
  ## What is it?
9
2
 
10
- iTowns is a [Three.js](https://threejs.org/)-based framework written in
11
- Javascript/WebGL for visualizing 3D geospatial data.
12
-
13
- It can connect to WMS/WMTS/TMS servers including elevation data and load many
14
- different data formats (3dTiles, GeoJSON, Vector Tiles, GPX and much more). A
15
- complete list of features and supported data formats is [available on the
16
- wiki](https://github.com/iTowns/itowns/wiki/Supported-Features).
17
-
18
- It officially targets the last two major versions of both Firefox, Safari and
19
- Chromium-based browsers (Chrome, Edge, ...) at the date of each release. Older
20
- browsers supporting WebGL 2.0 may work but we do not offer support.
21
-
22
- ![iTowns screenshot](https://raw.githubusercontent.com/iTowns/itowns.github.io/master/images/itownsReleaseXS.jpg)
23
-
24
- ## Documentation and examples
25
-
26
- The official documentation is [available
27
- here](http://www.itowns-project.org/itowns/docs/). It contains tutorials to help
28
- you start using iTowns, and an API reference. You can find more informations on
29
- its contribution [here](docs/README.md).
30
-
31
- Official examples can be [viewed
32
- here](http://www.itowns-project.org/itowns/examples/). Some examples available:
33
-
34
- * [Globe with WFS data](http://www.itowns-project.org/itowns/examples/#source_stream_wfs_3d)
35
- * [Plane mode with Vector Tiles](http://www.itowns-project.org/itowns/examples/#vector_tile_raster_2d)
36
- * [3D effect using scene postprocessing](http://www.itowns-project.org/itowns/examples/#effects_stereo)
37
- * [Globe with split rendering](http://www.itowns-project.org/itowns/examples/#effects_split)
38
-
39
- [![iTowns examples](http://www.itowns-project.org/images/montage.jpg)](http://www.itowns-project.org/itowns/examples/)
40
-
41
- ## How to run it locally?
42
-
43
- Clone the repo and then run:
44
-
45
- ```
46
- npm install
47
- npm start
48
- ```
49
-
50
- Try out the examples at http://localhost:8080/examples
51
-
52
- ## How to use it in your project?
53
-
54
- You can use it through npm (the preferred way) or download a bundle from our
55
- github release page.
56
-
57
- ### With npm
58
-
59
- In your project:
60
-
61
- ```bash
62
- npm install --save itowns
63
- ```
64
-
65
- This package contains the ES5-compatible sources of iTowns, up to date with the latest release.
66
-
67
- If you're using a module bundler (like wepback), you can directly write
68
- `require('itowns')` in your code.
69
-
70
- Alternatively, we provide a bundle you can directly include in your html files
71
- that exposes `itowns` in `window`:
72
-
73
- ```html
74
- <script src="node_modules/itowns/dist/itowns.js"></script>
75
- ```
76
-
77
- **/!\ Please note that this bundle also contains the dependencies**.
78
-
79
- ### From a release bundle
80
-
81
- See our [release page](https://github.com/iTowns/itowns/releases). Note that
82
- there isn't a lot of support for older version of iTowns, we highly recommend to
83
- use the last release everytime.
84
-
85
- ### Try modifications before they are released
86
-
87
- If you want to try some features or bug fixes that are planned for the next release, we provide
88
- a @next version of itowns. You can install it as such :
89
-
90
- ```bash
91
- npm install --save itowns@next
92
- ```
93
-
94
- To switch back to the version to date with the latest release, you need to run :
95
-
96
- ```bash
97
- npm install --save itowns@latest
98
- ```
99
-
100
- ## Contributing
101
-
102
- If you are interested in contributing to iTowns, please read the [CONTRIBUTING
103
- guide](CONTRIBUTING.md) and the [CODING guide](CODING.md).
104
-
105
- iTowns has been redesigned from this [early version](https://github.com/iTowns/itowns-legacy).
106
-
107
- ## Licence
108
-
109
- iTowns is dual-licenced under Cecill-B V1.0 and MIT.
110
- Incorporated libraries are published under their original licences.
111
-
112
- See [LICENSE.md](LICENSE.md) for more information.
113
-
114
- ## Maintainers
115
-
116
- iTowns is an original work from French IGN, [MATIS research
117
- laboratory](http://recherche.ign.fr/labos/matis/). It has been funded through
118
- various research programs involving the French National Research Agency, Cap
119
- Digital, UPMC, Mines ParisTec, CNRS, LCPC and maintained by several organizations
120
- along the years (IGN, Oslandia, AtolCD, CIRIL Group). It has also received contributions from people [listed
121
- here](CONTRIBUTORS.md).
122
-
123
- iTowns is currently maintained by [IGN](http://www.ign.fr) and
124
- [CIRIL Group](https://www.cirilgroup.com/en/).
125
-
126
- Contributions in any forms and new contributors and maintainers are welcome. Get in touch with us if you are interested :)
127
-
128
- The governance of the project is open and explicited [here](https://github.com/iTowns/itowns-governance).
129
-
130
- [![IGN](./img/logo_ign.png)](https://www.ign.fr)
131
- [![CIRIL Group](./img/CIRIL_Group_logo.png)](https://www.cirilgroup.com/en/)
3
+ This itowns module acts as a central point of access, allowing users to leverage the complete range of features offered by the @itowns submodules without needing to import or manage them individually.
4
+ Refer to [README main](https://raw.githubusercontent.com/iTowns/itowns.github.io/master/README.md) for more information.
5
+ The official documentation is [available here](http://www.itowns-project.org/itowns/docs/)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itowns",
3
- "version": "2.44.3-next.40",
3
+ "version": "2.44.3-next.42",
4
4
  "description": "A JS/WebGL framework for 3D geospatial data visualization",
5
5
  "type": "module",
6
6
  "main": "lib/Main.js",
@@ -9,32 +9,24 @@
9
9
  "./widgets": "./lib/Utils/gui/Main.js"
10
10
  },
11
11
  "scripts": {
12
- "lint": "eslint \"src/**/*.{js,ts,tsx}\" \"test/**/*.js\" \"examples/**/*.js\" \"docs/*.js\"",
13
- "doc": "jsdoc --readme docs/HOMEPAGE.md -c docs/config.json",
14
- "doclint": "npm run doc -- -t templates/silent",
15
- "test": "npm run lint -- --max-warnings=0 && npm run build && npm run test-with-coverage && npm run test-functional",
16
- "test-dev": "npm run lint -- --max-warnings=0 && npm run build-dev && npm run test-with-coverage && npm run test-functional",
12
+ "lint": "eslint \"src/**/*.{js,ts,tsx}\" \"test/**/*.js\"",
13
+ "transpile": "cross-env BABEL_DISABLE_CACHE=1 babel src --out-dir lib --extensions .js,.ts",
17
14
  "test-unit": "npm run base-test-unit test/unit",
18
- "test-functional": "mocha -t 100000 --require test/hooks_functional.js --recursive test/functional",
15
+ "base-test-unit": "cross-env BABEL_DISABLE_CACHE=1 mocha --timeout 5000 --file test/unit/bootstrap.js --import=../../config/babel-register/register.mjs",
19
16
  "test-with-coverage": "c8 -n src -r html cross-env npm run test-unit",
20
17
  "test-with-coverage_lcov": "c8 -n src --reporter=lcov cross-env npm run test-unit",
21
- "base-test-unit": "cross-env BABEL_DISABLE_CACHE=1 mocha --file test/unit/bootstrap.js --import=./config/babel-register/register.mjs",
22
- "build": "cross-env NODE_ENV=production webpack",
23
- "build-dev": "cross-env NODE_ENV=development webpack",
24
- "transpile": "cross-env BABEL_DISABLE_CACHE=1 babel src --out-dir lib --extensions .js,.ts",
25
- "start": "cross-env NODE_ENV=development webpack serve",
26
- "start-https": "cross-env NODE_ENV=development webpack serve --https",
27
- "debug": "cross-env noInline=true npm start",
28
- "prepublishOnly": "npm run build && npm run transpile",
29
- "prepare": "cross-env NO_UPDATE_NOTIFIER=true node ./config/prepare.mjs && node ./config/replace.config.mjs",
30
18
  "watch": "npm run transpile -- --watch",
31
- "changelog": "conventional-changelog -n ./config/conventionalChangelog/config.cjs -i changelog.md -s",
32
- "bump": "if [ -z $npm_config_level ]; then grunt bump:minor; else grunt bump:$npm_config_level; fi && npm run changelog && npm install && git add -A && git commit --amend --no-edit",
33
- "publish-next": "npm version prerelease --preid next && npm publish --access public --tag=next --provenance",
34
- "publish-latest": "npm publish --access public --tag=latest --provenance"
19
+ "prepublishOnly": "npx copyfiles -u 1 \"../../examples/**/*\" ./examples/ && npx copyfiles -u 1 \"../../docs/**/*\" ./docs/ && npx copyfiles -u 1 \"../../dist/**/*\" ./dist/ ",
20
+ "postpublish": "node clean.cjs",
21
+ "publish-latest": "npm publish --access public --tag=latest --provenance",
22
+ "prerelease-next": "npm version prerelease --preid next",
23
+ "publish-next": "npm publish --access public --tag=next --provenance",
24
+ "update-package": "npm remove @itowns/geographic && npm install @itowns/geographic@$npm_package_version --save"
35
25
  },
36
26
  "c8": {
37
27
  "exclude": [
28
+ "**/test/**",
29
+ "**/lib/**",
38
30
  "**/*ThreeExtended",
39
31
  "**/*src/Utils/placeObjectOnGround.js",
40
32
  "**/*src/Parser/deprecated/LegacyGLTFLoader.js"
@@ -55,8 +47,8 @@
55
47
  "bugs": {
56
48
  "url": "https://github.com/iTowns/itowns/issues"
57
49
  },
58
- "homepage": "https://itowns.github.io/",
59
50
  "dependencies": {
51
+ "@itowns/geographic": "^2.44.3-next.42",
60
52
  "@mapbox/vector-tile": "^2.0.3",
61
53
  "@maplibre/maplibre-gl-style-spec": "^22.0.0",
62
54
  "@tmcw/togeojson": "^5.8.1",
@@ -76,56 +68,8 @@
76
68
  "three": "^0.170.0"
77
69
  },
78
70
  "devDependencies": {
79
- "@babel/cli": "^7.25.6",
80
- "@babel/core": "^7.25.2",
81
- "@babel/plugin-transform-runtime": "^7.25.4",
82
- "@babel/preset-env": "^7.25.4",
83
- "@babel/preset-typescript": "^7.24.7",
84
- "@babel/register": "^7.24.6",
85
- "@stylistic/eslint-plugin": "^2.8.0",
86
- "@types/proj4": "^2.5.5",
87
- "@types/three": "^0.170.0",
88
- "@typescript-eslint/eslint-plugin": "^8.5.0",
89
- "@typescript-eslint/parser": "^8.5.0",
90
- "@xmldom/xmldom": "^0.9.2",
91
- "babel-inline-import-loader": "^1.0.1",
92
- "babel-loader": "^9.2.1",
93
- "babel-plugin-inline-import": "^3.0.0",
94
- "babel-plugin-minify-dead-code-elimination": "^0.5.2",
95
- "babel-plugin-minify-replace": "^0.5.0",
96
- "babel-plugin-module-extension-resolver": "^1.0.0",
97
- "babel-plugin-module-resolver": "^5.0.2",
98
- "c8": "^10.1.2",
99
71
  "chalk": "^5.3.0",
100
- "chart.js": "^4.4.4",
101
- "compare-func": "^2.0.0",
102
- "conventional-changelog-cli": "^4.1.0",
103
- "copyfiles": "^2.4.1",
104
- "core-js": "^3.38.1",
105
- "cross-env": "^7.0.3",
106
- "eslint": "^8.55.0",
107
- "eslint-config-airbnb-base": "^15.0.0",
108
- "eslint-import-resolver-babel-module": "^5.3.2",
109
- "eslint-plugin-import": "^2.30.0",
110
- "eslint-plugin-tsdoc": "^0.3.0",
111
- "eslint-webpack-plugin": "^4.2.0",
112
- "github-url-from-git": "^1.5.0",
113
- "grunt": "^1.6.1",
114
- "grunt-bump": "^0.8.0",
115
- "https-proxy-agent": "^7.0.5",
116
- "jsdoc": "^4.0.3",
117
- "mocha": "^10.7.3",
118
- "proj4": "^2.12.1",
119
- "puppeteer": "^23.3.1",
120
- "q": "^1.5.1",
121
- "replace-in-file": "^8.1.0",
122
- "sinon": "^19.0.2",
123
- "three": "^0.170.0",
124
- "typescript": "^5.6.2",
125
- "undici": "^7.2.0",
126
- "webgl-mock": "^0.1.7",
127
- "webpack": "^5.94.0",
128
- "webpack-cli": "^5.1.4",
129
- "webpack-dev-server": "^5.1.0"
130
- }
72
+ "copyfiles": "^2.4.1"
73
+ },
74
+ "homepage": "https://itowns.github.io/"
131
75
  }
package/CODING.md DELETED
@@ -1,120 +0,0 @@
1
- # Development guide
2
-
3
- iTowns needs `nodejs` (10+) and `npm` (at least 6.x) installed on the system.
4
- See the [node website](https://nodejs.org) to install node and npm.
5
-
6
- ## Coding rules
7
-
8
- * Search and use existing methods to avoid duplicate code
9
- * Avoid instance `class/object` in method (optimization with the garbage collector)
10
- * Give explicite name to constants
11
- * Avoid duplicate code and encapsulate to simplify
12
- * For performance reasons, update objects only when needed
13
- * Don't add dead code
14
- * Remove obsolete comments
15
-
16
- ## Building
17
-
18
- * Download dependencies: `npm install`
19
- * Run the dev server:
20
- * `npm start` (you can change the port: `npm start -- --port 3000`. If you
21
- get an error message that is not related to the port being in use, please
22
- update to last lts or stable version)
23
- * Open `http://localhost:8080/`
24
- * Make changes in the code, the browser will automatically reload on save
25
- * Build iTowns to produce a single independent script:
26
- * `npm run build`
27
- * The script and its source-maps are generated into the `dist/` folder
28
- * You can run the built script to verify it works OK:
29
- * `python -m SimpleHTTPServer 8080` (change the port at your convenience)
30
- * Open `http://localhost:8080/`
31
- * Transpile itowns to ES5 to require it in your code:
32
- * `npm run transpile`
33
- * The transpiled source is in `lib/`
34
- * You can then require `src/Main.js` in your code
35
- * Test and lint changes: see test, lint and test-examples npm script
36
-
37
- ## Debugging
38
- * `babel-inline-import-loader` prevents the source map debug in browser. If you
39
- want launch server and debug with the original source map, run : `npm run
40
- debug`.
41
- * To debug iTowns package on your side project. You can link iTowns package with
42
- `npm link ../path/iTowns/` in project folder and auto-transpile to `lib/` when
43
- iTowns sources are modified with command `npm run watch` in iTowns folder.
44
-
45
- ## Testing
46
- For unit and functional test, defines `HTTPS_PROXY` if you launch test behind a proxy.
47
-
48
- In order to run the tests, [puppeteer](https://github.com/GoogleChrome/puppeteer)
49
- needs to be installed. If installing puppeteer behind a proxy, use `HTTP_PROXY`,
50
- `HTTPS_PROXY`, `NO_PROXY` to defines HTTP proxy settings that are used to download
51
- and run Chromium.
52
-
53
- If puppeteer fails to download Chrome, you can try with the [documented environment
54
- variables](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#environment-variables).
55
- Or you can download it manually, and then:
56
- * install puppeteer without downloading Chrome:
57
- `PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 npm install puppeteer`
58
- * then use the env var `CHROME` to tell itowns/mocha/puppeteer what Chrome app
59
- it should use: `CHROME=/opt/google/chrome-beta/chrome npm run test-examples`
60
-
61
- Then tests can be run with five differents methods:
62
- * `npm run test`: build and run all tests in iTowns (the one used by github action)
63
- * `npm run test-dev`: build in development mode and run all tests in iTowns (to get more messages)
64
- * `npm run test-unit`: run unit tests only
65
- * `npm run test-functional`: run functional testing with examples only, use
66
- `mocha -t 30000 --require test/functional/hooks_functional.js
67
- test/functional/<test_case>.js` to run a single example
68
- * `npm run test-with-coverage`: build and run all tests in iTowns and generate a
69
- report on the coverage of the tests
70
-
71
-
72
- When running tests on examples, some environment variables can be set:
73
- * `SCREENSHOT_FOLDER`: take a screenshot at the end of each test and save it in
74
- this folder. Example: `SCREENSHOT_FOLDER=/tmp/`
75
- * `CHROME`: path to Chrome executable. If unspecified itowns will use the one
76
- downloaded during puppeteer install.
77
- * `DEBUG`: run Chrome in a window with the debug tools open.
78
- * `REMOTE_DEBUGGING`: run Chrome in headless mode and set up remote debugging.
79
- Example: `REMOTE_DEBUGGING=9222` will setup remote debugging on port 9222.
80
- Then start another Chrome instance, browse to `chrome://inspect/#devices` and
81
- add `localhost:9222` in Discover network targets.
82
-
83
- Note: Chrome in headless mode doesn't support the WebGL `EXT_frag_depth`
84
- extension. So rendering may differ and some bugs can only be present in headless
85
- mode.
86
-
87
- ### Syntax in tests
88
-
89
- [mochajs](https://mochajs.org/) is used for both type of tests. To avoid
90
- problems with same name variables, keep them in the smallest scope. For example,
91
- a variable should almost always be in the `it()` section of a test. However, it
92
- can be useful to keep a single shared variable for a bunch of tests (in the same
93
- file). For this, declare it in the `describe()` section, and set it (if
94
- possible) in a `before()` section.
95
-
96
- ### Useful commands for continuous testing
97
-
98
- If you wish to have unit tests to continuously run, you can append to your
99
- running command `-- --watch`. You will be getting in this case `npm run
100
- test-unit -- --watch`.
101
-
102
- If you want to work on a single test and debug it, without having all the extra
103
- output, you can use this command `npm run base-test-unit test/unit/3dtiles.js`
104
- and of course replace 3dtiles.js with the correct filename. You can also append
105
- the `-- --watch` flag as well. If you want disable reporting and keep error message
106
- in console add `--reporter min`.
107
-
108
- ## Release
109
-
110
- * `npm run changelog` generates changelog file.
111
- * `npm run bump --level=minor` bump version, generates changelog file and commit (default level is minor).
112
-
113
- ## Contribute back
114
-
115
- See [the contributor's guide](CONTRIBUTING.md) for more information on how to
116
- contribute.
117
-
118
- Note : You should not commit changes to `package-lock.json` if you're not using
119
- npm >= 6 (particularly if you didn't make any change to the `package.json`
120
- either).
package/CONTRIBUTING.md DELETED
@@ -1,150 +0,0 @@
1
- # How to contribute
2
-
3
- Thanks for taking interest in iTowns !
4
-
5
- In addition to contributing to the iTowns code, we appreciate many types of
6
- contributions as well:
7
-
8
- * Being active on the iTowns mailing lists (see above) by answering questions
9
- and providing input on iTowns' direction.
10
- * Showcasing your application built with iTowns : submit an issue with a link to
11
- your demo on the [iTowns website
12
- repository](https://github.com/iTowns/itowns.github.io/issues). Tag it with
13
- the `demo` label.
14
- * Writing tutorials, creating examples, and improving the reference
15
- documentation. See the issues labeled
16
- [doc](https://github.com/iTowns/itowns/labels/doc).
17
- * Submitting issues as [described below](#submitting-an-issue).
18
- * Triaging issues. Browse the [issues](https://github.com/iTowns/itowns/issues)
19
- and comment on issues that are no longer reproducible or on issues for which
20
- you have additional information.
21
-
22
- If you don't know what to do but still want to contribute, check:
23
-
24
- * Issues labeled [beginner](https://github.com/iTowns/itowns/labels/beginner)
25
- * Issues labeled [help_wanted](https://github.com/iTowns/itowns/label/help_wanted)
26
-
27
-
28
- ## Submitting an Issue
29
-
30
- If you think you've found a bug in iTowns, first search the [iTowns
31
- issues](https://github.com/iTowns/itowns/issues). If an issue already exists,
32
- you can add a comment with any additional information. Use reactions (not
33
- comments) to express your interest. This helps prioritize issues.
34
-
35
- If a related issue does not exist, submit a new one. Please include as much of
36
- the following information as is relevant:
37
- * Sample data to reproduce the issue.
38
- * Screenshot, video or animated .gif if appropriate (try
39
- [LICEcap](http://www.cockos.com/licecap/)). Screenshots are particularly
40
- useful for exceptions and rendering artifacts. If it is a rendering artifact,
41
- also include the output of [webglreport.com](http://webglreport.com/) for the
42
- computer you have the problem on.
43
- * Link to the thread if this was discussed on the iTowns mailing list or
44
- elsewhere.
45
- * Your operating system and version, browser and version, and video card. Are
46
- they all up-to-date? Is the issue specific to one of them ?
47
- * The exact version of iTowns. Did this work in a previous version ?
48
- * Ideas for how to fix or workaround the issue. Also mention if you are willing
49
- to help fix it. If so, the iTowns team can often provide guidance and the
50
- issue may get fixed more quickly with your help.
51
-
52
-
53
- ## Ask a question, suggest an improvement
54
-
55
- If you have a question or a suggestion not related to a bug iTowns, you can search the
56
- [iTowns discussions](https://github.com/iTowns/itowns/discussions). If a discussion about
57
- your question or suggestion already exists, you can add a comment or upvote the original
58
- comment in the discussion. Otherwise, you can create a new discussion, detailing your
59
- question or suggestion.
60
-
61
- We recommend the use of [iTowns discussions](https://github.com/iTowns/itowns/discussions)
62
- for suggestions and questions.
63
- However, there is another way of suggesting improvements or asking questions, which is
64
- through iTowns mailing lists. There is a user mailing list and a developer mailing list.
65
-
66
- You can subscribe to the mailing lists here:
67
-
68
- * Developer: https://lists.osgeo.org/mailman/listinfo/itowns-dev
69
- * User: https://lists.osgeo.org/mailman/listinfo/itowns-user
70
-
71
- The mailing list archives are here:
72
-
73
- * Developer: https://lists.osgeo.org/pipermail/itowns-dev/
74
- * User: https://lists.osgeo.org/pipermail/itowns-user/
75
-
76
- If you cannot find any information on your problem in the archive, you can start
77
- a new thread by sending an email to the list, and someone will probably answer
78
- with a solution.
79
-
80
-
81
-
82
- ## Fixing a bug, developing a feature or coding something
83
-
84
- You are more than welcome to develop to iTowns, may it be a fix, a new feature,
85
- documentation, or even a typo in a comment. For more information on the setup to
86
- for developing, follow the [Coding guide](CODING.md).
87
-
88
- ## Opening a Pull Request
89
-
90
- We welcome pull requests with great interest. We try to promptly review them,
91
- provide feedback, and merge. Following the tips in this guide will help your
92
- pull request be merged quickly.
93
-
94
- If you plan to make a major change, please open an issue first. Pull requests
95
- for small features and bug fixes can generally just be opened without much
96
- discussion.
97
-
98
- ### Pull Request Guidelines
99
-
100
- Code quality matters. Here are some advices to read before submitting a Pull
101
- Request.
102
-
103
- * Verify your code passes the linter and tests (`npm run test`). See the
104
- [Testing guide](CODING.md#Testing).
105
- * Write meaningful commit messages, by following the [Angular
106
- convention](https://github.com/bcoe/conventional-changelog-standard/blob/master/convention.md).
107
- Here is a comprehensive list of all commit types we support :
108
- * `feat`, `features` or `feature` for some feature addition ;
109
- * `fix` for a bug fix ;
110
- * `perf` for some performance improvements;
111
- * `revert` for an undo operation ;
112
- * `doc` or `docs` for some changes on the documentation ;
113
- * `refactor`, `refacto` or `refactoring` for some code refactoring ;
114
- * `test` or `tests` for changes test related ;
115
- * `chore`, `rename` or `workflow` for some work on package versions or
116
- dependency updates, some file renaming or some changes on workflow files ;
117
- * `example` or `examples` for changes on examples or addition of a new one.
118
- * Keep the git history clean, rebase your work on the `master` branch of this
119
- repository.
120
- * If this is your first contribution to iTowns, add your name to
121
- [CONTRIBUTORS.md](https://github.com/iTowns/itowns/blob/master/CONTRIBUTORS.md).
122
- * If your pull request fixes an existing issue, include a link to the issue in
123
- the description. Likewise, if your pull request fixes an issue reported on the
124
- iTowns mailing list, include a link to the thread in the list archive.
125
- * If your pull request needs additional work, add the `in progress` label,
126
- include a [task list](https://github.com/blog/1375%0A-task-lists-in-gfm-issues-pulls-comments),
127
- or better, split it in several PR.
128
- * If you added new identifiers to the iTowns API:
129
- * Include reference documentation with code examples.
130
- * If your change adds significant features, provide a demo.
131
- * If you added third-party libraries, including new version of existing
132
- libraries, update [LICENSE.md](LICENSE.md). If you plan to add a third-party
133
- library, start a new issue first.
134
- * Split the PR if it contains features from different scopes
135
- * Squash all commits having the same scope
136
-
137
- ## IP
138
-
139
- iTowns is Licenced under a dual licence CeCILL-B v1.0 and MIT (See
140
- [LICENSE.md](LICENSE.md)). If you want to include your code in the iTowns
141
- project, you have to licence the code under these same licences. You stay author
142
- of your work.
143
-
144
- You should also do an IP review for your contribution, to ensure that you have
145
- all rights to the code and that no patent apply to it.
146
-
147
- ## Resources
148
-
149
- This CONTRIBUTING documentation has been inspired by the Cesium Contributing doc:
150
- * https://github.com/AnalyticalGraphicsInc/cesium/blob/master/CONTRIBUTING.md
package/CONTRIBUTORS.md DELETED
@@ -1,56 +0,0 @@
1
- See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute to iTowns 2.
2
-
3
- The following people have contributed to iTowns.
4
-
5
- * [IGN](http://www.ign.fr)
6
- * [Gérald Choqueux](https://github.com/gchoqueux)
7
- * [Alexandre Devaux](https://github.com/nosy-b)
8
- * [Victor Coindet](https://github.com/VictorCo)
9
- * [Quoc Dinh Nguyen](https://github.com/qdnguyen)
10
- * [Grégoire Maillet](https://github.com/gmaillet)
11
- * [Guillaume Liégard](https://github.com/gliegard)
12
- * [Adrien Berthet](https://github.com/zarov)
13
- * [Madec Germerie-Guizouarn](https://github.com/mgermerie)
14
- * [Mathieu Brédif](https://github.com/mbredif)
15
- * [Aymeric Dutremble](https://github.com/a-dutremble)
16
-
17
- * [CIRIL Group](https://www.cirilgroup.com/en/):
18
- * [Vincent Jaillot](https://github.com/jailln)
19
- * [Anthony Gullient](https://github.com/AnthonyGlt)
20
- * [Jonathan Garnier](https://github.com/jogarnier)
21
- * [Irénée Dubourg](https://github.com/airnez)
22
-
23
- * [Oslandia](http://www.oslandia.com)
24
- * [Vincent Picavet](https://github.com/vpicavet)
25
- * [Jérémy Gaillard](https://github.com/Jeremy-Gaillard)
26
- * [Pierre-Éric Pelloux-Prayer](https://github.com/peppsac)
27
- * [Augustin Trancart](https://github.com/autra)
28
-
29
- * [AtolCD](http://www.atolcd.com)
30
- * [Thomas Broyer](https://github.com/tbroyer)
31
-
32
- * [LIRIS](https://liris.cnrs.fr/)
33
- * [Nicolas Saul](https://github.com/NikoSaul)
34
- * [Emmanuel Schmück](https://github.com/EmmanuelSchmuck/)
35
- * [Marie Lamure](https://github.com/mlamure)
36
- * [Vincent Jaillot](https://github.com/jailln)
37
- * [Valentin Rigolle](https://github.com/Crejak)
38
- * [Valentin Machado](https://github.com/valentinMachado)
39
-
40
- * [virtualcitySYSTEMS](https://www.virtualcitysystems.de/)
41
- * [Ben Kuster](https://github.com/bkuster)
42
-
43
- * [Prolexia](http://prolexia.fr/)
44
- * [Dorian MOFFROID](https://github.com/dorian-moffroid-prolexia)
45
-
46
- * [Diginove](http://diginove.com/index.php/fr/diginove-lexpertise-en-traitement-dimages/):
47
- * [Michel Benet](https://github.com/mbenevole)
48
-
49
- * [Sogelink](https://www.sogelink.com/)
50
- * [Kévin ETOURNEAU](https://github.com/ketourneau)
51
- * [Alexis DELFORGES](https://github.com/pourfex)
52
- * [Tim Ebben](https://github.com/tebben)
53
-
54
- The following organizations are the current maintainers of iTowns:
55
- * IGN (http://www.ign.fr)
56
- * Ciril Group (https://www.cirilgroup.com/)
package/LICENSE.md DELETED
@@ -1,44 +0,0 @@
1
- Copyright 2016 iTowns Contributors
2
-
3
- iTowns V2 is licenced under both licences CeCILL-B Version 1.0 and MIT.
4
-
5
- ## iTowns V2
6
-
7
- ### CeCILL-B
8
-
9
- iTowns is licensed under the CeCILL-B license, Version 1.0. You may obtain a copy of the License at
10
-
11
- https://cecill.info/licences/Licence_CeCILL-B_V1-en.html
12
-
13
- Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
14
-
15
- ### MIT
16
-
17
- iTowns is licensed under the MIT Licence. You may obtain a copy of the License at
18
-
19
- https://opensource.org/licenses/MIT
20
-
21
- Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
22
-
23
- ## Third-Party Code
24
-
25
- iTowns V2 includes the following third-party code.
26
-
27
- ### ThreeJS
28
-
29
- > Copyright (c) 2010-2015 three.js authors
30
- > http://www.opensource.org/licenses/mit-license.php
31
- >
32
- > MIT License (c) copyright B Cavalier &amp; J Hann
33
- >
34
- > Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
35
- >
36
- > The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
37
- >
38
- > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
39
-
40
- ### PriorityQueue
41
-
42
- PriorityQueue is published under a Public Domain status.
43
-
44
- https://github.com/adamhooper/js-priority-queue