@pascal-app/core 1.0.0-beta.5 → 1.0.1

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 (417) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +23 -0
  3. package/dist/capture/index.d.ts +3 -0
  4. package/dist/capture/index.d.ts.map +1 -0
  5. package/dist/capture/index.js +2 -0
  6. package/dist/capture/schema.d.ts +417 -0
  7. package/dist/capture/schema.d.ts.map +1 -0
  8. package/dist/capture/schema.js +350 -0
  9. package/dist/capture/source.d.ts +60 -0
  10. package/dist/capture/source.d.ts.map +1 -0
  11. package/dist/capture/source.js +254 -0
  12. package/dist/events/bus.d.ts +58 -7
  13. package/dist/events/bus.d.ts.map +1 -1
  14. package/dist/events/hidden-wall-pointer-hold.d.ts +28 -0
  15. package/dist/events/hidden-wall-pointer-hold.d.ts.map +1 -0
  16. package/dist/events/hidden-wall-pointer-hold.js +37 -0
  17. package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts +4 -4
  18. package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts.map +1 -1
  19. package/dist/hooks/spatial-grid/floor-placed-elevation.js +7 -12
  20. package/dist/hooks/spatial-grid/floor-placed-footprints.d.ts +4 -0
  21. package/dist/hooks/spatial-grid/floor-placed-footprints.d.ts.map +1 -0
  22. package/dist/hooks/spatial-grid/floor-placed-footprints.js +7 -0
  23. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +5 -8
  24. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
  25. package/dist/hooks/spatial-grid/spatial-grid-manager.js +23 -106
  26. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +2931 -2
  27. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
  28. package/dist/hooks/spatial-grid/spatial-grid-sync.js +207 -30
  29. package/dist/hooks/spatial-grid/support-host-patch.d.ts +45 -1
  30. package/dist/hooks/spatial-grid/support-host-patch.d.ts.map +1 -1
  31. package/dist/hooks/spatial-grid/support-host-patch.js +174 -9
  32. package/dist/hooks/spatial-grid/use-spatial-query.d.ts +1 -1
  33. package/dist/hooks/spatial-grid/use-spatial-query.js +1 -1
  34. package/dist/index.d.ts +74 -64
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +74 -61
  37. package/dist/lib/asset-storage.d.ts.map +1 -1
  38. package/dist/lib/asset-storage.js +4 -1
  39. package/dist/lib/door-operation.d.ts +1 -1
  40. package/dist/lib/item-polygon-overlap.d.ts +6 -0
  41. package/dist/lib/item-polygon-overlap.d.ts.map +1 -0
  42. package/dist/lib/item-polygon-overlap.js +67 -0
  43. package/dist/lib/level-name.d.ts +1 -1
  44. package/dist/lib/measurement-geometry.d.ts +4 -4
  45. package/dist/lib/plan-footprint.d.ts +41 -0
  46. package/dist/lib/plan-footprint.d.ts.map +1 -0
  47. package/dist/lib/plan-footprint.js +58 -0
  48. package/dist/lib/polygon-union.d.ts +4 -0
  49. package/dist/lib/polygon-union.d.ts.map +1 -0
  50. package/dist/lib/polygon-union.js +306 -0
  51. package/dist/lib/roof-overlap.d.ts +32 -0
  52. package/dist/lib/roof-overlap.d.ts.map +1 -0
  53. package/dist/lib/roof-overlap.js +72 -0
  54. package/dist/lib/room-topology-index.d.ts +1 -1
  55. package/dist/lib/room-topology-index.js +1 -1
  56. package/dist/lib/selection-proxy.d.ts +1 -1
  57. package/dist/lib/slab-polygon.d.ts +36 -3
  58. package/dist/lib/slab-polygon.d.ts.map +1 -1
  59. package/dist/lib/slab-polygon.js +135 -29
  60. package/dist/lib/space-detection.d.ts +12 -1
  61. package/dist/lib/space-detection.d.ts.map +1 -1
  62. package/dist/lib/space-detection.js +58 -25
  63. package/dist/lib/terrain-brush.d.ts +1 -1
  64. package/dist/lib/terrain-brush.js +1 -1
  65. package/dist/lib/terrain-codec.d.ts +2 -2
  66. package/dist/lib/terrain-codec.js +1 -1
  67. package/dist/lib/terrain-raycast.d.ts +1 -1
  68. package/dist/lib/terrain-raycast.js +1 -1
  69. package/dist/lib/terrain-source.d.ts +3 -3
  70. package/dist/lib/terrain-source.js +3 -3
  71. package/dist/lib/terrain-support.d.ts +1 -1
  72. package/dist/lib/terrain-support.js +3 -3
  73. package/dist/lib/unit-containment.d.ts +19 -0
  74. package/dist/lib/unit-containment.d.ts.map +1 -0
  75. package/dist/lib/unit-containment.js +158 -0
  76. package/dist/lib/unit-report.d.ts +19 -0
  77. package/dist/lib/unit-report.d.ts.map +1 -0
  78. package/dist/lib/unit-report.js +36 -0
  79. package/dist/lib/wall-distance.d.ts +2 -2
  80. package/dist/lib/wall-distance.js +1 -1
  81. package/dist/lib/zone-quantities.d.ts +1 -1
  82. package/dist/lib/zone-quantities.js +7 -7
  83. package/dist/material-library.d.ts +1 -1
  84. package/dist/material-library.js +1 -1
  85. package/dist/procedural-items/fixtures.d.ts +261 -0
  86. package/dist/procedural-items/fixtures.d.ts.map +1 -0
  87. package/dist/procedural-items/fixtures.js +349 -0
  88. package/dist/procedural-items/index.d.ts +10 -0
  89. package/dist/procedural-items/index.d.ts.map +1 -0
  90. package/dist/procedural-items/index.js +9 -0
  91. package/dist/procedural-items/integration.d.ts +92 -0
  92. package/dist/procedural-items/integration.d.ts.map +1 -0
  93. package/dist/procedural-items/integration.js +19 -0
  94. package/dist/procedural-items/library-colors.d.ts +56 -0
  95. package/dist/procedural-items/library-colors.d.ts.map +1 -0
  96. package/dist/procedural-items/library-colors.js +84 -0
  97. package/dist/procedural-items/materials.d.ts +5 -0
  98. package/dist/procedural-items/materials.d.ts.map +1 -0
  99. package/dist/procedural-items/materials.js +47 -0
  100. package/dist/procedural-items/node.d.ts +280 -0
  101. package/dist/procedural-items/node.d.ts.map +1 -0
  102. package/dist/procedural-items/node.js +71 -0
  103. package/dist/procedural-items/placement.d.ts +7 -0
  104. package/dist/procedural-items/placement.d.ts.map +1 -0
  105. package/dist/procedural-items/placement.js +48 -0
  106. package/dist/procedural-items/query.d.ts +50 -0
  107. package/dist/procedural-items/query.d.ts.map +1 -0
  108. package/dist/procedural-items/query.js +298 -0
  109. package/dist/procedural-items/recipe.d.ts +144 -0
  110. package/dist/procedural-items/recipe.d.ts.map +1 -0
  111. package/dist/procedural-items/recipe.js +372 -0
  112. package/dist/procedural-items/spatial.d.ts +19 -0
  113. package/dist/procedural-items/spatial.d.ts.map +1 -0
  114. package/dist/procedural-items/spatial.js +39 -0
  115. package/dist/registry/__bench__/relations-resolver.bench.js +2 -2
  116. package/dist/registry/handles.d.ts +36 -7
  117. package/dist/registry/handles.d.ts.map +1 -1
  118. package/dist/registry/index.d.ts +6 -7
  119. package/dist/registry/index.d.ts.map +1 -1
  120. package/dist/registry/index.js +4 -5
  121. package/dist/registry/registry.d.ts +13 -6
  122. package/dist/registry/registry.d.ts.map +1 -1
  123. package/dist/registry/registry.js +37 -4
  124. package/dist/registry/relations-resolver.d.ts +2 -2
  125. package/dist/registry/relations-resolver.js +1 -1
  126. package/dist/registry/scene-api.d.ts +18 -2
  127. package/dist/registry/scene-api.d.ts.map +1 -1
  128. package/dist/registry/scene-api.js +50 -2
  129. package/dist/registry/subtree.d.ts +1 -1
  130. package/dist/registry/subtree.js +2 -2
  131. package/dist/registry/types.d.ts +246 -21
  132. package/dist/registry/types.d.ts.map +1 -1
  133. package/dist/registry/use-registry-version.js +1 -1
  134. package/dist/registry/validate-relations.d.ts +4 -0
  135. package/dist/registry/validate-relations.d.ts.map +1 -0
  136. package/dist/registry/validate-relations.js +22 -0
  137. package/dist/schema/__bench__/node-parsers.bench.d.ts +24 -0
  138. package/dist/schema/__bench__/node-parsers.bench.d.ts.map +1 -0
  139. package/dist/schema/__bench__/node-parsers.bench.js +314 -0
  140. package/dist/schema/__fixtures__/node-fixtures.d.ts +28 -0
  141. package/dist/schema/__fixtures__/node-fixtures.d.ts.map +1 -0
  142. package/dist/schema/__fixtures__/node-fixtures.js +127 -0
  143. package/dist/schema/base.d.ts +1 -1
  144. package/dist/schema/base.d.ts.map +1 -1
  145. package/dist/schema/base.js +9 -2
  146. package/dist/schema/collections.d.ts +1 -1
  147. package/dist/schema/collections.js +1 -1
  148. package/dist/schema/compiled-node-parsers.d.ts +40 -0
  149. package/dist/schema/compiled-node-parsers.d.ts.map +1 -0
  150. package/dist/schema/compiled-node-parsers.js +95 -0
  151. package/dist/schema/index.d.ts +73 -66
  152. package/dist/schema/index.d.ts.map +1 -1
  153. package/dist/schema/index.js +65 -57
  154. package/dist/schema/material.d.ts +1 -0
  155. package/dist/schema/material.d.ts.map +1 -1
  156. package/dist/schema/material.js +2 -1
  157. package/dist/schema/nodes/automatic-downspout.d.ts +17 -0
  158. package/dist/schema/nodes/automatic-downspout.d.ts.map +1 -0
  159. package/dist/schema/nodes/automatic-downspout.js +237 -0
  160. package/dist/schema/nodes/block.d.ts +107 -0
  161. package/dist/schema/nodes/block.d.ts.map +1 -0
  162. package/dist/schema/nodes/block.js +206 -0
  163. package/dist/schema/nodes/box-vent.d.ts +8 -2
  164. package/dist/schema/nodes/box-vent.d.ts.map +1 -1
  165. package/dist/schema/nodes/box-vent.js +4 -2
  166. package/dist/schema/nodes/building.d.ts +2 -2
  167. package/dist/schema/nodes/building.d.ts.map +1 -1
  168. package/dist/schema/nodes/building.js +8 -5
  169. package/dist/schema/nodes/cabinet.d.ts +26 -4
  170. package/dist/schema/nodes/cabinet.d.ts.map +1 -1
  171. package/dist/schema/nodes/cabinet.js +29 -8
  172. package/dist/schema/nodes/ceiling.d.ts +2 -2
  173. package/dist/schema/nodes/ceiling.js +5 -5
  174. package/dist/schema/nodes/chimney.d.ts +2 -2
  175. package/dist/schema/nodes/chimney.js +2 -2
  176. package/dist/schema/nodes/column.d.ts +7 -6
  177. package/dist/schema/nodes/column.d.ts.map +1 -1
  178. package/dist/schema/nodes/column.js +3 -2
  179. package/dist/schema/nodes/construction-dimension.d.ts +1 -1
  180. package/dist/schema/nodes/construction-dimension.js +2 -2
  181. package/dist/schema/nodes/cupola.d.ts +9 -1
  182. package/dist/schema/nodes/cupola.d.ts.map +1 -1
  183. package/dist/schema/nodes/cupola.js +4 -2
  184. package/dist/schema/nodes/door.d.ts +1 -1
  185. package/dist/schema/nodes/door.js +2 -2
  186. package/dist/schema/nodes/dormer.d.ts +45 -2
  187. package/dist/schema/nodes/dormer.d.ts.map +1 -1
  188. package/dist/schema/nodes/dormer.js +133 -9
  189. package/dist/schema/nodes/downspout.d.ts +11 -1
  190. package/dist/schema/nodes/downspout.d.ts.map +1 -1
  191. package/dist/schema/nodes/downspout.js +26 -2
  192. package/dist/schema/nodes/duct-fitting.d.ts +18 -1
  193. package/dist/schema/nodes/duct-fitting.d.ts.map +1 -1
  194. package/dist/schema/nodes/duct-fitting.js +26 -5
  195. package/dist/schema/nodes/duct-segment.d.ts +23 -1
  196. package/dist/schema/nodes/duct-segment.d.ts.map +1 -1
  197. package/dist/schema/nodes/duct-segment.js +21 -1
  198. package/dist/schema/nodes/duct-terminal.d.ts +1 -1
  199. package/dist/schema/nodes/duct-terminal.js +1 -1
  200. package/dist/schema/nodes/elevator.d.ts +1 -1
  201. package/dist/schema/nodes/elevator.js +2 -2
  202. package/dist/schema/nodes/eyebrow-vent.d.ts +8 -2
  203. package/dist/schema/nodes/eyebrow-vent.d.ts.map +1 -1
  204. package/dist/schema/nodes/eyebrow-vent.js +4 -2
  205. package/dist/schema/nodes/fence.d.ts +1 -1
  206. package/dist/schema/nodes/fence.js +2 -2
  207. package/dist/schema/nodes/guide.d.ts +1 -1
  208. package/dist/schema/nodes/guide.js +2 -2
  209. package/dist/schema/nodes/gutter.d.ts +36 -2
  210. package/dist/schema/nodes/gutter.d.ts.map +1 -1
  211. package/dist/schema/nodes/gutter.js +310 -3
  212. package/dist/schema/nodes/hanger-overrides.d.ts +7 -0
  213. package/dist/schema/nodes/hanger-overrides.d.ts.map +1 -0
  214. package/dist/schema/nodes/hanger-overrides.js +6 -0
  215. package/dist/schema/nodes/hvac-equipment.d.ts +1 -1
  216. package/dist/schema/nodes/hvac-equipment.js +1 -1
  217. package/dist/schema/nodes/imported-mesh.d.ts +40 -0
  218. package/dist/schema/nodes/imported-mesh.d.ts.map +1 -0
  219. package/dist/schema/nodes/imported-mesh.js +27 -0
  220. package/dist/schema/nodes/item.d.ts +3 -2
  221. package/dist/schema/nodes/item.d.ts.map +1 -1
  222. package/dist/schema/nodes/item.js +8 -3
  223. package/dist/schema/nodes/lean-to-extension.d.ts +212 -0
  224. package/dist/schema/nodes/lean-to-extension.d.ts.map +1 -0
  225. package/dist/schema/nodes/lean-to-extension.js +114 -0
  226. package/dist/schema/nodes/level.d.ts +2 -2
  227. package/dist/schema/nodes/level.d.ts.map +1 -1
  228. package/dist/schema/nodes/level.js +1 -1
  229. package/dist/schema/nodes/lineset.d.ts +1 -1
  230. package/dist/schema/nodes/lineset.js +1 -1
  231. package/dist/schema/nodes/liquid-line.d.ts +1 -1
  232. package/dist/schema/nodes/liquid-line.js +1 -1
  233. package/dist/schema/nodes/measurement.d.ts +1 -1
  234. package/dist/schema/nodes/measurement.js +2 -2
  235. package/dist/schema/nodes/pipe-fitting.d.ts +10 -2
  236. package/dist/schema/nodes/pipe-fitting.d.ts.map +1 -1
  237. package/dist/schema/nodes/pipe-fitting.js +7 -3
  238. package/dist/schema/nodes/pipe-segment.d.ts +24 -2
  239. package/dist/schema/nodes/pipe-segment.d.ts.map +1 -1
  240. package/dist/schema/nodes/pipe-segment.js +21 -1
  241. package/dist/schema/nodes/pipe-trap.d.ts +2 -2
  242. package/dist/schema/nodes/pipe-trap.js +1 -1
  243. package/dist/schema/nodes/ridge-vent.d.ts +2 -2
  244. package/dist/schema/nodes/ridge-vent.d.ts.map +1 -1
  245. package/dist/schema/nodes/ridge-vent.js +7 -4
  246. package/dist/schema/nodes/roof-segment-shape.d.ts +5 -1
  247. package/dist/schema/nodes/roof-segment-shape.d.ts.map +1 -1
  248. package/dist/schema/nodes/roof-segment-shape.js +65 -2
  249. package/dist/schema/nodes/roof-segment-walls.d.ts +4 -2
  250. package/dist/schema/nodes/roof-segment-walls.d.ts.map +1 -1
  251. package/dist/schema/nodes/roof-segment-walls.js +2 -2
  252. package/dist/schema/nodes/roof-segment.d.ts +42 -2
  253. package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
  254. package/dist/schema/nodes/roof-segment.js +81 -4
  255. package/dist/schema/nodes/roof.d.ts +23 -2
  256. package/dist/schema/nodes/roof.d.ts.map +1 -1
  257. package/dist/schema/nodes/roof.js +17 -3
  258. package/dist/schema/nodes/scan.d.ts +19 -2
  259. package/dist/schema/nodes/scan.d.ts.map +1 -1
  260. package/dist/schema/nodes/scan.js +13 -3
  261. package/dist/schema/nodes/shelf.d.ts +3 -3
  262. package/dist/schema/nodes/shelf.d.ts.map +1 -1
  263. package/dist/schema/nodes/shelf.js +3 -4
  264. package/dist/schema/nodes/site.d.ts +1 -1
  265. package/dist/schema/nodes/site.js +2 -2
  266. package/dist/schema/nodes/skylight.d.ts +5 -5
  267. package/dist/schema/nodes/skylight.js +2 -2
  268. package/dist/schema/nodes/slab.d.ts +1 -1
  269. package/dist/schema/nodes/slab.js +3 -3
  270. package/dist/schema/nodes/solar-panel.d.ts +1 -1
  271. package/dist/schema/nodes/solar-panel.js +3 -3
  272. package/dist/schema/nodes/spawn.d.ts +1 -1
  273. package/dist/schema/nodes/spawn.js +1 -1
  274. package/dist/schema/nodes/stair-segment.d.ts +1 -1
  275. package/dist/schema/nodes/stair-segment.js +2 -2
  276. package/dist/schema/nodes/stair.d.ts +2 -2
  277. package/dist/schema/nodes/stair.js +3 -3
  278. package/dist/schema/nodes/structural-grid.d.ts +1 -1
  279. package/dist/schema/nodes/structural-grid.js +1 -1
  280. package/dist/schema/nodes/turbine-vent.d.ts +8 -2
  281. package/dist/schema/nodes/turbine-vent.d.ts.map +1 -1
  282. package/dist/schema/nodes/turbine-vent.js +4 -2
  283. package/dist/schema/nodes/unit.d.ts +33 -0
  284. package/dist/schema/nodes/unit.d.ts.map +1 -0
  285. package/dist/schema/nodes/unit.js +13 -0
  286. package/dist/schema/nodes/wall.d.ts +5 -5
  287. package/dist/schema/nodes/wall.d.ts.map +1 -1
  288. package/dist/schema/nodes/wall.js +13 -6
  289. package/dist/schema/nodes/window.d.ts +10 -3
  290. package/dist/schema/nodes/window.d.ts.map +1 -1
  291. package/dist/schema/nodes/window.js +6 -2
  292. package/dist/schema/nodes/zone.d.ts +2 -2
  293. package/dist/schema/nodes/zone.js +2 -2
  294. package/dist/schema/scene-material.js +2 -2
  295. package/dist/schema/types.d.ts +815 -118
  296. package/dist/schema/types.d.ts.map +1 -1
  297. package/dist/schema/types.js +79 -46
  298. package/dist/services/alignment-anchors.d.ts +6 -11
  299. package/dist/services/alignment-anchors.d.ts.map +1 -1
  300. package/dist/services/alignment-anchors.js +7 -34
  301. package/dist/services/drag-session.d.ts +4 -4
  302. package/dist/services/drag-session.js +1 -1
  303. package/dist/services/hosting.d.ts +4 -10
  304. package/dist/services/hosting.d.ts.map +1 -1
  305. package/dist/services/hosting.js +6 -16
  306. package/dist/services/index.d.ts +16 -13
  307. package/dist/services/index.d.ts.map +1 -1
  308. package/dist/services/index.js +16 -13
  309. package/dist/services/level-height.d.ts +2 -2
  310. package/dist/services/level-height.js +3 -3
  311. package/dist/services/movement.d.ts +3 -3
  312. package/dist/services/movement.js +2 -2
  313. package/dist/services/port-connectivity.d.ts +1 -1
  314. package/dist/services/port-connectivity.js +1 -1
  315. package/dist/services/riser-diagram.d.ts +1 -1
  316. package/dist/services/shelf-board.d.ts +5 -0
  317. package/dist/services/shelf-board.d.ts.map +1 -0
  318. package/dist/services/shelf-board.js +15 -0
  319. package/dist/services/storey.d.ts +2 -2
  320. package/dist/services/storey.js +2 -2
  321. package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts +13 -0
  322. package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts.map +1 -0
  323. package/dist/services/surface-hosting-procedural-parity.fixtures.js +4691 -0
  324. package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts +1060 -0
  325. package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts.map +1 -0
  326. package/dist/services/surface-hosting-shelf-parity.fixtures.js +3127 -0
  327. package/dist/services/surface-hosting.d.ts +88 -0
  328. package/dist/services/surface-hosting.d.ts.map +1 -0
  329. package/dist/services/surface-hosting.js +268 -0
  330. package/dist/services/surface-region.d.ts +8 -0
  331. package/dist/services/surface-region.d.ts.map +1 -0
  332. package/dist/services/surface-region.js +44 -0
  333. package/dist/services/system-graph.d.ts +12 -1
  334. package/dist/services/system-graph.d.ts.map +1 -1
  335. package/dist/services/system-graph.js +36 -6
  336. package/dist/services/validate-dwv.d.ts +1 -1
  337. package/dist/services/validate-dwv.js +1 -1
  338. package/dist/store/actions/node-actions.d.ts +9 -2
  339. package/dist/store/actions/node-actions.d.ts.map +1 -1
  340. package/dist/store/actions/node-actions.js +475 -24
  341. package/dist/store/history-control.d.ts +3 -3
  342. package/dist/store/history-invalidation.d.ts +3 -0
  343. package/dist/store/history-invalidation.d.ts.map +1 -0
  344. package/dist/store/history-invalidation.js +72 -0
  345. package/dist/store/scene-hydration.d.ts +5 -0
  346. package/dist/store/scene-hydration.d.ts.map +1 -0
  347. package/dist/store/scene-hydration.js +57 -0
  348. package/dist/store/use-interactive.d.ts +2 -2
  349. package/dist/store/use-live-terrain.d.ts +1 -1
  350. package/dist/store/use-scene.d.ts +7 -4
  351. package/dist/store/use-scene.d.ts.map +1 -1
  352. package/dist/store/use-scene.js +361 -87
  353. package/dist/systems/elevator/elevator-dispatch.d.ts +2 -2
  354. package/dist/systems/elevator/elevator-dispatch.js +1 -1
  355. package/dist/systems/elevator/elevator-geometry.d.ts +1 -1
  356. package/dist/systems/elevator/elevator-opening-sync.d.ts +1 -1
  357. package/dist/systems/elevator/elevator-opening-sync.js +2 -2
  358. package/dist/systems/elevator/elevator-opening-system.js +3 -3
  359. package/dist/systems/elevator/elevator-runtime.d.ts +3 -3
  360. package/dist/systems/elevator/elevator-runtime.js +3 -3
  361. package/dist/systems/elevator/elevator-service.d.ts +1 -1
  362. package/dist/systems/elevator/elevator-service.js +1 -1
  363. package/dist/systems/fence/fence-centerline.d.ts +2 -2
  364. package/dist/systems/fence/fence-centerline.js +2 -2
  365. package/dist/systems/fence/fence-spline.d.ts +2 -2
  366. package/dist/systems/roof/roof-elevation-system.d.ts +3 -0
  367. package/dist/systems/roof/roof-elevation-system.d.ts.map +1 -0
  368. package/dist/systems/roof/roof-elevation-system.js +94 -0
  369. package/dist/systems/roof/roof-elevation.d.ts +4 -0
  370. package/dist/systems/roof/roof-elevation.d.ts.map +1 -0
  371. package/dist/systems/roof/roof-elevation.js +95 -0
  372. package/dist/systems/roof/roof-footprint.d.ts +17 -0
  373. package/dist/systems/roof/roof-footprint.d.ts.map +1 -0
  374. package/dist/systems/roof/roof-footprint.js +83 -0
  375. package/dist/systems/slab/slab-placement.d.ts +1 -1
  376. package/dist/systems/slab/slab-support.d.ts +1 -1
  377. package/dist/systems/slab/slab-support.js +4 -4
  378. package/dist/systems/stair/stair-flight.d.ts +17 -0
  379. package/dist/systems/stair/stair-flight.d.ts.map +1 -0
  380. package/dist/systems/stair/stair-flight.js +27 -0
  381. package/dist/systems/stair/stair-footprint.d.ts +1 -1
  382. package/dist/systems/stair/stair-opening-preview.d.ts +1621 -1267
  383. package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
  384. package/dist/systems/stair/stair-opening-preview.js +2 -2
  385. package/dist/systems/stair/stair-opening-sync.d.ts +1 -1
  386. package/dist/systems/stair/stair-opening-sync.js +6 -6
  387. package/dist/systems/stair/stair-opening-system.d.ts +1 -0
  388. package/dist/systems/stair/stair-opening-system.d.ts.map +1 -1
  389. package/dist/systems/stair/stair-opening-system.js +100 -103
  390. package/dist/systems/stair/stair-rise.d.ts +1 -1
  391. package/dist/systems/stair/stair-rise.d.ts.map +1 -1
  392. package/dist/systems/stair/stair-rise.js +23 -24
  393. package/dist/systems/wall/wall-curve.d.ts +3 -2
  394. package/dist/systems/wall/wall-curve.d.ts.map +1 -1
  395. package/dist/systems/wall/wall-curve.js +73 -0
  396. package/dist/systems/wall/wall-footprint.d.ts +3 -2
  397. package/dist/systems/wall/wall-footprint.d.ts.map +1 -1
  398. package/dist/systems/wall/wall-footprint.js +3 -2
  399. package/dist/systems/wall/wall-mitering.d.ts +1 -1
  400. package/dist/systems/wall/wall-mitering.js +1 -1
  401. package/dist/systems/wall/wall-move.d.ts +1 -1
  402. package/dist/systems/wall/wall-top.d.ts +1 -1
  403. package/dist/systems/wall/wall-topology.d.ts +2 -2
  404. package/dist/systems/wall/wall-topology.js +4 -4
  405. package/dist/utils/clone-scene-graph.d.ts +3 -3
  406. package/dist/utils/clone-scene-graph.d.ts.map +1 -1
  407. package/dist/utils/clone-scene-graph.js +35 -3
  408. package/dist/utils/scene-migrations.d.ts +3 -3
  409. package/dist/utils/scene-migrations.js +3 -3
  410. package/dist/utils/vertical-scene-migration.js +5 -5
  411. package/dist/validation/validate-build-json.d.ts +7 -1
  412. package/dist/validation/validate-build-json.d.ts.map +1 -1
  413. package/dist/validation/validate-build-json.js +92 -4
  414. package/package.json +23 -5
  415. package/dist/systems/elevator/elevator-runtime-system.d.ts +0 -2
  416. package/dist/systems/elevator/elevator-runtime-system.d.ts.map +0 -1
  417. package/dist/systems/elevator/elevator-runtime-system.js +0 -8
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Pascal Group Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -23,6 +23,9 @@ npm install react three @react-three/fiber @react-three/drei
23
23
  - **Spatial Grid** - Collision detection and placement validation
24
24
  - **Event Bus** - Typed event emitter for inter-component communication
25
25
  - **Asset Storage** - IndexedDB-based file storage for user-uploaded assets
26
+ - **Capture Contracts** (`@pascal-app/core/capture`) - Versioned capture-session manifests,
27
+ normalized stream descriptors, packet headers, and transport-neutral static/live `CaptureSource`
28
+ implementations
26
29
 
27
30
  ## Usage
28
31
 
@@ -78,6 +81,26 @@ Load the plugin before mounting `@pascal-app/viewer`. See the
78
81
  [`@pascal-app/viewer` quick start](https://github.com/pascalorg/editor/tree/main/packages/viewer#usage)
79
82
  for a React example.
80
83
 
84
+ ## Capture Sessions
85
+
86
+ Capture contracts are a self-contained subpath — no React, no Three.js, no prescribed transport:
87
+
88
+ ```typescript
89
+ import { createHttpCaptureSource, type CaptureSessionLocator } from '@pascal-app/core/capture'
90
+
91
+ const locator: CaptureSessionLocator = {
92
+ sessionId: 'capture_123',
93
+ manifestUrl: '/api/captures/capture_123/manifest',
94
+ }
95
+
96
+ const source = createHttpCaptureSource(locator, { credentials: 'include' })
97
+ const descriptor = await source.describe()
98
+ ```
99
+
100
+ For live producers, use `PushCaptureSource` directly or implement `CaptureSource.subscribe()` with
101
+ the same descriptor and packet event contract. The reference renderers that consume these sources
102
+ ship in [`@pascal-app/viewer/capture`](https://github.com/pascalorg/editor/tree/main/packages/viewer#capture-sessions).
103
+
81
104
  ## License
82
105
 
83
106
  MIT
@@ -0,0 +1,3 @@
1
+ export { ArkitDeviceMotionTrajectorySchema, ArkitPointCloudPayloadSchema, ArkitSurfaceMeshPayloadSchema, type CaptureArtifactReference, CaptureArtifactReferenceSchema, type CaptureClock, CaptureClockSchema, type CaptureCoordinateFrame, CaptureCoordinateFrameSchema, type CaptureSessionDescriptor, CaptureSessionDescriptorSchema, type CaptureSessionLocator, CaptureSessionLocatorSchema, type CaptureSessionManifest, CaptureSessionManifestSchema, type CaptureSessionManifestV1, CaptureSessionManifestV1Schema, type CaptureSessionManifestV2, CaptureSessionManifestV2Schema, type CaptureStreamDescriptor, CaptureStreamDescriptorSchema, CaptureTimeRangeSchema, captureLayerKey, captureStreamLabel, DeviceMotionSampleSchema, type DeviceMotionTrajectoryPayload, DeviceMotionTrajectorySchema, normalizeCaptureSessionManifest, type PointCloudPayload, PointCloudPayloadSchema, type SurfaceMeshPayload, SurfaceMeshPayloadSchema, } from './schema.js';
2
+ export { type CaptureArtifactResolution, type CaptureSource, type CaptureSourceEvent, type CaptureSourceResolver, type CaptureStreamPacket, CaptureStreamPacketSchema, type CaptureSubscriptionOptions, createHttpCaptureSource, type HttpCaptureSourceOptions, PushCaptureSource, type PushCaptureSourceOptions, } from './source.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capture/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,4BAA4B,EAC5B,6BAA6B,EAC7B,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,YAAY,EACjB,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,6BAA6B,EAClC,4BAA4B,EAC5B,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,wBAAwB,GACzB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,KAAK,0BAA0B,EAC/B,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,MAAM,UAAU,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { ArkitDeviceMotionTrajectorySchema, ArkitPointCloudPayloadSchema, ArkitSurfaceMeshPayloadSchema, CaptureArtifactReferenceSchema, CaptureClockSchema, CaptureCoordinateFrameSchema, CaptureSessionDescriptorSchema, CaptureSessionLocatorSchema, CaptureSessionManifestSchema, CaptureSessionManifestV1Schema, CaptureSessionManifestV2Schema, CaptureStreamDescriptorSchema, CaptureTimeRangeSchema, captureLayerKey, captureStreamLabel, DeviceMotionSampleSchema, DeviceMotionTrajectorySchema, normalizeCaptureSessionManifest, PointCloudPayloadSchema, SurfaceMeshPayloadSchema, } from './schema.js';
2
+ export { CaptureStreamPacketSchema, createHttpCaptureSource, PushCaptureSource, } from './source.js';
@@ -0,0 +1,417 @@
1
+ import { z } from 'zod';
2
+ export declare const CaptureSessionLocatorSchema: z.ZodObject<{
3
+ sessionId: z.ZodString;
4
+ manifestUrl: z.ZodOptional<z.ZodString>;
5
+ schemaVersion: z.ZodOptional<z.ZodNumber>;
6
+ revisionId: z.ZodOptional<z.ZodString>;
7
+ }, z.core.$strip>;
8
+ export declare const DeviceMotionSampleSchema: z.ZodObject<{
9
+ segment: z.ZodNumber;
10
+ timestamp: z.ZodNumber;
11
+ transform: z.ZodArray<z.ZodNumber>;
12
+ }, z.core.$strip>;
13
+ export declare const DeviceMotionTrajectorySchema: z.ZodObject<{
14
+ coordinateSystem: z.ZodString;
15
+ samples: z.ZodArray<z.ZodObject<{
16
+ segment: z.ZodNumber;
17
+ timestamp: z.ZodNumber;
18
+ transform: z.ZodArray<z.ZodNumber>;
19
+ }, z.core.$strip>>;
20
+ }, z.core.$strip>;
21
+ export declare const ArkitDeviceMotionTrajectorySchema: z.ZodObject<{
22
+ samples: z.ZodArray<z.ZodObject<{
23
+ segment: z.ZodNumber;
24
+ timestamp: z.ZodNumber;
25
+ transform: z.ZodArray<z.ZodNumber>;
26
+ }, z.core.$strip>>;
27
+ coordinateSystem: z.ZodLiteral<"arkit-world">;
28
+ }, z.core.$strip>;
29
+ export declare const PointCloudPayloadSchema: z.ZodObject<{
30
+ coordinateSystem: z.ZodString;
31
+ positions: z.ZodArray<z.ZodNumber>;
32
+ colors: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
33
+ }, z.core.$strip>;
34
+ export declare const ArkitPointCloudPayloadSchema: z.ZodObject<{
35
+ positions: z.ZodArray<z.ZodNumber>;
36
+ colors: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
37
+ coordinateSystem: z.ZodLiteral<"arkit-world">;
38
+ }, z.core.$strip>;
39
+ export declare const SurfaceMeshPayloadSchema: z.ZodObject<{
40
+ version: z.ZodLiteral<1>;
41
+ coordinateSystem: z.ZodString;
42
+ representation: z.ZodLiteral<"quantized-indexed-triangle-mesh">;
43
+ appearance: z.ZodLiteral<"camera-vertex-color">;
44
+ vertexCount: z.ZodNumber;
45
+ faceCount: z.ZodNumber;
46
+ boundsMin: z.ZodArray<z.ZodNumber>;
47
+ boundsMax: z.ZodArray<z.ZodNumber>;
48
+ positionEncoding: z.ZodLiteral<"uint16x3-base64-little-endian">;
49
+ colorEncoding: z.ZodLiteral<"uint8x3-base64-srgb">;
50
+ indexEncoding: z.ZodLiteral<"uint16x3-base64-little-endian">;
51
+ positions: z.ZodString;
52
+ colors: z.ZodString;
53
+ indices: z.ZodString;
54
+ }, z.core.$strip>;
55
+ export declare const ArkitSurfaceMeshPayloadSchema: z.ZodObject<{
56
+ version: z.ZodLiteral<1>;
57
+ representation: z.ZodLiteral<"quantized-indexed-triangle-mesh">;
58
+ appearance: z.ZodLiteral<"camera-vertex-color">;
59
+ vertexCount: z.ZodNumber;
60
+ faceCount: z.ZodNumber;
61
+ boundsMin: z.ZodArray<z.ZodNumber>;
62
+ boundsMax: z.ZodArray<z.ZodNumber>;
63
+ positionEncoding: z.ZodLiteral<"uint16x3-base64-little-endian">;
64
+ colorEncoding: z.ZodLiteral<"uint8x3-base64-srgb">;
65
+ indexEncoding: z.ZodLiteral<"uint16x3-base64-little-endian">;
66
+ positions: z.ZodString;
67
+ colors: z.ZodString;
68
+ indices: z.ZodString;
69
+ coordinateSystem: z.ZodLiteral<"arkit-world">;
70
+ }, z.core.$strip>;
71
+ export declare const CaptureTimeRangeSchema: z.ZodObject<{
72
+ start: z.ZodNumber;
73
+ end: z.ZodNumber;
74
+ }, z.core.$strip>;
75
+ export declare const CaptureArtifactReferenceSchema: z.ZodObject<{
76
+ id: z.ZodString;
77
+ uri: z.ZodOptional<z.ZodString>;
78
+ mediaType: z.ZodString;
79
+ byteLength: z.ZodOptional<z.ZodNumber>;
80
+ sha256: z.ZodOptional<z.ZodString>;
81
+ frameId: z.ZodOptional<z.ZodString>;
82
+ timeRange: z.ZodOptional<z.ZodObject<{
83
+ start: z.ZodNumber;
84
+ end: z.ZodNumber;
85
+ }, z.core.$strip>>;
86
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
87
+ }, z.core.$strip>;
88
+ export declare const CaptureStreamDescriptorSchema: z.ZodObject<{
89
+ id: z.ZodString;
90
+ kind: z.ZodString;
91
+ role: z.ZodOptional<z.ZodString>;
92
+ availability: z.ZodDefault<z.ZodEnum<{
93
+ pending: "pending";
94
+ live: "live";
95
+ ready: "ready";
96
+ failed: "failed";
97
+ }>>;
98
+ frameId: z.ZodOptional<z.ZodString>;
99
+ clockId: z.ZodOptional<z.ZodString>;
100
+ artifact: z.ZodOptional<z.ZodObject<{
101
+ id: z.ZodString;
102
+ uri: z.ZodOptional<z.ZodString>;
103
+ mediaType: z.ZodString;
104
+ byteLength: z.ZodOptional<z.ZodNumber>;
105
+ sha256: z.ZodOptional<z.ZodString>;
106
+ frameId: z.ZodOptional<z.ZodString>;
107
+ timeRange: z.ZodOptional<z.ZodObject<{
108
+ start: z.ZodNumber;
109
+ end: z.ZodNumber;
110
+ }, z.core.$strip>>;
111
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
112
+ }, z.core.$strip>>;
113
+ inline: z.ZodOptional<z.ZodUnknown>;
114
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
115
+ }, z.core.$strip>;
116
+ export declare const CaptureClockSchema: z.ZodObject<{
117
+ id: z.ZodString;
118
+ timebase: z.ZodEnum<{
119
+ seconds: "seconds";
120
+ milliseconds: "milliseconds";
121
+ microseconds: "microseconds";
122
+ nanoseconds: "nanoseconds";
123
+ }>;
124
+ epoch: z.ZodOptional<z.ZodString>;
125
+ }, z.core.$strip>;
126
+ export declare const CaptureCoordinateFrameSchema: z.ZodObject<{
127
+ id: z.ZodString;
128
+ parentId: z.ZodOptional<z.ZodString>;
129
+ convention: z.ZodString;
130
+ transform: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
131
+ }, z.core.$strip>;
132
+ export declare const CaptureSessionManifestV1Schema: z.ZodObject<{
133
+ schemaVersion: z.ZodLiteral<1>;
134
+ sessionId: z.ZodString;
135
+ projectId: z.ZodString;
136
+ streams: z.ZodObject<{
137
+ roomModel: z.ZodOptional<z.ZodObject<{
138
+ kind: z.ZodLiteral<"room-model">;
139
+ mediaType: z.ZodLiteral<"model/vnd.usdz+zip">;
140
+ url: z.ZodString;
141
+ }, z.core.$strip>>;
142
+ deviceMotion: z.ZodOptional<z.ZodObject<{
143
+ kind: z.ZodLiteral<"device-motion">;
144
+ trajectory: z.ZodObject<{
145
+ samples: z.ZodArray<z.ZodObject<{
146
+ segment: z.ZodNumber;
147
+ timestamp: z.ZodNumber;
148
+ transform: z.ZodArray<z.ZodNumber>;
149
+ }, z.core.$strip>>;
150
+ coordinateSystem: z.ZodLiteral<"arkit-world">;
151
+ }, z.core.$strip>;
152
+ }, z.core.$strip>>;
153
+ pointCloud: z.ZodOptional<z.ZodObject<{
154
+ kind: z.ZodLiteral<"point-cloud">;
155
+ points: z.ZodObject<{
156
+ positions: z.ZodArray<z.ZodNumber>;
157
+ colors: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
158
+ coordinateSystem: z.ZodLiteral<"arkit-world">;
159
+ }, z.core.$strip>;
160
+ }, z.core.$strip>>;
161
+ surfaceMesh: z.ZodOptional<z.ZodObject<{
162
+ kind: z.ZodLiteral<"surface-mesh">;
163
+ mesh: z.ZodObject<{
164
+ version: z.ZodLiteral<1>;
165
+ representation: z.ZodLiteral<"quantized-indexed-triangle-mesh">;
166
+ appearance: z.ZodLiteral<"camera-vertex-color">;
167
+ vertexCount: z.ZodNumber;
168
+ faceCount: z.ZodNumber;
169
+ boundsMin: z.ZodArray<z.ZodNumber>;
170
+ boundsMax: z.ZodArray<z.ZodNumber>;
171
+ positionEncoding: z.ZodLiteral<"uint16x3-base64-little-endian">;
172
+ colorEncoding: z.ZodLiteral<"uint8x3-base64-srgb">;
173
+ indexEncoding: z.ZodLiteral<"uint16x3-base64-little-endian">;
174
+ positions: z.ZodString;
175
+ colors: z.ZodString;
176
+ indices: z.ZodString;
177
+ coordinateSystem: z.ZodLiteral<"arkit-world">;
178
+ }, z.core.$strip>;
179
+ }, z.core.$strip>>;
180
+ }, z.core.$strip>;
181
+ }, z.core.$strip>;
182
+ export declare const CaptureSessionManifestV2Schema: z.ZodObject<{
183
+ schemaVersion: z.ZodLiteral<2>;
184
+ sessionId: z.ZodString;
185
+ projectId: z.ZodOptional<z.ZodString>;
186
+ revisionId: z.ZodOptional<z.ZodString>;
187
+ state: z.ZodDefault<z.ZodEnum<{
188
+ live: "live";
189
+ ready: "ready";
190
+ failed: "failed";
191
+ finalizing: "finalizing";
192
+ }>>;
193
+ clocks: z.ZodDefault<z.ZodArray<z.ZodObject<{
194
+ id: z.ZodString;
195
+ timebase: z.ZodEnum<{
196
+ seconds: "seconds";
197
+ milliseconds: "milliseconds";
198
+ microseconds: "microseconds";
199
+ nanoseconds: "nanoseconds";
200
+ }>;
201
+ epoch: z.ZodOptional<z.ZodString>;
202
+ }, z.core.$strip>>>;
203
+ coordinateFrames: z.ZodDefault<z.ZodArray<z.ZodObject<{
204
+ id: z.ZodString;
205
+ parentId: z.ZodOptional<z.ZodString>;
206
+ convention: z.ZodString;
207
+ transform: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
208
+ }, z.core.$strip>>>;
209
+ streams: z.ZodArray<z.ZodObject<{
210
+ id: z.ZodString;
211
+ kind: z.ZodString;
212
+ role: z.ZodOptional<z.ZodString>;
213
+ availability: z.ZodDefault<z.ZodEnum<{
214
+ pending: "pending";
215
+ live: "live";
216
+ ready: "ready";
217
+ failed: "failed";
218
+ }>>;
219
+ frameId: z.ZodOptional<z.ZodString>;
220
+ clockId: z.ZodOptional<z.ZodString>;
221
+ artifact: z.ZodOptional<z.ZodObject<{
222
+ id: z.ZodString;
223
+ uri: z.ZodOptional<z.ZodString>;
224
+ mediaType: z.ZodString;
225
+ byteLength: z.ZodOptional<z.ZodNumber>;
226
+ sha256: z.ZodOptional<z.ZodString>;
227
+ frameId: z.ZodOptional<z.ZodString>;
228
+ timeRange: z.ZodOptional<z.ZodObject<{
229
+ start: z.ZodNumber;
230
+ end: z.ZodNumber;
231
+ }, z.core.$strip>>;
232
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
233
+ }, z.core.$strip>>;
234
+ inline: z.ZodOptional<z.ZodUnknown>;
235
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
236
+ }, z.core.$strip>>;
237
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
238
+ }, z.core.$strip>;
239
+ export declare const CaptureSessionManifestSchema: z.ZodUnion<readonly [z.ZodObject<{
240
+ schemaVersion: z.ZodLiteral<1>;
241
+ sessionId: z.ZodString;
242
+ projectId: z.ZodString;
243
+ streams: z.ZodObject<{
244
+ roomModel: z.ZodOptional<z.ZodObject<{
245
+ kind: z.ZodLiteral<"room-model">;
246
+ mediaType: z.ZodLiteral<"model/vnd.usdz+zip">;
247
+ url: z.ZodString;
248
+ }, z.core.$strip>>;
249
+ deviceMotion: z.ZodOptional<z.ZodObject<{
250
+ kind: z.ZodLiteral<"device-motion">;
251
+ trajectory: z.ZodObject<{
252
+ samples: z.ZodArray<z.ZodObject<{
253
+ segment: z.ZodNumber;
254
+ timestamp: z.ZodNumber;
255
+ transform: z.ZodArray<z.ZodNumber>;
256
+ }, z.core.$strip>>;
257
+ coordinateSystem: z.ZodLiteral<"arkit-world">;
258
+ }, z.core.$strip>;
259
+ }, z.core.$strip>>;
260
+ pointCloud: z.ZodOptional<z.ZodObject<{
261
+ kind: z.ZodLiteral<"point-cloud">;
262
+ points: z.ZodObject<{
263
+ positions: z.ZodArray<z.ZodNumber>;
264
+ colors: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
265
+ coordinateSystem: z.ZodLiteral<"arkit-world">;
266
+ }, z.core.$strip>;
267
+ }, z.core.$strip>>;
268
+ surfaceMesh: z.ZodOptional<z.ZodObject<{
269
+ kind: z.ZodLiteral<"surface-mesh">;
270
+ mesh: z.ZodObject<{
271
+ version: z.ZodLiteral<1>;
272
+ representation: z.ZodLiteral<"quantized-indexed-triangle-mesh">;
273
+ appearance: z.ZodLiteral<"camera-vertex-color">;
274
+ vertexCount: z.ZodNumber;
275
+ faceCount: z.ZodNumber;
276
+ boundsMin: z.ZodArray<z.ZodNumber>;
277
+ boundsMax: z.ZodArray<z.ZodNumber>;
278
+ positionEncoding: z.ZodLiteral<"uint16x3-base64-little-endian">;
279
+ colorEncoding: z.ZodLiteral<"uint8x3-base64-srgb">;
280
+ indexEncoding: z.ZodLiteral<"uint16x3-base64-little-endian">;
281
+ positions: z.ZodString;
282
+ colors: z.ZodString;
283
+ indices: z.ZodString;
284
+ coordinateSystem: z.ZodLiteral<"arkit-world">;
285
+ }, z.core.$strip>;
286
+ }, z.core.$strip>>;
287
+ }, z.core.$strip>;
288
+ }, z.core.$strip>, z.ZodObject<{
289
+ schemaVersion: z.ZodLiteral<2>;
290
+ sessionId: z.ZodString;
291
+ projectId: z.ZodOptional<z.ZodString>;
292
+ revisionId: z.ZodOptional<z.ZodString>;
293
+ state: z.ZodDefault<z.ZodEnum<{
294
+ live: "live";
295
+ ready: "ready";
296
+ failed: "failed";
297
+ finalizing: "finalizing";
298
+ }>>;
299
+ clocks: z.ZodDefault<z.ZodArray<z.ZodObject<{
300
+ id: z.ZodString;
301
+ timebase: z.ZodEnum<{
302
+ seconds: "seconds";
303
+ milliseconds: "milliseconds";
304
+ microseconds: "microseconds";
305
+ nanoseconds: "nanoseconds";
306
+ }>;
307
+ epoch: z.ZodOptional<z.ZodString>;
308
+ }, z.core.$strip>>>;
309
+ coordinateFrames: z.ZodDefault<z.ZodArray<z.ZodObject<{
310
+ id: z.ZodString;
311
+ parentId: z.ZodOptional<z.ZodString>;
312
+ convention: z.ZodString;
313
+ transform: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
314
+ }, z.core.$strip>>>;
315
+ streams: z.ZodArray<z.ZodObject<{
316
+ id: z.ZodString;
317
+ kind: z.ZodString;
318
+ role: z.ZodOptional<z.ZodString>;
319
+ availability: z.ZodDefault<z.ZodEnum<{
320
+ pending: "pending";
321
+ live: "live";
322
+ ready: "ready";
323
+ failed: "failed";
324
+ }>>;
325
+ frameId: z.ZodOptional<z.ZodString>;
326
+ clockId: z.ZodOptional<z.ZodString>;
327
+ artifact: z.ZodOptional<z.ZodObject<{
328
+ id: z.ZodString;
329
+ uri: z.ZodOptional<z.ZodString>;
330
+ mediaType: z.ZodString;
331
+ byteLength: z.ZodOptional<z.ZodNumber>;
332
+ sha256: z.ZodOptional<z.ZodString>;
333
+ frameId: z.ZodOptional<z.ZodString>;
334
+ timeRange: z.ZodOptional<z.ZodObject<{
335
+ start: z.ZodNumber;
336
+ end: z.ZodNumber;
337
+ }, z.core.$strip>>;
338
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
339
+ }, z.core.$strip>>;
340
+ inline: z.ZodOptional<z.ZodUnknown>;
341
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
342
+ }, z.core.$strip>>;
343
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
344
+ }, z.core.$strip>]>;
345
+ export declare const CaptureSessionDescriptorSchema: z.ZodObject<{
346
+ schemaVersion: z.ZodNumber;
347
+ sessionId: z.ZodString;
348
+ projectId: z.ZodOptional<z.ZodString>;
349
+ revisionId: z.ZodOptional<z.ZodString>;
350
+ state: z.ZodEnum<{
351
+ live: "live";
352
+ ready: "ready";
353
+ failed: "failed";
354
+ finalizing: "finalizing";
355
+ }>;
356
+ clocks: z.ZodArray<z.ZodObject<{
357
+ id: z.ZodString;
358
+ timebase: z.ZodEnum<{
359
+ seconds: "seconds";
360
+ milliseconds: "milliseconds";
361
+ microseconds: "microseconds";
362
+ nanoseconds: "nanoseconds";
363
+ }>;
364
+ epoch: z.ZodOptional<z.ZodString>;
365
+ }, z.core.$strip>>;
366
+ coordinateFrames: z.ZodArray<z.ZodObject<{
367
+ id: z.ZodString;
368
+ parentId: z.ZodOptional<z.ZodString>;
369
+ convention: z.ZodString;
370
+ transform: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
371
+ }, z.core.$strip>>;
372
+ streams: z.ZodArray<z.ZodObject<{
373
+ id: z.ZodString;
374
+ kind: z.ZodString;
375
+ role: z.ZodOptional<z.ZodString>;
376
+ availability: z.ZodDefault<z.ZodEnum<{
377
+ pending: "pending";
378
+ live: "live";
379
+ ready: "ready";
380
+ failed: "failed";
381
+ }>>;
382
+ frameId: z.ZodOptional<z.ZodString>;
383
+ clockId: z.ZodOptional<z.ZodString>;
384
+ artifact: z.ZodOptional<z.ZodObject<{
385
+ id: z.ZodString;
386
+ uri: z.ZodOptional<z.ZodString>;
387
+ mediaType: z.ZodString;
388
+ byteLength: z.ZodOptional<z.ZodNumber>;
389
+ sha256: z.ZodOptional<z.ZodString>;
390
+ frameId: z.ZodOptional<z.ZodString>;
391
+ timeRange: z.ZodOptional<z.ZodObject<{
392
+ start: z.ZodNumber;
393
+ end: z.ZodNumber;
394
+ }, z.core.$strip>>;
395
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
396
+ }, z.core.$strip>>;
397
+ inline: z.ZodOptional<z.ZodUnknown>;
398
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
399
+ }, z.core.$strip>>;
400
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
401
+ }, z.core.$strip>;
402
+ export type CaptureArtifactReference = z.infer<typeof CaptureArtifactReferenceSchema>;
403
+ export type CaptureClock = z.infer<typeof CaptureClockSchema>;
404
+ export type CaptureCoordinateFrame = z.infer<typeof CaptureCoordinateFrameSchema>;
405
+ export type CaptureSessionDescriptor = z.infer<typeof CaptureSessionDescriptorSchema>;
406
+ export type CaptureSessionLocator = z.infer<typeof CaptureSessionLocatorSchema>;
407
+ export type CaptureSessionManifest = z.infer<typeof CaptureSessionManifestSchema>;
408
+ export type CaptureSessionManifestV1 = z.infer<typeof CaptureSessionManifestV1Schema>;
409
+ export type CaptureSessionManifestV2 = z.infer<typeof CaptureSessionManifestV2Schema>;
410
+ export type CaptureStreamDescriptor = z.infer<typeof CaptureStreamDescriptorSchema>;
411
+ export type DeviceMotionTrajectoryPayload = z.infer<typeof DeviceMotionTrajectorySchema>;
412
+ export type PointCloudPayload = z.infer<typeof PointCloudPayloadSchema>;
413
+ export type SurfaceMeshPayload = z.infer<typeof SurfaceMeshPayloadSchema>;
414
+ export declare function normalizeCaptureSessionManifest(value: unknown): CaptureSessionDescriptor;
415
+ export declare function captureLayerKey(stream: CaptureStreamDescriptor): string;
416
+ export declare function captureStreamLabel(stream: CaptureStreamDescriptor): string;
417
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/capture/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,2BAA2B;;;;;iBAKtC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;iBAGvC,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;iBAE5C,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;iBAqBhC,CAAA;AAEJ,eAAO,MAAM,4BAA4B;;;;iBAEvC,CAAA;AAKF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;iBA0DjC,CAAA;AAEJ,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;iBAExC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;iBAQ/B,CAAA;AAEJ,eAAO,MAAM,8BAA8B;;;;;;;;;;;;iBASzC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUxC,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;iBAI7B,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;iBAKvC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+BzC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYH,CAAA;AAExC,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAGvC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYH,CAAA;AAExC,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AACrF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACjF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AACrF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC/E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACjF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AACrF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AACrF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACnF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACxF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAuDxF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CASvE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAW1E"}