@loaders.gl/draco 3.1.6 → 3.2.0-alpha.1

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 (45) hide show
  1. package/dist/dist.min.js +3 -3
  2. package/dist/dist.min.js.map +2 -2
  3. package/dist/draco-worker.js +1 -1
  4. package/dist/draco-worker.js.map +2 -2
  5. package/dist/draco-writer-nodejs-worker.js +192 -0
  6. package/dist/draco-writer-nodejs-worker.js.map +7 -0
  7. package/dist/draco-writer-nodejs.d.ts +3 -0
  8. package/dist/draco-writer-nodejs.d.ts.map +1 -0
  9. package/dist/draco-writer-nodejs.js +7 -0
  10. package/dist/draco-writer-worker.js +4 -0
  11. package/dist/draco-writer-worker.js.map +7 -0
  12. package/dist/es5/draco-writer-nodejs.js +16 -0
  13. package/dist/es5/draco-writer-nodejs.js.map +1 -0
  14. package/dist/es5/index.js +24 -1
  15. package/dist/es5/index.js.map +1 -1
  16. package/dist/es5/lib/utils/version.js +1 -1
  17. package/dist/es5/lib/utils/version.js.map +1 -1
  18. package/dist/es5/workers/draco-writer-nodejs-worker.js +70 -0
  19. package/dist/es5/workers/draco-writer-nodejs-worker.js.map +1 -0
  20. package/dist/es5/workers/draco-writer-worker.js +70 -0
  21. package/dist/es5/workers/draco-writer-worker.js.map +1 -0
  22. package/dist/esm/draco-writer-nodejs.js +3 -0
  23. package/dist/esm/draco-writer-nodejs.js.map +1 -0
  24. package/dist/esm/index.js +19 -0
  25. package/dist/esm/index.js.map +1 -1
  26. package/dist/esm/lib/utils/version.js +1 -1
  27. package/dist/esm/lib/utils/version.js.map +1 -1
  28. package/dist/esm/workers/draco-writer-nodejs-worker.js +34 -0
  29. package/dist/esm/workers/draco-writer-nodejs-worker.js.map +1 -0
  30. package/dist/esm/workers/draco-writer-worker.js +34 -0
  31. package/dist/esm/workers/draco-writer-worker.js.map +1 -0
  32. package/dist/index.d.ts +22 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +24 -1
  35. package/dist/workers/draco-writer-nodejs-worker.d.ts +2 -0
  36. package/dist/workers/draco-writer-nodejs-worker.d.ts.map +1 -0
  37. package/dist/workers/draco-writer-nodejs-worker.js +26 -0
  38. package/dist/workers/draco-writer-worker.d.ts +2 -0
  39. package/dist/workers/draco-writer-worker.d.ts.map +1 -0
  40. package/dist/workers/draco-writer-worker.js +26 -0
  41. package/package.json +10 -6
  42. package/src/draco-writer-nodejs.ts +4 -0
  43. package/src/index.ts +25 -0
  44. package/src/workers/draco-writer-nodejs-worker.ts +25 -0
  45. package/src/workers/draco-writer-worker.ts +25 -0
package/dist/index.js CHANGED
@@ -3,13 +3,36 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports._TypecheckDracoLoader = exports.DracoLoader = exports.DracoWorkerLoader = exports.DracoWriter = void 0;
6
+ exports._TypecheckDracoLoader = exports.DracoLoader = exports.DracoWorkerLoader = exports.DracoWriterNodeJSWorker = exports.DracoWriterWorker = exports.DracoWriter = void 0;
7
7
  const draco_loader_1 = require("./draco-loader");
8
8
  Object.defineProperty(exports, "DracoWorkerLoader", { enumerable: true, get: function () { return draco_loader_1.DracoLoader; } });
9
9
  const draco_parser_1 = __importDefault(require("./lib/draco-parser"));
10
10
  const draco_module_loader_1 = require("./lib/draco-module-loader");
11
+ const version_1 = require("./lib/utils/version");
11
12
  var draco_writer_1 = require("./draco-writer");
12
13
  Object.defineProperty(exports, "DracoWriter", { enumerable: true, get: function () { return draco_writer_1.DracoWriter; } });
14
+ /**
15
+ * Browser worker doesn't work because of issue during "draco_encoder.js" loading.
16
+ * Refused to execute script from 'https://raw.githubusercontent.com/google/draco/1.4.1/javascript/draco_encoder.js' because its MIME type ('') is not executable.
17
+ */
18
+ exports.DracoWriterWorker = {
19
+ id: 'draco-writer',
20
+ name: 'Draco compressed geometry writer',
21
+ module: 'draco',
22
+ version: version_1.VERSION,
23
+ options: {
24
+ draco: {}
25
+ }
26
+ };
27
+ exports.DracoWriterNodeJSWorker = {
28
+ id: 'draco-writer-nodejs',
29
+ name: 'Draco compressed geometry writer for NodeJS',
30
+ module: 'draco',
31
+ version: version_1.VERSION,
32
+ options: {
33
+ draco: {}
34
+ }
35
+ };
13
36
  /**
14
37
  * Loader for Draco3D compressed geometries
15
38
  */
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=draco-writer-nodejs-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draco-writer-nodejs-worker.d.ts","sourceRoot":"","sources":["../../src/workers/draco-writer-nodejs-worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const worker_utils_1 = require("@loaders.gl/worker-utils");
4
+ const draco_writer_nodejs_1 = require("../draco-writer-nodejs");
5
+ (() => {
6
+ // Check that we are actually in a worker thread
7
+ if (!worker_utils_1.WorkerBody.inWorkerThread()) {
8
+ return;
9
+ }
10
+ worker_utils_1.WorkerBody.onmessage = async (type, payload) => {
11
+ switch (type) {
12
+ case 'process':
13
+ try {
14
+ const { input, options } = payload;
15
+ const result = await draco_writer_nodejs_1.DracoWriterNodeJS.encode(input, options);
16
+ worker_utils_1.WorkerBody.postMessage('done', { result });
17
+ }
18
+ catch (error) {
19
+ const message = error instanceof Error ? error.message : '';
20
+ worker_utils_1.WorkerBody.postMessage('error', { error: message });
21
+ }
22
+ break;
23
+ default:
24
+ }
25
+ };
26
+ })();
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=draco-writer-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draco-writer-worker.d.ts","sourceRoot":"","sources":["../../src/workers/draco-writer-worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const worker_utils_1 = require("@loaders.gl/worker-utils");
4
+ const draco_writer_1 = require("../draco-writer");
5
+ (() => {
6
+ // Check that we are actually in a worker thread
7
+ if (!worker_utils_1.WorkerBody.inWorkerThread()) {
8
+ return;
9
+ }
10
+ worker_utils_1.WorkerBody.onmessage = async (type, payload) => {
11
+ switch (type) {
12
+ case 'process':
13
+ try {
14
+ const { input, options } = payload;
15
+ const result = await draco_writer_1.DracoWriter.encode(input, options);
16
+ worker_utils_1.WorkerBody.postMessage('done', { result });
17
+ }
18
+ catch (error) {
19
+ const message = error instanceof Error ? error.message : '';
20
+ worker_utils_1.WorkerBody.postMessage('error', { error: message });
21
+ }
22
+ break;
23
+ default:
24
+ }
25
+ };
26
+ })();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/draco",
3
- "version": "3.1.6",
3
+ "version": "3.2.0-alpha.1",
4
4
  "description": "Framework-independent loader and writer for Draco compressed meshes and point clouds",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -34,14 +34,18 @@
34
34
  "scripts": {
35
35
  "pre-build": "npm run build-bundle && npm run build-worker",
36
36
  "build-bundle": "esbuild src/bundle.ts --outfile=dist/dist.min.js --bundle --minify --sourcemap",
37
- "build-worker": "esbuild src/workers/draco-worker.ts --outfile=dist/draco-worker.js --bundle --minify --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
37
+ "build-loader-worker": "esbuild src/workers/draco-worker.ts --outfile=dist/draco-worker.js --bundle --minify --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
38
+ "build-writer-worker": "esbuild src/workers/draco-writer-worker.ts --outfile=dist/draco-writer-worker.js --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
39
+ "build-writer-nodejs-worker": "esbuild src/workers/draco-writer-nodejs-worker.ts --outfile=dist/draco-writer-nodejs-worker.js --platform=node --target=esnext,node12 --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\"",
40
+ "build-worker": "yarn build-loader-worker && yarn build-writer-worker && yarn build-writer-nodejs-worker"
38
41
  },
39
42
  "dependencies": {
40
43
  "@babel/runtime": "^7.3.1",
41
- "@loaders.gl/loader-utils": "3.1.6",
42
- "@loaders.gl/schema": "3.1.6",
43
- "@loaders.gl/worker-utils": "3.1.6",
44
+ "@loaders.gl/loader-utils": "3.2.0-alpha.1",
45
+ "@loaders.gl/polyfills": "3.2.0-alpha.1",
46
+ "@loaders.gl/schema": "3.2.0-alpha.1",
47
+ "@loaders.gl/worker-utils": "3.2.0-alpha.1",
44
48
  "draco3d": "1.4.1"
45
49
  },
46
- "gitHead": "4fe0724b942697a95ff3eb3af47b7a7c18556c52"
50
+ "gitHead": "423a2815092b08dcf93ad5b7dc2940b167305afe"
47
51
  }
@@ -0,0 +1,4 @@
1
+ // Polyfills increases the bundle size significantly. Use it for NodeJS worker only
2
+ import '@loaders.gl/polyfills';
3
+
4
+ export {DracoWriter as DracoWriterNodeJS} from './draco-writer';
package/src/index.ts CHANGED
@@ -4,6 +4,7 @@ import type {DracoLoaderOptions} from './draco-loader';
4
4
  import {DracoLoader as DracoWorkerLoader} from './draco-loader';
5
5
  import DracoParser from './lib/draco-parser';
6
6
  import {loadDracoDecoderModule} from './lib/draco-module-loader';
7
+ import {VERSION} from './lib/utils/version';
7
8
 
8
9
  // Draco data types
9
10
 
@@ -14,6 +15,30 @@ export type {DracoMesh, DracoLoaderData};
14
15
  export type {DracoWriterOptions} from './draco-writer';
15
16
  export {DracoWriter} from './draco-writer';
16
17
 
18
+ /**
19
+ * Browser worker doesn't work because of issue during "draco_encoder.js" loading.
20
+ * Refused to execute script from 'https://raw.githubusercontent.com/google/draco/1.4.1/javascript/draco_encoder.js' because its MIME type ('') is not executable.
21
+ */
22
+ export const DracoWriterWorker = {
23
+ id: 'draco-writer',
24
+ name: 'Draco compressed geometry writer',
25
+ module: 'draco',
26
+ version: VERSION,
27
+ options: {
28
+ draco: {}
29
+ }
30
+ };
31
+
32
+ export const DracoWriterNodeJSWorker = {
33
+ id: 'draco-writer-nodejs',
34
+ name: 'Draco compressed geometry writer for NodeJS',
35
+ module: 'draco',
36
+ version: VERSION,
37
+ options: {
38
+ draco: {}
39
+ }
40
+ };
41
+
17
42
  // Draco Loader
18
43
 
19
44
  export type {DracoLoaderOptions};
@@ -0,0 +1,25 @@
1
+ import {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';
2
+ import {DracoWriterNodeJS} from '../draco-writer-nodejs';
3
+
4
+ (() => {
5
+ // Check that we are actually in a worker thread
6
+ if (!WorkerBody.inWorkerThread()) {
7
+ return;
8
+ }
9
+
10
+ WorkerBody.onmessage = async (type, payload: WorkerMessagePayload) => {
11
+ switch (type) {
12
+ case 'process':
13
+ try {
14
+ const {input, options} = payload;
15
+ const result = await DracoWriterNodeJS.encode!(input, options);
16
+ WorkerBody.postMessage('done', {result});
17
+ } catch (error) {
18
+ const message = error instanceof Error ? error.message : '';
19
+ WorkerBody.postMessage('error', {error: message});
20
+ }
21
+ break;
22
+ default:
23
+ }
24
+ };
25
+ })();
@@ -0,0 +1,25 @@
1
+ import {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';
2
+ import {DracoWriter} from '../draco-writer';
3
+
4
+ (() => {
5
+ // Check that we are actually in a worker thread
6
+ if (!WorkerBody.inWorkerThread()) {
7
+ return;
8
+ }
9
+
10
+ WorkerBody.onmessage = async (type, payload: WorkerMessagePayload) => {
11
+ switch (type) {
12
+ case 'process':
13
+ try {
14
+ const {input, options} = payload;
15
+ const result = await DracoWriter.encode!(input, options);
16
+ WorkerBody.postMessage('done', {result});
17
+ } catch (error) {
18
+ const message = error instanceof Error ? error.message : '';
19
+ WorkerBody.postMessage('error', {error: message});
20
+ }
21
+ break;
22
+ default:
23
+ }
24
+ };
25
+ })();