@loaders.gl/draco 3.1.8 → 3.2.0-alpha.3
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.
- package/dist/dist.min.js +3 -3
- package/dist/dist.min.js.map +2 -2
- package/dist/draco-worker.js +1 -1
- package/dist/draco-worker.js.map +2 -2
- package/dist/draco-writer-nodejs-worker.js +192 -0
- package/dist/draco-writer-nodejs-worker.js.map +7 -0
- package/dist/draco-writer-nodejs.d.ts +3 -0
- package/dist/draco-writer-nodejs.d.ts.map +1 -0
- package/dist/draco-writer-nodejs.js +7 -0
- package/dist/draco-writer-worker.js +4 -0
- package/dist/draco-writer-worker.js.map +7 -0
- package/dist/draco-writer.d.ts +6 -2
- package/dist/draco-writer.d.ts.map +1 -1
- package/dist/es5/draco-writer-nodejs.js +16 -0
- package/dist/es5/draco-writer-nodejs.js.map +1 -0
- package/dist/es5/draco-writer.js.map +1 -1
- package/dist/es5/index.js +18 -1
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/utils/version.js +1 -1
- package/dist/es5/lib/utils/version.js.map +1 -1
- package/dist/es5/workers/draco-writer-nodejs-worker.js +70 -0
- package/dist/es5/workers/draco-writer-nodejs-worker.js.map +1 -0
- package/dist/es5/workers/draco-writer-worker.js +70 -0
- package/dist/es5/workers/draco-writer-worker.js.map +1 -0
- package/dist/esm/draco-writer-nodejs.js +3 -0
- package/dist/esm/draco-writer-nodejs.js.map +1 -0
- package/dist/esm/draco-writer.js.map +1 -1
- package/dist/esm/index.js +13 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/utils/version.js +1 -1
- package/dist/esm/lib/utils/version.js.map +1 -1
- package/dist/esm/workers/draco-writer-nodejs-worker.js +34 -0
- package/dist/esm/workers/draco-writer-nodejs-worker.js.map +1 -0
- package/dist/esm/workers/draco-writer-worker.js +34 -0
- package/dist/esm/workers/draco-writer-worker.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -1
- package/dist/workers/draco-writer-nodejs-worker.d.ts +2 -0
- package/dist/workers/draco-writer-nodejs-worker.d.ts.map +1 -0
- package/dist/workers/draco-writer-nodejs-worker.js +26 -0
- package/dist/workers/draco-writer-worker.d.ts +2 -0
- package/dist/workers/draco-writer-worker.d.ts.map +1 -0
- package/dist/workers/draco-writer-worker.js +26 -0
- package/package.json +12 -6
- package/src/draco-writer-nodejs.ts +4 -0
- package/src/draco-writer.ts +7 -6
- package/src/index.ts +18 -0
- package/src/workers/draco-writer-nodejs-worker.ts +25 -0
- package/src/workers/draco-writer-worker.ts +25 -0
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,21 @@ import { DracoLoader as DracoWorkerLoader } from './draco-loader';
|
|
|
5
5
|
export type { DracoMesh, DracoLoaderData };
|
|
6
6
|
export type { DracoWriterOptions } from './draco-writer';
|
|
7
7
|
export { DracoWriter } from './draco-writer';
|
|
8
|
+
/**
|
|
9
|
+
* Browser worker doesn't work because of issue during "draco_encoder.js" loading.
|
|
10
|
+
* 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.
|
|
11
|
+
*/
|
|
12
|
+
export declare const DracoWriterWorker: {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
module: string;
|
|
16
|
+
version: any;
|
|
17
|
+
worker: boolean;
|
|
18
|
+
options: {
|
|
19
|
+
draco: {};
|
|
20
|
+
source: null;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
8
23
|
export type { DracoLoaderOptions };
|
|
9
24
|
export { DracoWorkerLoader };
|
|
10
25
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAQhE,YAAY,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC;AAIzC,YAAY,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;CAU7B,CAAC;AAIF,YAAY,EAAC,kBAAkB,EAAC,CAAC;AACjC,OAAO,EAAC,iBAAiB,EAAC,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;CAGvB,CAAC;AAEF,iBAAe,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAQ/F;AAGD,eAAO,MAAM,qBAAqB,EAAE,gBAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,13 +3,30 @@ 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.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");
|
|
12
|
+
const worker_utils_1 = require("@loaders.gl/worker-utils");
|
|
11
13
|
var draco_writer_1 = require("./draco-writer");
|
|
12
14
|
Object.defineProperty(exports, "DracoWriter", { enumerable: true, get: function () { return draco_writer_1.DracoWriter; } });
|
|
15
|
+
/**
|
|
16
|
+
* Browser worker doesn't work because of issue during "draco_encoder.js" loading.
|
|
17
|
+
* 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.
|
|
18
|
+
*/
|
|
19
|
+
exports.DracoWriterWorker = {
|
|
20
|
+
id: worker_utils_1.isBrowser ? 'draco-writer' : 'draco-writer-nodejs',
|
|
21
|
+
name: 'Draco compressed geometry writer',
|
|
22
|
+
module: 'draco',
|
|
23
|
+
version: version_1.VERSION,
|
|
24
|
+
worker: true,
|
|
25
|
+
options: {
|
|
26
|
+
draco: {},
|
|
27
|
+
source: null
|
|
28
|
+
}
|
|
29
|
+
};
|
|
13
30
|
/**
|
|
14
31
|
* Loader for Draco3D compressed geometries
|
|
15
32
|
*/
|
|
@@ -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 @@
|
|
|
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.
|
|
3
|
+
"version": "3.2.0-alpha.3",
|
|
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,20 @@
|
|
|
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-worker-nodejs": "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-worker-nodejs"
|
|
38
41
|
},
|
|
39
42
|
"dependencies": {
|
|
40
43
|
"@babel/runtime": "^7.3.1",
|
|
41
|
-
"@loaders.gl/loader-utils": "3.
|
|
42
|
-
"@loaders.gl/schema": "3.
|
|
43
|
-
"@loaders.gl/worker-utils": "3.
|
|
44
|
+
"@loaders.gl/loader-utils": "3.2.0-alpha.3",
|
|
45
|
+
"@loaders.gl/schema": "3.2.0-alpha.3",
|
|
46
|
+
"@loaders.gl/worker-utils": "3.2.0-alpha.3",
|
|
44
47
|
"draco3d": "1.4.1"
|
|
45
48
|
},
|
|
46
|
-
"
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@loaders.gl/polyfills": "3.2.0-alpha.3"
|
|
51
|
+
},
|
|
52
|
+
"gitHead": "f0d4b801efeb7094283106352ee759eccfb21f10"
|
|
47
53
|
}
|
package/src/draco-writer.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import type {Writer} from '@loaders.gl/loader-utils';
|
|
1
|
+
import type {Writer, WriterOptions} from '@loaders.gl/loader-utils';
|
|
2
2
|
import type {DracoMesh} from './lib/draco-types';
|
|
3
3
|
import type {DracoBuildOptions} from './lib/draco-builder';
|
|
4
4
|
import DRACOBuilder from './lib/draco-builder';
|
|
5
5
|
import {loadDracoEncoderModule} from './lib/draco-module-loader';
|
|
6
6
|
import {VERSION} from './lib/utils/version';
|
|
7
7
|
|
|
8
|
-
export type DracoWriterOptions =
|
|
8
|
+
export type DracoWriterOptions = WriterOptions & {
|
|
9
|
+
draco?: DracoBuildOptions & {
|
|
10
|
+
attributeNameEntry: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
9
13
|
|
|
10
14
|
const DEFAULT_DRACO_OPTIONS = {
|
|
11
15
|
pointcloud: false, // Set to true if pointcloud (mode: 0, no indices)
|
|
@@ -33,10 +37,7 @@ export const DracoWriter: Writer = {
|
|
|
33
37
|
}
|
|
34
38
|
};
|
|
35
39
|
|
|
36
|
-
async function encode(
|
|
37
|
-
data: DracoMesh,
|
|
38
|
-
options: {draco?: DracoWriterOptions} = {}
|
|
39
|
-
): Promise<ArrayBuffer> {
|
|
40
|
+
async function encode(data: DracoMesh, options: DracoWriterOptions = {}): Promise<ArrayBuffer> {
|
|
40
41
|
// Dynamically load draco
|
|
41
42
|
const {draco} = await loadDracoEncoderModule(options);
|
|
42
43
|
const dracoBuilder = new DRACOBuilder(draco);
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,8 @@ 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';
|
|
8
|
+
import {isBrowser} from '@loaders.gl/worker-utils';
|
|
7
9
|
|
|
8
10
|
// Draco data types
|
|
9
11
|
|
|
@@ -14,6 +16,22 @@ export type {DracoMesh, DracoLoaderData};
|
|
|
14
16
|
export type {DracoWriterOptions} from './draco-writer';
|
|
15
17
|
export {DracoWriter} from './draco-writer';
|
|
16
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Browser worker doesn't work because of issue during "draco_encoder.js" loading.
|
|
21
|
+
* 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.
|
|
22
|
+
*/
|
|
23
|
+
export const DracoWriterWorker = {
|
|
24
|
+
id: isBrowser ? 'draco-writer' : 'draco-writer-nodejs',
|
|
25
|
+
name: 'Draco compressed geometry writer',
|
|
26
|
+
module: 'draco',
|
|
27
|
+
version: VERSION,
|
|
28
|
+
worker: true,
|
|
29
|
+
options: {
|
|
30
|
+
draco: {},
|
|
31
|
+
source: null
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
17
35
|
// Draco Loader
|
|
18
36
|
|
|
19
37
|
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
|
+
})();
|