@loaders.gl/tile-converter 4.0.0-alpha.18 → 4.0.0-alpha.19

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 (30) hide show
  1. package/bin/converter.js +1 -1
  2. package/dist/converter.min.js +73 -73
  3. package/dist/deps-installer/deps-installer.d.ts +3 -2
  4. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  5. package/dist/deps-installer/deps-installer.js +36 -10
  6. package/dist/dist.min.js +77 -67
  7. package/dist/es5/deps-installer/deps-installer.js +112 -38
  8. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  9. package/dist/es5/i3s-converter/helpers/geometry-converter.js +12 -9
  10. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  11. package/dist/es5/i3s-converter/i3s-converter.js +32 -87
  12. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  13. package/dist/es5/pgm-loader.js +1 -1
  14. package/dist/esm/deps-installer/deps-installer.js +37 -11
  15. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  16. package/dist/esm/i3s-converter/helpers/geometry-converter.js +10 -6
  17. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  18. package/dist/esm/i3s-converter/i3s-converter.js +11 -28
  19. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  20. package/dist/esm/pgm-loader.js +1 -1
  21. package/dist/i3s-converter/helpers/geometry-converter.d.ts +2 -4
  22. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  23. package/dist/i3s-converter/helpers/geometry-converter.js +18 -13
  24. package/dist/i3s-converter/i3s-converter.d.ts +0 -1
  25. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  26. package/dist/i3s-converter/i3s-converter.js +10 -22
  27. package/package.json +14 -14
  28. package/src/deps-installer/deps-installer.ts +55 -10
  29. package/src/i3s-converter/helpers/geometry-converter.ts +19 -14
  30. package/src/i3s-converter/i3s-converter.ts +12 -28
@@ -3,12 +3,13 @@ import { ZipLoader } from '@loaders.gl/zip';
3
3
  import { writeFile } from '../lib/utils/file-utils';
4
4
  import { join } from 'path';
5
5
  import { ChildProcessProxy } from '@loaders.gl/worker-utils';
6
- const VERSION = typeof "4.0.0-alpha.18" !== 'undefined' ? "4.0.0-alpha.18" : 'beta';
6
+ import { DRACO_EXTERNAL_LIBRARIES, DRACO_EXTERNAL_LIBRARY_URLS } from '@loaders.gl/draco';
7
+ import { BASIS_EXTERNAL_LIBRARIES } from '@loaders.gl/textures';
8
+ const VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : 'beta';
7
9
  const PGM_LINK = 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip';
8
10
  export class DepsInstaller {
9
11
  async install() {
10
12
  let path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
11
- let workersPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
12
13
  console.log('Installing "EGM2008-5" model...');
13
14
  const fileMap = await load(PGM_LINK, ZipLoader, {});
14
15
  let depsPath = process.cwd();
@@ -16,12 +17,27 @@ export class DepsInstaller {
16
17
  depsPath = join(depsPath, path);
17
18
  }
18
19
  await writeFile(depsPath, new Uint8Array(fileMap['geoids/egm2008-5.pgm']), 'egm2008-5.pgm');
19
- console.log('Installing "I3S Content Loader worker"');
20
- await this.installWorker('i3s', 'i3s-content-worker-node.js', workersPath);
21
- console.log('Installing "Draco Loader worker"');
22
- await this.installWorker('draco', 'draco-worker-node.js', workersPath);
23
- console.log('Installing "Basis Loader worker"');
24
- await this.installWorker('textures', 'basis-worker-node.js', workersPath);
20
+ console.log('Installing "I3S Content Loader" worker');
21
+ await this.installFromNpm('i3s', 'i3s-content-worker-node.js');
22
+ console.log('Installing "Draco Loader" worker');
23
+ await this.installFromNpm('draco', 'draco-worker-node.js');
24
+ console.log('Installing "Draco Writer" worker');
25
+ await this.installFromNpm('draco', 'draco-writer-worker-node.js');
26
+ console.log('Installing "Basis Loader" worker');
27
+ await this.installFromNpm('textures', 'basis-worker-node.js');
28
+ console.log('Installing "KTX2 Basis Writer" worker');
29
+ await this.installFromNpm('textures', 'ktx2-basis-writer-worker-node.js');
30
+ console.log('Installing "Draco decoder" library');
31
+ await this.installFromUrl(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER], 'draco', DRACO_EXTERNAL_LIBRARIES.DECODER);
32
+ await this.installFromUrl(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM], 'draco', DRACO_EXTERNAL_LIBRARIES.DECODER_WASM);
33
+ console.log('Installing "Draco encoder" library');
34
+ await this.installFromUrl(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.ENCODER], 'draco', DRACO_EXTERNAL_LIBRARIES.ENCODER);
35
+ console.log('Installing "Basis transcoder" library');
36
+ await this.installFromNpm('textures', BASIS_EXTERNAL_LIBRARIES.TRANSCODER, 'libs');
37
+ await this.installFromNpm('textures', BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, 'libs');
38
+ console.log('Installing "Basis encoder" library');
39
+ await this.installFromNpm('textures', BASIS_EXTERNAL_LIBRARIES.ENCODER, 'libs');
40
+ await this.installFromNpm('textures', BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, 'libs');
25
41
  console.log('Installing "join-images" npm package');
26
42
  const childProcess = new ChildProcessProxy();
27
43
  await childProcess.start({
@@ -32,13 +48,23 @@ export class DepsInstaller {
32
48
  });
33
49
  console.log('All dependencies were installed succesfully.');
34
50
  }
35
- async installWorker(module, name, extraPath) {
36
- const fileResponse = await fetchFile("https://unpkg.com/@loaders.gl/".concat(module, "@").concat(VERSION, "/dist/").concat(name));
51
+ async installFromNpm(module, name) {
52
+ let extraPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
53
+ const fileResponse = await fetchFile("https://unpkg.com/@loaders.gl/".concat(module, "@").concat(VERSION, "/dist/").concat(extraPath, "/").concat(name));
37
54
  const fileData = await fileResponse.arrayBuffer();
38
55
  if (!fileData) {
39
56
  return;
40
57
  }
41
- const path = join(process.cwd(), extraPath, 'modules', module, 'dist');
58
+ const path = join(process.cwd(), 'modules', module, 'dist', extraPath);
59
+ await writeFile(path, fileData, name);
60
+ }
61
+ async installFromUrl(url, module, name) {
62
+ const fileResponse = await fetchFile(url);
63
+ const fileData = await fileResponse.arrayBuffer();
64
+ if (!fileData) {
65
+ return;
66
+ }
67
+ const path = join(process.cwd(), 'modules', module, 'dist', 'libs');
42
68
  await writeFile(path, fileData, name);
43
69
  }
44
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deps-installer.js","names":["load","fetchFile","ZipLoader","writeFile","join","ChildProcessProxy","VERSION","PGM_LINK","DepsInstaller","install","path","arguments","length","undefined","workersPath","console","log","fileMap","depsPath","process","cwd","Uint8Array","installWorker","childProcess","start","command","platform","wait","ignoreStderr","module","name","extraPath","fileResponse","concat","fileData","arrayBuffer"],"sources":["../../../src/deps-installer/deps-installer.ts"],"sourcesContent":["import {load, fetchFile} from '@loaders.gl/core';\nimport {ZipLoader} from '@loaders.gl/zip';\nimport {writeFile} from '../lib/utils/file-utils';\nimport {join} from 'path';\nimport {ChildProcessProxy} from '@loaders.gl/worker-utils';\n\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n\nconst PGM_LINK = 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip';\n\n/**\n * Install external dependencies for converter:\n * * PGM file (implemented);\n * * Draco library (not implemented);\n * * 7z archiver (not implemented);\n */\nexport class DepsInstaller {\n /**\n * Run instalation\n * @param path destination folder\n * @param workersPath destination folder for workers.\n * This path is '' by default and is not used by tile-converter.\n * It is used in tests to prevent rewriting actual workers during tests running\n */\n async install(path: string = '', workersPath: string = ''): Promise<void> {\n console.log('Installing \"EGM2008-5\" model...'); // eslint-disable-line no-console\n const fileMap = await load(PGM_LINK, ZipLoader, {});\n\n let depsPath = process.cwd();\n if (path) {\n depsPath = join(depsPath, path);\n }\n\n await writeFile(depsPath, new Uint8Array(fileMap['geoids/egm2008-5.pgm']), 'egm2008-5.pgm');\n\n console.log('Installing \"I3S Content Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('i3s', 'i3s-content-worker-node.js', workersPath);\n\n console.log('Installing \"Draco Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('draco', 'draco-worker-node.js', workersPath);\n\n console.log('Installing \"Basis Loader worker\"'); // eslint-disable-line no-console\n await this.installWorker('textures', 'basis-worker-node.js', workersPath);\n\n console.log('Installing \"join-images\" npm package');\n const childProcess = new ChildProcessProxy();\n await childProcess.start({\n command: process.platform === 'win32' ? 'npm.cmd' : 'npm',\n // `npm install sharp join-images` works unstable. It fails because installed `sharp` version\n // may be different from the version required by `join-images`. Pointing to specific versions\n // resolve this issue\n arguments: ['install', 'sharp@0.30.4', 'join-images@1.1.3'],\n wait: 0,\n ignoreStderr: true\n });\n\n console.log('All dependencies were installed succesfully.'); // eslint-disable-line no-console\n }\n\n private async installWorker(module: string, name: string, extraPath: string) {\n const fileResponse = await fetchFile(\n `https://unpkg.com/@loaders.gl/${module}@${VERSION}/dist/${name}`\n );\n const fileData = await fileResponse.arrayBuffer();\n if (!fileData) {\n return;\n }\n const path = join(process.cwd(), extraPath, 'modules', module, 'dist');\n await writeFile(path, fileData, name);\n }\n}\n"],"mappings":"AAAA,SAAQA,IAAI,EAAEC,SAAS,QAAO,kBAAkB;AAChD,SAAQC,SAAS,QAAO,iBAAiB;AACzC,SAAQC,SAAS,QAAO,yBAAyB;AACjD,SAAQC,IAAI,QAAO,MAAM;AACzB,SAAQC,iBAAiB,QAAO,0BAA0B;AAG1D,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,MAAM;AAEzE,MAAMC,QAAQ,GAAG,+EAA+E;AAQhG,OAAO,MAAMC,aAAa,CAAC;EAQzB,MAAMC,OAAOA,CAAA,EAA6D;IAAA,IAA5DC,IAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAAA,IAAEG,WAAmB,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IACvDI,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;IAC9C,MAAMC,OAAO,GAAG,MAAMjB,IAAI,CAACO,QAAQ,EAAEL,SAAS,EAAE,CAAC,CAAC,CAAC;IAEnD,IAAIgB,QAAQ,GAAGC,OAAO,CAACC,GAAG,CAAC,CAAC;IAC5B,IAAIV,IAAI,EAAE;MACRQ,QAAQ,GAAGd,IAAI,CAACc,QAAQ,EAAER,IAAI,CAAC;IACjC;IAEA,MAAMP,SAAS,CAACe,QAAQ,EAAE,IAAIG,UAAU,CAACJ,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,eAAe,CAAC;IAE3FF,OAAO,CAACC,GAAG,CAAC,wCAAwC,CAAC;IACrD,MAAM,IAAI,CAACM,aAAa,CAAC,KAAK,EAAE,4BAA4B,EAAER,WAAW,CAAC;IAE1EC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;IAC/C,MAAM,IAAI,CAACM,aAAa,CAAC,OAAO,EAAE,sBAAsB,EAAER,WAAW,CAAC;IAEtEC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;IAC/C,MAAM,IAAI,CAACM,aAAa,CAAC,UAAU,EAAE,sBAAsB,EAAER,WAAW,CAAC;IAEzEC,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;IACnD,MAAMO,YAAY,GAAG,IAAIlB,iBAAiB,CAAC,CAAC;IAC5C,MAAMkB,YAAY,CAACC,KAAK,CAAC;MACvBC,OAAO,EAAEN,OAAO,CAACO,QAAQ,KAAK,OAAO,GAAG,SAAS,GAAG,KAAK;MAIzDf,SAAS,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,mBAAmB,CAAC;MAC3DgB,IAAI,EAAE,CAAC;MACPC,YAAY,EAAE;IAChB,CAAC,CAAC;IAEFb,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;EAC7D;EAEA,MAAcM,aAAaA,CAACO,MAAc,EAAEC,IAAY,EAAEC,SAAiB,EAAE;IAC3E,MAAMC,YAAY,GAAG,MAAM/B,SAAS,kCAAAgC,MAAA,CACDJ,MAAM,OAAAI,MAAA,CAAI3B,OAAO,YAAA2B,MAAA,CAASH,IAAI,CACjE,CAAC;IACD,MAAMI,QAAQ,GAAG,MAAMF,YAAY,CAACG,WAAW,CAAC,CAAC;IACjD,IAAI,CAACD,QAAQ,EAAE;MACb;IACF;IACA,MAAMxB,IAAI,GAAGN,IAAI,CAACe,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEW,SAAS,EAAE,SAAS,EAAEF,MAAM,EAAE,MAAM,CAAC;IACtE,MAAM1B,SAAS,CAACO,IAAI,EAAEwB,QAAQ,EAAEJ,IAAI,CAAC;EACvC;AACF"}
1
+ {"version":3,"file":"deps-installer.js","names":["load","fetchFile","ZipLoader","writeFile","join","ChildProcessProxy","DRACO_EXTERNAL_LIBRARIES","DRACO_EXTERNAL_LIBRARY_URLS","BASIS_EXTERNAL_LIBRARIES","VERSION","PGM_LINK","DepsInstaller","install","path","arguments","length","undefined","console","log","fileMap","depsPath","process","cwd","Uint8Array","installFromNpm","installFromUrl","DECODER","DECODER_WASM","ENCODER","TRANSCODER","TRANSCODER_WASM","ENCODER_WASM","childProcess","start","command","platform","wait","ignoreStderr","module","name","extraPath","fileResponse","concat","fileData","arrayBuffer","url"],"sources":["../../../src/deps-installer/deps-installer.ts"],"sourcesContent":["import {load, fetchFile} from '@loaders.gl/core';\nimport {ZipLoader} from '@loaders.gl/zip';\nimport {writeFile} from '../lib/utils/file-utils';\nimport {join} from 'path';\nimport {ChildProcessProxy} from '@loaders.gl/worker-utils';\nimport {DRACO_EXTERNAL_LIBRARIES, DRACO_EXTERNAL_LIBRARY_URLS} from '@loaders.gl/draco';\nimport {BASIS_EXTERNAL_LIBRARIES} from '@loaders.gl/textures';\n\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n\nconst PGM_LINK = 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip';\n\n/**\n * Install external dependencies for converter:\n * * PGM file (implemented);\n * * Draco library (not implemented);\n * * 7z archiver (not implemented);\n */\nexport class DepsInstaller {\n /**\n * Run instalation\n * @param path destination folder\n * @param workersPath destination folder for workers.\n * This path is '' by default and is not used by tile-converter.\n * It is used in tests to prevent rewriting actual workers during tests running\n */\n async install(path: string = ''): Promise<void> {\n console.log('Installing \"EGM2008-5\" model...'); // eslint-disable-line no-console\n const fileMap = await load(PGM_LINK, ZipLoader, {});\n\n let depsPath = process.cwd();\n if (path) {\n depsPath = join(depsPath, path);\n }\n\n await writeFile(depsPath, new Uint8Array(fileMap['geoids/egm2008-5.pgm']), 'egm2008-5.pgm');\n\n console.log('Installing \"I3S Content Loader\" worker'); // eslint-disable-line no-console\n await this.installFromNpm('i3s', 'i3s-content-worker-node.js');\n\n console.log('Installing \"Draco Loader\" worker'); // eslint-disable-line no-console\n await this.installFromNpm('draco', 'draco-worker-node.js');\n\n console.log('Installing \"Draco Writer\" worker'); // eslint-disable-line no-console\n await this.installFromNpm('draco', 'draco-writer-worker-node.js');\n\n console.log('Installing \"Basis Loader\" worker'); // eslint-disable-line no-console\n await this.installFromNpm('textures', 'basis-worker-node.js');\n\n console.log('Installing \"KTX2 Basis Writer\" worker'); // eslint-disable-line no-console\n await this.installFromNpm('textures', 'ktx2-basis-writer-worker-node.js');\n\n console.log('Installing \"Draco decoder\" library'); // eslint-disable-line no-console\n await this.installFromUrl(\n DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER],\n 'draco',\n DRACO_EXTERNAL_LIBRARIES.DECODER\n );\n await this.installFromUrl(\n DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM],\n 'draco',\n DRACO_EXTERNAL_LIBRARIES.DECODER_WASM\n );\n\n console.log('Installing \"Draco encoder\" library'); // eslint-disable-line no-console\n await this.installFromUrl(\n DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.ENCODER],\n 'draco',\n DRACO_EXTERNAL_LIBRARIES.ENCODER\n );\n\n console.log('Installing \"Basis transcoder\" library'); // eslint-disable-line no-console\n await this.installFromNpm('textures', BASIS_EXTERNAL_LIBRARIES.TRANSCODER, 'libs');\n await this.installFromNpm('textures', BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, 'libs');\n\n console.log('Installing \"Basis encoder\" library'); // eslint-disable-line no-console\n await this.installFromNpm('textures', BASIS_EXTERNAL_LIBRARIES.ENCODER, 'libs');\n await this.installFromNpm('textures', BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, 'libs');\n\n console.log('Installing \"join-images\" npm package');\n const childProcess = new ChildProcessProxy();\n await childProcess.start({\n command: process.platform === 'win32' ? 'npm.cmd' : 'npm',\n // `npm install sharp join-images` works unstable. It fails because installed `sharp` version\n // may be different from the version required by `join-images`. Pointing to specific versions\n // resolve this issue\n arguments: ['install', 'sharp@0.30.4', 'join-images@1.1.3'],\n wait: 0,\n ignoreStderr: true\n });\n\n console.log('All dependencies were installed succesfully.'); // eslint-disable-line no-console\n }\n\n private async installFromNpm(module: string, name: string, extraPath: string = '') {\n const fileResponse = await fetchFile(\n `https://unpkg.com/@loaders.gl/${module}@${VERSION}/dist/${extraPath}/${name}`\n );\n const fileData = await fileResponse.arrayBuffer();\n if (!fileData) {\n return;\n }\n const path = join(process.cwd(), 'modules', module, 'dist', extraPath);\n await writeFile(path, fileData, name);\n }\n\n private async installFromUrl(url: string, module: string, name: string) {\n const fileResponse = await fetchFile(url);\n const fileData = await fileResponse.arrayBuffer();\n if (!fileData) {\n return;\n }\n const path = join(process.cwd(), 'modules', module, 'dist', 'libs');\n await writeFile(path, fileData, name);\n }\n}\n"],"mappings":"AAAA,SAAQA,IAAI,EAAEC,SAAS,QAAO,kBAAkB;AAChD,SAAQC,SAAS,QAAO,iBAAiB;AACzC,SAAQC,SAAS,QAAO,yBAAyB;AACjD,SAAQC,IAAI,QAAO,MAAM;AACzB,SAAQC,iBAAiB,QAAO,0BAA0B;AAC1D,SAAQC,wBAAwB,EAAEC,2BAA2B,QAAO,mBAAmB;AACvF,SAAQC,wBAAwB,QAAO,sBAAsB;AAG7D,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,MAAM;AAEzE,MAAMC,QAAQ,GAAG,+EAA+E;AAQhG,OAAO,MAAMC,aAAa,CAAC;EAQzB,MAAMC,OAAOA,CAAA,EAAmC;IAAA,IAAlCC,IAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAC7BG,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;IAC9C,MAAMC,OAAO,GAAG,MAAMnB,IAAI,CAACU,QAAQ,EAAER,SAAS,EAAE,CAAC,CAAC,CAAC;IAEnD,IAAIkB,QAAQ,GAAGC,OAAO,CAACC,GAAG,CAAC,CAAC;IAC5B,IAAIT,IAAI,EAAE;MACRO,QAAQ,GAAGhB,IAAI,CAACgB,QAAQ,EAAEP,IAAI,CAAC;IACjC;IAEA,MAAMV,SAAS,CAACiB,QAAQ,EAAE,IAAIG,UAAU,CAACJ,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,eAAe,CAAC;IAE3FF,OAAO,CAACC,GAAG,CAAC,wCAAwC,CAAC;IACrD,MAAM,IAAI,CAACM,cAAc,CAAC,KAAK,EAAE,4BAA4B,CAAC;IAE9DP,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;IAC/C,MAAM,IAAI,CAACM,cAAc,CAAC,OAAO,EAAE,sBAAsB,CAAC;IAE1DP,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;IAC/C,MAAM,IAAI,CAACM,cAAc,CAAC,OAAO,EAAE,6BAA6B,CAAC;IAEjEP,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;IAC/C,MAAM,IAAI,CAACM,cAAc,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAE7DP,OAAO,CAACC,GAAG,CAAC,uCAAuC,CAAC;IACpD,MAAM,IAAI,CAACM,cAAc,CAAC,UAAU,EAAE,kCAAkC,CAAC;IAEzEP,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;IACjD,MAAM,IAAI,CAACO,cAAc,CACvBlB,2BAA2B,CAACD,wBAAwB,CAACoB,OAAO,CAAC,EAC7D,OAAO,EACPpB,wBAAwB,CAACoB,OAC3B,CAAC;IACD,MAAM,IAAI,CAACD,cAAc,CACvBlB,2BAA2B,CAACD,wBAAwB,CAACqB,YAAY,CAAC,EAClE,OAAO,EACPrB,wBAAwB,CAACqB,YAC3B,CAAC;IAEDV,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;IACjD,MAAM,IAAI,CAACO,cAAc,CACvBlB,2BAA2B,CAACD,wBAAwB,CAACsB,OAAO,CAAC,EAC7D,OAAO,EACPtB,wBAAwB,CAACsB,OAC3B,CAAC;IAEDX,OAAO,CAACC,GAAG,CAAC,uCAAuC,CAAC;IACpD,MAAM,IAAI,CAACM,cAAc,CAAC,UAAU,EAAEhB,wBAAwB,CAACqB,UAAU,EAAE,MAAM,CAAC;IAClF,MAAM,IAAI,CAACL,cAAc,CAAC,UAAU,EAAEhB,wBAAwB,CAACsB,eAAe,EAAE,MAAM,CAAC;IAEvFb,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;IACjD,MAAM,IAAI,CAACM,cAAc,CAAC,UAAU,EAAEhB,wBAAwB,CAACoB,OAAO,EAAE,MAAM,CAAC;IAC/E,MAAM,IAAI,CAACJ,cAAc,CAAC,UAAU,EAAEhB,wBAAwB,CAACuB,YAAY,EAAE,MAAM,CAAC;IAEpFd,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;IACnD,MAAMc,YAAY,GAAG,IAAI3B,iBAAiB,CAAC,CAAC;IAC5C,MAAM2B,YAAY,CAACC,KAAK,CAAC;MACvBC,OAAO,EAAEb,OAAO,CAACc,QAAQ,KAAK,OAAO,GAAG,SAAS,GAAG,KAAK;MAIzDrB,SAAS,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,mBAAmB,CAAC;MAC3DsB,IAAI,EAAE,CAAC;MACPC,YAAY,EAAE;IAChB,CAAC,CAAC;IAEFpB,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;EAC7D;EAEA,MAAcM,cAAcA,CAACc,MAAc,EAAEC,IAAY,EAA0B;IAAA,IAAxBC,SAAiB,GAAA1B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAC/E,MAAM2B,YAAY,GAAG,MAAMxC,SAAS,kCAAAyC,MAAA,CACDJ,MAAM,OAAAI,MAAA,CAAIjC,OAAO,YAAAiC,MAAA,CAASF,SAAS,OAAAE,MAAA,CAAIH,IAAI,CAC9E,CAAC;IACD,MAAMI,QAAQ,GAAG,MAAMF,YAAY,CAACG,WAAW,CAAC,CAAC;IACjD,IAAI,CAACD,QAAQ,EAAE;MACb;IACF;IACA,MAAM9B,IAAI,GAAGT,IAAI,CAACiB,OAAO,CAACC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAEgB,MAAM,EAAE,MAAM,EAAEE,SAAS,CAAC;IACtE,MAAMrC,SAAS,CAACU,IAAI,EAAE8B,QAAQ,EAAEJ,IAAI,CAAC;EACvC;EAEA,MAAcd,cAAcA,CAACoB,GAAW,EAAEP,MAAc,EAAEC,IAAY,EAAE;IACtE,MAAME,YAAY,GAAG,MAAMxC,SAAS,CAAC4C,GAAG,CAAC;IACzC,MAAMF,QAAQ,GAAG,MAAMF,YAAY,CAACG,WAAW,CAAC,CAAC;IACjD,IAAI,CAACD,QAAQ,EAAE;MACb;IACF;IACA,MAAM9B,IAAI,GAAGT,IAAI,CAACiB,OAAO,CAACC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAEgB,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IACnE,MAAMnC,SAAS,CAACU,IAAI,EAAE8B,QAAQ,EAAEJ,IAAI,CAAC;EACvC;AACF"}
@@ -25,7 +25,7 @@ const BATCHED_ID_POSSIBLE_ATTRIBUTE_NAMES = ['CUSTOM_ATTRIBUTE_2', '_BATCHID', '
25
25
  const EXT_FEATURE_METADATA = 'EXT_feature_metadata';
26
26
  const EXT_MESH_FEATURES = 'EXT_mesh_features';
27
27
  let scratchVector = new Vector3();
28
- export default async function convertB3dmToI3sGeometry(tileContent, tileTransform, tileBoundingVolume, addNodeToNodePage, propertyTable, featuresHashArray, attributeStorageInfo, draco, generateBoundingVolumes, shouldMergeMaterials, geoidHeightModel, workerSource) {
28
+ export default async function convertB3dmToI3sGeometry(tileContent, tileTransform, tileBoundingVolume, addNodeToNodePage, propertyTable, featuresHashArray, attributeStorageInfo, draco, generateBoundingVolumes, shouldMergeMaterials, geoidHeightModel, libraries) {
29
29
  var _tileContent$gltf;
30
30
  const useCartesianPositions = generateBoundingVolumes;
31
31
  const materialAndTextureList = await convertMaterials((_tileContent$gltf = tileContent.gltf) === null || _tileContent$gltf === void 0 ? void 0 : _tileContent$gltf.materials, shouldMergeMaterials);
@@ -59,7 +59,7 @@ export default async function convertB3dmToI3sGeometry(tileContent, tileTransfor
59
59
  propertyTable,
60
60
  attributeStorageInfo,
61
61
  draco,
62
- workerSource
62
+ libraries
63
63
  }));
64
64
  }
65
65
  if (!result.length) {
@@ -93,7 +93,7 @@ async function _makeNodeResources(_ref) {
93
93
  propertyTable,
94
94
  attributeStorageInfo,
95
95
  draco,
96
- workerSource
96
+ libraries
97
97
  } = _ref;
98
98
  const boundingVolumes = convertedAttributes.boundingVolumes;
99
99
  const vertexCount = convertedAttributes.positions.length / VALUES_PER_VERTEX;
@@ -122,7 +122,7 @@ async function _makeNodeResources(_ref) {
122
122
  uvRegions,
123
123
  featureIds,
124
124
  faceRange
125
- }, workerSource.draco) : null;
125
+ }, libraries) : null;
126
126
  let attributes = [];
127
127
  if (attributeStorageInfo && propertyTable) {
128
128
  attributes = convertPropertyTableToAttributeBuffers(featureIds, propertyTable, attributeStorageInfo);
@@ -762,7 +762,7 @@ function generateBigUint64Array(featureIds) {
762
762
  }
763
763
  return typedFeatureIds;
764
764
  }
765
- async function generateCompressedGeometry(vertexCount, convertedAttributes, attributes, dracoWorkerSoure) {
765
+ async function generateCompressedGeometry(vertexCount, convertedAttributes, attributes, libraries) {
766
766
  const {
767
767
  positions,
768
768
  normals,
@@ -804,12 +804,16 @@ async function generateCompressedGeometry(vertexCount, convertedAttributes, attr
804
804
  indices
805
805
  }, DracoWriterWorker, {
806
806
  ...DracoWriterWorker.options,
807
- source: dracoWorkerSoure,
808
807
  reuseWorkers: true,
809
808
  _nodeWorkers: true,
809
+ modules: libraries,
810
+ useLocalLibraries: true,
810
811
  draco: {
811
812
  method: 'MESH_SEQUENTIAL_ENCODING',
812
813
  attributesMetadata
814
+ },
815
+ ['draco-writer']: {
816
+ workerUrl: './modules/draco/dist/draco-writer-worker-node.js'
813
817
  }
814
818
  });
815
819
  }