@loaders.gl/tile-converter 4.2.0-alpha.4 → 4.2.0-alpha.5

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 (144) hide show
  1. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +3 -3
  2. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
  3. package/dist/3d-tiles-converter/3d-tiles-converter.js +329 -293
  4. package/dist/3d-tiles-converter/helpers/b3dm-converter.js +257 -200
  5. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +14 -5
  6. package/dist/3d-tiles-converter/helpers/load-i3s.js +106 -75
  7. package/dist/3d-tiles-converter/helpers/texture-atlas.js +44 -21
  8. package/dist/3d-tiles-converter/json-templates/tileset.js +32 -33
  9. package/dist/constants.js +0 -1
  10. package/dist/converter-cli.js +255 -234
  11. package/dist/converter.min.cjs +80 -90
  12. package/dist/deps-installer/deps-installer.js +72 -58
  13. package/dist/i3s-converter/helpers/attribute-metadata-info.js +207 -153
  14. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +1 -1
  15. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
  16. package/dist/i3s-converter/helpers/batch-ids-extensions.js +145 -103
  17. package/dist/i3s-converter/helpers/coordinate-converter.js +100 -65
  18. package/dist/i3s-converter/helpers/create-scene-server-path.js +14 -9
  19. package/dist/i3s-converter/helpers/feature-attributes.js +168 -105
  20. package/dist/i3s-converter/helpers/geometry-attributes.d.ts +1 -1
  21. package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -1
  22. package/dist/i3s-converter/helpers/geometry-attributes.js +204 -212
  23. package/dist/i3s-converter/helpers/geometry-converter.d.ts +2 -2
  24. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  25. package/dist/i3s-converter/helpers/geometry-converter.js +1148 -829
  26. package/dist/i3s-converter/helpers/gltf-attributes.d.ts +1 -1
  27. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
  28. package/dist/i3s-converter/helpers/gltf-attributes.js +111 -97
  29. package/dist/i3s-converter/helpers/load-3d-tiles.js +103 -66
  30. package/dist/i3s-converter/helpers/node-debug.js +98 -54
  31. package/dist/i3s-converter/helpers/node-index-document.d.ts +3 -3
  32. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -1
  33. package/dist/i3s-converter/helpers/node-index-document.js +248 -177
  34. package/dist/i3s-converter/helpers/node-pages.d.ts +1 -1
  35. package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -1
  36. package/dist/i3s-converter/helpers/node-pages.js +299 -194
  37. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts +1 -1
  38. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -1
  39. package/dist/i3s-converter/helpers/preprocess-3d-tiles.js +92 -60
  40. package/dist/i3s-converter/helpers/progress.js +134 -83
  41. package/dist/i3s-converter/helpers/tileset-traversal.d.ts +1 -1
  42. package/dist/i3s-converter/helpers/tileset-traversal.d.ts.map +1 -1
  43. package/dist/i3s-converter/helpers/tileset-traversal.js +24 -13
  44. package/dist/i3s-converter/i3s-converter.d.ts +7 -7
  45. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  46. package/dist/i3s-converter/i3s-converter.js +1044 -898
  47. package/dist/i3s-converter/json-templates/geometry-definitions.js +70 -79
  48. package/dist/i3s-converter/json-templates/layers.js +120 -121
  49. package/dist/i3s-converter/json-templates/metadata.js +19 -20
  50. package/dist/i3s-converter/json-templates/node.js +73 -71
  51. package/dist/i3s-converter/json-templates/scene-server.js +25 -26
  52. package/dist/i3s-converter/json-templates/shared-resources.js +107 -108
  53. package/dist/i3s-converter/json-templates/store.js +96 -94
  54. package/dist/i3s-converter/types.js +35 -23
  55. package/dist/i3s-server/app.js +15 -12
  56. package/dist/i3s-server/bin/www.js +14 -7
  57. package/dist/i3s-server/controllers/index-controller.js +18 -15
  58. package/dist/i3s-server/controllers/slpk-controller.js +22 -11
  59. package/dist/i3s-server/routes/index.js +9 -8
  60. package/dist/i3s-server/routes/slpk-router.js +18 -17
  61. package/dist/i3s-server/utils/create-scene-server.js +15 -10
  62. package/dist/i3s-server/utils/server-utils.js +49 -32
  63. package/dist/index.cjs +292 -851
  64. package/dist/index.cjs.map +7 -0
  65. package/dist/index.d.ts +2 -2
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +0 -1
  68. package/dist/lib/json-schemas/conversion-dump-json-schema.js +243 -421
  69. package/dist/lib/utils/cli-utils.js +63 -36
  70. package/dist/lib/utils/compress-util.js +20 -15
  71. package/dist/lib/utils/conversion-dump.d.ts +1 -1
  72. package/dist/lib/utils/conversion-dump.d.ts.map +1 -1
  73. package/dist/lib/utils/conversion-dump.js +209 -187
  74. package/dist/lib/utils/file-utils.js +122 -74
  75. package/dist/lib/utils/geometry-utils.js +13 -7
  76. package/dist/lib/utils/lod-conversion-utils.js +65 -33
  77. package/dist/lib/utils/queue.js +12 -13
  78. package/dist/lib/utils/statistic-utills.d.ts +6 -23
  79. package/dist/lib/utils/statistic-utills.js +64 -59
  80. package/dist/lib/utils/write-queue.d.ts +2 -2
  81. package/dist/lib/utils/write-queue.d.ts.map +1 -1
  82. package/dist/lib/utils/write-queue.js +68 -86
  83. package/dist/pgm-loader.js +16 -12
  84. package/dist/slpk-extractor/slpk-extractor.js +59 -50
  85. package/dist/slpk-extractor-cli.js +82 -59
  86. package/package.json +18 -18
  87. package/dist/3d-tiles-converter/3d-tiles-converter.js.map +0 -1
  88. package/dist/3d-tiles-converter/helpers/b3dm-converter.js.map +0 -1
  89. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +0 -1
  90. package/dist/3d-tiles-converter/helpers/load-i3s.js.map +0 -1
  91. package/dist/3d-tiles-converter/helpers/texture-atlas.js.map +0 -1
  92. package/dist/3d-tiles-converter/json-templates/tileset.js.map +0 -1
  93. package/dist/constants.js.map +0 -1
  94. package/dist/converter-cli.js.map +0 -1
  95. package/dist/deps-installer/deps-installer.js.map +0 -1
  96. package/dist/i3s-converter/helpers/attribute-metadata-info.js.map +0 -1
  97. package/dist/i3s-converter/helpers/batch-ids-extensions.js.map +0 -1
  98. package/dist/i3s-converter/helpers/coordinate-converter.js.map +0 -1
  99. package/dist/i3s-converter/helpers/create-scene-server-path.js.map +0 -1
  100. package/dist/i3s-converter/helpers/feature-attributes.js.map +0 -1
  101. package/dist/i3s-converter/helpers/geometry-attributes.js.map +0 -1
  102. package/dist/i3s-converter/helpers/geometry-converter.js.map +0 -1
  103. package/dist/i3s-converter/helpers/gltf-attributes.js.map +0 -1
  104. package/dist/i3s-converter/helpers/load-3d-tiles.js.map +0 -1
  105. package/dist/i3s-converter/helpers/node-debug.js.map +0 -1
  106. package/dist/i3s-converter/helpers/node-index-document.js.map +0 -1
  107. package/dist/i3s-converter/helpers/node-pages.js.map +0 -1
  108. package/dist/i3s-converter/helpers/preprocess-3d-tiles.js.map +0 -1
  109. package/dist/i3s-converter/helpers/progress.js.map +0 -1
  110. package/dist/i3s-converter/helpers/tileset-traversal.js.map +0 -1
  111. package/dist/i3s-converter/i3s-converter.js.map +0 -1
  112. package/dist/i3s-converter/json-templates/geometry-definitions.js.map +0 -1
  113. package/dist/i3s-converter/json-templates/layers.js.map +0 -1
  114. package/dist/i3s-converter/json-templates/metadata.js.map +0 -1
  115. package/dist/i3s-converter/json-templates/node.js.map +0 -1
  116. package/dist/i3s-converter/json-templates/scene-server.js.map +0 -1
  117. package/dist/i3s-converter/json-templates/shared-resources.js.map +0 -1
  118. package/dist/i3s-converter/json-templates/store.js.map +0 -1
  119. package/dist/i3s-converter/types.js.map +0 -1
  120. package/dist/i3s-server/README.md +0 -63
  121. package/dist/i3s-server/app.js.map +0 -1
  122. package/dist/i3s-server/bin/www.js.map +0 -1
  123. package/dist/i3s-server/certs/cert.pem +0 -19
  124. package/dist/i3s-server/certs/key.pem +0 -27
  125. package/dist/i3s-server/controllers/index-controller.js.map +0 -1
  126. package/dist/i3s-server/controllers/slpk-controller.js.map +0 -1
  127. package/dist/i3s-server/routes/index.js.map +0 -1
  128. package/dist/i3s-server/routes/slpk-router.js.map +0 -1
  129. package/dist/i3s-server/utils/create-scene-server.js.map +0 -1
  130. package/dist/i3s-server/utils/server-utils.js.map +0 -1
  131. package/dist/index.js.map +0 -1
  132. package/dist/lib/json-schemas/conversion-dump-json-schema.js.map +0 -1
  133. package/dist/lib/utils/cli-utils.js.map +0 -1
  134. package/dist/lib/utils/compress-util.js.map +0 -1
  135. package/dist/lib/utils/conversion-dump.js.map +0 -1
  136. package/dist/lib/utils/file-utils.js.map +0 -1
  137. package/dist/lib/utils/geometry-utils.js.map +0 -1
  138. package/dist/lib/utils/lod-conversion-utils.js.map +0 -1
  139. package/dist/lib/utils/queue.js.map +0 -1
  140. package/dist/lib/utils/statistic-utills.js.map +0 -1
  141. package/dist/lib/utils/write-queue.js.map +0 -1
  142. package/dist/pgm-loader.js.map +0 -1
  143. package/dist/slpk-extractor/slpk-extractor.js.map +0 -1
  144. package/dist/slpk-extractor-cli.js.map +0 -1
@@ -1,13 +1,14 @@
1
1
  import express from 'express';
2
2
  import { getFileNameByUrl } from "../controllers/index-controller.js";
3
3
  export const router = express.Router();
4
+ /* GET home page. */
4
5
  router.get('*', async function (req, res, next) {
5
- const fileName = await getFileNameByUrl(req.path);
6
- if (fileName) {
7
- res.sendFile(fileName);
8
- } else {
9
- res.status(404);
10
- res.send('File not found');
11
- }
6
+ const fileName = await getFileNameByUrl(req.path);
7
+ if (fileName) {
8
+ res.sendFile(fileName);
9
+ }
10
+ else {
11
+ res.status(404);
12
+ res.send('File not found');
13
+ }
12
14
  });
13
- //# sourceMappingURL=index.js.map
@@ -4,24 +4,25 @@ import { createSceneServer } from "../utils/create-scene-server.js";
4
4
  const textDecoder = new TextDecoder();
5
5
  export const sceneServerRouter = express.Router();
6
6
  sceneServerRouter.get('*', async function (req, res, next) {
7
- const file = await getFileByUrl('/');
8
- if (file) {
9
- const layer = JSON.parse(textDecoder.decode(file));
10
- const sceneServerResponse = createSceneServer(layer.name, layer);
11
- res.send(sceneServerResponse);
12
- } else {
13
- res.status(404);
14
- res.send('File not found');
15
- }
7
+ const file = await getFileByUrl('/');
8
+ if (file) {
9
+ const layer = JSON.parse(textDecoder.decode(file));
10
+ const sceneServerResponse = createSceneServer(layer.name, layer);
11
+ res.send(sceneServerResponse);
12
+ }
13
+ else {
14
+ res.status(404);
15
+ res.send('File not found');
16
+ }
16
17
  });
17
18
  export const router = express.Router();
18
19
  router.get('*', async function (req, res, next) {
19
- const file = await getFileByUrl(req.path.replace(/\/+$/, ''));
20
- if (file) {
21
- res.send(Buffer.from(file));
22
- } else {
23
- res.status(404);
24
- res.send('File not found');
25
- }
20
+ const file = await getFileByUrl(req.path.replace(/\/+$/, ''));
21
+ if (file) {
22
+ res.send(Buffer.from(file));
23
+ }
24
+ else {
25
+ res.status(404);
26
+ res.send('File not found');
27
+ }
26
28
  });
27
- //# sourceMappingURL=slpk-router.js.map
@@ -1,13 +1,18 @@
1
1
  import { v4 as uuidv4 } from 'uuid';
2
+ /**
3
+ * Create `/SceneServer` response
4
+ * @param name - service name, custom user-friendly name of the service
5
+ * @param layer - I3S layer JSON
6
+ * @returns reponse JSON for `/SceneServer` route
7
+ */
2
8
  export const createSceneServer = (name, layer) => {
3
- return {
4
- serviceItemId: uuidv4().replace(/-/gi, ''),
5
- serviceName: name,
6
- name,
7
- currentVersion: '10.7',
8
- serviceVersion: '1.8',
9
- supportedBindings: ['REST'],
10
- layers: [layer]
11
- };
9
+ return {
10
+ serviceItemId: uuidv4().replace(/-/gi, ''),
11
+ serviceName: name,
12
+ name,
13
+ currentVersion: '10.7',
14
+ serviceVersion: '1.8',
15
+ supportedBindings: ['REST'],
16
+ layers: [layer]
17
+ };
12
18
  };
13
- //# sourceMappingURL=create-scene-server.js.map
@@ -1,40 +1,57 @@
1
1
  import debugFactory from 'debug';
2
2
  const debug = debugFactory('i3s-server:server');
3
+ /**
4
+ * Normalize a port into a number, string, or false.
5
+ * @param val - port value from env variables
6
+ * @returns - `number` for port, `string` for a named pipe, or `false` if the port number is not correct
7
+ */
3
8
  export function normalizePort(val) {
4
- const chkPort = parseInt(val, 10);
5
- if (Number.isNaN(chkPort)) {
6
- return val;
7
- }
8
- if (chkPort >= 0) {
9
- return chkPort;
10
- }
11
- return false;
12
- }
13
- export function formErrorHandler(optionalPort) {
14
- return function onError(error) {
15
- if (error.syscall !== 'listen') {
16
- throw error;
9
+ const chkPort = parseInt(val, 10);
10
+ if (Number.isNaN(chkPort)) {
11
+ // named pipe
12
+ return val;
17
13
  }
18
- const bind = typeof optionalPort === 'string' ? `Pipe ${optionalPort}` : `Port ${optionalPort}`;
19
- switch (error.code) {
20
- case 'EACCES':
21
- console.error(`${bind} requires elevated privileges`);
22
- process.exit(1);
23
- break;
24
- case 'EADDRINUSE':
25
- console.error(`${bind} is already in use`);
26
- process.exit(1);
27
- break;
28
- default:
29
- throw error;
14
+ if (chkPort >= 0) {
15
+ // port number
16
+ return chkPort;
30
17
  }
31
- };
18
+ return false;
19
+ }
20
+ /**
21
+ * Event listener creator for HTTP/HTTPS server "error" event.
22
+ * @param optionalPort - the port/named pipe the server is started on
23
+ * @return callback to handle server errors
24
+ */
25
+ export function formErrorHandler(optionalPort) {
26
+ return function onError(error) {
27
+ if (error.syscall !== 'listen') {
28
+ throw error;
29
+ }
30
+ const bind = typeof optionalPort === 'string' ? `Pipe ${optionalPort}` : `Port ${optionalPort}`;
31
+ // handle specific listen errors with friendly messages
32
+ switch (error.code) {
33
+ case 'EACCES':
34
+ console.error(`${bind} requires elevated privileges`); // eslint-disable-line no-console, no-undef
35
+ process.exit(1); // eslint-disable-line no-process-exit, no-undef
36
+ break;
37
+ case 'EADDRINUSE':
38
+ console.error(`${bind} is already in use`); // eslint-disable-line no-console, no-undef
39
+ process.exit(1); // eslint-disable-line no-process-exit, no-undef
40
+ break;
41
+ default:
42
+ throw error;
43
+ }
44
+ };
32
45
  }
46
+ /**
47
+ * Event listener for HTTP/HTTPS server "listening" event.
48
+ * @param optionalServer - http or https NodeJS server
49
+ * @return callback that is triggered when the server has started
50
+ */
33
51
  export function formListeningHandler(optionalServer) {
34
- return function onListening() {
35
- const addr = optionalServer.address();
36
- const bind = typeof addr === 'string' ? `pipe ${addr}` : `port ${addr === null || addr === void 0 ? void 0 : addr.port}`;
37
- debug(`Listening on ${bind}`);
38
- };
52
+ return function onListening() {
53
+ const addr = optionalServer.address();
54
+ const bind = typeof addr === 'string' ? `pipe ${addr}` : `port ${addr?.port}`;
55
+ debug(`Listening on ${bind}`);
56
+ };
39
57
  }
40
- //# sourceMappingURL=server-utils.js.map