@loaders.gl/draco 4.0.0-alpha.4 → 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.
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +2 -2
- package/dist/dist.min.js +4 -0
- package/dist/dist.min.js.map +7 -0
- package/dist/draco-loader.d.ts +18 -0
- package/dist/draco-loader.d.ts.map +1 -0
- package/dist/draco-loader.js +28 -21
- package/dist/draco-nodejs-worker.js +191 -0
- package/dist/draco-nodejs-worker.js.map +7 -0
- package/dist/draco-worker.js +2 -1236
- package/dist/draco-worker.js.map +7 -0
- package/dist/draco-writer-nodejs-worker.js +193 -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 +17 -0
- package/dist/draco-writer.d.ts.map +1 -0
- package/dist/draco-writer.js +40 -28
- package/dist/draco3d/draco3d-types.d.ts +295 -0
- package/dist/draco3d/draco3d-types.d.ts.map +1 -0
- package/dist/draco3d/draco3d-types.js +47 -44
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/draco-loader.js +34 -0
- package/dist/es5/draco-loader.js.map +1 -0
- package/dist/es5/draco-writer-nodejs.js +14 -0
- package/dist/es5/draco-writer-nodejs.js.map +1 -0
- package/dist/es5/draco-writer.js +63 -0
- package/dist/es5/draco-writer.js.map +1 -0
- package/dist/es5/draco3d/draco3d-types.js +51 -0
- package/dist/es5/draco3d/draco3d-types.js.map +1 -0
- package/dist/es5/index.js +79 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/draco-builder.js +324 -0
- package/dist/es5/lib/draco-builder.js.map +1 -0
- package/dist/es5/lib/draco-module-loader.js +183 -0
- package/dist/es5/lib/draco-module-loader.js.map +1 -0
- package/dist/es5/lib/draco-parser.js +435 -0
- package/dist/es5/lib/draco-parser.js.map +1 -0
- package/dist/es5/lib/draco-types.js +2 -0
- package/dist/es5/lib/draco-types.js.map +1 -0
- package/dist/es5/lib/utils/get-draco-schema.js +47 -0
- package/dist/es5/lib/utils/get-draco-schema.js.map +1 -0
- package/dist/es5/lib/utils/version.js +9 -0
- package/dist/es5/lib/utils/version.js.map +1 -0
- package/dist/es5/workers/draco-nodejs-worker.js +7 -0
- package/dist/es5/workers/draco-nodejs-worker.js.map +1 -0
- package/dist/es5/workers/draco-worker.js +6 -0
- package/dist/es5/workers/draco-worker.js.map +1 -0
- package/dist/es5/workers/draco-writer-nodejs-worker.js +53 -0
- package/dist/es5/workers/draco-writer-nodejs-worker.js.map +1 -0
- package/dist/es5/workers/draco-writer-worker.js +53 -0
- package/dist/es5/workers/draco-writer-worker.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/draco-loader.js +24 -0
- package/dist/esm/draco-loader.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 +31 -0
- package/dist/esm/draco-writer.js.map +1 -0
- package/dist/esm/draco3d/draco3d-types.js +41 -0
- package/dist/esm/draco3d/draco3d-types.js.map +1 -0
- package/dist/esm/index.js +35 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/draco-builder.js +268 -0
- package/dist/esm/lib/draco-builder.js.map +1 -0
- package/dist/esm/lib/draco-module-loader.js +76 -0
- package/dist/esm/lib/draco-module-loader.js.map +1 -0
- package/dist/esm/lib/draco-parser.js +363 -0
- package/dist/esm/lib/draco-parser.js.map +1 -0
- package/dist/esm/lib/draco-types.js +2 -0
- package/dist/esm/lib/draco-types.js.map +1 -0
- package/dist/esm/lib/utils/get-draco-schema.js +41 -0
- package/dist/esm/lib/utils/get-draco-schema.js.map +1 -0
- package/dist/esm/lib/utils/version.js +2 -0
- package/dist/esm/lib/utils/version.js.map +1 -0
- package/dist/esm/workers/draco-nodejs-worker.js +5 -0
- package/dist/esm/workers/draco-nodejs-worker.js.map +1 -0
- package/dist/esm/workers/draco-worker.js +4 -0
- package/dist/esm/workers/draco-worker.js.map +1 -0
- package/dist/esm/workers/draco-writer-nodejs-worker.js +30 -0
- package/dist/esm/workers/draco-writer-nodejs-worker.js.map +1 -0
- package/dist/esm/workers/draco-writer-worker.js +30 -0
- package/dist/esm/workers/draco-writer-worker.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -21
- package/dist/lib/draco-builder.d.ts +107 -0
- package/dist/lib/draco-builder.d.ts.map +1 -0
- package/dist/lib/draco-builder.js +313 -329
- package/dist/lib/draco-module-loader.d.ts +3 -0
- package/dist/lib/draco-module-loader.d.ts.map +1 -0
- package/dist/lib/draco-module-loader.js +81 -73
- package/dist/lib/draco-parser.d.ts +137 -0
- package/dist/lib/draco-parser.d.ts.map +1 -0
- package/dist/lib/draco-parser.js +440 -416
- package/dist/lib/draco-types.d.ts +59 -0
- package/dist/lib/draco-types.d.ts.map +1 -0
- package/dist/lib/draco-types.js +3 -2
- package/dist/lib/utils/get-draco-schema.d.ts +8 -0
- package/dist/lib/utils/get-draco-schema.d.ts.map +1 -0
- package/dist/lib/utils/get-draco-schema.js +35 -41
- package/dist/lib/utils/version.d.ts +2 -0
- package/dist/lib/utils/version.d.ts.map +1 -0
- package/dist/lib/utils/version.js +7 -2
- package/dist/workers/draco-nodejs-worker.d.ts +2 -0
- package/dist/workers/draco-nodejs-worker.d.ts.map +1 -0
- package/dist/workers/draco-nodejs-worker.js +6 -0
- package/dist/workers/draco-worker.d.ts +2 -0
- package/dist/workers/draco-worker.d.ts.map +1 -0
- package/dist/workers/draco-worker.js +5 -4
- 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 +18 -11
- package/src/draco-loader.ts +8 -4
- package/src/draco-writer-nodejs.ts +4 -0
- package/src/draco-writer.ts +17 -12
- package/src/index.ts +21 -1
- package/src/lib/draco-module-loader.ts +9 -5
- package/src/lib/utils/get-draco-schema.ts +7 -6
- package/src/workers/draco-nodejs-worker.ts +5 -0
- package/src/workers/draco-writer-nodejs-worker.ts +25 -0
- package/src/workers/draco-writer-worker.ts +25 -0
- package/dist/bundle.js.map +0 -1
- package/dist/draco-loader.js.map +0 -1
- package/dist/draco-writer.js.map +0 -1
- package/dist/draco3d/draco3d-types.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/draco-builder.js.map +0 -1
- package/dist/lib/draco-module-loader.js.map +0 -1
- package/dist/lib/draco-parser.js.map +0 -1
- package/dist/lib/draco-types.js.map +0 -1
- package/dist/lib/utils/get-draco-schema.js.map +0 -1
- package/dist/lib/utils/version.js.map +0 -1
- package/dist/workers/draco-worker.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-draco-schema.js","names":["deduceMeshField","getDracoSchema","attributes","loaderData","indices","metadata","makeMetadata","fields","namedLoaderDataAttributes","transformAttributesLoaderData","attributeName","attribute","field","getArrowFieldFromAttribute","push","indicesField","result","key","dracoAttribute","name","metadataMap","undefined","Object","entries","serializedMetadata","concat","JSON","stringify"],"sources":["../../../../src/lib/utils/get-draco-schema.ts"],"sourcesContent":["import {deduceMeshField, MeshAttribute} from '@loaders.gl/schema';\nimport {Schema, Field} from '@loaders.gl/schema';\nimport type {DracoAttribute, DracoLoaderData, DracoMetadataEntry} from '../draco-types';\n\n/** Extract an arrow-like schema from a Draco mesh */\nexport function getDracoSchema(\n attributes: {[attributeName: string]: MeshAttribute},\n loaderData: DracoLoaderData,\n indices?: MeshAttribute\n): Schema {\n const metadata = makeMetadata(loaderData.metadata);\n const fields: Field[] = [];\n const namedLoaderDataAttributes = transformAttributesLoaderData(loaderData.attributes);\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName];\n const field = getArrowFieldFromAttribute(\n attributeName,\n attribute,\n namedLoaderDataAttributes[attributeName]\n );\n fields.push(field);\n }\n if (indices) {\n const indicesField = getArrowFieldFromAttribute('indices', indices);\n fields.push(indicesField);\n }\n return {fields, metadata};\n}\n\nfunction transformAttributesLoaderData(loaderData: {[key: number]: DracoAttribute}): {\n [attributeName: string]: DracoAttribute;\n} {\n const result: {[attributeName: string]: DracoAttribute} = {};\n for (const key in loaderData) {\n const dracoAttribute = loaderData[key];\n result[dracoAttribute.name || 'undefined'] = dracoAttribute;\n }\n return result;\n}\n\nfunction getArrowFieldFromAttribute(\n attributeName: string,\n attribute: MeshAttribute,\n loaderData?: DracoAttribute\n): Field {\n const metadataMap = loaderData ? makeMetadata(loaderData.metadata) : undefined;\n const field = deduceMeshField(attributeName, attribute, metadataMap);\n return field;\n}\n\nfunction makeMetadata(metadata: {[key: string]: DracoMetadataEntry}): Record<string, string> {\n Object.entries(metadata);\n const serializedMetadata: Record<string, string> = {};\n for (const key in metadata) {\n serializedMetadata[`${key}.string`] = JSON.stringify(metadata[key]);\n }\n return serializedMetadata;\n}\n"],"mappings":"AAAA,SAAQA,eAAe,QAAsB,oBAAoB;AAKjE,OAAO,SAASC,cAAcA,CAC5BC,UAAoD,EACpDC,UAA2B,EAC3BC,OAAuB,EACf;EACR,MAAMC,QAAQ,GAAGC,YAAY,CAACH,UAAU,CAACE,QAAQ,CAAC;EAClD,MAAME,MAAe,GAAG,EAAE;EAC1B,MAAMC,yBAAyB,GAAGC,6BAA6B,CAACN,UAAU,CAACD,UAAU,CAAC;EACtF,KAAK,MAAMQ,aAAa,IAAIR,UAAU,EAAE;IACtC,MAAMS,SAAS,GAAGT,UAAU,CAACQ,aAAa,CAAC;IAC3C,MAAME,KAAK,GAAGC,0BAA0B,CACtCH,aAAa,EACbC,SAAS,EACTH,yBAAyB,CAACE,aAAa,CACzC,CAAC;IACDH,MAAM,CAACO,IAAI,CAACF,KAAK,CAAC;EACpB;EACA,IAAIR,OAAO,EAAE;IACX,MAAMW,YAAY,GAAGF,0BAA0B,CAAC,SAAS,EAAET,OAAO,CAAC;IACnEG,MAAM,CAACO,IAAI,CAACC,YAAY,CAAC;EAC3B;EACA,OAAO;IAACR,MAAM;IAAEF;EAAQ,CAAC;AAC3B;AAEA,SAASI,6BAA6BA,CAACN,UAA2C,EAEhF;EACA,MAAMa,MAAiD,GAAG,CAAC,CAAC;EAC5D,KAAK,MAAMC,GAAG,IAAId,UAAU,EAAE;IAC5B,MAAMe,cAAc,GAAGf,UAAU,CAACc,GAAG,CAAC;IACtCD,MAAM,CAACE,cAAc,CAACC,IAAI,IAAI,WAAW,CAAC,GAAGD,cAAc;EAC7D;EACA,OAAOF,MAAM;AACf;AAEA,SAASH,0BAA0BA,CACjCH,aAAqB,EACrBC,SAAwB,EACxBR,UAA2B,EACpB;EACP,MAAMiB,WAAW,GAAGjB,UAAU,GAAGG,YAAY,CAACH,UAAU,CAACE,QAAQ,CAAC,GAAGgB,SAAS;EAC9E,MAAMT,KAAK,GAAGZ,eAAe,CAACU,aAAa,EAAEC,SAAS,EAAES,WAAW,CAAC;EACpE,OAAOR,KAAK;AACd;AAEA,SAASN,YAAYA,CAACD,QAA6C,EAA0B;EAC3FiB,MAAM,CAACC,OAAO,CAAClB,QAAQ,CAAC;EACxB,MAAMmB,kBAA0C,GAAG,CAAC,CAAC;EACrD,KAAK,MAAMP,GAAG,IAAIZ,QAAQ,EAAE;IAC1BmB,kBAAkB,IAAAC,MAAA,CAAIR,GAAG,aAAU,GAAGS,IAAI,CAACC,SAAS,CAACtB,QAAQ,CAACY,GAAG,CAAC,CAAC;EACrE;EACA,OAAOO,kBAAkB;AAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","names":["VERSION"],"sources":["../../../../src/lib/utils/version.ts"],"sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n"],"mappings":"AAGA,OAAO,MAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draco-nodejs-worker.js","names":["createLoaderWorker","DracoLoader"],"sources":["../../../src/workers/draco-nodejs-worker.ts"],"sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport '@loaders.gl/polyfills';\nimport {DracoLoader} from '../index';\n\ncreateLoaderWorker(DracoLoader);\n"],"mappings":"AAAA,SAAQA,kBAAkB,QAAO,0BAA0B;AAC3D,OAAO,uBAAuB;AAC9B,SAAQC,WAAW,QAAO,UAAU;AAEpCD,kBAAkB,CAACC,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draco-worker.js","names":["createLoaderWorker","DracoLoader"],"sources":["../../../src/workers/draco-worker.ts"],"sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {DracoLoader} from '../index';\n\ncreateLoaderWorker(DracoLoader);\n"],"mappings":"AAAA,SAAQA,kBAAkB,QAAO,0BAA0B;AAC3D,SAAQC,WAAW,QAAO,UAAU;AAEpCD,kBAAkB,CAACC,WAAW,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { WorkerBody } from '@loaders.gl/worker-utils';
|
|
2
|
+
import { DracoWriterNodeJS } from '../draco-writer-nodejs';
|
|
3
|
+
(() => {
|
|
4
|
+
if (!WorkerBody.inWorkerThread()) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
WorkerBody.onmessage = async (type, payload) => {
|
|
8
|
+
switch (type) {
|
|
9
|
+
case 'process':
|
|
10
|
+
try {
|
|
11
|
+
const {
|
|
12
|
+
input,
|
|
13
|
+
options
|
|
14
|
+
} = payload;
|
|
15
|
+
const result = await DracoWriterNodeJS.encode(input, options);
|
|
16
|
+
WorkerBody.postMessage('done', {
|
|
17
|
+
result
|
|
18
|
+
});
|
|
19
|
+
} catch (error) {
|
|
20
|
+
const message = error instanceof Error ? error.message : '';
|
|
21
|
+
WorkerBody.postMessage('error', {
|
|
22
|
+
error: message
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
break;
|
|
26
|
+
default:
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
})();
|
|
30
|
+
//# sourceMappingURL=draco-writer-nodejs-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draco-writer-nodejs-worker.js","names":["WorkerBody","DracoWriterNodeJS","inWorkerThread","onmessage","type","payload","input","options","result","encode","postMessage","error","message","Error"],"sources":["../../../src/workers/draco-writer-nodejs-worker.ts"],"sourcesContent":["import {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';\nimport {DracoWriterNodeJS} from '../draco-writer-nodejs';\n\n(() => {\n // Check that we are actually in a worker thread\n if (!WorkerBody.inWorkerThread()) {\n return;\n }\n\n WorkerBody.onmessage = async (type, payload: WorkerMessagePayload) => {\n switch (type) {\n case 'process':\n try {\n const {input, options} = payload;\n const result = await DracoWriterNodeJS.encode!(input, options);\n WorkerBody.postMessage('done', {result});\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n break;\n default:\n }\n };\n})();\n"],"mappings":"AAAA,SAAQA,UAAU,QAA6B,0BAA0B;AACzE,SAAQC,iBAAiB,QAAO,wBAAwB;AAExD,CAAC,MAAM;EAEL,IAAI,CAACD,UAAU,CAACE,cAAc,CAAC,CAAC,EAAE;IAChC;EACF;EAEAF,UAAU,CAACG,SAAS,GAAG,OAAOC,IAAI,EAAEC,OAA6B,KAAK;IACpE,QAAQD,IAAI;MACV,KAAK,SAAS;QACZ,IAAI;UACF,MAAM;YAACE,KAAK;YAAEC;UAAO,CAAC,GAAGF,OAAO;UAChC,MAAMG,MAAM,GAAG,MAAMP,iBAAiB,CAACQ,MAAM,CAAEH,KAAK,EAAEC,OAAO,CAAC;UAC9DP,UAAU,CAACU,WAAW,CAAC,MAAM,EAAE;YAACF;UAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,OAAOG,KAAK,EAAE;UACd,MAAMC,OAAO,GAAGD,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACC,OAAO,GAAG,EAAE;UAC3DZ,UAAU,CAACU,WAAW,CAAC,OAAO,EAAE;YAACC,KAAK,EAAEC;UAAO,CAAC,CAAC;QACnD;QACA;MACF;IACF;EACF,CAAC;AACH,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { WorkerBody } from '@loaders.gl/worker-utils';
|
|
2
|
+
import { DracoWriter } from '../draco-writer';
|
|
3
|
+
(() => {
|
|
4
|
+
if (!WorkerBody.inWorkerThread()) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
WorkerBody.onmessage = async (type, payload) => {
|
|
8
|
+
switch (type) {
|
|
9
|
+
case 'process':
|
|
10
|
+
try {
|
|
11
|
+
const {
|
|
12
|
+
input,
|
|
13
|
+
options
|
|
14
|
+
} = payload;
|
|
15
|
+
const result = await DracoWriter.encode(input, options);
|
|
16
|
+
WorkerBody.postMessage('done', {
|
|
17
|
+
result
|
|
18
|
+
});
|
|
19
|
+
} catch (error) {
|
|
20
|
+
const message = error instanceof Error ? error.message : '';
|
|
21
|
+
WorkerBody.postMessage('error', {
|
|
22
|
+
error: message
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
break;
|
|
26
|
+
default:
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
})();
|
|
30
|
+
//# sourceMappingURL=draco-writer-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draco-writer-worker.js","names":["WorkerBody","DracoWriter","inWorkerThread","onmessage","type","payload","input","options","result","encode","postMessage","error","message","Error"],"sources":["../../../src/workers/draco-writer-worker.ts"],"sourcesContent":["import {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';\nimport {DracoWriter} from '../draco-writer';\n\n(() => {\n // Check that we are actually in a worker thread\n if (!WorkerBody.inWorkerThread()) {\n return;\n }\n\n WorkerBody.onmessage = async (type, payload: WorkerMessagePayload) => {\n switch (type) {\n case 'process':\n try {\n const {input, options} = payload;\n const result = await DracoWriter.encode!(input, options);\n WorkerBody.postMessage('done', {result});\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n break;\n default:\n }\n };\n})();\n"],"mappings":"AAAA,SAAQA,UAAU,QAA6B,0BAA0B;AACzE,SAAQC,WAAW,QAAO,iBAAiB;AAE3C,CAAC,MAAM;EAEL,IAAI,CAACD,UAAU,CAACE,cAAc,CAAC,CAAC,EAAE;IAChC;EACF;EAEAF,UAAU,CAACG,SAAS,GAAG,OAAOC,IAAI,EAAEC,OAA6B,KAAK;IACpE,QAAQD,IAAI;MACV,KAAK,SAAS;QACZ,IAAI;UACF,MAAM;YAACE,KAAK;YAAEC;UAAO,CAAC,GAAGF,OAAO;UAChC,MAAMG,MAAM,GAAG,MAAMP,WAAW,CAACQ,MAAM,CAAEH,KAAK,EAAEC,OAAO,CAAC;UACxDP,UAAU,CAACU,WAAW,CAAC,MAAM,EAAE;YAACF;UAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,OAAOG,KAAK,EAAE;UACd,MAAMC,OAAO,GAAGD,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACC,OAAO,GAAG,EAAE;UAC3DZ,UAAU,CAACU,WAAW,CAAC,OAAO,EAAE;YAACC,KAAK,EAAEC;UAAO,CAAC,CAAC;QACnD;QACA;MACF;IACF;EACF,CAAC;AACH,CAAC,EAAE,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { LoaderWithParser } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { DracoMesh, DracoLoaderData } from './lib/draco-types';
|
|
3
|
+
import type { DracoLoaderOptions } from './draco-loader';
|
|
4
|
+
import { DracoLoader as DracoWorkerLoader } from './draco-loader';
|
|
5
|
+
export type { DracoMesh, DracoLoaderData };
|
|
6
|
+
export type { DracoWriterOptions } from './draco-writer';
|
|
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
|
+
};
|
|
23
|
+
export type { DracoLoaderOptions };
|
|
24
|
+
export { DracoWorkerLoader };
|
|
25
|
+
/**
|
|
26
|
+
* Loader for Draco3D compressed geometries
|
|
27
|
+
*/
|
|
28
|
+
export declare const DracoLoader: LoaderWithParser<DracoMesh, never, DracoLoaderOptions>;
|
|
29
|
+
export declare const _TypecheckDracoLoader: LoaderWithParser;
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,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;AAOhE,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,EAAE,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAG9E,CAAC;AAaF,eAAO,MAAM,qBAAqB,EAAE,gBAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,24 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports._TypecheckDracoLoader = exports.DracoLoader = exports.DracoWorkerLoader = exports.DracoWriterWorker = exports.DracoWriter = void 0;
|
|
8
|
+
const worker_utils_1 = require("@loaders.gl/worker-utils");
|
|
9
|
+
const draco_loader_1 = require("./draco-loader");
|
|
10
|
+
Object.defineProperty(exports, "DracoWorkerLoader", { enumerable: true, get: function () { return draco_loader_1.DracoLoader; } });
|
|
11
|
+
const draco_parser_1 = __importDefault(require("./lib/draco-parser"));
|
|
12
|
+
const draco_module_loader_1 = require("./lib/draco-module-loader");
|
|
13
|
+
const version_1 = require("./lib/utils/version");
|
|
14
|
+
var draco_writer_1 = require("./draco-writer");
|
|
15
|
+
Object.defineProperty(exports, "DracoWriter", { enumerable: true, get: function () { return draco_writer_1.DracoWriter; } });
|
|
16
|
+
/**
|
|
17
|
+
* Browser worker doesn't work because of issue during "draco_encoder.js" loading.
|
|
18
|
+
* 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.
|
|
19
|
+
*/
|
|
20
|
+
exports.DracoWriterWorker = {
|
|
21
|
+
id: worker_utils_1.isBrowser ? 'draco-writer' : 'draco-writer-nodejs',
|
|
22
|
+
name: 'Draco compressed geometry writer',
|
|
23
|
+
module: 'draco',
|
|
24
|
+
version: version_1.VERSION,
|
|
25
|
+
worker: true,
|
|
26
|
+
options: {
|
|
27
|
+
draco: {},
|
|
28
|
+
source: null
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Loader for Draco3D compressed geometries
|
|
33
|
+
*/
|
|
34
|
+
exports.DracoLoader = {
|
|
35
|
+
...draco_loader_1.DracoLoader,
|
|
36
|
+
parse
|
|
8
37
|
};
|
|
9
|
-
|
|
10
38
|
async function parse(arrayBuffer, options) {
|
|
11
|
-
|
|
12
|
-
draco
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
dracoParser.destroy();
|
|
20
|
-
}
|
|
39
|
+
const { draco } = await (0, draco_module_loader_1.loadDracoDecoderModule)(options);
|
|
40
|
+
const dracoParser = new draco_parser_1.default(draco);
|
|
41
|
+
try {
|
|
42
|
+
return dracoParser.parseSync(arrayBuffer, options?.draco);
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
dracoParser.destroy();
|
|
46
|
+
}
|
|
21
47
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
48
|
+
// TYPE TESTS - TODO find a better way than exporting junk
|
|
49
|
+
exports._TypecheckDracoLoader = exports.DracoLoader;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { Draco3D, Encoder, Mesh, MeshBuilder, PointCloud, Metadata, MetadataBuilder, draco_GeometryAttribute_Type } from '../draco3d/draco3d-types';
|
|
2
|
+
import type { TypedArray } from '@loaders.gl/schema';
|
|
3
|
+
import type { DracoMesh } from './draco-types';
|
|
4
|
+
export type DracoBuildOptions = {
|
|
5
|
+
pointcloud?: boolean;
|
|
6
|
+
metadata?: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
};
|
|
9
|
+
attributesMetadata?: {};
|
|
10
|
+
log?: any;
|
|
11
|
+
speed?: [number, number];
|
|
12
|
+
method?: string;
|
|
13
|
+
quantization?: {
|
|
14
|
+
[attributeName: string]: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export default class DracoBuilder {
|
|
18
|
+
draco: Draco3D;
|
|
19
|
+
dracoEncoder: Encoder;
|
|
20
|
+
dracoMeshBuilder: MeshBuilder;
|
|
21
|
+
dracoMetadataBuilder: MetadataBuilder;
|
|
22
|
+
log: any;
|
|
23
|
+
constructor(draco: Draco3D);
|
|
24
|
+
destroy(): void;
|
|
25
|
+
destroyEncodedObject(object: any): void;
|
|
26
|
+
/**
|
|
27
|
+
* Encode mesh or point cloud
|
|
28
|
+
* @param mesh =({})
|
|
29
|
+
* @param options
|
|
30
|
+
*/
|
|
31
|
+
encodeSync(mesh: DracoMesh, options?: DracoBuildOptions): ArrayBuffer;
|
|
32
|
+
_getAttributesFromMesh(mesh: DracoMesh): {
|
|
33
|
+
attributes: {
|
|
34
|
+
[attributeName: string]: import("@loaders.gl/schema").MeshAttribute;
|
|
35
|
+
};
|
|
36
|
+
indices?: import("@loaders.gl/schema").MeshAttribute | undefined;
|
|
37
|
+
topology: "triangle-list" | "triangle-strip" | "point-list";
|
|
38
|
+
mode: number;
|
|
39
|
+
loader: "draco";
|
|
40
|
+
loaderData: {
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
} & import("./draco-types").DracoLoaderData;
|
|
43
|
+
header?: {
|
|
44
|
+
vertexCount: number;
|
|
45
|
+
boundingBox?: [number[], number[]] | undefined;
|
|
46
|
+
} | undefined;
|
|
47
|
+
schema: import("@loaders.gl/schema").Schema;
|
|
48
|
+
};
|
|
49
|
+
_encodePointCloud(pointcloud: DracoMesh, options: DracoBuildOptions): ArrayBuffer;
|
|
50
|
+
_encodeMesh(mesh: DracoMesh, options: DracoBuildOptions): ArrayBuffer;
|
|
51
|
+
/**
|
|
52
|
+
* Set encoding options.
|
|
53
|
+
* @param {{speed?: any; method?: any; quantization?: any;}} options
|
|
54
|
+
*/
|
|
55
|
+
_setOptions(options: DracoBuildOptions): void;
|
|
56
|
+
/**
|
|
57
|
+
* @param {Mesh} dracoMesh
|
|
58
|
+
* @param {object} attributes
|
|
59
|
+
* @returns {Mesh}
|
|
60
|
+
*/
|
|
61
|
+
_createDracoMesh(dracoMesh: Mesh, attributes: any, options: DracoBuildOptions): Mesh;
|
|
62
|
+
/**
|
|
63
|
+
* @param {} dracoPointCloud
|
|
64
|
+
* @param {object} attributes
|
|
65
|
+
*/
|
|
66
|
+
_createDracoPointCloud(dracoPointCloud: PointCloud, attributes: object, options: DracoBuildOptions): PointCloud;
|
|
67
|
+
/**
|
|
68
|
+
* @param mesh
|
|
69
|
+
* @param attributeName
|
|
70
|
+
* @param attribute
|
|
71
|
+
* @param vertexCount
|
|
72
|
+
*/
|
|
73
|
+
_addAttributeToMesh(mesh: PointCloud, attributeName: string, attribute: TypedArray, vertexCount: number): any;
|
|
74
|
+
/**
|
|
75
|
+
* DRACO can compress attributes of know type better
|
|
76
|
+
* TODO - expose an attribute type map?
|
|
77
|
+
* @param attributeName
|
|
78
|
+
*/
|
|
79
|
+
_getDracoAttributeType(attributeName: string): draco_GeometryAttribute_Type | 'indices';
|
|
80
|
+
_getPositionAttribute(attributes: any): any;
|
|
81
|
+
/**
|
|
82
|
+
* Add metadata for the geometry.
|
|
83
|
+
* @param dracoGeometry - WASM Draco Object
|
|
84
|
+
* @param metadata
|
|
85
|
+
*/
|
|
86
|
+
_addGeometryMetadata(dracoGeometry: PointCloud, metadata: {
|
|
87
|
+
[key: string]: string;
|
|
88
|
+
}): void;
|
|
89
|
+
/**
|
|
90
|
+
* Add metadata for an attribute to geometry.
|
|
91
|
+
* @param dracoGeometry - WASM Draco Object
|
|
92
|
+
* @param uniqueAttributeId
|
|
93
|
+
* @param metadata
|
|
94
|
+
*/
|
|
95
|
+
_addAttributeMetadata(dracoGeometry: PointCloud, uniqueAttributeId: number, metadata: Map<string, string> | {
|
|
96
|
+
[key: string]: string;
|
|
97
|
+
}): void;
|
|
98
|
+
/**
|
|
99
|
+
* Add contents of object or map to a WASM Draco Metadata Object
|
|
100
|
+
* @param dracoMetadata - WASM Draco Object
|
|
101
|
+
* @param metadata
|
|
102
|
+
*/
|
|
103
|
+
_populateDracoMetadata(dracoMetadata: Metadata, metadata: Map<string, string> | {
|
|
104
|
+
[key: string]: string;
|
|
105
|
+
}): void;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=draco-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draco-builder.d.ts","sourceRoot":"","sources":["../../src/lib/draco-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,OAAO,EAEP,OAAO,EACP,IAAI,EACJ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,eAAe,EACf,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IACnC,kBAAkB,CAAC,EAAE,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,GAAG,CAAC;IAGV,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE;QAAC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;CAClD,CAAC;AAYF,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,WAAW,CAAC;IAC9B,oBAAoB,EAAE,eAAe,CAAC;IACtC,GAAG,EAAE,GAAG,CAAC;gBAGG,KAAK,EAAE,OAAO;IAO1B,OAAO,IAAI,IAAI;IAaf,oBAAoB,CAAC,MAAM,KAAA,GAAG,IAAI;IAMlC;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAE,iBAAsB,GAAG,WAAW;IAWzE,sBAAsB,CAAC,IAAI,EAAE,SAAS;;;;;;;;;;;;;;;;;IAUtC,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,WAAW;IAmCjF,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,WAAW;IA8BrE;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAmB7C;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,KAAA,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IA8B/E;;;OAGG;IACH,sBAAsB,CACpB,eAAe,EAAE,UAAU,EAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,GACzB,UAAU;IAkCb;;;;;OAKG;IACH,mBAAmB,CACjB,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,MAAM;IAkDrB;;;;OAIG;IACH,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS;IAsBvF,qBAAqB,CAAC,UAAU,KAAA;IAWhC;;;;OAIG;IACH,oBAAoB,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC;IAMjF;;;;;OAKG;IACH,qBAAqB,CACnB,aAAa,EAAE,UAAU,EACzB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC;IAezD;;;;OAIG;IACH,sBAAsB,CACpB,aAAa,EAAE,QAAQ,EACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC;CAsB1D"}
|