@loaders.gl/draco 3.1.0-alpha.3 → 3.1.0-beta.2

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 (100) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +2 -2
  4. package/dist/dist.min.js +4 -2
  5. package/dist/dist.min.js.map +7 -1
  6. package/dist/draco-loader.d.ts +28 -0
  7. package/dist/draco-loader.d.ts.map +1 -0
  8. package/dist/draco-loader.js +27 -21
  9. package/dist/draco-worker.js +2 -2
  10. package/dist/draco-worker.js.map +7 -1
  11. package/dist/draco-writer.d.ts +8 -0
  12. package/dist/draco-writer.d.ts.map +1 -0
  13. package/dist/draco-writer.js +39 -27
  14. package/dist/draco3d/draco3d-types.d.ts +295 -0
  15. package/dist/draco3d/draco3d-types.d.ts.map +1 -0
  16. package/dist/draco3d/draco3d-types.js +47 -44
  17. package/dist/es5/bundle.js +7 -0
  18. package/dist/es5/bundle.js.map +1 -0
  19. package/dist/es5/draco-loader.js +34 -0
  20. package/dist/es5/draco-loader.js.map +1 -0
  21. package/dist/es5/draco-writer.js +45 -0
  22. package/dist/es5/draco-writer.js.map +1 -0
  23. package/dist/es5/draco3d/draco3d-types.js +58 -0
  24. package/dist/es5/draco3d/draco3d-types.js.map +1 -0
  25. package/dist/es5/index.js +50 -0
  26. package/dist/es5/index.js.map +1 -0
  27. package/dist/es5/lib/draco-builder.js +361 -0
  28. package/dist/es5/lib/draco-builder.js.map +1 -0
  29. package/dist/es5/lib/draco-module-loader.js +96 -0
  30. package/dist/es5/lib/draco-module-loader.js.map +1 -0
  31. package/dist/es5/lib/draco-parser.js +464 -0
  32. package/dist/es5/lib/draco-parser.js.map +1 -0
  33. package/dist/es5/lib/draco-types.js +2 -0
  34. package/dist/{lib → es5/lib}/draco-types.js.map +0 -0
  35. package/dist/es5/lib/utils/get-draco-schema.js +55 -0
  36. package/dist/es5/lib/utils/get-draco-schema.js.map +1 -0
  37. package/dist/es5/lib/utils/version.js +9 -0
  38. package/dist/es5/lib/utils/version.js.map +1 -0
  39. package/dist/es5/workers/draco-worker.js +8 -0
  40. package/dist/es5/workers/draco-worker.js.map +1 -0
  41. package/dist/esm/bundle.js +5 -0
  42. package/dist/esm/bundle.js.map +1 -0
  43. package/dist/esm/draco-loader.js +24 -0
  44. package/dist/esm/draco-loader.js.map +1 -0
  45. package/dist/esm/draco-writer.js +32 -0
  46. package/dist/esm/draco-writer.js.map +1 -0
  47. package/dist/esm/draco3d/draco3d-types.js +48 -0
  48. package/dist/esm/draco3d/draco3d-types.js.map +1 -0
  49. package/dist/esm/index.js +24 -0
  50. package/dist/esm/index.js.map +1 -0
  51. package/dist/esm/lib/draco-builder.js +354 -0
  52. package/dist/esm/lib/draco-builder.js.map +1 -0
  53. package/dist/esm/lib/draco-module-loader.js +85 -0
  54. package/dist/esm/lib/draco-module-loader.js.map +1 -0
  55. package/dist/esm/lib/draco-parser.js +452 -0
  56. package/dist/esm/lib/draco-parser.js.map +1 -0
  57. package/dist/esm/lib/draco-types.js +2 -0
  58. package/dist/esm/lib/draco-types.js.map +1 -0
  59. package/dist/esm/lib/utils/get-draco-schema.js +48 -0
  60. package/dist/esm/lib/utils/get-draco-schema.js.map +1 -0
  61. package/dist/esm/lib/utils/version.js +2 -0
  62. package/dist/esm/lib/utils/version.js.map +1 -0
  63. package/dist/esm/workers/draco-worker.js +4 -0
  64. package/dist/esm/workers/draco-worker.js.map +1 -0
  65. package/dist/index.d.ts +29 -0
  66. package/dist/index.d.ts.map +1 -0
  67. package/dist/index.js +28 -21
  68. package/dist/lib/draco-builder.d.ts +107 -0
  69. package/dist/lib/draco-builder.d.ts.map +1 -0
  70. package/dist/lib/draco-builder.js +313 -331
  71. package/dist/lib/draco-module-loader.d.ts +3 -0
  72. package/dist/lib/draco-module-loader.d.ts.map +1 -0
  73. package/dist/lib/draco-module-loader.js +74 -68
  74. package/dist/lib/draco-parser.d.ts +137 -0
  75. package/dist/lib/draco-parser.d.ts.map +1 -0
  76. package/dist/lib/draco-parser.js +440 -416
  77. package/dist/lib/draco-types.d.ts +59 -0
  78. package/dist/lib/draco-types.d.ts.map +1 -0
  79. package/dist/lib/draco-types.js +3 -2
  80. package/dist/lib/utils/get-draco-schema.d.ts +8 -0
  81. package/dist/lib/utils/get-draco-schema.d.ts.map +1 -0
  82. package/dist/lib/utils/get-draco-schema.js +35 -41
  83. package/dist/lib/utils/version.d.ts +2 -0
  84. package/dist/lib/utils/version.d.ts.map +1 -0
  85. package/dist/lib/utils/version.js +7 -2
  86. package/dist/workers/draco-worker.d.ts +2 -0
  87. package/dist/workers/draco-worker.d.ts.map +1 -0
  88. package/dist/workers/draco-worker.js +5 -4
  89. package/package.json +10 -10
  90. package/dist/bundle.js.map +0 -1
  91. package/dist/draco-loader.js.map +0 -1
  92. package/dist/draco-writer.js.map +0 -1
  93. package/dist/draco3d/draco3d-types.js.map +0 -1
  94. package/dist/index.js.map +0 -1
  95. package/dist/lib/draco-builder.js.map +0 -1
  96. package/dist/lib/draco-module-loader.js.map +0 -1
  97. package/dist/lib/draco-parser.js.map +0 -1
  98. package/dist/lib/utils/get-draco-schema.js.map +0 -1
  99. package/dist/lib/utils/version.js.map +0 -1
  100. package/dist/workers/draco-worker.js.map +0 -1
@@ -0,0 +1,48 @@
1
+ import { deduceMeshField } from '@loaders.gl/schema';
2
+ import { Schema } from '@loaders.gl/schema';
3
+ export function getDracoSchema(attributes, loaderData, indices) {
4
+ const metadataMap = makeMetadata(loaderData.metadata);
5
+ const fields = [];
6
+ const namedLoaderDataAttributes = transformAttributesLoaderData(loaderData.attributes);
7
+
8
+ for (const attributeName in attributes) {
9
+ const attribute = attributes[attributeName];
10
+ const field = getArrowFieldFromAttribute(attributeName, attribute, namedLoaderDataAttributes[attributeName]);
11
+ fields.push(field);
12
+ }
13
+
14
+ if (indices) {
15
+ const indicesField = getArrowFieldFromAttribute('indices', indices);
16
+ fields.push(indicesField);
17
+ }
18
+
19
+ return new Schema(fields, metadataMap);
20
+ }
21
+
22
+ function transformAttributesLoaderData(loaderData) {
23
+ const result = {};
24
+
25
+ for (const key in loaderData) {
26
+ const dracoAttribute = loaderData[key];
27
+ result[dracoAttribute.name || 'undefined'] = dracoAttribute;
28
+ }
29
+
30
+ return result;
31
+ }
32
+
33
+ function getArrowFieldFromAttribute(attributeName, attribute, loaderData) {
34
+ const metadataMap = loaderData ? makeMetadata(loaderData.metadata) : undefined;
35
+ const field = deduceMeshField(attributeName, attribute, metadataMap);
36
+ return field;
37
+ }
38
+
39
+ function makeMetadata(metadata) {
40
+ const metadataMap = new Map();
41
+
42
+ for (const key in metadata) {
43
+ metadataMap.set("".concat(key, ".string"), JSON.stringify(metadata[key]));
44
+ }
45
+
46
+ return metadataMap;
47
+ }
48
+ //# sourceMappingURL=get-draco-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/utils/get-draco-schema.ts"],"names":["deduceMeshField","Schema","getDracoSchema","attributes","loaderData","indices","metadataMap","makeMetadata","metadata","fields","namedLoaderDataAttributes","transformAttributesLoaderData","attributeName","attribute","field","getArrowFieldFromAttribute","push","indicesField","result","key","dracoAttribute","name","undefined","Map","set","JSON","stringify"],"mappings":"AAAA,SAAQA,eAAR,QAA6C,oBAA7C;AACA,SAAQC,MAAR,QAA4B,oBAA5B;AAIA,OAAO,SAASC,cAAT,CACLC,UADK,EAELC,UAFK,EAGLC,OAHK,EAIG;AACR,QAAMC,WAAW,GAAGC,YAAY,CAACH,UAAU,CAACI,QAAZ,CAAhC;AACA,QAAMC,MAAe,GAAG,EAAxB;AACA,QAAMC,yBAAyB,GAAGC,6BAA6B,CAACP,UAAU,CAACD,UAAZ,CAA/D;;AACA,OAAK,MAAMS,aAAX,IAA4BT,UAA5B,EAAwC;AACtC,UAAMU,SAAS,GAAGV,UAAU,CAACS,aAAD,CAA5B;AACA,UAAME,KAAK,GAAGC,0BAA0B,CACtCH,aADsC,EAEtCC,SAFsC,EAGtCH,yBAAyB,CAACE,aAAD,CAHa,CAAxC;AAKAH,IAAAA,MAAM,CAACO,IAAP,CAAYF,KAAZ;AACD;;AACD,MAAIT,OAAJ,EAAa;AACX,UAAMY,YAAY,GAAGF,0BAA0B,CAAC,SAAD,EAAYV,OAAZ,CAA/C;AACAI,IAAAA,MAAM,CAACO,IAAP,CAAYC,YAAZ;AACD;;AACD,SAAO,IAAIhB,MAAJ,CAAWQ,MAAX,EAAmBH,WAAnB,CAAP;AACD;;AAED,SAASK,6BAAT,CAAuCP,UAAvC,EAEE;AACA,QAAMc,MAAiD,GAAG,EAA1D;;AACA,OAAK,MAAMC,GAAX,IAAkBf,UAAlB,EAA8B;AAC5B,UAAMgB,cAAc,GAAGhB,UAAU,CAACe,GAAD,CAAjC;AACAD,IAAAA,MAAM,CAACE,cAAc,CAACC,IAAf,IAAuB,WAAxB,CAAN,GAA6CD,cAA7C;AACD;;AACD,SAAOF,MAAP;AACD;;AAED,SAASH,0BAAT,CACEH,aADF,EAEEC,SAFF,EAGET,UAHF,EAIS;AACP,QAAME,WAAW,GAAGF,UAAU,GAAGG,YAAY,CAACH,UAAU,CAACI,QAAZ,CAAf,GAAuCc,SAArE;AACA,QAAMR,KAAK,GAAGd,eAAe,CAACY,aAAD,EAAgBC,SAAhB,EAA2BP,WAA3B,CAA7B;AACA,SAAOQ,KAAP;AACD;;AAED,SAASP,YAAT,CAAsBC,QAAtB,EAA0F;AACxF,QAAMF,WAAW,GAAG,IAAIiB,GAAJ,EAApB;;AACA,OAAK,MAAMJ,GAAX,IAAkBX,QAAlB,EAA4B;AAC1BF,IAAAA,WAAW,CAACkB,GAAZ,WAAmBL,GAAnB,cAAiCM,IAAI,CAACC,SAAL,CAAelB,QAAQ,CAACW,GAAD,CAAvB,CAAjC;AACD;;AACD,SAAOb,WAAP;AACD","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 metadataMap = 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 new Schema(fields, metadataMap);\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}): Map<string, string> {\n const metadataMap = new Map();\n for (const key in metadata) {\n metadataMap.set(`${key}.string`, JSON.stringify(metadata[key]));\n }\n return metadataMap;\n}\n"],"file":"get-draco-schema.js"}
@@ -0,0 +1,2 @@
1
+ export const VERSION = typeof "3.1.0-beta.2" !== 'undefined' ? "3.1.0-beta.2" : 'latest';
2
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/utils/version.ts"],"names":["VERSION"],"mappings":"AAGA,OAAO,MAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,QAAnE","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"],"file":"version.js"}
@@ -0,0 +1,4 @@
1
+ import { createLoaderWorker } from '@loaders.gl/loader-utils';
2
+ import { DracoLoader } from '../index';
3
+ createLoaderWorker(DracoLoader);
4
+ //# sourceMappingURL=draco-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/workers/draco-worker.ts"],"names":["createLoaderWorker","DracoLoader"],"mappings":"AAAA,SAAQA,kBAAR,QAAiC,0BAAjC;AACA,SAAQC,WAAR,QAA0B,UAA1B;AAEAD,kBAAkB,CAACC,WAAD,CAAlB","sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {DracoLoader} from '../index';\n\ncreateLoaderWorker(DracoLoader);\n"],"file":"draco-worker.js"}
@@ -0,0 +1,29 @@
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
+ export type { DracoLoaderOptions };
9
+ export { DracoWorkerLoader };
10
+ /**
11
+ * Loader for Draco3D compressed geometries
12
+ */
13
+ export declare const DracoLoader: {
14
+ parse: typeof parse;
15
+ name: string;
16
+ id: string;
17
+ module: string;
18
+ shapes: string[];
19
+ version: any;
20
+ worker: boolean;
21
+ extensions: string[];
22
+ mimeTypes: string[];
23
+ binary: boolean;
24
+ tests: string[];
25
+ options: DracoLoaderOptions;
26
+ };
27
+ declare function parse(arrayBuffer: ArrayBuffer, options?: DracoLoaderOptions): Promise<DracoMesh>;
28
+ export declare const _TypecheckDracoLoader: LoaderWithParser;
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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;AAMhE,YAAY,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC;AAIzC,YAAY,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAI3C,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
@@ -1,24 +1,31 @@
1
- import { DracoLoader as DracoWorkerLoader } from './draco-loader';
2
- import DracoParser from './lib/draco-parser';
3
- import { loadDracoDecoderModule } from './lib/draco-module-loader';
4
- export { DracoWriter } from './draco-writer';
5
- export { DracoWorkerLoader };
6
- export const DracoLoader = { ...DracoWorkerLoader,
7
- parse
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports._TypecheckDracoLoader = exports.DracoLoader = exports.DracoWorkerLoader = exports.DracoWriter = void 0;
7
+ const draco_loader_1 = require("./draco-loader");
8
+ Object.defineProperty(exports, "DracoWorkerLoader", { enumerable: true, get: function () { return draco_loader_1.DracoLoader; } });
9
+ const draco_parser_1 = __importDefault(require("./lib/draco-parser"));
10
+ const draco_module_loader_1 = require("./lib/draco-module-loader");
11
+ var draco_writer_1 = require("./draco-writer");
12
+ Object.defineProperty(exports, "DracoWriter", { enumerable: true, get: function () { return draco_writer_1.DracoWriter; } });
13
+ /**
14
+ * Loader for Draco3D compressed geometries
15
+ */
16
+ exports.DracoLoader = {
17
+ ...draco_loader_1.DracoLoader,
18
+ parse
8
19
  };
9
-
10
20
  async function parse(arrayBuffer, options) {
11
- const {
12
- draco
13
- } = await loadDracoDecoderModule(options);
14
- const dracoParser = new DracoParser(draco);
15
-
16
- try {
17
- return dracoParser.parseSync(arrayBuffer, options === null || options === void 0 ? void 0 : options.draco);
18
- } finally {
19
- dracoParser.destroy();
20
- }
21
+ const { draco } = await (0, draco_module_loader_1.loadDracoDecoderModule)(options);
22
+ const dracoParser = new draco_parser_1.default(draco);
23
+ try {
24
+ return dracoParser.parseSync(arrayBuffer, options?.draco);
25
+ }
26
+ finally {
27
+ dracoParser.destroy();
28
+ }
21
29
  }
22
-
23
- export const _TypecheckDracoLoader = DracoLoader;
24
- //# sourceMappingURL=index.js.map
30
+ // TYPE TESTS - TODO find a better way than exporting junk
31
+ 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 declare 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,oBAAY,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"}