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

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 (372) 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 +5 -1
  5. package/dist/dist.dev.js +3584 -2211
  6. package/dist/dist.min.js +20 -20
  7. package/dist/index.cjs +0 -6
  8. package/dist/index.cjs.map +2 -2
  9. package/dist/index.d.ts +3 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/las/bundled.cjs +0 -3
  14. package/dist/las/bundled.cjs.map +2 -2
  15. package/dist/las/bundled.d.ts +0 -1
  16. package/dist/las/bundled.d.ts.map +1 -1
  17. package/dist/las/bundled.js +0 -1
  18. package/dist/las/bundled.js.map +1 -1
  19. package/dist/las/index.cjs +0 -3
  20. package/dist/las/index.cjs.map +3 -3
  21. package/dist/las/index.d.ts +0 -2
  22. package/dist/las/index.d.ts.map +1 -1
  23. package/dist/las/index.js +0 -3
  24. package/dist/las/index.js.map +1 -1
  25. package/dist/las/las-copc-loader-types.cjs +1 -1
  26. package/dist/las/las-copc-loader-types.cjs.map +2 -2
  27. package/dist/las/las-copc-loader-types.d.ts +13 -9
  28. package/dist/las/las-copc-loader-types.d.ts.map +1 -1
  29. package/dist/las/las-copc-loader-types.js +1 -1
  30. package/dist/las/las-copc-loader-types.js.map +1 -1
  31. package/dist/las/las-copc-loader.cjs +8 -5
  32. package/dist/las/las-copc-loader.cjs.map +2 -2
  33. package/dist/las/las-copc-loader.d.ts +8 -6
  34. package/dist/las/las-copc-loader.d.ts.map +1 -1
  35. package/dist/las/las-copc-loader.js +11 -6
  36. package/dist/las/las-copc-loader.js.map +1 -1
  37. package/dist/las/las-loader-shared.cjs +4 -2
  38. package/dist/las/las-loader-shared.cjs.map +2 -2
  39. package/dist/las/las-loader-shared.d.ts +9 -7
  40. package/dist/las/las-loader-shared.d.ts.map +1 -1
  41. package/dist/las/las-loader-shared.js +4 -2
  42. package/dist/las/las-loader-shared.js.map +1 -1
  43. package/dist/las/las-loader-types.cjs +3 -6
  44. package/dist/las/las-loader-types.cjs.map +2 -2
  45. package/dist/las/las-loader-types.d.ts +18 -45
  46. package/dist/las/las-loader-types.d.ts.map +1 -1
  47. package/dist/las/las-loader-types.js +1 -3
  48. package/dist/las/las-loader-types.js.map +1 -1
  49. package/dist/las/las-loader.cjs +61 -13
  50. package/dist/las/las-loader.cjs.map +3 -3
  51. package/dist/las/las-loader.d.ts +51 -5
  52. package/dist/las/las-loader.d.ts.map +1 -1
  53. package/dist/las/las-loader.js +56 -6
  54. package/dist/las/las-loader.js.map +1 -1
  55. package/dist/las/las-writer.cjs +3 -3
  56. package/dist/las/las-writer.cjs.map +2 -2
  57. package/dist/las/las-writer.d.ts +4 -3
  58. package/dist/las/las-writer.d.ts.map +1 -1
  59. package/dist/las/las-writer.js +4 -6
  60. package/dist/las/las-writer.js.map +1 -1
  61. package/dist/las/laz-rs-loader-types.cjs +1 -1
  62. package/dist/las/laz-rs-loader-types.cjs.map +2 -2
  63. package/dist/las/laz-rs-loader-types.d.ts +13 -9
  64. package/dist/las/laz-rs-loader-types.d.ts.map +1 -1
  65. package/dist/las/laz-rs-loader-types.js +1 -1
  66. package/dist/las/laz-rs-loader-types.js.map +1 -1
  67. package/dist/las/laz-rs-loader.cjs +8 -5
  68. package/dist/las/laz-rs-loader.cjs.map +2 -2
  69. package/dist/las/laz-rs-loader.d.ts +8 -6
  70. package/dist/las/laz-rs-loader.d.ts.map +1 -1
  71. package/dist/las/laz-rs-loader.js +11 -6
  72. package/dist/las/laz-rs-loader.js.map +1 -1
  73. package/dist/las/lazperf-loader-types.cjs +1 -1
  74. package/dist/las/lazperf-loader-types.cjs.map +2 -2
  75. package/dist/las/lazperf-loader-types.d.ts +14 -10
  76. package/dist/las/lazperf-loader-types.d.ts.map +1 -1
  77. package/dist/las/lazperf-loader-types.js +1 -1
  78. package/dist/las/lazperf-loader-types.js.map +1 -1
  79. package/dist/las/lazperf-loader.cjs +9 -6
  80. package/dist/las/lazperf-loader.cjs.map +2 -2
  81. package/dist/las/lazperf-loader.d.ts +9 -7
  82. package/dist/las/lazperf-loader.d.ts.map +1 -1
  83. package/dist/las/lazperf-loader.js +12 -7
  84. package/dist/las/lazperf-loader.js.map +1 -1
  85. package/dist/las/lib/copc/parse-las.cjs +1 -1
  86. package/dist/las/lib/copc/parse-las.cjs.map +2 -2
  87. package/dist/las/lib/copc/parse-las.js +1 -1
  88. package/dist/las/lib/copc/parse-las.js.map +1 -1
  89. package/dist/las/lib/get-las-schema.cjs +5 -0
  90. package/dist/las/lib/get-las-schema.cjs.map +2 -2
  91. package/dist/las/lib/get-las-schema.d.ts.map +1 -1
  92. package/dist/las/lib/get-las-schema.js +6 -0
  93. package/dist/las/lib/get-las-schema.js.map +1 -1
  94. package/dist/las/lib/las-extra-bytes.cjs +6 -1
  95. package/dist/las/lib/las-extra-bytes.cjs.map +2 -2
  96. package/dist/las/lib/las-extra-bytes.d.ts.map +1 -1
  97. package/dist/las/lib/las-extra-bytes.js +6 -4
  98. package/dist/las/lib/las-extra-bytes.js.map +1 -1
  99. package/dist/las/lib/laz-perf/parse-las.cjs +9 -8
  100. package/dist/las/lib/laz-perf/parse-las.cjs.map +3 -3
  101. package/dist/las/lib/laz-perf/parse-las.js +9 -8
  102. package/dist/las/lib/laz-perf/parse-las.js.map +1 -1
  103. package/dist/las/lib/laz-rs-wasm/parse-las.cjs +9 -8
  104. package/dist/las/lib/laz-rs-wasm/parse-las.cjs.map +3 -3
  105. package/dist/las/lib/laz-rs-wasm/parse-las.js +9 -8
  106. package/dist/las/lib/laz-rs-wasm/parse-las.js.map +1 -1
  107. package/dist/las/lib/typescript/parse-las.cjs +135 -13
  108. package/dist/las/lib/typescript/parse-las.cjs.map +3 -3
  109. package/dist/las/lib/typescript/parse-las.d.ts.map +1 -1
  110. package/dist/las/lib/typescript/parse-las.js +106 -10
  111. package/dist/las/lib/typescript/parse-las.js.map +1 -1
  112. package/dist/las/unbundled.cjs +0 -2
  113. package/dist/las/unbundled.cjs.map +2 -2
  114. package/dist/las/unbundled.d.ts +1 -1
  115. package/dist/las/unbundled.d.ts.map +1 -1
  116. package/dist/las/unbundled.js +1 -1
  117. package/dist/las/unbundled.js.map +1 -1
  118. package/dist/las/workers/las-worker.cjs +5 -5
  119. package/dist/las/workers/las-worker.cjs.map +2 -2
  120. package/dist/las/workers/las-worker.js +6 -6
  121. package/dist/las/workers/las-worker.js.map +1 -1
  122. package/dist/las-copc-loader-types.cjs +51 -0
  123. package/dist/las-copc-loader-types.cjs.map +7 -0
  124. package/dist/las-copc-loader-types.d.ts +2 -0
  125. package/dist/las-copc-loader-types.d.ts.map +1 -0
  126. package/dist/las-copc-loader-types.js +2 -0
  127. package/dist/las-copc-loader-types.js.map +1 -0
  128. package/dist/las-copc-loader.cjs +62 -0
  129. package/dist/las-copc-loader.cjs.map +7 -0
  130. package/dist/las-copc-loader.d.ts +2 -0
  131. package/dist/las-copc-loader.d.ts.map +1 -0
  132. package/dist/las-copc-loader.js +2 -0
  133. package/dist/las-copc-loader.js.map +1 -0
  134. package/dist/las-loader-types.cjs +53 -0
  135. package/dist/las-loader-types.cjs.map +7 -0
  136. package/dist/las-loader-types.d.ts +2 -0
  137. package/dist/las-loader-types.d.ts.map +1 -0
  138. package/dist/las-loader-types.js +2 -0
  139. package/dist/las-loader-types.js.map +1 -0
  140. package/dist/las-loader.cjs +130 -0
  141. package/dist/las-loader.cjs.map +7 -0
  142. package/dist/las-loader.d.ts +2 -0
  143. package/dist/las-loader.d.ts.map +1 -0
  144. package/dist/las-loader.js +2 -0
  145. package/dist/las-loader.js.map +1 -0
  146. package/dist/las-worker.js +1219 -253
  147. package/dist/las-writer.cjs +1056 -0
  148. package/dist/las-writer.cjs.map +7 -0
  149. package/dist/las-writer.d.ts +2 -0
  150. package/dist/las-writer.d.ts.map +1 -0
  151. package/dist/las-writer.js +2 -0
  152. package/dist/las-writer.js.map +1 -0
  153. package/dist/laz-rs-loader-types.cjs +51 -0
  154. package/dist/laz-rs-loader-types.cjs.map +7 -0
  155. package/dist/laz-rs-loader-types.d.ts +2 -0
  156. package/dist/laz-rs-loader-types.d.ts.map +1 -0
  157. package/dist/laz-rs-loader-types.js +2 -0
  158. package/dist/laz-rs-loader-types.js.map +1 -0
  159. package/dist/laz-rs-loader.cjs +277 -0
  160. package/dist/laz-rs-loader.cjs.map +7 -0
  161. package/dist/laz-rs-loader.d.ts +2 -0
  162. package/dist/laz-rs-loader.d.ts.map +1 -0
  163. package/dist/laz-rs-loader.js +2 -0
  164. package/dist/laz-rs-loader.js.map +1 -0
  165. package/dist/lazperf-loader-types.cjs +51 -0
  166. package/dist/lazperf-loader-types.cjs.map +7 -0
  167. package/dist/lazperf-loader-types.d.ts +2 -0
  168. package/dist/lazperf-loader-types.d.ts.map +1 -0
  169. package/dist/lazperf-loader-types.js +2 -0
  170. package/dist/lazperf-loader-types.js.map +1 -0
  171. package/dist/lazperf-loader.cjs +65 -0
  172. package/dist/lazperf-loader.cjs.map +7 -0
  173. package/dist/lazperf-loader.d.ts +2 -0
  174. package/dist/lazperf-loader.d.ts.map +1 -0
  175. package/dist/lazperf-loader.js +2 -0
  176. package/dist/lazperf-loader.js.map +1 -0
  177. package/dist/pcd/bundled.cjs +2 -4
  178. package/dist/pcd/bundled.cjs.map +2 -2
  179. package/dist/pcd/bundled.d.ts +1 -1
  180. package/dist/pcd/bundled.d.ts.map +1 -1
  181. package/dist/pcd/bundled.js +1 -1
  182. package/dist/pcd/bundled.js.map +1 -1
  183. package/dist/pcd/index.cjs +0 -3
  184. package/dist/pcd/index.cjs.map +3 -3
  185. package/dist/pcd/index.d.ts +0 -2
  186. package/dist/pcd/index.d.ts.map +1 -1
  187. package/dist/pcd/index.js +0 -3
  188. package/dist/pcd/index.js.map +1 -1
  189. package/dist/pcd/pcd-loader-types.cjs +9 -10
  190. package/dist/pcd/pcd-loader-types.cjs.map +2 -2
  191. package/dist/pcd/pcd-loader-types.d.ts +18 -41
  192. package/dist/pcd/pcd-loader-types.d.ts.map +1 -1
  193. package/dist/pcd/pcd-loader-types.js +6 -6
  194. package/dist/pcd/pcd-loader-types.js.map +1 -1
  195. package/dist/pcd/pcd-loader.cjs +82 -25
  196. package/dist/pcd/pcd-loader.cjs.map +3 -3
  197. package/dist/pcd/pcd-loader.d.ts +42 -6
  198. package/dist/pcd/pcd-loader.d.ts.map +1 -1
  199. package/dist/pcd/pcd-loader.js +72 -21
  200. package/dist/pcd/pcd-loader.js.map +1 -1
  201. package/dist/pcd/pcd-writer.cjs +3 -3
  202. package/dist/pcd/pcd-writer.cjs.map +2 -2
  203. package/dist/pcd/pcd-writer.d.ts +5 -4
  204. package/dist/pcd/pcd-writer.d.ts.map +1 -1
  205. package/dist/pcd/pcd-writer.js +4 -4
  206. package/dist/pcd/pcd-writer.js.map +1 -1
  207. package/dist/pcd/unbundled.cjs +2 -4
  208. package/dist/pcd/unbundled.cjs.map +2 -2
  209. package/dist/pcd/unbundled.d.ts +1 -1
  210. package/dist/pcd/unbundled.d.ts.map +1 -1
  211. package/dist/pcd/unbundled.js +1 -1
  212. package/dist/pcd/unbundled.js.map +1 -1
  213. package/dist/pcd/workers/pcd-worker.cjs +5 -5
  214. package/dist/pcd/workers/pcd-worker.cjs.map +2 -2
  215. package/dist/pcd/workers/pcd-worker.js +6 -6
  216. package/dist/pcd/workers/pcd-worker.js.map +1 -1
  217. package/dist/pcd-loader-types.cjs +65 -0
  218. package/dist/pcd-loader-types.cjs.map +7 -0
  219. package/dist/pcd-loader-types.d.ts +2 -0
  220. package/dist/pcd-loader-types.d.ts.map +1 -0
  221. package/dist/pcd-loader-types.js +2 -0
  222. package/dist/pcd-loader-types.js.map +1 -0
  223. package/dist/pcd-loader.cjs +203 -0
  224. package/dist/pcd-loader.cjs.map +7 -0
  225. package/dist/pcd-loader.d.ts +2 -0
  226. package/dist/pcd-loader.d.ts.map +1 -0
  227. package/dist/pcd-loader.js +2 -0
  228. package/dist/pcd-loader.js.map +1 -0
  229. package/dist/pcd-worker.js +1457 -418
  230. package/dist/pcd-writer.cjs +136 -0
  231. package/dist/pcd-writer.cjs.map +7 -0
  232. package/dist/pcd-writer.d.ts +2 -0
  233. package/dist/pcd-writer.d.ts.map +1 -0
  234. package/dist/pcd-writer.js +2 -0
  235. package/dist/pcd-writer.js.map +1 -0
  236. package/dist/ply/bundled.cjs +2 -4
  237. package/dist/ply/bundled.cjs.map +2 -2
  238. package/dist/ply/bundled.d.ts +1 -1
  239. package/dist/ply/bundled.d.ts.map +1 -1
  240. package/dist/ply/bundled.js +1 -1
  241. package/dist/ply/bundled.js.map +1 -1
  242. package/dist/ply/index.cjs +0 -3
  243. package/dist/ply/index.cjs.map +3 -3
  244. package/dist/ply/index.d.ts +0 -2
  245. package/dist/ply/index.d.ts.map +1 -1
  246. package/dist/ply/index.js +0 -3
  247. package/dist/ply/index.js.map +1 -1
  248. package/dist/ply/lib/get-ply-schema.cjs +4 -2
  249. package/dist/ply/lib/get-ply-schema.cjs.map +2 -2
  250. package/dist/ply/lib/get-ply-schema.d.ts +6 -0
  251. package/dist/ply/lib/get-ply-schema.d.ts.map +1 -1
  252. package/dist/ply/lib/get-ply-schema.js +1 -1
  253. package/dist/ply/lib/get-ply-schema.js.map +1 -1
  254. package/dist/ply/lib/parse-ply-arrow.cjs +1 -1
  255. package/dist/ply/lib/parse-ply-arrow.cjs.map +2 -2
  256. package/dist/ply/lib/parse-ply-arrow.js +2 -2
  257. package/dist/ply/lib/parse-ply-arrow.js.map +1 -1
  258. package/dist/ply/lib/parse-ply-in-batches.cjs +14 -8
  259. package/dist/ply/lib/parse-ply-in-batches.cjs.map +3 -3
  260. package/dist/ply/lib/parse-ply-in-batches.d.ts.map +1 -1
  261. package/dist/ply/lib/parse-ply-in-batches.js +9 -4
  262. package/dist/ply/lib/parse-ply-in-batches.js.map +1 -1
  263. package/dist/ply/lib/parse-ply.cjs +3 -0
  264. package/dist/ply/lib/parse-ply.cjs.map +2 -2
  265. package/dist/ply/lib/parse-ply.d.ts +1 -1
  266. package/dist/ply/lib/parse-ply.d.ts.map +1 -1
  267. package/dist/ply/lib/parse-ply.js +4 -0
  268. package/dist/ply/lib/parse-ply.js.map +1 -1
  269. package/dist/ply/ply-loader-types.cjs +9 -10
  270. package/dist/ply/ply-loader-types.cjs.map +2 -2
  271. package/dist/ply/ply-loader-types.d.ts +19 -42
  272. package/dist/ply/ply-loader-types.d.ts.map +1 -1
  273. package/dist/ply/ply-loader-types.js +6 -6
  274. package/dist/ply/ply-loader-types.js.map +1 -1
  275. package/dist/ply/ply-loader.cjs +82 -24
  276. package/dist/ply/ply-loader.cjs.map +3 -3
  277. package/dist/ply/ply-loader.d.ts +43 -6
  278. package/dist/ply/ply-loader.d.ts.map +1 -1
  279. package/dist/ply/ply-loader.js +71 -19
  280. package/dist/ply/ply-loader.js.map +1 -1
  281. package/dist/ply/ply-writer.cjs +3 -3
  282. package/dist/ply/ply-writer.cjs.map +2 -2
  283. package/dist/ply/ply-writer.d.ts +5 -4
  284. package/dist/ply/ply-writer.d.ts.map +1 -1
  285. package/dist/ply/ply-writer.js +4 -4
  286. package/dist/ply/ply-writer.js.map +1 -1
  287. package/dist/ply/unbundled.cjs +2 -4
  288. package/dist/ply/unbundled.cjs.map +2 -2
  289. package/dist/ply/unbundled.d.ts +1 -1
  290. package/dist/ply/unbundled.d.ts.map +1 -1
  291. package/dist/ply/unbundled.js +1 -1
  292. package/dist/ply/unbundled.js.map +1 -1
  293. package/dist/ply/workers/ply-worker.cjs +6 -6
  294. package/dist/ply/workers/ply-worker.cjs.map +2 -2
  295. package/dist/ply/workers/ply-worker.js +8 -8
  296. package/dist/ply/workers/ply-worker.js.map +1 -1
  297. package/dist/ply-loader-types.cjs +66 -0
  298. package/dist/ply-loader-types.cjs.map +7 -0
  299. package/dist/ply-loader-types.d.ts +2 -0
  300. package/dist/ply-loader-types.d.ts.map +1 -0
  301. package/dist/ply-loader-types.js +2 -0
  302. package/dist/ply-loader-types.js.map +1 -0
  303. package/dist/ply-loader.cjs +194 -0
  304. package/dist/ply-loader.cjs.map +7 -0
  305. package/dist/ply-loader.d.ts +2 -0
  306. package/dist/ply-loader.d.ts.map +1 -0
  307. package/dist/ply-loader.js +2 -0
  308. package/dist/ply-loader.js.map +1 -0
  309. package/dist/ply-worker.js +2099 -312
  310. package/dist/ply-writer.cjs +177 -0
  311. package/dist/ply-writer.cjs.map +7 -0
  312. package/dist/ply-writer.d.ts +2 -0
  313. package/dist/ply-writer.d.ts.map +1 -0
  314. package/dist/ply-writer.js +2 -0
  315. package/dist/ply-writer.js.map +1 -0
  316. package/package.json +75 -71
  317. package/src/index.ts +3 -3
  318. package/src/las/bundled.ts +0 -1
  319. package/src/las/index.ts +0 -4
  320. package/src/las/las-copc-loader-types.ts +3 -3
  321. package/src/las/las-copc-loader.ts +12 -12
  322. package/src/las/las-loader-shared.ts +9 -7
  323. package/src/las/las-loader-types.ts +3 -6
  324. package/src/las/las-loader.ts +63 -9
  325. package/src/las/las-writer.ts +17 -13
  326. package/src/las/laz-rs-loader-types.ts +3 -3
  327. package/src/las/laz-rs-loader.ts +11 -11
  328. package/src/las/lazperf-loader-types.ts +3 -3
  329. package/src/las/lazperf-loader.ts +13 -13
  330. package/src/las/lib/copc/parse-las.ts +1 -1
  331. package/src/las/lib/get-las-schema.ts +5 -0
  332. package/src/las/lib/las-extra-bytes.ts +6 -4
  333. package/src/las/lib/laz-perf/parse-las.ts +8 -9
  334. package/src/las/lib/laz-rs-wasm/parse-las.ts +8 -9
  335. package/src/las/lib/typescript/parse-las.ts +143 -11
  336. package/src/las/libs/laz-rs-wasm/README.md +5 -0
  337. package/src/las/libs/laz-rs-wasm/package.json +6 -0
  338. package/src/las/unbundled.ts +1 -1
  339. package/src/las/workers/las-worker.ts +6 -6
  340. package/src/las-copc-loader-types.ts +1 -0
  341. package/src/las-copc-loader.ts +1 -0
  342. package/src/las-loader-types.ts +1 -0
  343. package/src/las-loader.ts +1 -0
  344. package/src/las-writer.ts +1 -0
  345. package/src/laz-rs-loader-types.ts +1 -0
  346. package/src/laz-rs-loader.ts +1 -0
  347. package/src/lazperf-loader-types.ts +1 -0
  348. package/src/lazperf-loader.ts +1 -0
  349. package/src/pcd/bundled.ts +1 -4
  350. package/src/pcd/index.ts +0 -4
  351. package/src/pcd/pcd-loader-types.ts +10 -11
  352. package/src/pcd/pcd-loader.ts +97 -29
  353. package/src/pcd/pcd-writer.ts +12 -8
  354. package/src/pcd/unbundled.ts +1 -1
  355. package/src/pcd/workers/pcd-worker.ts +6 -6
  356. package/src/pcd-loader-types.ts +1 -0
  357. package/src/pcd-loader.ts +1 -0
  358. package/src/pcd-writer.ts +1 -0
  359. package/src/ply/bundled.ts +1 -4
  360. package/src/ply/index.ts +0 -4
  361. package/src/ply/lib/get-ply-schema.ts +1 -1
  362. package/src/ply/lib/parse-ply-arrow.ts +2 -2
  363. package/src/ply/lib/parse-ply-in-batches.ts +9 -4
  364. package/src/ply/lib/parse-ply.ts +4 -1
  365. package/src/ply/ply-loader-types.ts +10 -11
  366. package/src/ply/ply-loader.ts +94 -24
  367. package/src/ply/ply-writer.ts +12 -8
  368. package/src/ply/unbundled.ts +1 -1
  369. package/src/ply/workers/ply-worker.ts +8 -8
  370. package/src/ply-loader-types.ts +1 -0
  371. package/src/ply-loader.ts +1 -0
  372. package/src/ply-writer.ts +1 -0
@@ -1,3 +1,4 @@
1
+ import type { Table } from 'apache-arrow';
1
2
  import type { WriterOptions } from '@loaders.gl/core/loader-utils';
2
3
  import type { Mesh, MeshArrowTable } from '@loaders.gl/core/schema';
3
4
  /** Options for `PLYWriter`. */
@@ -9,14 +10,14 @@ export type PLYWriterOptions = WriterOptions & {
9
10
  * Writer for the PLY geometry format.
10
11
  */
11
12
  export declare const PLYWriter: {
12
- readonly dataType: Mesh | MeshArrowTable;
13
+ readonly dataType: Mesh | MeshArrowTable | Table;
13
14
  readonly batchType: never;
14
15
  readonly version: any;
15
16
  readonly options: {
16
17
  readonly ply: {};
17
18
  };
18
19
  readonly text: true;
19
- readonly encode: (data: Mesh | MeshArrowTable, options: PLYWriterOptions | undefined) => Promise<ArrayBuffer>;
20
+ readonly encode: (data: Mesh | Table<any> | MeshArrowTable, options: PLYWriterOptions | undefined) => Promise<ArrayBuffer>;
20
21
  readonly encodeSync: typeof encodePLYSync;
21
22
  readonly encodeTextSync: typeof encodePLY;
22
23
  readonly name: "PLY";
@@ -30,8 +31,8 @@ export declare const PLYWriter: {
30
31
  readonly tests: ["ply"];
31
32
  };
32
33
  /** Encode mesh category data as PLY bytes. */
33
- declare function encodePLYSync(data: Mesh | MeshArrowTable, options?: PLYWriterOptions): ArrayBuffer;
34
+ declare function encodePLYSync(data: Mesh | MeshArrowTable | Table, options?: PLYWriterOptions): ArrayBuffer;
34
35
  /** Encode mesh category data as ASCII PLY text. */
35
- declare function encodePLY(data: Mesh | MeshArrowTable, options?: PLYWriterOptions): string;
36
+ declare function encodePLY(data: Mesh | MeshArrowTable | Table, options?: PLYWriterOptions): string;
36
37
  export {};
37
38
  //# sourceMappingURL=ply-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ply-writer.d.ts","sourceRoot":"","sources":["../../src/ply/ply-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAoB,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAAC,IAAI,EAAE,cAAc,EAAgB,MAAM,yBAAyB,CAAC;AAQjF,+BAA+B;AAC/B,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS;uBAES,IAAI,GAAG,cAAc;wBAC/B,KAAK;;;;;;;;;;;;;;;;;;CAS4D,CAAC;AAEvF,8CAA8C;AAC9C,iBAAS,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAG3F;AAED,mDAAmD;AACnD,iBAAS,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAiElF"}
1
+ {"version":3,"file":"ply-writer.d.ts","sourceRoot":"","sources":["../../src/ply/ply-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAC,aAAa,EAAoB,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAAC,IAAI,EAAE,cAAc,EAAgB,MAAM,yBAAyB,CAAC;AAQjF,+BAA+B;AAC/B,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS;uBAES,IAAI,GAAG,cAAc,GAAG,KAAK;wBACvC,KAAK;;;;;;;;;;;;;;;;;;CASoE,CAAC;AAE/F,8CAA8C;AAC9C,iBAAS,aAAa,CACpB,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,KAAK,EACnC,OAAO,CAAC,EAAE,gBAAgB,GACzB,WAAW,CAGb;AAED,mDAAmD;AACnD,iBAAS,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAiE1F"}
@@ -1,11 +1,11 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { convertMeshToTable, convertTableToMesh } from '@loaders.gl/core/schema-utils';
4
+ import { convertMeshToArrowTableWrapper, convertTableToMesh } from '@loaders.gl/core/schema-utils';
5
5
  import { PLYFormat } from "./ply-format.js";
6
6
  // __VERSION__ is injected by babel-plugin-version-inline
7
7
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
- const VERSION = typeof "5.0.0-beta.1" !== 'undefined' ? "5.0.0-beta.1" : 'latest';
8
+ const VERSION = typeof "5.0.0-beta.10" !== 'undefined' ? "5.0.0-beta.10" : 'latest';
9
9
  /**
10
10
  * Writer for the PLY geometry format.
11
11
  */
@@ -66,10 +66,10 @@ function encodePLY(data, options) {
66
66
  }
67
67
  /** Return mesh data as a MeshArrowTable, converting plain Mesh data first. */
68
68
  function normalizeMeshArrowTable(data) {
69
- if ('shape' in data && data.shape === 'arrow-table') {
69
+ if (!('attributes' in data)) {
70
70
  return data;
71
71
  }
72
- return convertMeshToTable(data, 'arrow-table');
72
+ return convertMeshToArrowTableWrapper(data);
73
73
  }
74
74
  /** Return a required mesh attribute or throw a format-specific error. */
75
75
  function getRequiredAttribute(mesh, attributeName) {
@@ -1 +1 @@
1
- {"version":3,"file":"ply-writer.js","sourceRoot":"","sources":["../../src/ply/ply-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ply-writer.js","sourceRoot":"","sources":["../../src/ply/ply-writer.ts"],"names":[],"mappings":"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"}
@@ -20,14 +20,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/ply/unbundled.ts
21
21
  var unbundled_exports = {};
22
22
  __export(unbundled_exports, {
23
- PLYLoader: () => import_ply_loader_types.PLYLoader,
24
- PLYWorkerLoader: () => import_ply_loader_types.PLYWorkerLoader
23
+ PLYLoader: () => import_ply_loader_types.PLYLoader
25
24
  });
26
25
  module.exports = __toCommonJS(unbundled_exports);
27
26
  var import_ply_loader_types = require("./ply-loader-types.cjs");
28
27
  // Annotate the CommonJS export names for ESM import in node:
29
28
  0 && (module.exports = {
30
- PLYLoader,
31
- PLYWorkerLoader
29
+ PLYLoader
32
30
  });
33
31
  //# sourceMappingURL=unbundled.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/ply/unbundled.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport type {PLYLoaderOptions} from './ply-loader-types';\nexport {PLYWorkerLoader, PLYLoader} from './ply-loader-types';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,8BAAyC;",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport type {PLYLoaderOptions} from './ply-loader-types';\nexport {PLYLoader} from './ply-loader-types';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,8BAAwB;",
6
6
  "names": []
7
7
  }
@@ -1,3 +1,3 @@
1
1
  export type { PLYLoaderOptions } from "./ply-loader-types.js";
2
- export { PLYWorkerLoader, PLYLoader } from "./ply-loader-types.js";
2
+ export { PLYLoader } from "./ply-loader-types.js";
3
3
  //# sourceMappingURL=unbundled.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unbundled.d.ts","sourceRoot":"","sources":["../../src/ply/unbundled.ts"],"names":[],"mappings":"AAIA,YAAY,EAAC,gBAAgB,EAAC,8BAA2B;AACzD,OAAO,EAAC,eAAe,EAAE,SAAS,EAAC,8BAA2B"}
1
+ {"version":3,"file":"unbundled.d.ts","sourceRoot":"","sources":["../../src/ply/unbundled.ts"],"names":[],"mappings":"AAIA,YAAY,EAAC,gBAAgB,EAAC,8BAA2B;AACzD,OAAO,EAAC,SAAS,EAAC,8BAA2B"}
@@ -1,5 +1,5 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- export { PLYWorkerLoader, PLYLoader } from "./ply-loader-types.js";
4
+ export { PLYLoader } from "./ply-loader-types.js";
5
5
  //# sourceMappingURL=unbundled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unbundled.js","sourceRoot":"","sources":["../../src/ply/unbundled.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,eAAe,EAAE,SAAS,EAAC,8BAA2B"}
1
+ {"version":3,"file":"unbundled.js","sourceRoot":"","sources":["../../src/ply/unbundled.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,SAAS,EAAC,8BAA2B"}
@@ -5,25 +5,25 @@ var import_loader_utils = require("@loaders.gl/core/loader-utils");
5
5
  var import_schema_utils = require("@loaders.gl/core/schema-utils");
6
6
  var import_ply_loader = require("../ply-loader.cjs");
7
7
  (0, import_loader_utils.createLoaderWorker)({
8
- ...import_ply_loader.PLYLoaderWithParser,
8
+ ...import_ply_loader.PLYColumnLoader,
9
9
  /** Always returns columnar data; legacy mesh conversion runs on the caller. */
10
10
  parse(input, options) {
11
- return import_ply_loader.PLYLoaderWithParser.parse(input, {
11
+ return import_ply_loader.PLYColumnLoader.parse(input, {
12
12
  ...options,
13
- ply: { ...options?.ply, shape: "arrow-table" }
13
+ ply: { ...options?.ply, shape: "arrow" }
14
14
  });
15
15
  },
16
16
  /** Preserves full-mesh parsing while streaming point-cloud vertices as Arrow batches. */
17
17
  async *parseInBatches(input, options) {
18
18
  const parseMesh = options?.ply?.shape === "mesh" && !options?.ply?.pointCloud;
19
- const parserOptions = parseMesh ? options : { ...options, ply: { ...options?.ply, shape: "arrow-table" } };
20
- for await (const batch of import_ply_loader.PLYLoaderWithParser.parseInBatches(input, parserOptions)) {
19
+ const parserOptions = parseMesh ? options : { ...options, ply: { ...options?.ply, shape: "arrow" } };
20
+ for await (const batch of import_ply_loader.PLYColumnLoader.parseInBatches(input, parserOptions)) {
21
21
  if ("shape" in batch && batch.shape === "arrow-table") {
22
22
  yield batch;
23
23
  } else {
24
24
  const mesh = batch;
25
25
  yield (0, import_loader_utils.makeTableScanBatch)({
26
- ...(0, import_schema_utils.convertMeshToTable)(mesh, "arrow-table"),
26
+ ...(0, import_schema_utils.convertMeshToArrowTableWrapper)(mesh),
27
27
  loader: mesh.loader,
28
28
  loaderData: mesh.loaderData
29
29
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ply/workers/ply-worker.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {createLoaderWorker, makeTableScanBatch} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {convertMeshToTable} from '@loaders.gl/core/schema-utils';\nimport type {PLYMesh} from '../lib/ply-types';\nimport type {PLYLoaderOptions} from '../ply-loader-types';\nimport {PLYLoaderWithParser} from '../ply-loader';\n\ncreateLoaderWorker({\n ...PLYLoaderWithParser,\n /** Always returns columnar data; legacy mesh conversion runs on the caller. */\n parse(input, options) {\n return PLYLoaderWithParser.parse(input, {\n ...options,\n ply: {...options?.ply, shape: 'arrow-table'}\n });\n },\n /** Preserves full-mesh parsing while streaming point-cloud vertices as Arrow batches. */\n async *parseInBatches(input, options?: PLYLoaderOptions) {\n const parseMesh = options?.ply?.shape === 'mesh' && !options?.ply?.pointCloud;\n const parserOptions = parseMesh\n ? options\n : {...options, ply: {...options?.ply, shape: 'arrow-table' as const}};\n for await (const batch of PLYLoaderWithParser.parseInBatches(input, parserOptions)) {\n if ('shape' in batch && batch.shape === 'arrow-table') {\n yield batch;\n } else {\n const mesh = batch as PLYMesh;\n yield makeTableScanBatch({\n ...convertMeshToTable(mesh, 'arrow-table'),\n loader: mesh.loader,\n loaderData: mesh.loaderData\n } as MeshArrowTable);\n }\n }\n }\n});\n"],
5
- "mappings": ";;;AAIA,0BAAqD;AAErD,0BAAiC;AAGjC,wBAAkC;AAAA,IAElC,wCAAmB;AAAA,EACjB,GAAG;AAAA;AAAA,EAEH,MAAM,OAAO,SAAS;AACpB,WAAO,sCAAoB,MAAM,OAAO;AAAA,MACtC,GAAG;AAAA,MACH,KAAK,EAAC,GAAG,SAAS,KAAK,OAAO,cAAa;AAAA,IAC7C,CAAC;AAAA,EACH;AAAA;AAAA,EAEA,OAAO,eAAe,OAAO,SAA4B;AACvD,UAAM,YAAY,SAAS,KAAK,UAAU,UAAU,CAAC,SAAS,KAAK;AACnE,UAAM,gBAAgB,YAClB,UACA,EAAC,GAAG,SAAS,KAAK,EAAC,GAAG,SAAS,KAAK,OAAO,cAAsB,EAAC;AACtE,qBAAiB,SAAS,sCAAoB,eAAe,OAAO,aAAa,GAAG;AAClF,UAAI,WAAW,SAAS,MAAM,UAAU,eAAe;AACrD,cAAM;AAAA,MACR,OAAO;AACL,cAAM,OAAO;AACb,kBAAM,wCAAmB;AAAA,UACvB,OAAG,wCAAmB,MAAM,aAAa;AAAA,UACzC,QAAQ,KAAK;AAAA,UACb,YAAY,KAAK;AAAA,QACnB,CAAmB;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AACF,CAAC;",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {createLoaderWorker, makeTableScanBatch} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {convertMeshToArrowTableWrapper} from '@loaders.gl/core/schema-utils';\nimport type {PLYMesh} from '../lib/ply-types';\nimport type {PLYLoaderOptions} from '../ply-loader-types';\nimport {PLYColumnLoader} from '../ply-loader';\n\ncreateLoaderWorker({\n ...PLYColumnLoader,\n /** Always returns columnar data; legacy mesh conversion runs on the caller. */\n parse(input, options) {\n return PLYColumnLoader.parse(input, {\n ...options,\n ply: {...options?.ply, shape: 'arrow'}\n });\n },\n /** Preserves full-mesh parsing while streaming point-cloud vertices as Arrow batches. */\n async *parseInBatches(input, options?: PLYLoaderOptions) {\n const parseMesh = options?.ply?.shape === 'mesh' && !options?.ply?.pointCloud;\n const parserOptions = parseMesh\n ? options\n : {...options, ply: {...options?.ply, shape: 'arrow' as const}};\n for await (const batch of PLYColumnLoader.parseInBatches(input, parserOptions)) {\n if ('shape' in batch && batch.shape === 'arrow-table') {\n yield batch;\n } else {\n const mesh = batch as PLYMesh;\n yield makeTableScanBatch({\n ...convertMeshToArrowTableWrapper(mesh),\n loader: mesh.loader,\n loaderData: mesh.loaderData\n } as MeshArrowTable);\n }\n }\n }\n});\n"],
5
+ "mappings": ";;;AAIA,0BAAqD;AAErD,0BAA6C;AAG7C,wBAA8B;AAAA,IAE9B,wCAAmB;AAAA,EACjB,GAAG;AAAA;AAAA,EAEH,MAAM,OAAO,SAAS;AACpB,WAAO,kCAAgB,MAAM,OAAO;AAAA,MAClC,GAAG;AAAA,MACH,KAAK,EAAC,GAAG,SAAS,KAAK,OAAO,QAAO;AAAA,IACvC,CAAC;AAAA,EACH;AAAA;AAAA,EAEA,OAAO,eAAe,OAAO,SAA4B;AACvD,UAAM,YAAY,SAAS,KAAK,UAAU,UAAU,CAAC,SAAS,KAAK;AACnE,UAAM,gBAAgB,YAClB,UACA,EAAC,GAAG,SAAS,KAAK,EAAC,GAAG,SAAS,KAAK,OAAO,QAAgB,EAAC;AAChE,qBAAiB,SAAS,kCAAgB,eAAe,OAAO,aAAa,GAAG;AAC9E,UAAI,WAAW,SAAS,MAAM,UAAU,eAAe;AACrD,cAAM;AAAA,MACR,OAAO;AACL,cAAM,OAAO;AACb,kBAAM,wCAAmB;AAAA,UACvB,OAAG,oDAA+B,IAAI;AAAA,UACtC,QAAQ,KAAK;AAAA,UACb,YAAY,KAAK;AAAA,QACnB,CAAmB;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -2,15 +2,15 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { createLoaderWorker, makeTableScanBatch } from '@loaders.gl/core/loader-utils';
5
- import { convertMeshToTable } from '@loaders.gl/core/schema-utils';
6
- import { PLYLoaderWithParser } from "../ply-loader.js";
5
+ import { convertMeshToArrowTableWrapper } from '@loaders.gl/core/schema-utils';
6
+ import { PLYColumnLoader } from "../ply-loader.js";
7
7
  createLoaderWorker({
8
- ...PLYLoaderWithParser,
8
+ ...PLYColumnLoader,
9
9
  /** Always returns columnar data; legacy mesh conversion runs on the caller. */
10
10
  parse(input, options) {
11
- return PLYLoaderWithParser.parse(input, {
11
+ return PLYColumnLoader.parse(input, {
12
12
  ...options,
13
- ply: { ...options?.ply, shape: 'arrow-table' }
13
+ ply: { ...options?.ply, shape: 'arrow' }
14
14
  });
15
15
  },
16
16
  /** Preserves full-mesh parsing while streaming point-cloud vertices as Arrow batches. */
@@ -18,15 +18,15 @@ createLoaderWorker({
18
18
  const parseMesh = options?.ply?.shape === 'mesh' && !options?.ply?.pointCloud;
19
19
  const parserOptions = parseMesh
20
20
  ? options
21
- : { ...options, ply: { ...options?.ply, shape: 'arrow-table' } };
22
- for await (const batch of PLYLoaderWithParser.parseInBatches(input, parserOptions)) {
21
+ : { ...options, ply: { ...options?.ply, shape: 'arrow' } };
22
+ for await (const batch of PLYColumnLoader.parseInBatches(input, parserOptions)) {
23
23
  if ('shape' in batch && batch.shape === 'arrow-table') {
24
24
  yield batch;
25
25
  }
26
26
  else {
27
27
  const mesh = batch;
28
28
  yield makeTableScanBatch({
29
- ...convertMeshToTable(mesh, 'arrow-table'),
29
+ ...convertMeshToArrowTableWrapper(mesh),
30
30
  loader: mesh.loader,
31
31
  loaderData: mesh.loaderData
32
32
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ply-worker.js","sourceRoot":"","sources":["../../../src/ply/workers/ply-worker.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AAGjE,OAAO,EAAC,mBAAmB,EAAC,yBAAsB;AAElD,kBAAkB,CAAC;IACjB,GAAG,mBAAmB;IACtB,+EAA+E;IAC/E,KAAK,CAAC,KAAK,EAAE,OAAO;QAClB,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE;YACtC,GAAG,OAAO;YACV,GAAG,EAAE,EAAC,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IACD,yFAAyF;IACzF,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,OAA0B;QACrD,MAAM,SAAS,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,KAAK,MAAM,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC;QAC9E,MAAM,aAAa,GAAG,SAAS;YAC7B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,EAAE,EAAC,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,aAAsB,EAAC,EAAC,CAAC;QACxE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,mBAAmB,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;YACnF,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBACtD,MAAM,KAAK,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,KAAgB,CAAC;gBAC9B,MAAM,kBAAkB,CAAC;oBACvB,GAAG,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC;oBAC1C,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;iBACV,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"ply-worker.js","sourceRoot":"","sources":["../../../src/ply/workers/ply-worker.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AAG7E,OAAO,EAAC,eAAe,EAAC,yBAAsB;AAE9C,kBAAkB,CAAC;IACjB,GAAG,eAAe;IAClB,+EAA+E;IAC/E,KAAK,CAAC,KAAK,EAAE,OAAO;QAClB,OAAO,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE;YAClC,GAAG,OAAO;YACV,GAAG,EAAE,EAAC,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAC;SACvC,CAAC,CAAC;IACL,CAAC;IACD,yFAAyF;IACzF,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,OAA0B;QACrD,MAAM,SAAS,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,KAAK,MAAM,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC;QAC9E,MAAM,aAAa,GAAG,SAAS;YAC7B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,EAAE,EAAC,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAgB,EAAC,EAAC,CAAC;QAClE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,eAAe,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;YAC/E,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBACtD,MAAM,KAAK,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,KAAgB,CAAC;gBAC9B,MAAM,kBAAkB,CAAC;oBACvB,GAAG,8BAA8B,CAAC,IAAI,CAAC;oBACvC,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;iBACV,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/ply-loader-types.ts
31
+ var ply_loader_types_exports = {};
32
+ __export(ply_loader_types_exports, {
33
+ PLYLoader: () => PLYLoader
34
+ });
35
+ module.exports = __toCommonJS(ply_loader_types_exports);
36
+
37
+ // src/ply/ply-loader-types.ts
38
+ var import_ply_format = require("./ply-format.cjs");
39
+ var import_arrow_worker_transport = require("@loaders.gl/core/arrow-worker-transport");
40
+ var VERSION = true ? "5.0.0-beta.10" : "latest";
41
+ async function preload() {
42
+ const { PLYLoaderWithParser } = await import("@loaders.gl/pointclouds/ply-loader");
43
+ return PLYLoaderWithParser;
44
+ }
45
+ var PLYLoader = {
46
+ defaultShape: "arrow",
47
+ supportsNativeArrow: true,
48
+ dataType: null,
49
+ batchType: null,
50
+ ...import_ply_format.PLYFormat,
51
+ // shapes: ['mesh', 'gltf', 'columnar-table'],
52
+ version: VERSION,
53
+ worker: true,
54
+ /** Enables the stateful input/output batch protocol on the built-in worker. */
55
+ workerInBatches: true,
56
+ serializeWorkerResult: import_arrow_worker_transport.serializeArrowWorkerTable,
57
+ options: {
58
+ ply: { shape: "arrow", colorFormat: "uint8norm" }
59
+ },
60
+ preload
61
+ };
62
+ // Annotate the CommonJS export names for ESM import in node:
63
+ 0 && (module.exports = {
64
+ PLYLoader
65
+ });
66
+ //# sourceMappingURL=ply-loader-types.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/ply-loader-types.ts", "../src/ply/ply-loader-types.ts"],
4
+ "sourcesContent": ["export * from './ply/ply-loader-types.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// PLY Loader\nimport type {Table, RecordBatch} from 'apache-arrow';\nimport type {Loader, LoaderOptions} from '@loaders.gl/core/loader-utils';\nimport type {PLYMesh} from './lib/ply-types';\nimport type {ParsePLYOptions} from './lib/parse-ply';\nimport {PLYFormat} from './ply-format';\nimport {serializeArrowWorkerTable} from '@loaders.gl/core/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 PLYLoaderOptions = LoaderOptions & {\n ply?: ParsePLYOptions & {\n /** Output shape. Defaults to a Mesh Arrow table. */\n shape?: 'mesh' | 'arrow';\n /** Color storage format. Defaults to uint8norm for backwards compatibility. */\n colorFormat?: 'uint8norm' | 'float16' | 'float32';\n /** Treat PLY data as a point cloud by reading only the leading vertex element. */\n pointCloud?: boolean;\n /** Override the URL to the worker bundle (by default loads from unpkg.com) */\n workerUrl?: string;\n };\n};\n\n/**\n * Preloads the parser-bearing PLY loader implementation.\n */\nasync function preload() {\n const {PLYLoaderWithParser} = await import('@loaders.gl/pointclouds/ply-loader');\n return PLYLoaderWithParser;\n}\n\n/**\n * Metadata-only worker loader for PLY - Polygon File Format (aka Stanford Triangle Format)'\n * links: ['http://paulbourke.net/dataformats/ply/',\n * 'https://en.wikipedia.org/wiki/PLY_(file_format)']\n */\nexport const PLYLoader = {\n defaultShape: 'arrow',\n supportsNativeArrow: true,\n dataType: null as unknown as PLYMesh | Table,\n batchType: null as unknown as PLYMesh | RecordBatch,\n\n ...PLYFormat,\n // shapes: ['mesh', 'gltf', 'columnar-table'],\n version: VERSION,\n worker: true,\n /** Enables the stateful input/output batch protocol on the built-in worker. */\n workerInBatches: true,\n serializeWorkerResult: serializeArrowWorkerTable,\n options: {\n ply: {shape: 'arrow', colorFormat: 'uint8norm'}\n },\n preload\n} as const satisfies Loader<PLYMesh | Table, PLYMesh | RecordBatch, LoaderOptions>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACSA,wBAAwB;AACxB,oCAAwC;AAIxC,IAAM,UAAU,OAAqC,kBAAc;AAkBnE,eAAe,UAAU;AACvB,QAAM,EAAC,oBAAmB,IAAI,MAAM,OAAO,oCAAoC;AAC/E,SAAO;AACT;AAOO,IAAM,YAAY;AAAA,EACvB,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,WAAW;AAAA,EAEX,GAAG;AAAA;AAAA,EAEH,SAAS;AAAA,EACT,QAAQ;AAAA;AAAA,EAER,iBAAiB;AAAA,EACjB,uBAAuB;AAAA,EACvB,SAAS;AAAA,IACP,KAAK,EAAC,OAAO,SAAS,aAAa,YAAW;AAAA,EAChD;AAAA,EACA;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ply/ply-loader-types.js';
2
+ //# sourceMappingURL=ply-loader-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ply-loader-types.d.ts","sourceRoot":"","sources":["../src/ply-loader-types.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ply/ply-loader-types.js';
2
+ //# sourceMappingURL=ply-loader-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ply-loader-types.js","sourceRoot":"","sources":["../src/ply-loader-types.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/ply-loader.ts
21
+ var ply_loader_exports = {};
22
+ __export(ply_loader_exports, {
23
+ PLYColumnLoader: () => PLYColumnLoader,
24
+ PLYLoaderWithParser: () => PLYLoaderWithParser
25
+ });
26
+ module.exports = __toCommonJS(ply_loader_exports);
27
+
28
+ // src/ply/ply-loader.ts
29
+ var import_schema_utils = require("@loaders.gl/core/schema-utils");
30
+ var import_loader_utils = require("@loaders.gl/core/loader-utils");
31
+ var import_schema = require("@loaders.gl/core/schema");
32
+ var import_arrow_worker_transport = require("@loaders.gl/core/arrow-worker-transport");
33
+ var import_schema_utils2 = require("@loaders.gl/core/schema-utils");
34
+ var import_parse_ply = require("./lib/parse-ply.cjs");
35
+ var import_parse_ply_arrow = require("./lib/parse-ply-arrow.cjs");
36
+ var import_parse_ply_in_batches = require("./lib/parse-ply-in-batches.cjs");
37
+ var import_ply_loader_types = require("./ply-loader-types.cjs");
38
+ var { preload: _PLYLoaderPreload, ...PLYLoaderMetadataWithoutPreload } = import_ply_loader_types.PLYLoader;
39
+ function convertPLYMesh(mesh, options) {
40
+ const table = (0, import_schema_utils2.convertMeshToArrowTableWrapper)(mesh);
41
+ return convertPLYTable(table, options, mesh.loaderData);
42
+ }
43
+ function parsePLYData(data, options) {
44
+ if (options?.ply?._useLegacyParser) {
45
+ return convertPLYMesh((0, import_parse_ply.parsePLY)(data, options?.ply), options);
46
+ }
47
+ const arrowTable = (0, import_parse_ply.parsePLYToArrowTable)(data, options?.ply);
48
+ if (arrowTable) {
49
+ return convertPLYTable(arrowTable, options, (0, import_parse_ply.parsePLYHeader)(data, options?.ply));
50
+ }
51
+ const elementTables = (0, import_parse_ply_arrow.parsePLYToElementTables)(data, options?.ply);
52
+ return convertPLYTable(
53
+ (0, import_parse_ply_arrow.convertPLYElementTablesToMeshArrowTable)(elementTables),
54
+ options,
55
+ elementTables.header
56
+ );
57
+ }
58
+ var PLYColumnLoader = {
59
+ ...PLYLoaderMetadataWithoutPreload,
60
+ dataType: null,
61
+ batchType: null,
62
+ parse: async (arrayBuffer, options) => parsePLYData(arrayBuffer, options),
63
+ parseTextSync: (arrayBuffer, options) => parsePLYData(arrayBuffer, options),
64
+ parseSync: (arrayBuffer, options) => parsePLYData(arrayBuffer, options),
65
+ parseInBatches: (input, options) => (0, import_schema_utils.refineArrowTableBatches)(parsePLYWithMetadataInBatches(input, options)),
66
+ serializeWorkerResult: import_arrow_worker_transport.serializeArrowWorkerTable,
67
+ deserializeWorkerResult: deserializePLYWorkerResult,
68
+ serializeWorkerBatch: import_arrow_worker_transport.serializeArrowWorkerTable,
69
+ deserializeWorkerBatch: deserializePLYWorkerBatch
70
+ };
71
+ function convertPLYTable(table, options, header) {
72
+ const loaderData = header || table.loaderData || { comments: [], elements: [] };
73
+ const result = options?.ply?.shape === "arrow" ? { ...table, loader: "ply", loaderData } : {
74
+ ...(0, import_schema_utils2.convertTableToMesh)(table),
75
+ loader: "ply",
76
+ loaderData
77
+ };
78
+ const colorFormat = options?.ply?.colorFormat || "uint8norm";
79
+ if (colorFormat === "uint8norm") {
80
+ return result;
81
+ }
82
+ const resultData = result;
83
+ const formattedMesh = formatPLYMeshColors(
84
+ isMeshArrowTable(resultData) ? (0, import_schema_utils2.convertTableToMesh)(resultData) : resultData,
85
+ colorFormat
86
+ );
87
+ return options?.ply?.shape === "arrow" ? {
88
+ ...(0, import_schema_utils2.convertMeshToArrowTableWrapper)(formattedMesh),
89
+ loader: "ply",
90
+ loaderData
91
+ } : formattedMesh;
92
+ }
93
+ function formatPLYMeshColors(mesh, colorFormat) {
94
+ const colorAttribute = mesh.attributes.COLOR_0;
95
+ if (!colorAttribute) {
96
+ return mesh;
97
+ }
98
+ const sourceScale = colorAttribute.value instanceof Uint16Array ? 65535 : 255;
99
+ const value = colorFormat === "float16" ? (0, import_schema.convertColorArrayToFloat16)(colorAttribute.value, sourceScale) : (0, import_schema.convertColorArrayToFloat32)(colorAttribute.value, sourceScale);
100
+ const attributes = { ...mesh.attributes };
101
+ for (const [attributeName, attribute] of Object.entries(attributes)) {
102
+ if (attribute.value === colorAttribute.value) {
103
+ attributes[attributeName] = {
104
+ ...attribute,
105
+ value,
106
+ normalized: false,
107
+ ...colorFormat === "float16" ? { componentType: "float16" } : {}
108
+ };
109
+ }
110
+ }
111
+ return {
112
+ ...mesh,
113
+ attributes,
114
+ schema: (0, import_schema_utils2.deduceMeshSchema)(attributes, mesh.schema.metadata)
115
+ };
116
+ }
117
+ function isMeshArrowTable(data) {
118
+ return "shape" in data && data.shape === "arrow-table";
119
+ }
120
+ function deserializePLYWorkerResult(result, options) {
121
+ const table = (0, import_arrow_worker_transport.deserializeArrowWorkerTable)(result);
122
+ return options?.ply?.shape === "mesh" ? { ...(0, import_schema_utils2.convertTableToMesh)(table), loader: "ply", loaderData: table.loaderData } : table;
123
+ }
124
+ function deserializePLYWorkerBatch(result, options) {
125
+ return deserializePLYWorkerResult(result, options);
126
+ }
127
+ async function* parsePLYWithMetadataInBatches(arrayBuffer, options) {
128
+ const plyOptions = {
129
+ ...options?.ply,
130
+ batchSize: options?.core?.batchSize
131
+ };
132
+ for await (const meshOrTable of (0, import_parse_ply_in_batches.parsePLYInBatches)(arrayBuffer, plyOptions)) {
133
+ const convertedData = isMeshArrowTable(meshOrTable) ? convertPLYTable(meshOrTable, options) : convertPLYMesh(meshOrTable, options);
134
+ yield isMeshArrowTable(convertedData) ? (0, import_loader_utils.makeTableScanBatch)(convertedData) : convertedData;
135
+ }
136
+ }
137
+ var PLYLoaderWithParser = {
138
+ ...PLYColumnLoader,
139
+ dataType: import_ply_loader_types.PLYLoader.dataType,
140
+ batchType: import_ply_loader_types.PLYLoader.batchType,
141
+ parse: async (input, options) => unwrapPLYTable(await PLYColumnLoader.parse(input, options)),
142
+ parseTextSync: (input, options) => unwrapPLYTable(PLYColumnLoader.parseTextSync(input, options)),
143
+ parseSync: (input, options) => unwrapPLYTable(PLYColumnLoader.parseSync(input, options)),
144
+ async *parseInBatches(input, options) {
145
+ for await (const batch of PLYColumnLoader.parseInBatches(input, options)) {
146
+ if (isColumnBatch(batch)) {
147
+ batch.data.schema.metadata.set(
148
+ "loaders.gl.ply.header",
149
+ JSON.stringify(batch.loaderData)
150
+ );
151
+ for (const recordBatch of batch.data.batches) {
152
+ recordBatch.schema.metadata.set(
153
+ "loaders.gl.ply.header",
154
+ batch.data.schema.metadata.get("loaders.gl.ply.header")
155
+ );
156
+ }
157
+ if (batch.data.batches.length) yield* batch.data.batches;
158
+ else yield (0, import_schema_utils.makeArrowMetadataBatch)(batch.data.schema);
159
+ } else yield batch;
160
+ }
161
+ },
162
+ deserializeWorkerResult: (result, options) => unwrapPLYTable(PLYColumnLoader.deserializeWorkerResult(result, options)),
163
+ deserializeWorkerBatch(result, options) {
164
+ const batch = PLYColumnLoader.deserializeWorkerBatch(result, options);
165
+ if (isColumnBatch(batch)) {
166
+ const recordBatch = batch.data.batches[0] ?? (0, import_schema_utils.makeArrowMetadataBatch)(batch.data.schema);
167
+ recordBatch.schema.metadata.set(
168
+ "loaders.gl.ply.header",
169
+ JSON.stringify(batch.loaderData)
170
+ );
171
+ return recordBatch;
172
+ }
173
+ return batch;
174
+ }
175
+ };
176
+ function unwrapPLYTable(result) {
177
+ if ("shape" in result && result.shape === "arrow-table") {
178
+ result.data.schema.metadata.set(
179
+ "loaders.gl.ply.header",
180
+ JSON.stringify(result.loaderData)
181
+ );
182
+ return result.data;
183
+ }
184
+ return result;
185
+ }
186
+ function isColumnBatch(batch) {
187
+ return "shape" in batch && batch.shape === "arrow-table";
188
+ }
189
+ // Annotate the CommonJS export names for ESM import in node:
190
+ 0 && (module.exports = {
191
+ PLYColumnLoader,
192
+ PLYLoaderWithParser
193
+ });
194
+ //# sourceMappingURL=ply-loader.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/ply-loader.ts", "../src/ply/ply-loader.ts"],
4
+ "sourcesContent": ["export * from './ply/ply-loader.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {refineArrowTableBatches, makeArrowMetadataBatch} from '@loaders.gl/core/schema-utils';\nimport type {Table, RecordBatch} from 'apache-arrow';\nimport type {PLYLoaderOptions} from './ply-loader-types';\n\n// PLY Loader\nimport {makeTableScanBatch, type LoaderWithParser} from '@loaders.gl/core/loader-utils';\nimport {convertColorArrayToFloat16, convertColorArrayToFloat32} from '@loaders.gl/core/schema';\nimport type {MeshArrowTable, ArrowTableBatch} from '@loaders.gl/core/schema';\nimport {\n deserializeArrowWorkerTable,\n serializeArrowWorkerTable\n} from '@loaders.gl/core/arrow-worker-transport';\nimport type {PLYHeader, PLYMesh} from './lib/ply-types';\nimport {\n convertMeshToArrowTableWrapper,\n convertTableToMesh,\n deduceMeshSchema\n} from '@loaders.gl/core/schema-utils';\nimport {parsePLY, parsePLYHeader, parsePLYToArrowTable} from './lib/parse-ply';\nimport {\n convertPLYElementTablesToMeshArrowTable,\n parsePLYToElementTables\n} from './lib/parse-ply-arrow';\nimport {parsePLYInBatches} from './lib/parse-ply-in-batches';\nimport {PLYLoader as PLYLoaderMetadata} from './ply-loader-types';\n\nconst {preload: _PLYLoaderPreload, ...PLYLoaderMetadataWithoutPreload} = PLYLoaderMetadata;\n\nfunction convertPLYMesh(mesh: PLYMesh, options?: PLYLoaderOptions): PLYMesh | MeshArrowTable {\n const table = convertMeshToArrowTableWrapper(mesh);\n return convertPLYTable(table, options, mesh.loaderData);\n}\n\n/** Parse PLY data using a direct Arrow path when requested and supported. */\nfunction parsePLYData(\n data: ArrayBuffer | string,\n options?: PLYLoaderOptions\n): PLYMesh | MeshArrowTable {\n if (options?.ply?._useLegacyParser) {\n return convertPLYMesh(parsePLY(data, options?.ply), options);\n }\n\n const arrowTable = parsePLYToArrowTable(data, options?.ply);\n if (arrowTable) {\n return convertPLYTable(arrowTable, options, parsePLYHeader(data, options?.ply));\n }\n\n const elementTables = parsePLYToElementTables(data, options?.ply);\n return convertPLYTable(\n convertPLYElementTablesToMeshArrowTable(elementTables),\n options,\n elementTables.header\n );\n}\n\n/**\n * Loader for PLY - Polygon File Format\n */\nexport const PLYColumnLoader = {\n ...PLYLoaderMetadataWithoutPreload,\n dataType: null as unknown as PLYMesh | MeshArrowTable,\n batchType: null as unknown as PLYMesh | ArrowTableBatch,\n parse: async (arrayBuffer, options) => parsePLYData(arrayBuffer, options),\n parseTextSync: (arrayBuffer, options) => parsePLYData(arrayBuffer, options),\n parseSync: (arrayBuffer, options) => parsePLYData(arrayBuffer, options),\n parseInBatches: (input, options) =>\n refineArrowTableBatches(parsePLYWithMetadataInBatches(input, options)),\n serializeWorkerResult: serializeArrowWorkerTable,\n deserializeWorkerResult: deserializePLYWorkerResult,\n serializeWorkerBatch: serializeArrowWorkerTable,\n deserializeWorkerBatch: deserializePLYWorkerBatch\n} as const satisfies LoaderWithParser<\n PLYMesh | MeshArrowTable,\n PLYMesh | ArrowTableBatch,\n PLYLoaderOptions\n>;\n\n/** Return requested public PLY shape from the parser's Arrow table. */\nfunction convertPLYTable(\n table: MeshArrowTable & {\n /** Original source header retained by the streaming parser. */\n loaderData?: PLYHeader;\n },\n options?: PLYLoaderOptions,\n header?: PLYHeader\n): PLYMesh | MeshArrowTable {\n const loaderData = header || table.loaderData || {comments: [], elements: []};\n const result =\n options?.ply?.shape === 'arrow'\n ? {...table, loader: 'ply' as const, loaderData}\n : {\n ...(convertTableToMesh(table) as PLYMesh),\n loader: 'ply',\n loaderData\n };\n const colorFormat = options?.ply?.colorFormat || 'uint8norm';\n if (colorFormat === 'uint8norm') {\n return result as PLYMesh | MeshArrowTable;\n }\n\n const resultData = result as PLYMesh | MeshArrowTable;\n const formattedMesh = formatPLYMeshColors(\n (isMeshArrowTable(resultData) ? convertTableToMesh(resultData) : resultData) as PLYMesh,\n colorFormat\n );\n return options?.ply?.shape === 'arrow'\n ? {\n ...convertMeshToArrowTableWrapper(formattedMesh),\n loader: 'ply' as const,\n loaderData\n }\n : (formattedMesh as PLYMesh);\n}\n\n/** Apply the requested normalized color representation to a decoded PLY mesh. */\nfunction formatPLYMeshColors(\n mesh: PLYMesh,\n colorFormat: 'uint8norm' | 'float16' | 'float32'\n): PLYMesh {\n const colorAttribute = mesh.attributes.COLOR_0;\n if (!colorAttribute) {\n return mesh;\n }\n\n const sourceScale = colorAttribute.value instanceof Uint16Array ? 65535 : 255;\n const value =\n colorFormat === 'float16'\n ? convertColorArrayToFloat16(colorAttribute.value, sourceScale)\n : convertColorArrayToFloat32(colorAttribute.value, sourceScale);\n const attributes = {...mesh.attributes};\n for (const [attributeName, attribute] of Object.entries(attributes)) {\n if (attribute.value === colorAttribute.value) {\n attributes[attributeName] = {\n ...attribute,\n value,\n normalized: false,\n ...(colorFormat === 'float16' ? {componentType: 'float16' as const} : {})\n };\n }\n }\n return {\n ...mesh,\n attributes,\n schema: deduceMeshSchema(attributes, mesh.schema.metadata)\n };\n}\n\n/** Return true if a parsed PLY batch is already a Mesh Arrow table. */\nfunction isMeshArrowTable(data: PLYMesh | MeshArrowTable): data is MeshArrowTable {\n return 'shape' in data && data.shape === 'arrow-table';\n}\n\n/** Hydrates worker columns and applies the requested PLY shape on the caller. */\nfunction deserializePLYWorkerResult(\n result: unknown,\n options?: PLYLoaderOptions\n): PLYMesh | MeshArrowTable {\n const table = deserializeArrowWorkerTable(result);\n return options?.ply?.shape === 'mesh'\n ? {...convertTableToMesh(table), loader: 'ply', loaderData: table.loaderData}\n : table;\n}\n\n/** Converts mesh batches only after the Arrow column buffers reach the caller. */\nfunction deserializePLYWorkerBatch(\n result: unknown,\n options?: PLYLoaderOptions\n): PLYMesh | ArrowTableBatch {\n return deserializePLYWorkerResult(result, options) as PLYMesh | ArrowTableBatch;\n}\n\n/** Parses PLY batches before shared cumulative metadata refinement. */\nasync function* parsePLYWithMetadataInBatches(\n arrayBuffer:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>,\n options?: PLYLoaderOptions\n) {\n const plyOptions = {\n ...options?.ply,\n batchSize: options?.core?.batchSize\n };\n for await (const meshOrTable of parsePLYInBatches(arrayBuffer, plyOptions)) {\n const convertedData = isMeshArrowTable(meshOrTable)\n ? convertPLYTable(meshOrTable, options)\n : convertPLYMesh(meshOrTable, options);\n yield isMeshArrowTable(convertedData) ? makeTableScanBatch(convertedData) : convertedData;\n }\n}\n\n/** Exposes native Arrow output while retaining the worker's column protocol. */\nexport const PLYLoaderWithParser = {\n ...PLYColumnLoader,\n dataType: PLYLoaderMetadata.dataType,\n batchType: PLYLoaderMetadata.batchType,\n parse: async (input: ArrayBuffer, options?: PLYLoaderOptions) =>\n unwrapPLYTable(await PLYColumnLoader.parse(input, options)),\n parseTextSync: (input: string, options?: PLYLoaderOptions) =>\n unwrapPLYTable(PLYColumnLoader.parseTextSync(input, options)),\n parseSync: (input: ArrayBuffer, options?: PLYLoaderOptions) =>\n unwrapPLYTable(PLYColumnLoader.parseSync(input, options)),\n async *parseInBatches(input, options) {\n for await (const batch of PLYColumnLoader.parseInBatches(input, options)) {\n if (isColumnBatch(batch)) {\n batch.data.schema.metadata.set(\n 'loaders.gl.ply.header',\n JSON.stringify((batch as ArrowTableBatch & {loaderData?: unknown}).loaderData)\n );\n for (const recordBatch of batch.data.batches) {\n recordBatch.schema.metadata.set(\n 'loaders.gl.ply.header',\n batch.data.schema.metadata.get('loaders.gl.ply.header')!\n );\n }\n if (batch.data.batches.length) yield* batch.data.batches;\n else yield makeArrowMetadataBatch(batch.data.schema);\n } else yield batch;\n }\n },\n deserializeWorkerResult: (result: unknown, options?: PLYLoaderOptions) =>\n unwrapPLYTable(PLYColumnLoader.deserializeWorkerResult(result, options)),\n deserializeWorkerBatch(result: unknown, options?: PLYLoaderOptions) {\n const batch = PLYColumnLoader.deserializeWorkerBatch(result, options);\n if (isColumnBatch(batch)) {\n const recordBatch = batch.data.batches[0] ?? makeArrowMetadataBatch(batch.data.schema);\n recordBatch.schema.metadata.set(\n 'loaders.gl.ply.header',\n JSON.stringify((batch as ArrowTableBatch & {loaderData?: unknown}).loaderData)\n );\n return recordBatch;\n }\n return batch;\n }\n} as const satisfies LoaderWithParser<PLYMesh | Table, PLYMesh | RecordBatch, PLYLoaderOptions>;\n\n/** Returns the Arrow table with its file metadata or the requested mesh. */\nfunction unwrapPLYTable(result: PLYMesh | MeshArrowTable): PLYMesh | Table {\n if ('shape' in result && result.shape === 'arrow-table') {\n result.data.schema.metadata.set(\n 'loaders.gl.ply.header',\n JSON.stringify((result as MeshArrowTable & {loaderData?: unknown}).loaderData)\n );\n return result.data;\n }\n return result as PLYMesh;\n}\n\n/** Identifies the private Arrow batch envelope. */\nfunction isColumnBatch(batch: PLYMesh | ArrowTableBatch): batch is ArrowTableBatch {\n return 'shape' in batch && batch.shape === 'arrow-table';\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["import_schema_utils", "PLYLoaderMetadata"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ply/ply-loader.js';
2
+ //# sourceMappingURL=ply-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ply-loader.d.ts","sourceRoot":"","sources":["../src/ply-loader.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ply/ply-loader.js';
2
+ //# sourceMappingURL=ply-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ply-loader.js","sourceRoot":"","sources":["../src/ply-loader.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}