@loaders.gl/pointclouds 5.0.0-beta.1 → 5.0.0-beta.4

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 (158) hide show
  1. package/README.md +4 -0
  2. package/dist/dist.dev.js +45 -16
  3. package/dist/dist.min.js +19 -19
  4. package/dist/las/las-copc-loader-types.cjs +1 -1
  5. package/dist/las/las-copc-loader-types.cjs.map +2 -2
  6. package/dist/las/las-copc-loader-types.js +1 -1
  7. package/dist/las/las-copc-loader-types.js.map +1 -1
  8. package/dist/las/las-loader-shared.cjs +1 -1
  9. package/dist/las/las-loader-shared.js +1 -1
  10. package/dist/las/las-loader-types.cjs +1 -1
  11. package/dist/las/las-loader-types.cjs.map +2 -2
  12. package/dist/las/las-loader-types.js +1 -1
  13. package/dist/las/las-loader-types.js.map +1 -1
  14. package/dist/las/las-writer.cjs +1 -1
  15. package/dist/las/las-writer.js +1 -1
  16. package/dist/las/laz-rs-loader-types.cjs +1 -1
  17. package/dist/las/laz-rs-loader-types.cjs.map +2 -2
  18. package/dist/las/laz-rs-loader-types.js +1 -1
  19. package/dist/las/laz-rs-loader-types.js.map +1 -1
  20. package/dist/las/lazperf-loader-types.cjs +1 -1
  21. package/dist/las/lazperf-loader-types.cjs.map +2 -2
  22. package/dist/las/lazperf-loader-types.js +1 -1
  23. package/dist/las/lazperf-loader-types.js.map +1 -1
  24. package/dist/las/lib/las-extra-bytes.cjs +6 -1
  25. package/dist/las/lib/las-extra-bytes.cjs.map +2 -2
  26. package/dist/las/lib/las-extra-bytes.d.ts.map +1 -1
  27. package/dist/las/lib/las-extra-bytes.js +6 -4
  28. package/dist/las/lib/las-extra-bytes.js.map +1 -1
  29. package/dist/las-copc-loader-types.cjs +51 -0
  30. package/dist/las-copc-loader-types.cjs.map +7 -0
  31. package/dist/las-copc-loader-types.d.ts +2 -0
  32. package/dist/las-copc-loader-types.d.ts.map +1 -0
  33. package/dist/las-copc-loader-types.js +2 -0
  34. package/dist/las-copc-loader-types.js.map +1 -0
  35. package/dist/las-copc-loader.cjs +59 -0
  36. package/dist/las-copc-loader.cjs.map +7 -0
  37. package/dist/las-copc-loader.d.ts +2 -0
  38. package/dist/las-copc-loader.d.ts.map +1 -0
  39. package/dist/las-copc-loader.js +2 -0
  40. package/dist/las-copc-loader.js.map +1 -0
  41. package/dist/las-loader-types.cjs +56 -0
  42. package/dist/las-loader-types.cjs.map +7 -0
  43. package/dist/las-loader-types.d.ts +2 -0
  44. package/dist/las-loader-types.d.ts.map +1 -0
  45. package/dist/las-loader-types.js +2 -0
  46. package/dist/las-loader-types.js.map +1 -0
  47. package/dist/las-loader.cjs +82 -0
  48. package/dist/las-loader.cjs.map +7 -0
  49. package/dist/las-loader.d.ts +2 -0
  50. package/dist/las-loader.d.ts.map +1 -0
  51. package/dist/las-loader.js +2 -0
  52. package/dist/las-loader.js.map +1 -0
  53. package/dist/las-worker.js +565 -133
  54. package/dist/las-writer.cjs +1056 -0
  55. package/dist/las-writer.cjs.map +7 -0
  56. package/dist/las-writer.d.ts +2 -0
  57. package/dist/las-writer.d.ts.map +1 -0
  58. package/dist/las-writer.js +2 -0
  59. package/dist/las-writer.js.map +1 -0
  60. package/dist/laz-rs-loader-types.cjs +51 -0
  61. package/dist/laz-rs-loader-types.cjs.map +7 -0
  62. package/dist/laz-rs-loader-types.d.ts +2 -0
  63. package/dist/laz-rs-loader-types.d.ts.map +1 -0
  64. package/dist/laz-rs-loader-types.js +2 -0
  65. package/dist/laz-rs-loader-types.js.map +1 -0
  66. package/dist/laz-rs-loader.cjs +274 -0
  67. package/dist/laz-rs-loader.cjs.map +7 -0
  68. package/dist/laz-rs-loader.d.ts +2 -0
  69. package/dist/laz-rs-loader.d.ts.map +1 -0
  70. package/dist/laz-rs-loader.js +2 -0
  71. package/dist/laz-rs-loader.js.map +1 -0
  72. package/dist/lazperf-loader-types.cjs +51 -0
  73. package/dist/lazperf-loader-types.cjs.map +7 -0
  74. package/dist/lazperf-loader-types.d.ts +2 -0
  75. package/dist/lazperf-loader-types.d.ts.map +1 -0
  76. package/dist/lazperf-loader-types.js +2 -0
  77. package/dist/lazperf-loader-types.js.map +1 -0
  78. package/dist/lazperf-loader.cjs +62 -0
  79. package/dist/lazperf-loader.cjs.map +7 -0
  80. package/dist/lazperf-loader.d.ts +2 -0
  81. package/dist/lazperf-loader.d.ts.map +1 -0
  82. package/dist/lazperf-loader.js +2 -0
  83. package/dist/lazperf-loader.js.map +1 -0
  84. package/dist/pcd/pcd-loader-types.cjs +2 -2
  85. package/dist/pcd/pcd-loader-types.cjs.map +2 -2
  86. package/dist/pcd/pcd-loader-types.js +2 -2
  87. package/dist/pcd/pcd-loader-types.js.map +1 -1
  88. package/dist/pcd/pcd-writer.cjs +1 -1
  89. package/dist/pcd/pcd-writer.js +1 -1
  90. package/dist/pcd-loader-types.cjs +66 -0
  91. package/dist/pcd-loader-types.cjs.map +7 -0
  92. package/dist/pcd-loader-types.d.ts +2 -0
  93. package/dist/pcd-loader-types.d.ts.map +1 -0
  94. package/dist/pcd-loader-types.js +2 -0
  95. package/dist/pcd-loader-types.js.map +1 -0
  96. package/dist/pcd-loader.cjs +146 -0
  97. package/dist/pcd-loader.cjs.map +7 -0
  98. package/dist/pcd-loader.d.ts +2 -0
  99. package/dist/pcd-loader.d.ts.map +1 -0
  100. package/dist/pcd-loader.js +2 -0
  101. package/dist/pcd-loader.js.map +1 -0
  102. package/dist/pcd-worker.js +586 -117
  103. package/dist/pcd-writer.cjs +136 -0
  104. package/dist/pcd-writer.cjs.map +7 -0
  105. package/dist/pcd-writer.d.ts +2 -0
  106. package/dist/pcd-writer.d.ts.map +1 -0
  107. package/dist/pcd-writer.js +2 -0
  108. package/dist/pcd-writer.js.map +1 -0
  109. package/dist/ply/ply-loader-types.cjs +2 -2
  110. package/dist/ply/ply-loader-types.cjs.map +2 -2
  111. package/dist/ply/ply-loader-types.js +2 -2
  112. package/dist/ply/ply-loader-types.js.map +1 -1
  113. package/dist/ply/ply-writer.cjs +1 -1
  114. package/dist/ply/ply-writer.js +1 -1
  115. package/dist/ply-loader-types.cjs +67 -0
  116. package/dist/ply-loader-types.cjs.map +7 -0
  117. package/dist/ply-loader-types.d.ts +2 -0
  118. package/dist/ply-loader-types.d.ts.map +1 -0
  119. package/dist/ply-loader-types.js +2 -0
  120. package/dist/ply-loader-types.js.map +1 -0
  121. package/dist/ply-loader.cjs +136 -0
  122. package/dist/ply-loader.cjs.map +7 -0
  123. package/dist/ply-loader.d.ts +2 -0
  124. package/dist/ply-loader.d.ts.map +1 -0
  125. package/dist/ply-loader.js +2 -0
  126. package/dist/ply-loader.js.map +1 -0
  127. package/dist/ply-worker.js +586 -117
  128. package/dist/ply-writer.cjs +177 -0
  129. package/dist/ply-writer.cjs.map +7 -0
  130. package/dist/ply-writer.d.ts +2 -0
  131. package/dist/ply-writer.d.ts.map +1 -0
  132. package/dist/ply-writer.js +2 -0
  133. package/dist/ply-writer.js.map +1 -0
  134. package/package.json +75 -71
  135. package/src/las/las-copc-loader-types.ts +1 -1
  136. package/src/las/las-loader-types.ts +1 -1
  137. package/src/las/laz-rs-loader-types.ts +1 -1
  138. package/src/las/lazperf-loader-types.ts +1 -1
  139. package/src/las/lib/las-extra-bytes.ts +6 -4
  140. package/src/las/libs/laz-rs-wasm/README.md +5 -0
  141. package/src/las/libs/laz-rs-wasm/package.json +6 -0
  142. package/src/las-copc-loader-types.ts +1 -0
  143. package/src/las-copc-loader.ts +1 -0
  144. package/src/las-loader-types.ts +1 -0
  145. package/src/las-loader.ts +1 -0
  146. package/src/las-writer.ts +1 -0
  147. package/src/laz-rs-loader-types.ts +1 -0
  148. package/src/laz-rs-loader.ts +1 -0
  149. package/src/lazperf-loader-types.ts +1 -0
  150. package/src/lazperf-loader.ts +1 -0
  151. package/src/pcd/pcd-loader-types.ts +1 -1
  152. package/src/pcd-loader-types.ts +1 -0
  153. package/src/pcd-loader.ts +1 -0
  154. package/src/pcd-writer.ts +1 -0
  155. package/src/ply/ply-loader-types.ts +1 -1
  156. package/src/ply-loader-types.ts +1 -0
  157. package/src/ply-loader.ts +1 -0
  158. package/src/ply-writer.ts +1 -0
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/pcd-writer.ts
21
+ var pcd_writer_exports = {};
22
+ __export(pcd_writer_exports, {
23
+ PCDWriter: () => PCDWriter
24
+ });
25
+ module.exports = __toCommonJS(pcd_writer_exports);
26
+
27
+ // src/pcd/pcd-writer.ts
28
+ var import_schema_utils = require("@loaders.gl/core/schema-utils");
29
+ var import_pcd_format = require("./pcd-format.cjs");
30
+ var VERSION = true ? "5.0.0-beta.4" : "latest";
31
+ var PCDWriter = {
32
+ ...import_pcd_format.PCDFormat,
33
+ dataType: null,
34
+ batchType: null,
35
+ version: VERSION,
36
+ options: {
37
+ pcd: {}
38
+ },
39
+ text: true,
40
+ encode: async (data, options) => encodePCDSync(data, options),
41
+ encodeSync: encodePCDSync,
42
+ encodeTextSync: encodePCD
43
+ };
44
+ function encodePCDSync(data, options) {
45
+ const text = encodePCD(data, options);
46
+ return new TextEncoder().encode(text).buffer;
47
+ }
48
+ function encodePCD(data, options) {
49
+ const mesh = (0, import_schema_utils.convertTableToMesh)(normalizeMeshArrowTable(data));
50
+ const positionAttribute = getRequiredAttribute(mesh, "POSITION");
51
+ const normalAttribute = mesh.attributes.NORMAL;
52
+ const colorAttribute = mesh.attributes.COLOR_0;
53
+ const vertexCount = positionAttribute.value.length / positionAttribute.size;
54
+ const fieldNames = ["x", "y", "z"];
55
+ const fieldSizes = ["4", "4", "4"];
56
+ const fieldTypes = ["F", "F", "F"];
57
+ const fieldCounts = ["1", "1", "1"];
58
+ if (normalAttribute) {
59
+ fieldNames.push("normal_x", "normal_y", "normal_z");
60
+ fieldSizes.push("4", "4", "4");
61
+ fieldTypes.push("F", "F", "F");
62
+ fieldCounts.push("1", "1", "1");
63
+ }
64
+ if (colorAttribute) {
65
+ fieldNames.push("rgb");
66
+ fieldSizes.push("4");
67
+ fieldTypes.push("F");
68
+ fieldCounts.push("1");
69
+ }
70
+ const lines = [
71
+ "# .PCD v0.7 - Point Cloud Data file generated by loaders.gl",
72
+ "VERSION 0.7",
73
+ `FIELDS ${fieldNames.join(" ")}`,
74
+ `SIZE ${fieldSizes.join(" ")}`,
75
+ `TYPE ${fieldTypes.join(" ")}`,
76
+ `COUNT ${fieldCounts.join(" ")}`,
77
+ `WIDTH ${vertexCount}`,
78
+ "HEIGHT 1",
79
+ "VIEWPOINT 0 0 0 1 0 0 0",
80
+ `POINTS ${vertexCount}`,
81
+ "DATA ascii"
82
+ ];
83
+ for (let vertexIndex = 0; vertexIndex < vertexCount; vertexIndex++) {
84
+ const row = [
85
+ getComponent(positionAttribute, vertexIndex, 0),
86
+ getComponent(positionAttribute, vertexIndex, 1),
87
+ getComponent(positionAttribute, vertexIndex, 2)
88
+ ];
89
+ if (normalAttribute) {
90
+ row.push(
91
+ getComponent(normalAttribute, vertexIndex, 0),
92
+ getComponent(normalAttribute, vertexIndex, 1),
93
+ getComponent(normalAttribute, vertexIndex, 2)
94
+ );
95
+ }
96
+ if (colorAttribute) {
97
+ row.push(getPackedRGB(colorAttribute, vertexIndex));
98
+ }
99
+ lines.push(row.join(" "));
100
+ }
101
+ return `${lines.join("\n")}
102
+ `;
103
+ }
104
+ function normalizeMeshArrowTable(data) {
105
+ if ("shape" in data && data.shape === "arrow-table") {
106
+ return data;
107
+ }
108
+ return (0, import_schema_utils.convertMeshToTable)(data, "arrow-table");
109
+ }
110
+ function getRequiredAttribute(mesh, attributeName) {
111
+ const attribute = mesh.attributes[attributeName];
112
+ if (!attribute) {
113
+ throw new Error(`PCDWriter: ${attributeName} attribute is required`);
114
+ }
115
+ return attribute;
116
+ }
117
+ function getComponent(attribute, vertexIndex, componentIndex) {
118
+ return attribute.value[vertexIndex * attribute.size + componentIndex] || 0;
119
+ }
120
+ function getPackedRGB(attribute, vertexIndex) {
121
+ const bytes = new Uint8Array(4);
122
+ bytes[0] = getColorByte(attribute, vertexIndex, 0);
123
+ bytes[1] = getColorByte(attribute, vertexIndex, 1);
124
+ bytes[2] = getColorByte(attribute, vertexIndex, 2);
125
+ return new DataView(bytes.buffer).getFloat32(0, true);
126
+ }
127
+ function getColorByte(attribute, vertexIndex, componentIndex) {
128
+ const value = getComponent(attribute, vertexIndex, componentIndex);
129
+ const byteValue = attribute.normalized || value <= 1 ? value * 255 : value;
130
+ return Math.max(0, Math.min(255, Math.round(byteValue)));
131
+ }
132
+ // Annotate the CommonJS export names for ESM import in node:
133
+ 0 && (module.exports = {
134
+ PCDWriter
135
+ });
136
+ //# sourceMappingURL=pcd-writer.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/pcd-writer.ts", "../src/pcd/pcd-writer.ts"],
4
+ "sourcesContent": ["export * from './pcd/pcd-writer.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WriterOptions, WriterWithEncoder} from '@loaders.gl/core/loader-utils';\nimport type {Mesh, MeshArrowTable, MeshAttribute} from '@loaders.gl/core/schema';\nimport {convertMeshToTable, convertTableToMesh} from '@loaders.gl/core/schema-utils';\nimport {PCDFormat} from './pcd-format';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/** Options for `PCDWriter`. */\nexport type PCDWriterOptions = WriterOptions & {\n /** Reserved for future PCD writer options. */\n pcd?: Record<string, never>;\n};\n\n/**\n * Writer for the PCD point cloud format.\n */\nexport const PCDWriter = {\n ...PCDFormat,\n dataType: null as unknown as Mesh | MeshArrowTable,\n batchType: null as never,\n version: VERSION,\n options: {\n pcd: {}\n },\n text: true,\n encode: async (data, options) => encodePCDSync(data, options),\n encodeSync: encodePCDSync,\n encodeTextSync: encodePCD\n} as const satisfies WriterWithEncoder<Mesh | MeshArrowTable, never, PCDWriterOptions>;\n\n/** Encode mesh category data as PCD bytes. */\nfunction encodePCDSync(data: Mesh | MeshArrowTable, options?: PCDWriterOptions): ArrayBuffer {\n const text = encodePCD(data, options);\n return new TextEncoder().encode(text).buffer;\n}\n\n/** Encode mesh category data as ASCII PCD text. */\nfunction encodePCD(data: Mesh | MeshArrowTable, options?: PCDWriterOptions): string {\n const mesh = convertTableToMesh(normalizeMeshArrowTable(data));\n const positionAttribute = getRequiredAttribute(mesh, 'POSITION');\n const normalAttribute = mesh.attributes.NORMAL;\n const colorAttribute = mesh.attributes.COLOR_0;\n const vertexCount = positionAttribute.value.length / positionAttribute.size;\n const fieldNames = ['x', 'y', 'z'];\n const fieldSizes = ['4', '4', '4'];\n const fieldTypes = ['F', 'F', 'F'];\n const fieldCounts = ['1', '1', '1'];\n\n if (normalAttribute) {\n fieldNames.push('normal_x', 'normal_y', 'normal_z');\n fieldSizes.push('4', '4', '4');\n fieldTypes.push('F', 'F', 'F');\n fieldCounts.push('1', '1', '1');\n }\n\n if (colorAttribute) {\n fieldNames.push('rgb');\n fieldSizes.push('4');\n fieldTypes.push('F');\n fieldCounts.push('1');\n }\n\n const lines = [\n '# .PCD v0.7 - Point Cloud Data file generated by loaders.gl',\n 'VERSION 0.7',\n `FIELDS ${fieldNames.join(' ')}`,\n `SIZE ${fieldSizes.join(' ')}`,\n `TYPE ${fieldTypes.join(' ')}`,\n `COUNT ${fieldCounts.join(' ')}`,\n `WIDTH ${vertexCount}`,\n 'HEIGHT 1',\n 'VIEWPOINT 0 0 0 1 0 0 0',\n `POINTS ${vertexCount}`,\n 'DATA ascii'\n ];\n\n for (let vertexIndex = 0; vertexIndex < vertexCount; vertexIndex++) {\n const row = [\n getComponent(positionAttribute, vertexIndex, 0),\n getComponent(positionAttribute, vertexIndex, 1),\n getComponent(positionAttribute, vertexIndex, 2)\n ];\n\n if (normalAttribute) {\n row.push(\n getComponent(normalAttribute, vertexIndex, 0),\n getComponent(normalAttribute, vertexIndex, 1),\n getComponent(normalAttribute, vertexIndex, 2)\n );\n }\n\n if (colorAttribute) {\n row.push(getPackedRGB(colorAttribute, vertexIndex));\n }\n\n lines.push(row.join(' '));\n }\n\n return `${lines.join('\\n')}\\n`;\n}\n\n/** Return mesh data as a MeshArrowTable, converting plain Mesh data first. */\nfunction normalizeMeshArrowTable(data: Mesh | MeshArrowTable): MeshArrowTable {\n if ('shape' in data && data.shape === 'arrow-table') {\n return data;\n }\n return convertMeshToTable(data as Mesh, 'arrow-table');\n}\n\n/** Return a required mesh attribute or throw a format-specific error. */\nfunction getRequiredAttribute(mesh: Mesh, attributeName: string): MeshAttribute {\n const attribute = mesh.attributes[attributeName];\n if (!attribute) {\n throw new Error(`PCDWriter: ${attributeName} attribute is required`);\n }\n return attribute;\n}\n\n/** Return a single attribute component with 0 as the missing component fallback. */\nfunction getComponent(\n attribute: MeshAttribute,\n vertexIndex: number,\n componentIndex: number\n): number {\n return attribute.value[vertexIndex * attribute.size + componentIndex] || 0;\n}\n\n/** Return an RGB value packed into the PCD float convention. */\nfunction getPackedRGB(attribute: MeshAttribute, vertexIndex: number): number {\n const bytes = new Uint8Array(4);\n bytes[0] = getColorByte(attribute, vertexIndex, 0);\n bytes[1] = getColorByte(attribute, vertexIndex, 1);\n bytes[2] = getColorByte(attribute, vertexIndex, 2);\n return new DataView(bytes.buffer).getFloat32(0, true);\n}\n\n/** Return one color component as an unsigned byte. */\nfunction getColorByte(\n attribute: MeshAttribute,\n vertexIndex: number,\n componentIndex: number\n): number {\n const value = getComponent(attribute, vertexIndex, componentIndex);\n const byteValue = attribute.normalized || value <= 1 ? value * 255 : value;\n return Math.max(0, Math.min(255, Math.round(byteValue)));\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './pcd/pcd-writer.js';
2
+ //# sourceMappingURL=pcd-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcd-writer.d.ts","sourceRoot":"","sources":["../src/pcd-writer.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './pcd/pcd-writer.js';
2
+ //# sourceMappingURL=pcd-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcd-writer.js","sourceRoot":"","sources":["../src/pcd-writer.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -36,9 +36,9 @@ __export(ply_loader_types_exports, {
36
36
  module.exports = __toCommonJS(ply_loader_types_exports);
37
37
  var import_ply_format = require("./ply-format.cjs");
38
38
  var import_arrow_transport = require("@loaders.gl/core/schema-utils/arrow-transport");
39
- var VERSION = true ? "5.0.0-beta.1" : "latest";
39
+ var VERSION = true ? "5.0.0-beta.4" : "latest";
40
40
  async function preload() {
41
- const { PLYLoaderWithParser } = await import("@loaders.gl/pointclouds/ply/ply-loader");
41
+ const { PLYLoaderWithParser } = await import("@loaders.gl/pointclouds/ply-loader");
42
42
  return PLYLoaderWithParser;
43
43
  }
44
44
  var PLYLoader = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/ply/ply-loader-types.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// PLY Loader\nimport type {Loader, LoaderOptions} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable, ArrowTableBatch} from '@loaders.gl/core/schema';\nimport type {PLYMesh} from './lib/ply-types';\nimport type {ParsePLYOptions} from './lib/parse-ply';\nimport {PLYFormat} from './ply-format';\nimport {serializeArrowWorkerTable} from '@loaders.gl/core/schema-utils/arrow-transport';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type PLYLoaderOptions = LoaderOptions & {\n ply?: ParsePLYOptions & {\n /** Output shape. Defaults to a Mesh Arrow table. */\n shape?: 'mesh' | 'arrow-table';\n /** Color storage format. Defaults to uint8norm for backwards compatibility. */\n colorFormat?: 'uint8norm' | 'float16' | 'float32';\n /** Treat PLY data as a point cloud by reading only the leading vertex element. */\n pointCloud?: boolean;\n /** Override the URL to the worker bundle (by default loads from unpkg.com) */\n workerUrl?: string;\n };\n};\n\n/**\n * Preloads the parser-bearing PLY loader implementation.\n */\nasync function preload() {\n const {PLYLoaderWithParser} = await import('@loaders.gl/pointclouds/ply/ply-loader');\n return PLYLoaderWithParser;\n}\n\n/**\n * Metadata-only worker loader for PLY - Polygon File Format (aka Stanford Triangle Format)'\n * links: ['http://paulbourke.net/dataformats/ply/',\n * 'https://en.wikipedia.org/wiki/PLY_(file_format)']\n */\nexport const PLYLoader = {\n dataType: null as unknown as PLYMesh | MeshArrowTable,\n batchType: null as unknown as PLYMesh | ArrowTableBatch,\n\n ...PLYFormat,\n // shapes: ['mesh', 'gltf', 'columnar-table'],\n version: VERSION,\n worker: true,\n /** Enables the stateful input/output batch protocol on the built-in worker. */\n workerInBatches: true,\n serializeWorkerResult: serializeArrowWorkerTable,\n options: {\n ply: {shape: 'arrow-table', colorFormat: 'uint8norm'}\n },\n preload\n} as const satisfies Loader<PLYMesh | MeshArrowTable, PLYMesh | ArrowTableBatch, LoaderOptions>;\n\n/** @deprecated Use PLYLoader. */\nexport const PLYWorkerLoader = PLYLoader;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,wBAAwB;AACxB,6BAAwC;AAIxC,IAAM,UAAU,OAAqC,iBAAc;AAkBnE,eAAe,UAAU;AACvB,QAAM,EAAC,oBAAmB,IAAI,MAAM,OAAO,wCAAwC;AACnF,SAAO;AACT;AAOO,IAAM,YAAY;AAAA,EACvB,UAAU;AAAA,EACV,WAAW;AAAA,EAEX,GAAG;AAAA;AAAA,EAEH,SAAS;AAAA,EACT,QAAQ;AAAA;AAAA,EAER,iBAAiB;AAAA,EACjB,uBAAuB;AAAA,EACvB,SAAS;AAAA,IACP,KAAK,EAAC,OAAO,eAAe,aAAa,YAAW;AAAA,EACtD;AAAA,EACA;AACF;AAGO,IAAM,kBAAkB;",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// PLY Loader\nimport type {Loader, LoaderOptions} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable, ArrowTableBatch} from '@loaders.gl/core/schema';\nimport type {PLYMesh} from './lib/ply-types';\nimport type {ParsePLYOptions} from './lib/parse-ply';\nimport {PLYFormat} from './ply-format';\nimport {serializeArrowWorkerTable} from '@loaders.gl/core/schema-utils/arrow-transport';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type PLYLoaderOptions = LoaderOptions & {\n ply?: ParsePLYOptions & {\n /** Output shape. Defaults to a Mesh Arrow table. */\n shape?: 'mesh' | 'arrow-table';\n /** Color storage format. Defaults to uint8norm for backwards compatibility. */\n colorFormat?: 'uint8norm' | 'float16' | 'float32';\n /** Treat PLY data as a point cloud by reading only the leading vertex element. */\n pointCloud?: boolean;\n /** Override the URL to the worker bundle (by default loads from unpkg.com) */\n workerUrl?: string;\n };\n};\n\n/**\n * Preloads the parser-bearing PLY loader implementation.\n */\nasync function preload() {\n const {PLYLoaderWithParser} = await import('@loaders.gl/pointclouds/ply-loader');\n return PLYLoaderWithParser;\n}\n\n/**\n * Metadata-only worker loader for PLY - Polygon File Format (aka Stanford Triangle Format)'\n * links: ['http://paulbourke.net/dataformats/ply/',\n * 'https://en.wikipedia.org/wiki/PLY_(file_format)']\n */\nexport const PLYLoader = {\n dataType: null as unknown as PLYMesh | MeshArrowTable,\n batchType: null as unknown as PLYMesh | ArrowTableBatch,\n\n ...PLYFormat,\n // shapes: ['mesh', 'gltf', 'columnar-table'],\n version: VERSION,\n worker: true,\n /** Enables the stateful input/output batch protocol on the built-in worker. */\n workerInBatches: true,\n serializeWorkerResult: serializeArrowWorkerTable,\n options: {\n ply: {shape: 'arrow-table', colorFormat: 'uint8norm'}\n },\n preload\n} as const satisfies Loader<PLYMesh | MeshArrowTable, PLYMesh | ArrowTableBatch, LoaderOptions>;\n\n/** @deprecated Use PLYLoader. */\nexport const PLYWorkerLoader = PLYLoader;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,wBAAwB;AACxB,6BAAwC;AAIxC,IAAM,UAAU,OAAqC,iBAAc;AAkBnE,eAAe,UAAU;AACvB,QAAM,EAAC,oBAAmB,IAAI,MAAM,OAAO,oCAAoC;AAC/E,SAAO;AACT;AAOO,IAAM,YAAY;AAAA,EACvB,UAAU;AAAA,EACV,WAAW;AAAA,EAEX,GAAG;AAAA;AAAA,EAEH,SAAS;AAAA,EACT,QAAQ;AAAA;AAAA,EAER,iBAAiB;AAAA,EACjB,uBAAuB;AAAA,EACvB,SAAS;AAAA,IACP,KAAK,EAAC,OAAO,eAAe,aAAa,YAAW;AAAA,EACtD;AAAA,EACA;AACF;AAGO,IAAM,kBAAkB;",
6
6
  "names": []
7
7
  }
@@ -5,12 +5,12 @@ import { PLYFormat } from "./ply-format.js";
5
5
  import { serializeArrowWorkerTable } from '@loaders.gl/core/schema-utils/arrow-transport';
6
6
  // __VERSION__ is injected by babel-plugin-version-inline
7
7
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
- const VERSION = typeof "5.0.0-beta.1" !== 'undefined' ? "5.0.0-beta.1" : 'latest';
8
+ const VERSION = typeof "5.0.0-beta.4" !== 'undefined' ? "5.0.0-beta.4" : 'latest';
9
9
  /**
10
10
  * Preloads the parser-bearing PLY loader implementation.
11
11
  */
12
12
  async function preload() {
13
- const { PLYLoaderWithParser } = await import('@loaders.gl/pointclouds/ply/ply-loader');
13
+ const { PLYLoaderWithParser } = await import('@loaders.gl/pointclouds/ply-loader');
14
14
  return PLYLoaderWithParser;
15
15
  }
16
16
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ply-loader-types.js","sourceRoot":"","sources":["../../src/ply/ply-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAOpC,OAAO,EAAC,SAAS,EAAC,wBAAqB;AACvC,OAAO,EAAC,yBAAyB,EAAC,MAAM,+CAA+C,CAAC;AAExF,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,qBAAkB,KAAK,WAAW,CAAC,CAAC,gBAAa,CAAC,CAAC,QAAQ,CAAC;AAe5E;;GAEG;AACH,KAAK,UAAU,OAAO;IACpB,MAAM,EAAC,mBAAmB,EAAC,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;IACrF,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,EAAE,IAA2C;IACrD,SAAS,EAAE,IAA4C;IAEvD,GAAG,SAAS;IACZ,8CAA8C;IAC9C,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,+EAA+E;IAC/E,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,yBAAyB;IAChD,OAAO,EAAE;QACP,GAAG,EAAE,EAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAC;KACtD;IACD,OAAO;CACsF,CAAC;AAEhG,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"ply-loader-types.js","sourceRoot":"","sources":["../../src/ply/ply-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAOpC,OAAO,EAAC,SAAS,EAAC,wBAAqB;AACvC,OAAO,EAAC,yBAAyB,EAAC,MAAM,+CAA+C,CAAC;AAExF,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,qBAAkB,KAAK,WAAW,CAAC,CAAC,gBAAa,CAAC,CAAC,QAAQ,CAAC;AAe5E;;GAEG;AACH,KAAK,UAAU,OAAO;IACpB,MAAM,EAAC,mBAAmB,EAAC,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IACjF,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,EAAE,IAA2C;IACrD,SAAS,EAAE,IAA4C;IAEvD,GAAG,SAAS;IACZ,8CAA8C;IAC9C,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,+EAA+E;IAC/E,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,yBAAyB;IAChD,OAAO,EAAE;QACP,GAAG,EAAE,EAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAC;KACtD;IACD,OAAO;CACsF,CAAC;AAEhG,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC"}
@@ -25,7 +25,7 @@ __export(ply_writer_exports, {
25
25
  module.exports = __toCommonJS(ply_writer_exports);
26
26
  var import_schema_utils = require("@loaders.gl/core/schema-utils");
27
27
  var import_ply_format = require("./ply-format.cjs");
28
- var VERSION = true ? "5.0.0-beta.1" : "latest";
28
+ var VERSION = true ? "5.0.0-beta.4" : "latest";
29
29
  var PLYWriter = {
30
30
  ...import_ply_format.PLYFormat,
31
31
  dataType: null,
@@ -5,7 +5,7 @@ import { convertMeshToTable, convertTableToMesh } from '@loaders.gl/core/schema-
5
5
  import { PLYFormat } from "./ply-format.js";
6
6
  // __VERSION__ is injected by babel-plugin-version-inline
7
7
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
- const VERSION = typeof "5.0.0-beta.1" !== 'undefined' ? "5.0.0-beta.1" : 'latest';
8
+ const VERSION = typeof "5.0.0-beta.4" !== 'undefined' ? "5.0.0-beta.4" : 'latest';
9
9
  /**
10
10
  * Writer for the PLY geometry format.
11
11
  */
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/ply-loader-types.ts
31
+ var ply_loader_types_exports = {};
32
+ __export(ply_loader_types_exports, {
33
+ PLYLoader: () => PLYLoader,
34
+ PLYWorkerLoader: () => PLYWorkerLoader
35
+ });
36
+ module.exports = __toCommonJS(ply_loader_types_exports);
37
+
38
+ // src/ply/ply-loader-types.ts
39
+ var import_ply_format = require("./ply-format.cjs");
40
+ var import_arrow_transport = require("@loaders.gl/core/schema-utils/arrow-transport");
41
+ var VERSION = true ? "5.0.0-beta.4" : "latest";
42
+ async function preload() {
43
+ const { PLYLoaderWithParser } = await import("@loaders.gl/pointclouds/ply-loader");
44
+ return PLYLoaderWithParser;
45
+ }
46
+ var PLYLoader = {
47
+ dataType: null,
48
+ batchType: null,
49
+ ...import_ply_format.PLYFormat,
50
+ // shapes: ['mesh', 'gltf', 'columnar-table'],
51
+ version: VERSION,
52
+ worker: true,
53
+ /** Enables the stateful input/output batch protocol on the built-in worker. */
54
+ workerInBatches: true,
55
+ serializeWorkerResult: import_arrow_transport.serializeArrowWorkerTable,
56
+ options: {
57
+ ply: { shape: "arrow-table", colorFormat: "uint8norm" }
58
+ },
59
+ preload
60
+ };
61
+ var PLYWorkerLoader = PLYLoader;
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ PLYLoader,
65
+ PLYWorkerLoader
66
+ });
67
+ //# sourceMappingURL=ply-loader-types.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/ply-loader-types.ts", "../src/ply/ply-loader-types.ts"],
4
+ "sourcesContent": ["export * from './ply/ply-loader-types.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// PLY Loader\nimport type {Loader, LoaderOptions} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable, ArrowTableBatch} from '@loaders.gl/core/schema';\nimport type {PLYMesh} from './lib/ply-types';\nimport type {ParsePLYOptions} from './lib/parse-ply';\nimport {PLYFormat} from './ply-format';\nimport {serializeArrowWorkerTable} from '@loaders.gl/core/schema-utils/arrow-transport';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type PLYLoaderOptions = LoaderOptions & {\n ply?: ParsePLYOptions & {\n /** Output shape. Defaults to a Mesh Arrow table. */\n shape?: 'mesh' | 'arrow-table';\n /** Color storage format. Defaults to uint8norm for backwards compatibility. */\n colorFormat?: 'uint8norm' | 'float16' | 'float32';\n /** Treat PLY data as a point cloud by reading only the leading vertex element. */\n pointCloud?: boolean;\n /** Override the URL to the worker bundle (by default loads from unpkg.com) */\n workerUrl?: string;\n };\n};\n\n/**\n * Preloads the parser-bearing PLY loader implementation.\n */\nasync function preload() {\n const {PLYLoaderWithParser} = await import('@loaders.gl/pointclouds/ply-loader');\n return PLYLoaderWithParser;\n}\n\n/**\n * Metadata-only worker loader for PLY - Polygon File Format (aka Stanford Triangle Format)'\n * links: ['http://paulbourke.net/dataformats/ply/',\n * 'https://en.wikipedia.org/wiki/PLY_(file_format)']\n */\nexport const PLYLoader = {\n dataType: null as unknown as PLYMesh | MeshArrowTable,\n batchType: null as unknown as PLYMesh | ArrowTableBatch,\n\n ...PLYFormat,\n // shapes: ['mesh', 'gltf', 'columnar-table'],\n version: VERSION,\n worker: true,\n /** Enables the stateful input/output batch protocol on the built-in worker. */\n workerInBatches: true,\n serializeWorkerResult: serializeArrowWorkerTable,\n options: {\n ply: {shape: 'arrow-table', colorFormat: 'uint8norm'}\n },\n preload\n} as const satisfies Loader<PLYMesh | MeshArrowTable, PLYMesh | ArrowTableBatch, LoaderOptions>;\n\n/** @deprecated Use PLYLoader. */\nexport const PLYWorkerLoader = PLYLoader;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACSA,wBAAwB;AACxB,6BAAwC;AAIxC,IAAM,UAAU,OAAqC,iBAAc;AAkBnE,eAAe,UAAU;AACvB,QAAM,EAAC,oBAAmB,IAAI,MAAM,OAAO,oCAAoC;AAC/E,SAAO;AACT;AAOO,IAAM,YAAY;AAAA,EACvB,UAAU;AAAA,EACV,WAAW;AAAA,EAEX,GAAG;AAAA;AAAA,EAEH,SAAS;AAAA,EACT,QAAQ;AAAA;AAAA,EAER,iBAAiB;AAAA,EACjB,uBAAuB;AAAA,EACvB,SAAS;AAAA,IACP,KAAK,EAAC,OAAO,eAAe,aAAa,YAAW;AAAA,EACtD;AAAA,EACA;AACF;AAGO,IAAM,kBAAkB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ply/ply-loader-types.js';
2
+ //# sourceMappingURL=ply-loader-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ply-loader-types.d.ts","sourceRoot":"","sources":["../src/ply-loader-types.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ply/ply-loader-types.js';
2
+ //# sourceMappingURL=ply-loader-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ply-loader-types.js","sourceRoot":"","sources":["../src/ply-loader-types.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/ply-loader.ts
21
+ var ply_loader_exports = {};
22
+ __export(ply_loader_exports, {
23
+ PLYLoaderWithParser: () => PLYLoaderWithParser
24
+ });
25
+ module.exports = __toCommonJS(ply_loader_exports);
26
+
27
+ // src/ply/ply-loader.ts
28
+ var import_loader_utils = require("@loaders.gl/core/loader-utils");
29
+ var import_schema = require("@loaders.gl/core/schema");
30
+ var import_arrow_transport = require("@loaders.gl/core/schema-utils/arrow-transport");
31
+ var import_schema_utils = require("@loaders.gl/core/schema-utils");
32
+ var import_parse_ply = require("./lib/parse-ply.cjs");
33
+ var import_parse_ply_arrow = require("./lib/parse-ply-arrow.cjs");
34
+ var import_parse_ply_in_batches = require("./lib/parse-ply-in-batches.cjs");
35
+ var import_ply_loader_types = require("./ply-loader-types.cjs");
36
+ var { preload: _PLYLoaderPreload, ...PLYLoaderMetadataWithoutPreload } = import_ply_loader_types.PLYLoader;
37
+ function convertPLYMesh(mesh, options) {
38
+ const table = (0, import_schema_utils.convertMeshToTable)(mesh, "arrow-table");
39
+ return convertPLYTable(table, options, mesh.loaderData);
40
+ }
41
+ function parsePLYData(data, options) {
42
+ if (options?.ply?._useLegacyParser) {
43
+ return convertPLYMesh((0, import_parse_ply.parsePLY)(data, options?.ply), options);
44
+ }
45
+ const arrowTable = (0, import_parse_ply.parsePLYToArrowTable)(data, options?.ply);
46
+ if (arrowTable) {
47
+ return convertPLYTable(arrowTable, options, (0, import_parse_ply.parsePLYHeader)(data, options?.ply));
48
+ }
49
+ const elementTables = (0, import_parse_ply_arrow.parsePLYToElementTables)(data, options?.ply);
50
+ return convertPLYTable(
51
+ (0, import_parse_ply_arrow.convertPLYElementTablesToMeshArrowTable)(elementTables),
52
+ options,
53
+ elementTables.header
54
+ );
55
+ }
56
+ var PLYLoaderWithParser = {
57
+ ...PLYLoaderMetadataWithoutPreload,
58
+ parse: async (arrayBuffer, options) => parsePLYData(arrayBuffer, options),
59
+ parseTextSync: (arrayBuffer, options) => parsePLYData(arrayBuffer, options),
60
+ parseSync: (arrayBuffer, options) => parsePLYData(arrayBuffer, options),
61
+ parseInBatches: async function* (arrayBuffer, options) {
62
+ const plyOptions = {
63
+ ...options?.ply,
64
+ batchSize: options?.batchSize ?? options?.core?.batchSize
65
+ };
66
+ for await (const meshOrTable of (0, import_parse_ply_in_batches.parsePLYInBatches)(arrayBuffer, plyOptions)) {
67
+ const convertedData = isMeshArrowTable(meshOrTable) ? convertPLYTable(meshOrTable, options) : convertPLYMesh(meshOrTable, options);
68
+ yield isMeshArrowTable(convertedData) ? (0, import_loader_utils.makeTableScanBatch)(convertedData) : convertedData;
69
+ }
70
+ },
71
+ serializeWorkerResult: import_arrow_transport.serializeArrowWorkerTable,
72
+ deserializeWorkerResult: deserializePLYWorkerResult,
73
+ serializeWorkerBatch: import_arrow_transport.serializeArrowWorkerTable,
74
+ deserializeWorkerBatch: deserializePLYWorkerBatch
75
+ };
76
+ function convertPLYTable(table, options, header) {
77
+ const loaderData = header || table.loaderData || { comments: [], elements: [] };
78
+ const result = options?.ply?.shape === "arrow-table" ? { ...table, loader: "ply", loaderData } : {
79
+ ...(0, import_schema_utils.convertTableToMesh)(table),
80
+ loader: "ply",
81
+ loaderData
82
+ };
83
+ const colorFormat = options?.ply?.colorFormat || "uint8norm";
84
+ if (colorFormat === "uint8norm") {
85
+ return result;
86
+ }
87
+ const resultData = result;
88
+ const formattedMesh = formatPLYMeshColors(
89
+ isMeshArrowTable(resultData) ? (0, import_schema_utils.convertTableToMesh)(resultData) : resultData,
90
+ colorFormat
91
+ );
92
+ return options?.ply?.shape === "arrow-table" ? {
93
+ ...(0, import_schema_utils.convertMeshToTable)(formattedMesh, "arrow-table"),
94
+ loader: "ply",
95
+ loaderData
96
+ } : formattedMesh;
97
+ }
98
+ function formatPLYMeshColors(mesh, colorFormat) {
99
+ const colorAttribute = mesh.attributes.COLOR_0;
100
+ if (!colorAttribute) {
101
+ return mesh;
102
+ }
103
+ const sourceScale = colorAttribute.value instanceof Uint16Array ? 65535 : 255;
104
+ const value = colorFormat === "float16" ? (0, import_schema.convertColorArrayToFloat16)(colorAttribute.value, sourceScale) : (0, import_schema.convertColorArrayToFloat32)(colorAttribute.value, sourceScale);
105
+ const attributes = { ...mesh.attributes };
106
+ for (const [attributeName, attribute] of Object.entries(attributes)) {
107
+ if (attribute.value === colorAttribute.value) {
108
+ attributes[attributeName] = {
109
+ ...attribute,
110
+ value,
111
+ normalized: false,
112
+ ...colorFormat === "float16" ? { componentType: "float16" } : {}
113
+ };
114
+ }
115
+ }
116
+ return {
117
+ ...mesh,
118
+ attributes,
119
+ schema: (0, import_schema_utils.deduceMeshSchema)(attributes, mesh.schema.metadata)
120
+ };
121
+ }
122
+ function isMeshArrowTable(data) {
123
+ return "shape" in data && data.shape === "arrow-table";
124
+ }
125
+ function deserializePLYWorkerResult(result, options) {
126
+ const table = (0, import_arrow_transport.deserializeArrowWorkerTable)(result);
127
+ return options?.ply?.shape === "mesh" ? { ...(0, import_schema_utils.convertTableToMesh)(table), loader: "ply", loaderData: table.loaderData } : table;
128
+ }
129
+ function deserializePLYWorkerBatch(result, options) {
130
+ return deserializePLYWorkerResult(result, options);
131
+ }
132
+ // Annotate the CommonJS export names for ESM import in node:
133
+ 0 && (module.exports = {
134
+ PLYLoaderWithParser
135
+ });
136
+ //# sourceMappingURL=ply-loader.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/ply-loader.ts", "../src/ply/ply-loader.ts"],
4
+ "sourcesContent": ["export * from './ply/ply-loader.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {PLYLoaderOptions} from './ply-loader-types';\n\n// PLY Loader\nimport {makeTableScanBatch, type LoaderWithParser} from '@loaders.gl/core/loader-utils';\nimport {convertColorArrayToFloat16, convertColorArrayToFloat32} from '@loaders.gl/core/schema';\nimport type {MeshArrowTable, ArrowTableBatch} from '@loaders.gl/core/schema';\nimport {\n deserializeArrowWorkerTable,\n serializeArrowWorkerTable\n} from '@loaders.gl/core/schema-utils/arrow-transport';\nimport type {PLYHeader, PLYMesh} from './lib/ply-types';\nimport {\n convertMeshToTable,\n convertTableToMesh,\n deduceMeshSchema\n} from '@loaders.gl/core/schema-utils';\nimport {parsePLY, parsePLYHeader, parsePLYToArrowTable} from './lib/parse-ply';\nimport {\n convertPLYElementTablesToMeshArrowTable,\n parsePLYToElementTables\n} from './lib/parse-ply-arrow';\nimport {parsePLYInBatches} from './lib/parse-ply-in-batches';\nimport {PLYLoader as PLYLoaderMetadata} from './ply-loader-types';\n\nconst {preload: _PLYLoaderPreload, ...PLYLoaderMetadataWithoutPreload} = PLYLoaderMetadata;\n\nfunction convertPLYMesh(mesh: PLYMesh, options?: PLYLoaderOptions): PLYMesh | MeshArrowTable {\n const table = convertMeshToTable(mesh, 'arrow-table');\n return convertPLYTable(table, options, mesh.loaderData);\n}\n\n/** Parse PLY data using a direct Arrow path when requested and supported. */\nfunction parsePLYData(\n data: ArrayBuffer | string,\n options?: PLYLoaderOptions\n): PLYMesh | MeshArrowTable {\n if (options?.ply?._useLegacyParser) {\n return convertPLYMesh(parsePLY(data, options?.ply), options);\n }\n\n const arrowTable = parsePLYToArrowTable(data, options?.ply);\n if (arrowTable) {\n return convertPLYTable(arrowTable, options, parsePLYHeader(data, options?.ply));\n }\n\n const elementTables = parsePLYToElementTables(data, options?.ply);\n return convertPLYTable(\n convertPLYElementTablesToMeshArrowTable(elementTables),\n options,\n elementTables.header\n );\n}\n\n/**\n * Loader for PLY - Polygon File Format\n */\nexport const PLYLoaderWithParser = {\n ...PLYLoaderMetadataWithoutPreload,\n parse: async (arrayBuffer, options) => parsePLYData(arrayBuffer, options),\n parseTextSync: (arrayBuffer, options) => parsePLYData(arrayBuffer, options),\n parseSync: (arrayBuffer, options) => parsePLYData(arrayBuffer, options),\n parseInBatches: async function* (\n arrayBuffer:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>,\n options\n ) {\n const plyOptions = {\n ...options?.ply,\n batchSize: options?.batchSize ?? options?.core?.batchSize\n };\n for await (const meshOrTable of parsePLYInBatches(arrayBuffer, plyOptions)) {\n const convertedData = isMeshArrowTable(meshOrTable)\n ? convertPLYTable(meshOrTable, options)\n : convertPLYMesh(meshOrTable, options);\n yield isMeshArrowTable(convertedData) ? makeTableScanBatch(convertedData) : convertedData;\n }\n },\n serializeWorkerResult: serializeArrowWorkerTable,\n deserializeWorkerResult: deserializePLYWorkerResult,\n serializeWorkerBatch: serializeArrowWorkerTable,\n deserializeWorkerBatch: deserializePLYWorkerBatch\n} as const satisfies LoaderWithParser<\n PLYMesh | MeshArrowTable,\n PLYMesh | ArrowTableBatch,\n PLYLoaderOptions\n>;\n\n/** Return requested public PLY shape from the parser's Arrow table. */\nfunction convertPLYTable(\n table: MeshArrowTable & {\n /** Original source header retained by the streaming parser. */\n loaderData?: PLYHeader;\n },\n options?: PLYLoaderOptions,\n header?: PLYHeader\n): PLYMesh | MeshArrowTable {\n const loaderData = header || table.loaderData || {comments: [], elements: []};\n const result =\n options?.ply?.shape === 'arrow-table'\n ? {...table, loader: 'ply' as const, loaderData}\n : {\n ...(convertTableToMesh(table) as PLYMesh),\n loader: 'ply',\n loaderData\n };\n const colorFormat = options?.ply?.colorFormat || 'uint8norm';\n if (colorFormat === 'uint8norm') {\n return result as PLYMesh | MeshArrowTable;\n }\n\n const resultData = result as PLYMesh | MeshArrowTable;\n const formattedMesh = formatPLYMeshColors(\n (isMeshArrowTable(resultData) ? convertTableToMesh(resultData) : resultData) as PLYMesh,\n colorFormat\n );\n return options?.ply?.shape === 'arrow-table'\n ? {\n ...convertMeshToTable(formattedMesh, 'arrow-table'),\n loader: 'ply' as const,\n loaderData\n }\n : (formattedMesh as PLYMesh);\n}\n\n/** Apply the requested normalized color representation to a decoded PLY mesh. */\nfunction formatPLYMeshColors(\n mesh: PLYMesh,\n colorFormat: 'uint8norm' | 'float16' | 'float32'\n): PLYMesh {\n const colorAttribute = mesh.attributes.COLOR_0;\n if (!colorAttribute) {\n return mesh;\n }\n\n const sourceScale = colorAttribute.value instanceof Uint16Array ? 65535 : 255;\n const value =\n colorFormat === 'float16'\n ? convertColorArrayToFloat16(colorAttribute.value, sourceScale)\n : convertColorArrayToFloat32(colorAttribute.value, sourceScale);\n const attributes = {...mesh.attributes};\n for (const [attributeName, attribute] of Object.entries(attributes)) {\n if (attribute.value === colorAttribute.value) {\n attributes[attributeName] = {\n ...attribute,\n value,\n normalized: false,\n ...(colorFormat === 'float16' ? {componentType: 'float16' as const} : {})\n };\n }\n }\n return {\n ...mesh,\n attributes,\n schema: deduceMeshSchema(attributes, mesh.schema.metadata)\n };\n}\n\n/** Return true if a parsed PLY batch is already a Mesh Arrow table. */\nfunction isMeshArrowTable(data: PLYMesh | MeshArrowTable): data is MeshArrowTable {\n return 'shape' in data && data.shape === 'arrow-table';\n}\n\n/** Hydrates worker columns and applies the requested PLY shape on the caller. */\nfunction deserializePLYWorkerResult(\n result: unknown,\n options?: PLYLoaderOptions\n): PLYMesh | MeshArrowTable {\n const table = deserializeArrowWorkerTable(result);\n return options?.ply?.shape === 'mesh'\n ? {...convertTableToMesh(table), loader: 'ply', loaderData: table.loaderData}\n : table;\n}\n\n/** Converts mesh batches only after the Arrow column buffers reach the caller. */\nfunction deserializePLYWorkerBatch(\n result: unknown,\n options?: PLYLoaderOptions\n): PLYMesh | ArrowTableBatch {\n return deserializePLYWorkerResult(result, options) as PLYMesh | ArrowTableBatch;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["PLYLoaderMetadata"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ply/ply-loader.js';
2
+ //# sourceMappingURL=ply-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ply-loader.d.ts","sourceRoot":"","sources":["../src/ply-loader.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ply/ply-loader.js';
2
+ //# sourceMappingURL=ply-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ply-loader.js","sourceRoot":"","sources":["../src/ply-loader.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}