@loaders.gl/draco 3.1.3 → 4.0.0-alpha.5
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/bundle.js +2 -2
- package/dist/bundle.js.map +1 -0
- package/dist/dist.min.js +2 -2
- package/dist/dist.min.js.map +2 -2
- package/dist/draco-loader.js +21 -27
- package/dist/draco-loader.js.map +1 -0
- package/dist/draco-worker.js +1 -1
- package/dist/draco-worker.js.map +2 -2
- package/dist/draco-writer.js +27 -39
- package/dist/draco-writer.js.map +1 -0
- package/dist/draco3d/draco3d-types.js +44 -47
- package/dist/draco3d/draco3d-types.js.map +1 -0
- package/dist/index.js +21 -28
- package/dist/index.js.map +1 -0
- package/dist/lib/draco-builder.js +329 -313
- package/dist/lib/draco-builder.js.map +1 -0
- package/dist/lib/draco-module-loader.js +72 -78
- package/dist/lib/draco-module-loader.js.map +1 -0
- package/dist/lib/draco-parser.js +416 -440
- package/dist/lib/draco-parser.js.map +1 -0
- package/dist/lib/draco-types.js +2 -3
- package/dist/{es5/lib → lib}/draco-types.js.map +0 -0
- package/dist/lib/utils/get-draco-schema.js +41 -35
- package/dist/lib/utils/get-draco-schema.js.map +1 -0
- package/dist/lib/utils/version.js +2 -7
- package/dist/lib/utils/version.js.map +1 -0
- package/dist/workers/draco-worker.js +4 -5
- package/dist/workers/draco-worker.js.map +1 -0
- package/package.json +8 -8
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/draco-loader.js +0 -38
- package/dist/es5/draco-loader.js.map +0 -1
- package/dist/es5/draco-writer.js +0 -78
- package/dist/es5/draco-writer.js.map +0 -1
- package/dist/es5/draco3d/draco3d-types.js +0 -58
- package/dist/es5/draco3d/draco3d-types.js.map +0 -1
- package/dist/es5/index.js +0 -85
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/draco-builder.js +0 -409
- package/dist/es5/lib/draco-builder.js.map +0 -1
- package/dist/es5/lib/draco-module-loader.js +0 -229
- package/dist/es5/lib/draco-module-loader.js.map +0 -1
- package/dist/es5/lib/draco-parser.js +0 -528
- package/dist/es5/lib/draco-parser.js.map +0 -1
- package/dist/es5/lib/draco-types.js +0 -2
- package/dist/es5/lib/utils/get-draco-schema.js +0 -55
- package/dist/es5/lib/utils/get-draco-schema.js.map +0 -1
- package/dist/es5/lib/utils/version.js +0 -9
- package/dist/es5/lib/utils/version.js.map +0 -1
- package/dist/es5/workers/draco-worker.js +0 -8
- package/dist/es5/workers/draco-worker.js.map +0 -1
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/draco-loader.js +0 -24
- package/dist/esm/draco-loader.js.map +0 -1
- package/dist/esm/draco-writer.js +0 -32
- package/dist/esm/draco-writer.js.map +0 -1
- package/dist/esm/draco3d/draco3d-types.js +0 -48
- package/dist/esm/draco3d/draco3d-types.js.map +0 -1
- package/dist/esm/index.js +0 -24
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/draco-builder.js +0 -354
- package/dist/esm/lib/draco-builder.js.map +0 -1
- package/dist/esm/lib/draco-module-loader.js +0 -85
- package/dist/esm/lib/draco-module-loader.js.map +0 -1
- package/dist/esm/lib/draco-parser.js +0 -452
- package/dist/esm/lib/draco-parser.js.map +0 -1
- package/dist/esm/lib/draco-types.js +0 -2
- package/dist/esm/lib/draco-types.js.map +0 -1
- package/dist/esm/lib/utils/get-draco-schema.js +0 -48
- package/dist/esm/lib/utils/get-draco-schema.js.map +0 -1
- package/dist/esm/lib/utils/version.js +0 -2
- package/dist/esm/lib/utils/version.js.map +0 -1
- package/dist/esm/workers/draco-worker.js +0 -4
- package/dist/esm/workers/draco-worker.js.map +0 -1
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.loadDracoDecoderModule = loadDracoDecoderModule;
|
|
9
|
-
exports.loadDracoEncoderModule = loadDracoEncoderModule;
|
|
10
|
-
|
|
11
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
-
|
|
13
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
14
|
-
|
|
15
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
|
|
17
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
18
|
-
|
|
19
|
-
var _workerUtils = require("@loaders.gl/worker-utils");
|
|
20
|
-
|
|
21
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
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
|
-
|
|
25
|
-
var DRACO_VERSION = '1.4.1';
|
|
26
|
-
var DRACO_JS_DECODER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_decoder.js");
|
|
27
|
-
var DRACO_WASM_WRAPPER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_wasm_wrapper.js");
|
|
28
|
-
var DRACO_WASM_DECODER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_decoder.wasm");
|
|
29
|
-
var DRACO_ENCODER_URL = "https://raw.githubusercontent.com/google/draco/".concat(DRACO_VERSION, "/javascript/draco_encoder.js");
|
|
30
|
-
var loadDecoderPromise;
|
|
31
|
-
var loadEncoderPromise;
|
|
32
|
-
|
|
33
|
-
function loadDracoDecoderModule(_x) {
|
|
34
|
-
return _loadDracoDecoderModule.apply(this, arguments);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function _loadDracoDecoderModule() {
|
|
38
|
-
_loadDracoDecoderModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
39
|
-
var modules;
|
|
40
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
41
|
-
while (1) {
|
|
42
|
-
switch (_context.prev = _context.next) {
|
|
43
|
-
case 0:
|
|
44
|
-
modules = options.modules || {};
|
|
45
|
-
|
|
46
|
-
if (modules.draco3d) {
|
|
47
|
-
loadDecoderPromise = loadDecoderPromise || modules.draco3d.createDecoderModule({}).then(function (draco) {
|
|
48
|
-
return {
|
|
49
|
-
draco: draco
|
|
50
|
-
};
|
|
51
|
-
});
|
|
52
|
-
} else {
|
|
53
|
-
loadDecoderPromise = loadDecoderPromise || loadDracoDecoder(options);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
_context.next = 4;
|
|
57
|
-
return loadDecoderPromise;
|
|
58
|
-
|
|
59
|
-
case 4:
|
|
60
|
-
return _context.abrupt("return", _context.sent);
|
|
61
|
-
|
|
62
|
-
case 5:
|
|
63
|
-
case "end":
|
|
64
|
-
return _context.stop();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}, _callee);
|
|
68
|
-
}));
|
|
69
|
-
return _loadDracoDecoderModule.apply(this, arguments);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function loadDracoEncoderModule(_x2) {
|
|
73
|
-
return _loadDracoEncoderModule.apply(this, arguments);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
function _loadDracoEncoderModule() {
|
|
77
|
-
_loadDracoEncoderModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options) {
|
|
78
|
-
var modules;
|
|
79
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
80
|
-
while (1) {
|
|
81
|
-
switch (_context2.prev = _context2.next) {
|
|
82
|
-
case 0:
|
|
83
|
-
modules = options.modules || {};
|
|
84
|
-
|
|
85
|
-
if (modules.draco3d) {
|
|
86
|
-
loadEncoderPromise = loadEncoderPromise || modules.draco3d.createEncoderModule({}).then(function (draco) {
|
|
87
|
-
return {
|
|
88
|
-
draco: draco
|
|
89
|
-
};
|
|
90
|
-
});
|
|
91
|
-
} else {
|
|
92
|
-
loadEncoderPromise = loadEncoderPromise || loadDracoEncoder(options);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
_context2.next = 4;
|
|
96
|
-
return loadEncoderPromise;
|
|
97
|
-
|
|
98
|
-
case 4:
|
|
99
|
-
return _context2.abrupt("return", _context2.sent);
|
|
100
|
-
|
|
101
|
-
case 5:
|
|
102
|
-
case "end":
|
|
103
|
-
return _context2.stop();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}, _callee2);
|
|
107
|
-
}));
|
|
108
|
-
return _loadDracoEncoderModule.apply(this, arguments);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function loadDracoDecoder(_x3) {
|
|
112
|
-
return _loadDracoDecoder.apply(this, arguments);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
function _loadDracoDecoder() {
|
|
116
|
-
_loadDracoDecoder = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(options) {
|
|
117
|
-
var DracoDecoderModule, wasmBinary, _yield$Promise$all, _yield$Promise$all2;
|
|
118
|
-
|
|
119
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
120
|
-
while (1) {
|
|
121
|
-
switch (_context3.prev = _context3.next) {
|
|
122
|
-
case 0:
|
|
123
|
-
_context3.t0 = options.draco && options.draco.decoderType;
|
|
124
|
-
_context3.next = _context3.t0 === 'js' ? 3 : _context3.t0 === 'wasm' ? 7 : 7;
|
|
125
|
-
break;
|
|
126
|
-
|
|
127
|
-
case 3:
|
|
128
|
-
_context3.next = 5;
|
|
129
|
-
return (0, _workerUtils.loadLibrary)(DRACO_JS_DECODER_URL, 'draco', options);
|
|
130
|
-
|
|
131
|
-
case 5:
|
|
132
|
-
DracoDecoderModule = _context3.sent;
|
|
133
|
-
return _context3.abrupt("break", 21);
|
|
134
|
-
|
|
135
|
-
case 7:
|
|
136
|
-
_context3.t1 = Promise;
|
|
137
|
-
_context3.next = 10;
|
|
138
|
-
return (0, _workerUtils.loadLibrary)(DRACO_WASM_WRAPPER_URL, 'draco', options);
|
|
139
|
-
|
|
140
|
-
case 10:
|
|
141
|
-
_context3.t2 = _context3.sent;
|
|
142
|
-
_context3.next = 13;
|
|
143
|
-
return (0, _workerUtils.loadLibrary)(DRACO_WASM_DECODER_URL, 'draco', options);
|
|
144
|
-
|
|
145
|
-
case 13:
|
|
146
|
-
_context3.t3 = _context3.sent;
|
|
147
|
-
_context3.t4 = [_context3.t2, _context3.t3];
|
|
148
|
-
_context3.next = 17;
|
|
149
|
-
return _context3.t1.all.call(_context3.t1, _context3.t4);
|
|
150
|
-
|
|
151
|
-
case 17:
|
|
152
|
-
_yield$Promise$all = _context3.sent;
|
|
153
|
-
_yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
|
|
154
|
-
DracoDecoderModule = _yield$Promise$all2[0];
|
|
155
|
-
wasmBinary = _yield$Promise$all2[1];
|
|
156
|
-
|
|
157
|
-
case 21:
|
|
158
|
-
DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
|
|
159
|
-
_context3.next = 24;
|
|
160
|
-
return initializeDracoDecoder(DracoDecoderModule, wasmBinary);
|
|
161
|
-
|
|
162
|
-
case 24:
|
|
163
|
-
return _context3.abrupt("return", _context3.sent);
|
|
164
|
-
|
|
165
|
-
case 25:
|
|
166
|
-
case "end":
|
|
167
|
-
return _context3.stop();
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}, _callee3);
|
|
171
|
-
}));
|
|
172
|
-
return _loadDracoDecoder.apply(this, arguments);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
|
|
176
|
-
var options = {};
|
|
177
|
-
|
|
178
|
-
if (wasmBinary) {
|
|
179
|
-
options.wasmBinary = wasmBinary;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
return new Promise(function (resolve) {
|
|
183
|
-
DracoDecoderModule(_objectSpread(_objectSpread({}, options), {}, {
|
|
184
|
-
onModuleLoaded: function onModuleLoaded(draco) {
|
|
185
|
-
return resolve({
|
|
186
|
-
draco: draco
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
}));
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
function loadDracoEncoder(_x4) {
|
|
194
|
-
return _loadDracoEncoder.apply(this, arguments);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
function _loadDracoEncoder() {
|
|
198
|
-
_loadDracoEncoder = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(options) {
|
|
199
|
-
var DracoEncoderModule;
|
|
200
|
-
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
201
|
-
while (1) {
|
|
202
|
-
switch (_context4.prev = _context4.next) {
|
|
203
|
-
case 0:
|
|
204
|
-
_context4.next = 2;
|
|
205
|
-
return (0, _workerUtils.loadLibrary)(DRACO_ENCODER_URL, 'draco', options);
|
|
206
|
-
|
|
207
|
-
case 2:
|
|
208
|
-
DracoEncoderModule = _context4.sent;
|
|
209
|
-
DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;
|
|
210
|
-
return _context4.abrupt("return", new Promise(function (resolve) {
|
|
211
|
-
DracoEncoderModule({
|
|
212
|
-
onModuleLoaded: function onModuleLoaded(draco) {
|
|
213
|
-
return resolve({
|
|
214
|
-
draco: draco
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
}));
|
|
219
|
-
|
|
220
|
-
case 5:
|
|
221
|
-
case "end":
|
|
222
|
-
return _context4.stop();
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}, _callee4);
|
|
226
|
-
}));
|
|
227
|
-
return _loadDracoEncoder.apply(this, arguments);
|
|
228
|
-
}
|
|
229
|
-
//# sourceMappingURL=draco-module-loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/draco-module-loader.ts"],"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","DracoDecoderModule","Promise","all","wasmBinary","globalThis","initializeDracoDecoder","resolve","onModuleLoaded","DracoEncoderModule"],"mappings":"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","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"],"file":"draco-module-loader.js"}
|