@loaders.gl/draco 3.3.0-alpha.4 → 3.3.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.
- package/dist/draco-nodejs-worker.js +70 -69
- package/dist/draco-nodejs-worker.js.map +3 -3
- package/dist/draco-worker.js +1 -1
- package/dist/draco-worker.js.map +1 -1
- package/dist/draco-writer-nodejs-worker.js +61 -60
- package/dist/draco-writer-nodejs-worker.js.map +3 -3
- package/dist/draco-writer-worker.js +2 -2
- package/dist/draco-writer-worker.js.map +1 -1
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/draco-loader.js +1 -4
- package/dist/es5/draco-loader.js.map +1 -1
- package/dist/es5/draco-writer-nodejs.js +0 -2
- package/dist/es5/draco-writer-nodejs.js.map +1 -1
- package/dist/es5/draco-writer.js +5 -17
- package/dist/es5/draco-writer.js.map +1 -1
- package/dist/es5/draco3d/draco3d-types.js +1 -8
- package/dist/es5/draco3d/draco3d-types.js.map +1 -1
- package/dist/es5/index.js +5 -25
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/draco-builder.js +40 -96
- package/dist/es5/lib/draco-builder.js.map +1 -1
- package/dist/es5/lib/draco-module-loader.js +2 -41
- package/dist/es5/lib/draco-module-loader.js.map +1 -1
- package/dist/es5/lib/draco-parser.js +63 -111
- package/dist/es5/lib/draco-parser.js.map +1 -1
- package/dist/es5/lib/draco-types.js.map +1 -1
- package/dist/es5/lib/utils/get-draco-schema.js +0 -12
- package/dist/es5/lib/utils/get-draco-schema.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-nodejs-worker.js +0 -3
- package/dist/es5/workers/draco-nodejs-worker.js.map +1 -1
- package/dist/es5/workers/draco-worker.js +0 -2
- package/dist/es5/workers/draco-worker.js.map +1 -1
- package/dist/es5/workers/draco-writer-nodejs-worker.js +0 -15
- package/dist/es5/workers/draco-writer-nodejs-worker.js.map +1 -1
- package/dist/es5/workers/draco-writer-worker.js +0 -15
- package/dist/es5/workers/draco-writer-worker.js.map +1 -1
- package/dist/esm/bundle.js +1 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/draco-loader.js +1 -0
- package/dist/esm/draco-loader.js.map +1 -1
- package/dist/esm/draco-writer-nodejs.js +1 -0
- package/dist/esm/draco-writer-nodejs.js.map +1 -1
- package/dist/esm/draco-writer.js +3 -3
- package/dist/esm/draco-writer.js.map +1 -1
- package/dist/esm/draco3d/draco3d-types.js +2 -3
- package/dist/esm/draco3d/draco3d-types.js.map +1 -1
- package/dist/esm/index.js +6 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/draco-builder.js +6 -75
- package/dist/esm/lib/draco-builder.js.map +1 -1
- package/dist/esm/lib/draco-module-loader.js +4 -9
- package/dist/esm/lib/draco-module-loader.js.map +1 -1
- package/dist/esm/lib/draco-parser.js +5 -66
- package/dist/esm/lib/draco-parser.js.map +1 -1
- package/dist/esm/lib/draco-types.js.map +1 -1
- package/dist/esm/lib/utils/get-draco-schema.js +0 -10
- package/dist/esm/lib/utils/get-draco-schema.js.map +1 -1
- package/dist/esm/lib/utils/version.js +2 -1
- package/dist/esm/lib/utils/version.js.map +1 -1
- package/dist/esm/workers/draco-nodejs-worker.js.map +1 -1
- package/dist/esm/workers/draco-worker.js.map +1 -1
- package/dist/esm/workers/draco-writer-nodejs-worker.js +0 -4
- package/dist/esm/workers/draco-writer-nodejs-worker.js.map +1 -1
- package/dist/esm/workers/draco-writer-worker.js +0 -4
- package/dist/esm/workers/draco-writer-worker.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,27 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.loadDracoDecoderModule = loadDracoDecoderModule;
|
|
9
8
|
exports.loadDracoEncoderModule = loadDracoEncoderModule;
|
|
10
|
-
|
|
11
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
-
|
|
13
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
14
|
-
|
|
15
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
|
|
17
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
18
|
-
|
|
19
13
|
var _workerUtils = require("@loaders.gl/worker-utils");
|
|
20
|
-
|
|
21
|
-
function
|
|
22
|
-
|
|
23
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
24
|
-
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
16
|
var DRACO_VERSION = '1.4.1';
|
|
26
17
|
var DRACO_JS_DECODER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_decoder.js");
|
|
27
18
|
var DRACO_WASM_WRAPPER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_wasm_wrapper.js");
|
|
@@ -29,11 +20,9 @@ var DRACO_WASM_DECODER_URL = "https://www.gstatic.com/draco/versioned/decoders/"
|
|
|
29
20
|
var DRACO_ENCODER_URL = "https://raw.githubusercontent.com/google/draco/".concat(DRACO_VERSION, "/javascript/draco_encoder.js");
|
|
30
21
|
var loadDecoderPromise;
|
|
31
22
|
var loadEncoderPromise;
|
|
32
|
-
|
|
33
23
|
function loadDracoDecoderModule(_x) {
|
|
34
24
|
return _loadDracoDecoderModule.apply(this, arguments);
|
|
35
25
|
}
|
|
36
|
-
|
|
37
26
|
function _loadDracoDecoderModule() {
|
|
38
27
|
_loadDracoDecoderModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
39
28
|
var modules;
|
|
@@ -42,7 +31,6 @@ function _loadDracoDecoderModule() {
|
|
|
42
31
|
switch (_context.prev = _context.next) {
|
|
43
32
|
case 0:
|
|
44
33
|
modules = options.modules || {};
|
|
45
|
-
|
|
46
34
|
if (modules.draco3d) {
|
|
47
35
|
loadDecoderPromise = loadDecoderPromise || modules.draco3d.createDecoderModule({}).then(function (draco) {
|
|
48
36
|
return {
|
|
@@ -52,13 +40,10 @@ function _loadDracoDecoderModule() {
|
|
|
52
40
|
} else {
|
|
53
41
|
loadDecoderPromise = loadDecoderPromise || loadDracoDecoder(options);
|
|
54
42
|
}
|
|
55
|
-
|
|
56
43
|
_context.next = 4;
|
|
57
44
|
return loadDecoderPromise;
|
|
58
|
-
|
|
59
45
|
case 4:
|
|
60
46
|
return _context.abrupt("return", _context.sent);
|
|
61
|
-
|
|
62
47
|
case 5:
|
|
63
48
|
case "end":
|
|
64
49
|
return _context.stop();
|
|
@@ -68,11 +53,9 @@ function _loadDracoDecoderModule() {
|
|
|
68
53
|
}));
|
|
69
54
|
return _loadDracoDecoderModule.apply(this, arguments);
|
|
70
55
|
}
|
|
71
|
-
|
|
72
56
|
function loadDracoEncoderModule(_x2) {
|
|
73
57
|
return _loadDracoEncoderModule.apply(this, arguments);
|
|
74
58
|
}
|
|
75
|
-
|
|
76
59
|
function _loadDracoEncoderModule() {
|
|
77
60
|
_loadDracoEncoderModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options) {
|
|
78
61
|
var modules;
|
|
@@ -81,7 +64,6 @@ function _loadDracoEncoderModule() {
|
|
|
81
64
|
switch (_context2.prev = _context2.next) {
|
|
82
65
|
case 0:
|
|
83
66
|
modules = options.modules || {};
|
|
84
|
-
|
|
85
67
|
if (modules.draco3d) {
|
|
86
68
|
loadEncoderPromise = loadEncoderPromise || modules.draco3d.createEncoderModule({}).then(function (draco) {
|
|
87
69
|
return {
|
|
@@ -91,13 +73,10 @@ function _loadDracoEncoderModule() {
|
|
|
91
73
|
} else {
|
|
92
74
|
loadEncoderPromise = loadEncoderPromise || loadDracoEncoder(options);
|
|
93
75
|
}
|
|
94
|
-
|
|
95
76
|
_context2.next = 4;
|
|
96
77
|
return loadEncoderPromise;
|
|
97
|
-
|
|
98
78
|
case 4:
|
|
99
79
|
return _context2.abrupt("return", _context2.sent);
|
|
100
|
-
|
|
101
80
|
case 5:
|
|
102
81
|
case "end":
|
|
103
82
|
return _context2.stop();
|
|
@@ -107,15 +86,12 @@ function _loadDracoEncoderModule() {
|
|
|
107
86
|
}));
|
|
108
87
|
return _loadDracoEncoderModule.apply(this, arguments);
|
|
109
88
|
}
|
|
110
|
-
|
|
111
89
|
function loadDracoDecoder(_x3) {
|
|
112
90
|
return _loadDracoDecoder.apply(this, arguments);
|
|
113
91
|
}
|
|
114
|
-
|
|
115
92
|
function _loadDracoDecoder() {
|
|
116
93
|
_loadDracoDecoder = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(options) {
|
|
117
94
|
var DracoDecoderModule, wasmBinary, _yield$Promise$all, _yield$Promise$all2;
|
|
118
|
-
|
|
119
95
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
120
96
|
while (1) {
|
|
121
97
|
switch (_context3.prev = _context3.next) {
|
|
@@ -123,45 +99,36 @@ function _loadDracoDecoder() {
|
|
|
123
99
|
_context3.t0 = options.draco && options.draco.decoderType;
|
|
124
100
|
_context3.next = _context3.t0 === 'js' ? 3 : _context3.t0 === 'wasm' ? 7 : 7;
|
|
125
101
|
break;
|
|
126
|
-
|
|
127
102
|
case 3:
|
|
128
103
|
_context3.next = 5;
|
|
129
104
|
return (0, _workerUtils.loadLibrary)(DRACO_JS_DECODER_URL, 'draco', options);
|
|
130
|
-
|
|
131
105
|
case 5:
|
|
132
106
|
DracoDecoderModule = _context3.sent;
|
|
133
107
|
return _context3.abrupt("break", 21);
|
|
134
|
-
|
|
135
108
|
case 7:
|
|
136
109
|
_context3.t1 = Promise;
|
|
137
110
|
_context3.next = 10;
|
|
138
111
|
return (0, _workerUtils.loadLibrary)(DRACO_WASM_WRAPPER_URL, 'draco', options);
|
|
139
|
-
|
|
140
112
|
case 10:
|
|
141
113
|
_context3.t2 = _context3.sent;
|
|
142
114
|
_context3.next = 13;
|
|
143
115
|
return (0, _workerUtils.loadLibrary)(DRACO_WASM_DECODER_URL, 'draco', options);
|
|
144
|
-
|
|
145
116
|
case 13:
|
|
146
117
|
_context3.t3 = _context3.sent;
|
|
147
118
|
_context3.t4 = [_context3.t2, _context3.t3];
|
|
148
119
|
_context3.next = 17;
|
|
149
120
|
return _context3.t1.all.call(_context3.t1, _context3.t4);
|
|
150
|
-
|
|
151
121
|
case 17:
|
|
152
122
|
_yield$Promise$all = _context3.sent;
|
|
153
123
|
_yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
|
|
154
124
|
DracoDecoderModule = _yield$Promise$all2[0];
|
|
155
125
|
wasmBinary = _yield$Promise$all2[1];
|
|
156
|
-
|
|
157
126
|
case 21:
|
|
158
127
|
DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
|
|
159
128
|
_context3.next = 24;
|
|
160
129
|
return initializeDracoDecoder(DracoDecoderModule, wasmBinary);
|
|
161
|
-
|
|
162
130
|
case 24:
|
|
163
131
|
return _context3.abrupt("return", _context3.sent);
|
|
164
|
-
|
|
165
132
|
case 25:
|
|
166
133
|
case "end":
|
|
167
134
|
return _context3.stop();
|
|
@@ -171,14 +138,11 @@ function _loadDracoDecoder() {
|
|
|
171
138
|
}));
|
|
172
139
|
return _loadDracoDecoder.apply(this, arguments);
|
|
173
140
|
}
|
|
174
|
-
|
|
175
141
|
function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
|
|
176
142
|
var options = {};
|
|
177
|
-
|
|
178
143
|
if (wasmBinary) {
|
|
179
144
|
options.wasmBinary = wasmBinary;
|
|
180
145
|
}
|
|
181
|
-
|
|
182
146
|
return new Promise(function (resolve) {
|
|
183
147
|
DracoDecoderModule(_objectSpread(_objectSpread({}, options), {}, {
|
|
184
148
|
onModuleLoaded: function onModuleLoaded(draco) {
|
|
@@ -193,7 +157,6 @@ function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
|
|
|
193
157
|
function loadDracoEncoder(_x4) {
|
|
194
158
|
return _loadDracoEncoder.apply(this, arguments);
|
|
195
159
|
}
|
|
196
|
-
|
|
197
160
|
function _loadDracoEncoder() {
|
|
198
161
|
_loadDracoEncoder = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(options) {
|
|
199
162
|
var DracoEncoderModule;
|
|
@@ -203,7 +166,6 @@ function _loadDracoEncoder() {
|
|
|
203
166
|
case 0:
|
|
204
167
|
_context4.next = 2;
|
|
205
168
|
return (0, _workerUtils.loadLibrary)(DRACO_ENCODER_URL, 'draco', options);
|
|
206
|
-
|
|
207
169
|
case 2:
|
|
208
170
|
DracoEncoderModule = _context4.sent;
|
|
209
171
|
DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;
|
|
@@ -216,7 +178,6 @@ function _loadDracoEncoder() {
|
|
|
216
178
|
}
|
|
217
179
|
});
|
|
218
180
|
}));
|
|
219
|
-
|
|
220
181
|
case 5:
|
|
221
182
|
case "end":
|
|
222
183
|
return _context4.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"draco-module-loader.js","names":["DRACO_VERSION","DRACO_JS_DECODER_URL","DRACO_WASM_WRAPPER_URL","DRACO_WASM_DECODER_URL","DRACO_ENCODER_URL","loadDecoderPromise","loadEncoderPromise","loadDracoDecoderModule","options","modules","draco3d","createDecoderModule","then","draco","loadDracoDecoder","loadDracoEncoderModule","createEncoderModule","loadDracoEncoder","decoderType","loadLibrary","DracoDecoderModule","Promise","all","wasmBinary","globalThis","initializeDracoDecoder","resolve","onModuleLoaded","DracoEncoderModule"],"sources":["../../../src/lib/draco-module-loader.ts"],"sourcesContent":["// Dynamic DRACO module loading inspired by THREE.DRACOLoader\n// https://github.com/mrdoob/three.js/blob/398c4f39ebdb8b23eefd4a7a5ec49ec0c96c7462/examples/jsm/loaders/DRACOLoader.js\n// by Don McCurdy / https://www.donmccurdy.com / MIT license\n\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\nconst DRACO_VERSION = '1.4.1';\nconst DRACO_JS_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_VERSION}/draco_decoder.js`;\nconst DRACO_WASM_WRAPPER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_VERSION}/draco_wasm_wrapper.js`;\nconst DRACO_WASM_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_VERSION}/draco_decoder.wasm`;\n\nconst DRACO_ENCODER_URL = `https://raw.githubusercontent.com/google/draco/${DRACO_VERSION}/javascript/draco_encoder.js`;\n\nlet loadDecoderPromise;\nlet loadEncoderPromise;\n\nexport async function loadDracoDecoderModule(options) {\n const modules = options.modules || {};\n\n // Check if a bundled draco3d library has been supplied by application\n if (modules.draco3d) {\n loadDecoderPromise =\n loadDecoderPromise ||\n modules.draco3d.createDecoderModule({}).then((draco) => {\n return {draco};\n });\n } else {\n // If not, dynamically load the WASM script from our CDN\n loadDecoderPromise = loadDecoderPromise || loadDracoDecoder(options);\n }\n return await loadDecoderPromise;\n}\n\nexport async function loadDracoEncoderModule(options) {\n const modules = options.modules || {};\n\n // Check if a bundled draco3d library has been supplied by application\n if (modules.draco3d) {\n loadEncoderPromise =\n loadEncoderPromise ||\n modules.draco3d.createEncoderModule({}).then((draco) => {\n return {draco};\n });\n } else {\n // If not, dynamically load the WASM script from our CDN\n loadEncoderPromise = loadEncoderPromise || loadDracoEncoder(options);\n }\n return await loadEncoderPromise;\n}\n\n// DRACO DECODER LOADING\n\nasync function loadDracoDecoder(options) {\n let DracoDecoderModule;\n let wasmBinary;\n switch (options.draco && options.draco.decoderType) {\n case 'js':\n DracoDecoderModule = await loadLibrary(DRACO_JS_DECODER_URL, 'draco', options);\n break;\n\n case 'wasm':\n default:\n [DracoDecoderModule, wasmBinary] = await Promise.all([\n await loadLibrary(DRACO_WASM_WRAPPER_URL, 'draco', options),\n await loadLibrary(DRACO_WASM_DECODER_URL, 'draco', options)\n ]);\n }\n // Depends on how import happened...\n // @ts-ignore\n DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;\n return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);\n}\n\nfunction initializeDracoDecoder(DracoDecoderModule, wasmBinary) {\n const options: {wasmBinary?: any} = {};\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n DracoDecoderModule({\n ...options,\n onModuleLoaded: (draco) => resolve({draco}) // Module is Promise-like. Wrap in object to avoid loop.\n });\n });\n}\n\n// ENCODER\n\nasync function loadDracoEncoder(options) {\n let DracoEncoderModule = await loadLibrary(DRACO_ENCODER_URL, 'draco', options);\n // @ts-ignore\n DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;\n\n return new Promise((resolve) => {\n DracoEncoderModule({\n onModuleLoaded: (draco) => resolve({draco}) // Module is Promise-like. Wrap in object to avoid loop.\n });\n });\n}\n"],"mappings":"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"}
|