@ifc-lite/renderer 3.2.0 → 4.2.0

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 (371) hide show
  1. package/dist/aabb-edges.d.ts +10 -0
  2. package/dist/aabb-edges.d.ts.map +1 -1
  3. package/dist/aabb-edges.js +13 -0
  4. package/dist/aabb-edges.js.map +1 -1
  5. package/dist/ao-params.d.ts +85 -0
  6. package/dist/ao-params.d.ts.map +1 -0
  7. package/dist/ao-params.js +109 -0
  8. package/dist/ao-params.js.map +1 -0
  9. package/dist/ao-pass.d.ts +47 -0
  10. package/dist/ao-pass.d.ts.map +1 -0
  11. package/dist/ao-pass.js +157 -0
  12. package/dist/ao-pass.js.map +1 -0
  13. package/dist/camera-matrices.d.ts +3 -0
  14. package/dist/camera-matrices.d.ts.map +1 -1
  15. package/dist/camera-matrices.js +12 -1
  16. package/dist/camera-matrices.js.map +1 -1
  17. package/dist/camera-orientation.d.ts +62 -0
  18. package/dist/camera-orientation.d.ts.map +1 -0
  19. package/dist/camera-orientation.js +155 -0
  20. package/dist/camera-orientation.js.map +1 -0
  21. package/dist/camera-projection.d.ts +3 -1
  22. package/dist/camera-projection.d.ts.map +1 -1
  23. package/dist/camera-projection.js +26 -20
  24. package/dist/camera-projection.js.map +1 -1
  25. package/dist/camera-surface-zoom.d.ts +32 -0
  26. package/dist/camera-surface-zoom.d.ts.map +1 -0
  27. package/dist/camera-surface-zoom.js +37 -0
  28. package/dist/camera-surface-zoom.js.map +1 -0
  29. package/dist/camera.d.ts +32 -61
  30. package/dist/camera.d.ts.map +1 -1
  31. package/dist/camera.js +71 -167
  32. package/dist/camera.js.map +1 -1
  33. package/dist/clash-solid-pipeline.d.ts +9 -3
  34. package/dist/clash-solid-pipeline.d.ts.map +1 -1
  35. package/dist/clash-solid-pipeline.js +31 -8
  36. package/dist/clash-solid-pipeline.js.map +1 -1
  37. package/dist/constants.d.ts +1 -1
  38. package/dist/constants.d.ts.map +1 -1
  39. package/dist/constants.js +4 -3
  40. package/dist/constants.js.map +1 -1
  41. package/dist/depth-reconstruct.d.ts +43 -0
  42. package/dist/depth-reconstruct.d.ts.map +1 -0
  43. package/dist/depth-reconstruct.js +35 -0
  44. package/dist/depth-reconstruct.js.map +1 -0
  45. package/dist/device.js +1 -1
  46. package/dist/device.js.map +1 -1
  47. package/dist/environment.d.ts +26 -15
  48. package/dist/environment.d.ts.map +1 -1
  49. package/dist/environment.js +24 -13
  50. package/dist/environment.js.map +1 -1
  51. package/dist/federation-registry.d.ts +16 -0
  52. package/dist/federation-registry.d.ts.map +1 -1
  53. package/dist/federation-registry.js +80 -9
  54. package/dist/federation-registry.js.map +1 -1
  55. package/dist/gpu-static-upload.d.ts +39 -0
  56. package/dist/gpu-static-upload.d.ts.map +1 -0
  57. package/dist/gpu-static-upload.js +70 -0
  58. package/dist/gpu-static-upload.js.map +1 -0
  59. package/dist/gpu-upload-guard.d.ts +12 -23
  60. package/dist/gpu-upload-guard.d.ts.map +1 -1
  61. package/dist/gpu-upload-guard.js +12 -26
  62. package/dist/gpu-upload-guard.js.map +1 -1
  63. package/dist/index.d.ts +29 -21
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +201 -252
  66. package/dist/index.js.map +1 -1
  67. package/dist/instanced-render.d.ts +22 -2
  68. package/dist/instanced-render.d.ts.map +1 -1
  69. package/dist/instanced-render.js +47 -10
  70. package/dist/instanced-render.js.map +1 -1
  71. package/dist/instanced-rte.d.ts +17 -0
  72. package/dist/instanced-rte.d.ts.map +1 -0
  73. package/dist/instanced-rte.js +32 -0
  74. package/dist/instanced-rte.js.map +1 -0
  75. package/dist/mesh-rte-uniforms.d.ts +46 -0
  76. package/dist/mesh-rte-uniforms.d.ts.map +1 -0
  77. package/dist/mesh-rte-uniforms.js +59 -0
  78. package/dist/mesh-rte-uniforms.js.map +1 -0
  79. package/dist/model-bounds-tracker.d.ts +7 -0
  80. package/dist/model-bounds-tracker.d.ts.map +1 -1
  81. package/dist/model-bounds-tracker.js +16 -5
  82. package/dist/model-bounds-tracker.js.map +1 -1
  83. package/dist/model-translation.d.ts +1 -1
  84. package/dist/model-translation.d.ts.map +1 -1
  85. package/dist/model-translation.js +50 -2
  86. package/dist/model-translation.js.map +1 -1
  87. package/dist/pick-rte-snapshot.d.ts +7 -0
  88. package/dist/pick-rte-snapshot.d.ts.map +1 -0
  89. package/dist/pick-rte-snapshot.js +15 -0
  90. package/dist/pick-rte-snapshot.js.map +1 -0
  91. package/dist/pick-types.d.ts +17 -0
  92. package/dist/pick-types.d.ts.map +1 -0
  93. package/dist/pick-types.js +5 -0
  94. package/dist/pick-types.js.map +1 -0
  95. package/dist/pick-uniforms.d.ts +6 -0
  96. package/dist/pick-uniforms.d.ts.map +1 -1
  97. package/dist/pick-uniforms.js +22 -18
  98. package/dist/pick-uniforms.js.map +1 -1
  99. package/dist/pick-world-position.d.ts +18 -0
  100. package/dist/pick-world-position.d.ts.map +1 -0
  101. package/dist/pick-world-position.js +21 -0
  102. package/dist/pick-world-position.js.map +1 -0
  103. package/dist/picker-readbacks.d.ts +6 -0
  104. package/dist/picker-readbacks.d.ts.map +1 -0
  105. package/dist/picker-readbacks.js +20 -0
  106. package/dist/picker-readbacks.js.map +1 -0
  107. package/dist/picker-rte-uniforms.d.ts +6 -0
  108. package/dist/picker-rte-uniforms.d.ts.map +1 -0
  109. package/dist/picker-rte-uniforms.js +41 -0
  110. package/dist/picker-rte-uniforms.js.map +1 -0
  111. package/dist/picker.d.ts +6 -7
  112. package/dist/picker.d.ts.map +1 -1
  113. package/dist/picker.js +88 -115
  114. package/dist/picker.js.map +1 -1
  115. package/dist/picking-manager.d.ts +8 -0
  116. package/dist/picking-manager.d.ts.map +1 -1
  117. package/dist/picking-manager.js +46 -19
  118. package/dist/picking-manager.js.map +1 -1
  119. package/dist/pipeline.d.ts +1 -7
  120. package/dist/pipeline.d.ts.map +1 -1
  121. package/dist/pipeline.js +17 -20
  122. package/dist/pipeline.js.map +1 -1
  123. package/dist/point-picker.d.ts +5 -1
  124. package/dist/point-picker.d.ts.map +1 -1
  125. package/dist/point-picker.js +49 -9
  126. package/dist/point-picker.js.map +1 -1
  127. package/dist/pointcloud/point-cloud-handle-ids.d.ts +22 -0
  128. package/dist/pointcloud/point-cloud-handle-ids.d.ts.map +1 -0
  129. package/dist/pointcloud/point-cloud-handle-ids.js +31 -0
  130. package/dist/pointcloud/point-cloud-handle-ids.js.map +1 -0
  131. package/dist/pointcloud/point-cloud-node.d.ts +14 -6
  132. package/dist/pointcloud/point-cloud-node.d.ts.map +1 -1
  133. package/dist/pointcloud/point-cloud-node.js.map +1 -1
  134. package/dist/pointcloud/point-cloud-pick-sources.d.ts +47 -0
  135. package/dist/pointcloud/point-cloud-pick-sources.d.ts.map +1 -0
  136. package/dist/pointcloud/point-cloud-pick-sources.js +32 -0
  137. package/dist/pointcloud/point-cloud-pick-sources.js.map +1 -0
  138. package/dist/pointcloud/point-cloud-placement.d.ts.map +1 -1
  139. package/dist/pointcloud/point-cloud-placement.js +20 -5
  140. package/dist/pointcloud/point-cloud-placement.js.map +1 -1
  141. package/dist/pointcloud/point-cloud-ray-transform.d.ts +78 -4
  142. package/dist/pointcloud/point-cloud-ray-transform.d.ts.map +1 -1
  143. package/dist/pointcloud/point-cloud-ray-transform.js +31 -84
  144. package/dist/pointcloud/point-cloud-ray-transform.js.map +1 -1
  145. package/dist/pointcloud/point-cloud-renderer.d.ts +21 -19
  146. package/dist/pointcloud/point-cloud-renderer.d.ts.map +1 -1
  147. package/dist/pointcloud/point-cloud-renderer.js +46 -52
  148. package/dist/pointcloud/point-cloud-renderer.js.map +1 -1
  149. package/dist/pointcloud/point-cloud-stream-lifecycle.d.ts +44 -0
  150. package/dist/pointcloud/point-cloud-stream-lifecycle.d.ts.map +1 -0
  151. package/dist/pointcloud/point-cloud-stream-lifecycle.js +44 -0
  152. package/dist/pointcloud/point-cloud-stream-lifecycle.js.map +1 -0
  153. package/dist/pointcloud/point-cloud-uniforms.d.ts +5 -0
  154. package/dist/pointcloud/point-cloud-uniforms.d.ts.map +1 -1
  155. package/dist/pointcloud/point-cloud-uniforms.js +55 -44
  156. package/dist/pointcloud/point-cloud-uniforms.js.map +1 -1
  157. package/dist/pointcloud/point-cloud-visibility.d.ts +10 -0
  158. package/dist/pointcloud/point-cloud-visibility.d.ts.map +1 -0
  159. package/dist/pointcloud/point-cloud-visibility.js +18 -0
  160. package/dist/pointcloud/point-cloud-visibility.js.map +1 -0
  161. package/dist/pointcloud/point-pipeline.d.ts +4 -9
  162. package/dist/pointcloud/point-pipeline.d.ts.map +1 -1
  163. package/dist/pointcloud/point-pipeline.js +4 -9
  164. package/dist/pointcloud/point-pipeline.js.map +1 -1
  165. package/dist/pointcloud/point-shader.wgsl.d.ts +1 -21
  166. package/dist/pointcloud/point-shader.wgsl.d.ts.map +1 -1
  167. package/dist/pointcloud/point-shader.wgsl.js +25 -5
  168. package/dist/pointcloud/point-shader.wgsl.js.map +1 -1
  169. package/dist/post-pass-chain.d.ts +38 -0
  170. package/dist/post-pass-chain.d.ts.map +1 -0
  171. package/dist/post-pass-chain.js +99 -0
  172. package/dist/post-pass-chain.js.map +1 -0
  173. package/dist/post-processor.d.ts +12 -26
  174. package/dist/post-processor.d.ts.map +1 -1
  175. package/dist/post-processor.js +14 -72
  176. package/dist/post-processor.js.map +1 -1
  177. package/dist/raycast-engine.d.ts +7 -5
  178. package/dist/raycast-engine.d.ts.map +1 -1
  179. package/dist/raycast-engine.js +17 -20
  180. package/dist/raycast-engine.js.map +1 -1
  181. package/dist/raycast-point-cloud-query.d.ts +1 -1
  182. package/dist/raycast-point-cloud-query.d.ts.map +1 -1
  183. package/dist/reference-image-pipeline.d.ts +1 -1
  184. package/dist/reference-image-pipeline.d.ts.map +1 -1
  185. package/dist/reference-image-pipeline.js +25 -7
  186. package/dist/reference-image-pipeline.js.map +1 -1
  187. package/dist/reference-images.d.ts +1 -1
  188. package/dist/reference-images.d.ts.map +1 -1
  189. package/dist/reference-images.js +13 -5
  190. package/dist/reference-images.js.map +1 -1
  191. package/dist/relative-to-eye.d.ts +146 -0
  192. package/dist/relative-to-eye.d.ts.map +1 -0
  193. package/dist/relative-to-eye.js +326 -0
  194. package/dist/relative-to-eye.js.map +1 -0
  195. package/dist/render-section-draw.d.ts +11 -0
  196. package/dist/render-section-draw.d.ts.map +1 -1
  197. package/dist/render-section-draw.js +6 -3
  198. package/dist/render-section-draw.js.map +1 -1
  199. package/dist/renderer-color-readback.d.ts +50 -0
  200. package/dist/renderer-color-readback.d.ts.map +1 -0
  201. package/dist/renderer-color-readback.js +145 -0
  202. package/dist/renderer-color-readback.js.map +1 -0
  203. package/dist/renderer-overlays.d.ts +12 -3
  204. package/dist/renderer-overlays.d.ts.map +1 -1
  205. package/dist/renderer-overlays.js +33 -20
  206. package/dist/renderer-overlays.js.map +1 -1
  207. package/dist/renderer-screenshot.d.ts +4 -0
  208. package/dist/renderer-screenshot.d.ts.map +1 -0
  209. package/dist/renderer-screenshot.js +17 -0
  210. package/dist/renderer-screenshot.js.map +1 -0
  211. package/dist/renderer-symbolic-overlays.d.ts +4 -2
  212. package/dist/renderer-symbolic-overlays.d.ts.map +1 -1
  213. package/dist/renderer-symbolic-overlays.js +33 -13
  214. package/dist/renderer-symbolic-overlays.js.map +1 -1
  215. package/dist/renderer-viewport.d.ts +45 -0
  216. package/dist/renderer-viewport.d.ts.map +1 -1
  217. package/dist/renderer-viewport.js +44 -0
  218. package/dist/renderer-viewport.js.map +1 -1
  219. package/dist/rte-clip-space.d.ts +12 -0
  220. package/dist/rte-clip-space.d.ts.map +1 -0
  221. package/dist/rte-clip-space.js +22 -0
  222. package/dist/rte-clip-space.js.map +1 -0
  223. package/dist/rte-frustum.d.ts +24 -0
  224. package/dist/rte-frustum.d.ts.map +1 -0
  225. package/dist/rte-frustum.js +45 -0
  226. package/dist/rte-frustum.js.map +1 -0
  227. package/dist/scene-batch-upload.d.ts.map +1 -1
  228. package/dist/scene-batch-upload.js +14 -38
  229. package/dist/scene-batch-upload.js.map +1 -1
  230. package/dist/scene-device-recovery.d.ts.map +1 -1
  231. package/dist/scene-device-recovery.js +5 -9
  232. package/dist/scene-device-recovery.js.map +1 -1
  233. package/dist/scene-finalize-regroup.d.ts +54 -0
  234. package/dist/scene-finalize-regroup.d.ts.map +1 -0
  235. package/dist/scene-finalize-regroup.js +136 -0
  236. package/dist/scene-finalize-regroup.js.map +1 -0
  237. package/dist/scene-instance-bounds.d.ts +12 -0
  238. package/dist/scene-instance-bounds.d.ts.map +1 -0
  239. package/dist/scene-instance-bounds.js +48 -0
  240. package/dist/scene-instance-bounds.js.map +1 -0
  241. package/dist/scene-instance-materialization.d.ts +4 -1
  242. package/dist/scene-instance-materialization.d.ts.map +1 -1
  243. package/dist/scene-instance-materialization.js +21 -6
  244. package/dist/scene-instance-materialization.js.map +1 -1
  245. package/dist/scene-instance-translation.d.ts +17 -0
  246. package/dist/scene-instance-translation.d.ts.map +1 -0
  247. package/dist/scene-instance-translation.js +50 -0
  248. package/dist/scene-instance-translation.js.map +1 -0
  249. package/dist/scene-instance-types.d.ts +6 -0
  250. package/dist/scene-instance-types.d.ts.map +1 -1
  251. package/dist/scene-model-translation.d.ts +2 -0
  252. package/dist/scene-model-translation.d.ts.map +1 -1
  253. package/dist/scene-model-translation.js +1 -1
  254. package/dist/scene-model-translation.js.map +1 -1
  255. package/dist/scene-rect-select.d.ts +11 -1
  256. package/dist/scene-rect-select.d.ts.map +1 -1
  257. package/dist/scene-rect-select.js +7 -4
  258. package/dist/scene-rect-select.js.map +1 -1
  259. package/dist/scene.d.ts +17 -19
  260. package/dist/scene.d.ts.map +1 -1
  261. package/dist/scene.js +109 -238
  262. package/dist/scene.js.map +1 -1
  263. package/dist/section-2d-lift.d.ts +10 -2
  264. package/dist/section-2d-lift.d.ts.map +1 -1
  265. package/dist/section-2d-lift.js +14 -6
  266. package/dist/section-2d-lift.js.map +1 -1
  267. package/dist/section-2d-line-buffer.d.ts +12 -4
  268. package/dist/section-2d-line-buffer.d.ts.map +1 -1
  269. package/dist/section-2d-line-buffer.js +59 -33
  270. package/dist/section-2d-line-buffer.js.map +1 -1
  271. package/dist/section-2d-overlay.d.ts +18 -72
  272. package/dist/section-2d-overlay.d.ts.map +1 -1
  273. package/dist/section-2d-overlay.js +72 -103
  274. package/dist/section-2d-overlay.js.map +1 -1
  275. package/dist/section-2d-types.d.ts +38 -0
  276. package/dist/section-2d-types.d.ts.map +1 -0
  277. package/dist/section-2d-types.js +6 -0
  278. package/dist/section-2d-types.js.map +1 -0
  279. package/dist/section-cap-pipelines.d.ts +6 -0
  280. package/dist/section-cap-pipelines.d.ts.map +1 -0
  281. package/dist/section-cap-pipelines.js +87 -0
  282. package/dist/section-cap-pipelines.js.map +1 -0
  283. package/dist/section-plane-geometry.d.ts +24 -0
  284. package/dist/section-plane-geometry.d.ts.map +1 -0
  285. package/dist/section-plane-geometry.js +93 -0
  286. package/dist/section-plane-geometry.js.map +1 -0
  287. package/dist/section-plane.d.ts +23 -24
  288. package/dist/section-plane.d.ts.map +1 -1
  289. package/dist/section-plane.js +58 -174
  290. package/dist/section-plane.js.map +1 -1
  291. package/dist/shaders/ao.wgsl.d.ts +2 -0
  292. package/dist/shaders/ao.wgsl.d.ts.map +1 -0
  293. package/dist/shaders/ao.wgsl.js +234 -0
  294. package/dist/shaders/ao.wgsl.js.map +1 -0
  295. package/dist/shaders/color-transfer.wgsl.d.ts +26 -0
  296. package/dist/shaders/color-transfer.wgsl.d.ts.map +1 -0
  297. package/dist/shaders/color-transfer.wgsl.js +53 -0
  298. package/dist/shaders/color-transfer.wgsl.js.map +1 -0
  299. package/dist/shaders/depth-reconstruct.wgsl.d.ts +16 -0
  300. package/dist/shaders/depth-reconstruct.wgsl.d.ts.map +1 -0
  301. package/dist/shaders/depth-reconstruct.wgsl.js +69 -0
  302. package/dist/shaders/depth-reconstruct.wgsl.js.map +1 -0
  303. package/dist/shaders/main-rte-shadow.wgsl.d.ts +4 -0
  304. package/dist/shaders/main-rte-shadow.wgsl.d.ts.map +1 -0
  305. package/dist/shaders/main-rte-shadow.wgsl.js +54 -0
  306. package/dist/shaders/main-rte-shadow.wgsl.js.map +1 -0
  307. package/dist/shaders/main.wgsl.d.ts +1 -6
  308. package/dist/shaders/main.wgsl.d.ts.map +1 -1
  309. package/dist/shaders/main.wgsl.js +110 -159
  310. package/dist/shaders/main.wgsl.js.map +1 -1
  311. package/dist/shaders/relative-to-eye.wgsl.d.ts +12 -0
  312. package/dist/shaders/relative-to-eye.wgsl.d.ts.map +1 -0
  313. package/dist/shaders/relative-to-eye.wgsl.js +40 -0
  314. package/dist/shaders/relative-to-eye.wgsl.js.map +1 -0
  315. package/dist/shaders/section-2d-overlay.wgsl.d.ts +28 -12
  316. package/dist/shaders/section-2d-overlay.wgsl.d.ts.map +1 -1
  317. package/dist/shaders/section-2d-overlay.wgsl.js +40 -13
  318. package/dist/shaders/section-2d-overlay.wgsl.js.map +1 -1
  319. package/dist/shaders/shadow.wgsl.d.ts +1 -1
  320. package/dist/shaders/shadow.wgsl.d.ts.map +1 -1
  321. package/dist/shaders/shadow.wgsl.js +25 -7
  322. package/dist/shaders/shadow.wgsl.js.map +1 -1
  323. package/dist/shaders/sky.wgsl.d.ts +1 -11
  324. package/dist/shaders/sky.wgsl.d.ts.map +1 -1
  325. package/dist/shaders/sky.wgsl.js +17 -19
  326. package/dist/shaders/sky.wgsl.js.map +1 -1
  327. package/dist/shaders/symbolic-overlay.wgsl.d.ts +2 -9
  328. package/dist/shaders/symbolic-overlay.wgsl.d.ts.map +1 -1
  329. package/dist/shaders/symbolic-overlay.wgsl.js +88 -17
  330. package/dist/shaders/symbolic-overlay.wgsl.js.map +1 -1
  331. package/dist/shaders/textured.wgsl.d.ts.map +1 -1
  332. package/dist/shaders/textured.wgsl.js +11 -9
  333. package/dist/shaders/textured.wgsl.js.map +1 -1
  334. package/dist/shadow-light-matrix.d.ts +7 -0
  335. package/dist/shadow-light-matrix.d.ts.map +1 -1
  336. package/dist/shadow-light-matrix.js +11 -0
  337. package/dist/shadow-light-matrix.js.map +1 -1
  338. package/dist/shadow-occluder-batches.d.ts +10 -0
  339. package/dist/shadow-occluder-batches.d.ts.map +1 -0
  340. package/dist/shadow-occluder-batches.js +39 -0
  341. package/dist/shadow-occluder-batches.js.map +1 -0
  342. package/dist/shadow-occluders.d.ts.map +1 -1
  343. package/dist/shadow-occluders.js +4 -0
  344. package/dist/shadow-occluders.js.map +1 -1
  345. package/dist/shadow-pass.d.ts +5 -51
  346. package/dist/shadow-pass.d.ts.map +1 -1
  347. package/dist/shadow-pass.js +49 -45
  348. package/dist/shadow-pass.js.map +1 -1
  349. package/dist/shadow-types.d.ts +39 -0
  350. package/dist/shadow-types.d.ts.map +1 -0
  351. package/dist/shadow-types.js +15 -0
  352. package/dist/shadow-types.js.map +1 -0
  353. package/dist/symbolic-overlay-geometry.d.ts +7 -0
  354. package/dist/symbolic-overlay-geometry.d.ts.map +1 -0
  355. package/dist/symbolic-overlay-geometry.js +43 -0
  356. package/dist/symbolic-overlay-geometry.js.map +1 -0
  357. package/dist/symbolic-overlay-pipelines.d.ts +24 -36
  358. package/dist/symbolic-overlay-pipelines.d.ts.map +1 -1
  359. package/dist/symbolic-overlay-pipelines.js +175 -182
  360. package/dist/symbolic-overlay-pipelines.js.map +1 -1
  361. package/dist/symbolic-text-atlas.d.ts +21 -0
  362. package/dist/symbolic-text-atlas.d.ts.map +1 -1
  363. package/dist/symbolic-text-atlas.js +29 -1
  364. package/dist/symbolic-text-atlas.js.map +1 -1
  365. package/dist/types.d.ts +20 -26
  366. package/dist/types.d.ts.map +1 -1
  367. package/dist/visual-enhancement.d.ts +23 -1
  368. package/dist/visual-enhancement.d.ts.map +1 -1
  369. package/dist/visual-enhancement.js +38 -12
  370. package/dist/visual-enhancement.js.map +1 -1
  371. package/package.json +3 -3
@@ -0,0 +1,93 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ /** Pure f64 geometry for the section-preview quad. */
5
+ import { planeBasis } from './section-plane-basis.js';
6
+ /**
7
+ * Build the cardinal section-preview quad in source f64 coordinates.
8
+ *
9
+ * The caller subtracts its drawable anchor before it uploads f32 vertices.
10
+ * Keeping this array f64 is essential: an absolute 5,000 km source coordinate
11
+ * has no f32 representation for a centimetre-scale plane displacement.
12
+ */
13
+ export function calculateSectionPlaneVertices(axis, position, bounds, minOverride, maxOverride) {
14
+ const { min, max } = bounds;
15
+ const scale = 1.1;
16
+ const sizeX = (max.x - min.x) * scale;
17
+ const sizeY = (max.y - min.y) * scale;
18
+ const sizeZ = (max.z - min.z) * scale;
19
+ const centerX = (min.x + max.x) / 2;
20
+ const centerY = (min.y + max.y) / 2;
21
+ const centerZ = (min.z + max.z) / 2;
22
+ const t = position / 100;
23
+ const axisName = axis === 'side' ? 'x' : axis === 'down' ? 'y' : 'z';
24
+ const axisMin = minOverride ?? min[axisName];
25
+ const axisMax = maxOverride ?? max[axisName];
26
+ if (axis === 'side') {
27
+ const x = axisMin + t * (axisMax - axisMin);
28
+ const halfY = sizeY / 2;
29
+ const halfZ = sizeZ / 2;
30
+ return new Float64Array([
31
+ x, centerY - halfY, centerZ - halfZ, 0, 0,
32
+ x, centerY + halfY, centerZ - halfZ, 1, 0,
33
+ x, centerY + halfY, centerZ + halfZ, 1, 1,
34
+ x, centerY - halfY, centerZ - halfZ, 0, 0,
35
+ x, centerY + halfY, centerZ + halfZ, 1, 1,
36
+ x, centerY - halfY, centerZ + halfZ, 0, 1,
37
+ ]);
38
+ }
39
+ if (axis === 'down') {
40
+ const y = axisMin + t * (axisMax - axisMin);
41
+ const halfX = sizeX / 2;
42
+ const halfZ = sizeZ / 2;
43
+ return new Float64Array([
44
+ centerX - halfX, y, centerZ - halfZ, 0, 0,
45
+ centerX + halfX, y, centerZ - halfZ, 1, 0,
46
+ centerX + halfX, y, centerZ + halfZ, 1, 1,
47
+ centerX - halfX, y, centerZ - halfZ, 0, 0,
48
+ centerX + halfX, y, centerZ + halfZ, 1, 1,
49
+ centerX - halfX, y, centerZ + halfZ, 0, 1,
50
+ ]);
51
+ }
52
+ const z = axisMin + t * (axisMax - axisMin);
53
+ const halfX = sizeX / 2;
54
+ const halfY = sizeY / 2;
55
+ return new Float64Array([
56
+ centerX - halfX, centerY - halfY, z, 0, 0,
57
+ centerX + halfX, centerY - halfY, z, 1, 0,
58
+ centerX + halfX, centerY + halfY, z, 1, 1,
59
+ centerX - halfX, centerY - halfY, z, 0, 0,
60
+ centerX + halfX, centerY + halfY, z, 1, 1,
61
+ centerX - halfX, centerY + halfY, z, 0, 1,
62
+ ]);
63
+ }
64
+ /** Build a six-vertex preview quad for the f64 plane `dot(p, normal) = distance`. */
65
+ export function calculateSectionPlaneVerticesFromNormal(normal, distance, bounds) {
66
+ let [nx, ny, nz] = normal;
67
+ const length = Math.hypot(nx, ny, nz);
68
+ if (!(length >= 1e-6 && length < Infinity))
69
+ return new Float64Array(30);
70
+ nx /= length;
71
+ ny /= length;
72
+ nz /= length;
73
+ const d = distance / length;
74
+ const { min, max } = bounds;
75
+ const cx = (min.x + max.x) / 2;
76
+ const cy = (min.y + max.y) / 2;
77
+ const cz = (min.z + max.z) / 2;
78
+ const scale = d - (cx * nx + cy * ny + cz * nz);
79
+ const px = cx + nx * scale;
80
+ const py = cy + ny * scale;
81
+ const pz = cz + nz * scale;
82
+ const { tangent, bitangent } = planeBasis([nx, ny, nz]);
83
+ const half = 0.55 * Math.hypot(max.x - min.x, max.y - min.y, max.z - min.z);
84
+ const p0 = [px - tangent[0] * half - bitangent[0] * half, py - tangent[1] * half - bitangent[1] * half, pz - tangent[2] * half - bitangent[2] * half];
85
+ const p1 = [px + tangent[0] * half - bitangent[0] * half, py + tangent[1] * half - bitangent[1] * half, pz + tangent[2] * half - bitangent[2] * half];
86
+ const p2 = [px + tangent[0] * half + bitangent[0] * half, py + tangent[1] * half + bitangent[1] * half, pz + tangent[2] * half + bitangent[2] * half];
87
+ const p3 = [px - tangent[0] * half + bitangent[0] * half, py - tangent[1] * half + bitangent[1] * half, pz - tangent[2] * half + bitangent[2] * half];
88
+ return new Float64Array([
89
+ ...p0, 0, 0, ...p1, 1, 0, ...p2, 1, 1,
90
+ ...p0, 0, 0, ...p2, 1, 1, ...p3, 0, 1,
91
+ ]);
92
+ }
93
+ //# sourceMappingURL=section-plane-geometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-plane-geometry.js","sourceRoot":"","sources":["../src/section-plane-geometry.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,sDAAsD;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAStD;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAsB,EACtB,QAAgB,EAChB,MAA0B,EAC1B,WAAoB,EACpB,WAAoB;IAEpB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC5B,MAAM,KAAK,GAAG,GAAG,CAAC;IAClB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,QAAQ,GAAG,GAAG,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACrE,MAAM,OAAO,GAAG,WAAW,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,YAAY,CAAC;YACtB,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACzC,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACzC,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACzC,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACzC,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACzC,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,YAAY,CAAC;YACtB,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACxB,OAAO,IAAI,YAAY,CAAC;QACtB,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzC,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzC,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzC,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzC,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzC,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,uCAAuC,CACrD,MAAgC,EAChC,QAAgB,EAChB,MAA0B;IAE1B,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,GAAG,QAAQ,CAAC;QAAE,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IACxE,EAAE,IAAI,MAAM,CAAC;IAAC,EAAE,IAAI,MAAM,CAAC;IAAC,EAAE,IAAI,MAAM,CAAC;IACzC,MAAM,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACtJ,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACtJ,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACtJ,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACtJ,OAAO,IAAI,YAAY,CAAC;QACtB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;KACtC,CAAC,CAAC;AACL,CAAC"}
@@ -1,19 +1,28 @@
1
+ import { type RelativeToEyeFrame } from './relative-to-eye.js';
2
+ import { type SectionPlaneAxis, type SectionPlaneBounds } from './section-plane-geometry.js';
3
+ /** Float offsets matching the WGSL `Uniforms` record below. */
4
+ export declare const SECTION_PLANE_UNIFORM_SLOTS: {
5
+ readonly rteViewProj: 0;
6
+ readonly planeColor: 16;
7
+ readonly drawableDelta: number;
8
+ };
9
+ export declare const SECTION_PLANE_UNIFORM_FLOATS: number;
1
10
  export interface SectionPlaneRenderOptions {
2
- axis: 'down' | 'front' | 'side';
11
+ axis: SectionPlaneAxis;
3
12
  position: number;
4
- bounds: {
5
- min: {
6
- x: number;
7
- y: number;
8
- z: number;
9
- };
10
- max: {
11
- x: number;
12
- y: number;
13
- z: number;
14
- };
15
- };
16
- viewProj: Float32Array;
13
+ bounds: SectionPlaneBounds;
14
+ /**
15
+ * The camera-owned translation-free frame. Its f64 camera coordinate is
16
+ * used to form the drawable delta before either value reaches the GPU.
17
+ * When omitted, `viewProj` preserves the legacy absolute-world preview path.
18
+ */
19
+ relativeToEyeFrame?: RelativeToEyeFrame;
20
+ /**
21
+ * Legacy world-space view-projection. Required when `relativeToEyeFrame` is
22
+ * omitted; the resulting f32 preview intentionally has the pre-RTE precision
23
+ * characteristics, while keeping established callers renderable.
24
+ */
25
+ viewProj?: Float32Array;
17
26
  /**
18
27
  * Declared but never read. `SectionPlaneRenderer.render()` never consults
19
28
  * it, so the gizmo quad looks identical either way — this field cannot
@@ -56,16 +65,6 @@ export declare class SectionPlaneRenderer {
56
65
  * Draw section plane into an existing render pass (preferred - avoids MSAA mismatch)
57
66
  */
58
67
  draw(pass: GPURenderPassEncoder, options: SectionPlaneRenderOptions): void;
59
- private calculatePlaneVertices;
60
- /**
61
- * Build a 6-vertex (two-triangle) preview quad for an arbitrary plane
62
- * defined by `dot(p, normal) = distance`. The quad is centred on the
63
- * foot of the perpendicular from the bounds centre, oriented via
64
- * `planeBasis(normal)` (the same basis the cap renderer uses), and
65
- * sized from the bounds' diagonal so it stays visible no matter how
66
- * the plane is tilted relative to the model.
67
- */
68
- private calculatePlaneVerticesFromNormal;
69
68
  /**
70
69
  * Destroy all GPU resources held by this section-plane renderer.
71
70
  * After calling this method the renderer is no longer usable.
@@ -1 +1 @@
1
- {"version":3,"file":"section-plane.d.ts","sourceRoot":"","sources":["../src/section-plane.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QACN,GAAG,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,GAAG,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1C,CAAC;IACF,QAAQ,EAAE,YAAY,CAAC;IACvB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,GAAE,MAAU;IAMhF,OAAO,CAAC,IAAI;IA4MZ;;OAEG;IACH,IAAI,CACF,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,yBAAyB,GACjC,IAAI;IA8DP,OAAO,CAAC,sBAAsB;IAiF9B;;;;;;;OAOG;IACH,OAAO,CAAC,gCAAgC;IA6ExC;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAOhB"}
1
+ {"version":3,"file":"section-plane.d.ts","sourceRoot":"","sources":["../src/section-plane.ts"],"names":[],"mappings":"AASA,OAAO,EAAuC,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAErC,+DAA+D;AAC/D,eAAO,MAAM,2BAA2B;;;;CAI9B,CAAC;AACX,eAAO,MAAM,4BAA4B,QAA2C,CAAC;AAErF,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,kBAAkB,CAAC;IAC3B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,GAAE,MAAU;IAMhF,OAAO,CAAC,IAAI;IA6MZ;;OAEG;IACH,IAAI,CACF,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,yBAAyB,GACjC,IAAI;IAgFP;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAOhB"}
@@ -5,7 +5,16 @@
5
5
  * Section plane renderer - renders a visible plane at the section cut location
6
6
  */
7
7
  import { PIPELINE_CONSTANTS } from './constants.js';
8
- import { planeBasis } from './section-plane-basis.js';
8
+ import { RTE_FRAME_FLOATS, RTE_ORIGIN_FLOATS } from './relative-to-eye.js';
9
+ import { relativeToEyeWgsl } from './shaders/relative-to-eye.wgsl.js';
10
+ import { calculateSectionPlaneVertices, calculateSectionPlaneVerticesFromNormal, } from './section-plane-geometry.js';
11
+ /** Float offsets matching the WGSL `Uniforms` record below. */
12
+ export const SECTION_PLANE_UNIFORM_SLOTS = {
13
+ rteViewProj: 0,
14
+ planeColor: RTE_FRAME_FLOATS,
15
+ drawableDelta: RTE_FRAME_FLOATS + 4,
16
+ };
17
+ export const SECTION_PLANE_UNIFORM_FLOATS = RTE_FRAME_FLOATS + 4 + RTE_ORIGIN_FLOATS;
9
18
  export class SectionPlaneRenderer {
10
19
  device;
11
20
  bindGroupLayout = null; // Shared layout for both pipelines
@@ -41,10 +50,11 @@ export class SectionPlaneRenderer {
41
50
  });
42
51
  // Create shader for section plane rendering
43
52
  const shaderModule = this.device.createShaderModule({
44
- code: `
53
+ code: `${relativeToEyeWgsl}
45
54
  struct Uniforms {
46
- viewProj: mat4x4<f32>,
55
+ rteFrame: RteFrameUniform,
47
56
  planeColor: vec4<f32>,
57
+ drawable: RteDrawableUniform,
48
58
  }
49
59
  @binding(0) @group(0) var<uniform> uniforms: Uniforms;
50
60
 
@@ -56,7 +66,7 @@ export class SectionPlaneRenderer {
56
66
  @vertex
57
67
  fn vs_main(@location(0) position: vec3<f32>, @location(1) uv: vec2<f32>) -> VertexOutput {
58
68
  var output: VertexOutput;
59
- output.position = uniforms.viewProj * vec4<f32>(position, 1.0);
69
+ output.position = uniforms.rteFrame.viewProj * rteWorldPosition(position, uniforms.drawable);
60
70
  output.uv = uv;
61
71
  return output;
62
72
  }
@@ -204,7 +214,7 @@ export class SectionPlaneRenderer {
204
214
  });
205
215
  // Create uniform buffer
206
216
  this.uniformBuffer = this.device.createBuffer({
207
- size: 80, // mat4x4 (64) + vec4 (16) = 80 bytes
217
+ size: SECTION_PLANE_UNIFORM_FLOATS * 4,
208
218
  usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
209
219
  });
210
220
  // Create bind group using explicit layout (compatible with both pipelines)
@@ -224,9 +234,9 @@ export class SectionPlaneRenderer {
224
234
  if (!this.previewPipeline || !this.cutPipeline || !this.vertexBuffer || !this.uniformBuffer || !this.bindGroup) {
225
235
  return;
226
236
  }
227
- const { axis, position, bounds, viewProj, isPreview, min: minOverride, max: maxOverride, normal, distance } = options;
237
+ const { axis, position, bounds, relativeToEyeFrame, viewProj, isPreview, min: minOverride, max: maxOverride, normal, distance } = options;
228
238
  // Only draw section plane in preview mode - hide it during active cutting
229
- if (!isPreview) {
239
+ if (!isPreview || (!relativeToEyeFrame && !viewProj)) {
230
240
  return;
231
241
  }
232
242
  const hasExplicitPlane = normal !== undefined &&
@@ -235,38 +245,61 @@ export class SectionPlaneRenderer {
235
245
  // Calculate plane vertices based on axis and bounds, OR from an
236
246
  // arbitrary normal+distance when face-pick has provided one.
237
247
  const vertices = hasExplicitPlane
238
- ? this.calculatePlaneVerticesFromNormal(normal, distance, bounds)
239
- : this.calculatePlaneVertices(axis, position, bounds, 0, minOverride, maxOverride);
240
- this.device.queue.writeBuffer(this.vertexBuffer, 0, vertices);
248
+ ? calculateSectionPlaneVerticesFromNormal(normal, distance, bounds)
249
+ : calculateSectionPlaneVertices(axis, position, bounds, minOverride, maxOverride);
250
+ const origin = [vertices[0], vertices[1], vertices[2]];
251
+ const vertexData = new Float32Array(vertices.length);
252
+ if (relativeToEyeFrame) {
253
+ for (let i = 0; i < vertices.length; i += 5) {
254
+ vertexData[i] = vertices[i] - origin[0];
255
+ vertexData[i + 1] = vertices[i + 1] - origin[1];
256
+ vertexData[i + 2] = vertices[i + 2] - origin[2];
257
+ vertexData[i + 3] = vertices[i + 3];
258
+ vertexData[i + 4] = vertices[i + 4];
259
+ }
260
+ }
261
+ else {
262
+ // The pre-RTE API supplied a world-space viewProj and world-space f32
263
+ // vertices. Keep that contract for callers that have not adopted a
264
+ // camera frame; new renderer paths always take the branch above.
265
+ vertexData.set(vertices);
266
+ }
267
+ this.device.queue.writeBuffer(this.vertexBuffer, 0, vertexData);
241
268
  // Update uniforms
242
- const uniforms = new Float32Array(20);
243
- uniforms.set(viewProj, 0);
269
+ const uniforms = new Float32Array(SECTION_PLANE_UNIFORM_FLOATS);
270
+ if (relativeToEyeFrame) {
271
+ relativeToEyeFrame.packUniforms(uniforms, SECTION_PLANE_UNIFORM_SLOTS.rteViewProj);
272
+ relativeToEyeFrame.packDrawableOrigin(origin, uniforms, SECTION_PLANE_UNIFORM_SLOTS.drawableDelta);
273
+ }
274
+ else {
275
+ uniforms.set(viewProj, SECTION_PLANE_UNIFORM_SLOTS.rteViewProj);
276
+ }
244
277
  // Axis-specific colors for better identification.
245
278
  // down (Y) = light blue, front (Z) = green, side (X) = orange.
246
279
  // Custom (face-picked) planes pick up a violet that won't be confused
247
280
  // with any cardinal preset.
248
281
  if (hasExplicitPlane) {
249
- uniforms[16] = 0.612; // R - #9C6BDE (violet)
250
- uniforms[17] = 0.420; // G
251
- uniforms[18] = 0.871; // B
282
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor] = 0.612; // R - #9C6BDE (violet)
283
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor + 1] = 0.420;
284
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor + 2] = 0.871;
252
285
  }
253
286
  else if (axis === 'down') {
254
- uniforms[16] = 0.012; // R - #03A9F4
255
- uniforms[17] = 0.663; // G
256
- uniforms[18] = 0.957; // B
287
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor] = 0.012; // R - #03A9F4
288
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor + 1] = 0.663; // G
289
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor + 2] = 0.957; // B
257
290
  }
258
291
  else if (axis === 'front') {
259
- uniforms[16] = 0.298; // R - #4CAF50
260
- uniforms[17] = 0.686; // G
261
- uniforms[18] = 0.314; // B
292
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor] = 0.298; // R - #4CAF50
293
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor + 1] = 0.686; // G
294
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor + 2] = 0.314; // B
262
295
  }
263
296
  else {
264
- uniforms[16] = 1.0; // R - #FF9800
265
- uniforms[17] = 0.596; // G
266
- uniforms[18] = 0.0; // B
297
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor] = 1.0; // R - #FF9800
298
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor + 1] = 0.596; // G
299
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor + 2] = 0.0; // B
267
300
  }
268
301
  // Preview mode opacity
269
- uniforms[19] = 0.25;
302
+ uniforms[SECTION_PLANE_UNIFORM_SLOTS.planeColor + 3] = 0.25;
270
303
  this.device.queue.writeBuffer(this.uniformBuffer, 0, uniforms);
271
304
  // Draw section plane with preview pipeline (respects depth)
272
305
  pass.setPipeline(this.previewPipeline);
@@ -274,155 +307,6 @@ export class SectionPlaneRenderer {
274
307
  pass.setVertexBuffer(0, this.vertexBuffer);
275
308
  pass.draw(6); // 2 triangles
276
309
  }
277
- calculatePlaneVertices(axis, position, bounds, inset = 0, // 0 = full size, 0.15 = 15% smaller on each side
278
- minOverride, maxOverride) {
279
- const { min, max } = bounds;
280
- // Calculate base size with 10% padding for preview
281
- const basePadding = 0.1;
282
- const effectiveScale = (1 + basePadding) * (1 - inset * 2);
283
- const sizeX = (max.x - min.x) * effectiveScale;
284
- const sizeY = (max.y - min.y) * effectiveScale;
285
- const sizeZ = (max.z - min.z) * effectiveScale;
286
- const centerX = (min.x + max.x) / 2;
287
- const centerY = (min.y + max.y) / 2;
288
- const centerZ = (min.z + max.z) / 2;
289
- // Calculate the plane position along the axis
290
- const t = position / 100;
291
- const axisIdx = axis === 'side' ? 'x' : axis === 'down' ? 'y' : 'z';
292
- const axisMin = minOverride ?? min[axisIdx];
293
- const axisMax = maxOverride ?? max[axisIdx];
294
- let vertices = [];
295
- if (axis === 'side') {
296
- // Side = X axis (YZ plane)
297
- const x = axisMin + t * (axisMax - axisMin);
298
- const halfY = sizeY / 2;
299
- const halfZ = sizeZ / 2;
300
- // Quad facing X axis (vertices in YZ plane)
301
- vertices = [
302
- // Triangle 1
303
- x, centerY - halfY, centerZ - halfZ, 0, 0,
304
- x, centerY + halfY, centerZ - halfZ, 1, 0,
305
- x, centerY + halfY, centerZ + halfZ, 1, 1,
306
- // Triangle 2
307
- x, centerY - halfY, centerZ - halfZ, 0, 0,
308
- x, centerY + halfY, centerZ + halfZ, 1, 1,
309
- x, centerY - halfY, centerZ + halfZ, 0, 1,
310
- ];
311
- }
312
- else if (axis === 'down') {
313
- // Down = Y axis (XZ plane) - horizontal cut
314
- const y = axisMin + t * (axisMax - axisMin);
315
- const halfX = sizeX / 2;
316
- const halfZ = sizeZ / 2;
317
- // Quad facing Y axis (vertices in XZ plane)
318
- vertices = [
319
- // Triangle 1
320
- centerX - halfX, y, centerZ - halfZ, 0, 0,
321
- centerX + halfX, y, centerZ - halfZ, 1, 0,
322
- centerX + halfX, y, centerZ + halfZ, 1, 1,
323
- // Triangle 2
324
- centerX - halfX, y, centerZ - halfZ, 0, 0,
325
- centerX + halfX, y, centerZ + halfZ, 1, 1,
326
- centerX - halfX, y, centerZ + halfZ, 0, 1,
327
- ];
328
- }
329
- else {
330
- // Front = Z axis (XY plane)
331
- const z = axisMin + t * (axisMax - axisMin);
332
- const halfX = sizeX / 2;
333
- const halfY = sizeY / 2;
334
- // Quad facing Z axis (vertices in XY plane)
335
- vertices = [
336
- // Triangle 1
337
- centerX - halfX, centerY - halfY, z, 0, 0,
338
- centerX + halfX, centerY - halfY, z, 1, 0,
339
- centerX + halfX, centerY + halfY, z, 1, 1,
340
- // Triangle 2
341
- centerX - halfX, centerY - halfY, z, 0, 0,
342
- centerX + halfX, centerY + halfY, z, 1, 1,
343
- centerX - halfX, centerY + halfY, z, 0, 1,
344
- ];
345
- }
346
- return new Float32Array(vertices);
347
- }
348
- /**
349
- * Build a 6-vertex (two-triangle) preview quad for an arbitrary plane
350
- * defined by `dot(p, normal) = distance`. The quad is centred on the
351
- * foot of the perpendicular from the bounds centre, oriented via
352
- * `planeBasis(normal)` (the same basis the cap renderer uses), and
353
- * sized from the bounds' diagonal so it stays visible no matter how
354
- * the plane is tilted relative to the model.
355
- */
356
- calculatePlaneVerticesFromNormal(normal, distance, bounds) {
357
- const { min, max } = bounds;
358
- // Defensive renormalisation: callers may pass mesh face normals that
359
- // have drifted from unit length by quantisation.
360
- let nx = normal[0];
361
- let ny = normal[1];
362
- let nz = normal[2];
363
- const nlen = Math.hypot(nx, ny, nz);
364
- if (!(nlen >= 1e-6 && nlen < Infinity)) {
365
- // Degenerate; emit a zeroed buffer so nothing is drawn rather than
366
- // poisoning the GPU with NaN positions.
367
- //
368
- // The finiteness half is not decoration (#2489): `nlen < 1e-6` was
369
- // false for BOTH a NaN length and an infinite one, so a non-finite
370
- // component fell straight through to `nx /= nlen` and made every
371
- // vertex below NaN. #2442 closed that input for the clip uniform, but
372
- // it resolves `RenderOptions.sectionPlane` and the gizmo does not —
373
- // `drawSectionOverlays` hands this method the raw, unresolved
374
- // `options.sectionPlane.normal`, so this is the second consumer of the
375
- // same public field and it needs its own guard.
376
- return new Float32Array(30);
377
- }
378
- nx /= nlen;
379
- ny /= nlen;
380
- nz /= nlen;
381
- const d = distance / nlen;
382
- // Foot of the perpendicular from the bounds centre to the plane —
383
- // anchors the gizmo near the model even when the plane equation
384
- // would otherwise place the origin foot far away.
385
- const cx = (min.x + max.x) / 2;
386
- const cy = (min.y + max.y) / 2;
387
- const cz = (min.z + max.z) / 2;
388
- const s = d - (cx * nx + cy * ny + cz * nz);
389
- const px = cx + nx * s;
390
- const py = cy + ny * s;
391
- const pz = cz + nz * s;
392
- // In-plane basis from the shared helper — the cap renderer uses the
393
- // same one, so the gizmo grid aligns with the cap hatch axes.
394
- const { tangent, bitangent } = planeBasis([nx, ny, nz]);
395
- const ux = tangent[0], uy = tangent[1], uz = tangent[2];
396
- const vx = bitangent[0], vy = bitangent[1], vz = bitangent[2];
397
- // 10% padding past the bounds diagonal — same visual scale as the
398
- // cardinal-axis quad's `(1 + basePadding)` factor.
399
- const dx = max.x - min.x;
400
- const dy = max.y - min.y;
401
- const dz = max.z - min.z;
402
- const half = 0.55 * Math.hypot(dx, dy, dz);
403
- const p0x = px - ux * half - vx * half;
404
- const p0y = py - uy * half - vy * half;
405
- const p0z = pz - uz * half - vz * half;
406
- const p1x = px + ux * half - vx * half;
407
- const p1y = py + uy * half - vy * half;
408
- const p1z = pz + uz * half - vz * half;
409
- const p2x = px + ux * half + vx * half;
410
- const p2y = py + uy * half + vy * half;
411
- const p2z = pz + uz * half + vz * half;
412
- const p3x = px - ux * half + vx * half;
413
- const p3y = py - uy * half + vy * half;
414
- const p3z = pz - uz * half + vz * half;
415
- return new Float32Array([
416
- // Triangle 1
417
- p0x, p0y, p0z, 0, 0,
418
- p1x, p1y, p1z, 1, 0,
419
- p2x, p2y, p2z, 1, 1,
420
- // Triangle 2
421
- p0x, p0y, p0z, 0, 0,
422
- p2x, p2y, p2z, 1, 1,
423
- p3x, p3y, p3z, 0, 1,
424
- ]);
425
- }
426
310
  /**
427
311
  * Destroy all GPU resources held by this section-plane renderer.
428
312
  * After calling this method the renderer is no longer usable.
@@ -1 +1 @@
1
- {"version":3,"file":"section-plane.js","sourceRoot":"","sources":["../src/section-plane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"section-plane.js","sourceRoot":"","sources":["../src/section-plane.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACL,6BAA6B,EAC7B,uCAAuC,GAGxC,MAAM,6BAA6B,CAAC;AAErC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,gBAAgB,GAAG,CAAC;CAC3B,CAAC;AACX,MAAM,CAAC,MAAM,4BAA4B,GAAG,gBAAgB,GAAG,CAAC,GAAG,iBAAiB,CAAC;AA4CrF,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAY;IAClB,eAAe,GAA8B,IAAI,CAAC,CAAE,mCAAmC;IACvF,eAAe,GAA6B,IAAI,CAAC,CAAG,sCAAsC;IAC1F,WAAW,GAA6B,IAAI,CAAC,CAAO,iCAAiC;IACrF,YAAY,GAAqB,IAAI,CAAC;IACtC,aAAa,GAAqB,IAAI,CAAC;IACvC,SAAS,GAAwB,IAAI,CAAC;IACtC,MAAM,CAAmB;IACzB,WAAW,CAAS;IACpB,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,MAAiB,EAAE,MAAwB,EAAE,cAAsB,CAAC;QAC9E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEO,IAAI;QACV,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,oEAAoE;QACpE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACvD,OAAO,EAAE;gBACP;oBACE,OAAO,EAAE,CAAC;oBACV,UAAU,EAAE,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ;oBAC3D,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC5B;aACF;SACF,CAAC,CAAC;QAEH,4DAA4D;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;YACtD,gBAAgB,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;SACzC,CAAC,CAAC;QAEH,4CAA4C;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAClD,IAAI,EAAE,GAAG,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiFzB;SACF,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,YAAY,GAAG;YACnB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE;gBACN,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE;oBACP;wBACE,WAAW,EAAE,EAAE,EAAE,+BAA+B;wBAChD,UAAU,EAAE;4BACV,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAoB,EAAE;4BAC9D,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAoB,EAAE;yBAChE;qBACF;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE,SAAS;gBACrB,iEAAiE;gBACjE,iEAAiE;gBACjE,kEAAkE;gBAClE,8DAA8D;gBAC9D,+DAA+D;gBAC/D,+DAA+D;gBAC/D,0DAA0D;gBAC1D,+DAA+D;gBAC/D,8DAA8D;gBAC9D,oBAAoB;gBACpB,OAAO,EAAE;oBACP;wBACE,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,KAAK,EAAE;4BACL,KAAK,EAAE;gCACL,SAAS,EAAE,WAAoB;gCAC/B,SAAS,EAAE,qBAA8B;gCACzC,SAAS,EAAE,KAAc;6BAC1B;4BACD,KAAK,EAAE;gCACL,SAAS,EAAE,KAAc;gCACzB,SAAS,EAAE,qBAA8B;gCACzC,SAAS,EAAE,KAAc;6BAC1B;yBACF;qBACF;oBACD,EAAE,MAAM,EAAE,YAAqB,EAAE,SAAS,EAAE,CAAC,EAAE;iBAChD;aACF;YACD,SAAS,EAAE;gBACT,QAAQ,EAAE,eAAwB;gBAClC,QAAQ,EAAE,MAAe;aAC1B;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,WAAW;aACxB;SACF,CAAC;QAEF,iFAAiF;QACjF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;YACtD,GAAG,YAAY;YACf,YAAY,EAAE;gBACZ,MAAM,EAAE,kBAAkB,CAAC,YAAY;gBACvC,iBAAiB,EAAE,KAAK;gBACxB,YAAY,EAAE,SAAS,EAAG,yDAAyD;aACpF;SACF,CAAC,CAAC;QAEH,wDAAwD;QACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;YAClD,GAAG,YAAY;YACf,YAAY,EAAE;gBACZ,MAAM,EAAE,kBAAkB,CAAC,YAAY;gBACvC,iBAAiB,EAAE,KAAK;gBACxB,YAAY,EAAE,QAAQ,EAAG,qBAAqB;aAC/C;SACF,CAAC,CAAC;QAEH,oDAAoD;QACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC3C,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,kCAAkC;YACnD,KAAK,EAAE,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ;SACvD,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC5C,IAAI,EAAE,4BAA4B,GAAG,CAAC;YACtC,KAAK,EAAE,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ;SACxD,CAAC,CAAC;QAEH,2EAA2E;QAC3E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAC3C,MAAM,EAAE,IAAI,CAAC,eAAe;YAC5B,OAAO,EAAE;gBACP,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE;aACzD;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,CACF,IAA0B,EAC1B,OAAkC;QAElC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/G,OAAO;QACT,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAE1I,0EAA0E;QAC1E,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,kBAAkB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GACpB,MAAM,KAAK,SAAS;YACpB,QAAQ,KAAK,SAAS;YACtB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE5B,gEAAgE;QAChE,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,gBAAgB;YAC/B,CAAC,CAAC,uCAAuC,CAAC,MAAO,EAAE,QAAS,EAAE,MAAM,CAAC;YACrE,CAAC,CAAC,6BAA6B,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACpF,MAAM,MAAM,GAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1I,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,mEAAmE;YACnE,iEAAiE;YACjE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAEhE,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,4BAA4B,CAAC,CAAC;QAChE,IAAI,kBAAkB,EAAE,CAAC;YACvB,kBAAkB,CAAC,YAAY,CAAC,QAAQ,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;YACnF,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,2BAA2B,CAAC,aAAa,CAAC,CAAC;QACrG,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,QAAS,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;QACnE,CAAC;QAED,kDAAkD;QAClD,+DAA+D;QAC/D,sEAAsE;QACtE,4BAA4B;QAC5B,IAAI,gBAAgB,EAAE,CAAC;YACrB,QAAQ,CAAC,2BAA2B,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,uBAAuB;YACjF,QAAQ,CAAC,2BAA2B,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAC7D,QAAQ,CAAC,2BAA2B,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC/D,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,QAAQ,CAAC,2BAA2B,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,cAAc;YACxE,QAAQ,CAAC,2BAA2B,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI;YAClE,QAAQ,CAAC,2BAA2B,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI;QACpE,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,QAAQ,CAAC,2BAA2B,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,cAAc;YACxE,QAAQ,CAAC,2BAA2B,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI;YAClE,QAAQ,CAAC,2BAA2B,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI;QACpE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,2BAA2B,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAG,cAAc;YACxE,QAAQ,CAAC,2BAA2B,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI;YAClE,QAAQ,CAAC,2BAA2B,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAG,IAAI;QACpE,CAAC;QACD,uBAAuB;QACvB,QAAQ,CAAC,2BAA2B,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAE/D,4DAA4D;QAC5D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAgB,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc;IAC9B,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export declare function aoShaderSource(multisampled: boolean): string;
2
+ //# sourceMappingURL=ao.wgsl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ao.wgsl.d.ts","sourceRoot":"","sources":["../../src/shaders/ao.wgsl.ts"],"names":[],"mappings":"AA0BA,wBAAgB,cAAc,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,CAgN5D"}