@loaders.gl/draco 4.0.0-alpha.5 → 4.0.0-alpha.6

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 (135) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/dist.min.js +3 -3
  3. package/dist/dist.min.js.map +3 -3
  4. package/dist/draco-loader.d.ts +4 -14
  5. package/dist/draco-loader.d.ts.map +1 -1
  6. package/dist/draco-loader.js +28 -21
  7. package/dist/draco-nodejs-worker.js +191 -0
  8. package/dist/draco-nodejs-worker.js.map +7 -0
  9. package/dist/draco-worker.js +1 -1
  10. package/dist/draco-worker.js.map +3 -3
  11. package/dist/draco-writer-nodejs-worker.js +193 -0
  12. package/dist/draco-writer-nodejs-worker.js.map +7 -0
  13. package/dist/draco-writer-nodejs.d.ts +3 -0
  14. package/dist/draco-writer-nodejs.d.ts.map +1 -0
  15. package/dist/draco-writer-nodejs.js +7 -0
  16. package/dist/draco-writer-worker.js +4 -0
  17. package/dist/draco-writer-worker.js.map +7 -0
  18. package/dist/draco-writer.d.ts +12 -3
  19. package/dist/draco-writer.d.ts.map +1 -1
  20. package/dist/draco-writer.js +40 -28
  21. package/dist/draco3d/draco3d-types.d.ts +1 -1
  22. package/dist/draco3d/draco3d-types.d.ts.map +1 -1
  23. package/dist/draco3d/draco3d-types.js +47 -44
  24. package/dist/es5/bundle.js +6 -0
  25. package/dist/es5/bundle.js.map +1 -0
  26. package/dist/es5/draco-loader.js +34 -0
  27. package/dist/es5/draco-loader.js.map +1 -0
  28. package/dist/es5/draco-writer-nodejs.js +14 -0
  29. package/dist/es5/draco-writer-nodejs.js.map +1 -0
  30. package/dist/es5/draco-writer.js +63 -0
  31. package/dist/es5/draco-writer.js.map +1 -0
  32. package/dist/es5/draco3d/draco3d-types.js +51 -0
  33. package/dist/es5/draco3d/draco3d-types.js.map +1 -0
  34. package/dist/es5/index.js +79 -0
  35. package/dist/es5/index.js.map +1 -0
  36. package/dist/es5/lib/draco-builder.js +324 -0
  37. package/dist/es5/lib/draco-builder.js.map +1 -0
  38. package/dist/es5/lib/draco-module-loader.js +183 -0
  39. package/dist/es5/lib/draco-module-loader.js.map +1 -0
  40. package/dist/es5/lib/draco-parser.js +435 -0
  41. package/dist/es5/lib/draco-parser.js.map +1 -0
  42. package/dist/es5/lib/draco-types.js +2 -0
  43. package/dist/es5/lib/draco-types.js.map +1 -0
  44. package/dist/es5/lib/utils/get-draco-schema.js +47 -0
  45. package/dist/es5/lib/utils/get-draco-schema.js.map +1 -0
  46. package/dist/es5/lib/utils/version.js +9 -0
  47. package/dist/es5/lib/utils/version.js.map +1 -0
  48. package/dist/es5/workers/draco-nodejs-worker.js +7 -0
  49. package/dist/es5/workers/draco-nodejs-worker.js.map +1 -0
  50. package/dist/es5/workers/draco-worker.js +6 -0
  51. package/dist/es5/workers/draco-worker.js.map +1 -0
  52. package/dist/es5/workers/draco-writer-nodejs-worker.js +53 -0
  53. package/dist/es5/workers/draco-writer-nodejs-worker.js.map +1 -0
  54. package/dist/es5/workers/draco-writer-worker.js +53 -0
  55. package/dist/es5/workers/draco-writer-worker.js.map +1 -0
  56. package/dist/esm/bundle.js +4 -0
  57. package/dist/esm/bundle.js.map +1 -0
  58. package/dist/esm/draco-loader.js +24 -0
  59. package/dist/esm/draco-loader.js.map +1 -0
  60. package/dist/esm/draco-writer-nodejs.js +3 -0
  61. package/dist/esm/draco-writer-nodejs.js.map +1 -0
  62. package/dist/esm/draco-writer.js +31 -0
  63. package/dist/esm/draco-writer.js.map +1 -0
  64. package/dist/esm/draco3d/draco3d-types.js +41 -0
  65. package/dist/esm/draco3d/draco3d-types.js.map +1 -0
  66. package/dist/esm/index.js +35 -0
  67. package/dist/esm/index.js.map +1 -0
  68. package/dist/esm/lib/draco-builder.js +268 -0
  69. package/dist/esm/lib/draco-builder.js.map +1 -0
  70. package/dist/esm/lib/draco-module-loader.js +76 -0
  71. package/dist/esm/lib/draco-module-loader.js.map +1 -0
  72. package/dist/esm/lib/draco-parser.js +363 -0
  73. package/dist/esm/lib/draco-parser.js.map +1 -0
  74. package/dist/esm/lib/draco-types.js +2 -0
  75. package/dist/esm/lib/draco-types.js.map +1 -0
  76. package/dist/esm/lib/utils/get-draco-schema.js +41 -0
  77. package/dist/esm/lib/utils/get-draco-schema.js.map +1 -0
  78. package/dist/esm/lib/utils/version.js +2 -0
  79. package/dist/esm/lib/utils/version.js.map +1 -0
  80. package/dist/esm/workers/draco-nodejs-worker.js +5 -0
  81. package/dist/esm/workers/draco-nodejs-worker.js.map +1 -0
  82. package/dist/esm/workers/draco-worker.js +4 -0
  83. package/dist/esm/workers/draco-worker.js.map +1 -0
  84. package/dist/esm/workers/draco-writer-nodejs-worker.js +30 -0
  85. package/dist/esm/workers/draco-writer-nodejs-worker.js.map +1 -0
  86. package/dist/esm/workers/draco-writer-worker.js +30 -0
  87. package/dist/esm/workers/draco-writer-worker.js.map +1 -0
  88. package/dist/index.d.ts +14 -13
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +46 -21
  91. package/dist/lib/draco-builder.d.ts +1 -1
  92. package/dist/lib/draco-builder.d.ts.map +1 -1
  93. package/dist/lib/draco-builder.js +313 -329
  94. package/dist/lib/draco-module-loader.d.ts.map +1 -1
  95. package/dist/lib/draco-module-loader.js +81 -73
  96. package/dist/lib/draco-parser.d.ts +1 -1
  97. package/dist/lib/draco-parser.d.ts.map +1 -1
  98. package/dist/lib/draco-parser.js +440 -416
  99. package/dist/lib/draco-types.d.ts +6 -6
  100. package/dist/lib/draco-types.d.ts.map +1 -1
  101. package/dist/lib/draco-types.js +3 -2
  102. package/dist/lib/utils/get-draco-schema.js +35 -41
  103. package/dist/lib/utils/version.js +7 -2
  104. package/dist/workers/draco-nodejs-worker.d.ts +2 -0
  105. package/dist/workers/draco-nodejs-worker.d.ts.map +1 -0
  106. package/dist/workers/draco-nodejs-worker.js +6 -0
  107. package/dist/workers/draco-worker.js +5 -4
  108. package/dist/workers/draco-writer-nodejs-worker.d.ts +2 -0
  109. package/dist/workers/draco-writer-nodejs-worker.d.ts.map +1 -0
  110. package/dist/workers/draco-writer-nodejs-worker.js +26 -0
  111. package/dist/workers/draco-writer-worker.d.ts +2 -0
  112. package/dist/workers/draco-writer-worker.d.ts.map +1 -0
  113. package/dist/workers/draco-writer-worker.js +26 -0
  114. package/package.json +16 -9
  115. package/src/draco-loader.ts +8 -4
  116. package/src/draco-writer-nodejs.ts +4 -0
  117. package/src/draco-writer.ts +17 -12
  118. package/src/index.ts +21 -1
  119. package/src/lib/draco-module-loader.ts +9 -5
  120. package/src/lib/utils/get-draco-schema.ts +7 -6
  121. package/src/workers/draco-nodejs-worker.ts +5 -0
  122. package/src/workers/draco-writer-nodejs-worker.ts +25 -0
  123. package/src/workers/draco-writer-worker.ts +25 -0
  124. package/dist/bundle.js.map +0 -1
  125. package/dist/draco-loader.js.map +0 -1
  126. package/dist/draco-writer.js.map +0 -1
  127. package/dist/draco3d/draco3d-types.js.map +0 -1
  128. package/dist/index.js.map +0 -1
  129. package/dist/lib/draco-builder.js.map +0 -1
  130. package/dist/lib/draco-module-loader.js.map +0 -1
  131. package/dist/lib/draco-parser.js.map +0 -1
  132. package/dist/lib/draco-types.js.map +0 -1
  133. package/dist/lib/utils/get-draco-schema.js.map +0 -1
  134. package/dist/lib/utils/version.js.map +0 -1
  135. package/dist/workers/draco-worker.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"draco-module-loader.d.ts","sourceRoot":"","sources":["../../src/lib/draco-module-loader.ts"],"names":[],"mappings":"AAgBA,wBAAsB,sBAAsB,CAAC,OAAO,KAAA,gBAenD;AAED,wBAAsB,sBAAsB,CAAC,OAAO,KAAA,gBAenD"}
1
+ {"version":3,"file":"draco-module-loader.d.ts","sourceRoot":"","sources":["../../src/lib/draco-module-loader.ts"],"names":[],"mappings":"AAoBA,wBAAsB,sBAAsB,CAAC,OAAO,KAAA,gBAenD;AAED,wBAAsB,sBAAsB,CAAC,OAAO,KAAA,gBAenD"}
@@ -1,85 +1,93 @@
1
- import { loadLibrary } from '@loaders.gl/worker-utils';
2
- const DRACO_VERSION = '1.4.1';
3
- const DRACO_JS_DECODER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_decoder.js");
4
- const DRACO_WASM_WRAPPER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_wasm_wrapper.js");
5
- const DRACO_WASM_DECODER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_decoder.wasm");
6
- const DRACO_ENCODER_URL = "https://raw.githubusercontent.com/google/draco/".concat(DRACO_VERSION, "/javascript/draco_encoder.js");
1
+ "use strict";
2
+ // Dynamic DRACO module loading inspired by THREE.DRACOLoader
3
+ // https://github.com/mrdoob/three.js/blob/398c4f39ebdb8b23eefd4a7a5ec49ec0c96c7462/examples/jsm/loaders/DRACOLoader.js
4
+ // by Don McCurdy / https://www.donmccurdy.com / MIT license
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.loadDracoEncoderModule = exports.loadDracoDecoderModule = void 0;
7
+ const worker_utils_1 = require("@loaders.gl/worker-utils");
8
+ const DRACO_DECODER_VERSION = '1.5.5';
9
+ const DRACO_ENCODER_VERSION = '1.4.1';
10
+ const STATIC_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_DECODER_VERSION}`;
11
+ const DRACO_JS_DECODER_URL = `${STATIC_DECODER_URL}/draco_decoder.js`;
12
+ const DRACO_WASM_WRAPPER_URL = `${STATIC_DECODER_URL}/draco_wasm_wrapper.js`;
13
+ const DRACO_WASM_DECODER_URL = `${STATIC_DECODER_URL}/draco_decoder.wasm`;
14
+ const DRACO_ENCODER_URL = `https://raw.githubusercontent.com/google/draco/${DRACO_ENCODER_VERSION}/javascript/draco_encoder.js`;
7
15
  let loadDecoderPromise;
8
16
  let loadEncoderPromise;
9
- export async function loadDracoDecoderModule(options) {
10
- const modules = options.modules || {};
11
-
12
- if (modules.draco3d) {
13
- loadDecoderPromise = loadDecoderPromise || modules.draco3d.createDecoderModule({}).then(draco => {
14
- return {
15
- draco
16
- };
17
- });
18
- } else {
19
- loadDecoderPromise = loadDecoderPromise || loadDracoDecoder(options);
20
- }
21
-
22
- return await loadDecoderPromise;
17
+ async function loadDracoDecoderModule(options) {
18
+ const modules = options.modules || {};
19
+ // Check if a bundled draco3d library has been supplied by application
20
+ if (modules.draco3d) {
21
+ loadDecoderPromise =
22
+ loadDecoderPromise ||
23
+ modules.draco3d.createDecoderModule({}).then((draco) => {
24
+ return { draco };
25
+ });
26
+ }
27
+ else {
28
+ // If not, dynamically load the WASM script from our CDN
29
+ loadDecoderPromise = loadDecoderPromise || loadDracoDecoder(options);
30
+ }
31
+ return await loadDecoderPromise;
23
32
  }
24
- export async function loadDracoEncoderModule(options) {
25
- const modules = options.modules || {};
26
-
27
- if (modules.draco3d) {
28
- loadEncoderPromise = loadEncoderPromise || modules.draco3d.createEncoderModule({}).then(draco => {
29
- return {
30
- draco
31
- };
32
- });
33
- } else {
34
- loadEncoderPromise = loadEncoderPromise || loadDracoEncoder(options);
35
- }
36
-
37
- return await loadEncoderPromise;
33
+ exports.loadDracoDecoderModule = loadDracoDecoderModule;
34
+ async function loadDracoEncoderModule(options) {
35
+ const modules = options.modules || {};
36
+ // Check if a bundled draco3d library has been supplied by application
37
+ if (modules.draco3d) {
38
+ loadEncoderPromise =
39
+ loadEncoderPromise ||
40
+ modules.draco3d.createEncoderModule({}).then((draco) => {
41
+ return { draco };
42
+ });
43
+ }
44
+ else {
45
+ // If not, dynamically load the WASM script from our CDN
46
+ loadEncoderPromise = loadEncoderPromise || loadDracoEncoder(options);
47
+ }
48
+ return await loadEncoderPromise;
38
49
  }
39
-
50
+ exports.loadDracoEncoderModule = loadDracoEncoderModule;
51
+ // DRACO DECODER LOADING
40
52
  async function loadDracoDecoder(options) {
41
- let DracoDecoderModule;
42
- let wasmBinary;
43
-
44
- switch (options.draco && options.draco.decoderType) {
45
- case 'js':
46
- DracoDecoderModule = await loadLibrary(DRACO_JS_DECODER_URL, 'draco', options);
47
- break;
48
-
49
- case 'wasm':
50
- default:
51
- [DracoDecoderModule, wasmBinary] = await Promise.all([await loadLibrary(DRACO_WASM_WRAPPER_URL, 'draco', options), await loadLibrary(DRACO_WASM_DECODER_URL, 'draco', options)]);
52
- }
53
-
54
- DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
55
- return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);
53
+ let DracoDecoderModule;
54
+ let wasmBinary;
55
+ switch (options.draco && options.draco.decoderType) {
56
+ case 'js':
57
+ DracoDecoderModule = await (0, worker_utils_1.loadLibrary)(DRACO_JS_DECODER_URL, 'draco', options);
58
+ break;
59
+ case 'wasm':
60
+ default:
61
+ [DracoDecoderModule, wasmBinary] = await Promise.all([
62
+ await (0, worker_utils_1.loadLibrary)(DRACO_WASM_WRAPPER_URL, 'draco', options),
63
+ await (0, worker_utils_1.loadLibrary)(DRACO_WASM_DECODER_URL, 'draco', options)
64
+ ]);
65
+ }
66
+ // Depends on how import happened...
67
+ // @ts-ignore
68
+ DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
69
+ return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);
56
70
  }
57
-
58
71
  function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
59
- const options = {};
60
-
61
- if (wasmBinary) {
62
- options.wasmBinary = wasmBinary;
63
- }
64
-
65
- return new Promise(resolve => {
66
- DracoDecoderModule({ ...options,
67
- onModuleLoaded: draco => resolve({
68
- draco
69
- })
72
+ const options = {};
73
+ if (wasmBinary) {
74
+ options.wasmBinary = wasmBinary;
75
+ }
76
+ return new Promise((resolve) => {
77
+ DracoDecoderModule({
78
+ ...options,
79
+ onModuleLoaded: (draco) => resolve({ draco }) // Module is Promise-like. Wrap in object to avoid loop.
80
+ });
70
81
  });
71
- });
72
82
  }
73
-
83
+ // ENCODER
74
84
  async function loadDracoEncoder(options) {
75
- let DracoEncoderModule = await loadLibrary(DRACO_ENCODER_URL, 'draco', options);
76
- DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;
77
- return new Promise(resolve => {
78
- DracoEncoderModule({
79
- onModuleLoaded: draco => resolve({
80
- draco
81
- })
85
+ let DracoEncoderModule = await (0, worker_utils_1.loadLibrary)(DRACO_ENCODER_URL, 'draco', options);
86
+ // @ts-ignore
87
+ DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;
88
+ return new Promise((resolve) => {
89
+ DracoEncoderModule({
90
+ onModuleLoaded: (draco) => resolve({ draco }) // Module is Promise-like. Wrap in object to avoid loop.
91
+ });
82
92
  });
83
- });
84
93
  }
85
- //# sourceMappingURL=draco-module-loader.js.map
@@ -8,7 +8,7 @@ import type { DracoMesh, DracoLoaderData, DracoAttribute, DracoMetadataEntry, Dr
8
8
  * @param quantizedAttributes
9
9
  * @param octahedronAttributes
10
10
  */
11
- export declare type DracoParseOptions = {
11
+ export type DracoParseOptions = {
12
12
  topology?: 'triangle-list' | 'triangle-strip';
13
13
  attributeNameEntry?: string;
14
14
  extraAttributes?: {
@@ -1 +1 @@
1
- {"version":3,"file":"draco-parser.d.ts","sourceRoot":"","sources":["../../src/lib/draco-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draco-parser.d.ts","sourceRoot":"","sources":["../../src/lib/draco-parser.ts"],"names":[],"mappings":"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"}