@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
@@ -38,7 +38,7 @@ var LASCOPCLoader = {
38
38
  ...import_las_loader_shared.LAS_LOADER_METADATA,
39
39
  name: "LAS (COPC)",
40
40
  preload: async () => {
41
- const { LASCOPCLoaderWithParser } = await import("@loaders.gl/pointclouds/las/las-copc-loader");
41
+ const { LASCOPCLoaderWithParser } = await import("@loaders.gl/pointclouds/las-copc-loader");
42
42
  return LASCOPCLoaderWithParser;
43
43
  }
44
44
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/las/las-copc-loader-types.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {LAS_LOADER_METADATA, type LASLoaderOptions} from './las-loader-shared';\nimport type {LASMesh} from './lib/las-types';\n\n/** Metadata-only LAS/LAZ loader variant using the COPC package decoder. */\nexport const LASCOPCLoader = {\n ...LAS_LOADER_METADATA,\n name: 'LAS (COPC)',\n preload: async () => {\n const {LASCOPCLoaderWithParser} = await import('@loaders.gl/pointclouds/las/las-copc-loader');\n return LASCOPCLoaderWithParser;\n }\n} as const satisfies Loader<LASMesh | MeshArrowTable, LASMesh | MeshArrowTable, LASLoaderOptions>;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,+BAAyD;AAIlD,IAAM,gBAAgB;AAAA,EAC3B,GAAG;AAAA,EACH,MAAM;AAAA,EACN,SAAS,YAAY;AACnB,UAAM,EAAC,wBAAuB,IAAI,MAAM,OAAO,6CAA6C;AAC5F,WAAO;AAAA,EACT;AACF;",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {LAS_LOADER_METADATA, type LASLoaderOptions} from './las-loader-shared';\nimport type {LASMesh} from './lib/las-types';\n\n/** Metadata-only LAS/LAZ loader variant using the COPC package decoder. */\nexport const LASCOPCLoader = {\n ...LAS_LOADER_METADATA,\n name: 'LAS (COPC)',\n preload: async () => {\n const {LASCOPCLoaderWithParser} = await import('@loaders.gl/pointclouds/las-copc-loader');\n return LASCOPCLoaderWithParser;\n }\n} as const satisfies Loader<LASMesh | MeshArrowTable, LASMesh | MeshArrowTable, LASLoaderOptions>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,+BAAyD;AAIlD,IAAM,gBAAgB;AAAA,EAC3B,GAAG;AAAA,EACH,MAAM;AAAA,EACN,SAAS,YAAY;AACnB,UAAM,EAAC,wBAAuB,IAAI,MAAM,OAAO,yCAAyC;AACxF,WAAO;AAAA,EACT;AACF;",
6
6
  "names": []
7
7
  }
@@ -7,7 +7,7 @@ export const LASCOPCLoader = {
7
7
  ...LAS_LOADER_METADATA,
8
8
  name: 'LAS (COPC)',
9
9
  preload: async () => {
10
- const { LASCOPCLoaderWithParser } = await import('@loaders.gl/pointclouds/las/las-copc-loader');
10
+ const { LASCOPCLoaderWithParser } = await import('@loaders.gl/pointclouds/las-copc-loader');
11
11
  return LASCOPCLoaderWithParser;
12
12
  }
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"las-copc-loader-types.js","sourceRoot":"","sources":["../../src/las/las-copc-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,mBAAmB,EAAwB,+BAA4B;AAG/E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,mBAAmB;IACtB,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,EAAC,uBAAuB,EAAC,GAAG,MAAM,MAAM,CAAC,6CAA6C,CAAC,CAAC;QAC9F,OAAO,uBAAuB,CAAC;IACjC,CAAC;CAC8F,CAAC"}
1
+ {"version":3,"file":"las-copc-loader-types.js","sourceRoot":"","sources":["../../src/las/las-copc-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,mBAAmB,EAAwB,+BAA4B;AAG/E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,mBAAmB;IACtB,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,EAAC,uBAAuB,EAAC,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC;QAC1F,OAAO,uBAAuB,CAAC;IACjC,CAAC;CAC8F,CAAC"}
@@ -28,7 +28,7 @@ __export(las_loader_shared_exports, {
28
28
  module.exports = __toCommonJS(las_loader_shared_exports);
29
29
  var import_schema = require("@loaders.gl/core/schema");
30
30
  var import_las_format = require("./las-format.cjs");
31
- var VERSION = true ? "5.0.0-beta.1" : "latest";
31
+ var VERSION = true ? "5.0.0-beta.4" : "latest";
32
32
  var DEFAULT_LAS_SHAPE = "arrow-table";
33
33
  function getLASShape(options) {
34
34
  return options?.las?.shape || DEFAULT_LAS_SHAPE;
@@ -5,7 +5,7 @@ import { convertColorArrayToFloat16, convertColorArrayToFloat32 } from '@loaders
5
5
  import { LASFormat } from "./las-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
  /** Default output shape for LAS and LAZ loaders. */
10
10
  export const DEFAULT_LAS_SHAPE = 'arrow-table';
11
11
  /** Resolve the LAS output shape, including the Arrow-primary default. */
@@ -36,7 +36,7 @@ __export(las_loader_types_exports, {
36
36
  module.exports = __toCommonJS(las_loader_types_exports);
37
37
  var import_las_loader_shared = require("./las-loader-shared.cjs");
38
38
  async function preload() {
39
- const { LASLoaderWithParser } = await import("@loaders.gl/pointclouds/las/las-loader");
39
+ const { LASLoaderWithParser } = await import("@loaders.gl/pointclouds/las-loader");
40
40
  return LASLoaderWithParser;
41
41
  }
42
42
  var LASLoader = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/las/las-loader-types.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport type {LASMesh} from './lib/las-types';\nimport {LAS_LOADER_METADATA, type LASLoaderOptions} from './las-loader-shared';\n\nexport type {LASColumnName, LASLoaderOptions} from './las-loader-shared';\n\n/** Preloads the parser-bearing primary TypeScript LAS loader implementation. */\nasync function preload() {\n const {LASLoaderWithParser} = await import('@loaders.gl/pointclouds/las/las-loader');\n return LASLoaderWithParser;\n}\n\n/** Metadata-only loader for the LAS (LASer) point cloud format. */\nexport const LASLoader = {\n ...LAS_LOADER_METADATA,\n worker: true,\n workerInBatches: true,\n preload\n} as const satisfies Loader<LASMesh | MeshArrowTable, LASMesh | MeshArrowTable, LASLoaderOptions>;\n\n/** @deprecated Use LASLoader. */\nexport const LASWorkerLoader = LASLoader;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAyD;AAKzD,eAAe,UAAU;AACvB,QAAM,EAAC,oBAAmB,IAAI,MAAM,OAAO,wCAAwC;AACnF,SAAO;AACT;AAGO,IAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB;AACF;AAGO,IAAM,kBAAkB;",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport type {LASMesh} from './lib/las-types';\nimport {LAS_LOADER_METADATA, type LASLoaderOptions} from './las-loader-shared';\n\nexport type {LASColumnName, LASLoaderOptions} from './las-loader-shared';\n\n/** Preloads the parser-bearing primary TypeScript LAS loader implementation. */\nasync function preload() {\n const {LASLoaderWithParser} = await import('@loaders.gl/pointclouds/las-loader');\n return LASLoaderWithParser;\n}\n\n/** Metadata-only loader for the LAS (LASer) point cloud format. */\nexport const LASLoader = {\n ...LAS_LOADER_METADATA,\n worker: true,\n workerInBatches: true,\n preload\n} as const satisfies Loader<LASMesh | MeshArrowTable, LASMesh | MeshArrowTable, LASLoaderOptions>;\n\n/** @deprecated Use LASLoader. */\nexport const LASWorkerLoader = LASLoader;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAyD;AAKzD,eAAe,UAAU;AACvB,QAAM,EAAC,oBAAmB,IAAI,MAAM,OAAO,oCAAoC;AAC/E,SAAO;AACT;AAGO,IAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB;AACF;AAGO,IAAM,kBAAkB;",
6
6
  "names": []
7
7
  }
@@ -4,7 +4,7 @@
4
4
  import { LAS_LOADER_METADATA } from "./las-loader-shared.js";
5
5
  /** Preloads the parser-bearing primary TypeScript LAS loader implementation. */
6
6
  async function preload() {
7
- const { LASLoaderWithParser } = await import('@loaders.gl/pointclouds/las/las-loader');
7
+ const { LASLoaderWithParser } = await import('@loaders.gl/pointclouds/las-loader');
8
8
  return LASLoaderWithParser;
9
9
  }
10
10
  /** Metadata-only loader for the LAS (LASer) point cloud format. */
@@ -1 +1 @@
1
- {"version":3,"file":"las-loader-types.js","sourceRoot":"","sources":["../../src/las/las-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAKpC,OAAO,EAAC,mBAAmB,EAAwB,+BAA4B;AAI/E,gFAAgF;AAChF,KAAK,UAAU,OAAO;IACpB,MAAM,EAAC,mBAAmB,EAAC,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;IACrF,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,mBAAmB;IACtB,MAAM,EAAE,IAAI;IACZ,eAAe,EAAE,IAAI;IACrB,OAAO;CACwF,CAAC;AAElG,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"las-loader-types.js","sourceRoot":"","sources":["../../src/las/las-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAKpC,OAAO,EAAC,mBAAmB,EAAwB,+BAA4B;AAI/E,gFAAgF;AAChF,KAAK,UAAU,OAAO;IACpB,MAAM,EAAC,mBAAmB,EAAC,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IACjF,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,mBAAmB;IACtB,MAAM,EAAE,IAAI;IACZ,eAAe,EAAE,IAAI;IACrB,OAAO;CACwF,CAAC;AAElG,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC"}
@@ -26,7 +26,7 @@ module.exports = __toCommonJS(las_writer_exports);
26
26
  var import_loader_utils = require("@loaders.gl/core/loader-utils");
27
27
  var import_schema_utils = require("@loaders.gl/core/schema-utils");
28
28
  var import_las_format = require("./las-format.cjs");
29
- var VERSION = true ? "5.0.0-beta.1" : "latest";
29
+ var VERSION = true ? "5.0.0-beta.4" : "latest";
30
30
  var LAS_HEADER_LENGTH = 227;
31
31
  var LAS_1_4_HEADER_LENGTH = 375;
32
32
  var LAS_1_5_HEADER_LENGTH = 393;
@@ -6,7 +6,7 @@ import { convertMeshToTable, convertTableToMesh } from '@loaders.gl/core/schema-
6
6
  import { LASFormat } from "./las-format.js";
7
7
  // __VERSION__ is injected by babel-plugin-version-inline
8
8
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
9
- const VERSION = typeof "5.0.0-beta.1" !== 'undefined' ? "5.0.0-beta.1" : 'latest';
9
+ const VERSION = typeof "5.0.0-beta.4" !== 'undefined' ? "5.0.0-beta.4" : 'latest';
10
10
  const LAS_HEADER_LENGTH = 227;
11
11
  const LAS_1_4_HEADER_LENGTH = 375;
12
12
  const LAS_1_5_HEADER_LENGTH = 393;
@@ -38,7 +38,7 @@ var LAZRsLoader = {
38
38
  ...import_las_loader_shared.LAS_LOADER_METADATA,
39
39
  name: "LAS (laz-rs)",
40
40
  preload: async () => {
41
- const { LAZRsLoaderWithParser } = await import("@loaders.gl/pointclouds/las/laz-rs-loader");
41
+ const { LAZRsLoaderWithParser } = await import("@loaders.gl/pointclouds/laz-rs-loader");
42
42
  return LAZRsLoaderWithParser;
43
43
  }
44
44
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/las/laz-rs-loader-types.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// LASER (LAS) FILE FORMAT\nimport type {Loader} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {LAS_LOADER_METADATA, type LASLoaderOptions} from './las-loader-shared';\nimport type {LASMesh} from './lib/las-types';\n\n/**\n * Metadata-only loader for the LAS (LASer) point cloud format.\n */\nexport const LAZRsLoader = {\n ...LAS_LOADER_METADATA,\n name: 'LAS (laz-rs)',\n preload: async () => {\n const {LAZRsLoaderWithParser} = await import('@loaders.gl/pointclouds/las/laz-rs-loader');\n return LAZRsLoaderWithParser;\n }\n} as const satisfies Loader<LASMesh | MeshArrowTable, LASMesh | MeshArrowTable, LASLoaderOptions>;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAyD;AAMlD,IAAM,cAAc;AAAA,EACzB,GAAG;AAAA,EACH,MAAM;AAAA,EACN,SAAS,YAAY;AACnB,UAAM,EAAC,sBAAqB,IAAI,MAAM,OAAO,2CAA2C;AACxF,WAAO;AAAA,EACT;AACF;",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// LASER (LAS) FILE FORMAT\nimport type {Loader} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {LAS_LOADER_METADATA, type LASLoaderOptions} from './las-loader-shared';\nimport type {LASMesh} from './lib/las-types';\n\n/**\n * Metadata-only loader for the LAS (LASer) point cloud format.\n */\nexport const LAZRsLoader = {\n ...LAS_LOADER_METADATA,\n name: 'LAS (laz-rs)',\n preload: async () => {\n const {LAZRsLoaderWithParser} = await import('@loaders.gl/pointclouds/laz-rs-loader');\n return LAZRsLoaderWithParser;\n }\n} as const satisfies Loader<LASMesh | MeshArrowTable, LASMesh | MeshArrowTable, LASLoaderOptions>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAyD;AAMlD,IAAM,cAAc;AAAA,EACzB,GAAG;AAAA,EACH,MAAM;AAAA,EACN,SAAS,YAAY;AACnB,UAAM,EAAC,sBAAqB,IAAI,MAAM,OAAO,uCAAuC;AACpF,WAAO;AAAA,EACT;AACF;",
6
6
  "names": []
7
7
  }
@@ -9,7 +9,7 @@ export const LAZRsLoader = {
9
9
  ...LAS_LOADER_METADATA,
10
10
  name: 'LAS (laz-rs)',
11
11
  preload: async () => {
12
- const { LAZRsLoaderWithParser } = await import('@loaders.gl/pointclouds/las/laz-rs-loader');
12
+ const { LAZRsLoaderWithParser } = await import('@loaders.gl/pointclouds/laz-rs-loader');
13
13
  return LAZRsLoaderWithParser;
14
14
  }
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"laz-rs-loader-types.js","sourceRoot":"","sources":["../../src/las/laz-rs-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAKpC,OAAO,EAAC,mBAAmB,EAAwB,+BAA4B;AAG/E;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,mBAAmB;IACtB,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,EAAC,qBAAqB,EAAC,GAAG,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAAC;QAC1F,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CAC8F,CAAC"}
1
+ {"version":3,"file":"laz-rs-loader-types.js","sourceRoot":"","sources":["../../src/las/laz-rs-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAKpC,OAAO,EAAC,mBAAmB,EAAwB,+BAA4B;AAG/E;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,mBAAmB;IACtB,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,EAAC,qBAAqB,EAAC,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC;QACtF,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CAC8F,CAAC"}
@@ -38,7 +38,7 @@ var LAZPerfLoader = {
38
38
  ...import_las_loader_shared.LAS_LOADER_METADATA,
39
39
  name: "LAS (laz-perf)",
40
40
  preload: async () => {
41
- const { LAZPerfLoaderWithParser } = await import("@loaders.gl/pointclouds/las/lazperf-loader");
41
+ const { LAZPerfLoaderWithParser } = await import("@loaders.gl/pointclouds/lazperf-loader");
42
42
  return LAZPerfLoaderWithParser;
43
43
  }
44
44
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/las/lazperf-loader-types.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// LASER (LAS) FILE FORMAT\nimport type {Loader} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {LAS_LOADER_METADATA, type LASLoaderOptions} from './las-loader-shared';\nimport type {LASMesh} from './lib/las-types';\n\n/**\n * Metadata-only loader for the LAS (LASer) point cloud format.\n * @note Does not support LAS v1.4\n */\nexport const LAZPerfLoader = {\n ...LAS_LOADER_METADATA,\n name: 'LAS (laz-perf)',\n preload: async () => {\n const {LAZPerfLoaderWithParser} = await import('@loaders.gl/pointclouds/las/lazperf-loader');\n return LAZPerfLoaderWithParser;\n }\n} as const satisfies Loader<LASMesh | MeshArrowTable, LASMesh | MeshArrowTable, LASLoaderOptions>;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAyD;AAOlD,IAAM,gBAAgB;AAAA,EAC3B,GAAG;AAAA,EACH,MAAM;AAAA,EACN,SAAS,YAAY;AACnB,UAAM,EAAC,wBAAuB,IAAI,MAAM,OAAO,4CAA4C;AAC3F,WAAO;AAAA,EACT;AACF;",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// LASER (LAS) FILE FORMAT\nimport type {Loader} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {LAS_LOADER_METADATA, type LASLoaderOptions} from './las-loader-shared';\nimport type {LASMesh} from './lib/las-types';\n\n/**\n * Metadata-only loader for the LAS (LASer) point cloud format.\n * @note Does not support LAS v1.4\n */\nexport const LAZPerfLoader = {\n ...LAS_LOADER_METADATA,\n name: 'LAS (laz-perf)',\n preload: async () => {\n const {LAZPerfLoaderWithParser} = await import('@loaders.gl/pointclouds/lazperf-loader');\n return LAZPerfLoaderWithParser;\n }\n} as const satisfies Loader<LASMesh | MeshArrowTable, LASMesh | MeshArrowTable, LASLoaderOptions>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAyD;AAOlD,IAAM,gBAAgB;AAAA,EAC3B,GAAG;AAAA,EACH,MAAM;AAAA,EACN,SAAS,YAAY;AACnB,UAAM,EAAC,wBAAuB,IAAI,MAAM,OAAO,wCAAwC;AACvF,WAAO;AAAA,EACT;AACF;",
6
6
  "names": []
7
7
  }
@@ -10,7 +10,7 @@ export const LAZPerfLoader = {
10
10
  ...LAS_LOADER_METADATA,
11
11
  name: 'LAS (laz-perf)',
12
12
  preload: async () => {
13
- const { LAZPerfLoaderWithParser } = await import('@loaders.gl/pointclouds/las/lazperf-loader');
13
+ const { LAZPerfLoaderWithParser } = await import('@loaders.gl/pointclouds/lazperf-loader');
14
14
  return LAZPerfLoaderWithParser;
15
15
  }
16
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"lazperf-loader-types.js","sourceRoot":"","sources":["../../src/las/lazperf-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAKpC,OAAO,EAAC,mBAAmB,EAAwB,+BAA4B;AAG/E;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,mBAAmB;IACtB,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,EAAC,uBAAuB,EAAC,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;QAC7F,OAAO,uBAAuB,CAAC;IACjC,CAAC;CAC8F,CAAC"}
1
+ {"version":3,"file":"lazperf-loader-types.js","sourceRoot":"","sources":["../../src/las/lazperf-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAKpC,OAAO,EAAC,mBAAmB,EAAwB,+BAA4B;AAG/E;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,mBAAmB;IACtB,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,EAAC,uBAAuB,EAAC,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;QACzF,OAAO,uBAAuB,CAAC;IACjC,CAAC;CAC8F,CAAC"}
@@ -133,7 +133,12 @@ function populateLASTypedExtraBytes(rawExtraBytes, pointCount, extraByteCount, a
133
133
  }
134
134
  }
135
135
  function readLASString(bytes, offset, length) {
136
- return new TextDecoder().decode(bytes.subarray(offset, offset + length)).replace(/\0+$/, "").trim();
136
+ const decoded = new TextDecoder().decode(bytes.subarray(offset, offset + length));
137
+ let end = decoded.length;
138
+ while (end > 0 && decoded[end - 1] === "\0") {
139
+ end--;
140
+ }
141
+ return decoded.slice(0, end).trim();
137
142
  }
138
143
  function sanitizeExtraBytesName(name) {
139
144
  return name.trim().replace(/[^A-Za-z0-9_]+/g, "_");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/las/lib/las-extra-bytes.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {LASExtraBytesDescriptor} from './las-types';\n\n/** Typed-array values supported for LAS Extra Bytes Arrow attributes. */\nexport type LASTypedExtraBytesValue =\n | Uint8Array\n | Int8Array\n | Uint16Array\n | Int16Array\n | Uint32Array\n | Int32Array\n | Float32Array\n | Float64Array\n | BigInt64Array\n | BigUint64Array;\n\n/** Prepared typed LAS Extra Bytes attribute and its source-record layout. */\nexport type LASTypedExtraBytesAttribute = {\n /** Stable Arrow attribute name. */\n name: string;\n /** Typed output values. */\n value: LASTypedExtraBytesValue;\n /** Number of components per point. */\n size: number;\n /** LAS scalar data type code. */\n scalarDataType: number;\n /** Byte offset within the packed Extra Bytes record. */\n byteOffset: number;\n /** Total source byte length per point. */\n byteLength: number;\n /** Per-component scales. */\n scales: number[];\n /** Per-component offsets. */\n offsets: number[];\n /** Whether transformed integer values require Float64 output. */\n outputFloat64: boolean;\n};\n\n/** Parse the 192-byte descriptors in an LAS Extra Bytes VLR payload. */\nexport function parseLASExtraBytes(data: Uint8Array): LASExtraBytesDescriptor[] {\n if (data.byteLength % 192 !== 0) {\n throw new Error(`LAS Extra Bytes VLR length ${data.byteLength} is not a multiple of 192`);\n }\n const descriptors: LASExtraBytesDescriptor[] = [];\n const dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\n for (let descriptorOffset = 0; descriptorOffset < data.byteLength; descriptorOffset += 192) {\n const scales: [number, number, number] = [\n dataView.getFloat64(descriptorOffset + 112, true),\n dataView.getFloat64(descriptorOffset + 120, true),\n dataView.getFloat64(descriptorOffset + 128, true)\n ];\n const offsets: [number, number, number] = [\n dataView.getFloat64(descriptorOffset + 136, true),\n dataView.getFloat64(descriptorOffset + 144, true),\n dataView.getFloat64(descriptorOffset + 152, true)\n ];\n descriptors.push({\n dataType: data[descriptorOffset + 2],\n options: data[descriptorOffset + 3],\n name: readLASString(data, descriptorOffset + 4, 32),\n description: readLASString(data, descriptorOffset + 160, 32),\n scale: scales[0],\n offset: offsets[0],\n scales,\n offsets,\n data: data.slice(descriptorOffset, descriptorOffset + 192)\n });\n }\n return descriptors;\n}\n\n/** Allocate typed Arrow attributes described by an LAS Extra Bytes VLR. */\nexport function createLASTypedExtraBytesAttributes(\n pointCount: number,\n descriptors: readonly LASExtraBytesDescriptor[],\n extraByteCount: number\n): LASTypedExtraBytesAttribute[] {\n let byteOffset = 0;\n const usedNames = new Set<string>();\n const attributes: LASTypedExtraBytesAttribute[] = [];\n for (let descriptorIndex = 0; descriptorIndex < descriptors.length; descriptorIndex++) {\n const descriptor = descriptors[descriptorIndex];\n const scalarDataType = getExtraBytesScalarDataType(descriptor.dataType);\n const size = getExtraBytesComponentCount(descriptor.dataType);\n const scalarByteLength = getExtraBytesScalarByteLength(scalarDataType);\n const byteLength = scalarByteLength * size;\n if (descriptor.dataType < 1 || descriptor.dataType > 30 || !byteLength) {\n throw new Error(`Unsupported typed LAS Extra Bytes data type ${descriptor.dataType}`);\n }\n let name = `EXTRA_BYTES_${sanitizeExtraBytesName(descriptor.name)}`;\n if (name === 'EXTRA_BYTES_') {\n name = `EXTRA_BYTES_${descriptorIndex}`;\n }\n const baseName = name;\n let suffix = 1;\n while (usedNames.has(name)) {\n name = `${baseName}_${suffix++}`;\n }\n usedNames.add(name);\n const scales =\n descriptor.options & 0x08 ? descriptor.scales.slice(0, size) : new Array(size).fill(1);\n const offsets =\n descriptor.options & 0x10 ? descriptor.offsets.slice(0, size) : new Array(size).fill(0);\n const isBigInt = scalarDataType === 7 || scalarDataType === 8;\n const outputFloat64 =\n scalarDataType !== 10 &&\n (isBigInt\n ? scales.some(scale => scale !== 1) || offsets.some(offset => offset !== 0)\n : Boolean(descriptor.options & 0x18));\n attributes.push({\n name,\n value: createLASTypedExtraBytesValue(scalarDataType, pointCount * size, outputFloat64),\n size,\n scalarDataType,\n byteOffset,\n byteLength,\n outputFloat64,\n scales,\n offsets\n });\n byteOffset += byteLength;\n }\n if (byteOffset !== extraByteCount) {\n throw new Error(\n `LAS Extra Bytes descriptors use ${byteOffset} bytes; point records provide ${extraByteCount}`\n );\n }\n return attributes;\n}\n\n/** Populate typed attributes from packed Extra Bytes records. */\nexport function populateLASTypedExtraBytes(\n rawExtraBytes: Uint8Array,\n pointCount: number,\n extraByteCount: number,\n attributes: readonly LASTypedExtraBytesAttribute[]\n): void {\n if (rawExtraBytes.byteLength < pointCount * extraByteCount) {\n throw new Error('Packed LAS Extra Bytes data is truncated');\n }\n const dataView = new DataView(\n rawExtraBytes.buffer,\n rawExtraBytes.byteOffset,\n rawExtraBytes.byteLength\n );\n for (let pointIndex = 0; pointIndex < pointCount; pointIndex++) {\n const recordOffset = pointIndex * extraByteCount;\n for (const attribute of attributes) {\n const targetOffset = pointIndex * attribute.size;\n const sourceOffset = recordOffset + attribute.byteOffset;\n const scalarByteLength = getExtraBytesScalarByteLength(attribute.scalarDataType);\n for (let componentIndex = 0; componentIndex < attribute.size; componentIndex++) {\n populateLASTypedExtraBytesComponent(\n dataView,\n sourceOffset + componentIndex * scalarByteLength,\n attribute,\n targetOffset + componentIndex,\n componentIndex\n );\n }\n }\n }\n}\n\nfunction readLASString(bytes: Uint8Array, offset: number, length: number): string {\n return new TextDecoder()\n .decode(bytes.subarray(offset, offset + length))\n .replace(/\\0+$/, '')\n .trim();\n}\n\nfunction sanitizeExtraBytesName(name: string): string {\n return name.trim().replace(/[^A-Za-z0-9_]+/g, '_');\n}\n\nfunction getExtraBytesScalarDataType(dataType: number): number {\n return dataType > 20 ? dataType - 20 : dataType > 10 ? dataType - 10 : dataType;\n}\n\nfunction getExtraBytesComponentCount(dataType: number): number {\n return dataType > 20 ? 3 : dataType > 10 ? 2 : 1;\n}\n\nfunction getExtraBytesScalarByteLength(dataType: number): number {\n if (dataType <= 2) return 1;\n if (dataType <= 4) return 2;\n if (dataType <= 6 || dataType === 9) return 4;\n if (dataType === 7 || dataType === 8 || dataType === 10) return 8;\n return 0;\n}\n\nfunction readExtraBytesValue(\n dataView: DataView,\n offset: number,\n scalarDataType: number\n): number | bigint {\n switch (scalarDataType) {\n case 1:\n return dataView.getUint8(offset);\n case 2:\n return dataView.getInt8(offset);\n case 3:\n return dataView.getUint16(offset, true);\n case 4:\n return dataView.getInt16(offset, true);\n case 5:\n return dataView.getUint32(offset, true);\n case 6:\n return dataView.getInt32(offset, true);\n case 7:\n return dataView.getBigUint64(offset, true);\n case 8:\n return dataView.getBigInt64(offset, true);\n case 9:\n return dataView.getFloat32(offset, true);\n case 10:\n return dataView.getFloat64(offset, true);\n default:\n throw new Error(`Unsupported typed LAS Extra Bytes scalar data type ${scalarDataType}`);\n }\n}\n\n/** Allocate the typed-array representation for one LAS Extra Bytes scalar type. */\nexport function createLASTypedExtraBytesValue(\n scalarDataType: number,\n length: number,\n outputFloat64: boolean\n): LASTypedExtraBytesValue {\n if (outputFloat64 && scalarDataType !== 10) return new Float64Array(length);\n switch (scalarDataType) {\n case 1:\n return new Uint8Array(length);\n case 2:\n return new Int8Array(length);\n case 3:\n return new Uint16Array(length);\n case 4:\n return new Int16Array(length);\n case 5:\n return new Uint32Array(length);\n case 6:\n return new Int32Array(length);\n case 7:\n return new BigUint64Array(length);\n case 8:\n return new BigInt64Array(length);\n case 9:\n return new Float32Array(length);\n case 10:\n return new Float64Array(length);\n default:\n throw new Error(`Unsupported typed LAS Extra Bytes scalar data type ${scalarDataType}`);\n }\n}\n\n/** Decode one descriptor component, retaining integer precision unless a transform is requested. */\nexport function populateLASTypedExtraBytesComponent(\n dataView: DataView,\n sourceOffset: number,\n attribute: LASTypedExtraBytesAttribute,\n targetOffset: number,\n componentIndex: number\n): void {\n const value = readExtraBytesValue(dataView, sourceOffset, attribute.scalarDataType);\n if (attribute.value instanceof BigInt64Array || attribute.value instanceof BigUint64Array) {\n attribute.value[targetOffset] = value as bigint;\n } else {\n attribute.value[targetOffset] =\n Number(value) * attribute.scales[componentIndex] + attribute.offsets[componentIndex];\n }\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 {LASExtraBytesDescriptor} from './las-types';\n\n/** Typed-array values supported for LAS Extra Bytes Arrow attributes. */\nexport type LASTypedExtraBytesValue =\n | Uint8Array\n | Int8Array\n | Uint16Array\n | Int16Array\n | Uint32Array\n | Int32Array\n | Float32Array\n | Float64Array\n | BigInt64Array\n | BigUint64Array;\n\n/** Prepared typed LAS Extra Bytes attribute and its source-record layout. */\nexport type LASTypedExtraBytesAttribute = {\n /** Stable Arrow attribute name. */\n name: string;\n /** Typed output values. */\n value: LASTypedExtraBytesValue;\n /** Number of components per point. */\n size: number;\n /** LAS scalar data type code. */\n scalarDataType: number;\n /** Byte offset within the packed Extra Bytes record. */\n byteOffset: number;\n /** Total source byte length per point. */\n byteLength: number;\n /** Per-component scales. */\n scales: number[];\n /** Per-component offsets. */\n offsets: number[];\n /** Whether transformed integer values require Float64 output. */\n outputFloat64: boolean;\n};\n\n/** Parse the 192-byte descriptors in an LAS Extra Bytes VLR payload. */\nexport function parseLASExtraBytes(data: Uint8Array): LASExtraBytesDescriptor[] {\n if (data.byteLength % 192 !== 0) {\n throw new Error(`LAS Extra Bytes VLR length ${data.byteLength} is not a multiple of 192`);\n }\n const descriptors: LASExtraBytesDescriptor[] = [];\n const dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\n for (let descriptorOffset = 0; descriptorOffset < data.byteLength; descriptorOffset += 192) {\n const scales: [number, number, number] = [\n dataView.getFloat64(descriptorOffset + 112, true),\n dataView.getFloat64(descriptorOffset + 120, true),\n dataView.getFloat64(descriptorOffset + 128, true)\n ];\n const offsets: [number, number, number] = [\n dataView.getFloat64(descriptorOffset + 136, true),\n dataView.getFloat64(descriptorOffset + 144, true),\n dataView.getFloat64(descriptorOffset + 152, true)\n ];\n descriptors.push({\n dataType: data[descriptorOffset + 2],\n options: data[descriptorOffset + 3],\n name: readLASString(data, descriptorOffset + 4, 32),\n description: readLASString(data, descriptorOffset + 160, 32),\n scale: scales[0],\n offset: offsets[0],\n scales,\n offsets,\n data: data.slice(descriptorOffset, descriptorOffset + 192)\n });\n }\n return descriptors;\n}\n\n/** Allocate typed Arrow attributes described by an LAS Extra Bytes VLR. */\nexport function createLASTypedExtraBytesAttributes(\n pointCount: number,\n descriptors: readonly LASExtraBytesDescriptor[],\n extraByteCount: number\n): LASTypedExtraBytesAttribute[] {\n let byteOffset = 0;\n const usedNames = new Set<string>();\n const attributes: LASTypedExtraBytesAttribute[] = [];\n for (let descriptorIndex = 0; descriptorIndex < descriptors.length; descriptorIndex++) {\n const descriptor = descriptors[descriptorIndex];\n const scalarDataType = getExtraBytesScalarDataType(descriptor.dataType);\n const size = getExtraBytesComponentCount(descriptor.dataType);\n const scalarByteLength = getExtraBytesScalarByteLength(scalarDataType);\n const byteLength = scalarByteLength * size;\n if (descriptor.dataType < 1 || descriptor.dataType > 30 || !byteLength) {\n throw new Error(`Unsupported typed LAS Extra Bytes data type ${descriptor.dataType}`);\n }\n let name = `EXTRA_BYTES_${sanitizeExtraBytesName(descriptor.name)}`;\n if (name === 'EXTRA_BYTES_') {\n name = `EXTRA_BYTES_${descriptorIndex}`;\n }\n const baseName = name;\n let suffix = 1;\n while (usedNames.has(name)) {\n name = `${baseName}_${suffix++}`;\n }\n usedNames.add(name);\n const scales =\n descriptor.options & 0x08 ? descriptor.scales.slice(0, size) : new Array(size).fill(1);\n const offsets =\n descriptor.options & 0x10 ? descriptor.offsets.slice(0, size) : new Array(size).fill(0);\n const isBigInt = scalarDataType === 7 || scalarDataType === 8;\n const outputFloat64 =\n scalarDataType !== 10 &&\n (isBigInt\n ? scales.some(scale => scale !== 1) || offsets.some(offset => offset !== 0)\n : Boolean(descriptor.options & 0x18));\n attributes.push({\n name,\n value: createLASTypedExtraBytesValue(scalarDataType, pointCount * size, outputFloat64),\n size,\n scalarDataType,\n byteOffset,\n byteLength,\n outputFloat64,\n scales,\n offsets\n });\n byteOffset += byteLength;\n }\n if (byteOffset !== extraByteCount) {\n throw new Error(\n `LAS Extra Bytes descriptors use ${byteOffset} bytes; point records provide ${extraByteCount}`\n );\n }\n return attributes;\n}\n\n/** Populate typed attributes from packed Extra Bytes records. */\nexport function populateLASTypedExtraBytes(\n rawExtraBytes: Uint8Array,\n pointCount: number,\n extraByteCount: number,\n attributes: readonly LASTypedExtraBytesAttribute[]\n): void {\n if (rawExtraBytes.byteLength < pointCount * extraByteCount) {\n throw new Error('Packed LAS Extra Bytes data is truncated');\n }\n const dataView = new DataView(\n rawExtraBytes.buffer,\n rawExtraBytes.byteOffset,\n rawExtraBytes.byteLength\n );\n for (let pointIndex = 0; pointIndex < pointCount; pointIndex++) {\n const recordOffset = pointIndex * extraByteCount;\n for (const attribute of attributes) {\n const targetOffset = pointIndex * attribute.size;\n const sourceOffset = recordOffset + attribute.byteOffset;\n const scalarByteLength = getExtraBytesScalarByteLength(attribute.scalarDataType);\n for (let componentIndex = 0; componentIndex < attribute.size; componentIndex++) {\n populateLASTypedExtraBytesComponent(\n dataView,\n sourceOffset + componentIndex * scalarByteLength,\n attribute,\n targetOffset + componentIndex,\n componentIndex\n );\n }\n }\n }\n}\n\nfunction readLASString(bytes: Uint8Array, offset: number, length: number): string {\n const decoded = new TextDecoder().decode(bytes.subarray(offset, offset + length));\n let end = decoded.length;\n while (end > 0 && decoded[end - 1] === '\\0') {\n end--;\n }\n return decoded.slice(0, end).trim();\n}\n\nfunction sanitizeExtraBytesName(name: string): string {\n return name.trim().replace(/[^A-Za-z0-9_]+/g, '_');\n}\n\nfunction getExtraBytesScalarDataType(dataType: number): number {\n return dataType > 20 ? dataType - 20 : dataType > 10 ? dataType - 10 : dataType;\n}\n\nfunction getExtraBytesComponentCount(dataType: number): number {\n return dataType > 20 ? 3 : dataType > 10 ? 2 : 1;\n}\n\nfunction getExtraBytesScalarByteLength(dataType: number): number {\n if (dataType <= 2) return 1;\n if (dataType <= 4) return 2;\n if (dataType <= 6 || dataType === 9) return 4;\n if (dataType === 7 || dataType === 8 || dataType === 10) return 8;\n return 0;\n}\n\nfunction readExtraBytesValue(\n dataView: DataView,\n offset: number,\n scalarDataType: number\n): number | bigint {\n switch (scalarDataType) {\n case 1:\n return dataView.getUint8(offset);\n case 2:\n return dataView.getInt8(offset);\n case 3:\n return dataView.getUint16(offset, true);\n case 4:\n return dataView.getInt16(offset, true);\n case 5:\n return dataView.getUint32(offset, true);\n case 6:\n return dataView.getInt32(offset, true);\n case 7:\n return dataView.getBigUint64(offset, true);\n case 8:\n return dataView.getBigInt64(offset, true);\n case 9:\n return dataView.getFloat32(offset, true);\n case 10:\n return dataView.getFloat64(offset, true);\n default:\n throw new Error(`Unsupported typed LAS Extra Bytes scalar data type ${scalarDataType}`);\n }\n}\n\n/** Allocate the typed-array representation for one LAS Extra Bytes scalar type. */\nexport function createLASTypedExtraBytesValue(\n scalarDataType: number,\n length: number,\n outputFloat64: boolean\n): LASTypedExtraBytesValue {\n if (outputFloat64 && scalarDataType !== 10) return new Float64Array(length);\n switch (scalarDataType) {\n case 1:\n return new Uint8Array(length);\n case 2:\n return new Int8Array(length);\n case 3:\n return new Uint16Array(length);\n case 4:\n return new Int16Array(length);\n case 5:\n return new Uint32Array(length);\n case 6:\n return new Int32Array(length);\n case 7:\n return new BigUint64Array(length);\n case 8:\n return new BigInt64Array(length);\n case 9:\n return new Float32Array(length);\n case 10:\n return new Float64Array(length);\n default:\n throw new Error(`Unsupported typed LAS Extra Bytes scalar data type ${scalarDataType}`);\n }\n}\n\n/** Decode one descriptor component, retaining integer precision unless a transform is requested. */\nexport function populateLASTypedExtraBytesComponent(\n dataView: DataView,\n sourceOffset: number,\n attribute: LASTypedExtraBytesAttribute,\n targetOffset: number,\n componentIndex: number\n): void {\n const value = readExtraBytesValue(dataView, sourceOffset, attribute.scalarDataType);\n if (attribute.value instanceof BigInt64Array || attribute.value instanceof BigUint64Array) {\n attribute.value[targetOffset] = value as bigint;\n } else {\n attribute.value[targetOffset] =\n Number(value) * attribute.scales[componentIndex] + attribute.offsets[componentIndex];\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"las-extra-bytes.d.ts","sourceRoot":"","sources":["../../../src/las/lib/las-extra-bytes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,uBAAuB,EAAC,uBAAoB;AAEzD,yEAAyE;AACzE,MAAM,MAAM,uBAAuB,GAC/B,UAAU,GACV,SAAS,GACT,WAAW,GACX,UAAU,GACV,WAAW,GACX,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,cAAc,CAAC;AAEnB,6EAA6E;AAC7E,MAAM,MAAM,2BAA2B,GAAG;IACxC,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,KAAK,EAAE,uBAAuB,CAAC;IAC/B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iEAAiE;IACjE,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,uBAAuB,EAAE,CA8B9E;AAED,2EAA2E;AAC3E,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,uBAAuB,EAAE,EAC/C,cAAc,EAAE,MAAM,GACrB,2BAA2B,EAAE,CAoD/B;AAED,iEAAiE;AACjE,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,UAAU,EACzB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,SAAS,2BAA2B,EAAE,GACjD,IAAI,CA0BN;AA4DD,mFAAmF;AACnF,wBAAgB,6BAA6B,CAC3C,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,GACrB,uBAAuB,CA0BzB;AAED,oGAAoG;AACpG,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,2BAA2B,EACtC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,IAAI,CAQN"}
1
+ {"version":3,"file":"las-extra-bytes.d.ts","sourceRoot":"","sources":["../../../src/las/lib/las-extra-bytes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,uBAAuB,EAAC,uBAAoB;AAEzD,yEAAyE;AACzE,MAAM,MAAM,uBAAuB,GAC/B,UAAU,GACV,SAAS,GACT,WAAW,GACX,UAAU,GACV,WAAW,GACX,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,cAAc,CAAC;AAEnB,6EAA6E;AAC7E,MAAM,MAAM,2BAA2B,GAAG;IACxC,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,KAAK,EAAE,uBAAuB,CAAC;IAC/B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iEAAiE;IACjE,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,uBAAuB,EAAE,CA8B9E;AAED,2EAA2E;AAC3E,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,uBAAuB,EAAE,EAC/C,cAAc,EAAE,MAAM,GACrB,2BAA2B,EAAE,CAoD/B;AAED,iEAAiE;AACjE,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,UAAU,EACzB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,SAAS,2BAA2B,EAAE,GACjD,IAAI,CA0BN;AA8DD,mFAAmF;AACnF,wBAAgB,6BAA6B,CAC3C,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,GACrB,uBAAuB,CA0BzB;AAED,oGAAoG;AACpG,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,2BAA2B,EACtC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,IAAI,CAQN"}
@@ -101,10 +101,12 @@ export function populateLASTypedExtraBytes(rawExtraBytes, pointCount, extraByteC
101
101
  }
102
102
  }
103
103
  function readLASString(bytes, offset, length) {
104
- return new TextDecoder()
105
- .decode(bytes.subarray(offset, offset + length))
106
- .replace(/\0+$/, '')
107
- .trim();
104
+ const decoded = new TextDecoder().decode(bytes.subarray(offset, offset + length));
105
+ let end = decoded.length;
106
+ while (end > 0 && decoded[end - 1] === '\0') {
107
+ end--;
108
+ }
109
+ return decoded.slice(0, end).trim();
108
110
  }
109
111
  function sanitizeExtraBytesName(name) {
110
112
  return name.trim().replace(/[^A-Za-z0-9_]+/g, '_');
@@ -1 +1 @@
1
- {"version":3,"file":"las-extra-bytes.js","sourceRoot":"","sources":["../../../src/las/lib/las-extra-bytes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"las-extra-bytes.js","sourceRoot":"","sources":["../../../src/las/lib/las-extra-bytes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
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/las-copc-loader-types.ts
31
+ var las_copc_loader_types_exports = {};
32
+ __export(las_copc_loader_types_exports, {
33
+ LASCOPCLoader: () => LASCOPCLoader
34
+ });
35
+ module.exports = __toCommonJS(las_copc_loader_types_exports);
36
+
37
+ // src/las/las-copc-loader-types.ts
38
+ var import_las_loader_shared = require("./las-loader-shared.cjs");
39
+ var LASCOPCLoader = {
40
+ ...import_las_loader_shared.LAS_LOADER_METADATA,
41
+ name: "LAS (COPC)",
42
+ preload: async () => {
43
+ const { LASCOPCLoaderWithParser } = await import("@loaders.gl/pointclouds/las-copc-loader");
44
+ return LASCOPCLoaderWithParser;
45
+ }
46
+ };
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ LASCOPCLoader
50
+ });
51
+ //# sourceMappingURL=las-copc-loader-types.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/las-copc-loader-types.ts", "../src/las/las-copc-loader-types.ts"],
4
+ "sourcesContent": ["export * from './las/las-copc-loader-types.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {LAS_LOADER_METADATA, type LASLoaderOptions} from './las-loader-shared';\nimport type {LASMesh} from './lib/las-types';\n\n/** Metadata-only LAS/LAZ loader variant using the COPC package decoder. */\nexport const LASCOPCLoader = {\n ...LAS_LOADER_METADATA,\n name: 'LAS (COPC)',\n preload: async () => {\n const {LASCOPCLoaderWithParser} = await import('@loaders.gl/pointclouds/las-copc-loader');\n return LASCOPCLoaderWithParser;\n }\n} as const satisfies Loader<LASMesh | MeshArrowTable, LASMesh | MeshArrowTable, LASLoaderOptions>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACMA,+BAAyD;AAIlD,IAAM,gBAAgB;AAAA,EAC3B,GAAG;AAAA,EACH,MAAM;AAAA,EACN,SAAS,YAAY;AACnB,UAAM,EAAC,wBAAuB,IAAI,MAAM,OAAO,yCAAyC;AACxF,WAAO;AAAA,EACT;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './las/las-copc-loader-types.js';
2
+ //# sourceMappingURL=las-copc-loader-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"las-copc-loader-types.d.ts","sourceRoot":"","sources":["../src/las-copc-loader-types.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './las/las-copc-loader-types.js';
2
+ //# sourceMappingURL=las-copc-loader-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"las-copc-loader-types.js","sourceRoot":"","sources":["../src/las-copc-loader-types.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,59 @@
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/las-copc-loader.ts
21
+ var las_copc_loader_exports = {};
22
+ __export(las_copc_loader_exports, {
23
+ LASCOPCLoaderWithParser: () => LASCOPCLoaderWithParser
24
+ });
25
+ module.exports = __toCommonJS(las_copc_loader_exports);
26
+
27
+ // src/las/las-copc-loader.ts
28
+ var import_schema_utils = require("@loaders.gl/core/schema-utils");
29
+ var import_las_loader_shared = require("./las-loader-shared.cjs");
30
+ var import_parse_las = require("./lib/copc/parse-las.cjs");
31
+ var LASCOPCLoaderWithParser = {
32
+ ...import_las_loader_shared.LAS_LOADER_METADATA,
33
+ name: "LAS (COPC)",
34
+ parse: async (arrayBuffer, options) => convertLASMesh(await (0, import_parse_las.parseCOPCLAS)(arrayBuffer, options), options),
35
+ parseInBatches: (arrayBufferIterator, options) => convertLASMeshBatches((0, import_parse_las.parseCOPCLASInBatches)(arrayBufferIterator, options), options)
36
+ };
37
+ function convertLASMesh(mesh, options) {
38
+ const formattedMesh = (0, import_las_loader_shared.formatLASMeshColors)(mesh, options?.las?.colorFormat || "uint8norm");
39
+ const table = (0, import_schema_utils.convertMeshToTable)(formattedMesh, "arrow-table");
40
+ if ((0, import_las_loader_shared.getLASShape)(options) === "arrow-table") {
41
+ return table;
42
+ }
43
+ return {
44
+ ...(0, import_schema_utils.convertTableToMesh)(table),
45
+ loader: mesh.loader,
46
+ loaderData: mesh.loaderData,
47
+ progress: mesh.progress
48
+ };
49
+ }
50
+ async function* convertLASMeshBatches(meshBatches, options) {
51
+ for await (const mesh of meshBatches) {
52
+ yield convertLASMesh(mesh, options);
53
+ }
54
+ }
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ LASCOPCLoaderWithParser
58
+ });
59
+ //# sourceMappingURL=las-copc-loader.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/las-copc-loader.ts", "../src/las/las-copc-loader.ts"],
4
+ "sourcesContent": ["export * from './las/las-copc-loader.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// LASER (LAS) FILE FORMAT\nimport type {LoaderWithParser} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {convertMeshToTable, convertTableToMesh} from '@loaders.gl/core/schema-utils';\nimport {\n formatLASMeshColors,\n getLASShape,\n LAS_LOADER_METADATA,\n type LASLoaderOptions\n} from './las-loader-shared';\nimport type {LASMesh} from './lib/las-types';\nimport {parseCOPCLAS, parseCOPCLASInBatches} from './lib/copc/parse-las';\n\n/**\n * LAS/LAZ loader variant using the laz-perf decoder from the COPC package.\n */\nexport const LASCOPCLoaderWithParser = {\n ...LAS_LOADER_METADATA,\n name: 'LAS (COPC)',\n parse: async (arrayBuffer: ArrayBuffer, options?: LASLoaderOptions) =>\n convertLASMesh(await parseCOPCLAS(arrayBuffer, options), options),\n parseInBatches: (arrayBufferIterator, options?: LASLoaderOptions) =>\n convertLASMeshBatches(parseCOPCLASInBatches(arrayBufferIterator, options), options)\n} as const satisfies LoaderWithParser<\n LASMesh | MeshArrowTable,\n LASMesh | MeshArrowTable,\n LASLoaderOptions\n>;\n\nfunction convertLASMesh(mesh: LASMesh, options?: LASLoaderOptions): LASMesh | MeshArrowTable {\n const formattedMesh = formatLASMeshColors(mesh, options?.las?.colorFormat || 'uint8norm');\n const table = convertMeshToTable(formattedMesh, 'arrow-table') as MeshArrowTable;\n if (getLASShape(options) === 'arrow-table') {\n return table;\n }\n return {\n ...(convertTableToMesh(table) as LASMesh),\n loader: mesh.loader,\n loaderData: mesh.loaderData,\n progress: (mesh as LASMesh & {progress?: number}).progress\n } as LASMesh & {progress?: number};\n}\n\n/**\n * Convert LAS mesh batches to the requested output shape.\n * @param meshBatches Decoded LAS mesh batches\n * @param options LAS loader options\n * @returns Converted LAS batches\n */\nasync function* convertLASMeshBatches(\n meshBatches: AsyncIterable<LASMesh>,\n options?: LASLoaderOptions\n): AsyncIterable<LASMesh | MeshArrowTable> {\n for await (const mesh of meshBatches) {\n yield convertLASMesh(mesh, options);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACOA,0BAAqD;AACrD,+BAKO;AAEP,uBAAkD;AAK3C,IAAM,0BAA0B;AAAA,EACrC,GAAG;AAAA,EACH,MAAM;AAAA,EACN,OAAO,OAAO,aAA0B,YACtC,eAAe,UAAM,+BAAa,aAAa,OAAO,GAAG,OAAO;AAAA,EAClE,gBAAgB,CAAC,qBAAqB,YACpC,0BAAsB,wCAAsB,qBAAqB,OAAO,GAAG,OAAO;AACtF;AAMA,SAAS,eAAe,MAAe,SAAsD;AAC3F,QAAM,oBAAgB,8CAAoB,MAAM,SAAS,KAAK,eAAe,WAAW;AACxF,QAAM,YAAQ,wCAAmB,eAAe,aAAa;AAC7D,UAAI,sCAAY,OAAO,MAAM,eAAe;AAC1C,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,OAAI,wCAAmB,KAAK;AAAA,IAC5B,QAAQ,KAAK;AAAA,IACb,YAAY,KAAK;AAAA,IACjB,UAAW,KAAuC;AAAA,EACpD;AACF;AAQA,gBAAgB,sBACd,aACA,SACyC;AACzC,mBAAiB,QAAQ,aAAa;AACpC,UAAM,eAAe,MAAM,OAAO;AAAA,EACpC;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './las/las-copc-loader.js';
2
+ //# sourceMappingURL=las-copc-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"las-copc-loader.d.ts","sourceRoot":"","sources":["../src/las-copc-loader.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './las/las-copc-loader.js';
2
+ //# sourceMappingURL=las-copc-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"las-copc-loader.js","sourceRoot":"","sources":["../src/las-copc-loader.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,56 @@
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/las-loader-types.ts
31
+ var las_loader_types_exports = {};
32
+ __export(las_loader_types_exports, {
33
+ LASLoader: () => LASLoader,
34
+ LASWorkerLoader: () => LASWorkerLoader
35
+ });
36
+ module.exports = __toCommonJS(las_loader_types_exports);
37
+
38
+ // src/las/las-loader-types.ts
39
+ var import_las_loader_shared = require("./las-loader-shared.cjs");
40
+ async function preload() {
41
+ const { LASLoaderWithParser } = await import("@loaders.gl/pointclouds/las-loader");
42
+ return LASLoaderWithParser;
43
+ }
44
+ var LASLoader = {
45
+ ...import_las_loader_shared.LAS_LOADER_METADATA,
46
+ worker: true,
47
+ workerInBatches: true,
48
+ preload
49
+ };
50
+ var LASWorkerLoader = LASLoader;
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ LASLoader,
54
+ LASWorkerLoader
55
+ });
56
+ //# sourceMappingURL=las-loader-types.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/las-loader-types.ts", "../src/las/las-loader-types.ts"],
4
+ "sourcesContent": ["export * from './las/las-loader-types.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport type {LASMesh} from './lib/las-types';\nimport {LAS_LOADER_METADATA, type LASLoaderOptions} from './las-loader-shared';\n\nexport type {LASColumnName, LASLoaderOptions} from './las-loader-shared';\n\n/** Preloads the parser-bearing primary TypeScript LAS loader implementation. */\nasync function preload() {\n const {LASLoaderWithParser} = await import('@loaders.gl/pointclouds/las-loader');\n return LASLoaderWithParser;\n}\n\n/** Metadata-only loader for the LAS (LASer) point cloud format. */\nexport const LASLoader = {\n ...LAS_LOADER_METADATA,\n worker: true,\n workerInBatches: true,\n preload\n} as const satisfies Loader<LASMesh | MeshArrowTable, LASMesh | MeshArrowTable, LASLoaderOptions>;\n\n/** @deprecated Use LASLoader. */\nexport const LASWorkerLoader = LASLoader;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACOA,+BAAyD;AAKzD,eAAe,UAAU;AACvB,QAAM,EAAC,oBAAmB,IAAI,MAAM,OAAO,oCAAoC;AAC/E,SAAO;AACT;AAGO,IAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB;AACF;AAGO,IAAM,kBAAkB;",
6
+ "names": []
7
+ }