@loaders.gl/pointclouds 5.0.0-beta.4 → 5.0.0-beta.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.
Files changed (67) hide show
  1. package/LAS-README.md +1 -1
  2. package/PCD-README.md +1 -1
  3. package/PLY-README.md +1 -1
  4. package/README.md +1 -1
  5. package/dist/dist.dev.js +129 -90
  6. package/dist/dist.min.js +20 -20
  7. package/dist/las/las-loader-shared.cjs +1 -1
  8. package/dist/las/las-loader-shared.js +1 -1
  9. package/dist/las/las-loader-types.d.ts +2 -2
  10. package/dist/las/las-loader.cjs +4 -4
  11. package/dist/las/las-loader.cjs.map +2 -2
  12. package/dist/las/las-loader.d.ts +1 -1
  13. package/dist/las/las-loader.d.ts.map +1 -1
  14. package/dist/las/las-loader.js +1 -1
  15. package/dist/las/las-loader.js.map +1 -1
  16. package/dist/las/las-writer.cjs +1 -1
  17. package/dist/las/las-writer.js +1 -1
  18. package/dist/las-loader.cjs +4 -4
  19. package/dist/las-loader.cjs.map +2 -2
  20. package/dist/las-worker.js +303 -80
  21. package/dist/las-writer.cjs +1 -1
  22. package/dist/pcd/pcd-loader-types.cjs +3 -3
  23. package/dist/pcd/pcd-loader-types.cjs.map +2 -2
  24. package/dist/pcd/pcd-loader-types.d.ts +1 -1
  25. package/dist/pcd/pcd-loader-types.d.ts.map +1 -1
  26. package/dist/pcd/pcd-loader-types.js +2 -2
  27. package/dist/pcd/pcd-loader-types.js.map +1 -1
  28. package/dist/pcd/pcd-loader.cjs +4 -4
  29. package/dist/pcd/pcd-loader.cjs.map +2 -2
  30. package/dist/pcd/pcd-loader.d.ts +1 -1
  31. package/dist/pcd/pcd-loader.d.ts.map +1 -1
  32. package/dist/pcd/pcd-loader.js +1 -1
  33. package/dist/pcd/pcd-loader.js.map +1 -1
  34. package/dist/pcd/pcd-writer.cjs +1 -1
  35. package/dist/pcd/pcd-writer.js +1 -1
  36. package/dist/pcd-loader-types.cjs +3 -3
  37. package/dist/pcd-loader-types.cjs.map +2 -2
  38. package/dist/pcd-loader.cjs +4 -4
  39. package/dist/pcd-loader.cjs.map +2 -2
  40. package/dist/pcd-worker.js +568 -287
  41. package/dist/pcd-writer.cjs +1 -1
  42. package/dist/ply/ply-loader-types.cjs +3 -3
  43. package/dist/ply/ply-loader-types.cjs.map +2 -2
  44. package/dist/ply/ply-loader-types.d.ts +1 -1
  45. package/dist/ply/ply-loader-types.d.ts.map +1 -1
  46. package/dist/ply/ply-loader-types.js +2 -2
  47. package/dist/ply/ply-loader-types.js.map +1 -1
  48. package/dist/ply/ply-loader.cjs +4 -4
  49. package/dist/ply/ply-loader.cjs.map +2 -2
  50. package/dist/ply/ply-loader.d.ts +1 -1
  51. package/dist/ply/ply-loader.d.ts.map +1 -1
  52. package/dist/ply/ply-loader.js +1 -1
  53. package/dist/ply/ply-loader.js.map +1 -1
  54. package/dist/ply/ply-writer.cjs +1 -1
  55. package/dist/ply/ply-writer.js +1 -1
  56. package/dist/ply-loader-types.cjs +3 -3
  57. package/dist/ply-loader-types.cjs.map +2 -2
  58. package/dist/ply-loader.cjs +4 -4
  59. package/dist/ply-loader.cjs.map +2 -2
  60. package/dist/ply-worker.js +394 -113
  61. package/dist/ply-writer.cjs +1 -1
  62. package/package.json +3 -3
  63. package/src/las/las-loader.ts +1 -1
  64. package/src/pcd/pcd-loader-types.ts +1 -1
  65. package/src/pcd/pcd-loader.ts +1 -1
  66. package/src/ply/ply-loader-types.ts +1 -1
  67. package/src/ply/ply-loader.ts +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/pcd/pcd-loader.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {PCDLoaderOptions} from './pcd-loader-types';\n\nimport {\n concatenateArrayBuffersAsync,\n makeTableScanBatch,\n type LoaderWithParser\n} from '@loaders.gl/core/loader-utils';\nimport type {ArrowTableBatch, MeshArrowTable} from '@loaders.gl/core/schema';\nimport {\n deserializeArrowWorkerTable,\n serializeArrowWorkerTable\n} from '@loaders.gl/core/schema-utils/arrow-transport';\nimport {convertMeshToTable, convertTableToMesh} from '@loaders.gl/core/schema-utils';\nimport type {PCDMesh} from './lib/pcd-types';\nimport {parsePCD, parsePCDHeader} from './lib/parse-pcd';\nimport {PCDLoader as PCDLoaderMetadata} from './pcd-loader-types';\n\nconst {preload: _PCDLoaderPreload, ...PCDLoaderMetadataWithoutPreload} = PCDLoaderMetadata;\n\ntype PCDParsedBatch = PCDMesh | ArrowTableBatch;\n\nfunction convertPCDMesh(mesh: PCDMesh, options?: PCDLoaderOptions): PCDMesh | MeshArrowTable {\n const table = convertMeshToTable(mesh, 'arrow-table');\n return options?.pcd?.shape === 'mesh'\n ? convertPCDTableToMesh(table, mesh)\n : {...table, loader: mesh.loader, loaderData: mesh.loaderData};\n}\n\n/**\n * Loader for PCD - Point Cloud Data\n */\nexport const PCDLoaderWithParser = {\n ...PCDLoaderMetadataWithoutPreload,\n parse: async (arrayBuffer, options) => convertPCDMesh(parsePCD(arrayBuffer, options), options),\n parseSync: (arrayBuffer, options) => convertPCDMesh(parsePCD(arrayBuffer, options), options),\n parseInBatches: async function* (\n arrayBuffer:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>,\n options\n ): AsyncIterable<PCDParsedBatch> {\n const batchSize = getNumericBatchSize(options);\n const data = await concatenateArrayBuffersAsync(arrayBuffer);\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n\n if (pcdHeader.data === 'ascii') {\n yield* parsePCDASCIIInBatches(data, options, batchSize);\n return;\n }\n\n if (pcdHeader.data === 'binary') {\n yield* parsePCDBinaryInBatches(data, options, batchSize);\n return;\n }\n\n yield makePCDBatch(parsePCD(data, options), options);\n },\n serializeWorkerResult: serializeArrowWorkerTable,\n deserializeWorkerResult: deserializePCDWorkerResult,\n serializeWorkerBatch: serializeArrowWorkerTable,\n deserializeWorkerBatch: deserializePCDWorkerBatch\n} as const satisfies LoaderWithParser<PCDMesh | MeshArrowTable, PCDParsedBatch, PCDLoaderOptions>;\n\n/** Returns a numeric batch size when batching has an explicit row count. */\nfunction getNumericBatchSize(options?: PCDLoaderOptions): number | undefined {\n const batchSize = options?.batchSize ?? options?.core?.batchSize;\n return typeof batchSize === 'number' ? batchSize : undefined;\n}\n\nfunction* parsePCDASCIIInBatches(\n data: ArrayBuffer,\n options?: PCDLoaderOptions,\n batchSize?: number\n): Iterable<PCDParsedBatch> {\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n const lines = textData\n .slice(pcdHeader.headerLen)\n .split(/\\r?\\n/)\n .filter(line => line.trim().length > 0);\n const normalizedBatchSize = batchSize || lines.length || 1;\n\n for (let rowIndex = 0; rowIndex < lines.length; rowIndex += normalizedBatchSize) {\n const batchLines = lines.slice(rowIndex, rowIndex + normalizedBatchSize);\n const batchText = `${makePCDHeaderText(pcdHeader, batchLines.length)}${batchLines.join('\\n')}\\n`;\n yield makePCDBatch(parsePCD(new TextEncoder().encode(batchText).buffer, options), options);\n }\n}\n\nfunction* parsePCDBinaryInBatches(\n data: ArrayBuffer,\n options?: PCDLoaderOptions,\n batchSize?: number\n): Iterable<PCDParsedBatch> {\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n const normalizedBatchSize = batchSize || pcdHeader.points || 1;\n const dataBytes = new Uint8Array(data);\n\n for (let pointIndex = 0; pointIndex < pcdHeader.points; pointIndex += normalizedBatchSize) {\n const pointCount = Math.min(normalizedBatchSize, pcdHeader.points - pointIndex);\n const headerBytes = new TextEncoder().encode(makePCDHeaderText(pcdHeader, pointCount));\n const rowByteOffset = pcdHeader.headerLen + pointIndex * pcdHeader.rowSize;\n const rowByteLength = pointCount * pcdHeader.rowSize;\n const batchBytes = new Uint8Array(headerBytes.length + rowByteLength);\n batchBytes.set(headerBytes, 0);\n batchBytes.set(\n dataBytes.subarray(rowByteOffset, rowByteOffset + rowByteLength),\n headerBytes.length\n );\n yield makePCDBatch(parsePCD(batchBytes.buffer, options), options);\n }\n}\n\nfunction makePCDBatch(mesh: PCDMesh, options?: PCDLoaderOptions): PCDParsedBatch {\n const table = convertMeshToTable(mesh, 'arrow-table');\n if (options?.pcd?.shape === 'mesh') {\n return convertPCDTableToMesh(table, mesh);\n }\n\n return makeTableScanBatch({\n ...table,\n loader: mesh.loader,\n loaderData: mesh.loaderData\n } as MeshArrowTable);\n}\n\n/** Convert the parser's Arrow table to legacy PCD mesh output. */\nfunction convertPCDTableToMesh(table: MeshArrowTable, sourceMesh: PCDMesh): PCDMesh {\n return {\n ...(convertTableToMesh(table) as PCDMesh),\n loader: sourceMesh.loader,\n loaderData: sourceMesh.loaderData\n };\n}\n\nfunction makePCDHeaderText(pcdHeader: any, pointCount: number): string {\n const lines = pcdHeader.str\n .split(/\\r?\\n/)\n .filter(line => line.trim().length > 0)\n .map(line => {\n if (/^WIDTH\\s+/i.test(line)) {\n return `WIDTH ${pointCount}`;\n }\n if (/^HEIGHT\\s+/i.test(line)) {\n return 'HEIGHT 1';\n }\n if (/^POINTS\\s+/i.test(line)) {\n return `POINTS ${pointCount}`;\n }\n return line;\n });\n\n if (!lines.some(line => /^POINTS\\s+/i.test(line))) {\n const dataLineIndex = lines.findIndex(line => /^DATA\\s+/i.test(line));\n lines.splice(dataLineIndex >= 0 ? dataLineIndex : lines.length, 0, `POINTS ${pointCount}`);\n }\n\n return `${lines.join('\\n')}\\n`;\n}\n\n/** Hydrates worker columns before reconstructing legacy PCD meshes on the caller. */\nfunction deserializePCDWorkerResult(\n result: unknown,\n options?: PCDLoaderOptions\n): PCDMesh | MeshArrowTable {\n const table = deserializeArrowWorkerTable(result);\n return options?.pcd?.shape === 'mesh' ? convertPCDTableToMesh(table, table) : table;\n}\n\n/** Restores the existing PCD batch shape after caller-side hydration. */\nfunction deserializePCDWorkerBatch(result: unknown, options?: PCDLoaderOptions): PCDParsedBatch {\n return deserializePCDWorkerResult(result, options) as PCDParsedBatch;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {PCDLoaderOptions} from './pcd-loader-types';\n\nimport {\n concatenateArrayBuffersAsync,\n makeTableScanBatch,\n type LoaderWithParser\n} from '@loaders.gl/core/loader-utils';\nimport type {ArrowTableBatch, MeshArrowTable} from '@loaders.gl/core/schema';\nimport {\n deserializeArrowWorkerTable,\n serializeArrowWorkerTable\n} from '@loaders.gl/core/arrow-worker-transport';\nimport {convertMeshToTable, convertTableToMesh} from '@loaders.gl/core/schema-utils';\nimport type {PCDMesh} from './lib/pcd-types';\nimport {parsePCD, parsePCDHeader} from './lib/parse-pcd';\nimport {PCDLoader as PCDLoaderMetadata} from './pcd-loader-types';\n\nconst {preload: _PCDLoaderPreload, ...PCDLoaderMetadataWithoutPreload} = PCDLoaderMetadata;\n\ntype PCDParsedBatch = PCDMesh | ArrowTableBatch;\n\nfunction convertPCDMesh(mesh: PCDMesh, options?: PCDLoaderOptions): PCDMesh | MeshArrowTable {\n const table = convertMeshToTable(mesh, 'arrow-table');\n return options?.pcd?.shape === 'mesh'\n ? convertPCDTableToMesh(table, mesh)\n : {...table, loader: mesh.loader, loaderData: mesh.loaderData};\n}\n\n/**\n * Loader for PCD - Point Cloud Data\n */\nexport const PCDLoaderWithParser = {\n ...PCDLoaderMetadataWithoutPreload,\n parse: async (arrayBuffer, options) => convertPCDMesh(parsePCD(arrayBuffer, options), options),\n parseSync: (arrayBuffer, options) => convertPCDMesh(parsePCD(arrayBuffer, options), options),\n parseInBatches: async function* (\n arrayBuffer:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>,\n options\n ): AsyncIterable<PCDParsedBatch> {\n const batchSize = getNumericBatchSize(options);\n const data = await concatenateArrayBuffersAsync(arrayBuffer);\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n\n if (pcdHeader.data === 'ascii') {\n yield* parsePCDASCIIInBatches(data, options, batchSize);\n return;\n }\n\n if (pcdHeader.data === 'binary') {\n yield* parsePCDBinaryInBatches(data, options, batchSize);\n return;\n }\n\n yield makePCDBatch(parsePCD(data, options), options);\n },\n serializeWorkerResult: serializeArrowWorkerTable,\n deserializeWorkerResult: deserializePCDWorkerResult,\n serializeWorkerBatch: serializeArrowWorkerTable,\n deserializeWorkerBatch: deserializePCDWorkerBatch\n} as const satisfies LoaderWithParser<PCDMesh | MeshArrowTable, PCDParsedBatch, PCDLoaderOptions>;\n\n/** Returns a numeric batch size when batching has an explicit row count. */\nfunction getNumericBatchSize(options?: PCDLoaderOptions): number | undefined {\n const batchSize = options?.batchSize ?? options?.core?.batchSize;\n return typeof batchSize === 'number' ? batchSize : undefined;\n}\n\nfunction* parsePCDASCIIInBatches(\n data: ArrayBuffer,\n options?: PCDLoaderOptions,\n batchSize?: number\n): Iterable<PCDParsedBatch> {\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n const lines = textData\n .slice(pcdHeader.headerLen)\n .split(/\\r?\\n/)\n .filter(line => line.trim().length > 0);\n const normalizedBatchSize = batchSize || lines.length || 1;\n\n for (let rowIndex = 0; rowIndex < lines.length; rowIndex += normalizedBatchSize) {\n const batchLines = lines.slice(rowIndex, rowIndex + normalizedBatchSize);\n const batchText = `${makePCDHeaderText(pcdHeader, batchLines.length)}${batchLines.join('\\n')}\\n`;\n yield makePCDBatch(parsePCD(new TextEncoder().encode(batchText).buffer, options), options);\n }\n}\n\nfunction* parsePCDBinaryInBatches(\n data: ArrayBuffer,\n options?: PCDLoaderOptions,\n batchSize?: number\n): Iterable<PCDParsedBatch> {\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n const normalizedBatchSize = batchSize || pcdHeader.points || 1;\n const dataBytes = new Uint8Array(data);\n\n for (let pointIndex = 0; pointIndex < pcdHeader.points; pointIndex += normalizedBatchSize) {\n const pointCount = Math.min(normalizedBatchSize, pcdHeader.points - pointIndex);\n const headerBytes = new TextEncoder().encode(makePCDHeaderText(pcdHeader, pointCount));\n const rowByteOffset = pcdHeader.headerLen + pointIndex * pcdHeader.rowSize;\n const rowByteLength = pointCount * pcdHeader.rowSize;\n const batchBytes = new Uint8Array(headerBytes.length + rowByteLength);\n batchBytes.set(headerBytes, 0);\n batchBytes.set(\n dataBytes.subarray(rowByteOffset, rowByteOffset + rowByteLength),\n headerBytes.length\n );\n yield makePCDBatch(parsePCD(batchBytes.buffer, options), options);\n }\n}\n\nfunction makePCDBatch(mesh: PCDMesh, options?: PCDLoaderOptions): PCDParsedBatch {\n const table = convertMeshToTable(mesh, 'arrow-table');\n if (options?.pcd?.shape === 'mesh') {\n return convertPCDTableToMesh(table, mesh);\n }\n\n return makeTableScanBatch({\n ...table,\n loader: mesh.loader,\n loaderData: mesh.loaderData\n } as MeshArrowTable);\n}\n\n/** Convert the parser's Arrow table to legacy PCD mesh output. */\nfunction convertPCDTableToMesh(table: MeshArrowTable, sourceMesh: PCDMesh): PCDMesh {\n return {\n ...(convertTableToMesh(table) as PCDMesh),\n loader: sourceMesh.loader,\n loaderData: sourceMesh.loaderData\n };\n}\n\nfunction makePCDHeaderText(pcdHeader: any, pointCount: number): string {\n const lines = pcdHeader.str\n .split(/\\r?\\n/)\n .filter(line => line.trim().length > 0)\n .map(line => {\n if (/^WIDTH\\s+/i.test(line)) {\n return `WIDTH ${pointCount}`;\n }\n if (/^HEIGHT\\s+/i.test(line)) {\n return 'HEIGHT 1';\n }\n if (/^POINTS\\s+/i.test(line)) {\n return `POINTS ${pointCount}`;\n }\n return line;\n });\n\n if (!lines.some(line => /^POINTS\\s+/i.test(line))) {\n const dataLineIndex = lines.findIndex(line => /^DATA\\s+/i.test(line));\n lines.splice(dataLineIndex >= 0 ? dataLineIndex : lines.length, 0, `POINTS ${pointCount}`);\n }\n\n return `${lines.join('\\n')}\\n`;\n}\n\n/** Hydrates worker columns before reconstructing legacy PCD meshes on the caller. */\nfunction deserializePCDWorkerResult(\n result: unknown,\n options?: PCDLoaderOptions\n): PCDMesh | MeshArrowTable {\n const table = deserializeArrowWorkerTable(result);\n return options?.pcd?.shape === 'mesh' ? convertPCDTableToMesh(table, table) : table;\n}\n\n/** Restores the existing PCD batch shape after caller-side hydration. */\nfunction deserializePCDWorkerBatch(result: unknown, options?: PCDLoaderOptions): PCDParsedBatch {\n return deserializePCDWorkerResult(result, options) as PCDParsedBatch;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["PCDLoaderMetadata"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import type { PCDLoaderOptions } from "./pcd-loader-types.js";
2
2
  import type { ArrowTableBatch, MeshArrowTable } from '@loaders.gl/core/schema';
3
- import { serializeArrowWorkerTable } from '@loaders.gl/core/schema-utils/arrow-transport';
3
+ import { serializeArrowWorkerTable } from '@loaders.gl/core/arrow-worker-transport';
4
4
  import type { PCDMesh } from "./lib/pcd-types.js";
5
5
  type PCDParsedBatch = PCDMesh | ArrowTableBatch;
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pcd-loader.d.ts","sourceRoot":"","sources":["../../src/pcd/pcd-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,gBAAgB,EAAC,8BAA2B;AAOzD,OAAO,KAAK,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAEL,yBAAyB,EAC1B,MAAM,+CAA+C,CAAC;AAEvD,OAAO,KAAK,EAAC,OAAO,EAAC,2BAAwB;AAM7C,KAAK,cAAc,GAAG,OAAO,GAAG,eAAe,CAAC;AAShD;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;2CAMxB,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,GAChD,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC,4CAE9C,aAAa,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CAsB+D,CAAC;AAoGlG,qFAAqF;AACrF,iBAAS,0BAA0B,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,GAAG,cAAc,CAG1B;AAED,yEAAyE;AACzE,iBAAS,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAE9F"}
1
+ {"version":3,"file":"pcd-loader.d.ts","sourceRoot":"","sources":["../../src/pcd/pcd-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,gBAAgB,EAAC,8BAA2B;AAOzD,OAAO,KAAK,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAEL,yBAAyB,EAC1B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,KAAK,EAAC,OAAO,EAAC,2BAAwB;AAM7C,KAAK,cAAc,GAAG,OAAO,GAAG,eAAe,CAAC;AAShD;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;2CAMxB,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,GAChD,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC,4CAE9C,aAAa,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CAsB+D,CAAC;AAoGlG,qFAAqF;AACrF,iBAAS,0BAA0B,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,GAAG,cAAc,CAG1B;AAED,yEAAyE;AACzE,iBAAS,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAE9F"}
@@ -2,7 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { concatenateArrayBuffersAsync, makeTableScanBatch } from '@loaders.gl/core/loader-utils';
5
- import { deserializeArrowWorkerTable, serializeArrowWorkerTable } from '@loaders.gl/core/schema-utils/arrow-transport';
5
+ import { deserializeArrowWorkerTable, serializeArrowWorkerTable } from '@loaders.gl/core/arrow-worker-transport';
6
6
  import { convertMeshToTable, convertTableToMesh } from '@loaders.gl/core/schema-utils';
7
7
  import { parsePCD, parsePCDHeader } from "./lib/parse-pcd.js";
8
8
  import { PCDLoader as PCDLoaderMetadata } from "./pcd-loader-types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"pcd-loader.js","sourceRoot":"","sources":["../../src/pcd/pcd-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAC,2BAAwB;AACzD,OAAO,EAAC,SAAS,IAAI,iBAAiB,EAAC,8BAA2B;AAElE,MAAM,EAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,+BAA+B,EAAC,GAAG,iBAAiB,CAAC;AAI3F,SAAS,cAAc,CAAC,IAAa,EAAE,OAA0B;IAC/D,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtD,OAAO,OAAO,EAAE,GAAG,EAAE,KAAK,KAAK,MAAM;QACnC,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC;QACpC,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,+BAA+B;IAClC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAC9F,SAAS,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAC5F,cAAc,EAAE,KAAK,SAAS,CAAC,EAC7B,WAE+C,EAC/C,OAAO;QAEP,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,KAAK,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChC,KAAK,CAAC,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,qBAAqB,EAAE,yBAAyB;IAChD,uBAAuB,EAAE,0BAA0B;IACnD,oBAAoB,EAAE,yBAAyB;IAC/C,sBAAsB,EAAE,yBAAyB;CAC8C,CAAC;AAElG,4EAA4E;AAC5E,SAAS,mBAAmB,CAAC,OAA0B;IACrD,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC;IACjE,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,QAAQ,CAAC,CAAC,sBAAsB,CAC9B,IAAiB,EACjB,OAA0B,EAC1B,SAAkB;IAElB,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,QAAQ;SACnB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;SAC1B,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,mBAAmB,GAAG,SAAS,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAE3D,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAChF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,mBAAmB,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,GAAG,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACjG,MAAM,YAAY,CAAC,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,CAAC,uBAAuB,CAC/B,IAAiB,EACjB,OAA0B,EAC1B,SAAkB;IAElB,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,mBAAmB,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAEvC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,IAAI,mBAAmB,EAAE,CAAC;QAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QACvF,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC;QAC3E,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;QACtE,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC/B,UAAU,CAAC,GAAG,CACZ,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,CAAC,EAChE,WAAW,CAAC,MAAM,CACnB,CAAC;QACF,MAAM,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAa,EAAE,OAA0B;IAC7D,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,GAAG,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC;QACnC,OAAO,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,kBAAkB,CAAC;QACxB,GAAG,KAAK;QACR,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;KACV,CAAC,CAAC;AACvB,CAAC;AAED,kEAAkE;AAClE,SAAS,qBAAqB,CAAC,KAAqB,EAAE,UAAmB;IACvE,OAAO;QACL,GAAI,kBAAkB,CAAC,KAAK,CAAa;QACzC,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,UAAU,EAAE,UAAU,CAAC,UAAU;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAc,EAAE,UAAkB;IAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG;SACxB,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACtC,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,UAAU,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,UAAU,UAAU,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,UAAU,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,qFAAqF;AACrF,SAAS,0BAA0B,CACjC,MAAe,EACf,OAA0B;IAE1B,MAAM,KAAK,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,OAAO,EAAE,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACtF,CAAC;AAED,yEAAyE;AACzE,SAAS,yBAAyB,CAAC,MAAe,EAAE,OAA0B;IAC5E,OAAO,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAmB,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"pcd-loader.js","sourceRoot":"","sources":["../../src/pcd/pcd-loader.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ __export(pcd_writer_exports, {
25
25
  module.exports = __toCommonJS(pcd_writer_exports);
26
26
  var import_schema_utils = require("@loaders.gl/core/schema-utils");
27
27
  var import_pcd_format = require("./pcd-format.cjs");
28
- var VERSION = true ? "5.0.0-beta.4" : "latest";
28
+ var VERSION = true ? "5.0.0-beta.6" : "latest";
29
29
  var PCDWriter = {
30
30
  ...import_pcd_format.PCDFormat,
31
31
  dataType: null,
@@ -5,7 +5,7 @@ import { convertMeshToTable, convertTableToMesh } from '@loaders.gl/core/schema-
5
5
  import { PCDFormat } from "./pcd-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.4" !== 'undefined' ? "5.0.0-beta.4" : 'latest';
8
+ const VERSION = typeof "5.0.0-beta.6" !== 'undefined' ? "5.0.0-beta.6" : 'latest';
9
9
  /**
10
10
  * Writer for the PCD point cloud format.
11
11
  */
@@ -37,8 +37,8 @@ module.exports = __toCommonJS(pcd_loader_types_exports);
37
37
 
38
38
  // src/pcd/pcd-loader-types.ts
39
39
  var import_pcd_format = require("./pcd-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";
40
+ var import_arrow_worker_transport = require("@loaders.gl/core/arrow-worker-transport");
41
+ var VERSION = true ? "5.0.0-beta.6" : "latest";
42
42
  async function preload() {
43
43
  const { PCDLoaderWithParser } = await import("@loaders.gl/pointclouds/pcd-loader");
44
44
  return PCDLoaderWithParser;
@@ -51,7 +51,7 @@ var PCDLoader = {
51
51
  worker: true,
52
52
  /** Enables the stateful input/output batch protocol on the built-in worker. */
53
53
  workerInBatches: true,
54
- serializeWorkerResult: import_arrow_transport.serializeArrowWorkerTable,
54
+ serializeWorkerResult: import_arrow_worker_transport.serializeArrowWorkerTable,
55
55
  options: {
56
56
  pcd: { shape: "arrow-table", colorFormat: "uint8norm" }
57
57
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/pcd-loader-types.ts", "../src/pcd/pcd-loader-types.ts"],
4
- "sourcesContent": ["export * from './pcd/pcd-loader-types.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader, LoaderOptions} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable, ArrowTableBatch} from '@loaders.gl/core/schema';\nimport type {PCDMesh} from './lib/pcd-types';\nimport {PCDFormat} from './pcd-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 PCDLoaderOptions = LoaderOptions & {\n pcd?: {\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 /** 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 PCD loader implementation.\n */\nasync function preload() {\n const {PCDLoaderWithParser} = await import('@loaders.gl/pointclouds/pcd-loader');\n return PCDLoaderWithParser;\n}\n\n/**\n * Metadata-only worker loader for PCD - Point Cloud Data\n */\nexport const PCDLoader = {\n ...PCDFormat,\n dataType: null as unknown as PCDMesh | MeshArrowTable,\n batchType: null as unknown as PCDMesh | ArrowTableBatch,\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 pcd: {shape: 'arrow-table', colorFormat: 'uint8norm'}\n },\n preload\n} as const satisfies Loader<PCDMesh | MeshArrowTable, PCDMesh | ArrowTableBatch, PCDLoaderOptions>;\n\n/** @deprecated Use PCDLoader. */\nexport const PCDWorkerLoader = PCDLoader;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACOA,wBAAwB;AACxB,6BAAwC;AAIxC,IAAM,UAAU,OAAqC,iBAAc;AAgBnE,eAAe,UAAU;AACvB,QAAM,EAAC,oBAAmB,IAAI,MAAM,OAAO,oCAAoC;AAC/E,SAAO;AACT;AAKO,IAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,UAAU;AAAA,EACV,WAAW;AAAA,EACX,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": ["export * from './pcd/pcd-loader-types.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader, LoaderOptions} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable, ArrowTableBatch} from '@loaders.gl/core/schema';\nimport type {PCDMesh} from './lib/pcd-types';\nimport {PCDFormat} from './pcd-format';\nimport {serializeArrowWorkerTable} from '@loaders.gl/core/arrow-worker-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 PCDLoaderOptions = LoaderOptions & {\n pcd?: {\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 /** 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 PCD loader implementation.\n */\nasync function preload() {\n const {PCDLoaderWithParser} = await import('@loaders.gl/pointclouds/pcd-loader');\n return PCDLoaderWithParser;\n}\n\n/**\n * Metadata-only worker loader for PCD - Point Cloud Data\n */\nexport const PCDLoader = {\n ...PCDFormat,\n dataType: null as unknown as PCDMesh | MeshArrowTable,\n batchType: null as unknown as PCDMesh | ArrowTableBatch,\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 pcd: {shape: 'arrow-table', colorFormat: 'uint8norm'}\n },\n preload\n} as const satisfies Loader<PCDMesh | MeshArrowTable, PCDMesh | ArrowTableBatch, PCDLoaderOptions>;\n\n/** @deprecated Use PCDLoader. */\nexport const PCDWorkerLoader = PCDLoader;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACOA,wBAAwB;AACxB,oCAAwC;AAIxC,IAAM,UAAU,OAAqC,iBAAc;AAgBnE,eAAe,UAAU;AACvB,QAAM,EAAC,oBAAmB,IAAI,MAAM,OAAO,oCAAoC;AAC/E,SAAO;AACT;AAKO,IAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,UAAU;AAAA,EACV,WAAW;AAAA,EACX,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
  }
@@ -26,7 +26,7 @@ module.exports = __toCommonJS(pcd_loader_exports);
26
26
 
27
27
  // src/pcd/pcd-loader.ts
28
28
  var import_loader_utils = require("@loaders.gl/core/loader-utils");
29
- var import_arrow_transport = require("@loaders.gl/core/schema-utils/arrow-transport");
29
+ var import_arrow_worker_transport = require("@loaders.gl/core/arrow-worker-transport");
30
30
  var import_schema_utils = require("@loaders.gl/core/schema-utils");
31
31
  var import_parse_pcd = require("./lib/parse-pcd.cjs");
32
32
  var import_pcd_loader_types = require("./pcd-loader-types.cjs");
@@ -54,9 +54,9 @@ var PCDLoaderWithParser = {
54
54
  }
55
55
  yield makePCDBatch((0, import_parse_pcd.parsePCD)(data, options), options);
56
56
  },
57
- serializeWorkerResult: import_arrow_transport.serializeArrowWorkerTable,
57
+ serializeWorkerResult: import_arrow_worker_transport.serializeArrowWorkerTable,
58
58
  deserializeWorkerResult: deserializePCDWorkerResult,
59
- serializeWorkerBatch: import_arrow_transport.serializeArrowWorkerTable,
59
+ serializeWorkerBatch: import_arrow_worker_transport.serializeArrowWorkerTable,
60
60
  deserializeWorkerBatch: deserializePCDWorkerBatch
61
61
  };
62
62
  function getNumericBatchSize(options) {
@@ -133,7 +133,7 @@ function makePCDHeaderText(pcdHeader, pointCount) {
133
133
  `;
134
134
  }
135
135
  function deserializePCDWorkerResult(result, options) {
136
- const table = (0, import_arrow_transport.deserializeArrowWorkerTable)(result);
136
+ const table = (0, import_arrow_worker_transport.deserializeArrowWorkerTable)(result);
137
137
  return options?.pcd?.shape === "mesh" ? convertPCDTableToMesh(table, table) : table;
138
138
  }
139
139
  function deserializePCDWorkerBatch(result, options) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/pcd-loader.ts", "../src/pcd/pcd-loader.ts"],
4
- "sourcesContent": ["export * from './pcd/pcd-loader.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {PCDLoaderOptions} from './pcd-loader-types';\n\nimport {\n concatenateArrayBuffersAsync,\n makeTableScanBatch,\n type LoaderWithParser\n} from '@loaders.gl/core/loader-utils';\nimport type {ArrowTableBatch, MeshArrowTable} from '@loaders.gl/core/schema';\nimport {\n deserializeArrowWorkerTable,\n serializeArrowWorkerTable\n} from '@loaders.gl/core/schema-utils/arrow-transport';\nimport {convertMeshToTable, convertTableToMesh} from '@loaders.gl/core/schema-utils';\nimport type {PCDMesh} from './lib/pcd-types';\nimport {parsePCD, parsePCDHeader} from './lib/parse-pcd';\nimport {PCDLoader as PCDLoaderMetadata} from './pcd-loader-types';\n\nconst {preload: _PCDLoaderPreload, ...PCDLoaderMetadataWithoutPreload} = PCDLoaderMetadata;\n\ntype PCDParsedBatch = PCDMesh | ArrowTableBatch;\n\nfunction convertPCDMesh(mesh: PCDMesh, options?: PCDLoaderOptions): PCDMesh | MeshArrowTable {\n const table = convertMeshToTable(mesh, 'arrow-table');\n return options?.pcd?.shape === 'mesh'\n ? convertPCDTableToMesh(table, mesh)\n : {...table, loader: mesh.loader, loaderData: mesh.loaderData};\n}\n\n/**\n * Loader for PCD - Point Cloud Data\n */\nexport const PCDLoaderWithParser = {\n ...PCDLoaderMetadataWithoutPreload,\n parse: async (arrayBuffer, options) => convertPCDMesh(parsePCD(arrayBuffer, options), options),\n parseSync: (arrayBuffer, options) => convertPCDMesh(parsePCD(arrayBuffer, options), options),\n parseInBatches: async function* (\n arrayBuffer:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>,\n options\n ): AsyncIterable<PCDParsedBatch> {\n const batchSize = getNumericBatchSize(options);\n const data = await concatenateArrayBuffersAsync(arrayBuffer);\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n\n if (pcdHeader.data === 'ascii') {\n yield* parsePCDASCIIInBatches(data, options, batchSize);\n return;\n }\n\n if (pcdHeader.data === 'binary') {\n yield* parsePCDBinaryInBatches(data, options, batchSize);\n return;\n }\n\n yield makePCDBatch(parsePCD(data, options), options);\n },\n serializeWorkerResult: serializeArrowWorkerTable,\n deserializeWorkerResult: deserializePCDWorkerResult,\n serializeWorkerBatch: serializeArrowWorkerTable,\n deserializeWorkerBatch: deserializePCDWorkerBatch\n} as const satisfies LoaderWithParser<PCDMesh | MeshArrowTable, PCDParsedBatch, PCDLoaderOptions>;\n\n/** Returns a numeric batch size when batching has an explicit row count. */\nfunction getNumericBatchSize(options?: PCDLoaderOptions): number | undefined {\n const batchSize = options?.batchSize ?? options?.core?.batchSize;\n return typeof batchSize === 'number' ? batchSize : undefined;\n}\n\nfunction* parsePCDASCIIInBatches(\n data: ArrayBuffer,\n options?: PCDLoaderOptions,\n batchSize?: number\n): Iterable<PCDParsedBatch> {\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n const lines = textData\n .slice(pcdHeader.headerLen)\n .split(/\\r?\\n/)\n .filter(line => line.trim().length > 0);\n const normalizedBatchSize = batchSize || lines.length || 1;\n\n for (let rowIndex = 0; rowIndex < lines.length; rowIndex += normalizedBatchSize) {\n const batchLines = lines.slice(rowIndex, rowIndex + normalizedBatchSize);\n const batchText = `${makePCDHeaderText(pcdHeader, batchLines.length)}${batchLines.join('\\n')}\\n`;\n yield makePCDBatch(parsePCD(new TextEncoder().encode(batchText).buffer, options), options);\n }\n}\n\nfunction* parsePCDBinaryInBatches(\n data: ArrayBuffer,\n options?: PCDLoaderOptions,\n batchSize?: number\n): Iterable<PCDParsedBatch> {\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n const normalizedBatchSize = batchSize || pcdHeader.points || 1;\n const dataBytes = new Uint8Array(data);\n\n for (let pointIndex = 0; pointIndex < pcdHeader.points; pointIndex += normalizedBatchSize) {\n const pointCount = Math.min(normalizedBatchSize, pcdHeader.points - pointIndex);\n const headerBytes = new TextEncoder().encode(makePCDHeaderText(pcdHeader, pointCount));\n const rowByteOffset = pcdHeader.headerLen + pointIndex * pcdHeader.rowSize;\n const rowByteLength = pointCount * pcdHeader.rowSize;\n const batchBytes = new Uint8Array(headerBytes.length + rowByteLength);\n batchBytes.set(headerBytes, 0);\n batchBytes.set(\n dataBytes.subarray(rowByteOffset, rowByteOffset + rowByteLength),\n headerBytes.length\n );\n yield makePCDBatch(parsePCD(batchBytes.buffer, options), options);\n }\n}\n\nfunction makePCDBatch(mesh: PCDMesh, options?: PCDLoaderOptions): PCDParsedBatch {\n const table = convertMeshToTable(mesh, 'arrow-table');\n if (options?.pcd?.shape === 'mesh') {\n return convertPCDTableToMesh(table, mesh);\n }\n\n return makeTableScanBatch({\n ...table,\n loader: mesh.loader,\n loaderData: mesh.loaderData\n } as MeshArrowTable);\n}\n\n/** Convert the parser's Arrow table to legacy PCD mesh output. */\nfunction convertPCDTableToMesh(table: MeshArrowTable, sourceMesh: PCDMesh): PCDMesh {\n return {\n ...(convertTableToMesh(table) as PCDMesh),\n loader: sourceMesh.loader,\n loaderData: sourceMesh.loaderData\n };\n}\n\nfunction makePCDHeaderText(pcdHeader: any, pointCount: number): string {\n const lines = pcdHeader.str\n .split(/\\r?\\n/)\n .filter(line => line.trim().length > 0)\n .map(line => {\n if (/^WIDTH\\s+/i.test(line)) {\n return `WIDTH ${pointCount}`;\n }\n if (/^HEIGHT\\s+/i.test(line)) {\n return 'HEIGHT 1';\n }\n if (/^POINTS\\s+/i.test(line)) {\n return `POINTS ${pointCount}`;\n }\n return line;\n });\n\n if (!lines.some(line => /^POINTS\\s+/i.test(line))) {\n const dataLineIndex = lines.findIndex(line => /^DATA\\s+/i.test(line));\n lines.splice(dataLineIndex >= 0 ? dataLineIndex : lines.length, 0, `POINTS ${pointCount}`);\n }\n\n return `${lines.join('\\n')}\\n`;\n}\n\n/** Hydrates worker columns before reconstructing legacy PCD meshes on the caller. */\nfunction deserializePCDWorkerResult(\n result: unknown,\n options?: PCDLoaderOptions\n): PCDMesh | MeshArrowTable {\n const table = deserializeArrowWorkerTable(result);\n return options?.pcd?.shape === 'mesh' ? convertPCDTableToMesh(table, table) : table;\n}\n\n/** Restores the existing PCD batch shape after caller-side hydration. */\nfunction deserializePCDWorkerBatch(result: unknown, options?: PCDLoaderOptions): PCDParsedBatch {\n return deserializePCDWorkerResult(result, options) as PCDParsedBatch;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export * from './pcd/pcd-loader.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {PCDLoaderOptions} from './pcd-loader-types';\n\nimport {\n concatenateArrayBuffersAsync,\n makeTableScanBatch,\n type LoaderWithParser\n} from '@loaders.gl/core/loader-utils';\nimport type {ArrowTableBatch, MeshArrowTable} from '@loaders.gl/core/schema';\nimport {\n deserializeArrowWorkerTable,\n serializeArrowWorkerTable\n} from '@loaders.gl/core/arrow-worker-transport';\nimport {convertMeshToTable, convertTableToMesh} from '@loaders.gl/core/schema-utils';\nimport type {PCDMesh} from './lib/pcd-types';\nimport {parsePCD, parsePCDHeader} from './lib/parse-pcd';\nimport {PCDLoader as PCDLoaderMetadata} from './pcd-loader-types';\n\nconst {preload: _PCDLoaderPreload, ...PCDLoaderMetadataWithoutPreload} = PCDLoaderMetadata;\n\ntype PCDParsedBatch = PCDMesh | ArrowTableBatch;\n\nfunction convertPCDMesh(mesh: PCDMesh, options?: PCDLoaderOptions): PCDMesh | MeshArrowTable {\n const table = convertMeshToTable(mesh, 'arrow-table');\n return options?.pcd?.shape === 'mesh'\n ? convertPCDTableToMesh(table, mesh)\n : {...table, loader: mesh.loader, loaderData: mesh.loaderData};\n}\n\n/**\n * Loader for PCD - Point Cloud Data\n */\nexport const PCDLoaderWithParser = {\n ...PCDLoaderMetadataWithoutPreload,\n parse: async (arrayBuffer, options) => convertPCDMesh(parsePCD(arrayBuffer, options), options),\n parseSync: (arrayBuffer, options) => convertPCDMesh(parsePCD(arrayBuffer, options), options),\n parseInBatches: async function* (\n arrayBuffer:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>,\n options\n ): AsyncIterable<PCDParsedBatch> {\n const batchSize = getNumericBatchSize(options);\n const data = await concatenateArrayBuffersAsync(arrayBuffer);\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n\n if (pcdHeader.data === 'ascii') {\n yield* parsePCDASCIIInBatches(data, options, batchSize);\n return;\n }\n\n if (pcdHeader.data === 'binary') {\n yield* parsePCDBinaryInBatches(data, options, batchSize);\n return;\n }\n\n yield makePCDBatch(parsePCD(data, options), options);\n },\n serializeWorkerResult: serializeArrowWorkerTable,\n deserializeWorkerResult: deserializePCDWorkerResult,\n serializeWorkerBatch: serializeArrowWorkerTable,\n deserializeWorkerBatch: deserializePCDWorkerBatch\n} as const satisfies LoaderWithParser<PCDMesh | MeshArrowTable, PCDParsedBatch, PCDLoaderOptions>;\n\n/** Returns a numeric batch size when batching has an explicit row count. */\nfunction getNumericBatchSize(options?: PCDLoaderOptions): number | undefined {\n const batchSize = options?.batchSize ?? options?.core?.batchSize;\n return typeof batchSize === 'number' ? batchSize : undefined;\n}\n\nfunction* parsePCDASCIIInBatches(\n data: ArrayBuffer,\n options?: PCDLoaderOptions,\n batchSize?: number\n): Iterable<PCDParsedBatch> {\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n const lines = textData\n .slice(pcdHeader.headerLen)\n .split(/\\r?\\n/)\n .filter(line => line.trim().length > 0);\n const normalizedBatchSize = batchSize || lines.length || 1;\n\n for (let rowIndex = 0; rowIndex < lines.length; rowIndex += normalizedBatchSize) {\n const batchLines = lines.slice(rowIndex, rowIndex + normalizedBatchSize);\n const batchText = `${makePCDHeaderText(pcdHeader, batchLines.length)}${batchLines.join('\\n')}\\n`;\n yield makePCDBatch(parsePCD(new TextEncoder().encode(batchText).buffer, options), options);\n }\n}\n\nfunction* parsePCDBinaryInBatches(\n data: ArrayBuffer,\n options?: PCDLoaderOptions,\n batchSize?: number\n): Iterable<PCDParsedBatch> {\n const textData = new TextDecoder().decode(data);\n const pcdHeader = parsePCDHeader(textData);\n const normalizedBatchSize = batchSize || pcdHeader.points || 1;\n const dataBytes = new Uint8Array(data);\n\n for (let pointIndex = 0; pointIndex < pcdHeader.points; pointIndex += normalizedBatchSize) {\n const pointCount = Math.min(normalizedBatchSize, pcdHeader.points - pointIndex);\n const headerBytes = new TextEncoder().encode(makePCDHeaderText(pcdHeader, pointCount));\n const rowByteOffset = pcdHeader.headerLen + pointIndex * pcdHeader.rowSize;\n const rowByteLength = pointCount * pcdHeader.rowSize;\n const batchBytes = new Uint8Array(headerBytes.length + rowByteLength);\n batchBytes.set(headerBytes, 0);\n batchBytes.set(\n dataBytes.subarray(rowByteOffset, rowByteOffset + rowByteLength),\n headerBytes.length\n );\n yield makePCDBatch(parsePCD(batchBytes.buffer, options), options);\n }\n}\n\nfunction makePCDBatch(mesh: PCDMesh, options?: PCDLoaderOptions): PCDParsedBatch {\n const table = convertMeshToTable(mesh, 'arrow-table');\n if (options?.pcd?.shape === 'mesh') {\n return convertPCDTableToMesh(table, mesh);\n }\n\n return makeTableScanBatch({\n ...table,\n loader: mesh.loader,\n loaderData: mesh.loaderData\n } as MeshArrowTable);\n}\n\n/** Convert the parser's Arrow table to legacy PCD mesh output. */\nfunction convertPCDTableToMesh(table: MeshArrowTable, sourceMesh: PCDMesh): PCDMesh {\n return {\n ...(convertTableToMesh(table) as PCDMesh),\n loader: sourceMesh.loader,\n loaderData: sourceMesh.loaderData\n };\n}\n\nfunction makePCDHeaderText(pcdHeader: any, pointCount: number): string {\n const lines = pcdHeader.str\n .split(/\\r?\\n/)\n .filter(line => line.trim().length > 0)\n .map(line => {\n if (/^WIDTH\\s+/i.test(line)) {\n return `WIDTH ${pointCount}`;\n }\n if (/^HEIGHT\\s+/i.test(line)) {\n return 'HEIGHT 1';\n }\n if (/^POINTS\\s+/i.test(line)) {\n return `POINTS ${pointCount}`;\n }\n return line;\n });\n\n if (!lines.some(line => /^POINTS\\s+/i.test(line))) {\n const dataLineIndex = lines.findIndex(line => /^DATA\\s+/i.test(line));\n lines.splice(dataLineIndex >= 0 ? dataLineIndex : lines.length, 0, `POINTS ${pointCount}`);\n }\n\n return `${lines.join('\\n')}\\n`;\n}\n\n/** Hydrates worker columns before reconstructing legacy PCD meshes on the caller. */\nfunction deserializePCDWorkerResult(\n result: unknown,\n options?: PCDLoaderOptions\n): PCDMesh | MeshArrowTable {\n const table = deserializeArrowWorkerTable(result);\n return options?.pcd?.shape === 'mesh' ? convertPCDTableToMesh(table, table) : table;\n}\n\n/** Restores the existing PCD batch shape after caller-side hydration. */\nfunction deserializePCDWorkerBatch(result: unknown, options?: PCDLoaderOptions): PCDParsedBatch {\n return deserializePCDWorkerResult(result, options) as PCDParsedBatch;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["PCDLoaderMetadata"]
7
7
  }