@ifc-lite/renderer 3.1.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 (429) hide show
  1. package/README.md +22 -0
  2. package/dist/aabb-edges.d.ts +10 -0
  3. package/dist/aabb-edges.d.ts.map +1 -1
  4. package/dist/aabb-edges.js +13 -0
  5. package/dist/aabb-edges.js.map +1 -1
  6. package/dist/ao-params.d.ts +85 -0
  7. package/dist/ao-params.d.ts.map +1 -0
  8. package/dist/ao-params.js +109 -0
  9. package/dist/ao-params.js.map +1 -0
  10. package/dist/ao-pass.d.ts +47 -0
  11. package/dist/ao-pass.d.ts.map +1 -0
  12. package/dist/ao-pass.js +157 -0
  13. package/dist/ao-pass.js.map +1 -0
  14. package/dist/appearance-preview.d.ts +2 -0
  15. package/dist/appearance-preview.d.ts.map +1 -1
  16. package/dist/appearance-preview.js +4 -0
  17. package/dist/appearance-preview.js.map +1 -1
  18. package/dist/camera-animation-immediate.d.ts +5 -0
  19. package/dist/camera-animation-immediate.d.ts.map +1 -0
  20. package/dist/camera-animation-immediate.js +16 -0
  21. package/dist/camera-animation-immediate.js.map +1 -0
  22. package/dist/camera-animation.d.ts +3 -9
  23. package/dist/camera-animation.d.ts.map +1 -1
  24. package/dist/camera-animation.js +14 -9
  25. package/dist/camera-animation.js.map +1 -1
  26. package/dist/camera-matrices.d.ts +3 -0
  27. package/dist/camera-matrices.d.ts.map +1 -1
  28. package/dist/camera-matrices.js +12 -1
  29. package/dist/camera-matrices.js.map +1 -1
  30. package/dist/camera-orientation.d.ts +62 -0
  31. package/dist/camera-orientation.d.ts.map +1 -0
  32. package/dist/camera-orientation.js +155 -0
  33. package/dist/camera-orientation.js.map +1 -0
  34. package/dist/camera-projection.d.ts +3 -1
  35. package/dist/camera-projection.d.ts.map +1 -1
  36. package/dist/camera-projection.js +26 -20
  37. package/dist/camera-projection.js.map +1 -1
  38. package/dist/camera-surface-zoom.d.ts +32 -0
  39. package/dist/camera-surface-zoom.d.ts.map +1 -0
  40. package/dist/camera-surface-zoom.js +37 -0
  41. package/dist/camera-surface-zoom.js.map +1 -0
  42. package/dist/camera.d.ts +32 -61
  43. package/dist/camera.d.ts.map +1 -1
  44. package/dist/camera.js +71 -167
  45. package/dist/camera.js.map +1 -1
  46. package/dist/clash-solid-pipeline.d.ts +9 -3
  47. package/dist/clash-solid-pipeline.d.ts.map +1 -1
  48. package/dist/clash-solid-pipeline.js +31 -8
  49. package/dist/clash-solid-pipeline.js.map +1 -1
  50. package/dist/constants.d.ts +1 -1
  51. package/dist/constants.d.ts.map +1 -1
  52. package/dist/constants.js +4 -3
  53. package/dist/constants.js.map +1 -1
  54. package/dist/depth-reconstruct.d.ts +43 -0
  55. package/dist/depth-reconstruct.d.ts.map +1 -0
  56. package/dist/depth-reconstruct.js +35 -0
  57. package/dist/depth-reconstruct.js.map +1 -0
  58. package/dist/device-recovery.d.ts +60 -0
  59. package/dist/device-recovery.d.ts.map +1 -0
  60. package/dist/device-recovery.js +153 -0
  61. package/dist/device-recovery.js.map +1 -0
  62. package/dist/device.d.ts +2 -0
  63. package/dist/device.d.ts.map +1 -1
  64. package/dist/device.js +13 -1
  65. package/dist/device.js.map +1 -1
  66. package/dist/environment.d.ts +26 -15
  67. package/dist/environment.d.ts.map +1 -1
  68. package/dist/environment.js +24 -13
  69. package/dist/environment.js.map +1 -1
  70. package/dist/federation-registry.d.ts +16 -0
  71. package/dist/federation-registry.d.ts.map +1 -1
  72. package/dist/federation-registry.js +80 -9
  73. package/dist/federation-registry.js.map +1 -1
  74. package/dist/gpu-static-upload.d.ts +39 -0
  75. package/dist/gpu-static-upload.d.ts.map +1 -0
  76. package/dist/gpu-static-upload.js +70 -0
  77. package/dist/gpu-static-upload.js.map +1 -0
  78. package/dist/gpu-upload-guard.d.ts +95 -0
  79. package/dist/gpu-upload-guard.d.ts.map +1 -0
  80. package/dist/gpu-upload-guard.js +88 -0
  81. package/dist/gpu-upload-guard.js.map +1 -0
  82. package/dist/index.d.ts +71 -41
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +340 -375
  85. package/dist/index.js.map +1 -1
  86. package/dist/instanced-override-color.d.ts +8 -0
  87. package/dist/instanced-override-color.d.ts.map +1 -1
  88. package/dist/instanced-override-color.js +10 -0
  89. package/dist/instanced-override-color.js.map +1 -1
  90. package/dist/instanced-render.d.ts +22 -2
  91. package/dist/instanced-render.d.ts.map +1 -1
  92. package/dist/instanced-render.js +47 -10
  93. package/dist/instanced-render.js.map +1 -1
  94. package/dist/instanced-rte.d.ts +17 -0
  95. package/dist/instanced-rte.d.ts.map +1 -0
  96. package/dist/instanced-rte.js +32 -0
  97. package/dist/instanced-rte.js.map +1 -0
  98. package/dist/merged-mesh-extract.d.ts.map +1 -1
  99. package/dist/merged-mesh-extract.js +5 -0
  100. package/dist/merged-mesh-extract.js.map +1 -1
  101. package/dist/mesh-rte-uniforms.d.ts +46 -0
  102. package/dist/mesh-rte-uniforms.d.ts.map +1 -0
  103. package/dist/mesh-rte-uniforms.js +59 -0
  104. package/dist/mesh-rte-uniforms.js.map +1 -0
  105. package/dist/model-bounds-tracker.d.ts +7 -0
  106. package/dist/model-bounds-tracker.d.ts.map +1 -1
  107. package/dist/model-bounds-tracker.js +16 -5
  108. package/dist/model-bounds-tracker.js.map +1 -1
  109. package/dist/model-translation.d.ts +40 -2
  110. package/dist/model-translation.d.ts.map +1 -1
  111. package/dist/model-translation.js +152 -17
  112. package/dist/model-translation.js.map +1 -1
  113. package/dist/pick-rte-snapshot.d.ts +7 -0
  114. package/dist/pick-rte-snapshot.d.ts.map +1 -0
  115. package/dist/pick-rte-snapshot.js +15 -0
  116. package/dist/pick-rte-snapshot.js.map +1 -0
  117. package/dist/pick-types.d.ts +17 -0
  118. package/dist/pick-types.d.ts.map +1 -0
  119. package/dist/pick-types.js +5 -0
  120. package/dist/pick-types.js.map +1 -0
  121. package/dist/pick-uniforms.d.ts +6 -0
  122. package/dist/pick-uniforms.d.ts.map +1 -1
  123. package/dist/pick-uniforms.js +22 -18
  124. package/dist/pick-uniforms.js.map +1 -1
  125. package/dist/pick-world-position.d.ts +18 -0
  126. package/dist/pick-world-position.d.ts.map +1 -0
  127. package/dist/pick-world-position.js +21 -0
  128. package/dist/pick-world-position.js.map +1 -0
  129. package/dist/picker-readbacks.d.ts +6 -0
  130. package/dist/picker-readbacks.d.ts.map +1 -0
  131. package/dist/picker-readbacks.js +20 -0
  132. package/dist/picker-readbacks.js.map +1 -0
  133. package/dist/picker-rte-uniforms.d.ts +6 -0
  134. package/dist/picker-rte-uniforms.d.ts.map +1 -0
  135. package/dist/picker-rte-uniforms.js +41 -0
  136. package/dist/picker-rte-uniforms.js.map +1 -0
  137. package/dist/picker.d.ts +6 -7
  138. package/dist/picker.d.ts.map +1 -1
  139. package/dist/picker.js +88 -115
  140. package/dist/picker.js.map +1 -1
  141. package/dist/picking-manager.d.ts +10 -1
  142. package/dist/picking-manager.d.ts.map +1 -1
  143. package/dist/picking-manager.js +57 -21
  144. package/dist/picking-manager.js.map +1 -1
  145. package/dist/pipeline.d.ts +1 -7
  146. package/dist/pipeline.d.ts.map +1 -1
  147. package/dist/pipeline.js +17 -20
  148. package/dist/pipeline.js.map +1 -1
  149. package/dist/point-picker.d.ts +5 -1
  150. package/dist/point-picker.d.ts.map +1 -1
  151. package/dist/point-picker.js +49 -9
  152. package/dist/point-picker.js.map +1 -1
  153. package/dist/pointcloud/point-cloud-handle-ids.d.ts +22 -0
  154. package/dist/pointcloud/point-cloud-handle-ids.d.ts.map +1 -0
  155. package/dist/pointcloud/point-cloud-handle-ids.js +31 -0
  156. package/dist/pointcloud/point-cloud-handle-ids.js.map +1 -0
  157. package/dist/pointcloud/point-cloud-node.d.ts +14 -6
  158. package/dist/pointcloud/point-cloud-node.d.ts.map +1 -1
  159. package/dist/pointcloud/point-cloud-node.js.map +1 -1
  160. package/dist/pointcloud/point-cloud-pick-sources.d.ts +47 -0
  161. package/dist/pointcloud/point-cloud-pick-sources.d.ts.map +1 -0
  162. package/dist/pointcloud/point-cloud-pick-sources.js +32 -0
  163. package/dist/pointcloud/point-cloud-pick-sources.js.map +1 -0
  164. package/dist/pointcloud/point-cloud-placement.d.ts.map +1 -1
  165. package/dist/pointcloud/point-cloud-placement.js +20 -5
  166. package/dist/pointcloud/point-cloud-placement.js.map +1 -1
  167. package/dist/pointcloud/point-cloud-ray-transform.d.ts +78 -4
  168. package/dist/pointcloud/point-cloud-ray-transform.d.ts.map +1 -1
  169. package/dist/pointcloud/point-cloud-ray-transform.js +31 -84
  170. package/dist/pointcloud/point-cloud-ray-transform.js.map +1 -1
  171. package/dist/pointcloud/point-cloud-renderer.d.ts +21 -19
  172. package/dist/pointcloud/point-cloud-renderer.d.ts.map +1 -1
  173. package/dist/pointcloud/point-cloud-renderer.js +46 -52
  174. package/dist/pointcloud/point-cloud-renderer.js.map +1 -1
  175. package/dist/pointcloud/point-cloud-stream-lifecycle.d.ts +44 -0
  176. package/dist/pointcloud/point-cloud-stream-lifecycle.d.ts.map +1 -0
  177. package/dist/pointcloud/point-cloud-stream-lifecycle.js +44 -0
  178. package/dist/pointcloud/point-cloud-stream-lifecycle.js.map +1 -0
  179. package/dist/pointcloud/point-cloud-uniforms.d.ts +5 -0
  180. package/dist/pointcloud/point-cloud-uniforms.d.ts.map +1 -1
  181. package/dist/pointcloud/point-cloud-uniforms.js +55 -44
  182. package/dist/pointcloud/point-cloud-uniforms.js.map +1 -1
  183. package/dist/pointcloud/point-cloud-visibility.d.ts +10 -0
  184. package/dist/pointcloud/point-cloud-visibility.d.ts.map +1 -0
  185. package/dist/pointcloud/point-cloud-visibility.js +18 -0
  186. package/dist/pointcloud/point-cloud-visibility.js.map +1 -0
  187. package/dist/pointcloud/point-pipeline.d.ts +4 -9
  188. package/dist/pointcloud/point-pipeline.d.ts.map +1 -1
  189. package/dist/pointcloud/point-pipeline.js +4 -9
  190. package/dist/pointcloud/point-pipeline.js.map +1 -1
  191. package/dist/pointcloud/point-shader.wgsl.d.ts +1 -21
  192. package/dist/pointcloud/point-shader.wgsl.d.ts.map +1 -1
  193. package/dist/pointcloud/point-shader.wgsl.js +25 -5
  194. package/dist/pointcloud/point-shader.wgsl.js.map +1 -1
  195. package/dist/post-pass-chain.d.ts +38 -0
  196. package/dist/post-pass-chain.d.ts.map +1 -0
  197. package/dist/post-pass-chain.js +99 -0
  198. package/dist/post-pass-chain.js.map +1 -0
  199. package/dist/post-processor.d.ts +12 -26
  200. package/dist/post-processor.d.ts.map +1 -1
  201. package/dist/post-processor.js +14 -72
  202. package/dist/post-processor.js.map +1 -1
  203. package/dist/raycast-engine.d.ts +7 -5
  204. package/dist/raycast-engine.d.ts.map +1 -1
  205. package/dist/raycast-engine.js +17 -20
  206. package/dist/raycast-engine.js.map +1 -1
  207. package/dist/raycast-point-cloud-query.d.ts +1 -1
  208. package/dist/raycast-point-cloud-query.d.ts.map +1 -1
  209. package/dist/reference-image-pipeline.d.ts +1 -1
  210. package/dist/reference-image-pipeline.d.ts.map +1 -1
  211. package/dist/reference-image-pipeline.js +25 -7
  212. package/dist/reference-image-pipeline.js.map +1 -1
  213. package/dist/reference-images.d.ts +3 -1
  214. package/dist/reference-images.d.ts.map +1 -1
  215. package/dist/reference-images.js +15 -5
  216. package/dist/reference-images.js.map +1 -1
  217. package/dist/relative-to-eye.d.ts +146 -0
  218. package/dist/relative-to-eye.d.ts.map +1 -0
  219. package/dist/relative-to-eye.js +326 -0
  220. package/dist/relative-to-eye.js.map +1 -0
  221. package/dist/render-section-draw.d.ts +11 -0
  222. package/dist/render-section-draw.d.ts.map +1 -1
  223. package/dist/render-section-draw.js +6 -3
  224. package/dist/render-section-draw.js.map +1 -1
  225. package/dist/renderer-color-readback.d.ts +50 -0
  226. package/dist/renderer-color-readback.d.ts.map +1 -0
  227. package/dist/renderer-color-readback.js +145 -0
  228. package/dist/renderer-color-readback.js.map +1 -0
  229. package/dist/renderer-overlays.d.ts +15 -3
  230. package/dist/renderer-overlays.d.ts.map +1 -1
  231. package/dist/renderer-overlays.js +46 -20
  232. package/dist/renderer-overlays.js.map +1 -1
  233. package/dist/renderer-screenshot.d.ts +4 -0
  234. package/dist/renderer-screenshot.d.ts.map +1 -0
  235. package/dist/renderer-screenshot.js +17 -0
  236. package/dist/renderer-screenshot.js.map +1 -0
  237. package/dist/renderer-symbolic-overlays.d.ts +5 -2
  238. package/dist/renderer-symbolic-overlays.d.ts.map +1 -1
  239. package/dist/renderer-symbolic-overlays.js +36 -13
  240. package/dist/renderer-symbolic-overlays.js.map +1 -1
  241. package/dist/renderer-viewport.d.ts +45 -0
  242. package/dist/renderer-viewport.d.ts.map +1 -1
  243. package/dist/renderer-viewport.js +44 -0
  244. package/dist/renderer-viewport.js.map +1 -1
  245. package/dist/rte-clip-space.d.ts +12 -0
  246. package/dist/rte-clip-space.d.ts.map +1 -0
  247. package/dist/rte-clip-space.js +22 -0
  248. package/dist/rte-clip-space.js.map +1 -0
  249. package/dist/rte-frustum.d.ts +24 -0
  250. package/dist/rte-frustum.d.ts.map +1 -0
  251. package/dist/rte-frustum.js +45 -0
  252. package/dist/rte-frustum.js.map +1 -0
  253. package/dist/scene-appearance-preview.d.ts +2 -0
  254. package/dist/scene-appearance-preview.d.ts.map +1 -1
  255. package/dist/scene-appearance-preview.js +9 -0
  256. package/dist/scene-appearance-preview.js.map +1 -1
  257. package/dist/scene-authored-owner.d.ts +10 -0
  258. package/dist/scene-authored-owner.d.ts.map +1 -1
  259. package/dist/scene-authored-owner.js +44 -5
  260. package/dist/scene-authored-owner.js.map +1 -1
  261. package/dist/scene-batch-rebuild.d.ts +18 -0
  262. package/dist/scene-batch-rebuild.d.ts.map +1 -0
  263. package/dist/scene-batch-rebuild.js +49 -0
  264. package/dist/scene-batch-rebuild.js.map +1 -0
  265. package/dist/scene-batch-upload.d.ts +4 -1
  266. package/dist/scene-batch-upload.d.ts.map +1 -1
  267. package/dist/scene-batch-upload.js +31 -38
  268. package/dist/scene-batch-upload.js.map +1 -1
  269. package/dist/scene-bucket-routing.d.ts +21 -0
  270. package/dist/scene-bucket-routing.d.ts.map +1 -0
  271. package/dist/scene-bucket-routing.js +44 -0
  272. package/dist/scene-bucket-routing.js.map +1 -0
  273. package/dist/scene-contents.d.ts +8 -0
  274. package/dist/scene-contents.d.ts.map +1 -1
  275. package/dist/scene-derived-mesh-provenance.d.ts +13 -0
  276. package/dist/scene-derived-mesh-provenance.d.ts.map +1 -0
  277. package/dist/scene-derived-mesh-provenance.js +30 -0
  278. package/dist/scene-derived-mesh-provenance.js.map +1 -0
  279. package/dist/scene-device-recovery.d.ts +103 -0
  280. package/dist/scene-device-recovery.d.ts.map +1 -0
  281. package/dist/scene-device-recovery.js +295 -0
  282. package/dist/scene-device-recovery.js.map +1 -0
  283. package/dist/scene-finalize-regroup.d.ts +54 -0
  284. package/dist/scene-finalize-regroup.d.ts.map +1 -0
  285. package/dist/scene-finalize-regroup.js +136 -0
  286. package/dist/scene-finalize-regroup.js.map +1 -0
  287. package/dist/scene-geometry.d.ts +1 -0
  288. package/dist/scene-geometry.d.ts.map +1 -1
  289. package/dist/scene-geometry.js +3 -23
  290. package/dist/scene-geometry.js.map +1 -1
  291. package/dist/scene-instance-bounds.d.ts +12 -0
  292. package/dist/scene-instance-bounds.d.ts.map +1 -0
  293. package/dist/scene-instance-bounds.js +48 -0
  294. package/dist/scene-instance-bounds.js.map +1 -0
  295. package/dist/scene-instance-materialization.d.ts +4 -1
  296. package/dist/scene-instance-materialization.d.ts.map +1 -1
  297. package/dist/scene-instance-materialization.js +21 -6
  298. package/dist/scene-instance-materialization.js.map +1 -1
  299. package/dist/scene-instance-translation.d.ts +17 -0
  300. package/dist/scene-instance-translation.d.ts.map +1 -0
  301. package/dist/scene-instance-translation.js +50 -0
  302. package/dist/scene-instance-translation.js.map +1 -0
  303. package/dist/scene-instance-types.d.ts +6 -0
  304. package/dist/scene-instance-types.d.ts.map +1 -1
  305. package/dist/scene-model-translation.d.ts +13 -1
  306. package/dist/scene-model-translation.d.ts.map +1 -1
  307. package/dist/scene-model-translation.js +23 -1
  308. package/dist/scene-model-translation.js.map +1 -1
  309. package/dist/scene-precision.d.ts +16 -0
  310. package/dist/scene-precision.d.ts.map +1 -0
  311. package/dist/scene-precision.js +73 -0
  312. package/dist/scene-precision.js.map +1 -0
  313. package/dist/scene-rect-select.d.ts +11 -1
  314. package/dist/scene-rect-select.d.ts.map +1 -1
  315. package/dist/scene-rect-select.js +7 -4
  316. package/dist/scene-rect-select.js.map +1 -1
  317. package/dist/scene.d.ts +42 -39
  318. package/dist/scene.d.ts.map +1 -1
  319. package/dist/scene.js +258 -375
  320. package/dist/scene.js.map +1 -1
  321. package/dist/section-2d-lift.d.ts +10 -2
  322. package/dist/section-2d-lift.d.ts.map +1 -1
  323. package/dist/section-2d-lift.js +14 -6
  324. package/dist/section-2d-lift.js.map +1 -1
  325. package/dist/section-2d-line-buffer.d.ts +12 -4
  326. package/dist/section-2d-line-buffer.d.ts.map +1 -1
  327. package/dist/section-2d-line-buffer.js +59 -33
  328. package/dist/section-2d-line-buffer.js.map +1 -1
  329. package/dist/section-2d-overlay.d.ts +18 -72
  330. package/dist/section-2d-overlay.d.ts.map +1 -1
  331. package/dist/section-2d-overlay.js +72 -103
  332. package/dist/section-2d-overlay.js.map +1 -1
  333. package/dist/section-2d-types.d.ts +38 -0
  334. package/dist/section-2d-types.d.ts.map +1 -0
  335. package/dist/section-2d-types.js +6 -0
  336. package/dist/section-2d-types.js.map +1 -0
  337. package/dist/section-cap-pipelines.d.ts +6 -0
  338. package/dist/section-cap-pipelines.d.ts.map +1 -0
  339. package/dist/section-cap-pipelines.js +87 -0
  340. package/dist/section-cap-pipelines.js.map +1 -0
  341. package/dist/section-plane-geometry.d.ts +24 -0
  342. package/dist/section-plane-geometry.d.ts.map +1 -0
  343. package/dist/section-plane-geometry.js +93 -0
  344. package/dist/section-plane-geometry.js.map +1 -0
  345. package/dist/section-plane.d.ts +23 -24
  346. package/dist/section-plane.d.ts.map +1 -1
  347. package/dist/section-plane.js +58 -174
  348. package/dist/section-plane.js.map +1 -1
  349. package/dist/shaders/ao.wgsl.d.ts +2 -0
  350. package/dist/shaders/ao.wgsl.d.ts.map +1 -0
  351. package/dist/shaders/ao.wgsl.js +234 -0
  352. package/dist/shaders/ao.wgsl.js.map +1 -0
  353. package/dist/shaders/color-transfer.wgsl.d.ts +26 -0
  354. package/dist/shaders/color-transfer.wgsl.d.ts.map +1 -0
  355. package/dist/shaders/color-transfer.wgsl.js +53 -0
  356. package/dist/shaders/color-transfer.wgsl.js.map +1 -0
  357. package/dist/shaders/depth-reconstruct.wgsl.d.ts +16 -0
  358. package/dist/shaders/depth-reconstruct.wgsl.d.ts.map +1 -0
  359. package/dist/shaders/depth-reconstruct.wgsl.js +69 -0
  360. package/dist/shaders/depth-reconstruct.wgsl.js.map +1 -0
  361. package/dist/shaders/main-rte-shadow.wgsl.d.ts +4 -0
  362. package/dist/shaders/main-rte-shadow.wgsl.d.ts.map +1 -0
  363. package/dist/shaders/main-rte-shadow.wgsl.js +54 -0
  364. package/dist/shaders/main-rte-shadow.wgsl.js.map +1 -0
  365. package/dist/shaders/main.wgsl.d.ts +1 -6
  366. package/dist/shaders/main.wgsl.d.ts.map +1 -1
  367. package/dist/shaders/main.wgsl.js +110 -159
  368. package/dist/shaders/main.wgsl.js.map +1 -1
  369. package/dist/shaders/relative-to-eye.wgsl.d.ts +12 -0
  370. package/dist/shaders/relative-to-eye.wgsl.d.ts.map +1 -0
  371. package/dist/shaders/relative-to-eye.wgsl.js +40 -0
  372. package/dist/shaders/relative-to-eye.wgsl.js.map +1 -0
  373. package/dist/shaders/section-2d-overlay.wgsl.d.ts +28 -12
  374. package/dist/shaders/section-2d-overlay.wgsl.d.ts.map +1 -1
  375. package/dist/shaders/section-2d-overlay.wgsl.js +40 -13
  376. package/dist/shaders/section-2d-overlay.wgsl.js.map +1 -1
  377. package/dist/shaders/shadow.wgsl.d.ts +1 -1
  378. package/dist/shaders/shadow.wgsl.d.ts.map +1 -1
  379. package/dist/shaders/shadow.wgsl.js +25 -7
  380. package/dist/shaders/shadow.wgsl.js.map +1 -1
  381. package/dist/shaders/sky.wgsl.d.ts +1 -11
  382. package/dist/shaders/sky.wgsl.d.ts.map +1 -1
  383. package/dist/shaders/sky.wgsl.js +17 -19
  384. package/dist/shaders/sky.wgsl.js.map +1 -1
  385. package/dist/shaders/symbolic-overlay.wgsl.d.ts +2 -9
  386. package/dist/shaders/symbolic-overlay.wgsl.d.ts.map +1 -1
  387. package/dist/shaders/symbolic-overlay.wgsl.js +88 -17
  388. package/dist/shaders/symbolic-overlay.wgsl.js.map +1 -1
  389. package/dist/shaders/textured.wgsl.d.ts.map +1 -1
  390. package/dist/shaders/textured.wgsl.js +11 -9
  391. package/dist/shaders/textured.wgsl.js.map +1 -1
  392. package/dist/shadow-light-matrix.d.ts +7 -0
  393. package/dist/shadow-light-matrix.d.ts.map +1 -1
  394. package/dist/shadow-light-matrix.js +11 -0
  395. package/dist/shadow-light-matrix.js.map +1 -1
  396. package/dist/shadow-occluder-batches.d.ts +10 -0
  397. package/dist/shadow-occluder-batches.d.ts.map +1 -0
  398. package/dist/shadow-occluder-batches.js +39 -0
  399. package/dist/shadow-occluder-batches.js.map +1 -0
  400. package/dist/shadow-occluders.d.ts.map +1 -1
  401. package/dist/shadow-occluders.js +4 -0
  402. package/dist/shadow-occluders.js.map +1 -1
  403. package/dist/shadow-pass.d.ts +5 -51
  404. package/dist/shadow-pass.d.ts.map +1 -1
  405. package/dist/shadow-pass.js +49 -45
  406. package/dist/shadow-pass.js.map +1 -1
  407. package/dist/shadow-types.d.ts +39 -0
  408. package/dist/shadow-types.d.ts.map +1 -0
  409. package/dist/shadow-types.js +15 -0
  410. package/dist/shadow-types.js.map +1 -0
  411. package/dist/symbolic-overlay-geometry.d.ts +7 -0
  412. package/dist/symbolic-overlay-geometry.d.ts.map +1 -0
  413. package/dist/symbolic-overlay-geometry.js +43 -0
  414. package/dist/symbolic-overlay-geometry.js.map +1 -0
  415. package/dist/symbolic-overlay-pipelines.d.ts +24 -36
  416. package/dist/symbolic-overlay-pipelines.d.ts.map +1 -1
  417. package/dist/symbolic-overlay-pipelines.js +175 -182
  418. package/dist/symbolic-overlay-pipelines.js.map +1 -1
  419. package/dist/symbolic-text-atlas.d.ts +21 -0
  420. package/dist/symbolic-text-atlas.d.ts.map +1 -1
  421. package/dist/symbolic-text-atlas.js +29 -1
  422. package/dist/symbolic-text-atlas.js.map +1 -1
  423. package/dist/types.d.ts +20 -26
  424. package/dist/types.d.ts.map +1 -1
  425. package/dist/visual-enhancement.d.ts +23 -1
  426. package/dist/visual-enhancement.d.ts.map +1 -1
  427. package/dist/visual-enhancement.js +38 -12
  428. package/dist/visual-enhancement.js.map +1 -1
  429. package/package.json +3 -3
@@ -12,39 +12,27 @@
12
12
  * Everything that could leave without dragging a GPU resource across a module
13
13
  * boundary has left — the WGSL to `shaders/section-2d-overlay.wgsl.ts`, the
14
14
  * 2D→3D lift and cap triangulation to `section-2d-lift.ts`, the per-family
15
- * vertex buffer to `section-2d-line-buffer.ts`. What is left is one nullable,
16
- * `init()`-created / `dispose()`-destroyed GPU object (two pipelines, one
15
+ * vertex buffer to `section-2d-line-buffer.ts`, the cap pipeline descriptors
16
+ * to `section-cap-pipelines.ts`. What is left is one nullable,
17
+ * `init()`-created / `dispose()`-destroyed GPU object (three pipelines, one
17
18
  * bind-group layout, one bind group, one uniform buffer holding a 160-byte
18
19
  * record per draw site) plus the published API over it: one
19
20
  * `setLineOverlay`/`hasLineOverlay`/`drawLineOverlay` trio covering every
20
- * standalone line channel, and the section cut's own upload/draw. Splitting that
21
- * further means giving those shared resources a second owner, which is the cut
22
- * #2456 explicitly refuses. Do not "fix" the line count by doing it.
21
+ * standalone line channel and the section cut's own upload/draw. Splitting further gives
22
+ * shared resources a second owner, which #2456 explicitly refuses.
23
23
  */
24
24
  import { PIPELINE_CONSTANTS } from './constants.js';
25
+ import { createSectionCapPipelines } from './section-cap-pipelines.js';
26
+ import { packRteDrawableDelta } from './relative-to-eye.js';
25
27
  import { SECTION_2D_CAP_FILL_WGSL, SECTION_2D_OVERLAY_LINE_WGSL, SECTION_2D_UNIFORM_BYTES, SECTION_2D_UNIFORM_FLOATS, SECTION_2D_UNIFORM_SLOTS, SECTION_2D_UNIFORM_SLOT_COUNT, SECTION_2D_UNIFORM_SLOT_INDEX, sectionUniformSlotStride, } from './shaders/section-2d-overlay.wgsl.js';
26
28
  import { buildCapFillGeometry, buildDrawingOutlineVertices, createSectionLift, } from './section-2d-lift.js';
27
29
  import { WorldLineBuffer, } from './section-2d-line-buffer.js';
28
- /**
29
- * The standalone world-space line overlays, in draw order.
30
- *
31
- * Each channel is an independent vertex buffer sharing one line pipeline and one shared overlay
32
- * colour; only the buffer read and the uniform slot bound distinguish them — naming them makes a
33
- * fifth channel five table rows, not eight methods. Four of five refuse to compile if skipped;
34
- * the fifth, `SECTION_2D_UNIFORM_SLOT_COUNT`, derives from `SECTION_2D_UNIFORM_SLOT_INDEX`, so
35
- * the buffer follows it automatically (#3342 was a hand-written count, one short).
36
- *
37
- * Not enforced: each draw site binding its OWN slot. A test pins the index dense, but a channel
38
- * reusing an existing slot constant passes it while two sites overwrite each other's `lineColor`
39
- * (#2456).
40
- *
41
- * Clash box/contact lines are deliberately NOT a channel: they draw in their own colour via
42
- * `setClashOverlapBox` / `setClashContactLines`.
43
- */
44
- export const LINE_OVERLAY_CHANNELS = ['annotation', 'alignment', 'grid', 'dxf'];
30
+ import { LINE_OVERLAY_CHANNELS, } from './section-2d-types.js';
31
+ export { LINE_OVERLAY_CHANNELS } from './section-2d-types.js';
45
32
  export class Section2DOverlayRenderer {
46
33
  device;
47
34
  fillPipeline = null;
35
+ fillDepthPipeline = null;
48
36
  linePipeline = null;
49
37
  bindGroupLayout = null;
50
38
  uniformBuffer = null;
@@ -67,16 +55,18 @@ export class Section2DOverlayRenderer {
67
55
  fillIndexCount = 0;
68
56
  lineVertexBuffer = null;
69
57
  lineVertexCount = 0;
58
+ /** f64 cap anchor retained separately from the local cap vertices. */
59
+ capAnchor = null;
70
60
  /**
71
61
  * One world-space vertex buffer per {@link LineOverlayChannel}, each on its
72
62
  * own uniform slot.
73
63
  *
74
- * Four `WorldLineBuffer`s, not one: the four draws are encoded into a single
64
+ * Five `WorldLineBuffer`s, not one: the draws are encoded into a single
75
65
  * pass and `queue.writeBuffer` lands before the pass runs, so a shared buffer
76
- * or a shared uniform slot would give all four whatever the last write said.
66
+ * or a shared uniform slot would give every channel whatever the last write said.
77
67
  * Keying them by channel unifies the LOOKUP, which is all that was ever
78
68
  * duplicated; the buffers stay separate because their independence is what
79
- * makes annotation (#653), alignment, grid (#967) and DXF (#2043) visibility
69
+ * makes annotation (#653), alignment, grid (#967), DXF (#2043), and terrain visibility
80
70
  * toggle independently.
81
71
  */
82
72
  lineOverlays = {
@@ -84,6 +74,7 @@ export class Section2DOverlayRenderer {
84
74
  alignment: new WorldLineBuffer(SECTION_2D_UNIFORM_SLOT_INDEX.alignment),
85
75
  grid: new WorldLineBuffer(SECTION_2D_UNIFORM_SLOT_INDEX.grid),
86
76
  dxf: new WorldLineBuffer(SECTION_2D_UNIFORM_SLOT_INDEX.dxf),
77
+ terrain: new WorldLineBuffer(SECTION_2D_UNIFORM_SLOT_INDEX.terrain),
87
78
  };
88
79
  // Standalone 3D clash-overlap-box overlay (#1277): the wireframe AABB of a
89
80
  // focused clash, drawn in its OWN distinct colour (not the shared overlay
@@ -121,69 +112,10 @@ export class Section2DOverlayRenderer {
121
112
  });
122
113
  const fillShader = this.device.createShaderModule({ code: SECTION_2D_CAP_FILL_WGSL });
123
114
  const lineShader = this.device.createShaderModule({ code: SECTION_2D_OVERLAY_LINE_WGSL });
124
- // Pipeline for filled polygons
125
- this.fillPipeline = this.device.createRenderPipeline({
126
- layout: pipelineLayout,
127
- vertex: {
128
- module: fillShader,
129
- entryPoint: 'vs_main',
130
- buffers: [
131
- {
132
- arrayStride: 28, // 3 position + 4 color = 7 floats
133
- attributes: [
134
- { shaderLocation: 0, offset: 0, format: 'float32x3' },
135
- { shaderLocation: 1, offset: 12, format: 'float32x4' },
136
- ],
137
- },
138
- ],
139
- },
140
- fragment: {
141
- module: fillShader,
142
- entryPoint: 'fs_main',
143
- // The main render pass has two colour attachments (main colour +
144
- // picker objectId). Pipelines used inside that pass must declare
145
- // matching targets — the objectId slot writes nothing so the pass's
146
- // picking IDs underneath are preserved.
147
- targets: [
148
- {
149
- format: this.format,
150
- blend: {
151
- color: {
152
- srcFactor: 'src-alpha',
153
- dstFactor: 'one-minus-src-alpha',
154
- operation: 'add',
155
- },
156
- alpha: {
157
- srcFactor: 'one',
158
- dstFactor: 'one-minus-src-alpha',
159
- operation: 'add',
160
- },
161
- },
162
- },
163
- { format: 'rgba8unorm', writeMask: 0 },
164
- ],
165
- },
166
- primitive: {
167
- topology: 'triangle-list',
168
- cullMode: 'none',
169
- },
170
- depthStencil: {
171
- format: PIPELINE_CONSTANTS.DEPTH_FORMAT,
172
- depthWriteEnabled: false,
173
- // 'greater-equal' (reverse-Z): draw the cap fill when its depth is at
174
- // least as close as whatever the main opaque pass already wrote. The
175
- // cap polygons live exactly on the section plane, which coincides
176
- // with below-plane top faces — 'greater-equal' lets them tie cleanly
177
- // there. Where nearer model geometry (e.g. a wall in front of the
178
- // cut, viewed at an angle) wrote a closer depth, the cap fails the
179
- // test and is occluded — the user no longer sees cap hatch painted
180
- // through model elements that ought to be in front of it.
181
- depthCompare: 'greater-equal',
182
- },
183
- multisample: {
184
- count: this.sampleCount,
185
- },
186
- });
115
+ // Pipelines for filled polygons: the cap colour, and its depth (#5384).
116
+ const cap = createSectionCapPipelines(this.device, pipelineLayout, fillShader, this.format, this.sampleCount);
117
+ this.fillPipeline = cap.fill;
118
+ this.fillDepthPipeline = cap.depth;
187
119
  // Pipeline for lines
188
120
  this.linePipeline = this.device.createRenderPipeline({
189
121
  layout: pipelineLayout,
@@ -233,7 +165,7 @@ export class Section2DOverlayRenderer {
233
165
  // the WGSL that defines them.
234
166
  // …once per draw site (SECTION_2D_UNIFORM_SLOT_COUNT of them), spaced by
235
167
  // the device's dynamic-offset alignment. Still one buffer under one owner;
236
- // what changed is that the six draws no longer overwrite each other.
168
+ // what changed is that the seven draw sites no longer overwrite each other.
237
169
  this.uniformStride = sectionUniformSlotStride(this.device);
238
170
  this.uniformBuffer = this.device.createBuffer({
239
171
  size: this.uniformStride * SECTION_2D_UNIFORM_SLOT_COUNT,
@@ -286,7 +218,23 @@ export class Section2DOverlayRenderer {
286
218
  this.init();
287
219
  this.clearGeometry();
288
220
  const lift = createSectionLift(axis, planePosition, flipped, customPlane);
289
- const fill = buildCapFillGeometry(polygons, lift);
221
+ const planeAnchor = customPlane
222
+ ? [...customPlane.origin]
223
+ : axis === 'side' ? [planePosition, 0, 0]
224
+ : axis === 'down' ? [0, planePosition, 0] : [0, 0, planePosition];
225
+ // The plane-coordinate anchor was enough when every model was near the
226
+ // origin. At a survey offset it leaves both in-plane coordinates absolute
227
+ // in the f32 vertex buffer, collapsing centimetre cap edges. Anchor at an
228
+ // actual lifted point instead, while retaining the old plane point for an
229
+ // empty upload that produces no vertex buffer to draw.
230
+ const firstPoint = polygons.find((polygon) => polygon.polygon.outer.length > 0)?.polygon.outer[0]
231
+ ?? lines[0]?.line.start;
232
+ const anchor = firstPoint ? lift(firstPoint.x, firstPoint.y) : planeAnchor;
233
+ // Lift/subtract while the coordinates are JS f64. Building a world-space
234
+ // Float32Array first then subtracting the cap anchor loses centimetre
235
+ // detail in both the plane normal and its in-plane axes at national-grid
236
+ // offsets.
237
+ const fill = buildCapFillGeometry(polygons, lift, anchor);
290
238
  if (fill) {
291
239
  this.fillVertexBuffer = this.device.createBuffer({
292
240
  size: fill.vertices.byteLength,
@@ -300,7 +248,7 @@ export class Section2DOverlayRenderer {
300
248
  this.device.queue.writeBuffer(this.fillIndexBuffer, 0, fill.indices);
301
249
  this.fillIndexCount = fill.indices.length;
302
250
  }
303
- const outline = buildDrawingOutlineVertices(polygons, lines, lift);
251
+ const outline = buildDrawingOutlineVertices(polygons, lines, lift, anchor);
304
252
  if (outline) {
305
253
  this.lineVertexBuffer = this.device.createBuffer({
306
254
  size: outline.byteLength,
@@ -309,6 +257,7 @@ export class Section2DOverlayRenderer {
309
257
  this.device.queue.writeBuffer(this.lineVertexBuffer, 0, outline);
310
258
  this.lineVertexCount = outline.length / 3; // Each vertex is 3 floats
311
259
  }
260
+ this.capAnchor = anchor;
312
261
  }
313
262
  /**
314
263
  * Clear uploaded geometry
@@ -328,6 +277,7 @@ export class Section2DOverlayRenderer {
328
277
  }
329
278
  this.fillIndexCount = 0;
330
279
  this.lineVertexCount = 0;
280
+ this.capAnchor = null;
331
281
  }
332
282
  /**
333
283
  * Set the colour of the overlay lines (annotation / alignment / grid) and the
@@ -346,7 +296,7 @@ export class Section2DOverlayRenderer {
346
296
  * so they draw regardless of `sectionPlane.enabled`. A short array clears too.
347
297
  *
348
298
  * Every channel gets its own buffer and its own uniform slot, so setting one
349
- * leaves the other three exactly as they were — that independence is the
299
+ * leaves every other channel exactly as it was — that independence is the
350
300
  * whole point of having channels rather than one merged buffer.
351
301
  */
352
302
  setLineOverlay(channel, vertices) {
@@ -369,12 +319,12 @@ export class Section2DOverlayRenderer {
369
319
  * colour, binding that channel's own uniform slot. No-ops when the channel is
370
320
  * empty or the pipeline could not be built.
371
321
  */
372
- drawLineOverlay(pass, viewProj, channel) {
322
+ drawLineOverlay(pass, viewProj, channel, rteViewProj, camera) {
373
323
  this.init();
374
324
  const resources = this.lineResources();
375
325
  if (!resources)
376
326
  return;
377
- this.lineOverlays[channel].draw(pass, resources, viewProj, this.overlayLineColor);
327
+ this.lineOverlays[channel].draw(pass, resources, viewProj, this.overlayLineColor, rteViewProj, camera);
378
328
  }
379
329
  /** Colour for the clash-overlap box (its own, not the shared overlay colour). */
380
330
  setClashBoxLineColor(color) {
@@ -396,12 +346,12 @@ export class Section2DOverlayRenderer {
396
346
  return this.clashBoxLines.has();
397
347
  }
398
348
  /** Draw the clash-overlap box in its own colour. Same line pipeline. (#1277) */
399
- drawClashBoxLines3D(pass, viewProj) {
349
+ drawClashBoxLines3D(pass, viewProj, rteViewProj, camera) {
400
350
  this.init();
401
351
  const resources = this.lineResources();
402
352
  if (!resources)
403
353
  return;
404
- this.clashBoxLines.draw(pass, resources, viewProj, this.clashBoxLineColor);
354
+ this.clashBoxLines.draw(pass, resources, viewProj, this.clashBoxLineColor, rteViewProj, camera);
405
355
  }
406
356
  /**
407
357
  * Check if there is geometry to draw
@@ -414,7 +364,7 @@ export class Section2DOverlayRenderer {
414
364
  */
415
365
  draw(pass, options) {
416
366
  this.init();
417
- if (!this.fillPipeline || !this.linePipeline || !this.uniformBuffer || !this.bindGroup) {
367
+ if (!this.fillPipeline || !this.fillDepthPipeline || !this.linePipeline || !this.uniformBuffer || !this.bindGroup) {
418
368
  return;
419
369
  }
420
370
  if (!this.hasGeometry()) {
@@ -427,16 +377,32 @@ export class Section2DOverlayRenderer {
427
377
  // (users could see a 0.3m gap between the plane preview and the cap).
428
378
  // The fill pipeline uses depthCompare 'greater-equal' (reverse-Z) so the
429
379
  // cap ties cleanly with coincident below-plane top faces and is occluded
430
- // by nearer model geometry — see the depthStencil comment on
431
- // `fillPipeline` above. There is no stencil test; the fill is restricted
380
+ // by nearer model geometry — see the depthStencil comment in
381
+ // `section-cap-pipelines.ts`. There is no stencil test; the fill is restricted
432
382
  // to the actual cap polygons by the triangle-plane intersection geometry
433
383
  // `SectionCutter` produces, not by a stencil gate.
434
- const offset = [0, 0, 0];
384
+ // Cap vertices are stored relative to capAnchor so that the RTE path can
385
+ // retain their small in-plane residuals. The legacy view-projection path
386
+ // still transforms world coordinates, however, so it must add that anchor
387
+ // back through planeOffset. Leaving it zero placed every rebased legacy
388
+ // cap around the world origin. Do not combine the two: RTE adds this same
389
+ // anchor as an f64 split drawable delta below.
390
+ const capAnchor = this.capAnchor;
391
+ const rteViewProj = options.rteViewProj;
392
+ const rteCamera = options.rteCamera;
393
+ const offset = capAnchor === null || (rteViewProj !== undefined && rteCamera !== undefined)
394
+ ? [0, 0, 0]
395
+ : capAnchor;
435
396
  // Update uniforms. Field offsets come from SECTION_2D_UNIFORM_SLOTS, which
436
397
  // sits next to the WGSL struct it describes.
437
398
  const S = SECTION_2D_UNIFORM_SLOTS;
438
399
  const uniforms = new Float32Array(SECTION_2D_UNIFORM_FLOATS);
439
400
  uniforms.set(viewProj, S.viewProj);
401
+ if (capAnchor !== null && rteViewProj !== undefined && rteCamera !== undefined) {
402
+ uniforms.set(rteViewProj, S.rteViewProj);
403
+ packRteDrawableDelta(capAnchor, rteCamera, uniforms, S.originDeltaHigh);
404
+ uniforms[S.originDeltaHigh + 3] = 1;
405
+ }
440
406
  uniforms.set(this.overlayLineColor, S.lineColor); // section-cut outline colour
441
407
  uniforms[S.planeOffset + 0] = offset[0];
442
408
  uniforms[S.planeOffset + 1] = offset[1];
@@ -485,6 +451,9 @@ export class Section2DOverlayRenderer {
485
451
  pass.setVertexBuffer(0, this.fillVertexBuffer);
486
452
  pass.setIndexBuffer(this.fillIndexBuffer, 'uint32');
487
453
  pass.drawIndexed(this.fillIndexCount);
454
+ // Then its depth, colour-masked, for the post passes (section-cap-pipelines.ts).
455
+ pass.setPipeline(this.fillDepthPipeline);
456
+ pass.drawIndexed(this.fillIndexCount);
488
457
  }
489
458
  // Outline lines on top of the fill. Gated by `showOutlines` so the
490
459
  // user can toggle surfaces and outlines independently from the UI.
@@ -502,11 +471,11 @@ export class Section2DOverlayRenderer {
502
471
  * Dispose of GPU resources.
503
472
  *
504
473
  * Every family's buffer must be released here. The clash box (#1277) was the
505
- * sixth family added and was missing from this list, leaking its vertex
474
+ * sixth line family added and was missing from this list, leaking its vertex
506
475
  * buffer on every teardown — `section-2d-overlay-lifecycle.test.ts` now counts
507
- * destroys against uploads so a seventh family cannot repeat it. The four
476
+ * destroys against uploads so another family cannot repeat it. The five
508
477
  * `LINE_OVERLAY_CHANNELS` are released by iterating the channel list, so a
509
- * fifth channel is covered here the moment it joins that list; the clash box
478
+ * sixth channel is covered here the moment it joins that list; the clash box
510
479
  * is named separately because it is not a channel.
511
480
  */
512
481
  dispose() {
@@ -1 +1 @@
1
- {"version":3,"file":"section-2d-overlay.js","sourceRoot":"","sources":["../src/section-2d-overlay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"section-2d-overlay.js","sourceRoot":"","sources":["../src/section-2d-overlay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /** Public contracts for section caps and independent world-line overlays. */
2
+ export declare const LINE_OVERLAY_CHANNELS: readonly ["annotation", "alignment", "grid", "dxf", "terrain"];
3
+ export type LineOverlayChannel = (typeof LINE_OVERLAY_CHANNELS)[number];
4
+ export interface Section2DOverlayCapStyle {
5
+ fillColor: [number, number, number, number];
6
+ strokeColor: [number, number, number, number];
7
+ patternId: number;
8
+ spacingPx: number;
9
+ angleRad: number;
10
+ widthPx: number;
11
+ secondaryAngleRad: number;
12
+ }
13
+ export interface Section2DOverlayOptions {
14
+ axis: 'down' | 'front' | 'side';
15
+ position: number;
16
+ bounds: {
17
+ min: {
18
+ x: number;
19
+ y: number;
20
+ z: number;
21
+ };
22
+ max: {
23
+ x: number;
24
+ y: number;
25
+ z: number;
26
+ };
27
+ };
28
+ viewProj: Float32Array;
29
+ rteViewProj?: Float32Array;
30
+ rteCamera?: readonly [number, number, number];
31
+ flipped?: boolean;
32
+ min?: number;
33
+ max?: number;
34
+ capStyle?: Section2DOverlayCapStyle;
35
+ showFills?: boolean;
36
+ showOutlines?: boolean;
37
+ }
38
+ //# sourceMappingURL=section-2d-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-2d-types.d.ts","sourceRoot":"","sources":["../src/section-2d-types.ts"],"names":[],"mappings":"AAIA,6EAA6E;AAE7E,eAAO,MAAM,qBAAqB,gEAAiE,CAAC;AACpG,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,GAAG,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,GAAG,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC/F,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
@@ -0,0 +1,6 @@
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
+ /** Public contracts for section caps and independent world-line overlays. */
5
+ export const LINE_OVERLAY_CHANNELS = ['annotation', 'alignment', 'grid', 'dxf', 'terrain'];
6
+ //# sourceMappingURL=section-2d-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-2d-types.js","sourceRoot":"","sources":["../src/section-2d-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,6EAA6E;AAE7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface SectionCapPipelines {
2
+ fill: GPURenderPipeline;
3
+ depth: GPURenderPipeline;
4
+ }
5
+ export declare function createSectionCapPipelines(device: GPUDevice, layout: GPUPipelineLayout, module: GPUShaderModule, format: GPUTextureFormat, sampleCount: number): SectionCapPipelines;
6
+ //# sourceMappingURL=section-cap-pipelines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-cap-pipelines.d.ts","sourceRoot":"","sources":["../src/section-cap-pipelines.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,MAAM,GAClB,mBAAmB,CAiErB"}
@@ -0,0 +1,87 @@
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
+ /**
5
+ * The two pipelines that draw the 3D section cap for
6
+ * `Section2DOverlayRenderer`, which owns them (built here, owned there).
7
+ *
8
+ * - `fill` paints the cap colour and hatch without writing depth, exactly
9
+ * as before.
10
+ * - `depth` replays the same triangles with colour writes masked off and
11
+ * depth writes on, straight after the fill. Without it the depth buffer
12
+ * under a cap still holds the clipped element's inside faces, which the
13
+ * screen-space passes that read depth after the scene pass (ambient
14
+ * occlusion, #5384) take for a deep narrow slot, darkening the cap.
15
+ * Colour-masked, the replay changes no pixel. It is a separate draw rather
16
+ * than a depth write on `fill` because base and layer cap polygons are
17
+ * coplanar and drawn in one call: with depth writes on `fill`, each layer
18
+ * polygon would stay visible over its base only where their depths tie
19
+ * bit-exactly.
20
+ */
21
+ import { PIPELINE_CONSTANTS } from './constants.js';
22
+ export function createSectionCapPipelines(device, layout, module, format, sampleCount) {
23
+ const vertex = {
24
+ module,
25
+ entryPoint: 'vs_main',
26
+ buffers: [
27
+ {
28
+ arrayStride: 28, // 3 position + 4 color = 7 floats
29
+ attributes: [
30
+ { shaderLocation: 0, offset: 0, format: 'float32x3' },
31
+ { shaderLocation: 1, offset: 12, format: 'float32x4' },
32
+ ],
33
+ },
34
+ ],
35
+ };
36
+ const primitive = { topology: 'triangle-list', cullMode: 'none' };
37
+ const depthStencil = {
38
+ format: PIPELINE_CONSTANTS.DEPTH_FORMAT,
39
+ depthWriteEnabled: false,
40
+ // 'greater-equal' (reverse-Z): draw the cap fill when its depth is at
41
+ // least as close as whatever the main opaque pass already wrote. The
42
+ // cap polygons live exactly on the section plane, which coincides
43
+ // with below-plane top faces — 'greater-equal' lets them tie cleanly
44
+ // there. Where nearer model geometry (e.g. a wall in front of the
45
+ // cut, viewed at an angle) wrote a closer depth, the cap fails the
46
+ // test and is occluded — the user no longer sees cap hatch painted
47
+ // through model elements that ought to be in front of it.
48
+ depthCompare: 'greater-equal',
49
+ };
50
+ const multisample = { count: sampleCount };
51
+ // The main render pass has two colour attachments (main colour + picker
52
+ // objectId). Pipelines used inside that pass must declare matching
53
+ // targets — the objectId slot writes nothing so the pass's picking IDs
54
+ // underneath are preserved.
55
+ const objectIdTarget = { format: 'rgba8unorm', writeMask: 0 };
56
+ const fill = device.createRenderPipeline({
57
+ layout,
58
+ vertex,
59
+ fragment: {
60
+ module,
61
+ entryPoint: 'fs_main',
62
+ targets: [
63
+ {
64
+ format,
65
+ blend: {
66
+ color: { srcFactor: 'src-alpha', dstFactor: 'one-minus-src-alpha', operation: 'add' },
67
+ alpha: { srcFactor: 'one', dstFactor: 'one-minus-src-alpha', operation: 'add' },
68
+ },
69
+ },
70
+ objectIdTarget,
71
+ ],
72
+ },
73
+ primitive,
74
+ depthStencil,
75
+ multisample,
76
+ });
77
+ const depth = device.createRenderPipeline({
78
+ layout,
79
+ vertex,
80
+ fragment: { module, entryPoint: 'fs_main', targets: [{ format, writeMask: 0 }, objectIdTarget] },
81
+ primitive,
82
+ depthStencil: { ...depthStencil, depthWriteEnabled: true },
83
+ multisample,
84
+ });
85
+ return { fill, depth };
86
+ }
87
+ //# sourceMappingURL=section-cap-pipelines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-cap-pipelines.js","sourceRoot":"","sources":["../src/section-cap-pipelines.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOpD,MAAM,UAAU,yBAAyB,CACvC,MAAiB,EACjB,MAAyB,EACzB,MAAuB,EACvB,MAAwB,EACxB,WAAmB;IAEnB,MAAM,MAAM,GAAmB;QAC7B,MAAM;QACN,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE;YACP;gBACE,WAAW,EAAE,EAAE,EAAE,kCAAkC;gBACnD,UAAU,EAAE;oBACV,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE;oBACrD,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;iBACvD;aACF;SACF;KACF,CAAC;IACF,MAAM,SAAS,GAAsB,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACrF,MAAM,YAAY,GAAyB;QACzC,MAAM,EAAE,kBAAkB,CAAC,YAAY;QACvC,iBAAiB,EAAE,KAAK;QACxB,sEAAsE;QACtE,qEAAqE;QACrE,kEAAkE;QAClE,qEAAqE;QACrE,kEAAkE;QAClE,mEAAmE;QACnE,mEAAmE;QACnE,0DAA0D;QAC1D,YAAY,EAAE,eAAe;KAC9B,CAAC;IACF,MAAM,WAAW,GAAwB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAChE,wEAAwE;IACxE,mEAAmE;IACnE,uEAAuE;IACvE,4BAA4B;IAC5B,MAAM,cAAc,GAAwB,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAEnF,MAAM,IAAI,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACvC,MAAM;QACN,MAAM;QACN,QAAQ,EAAE;YACR,MAAM;YACN,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE;gBACP;oBACE,MAAM;oBACN,KAAK,EAAE;wBACL,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,KAAK,EAAE;wBACrF,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,KAAK,EAAE;qBAChF;iBACF;gBACD,cAAc;aACf;SACF;QACD,SAAS;QACT,YAAY;QACZ,WAAW;KACZ,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACxC,MAAM;QACN,MAAM;QACN,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE;QAChG,SAAS;QACT,YAAY,EAAE,EAAE,GAAG,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE;QAC1D,WAAW;KACZ,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,24 @@
1
+ export type SectionPlaneAxis = 'down' | 'front' | 'side';
2
+ export interface SectionPlaneBounds {
3
+ min: {
4
+ x: number;
5
+ y: number;
6
+ z: number;
7
+ };
8
+ max: {
9
+ x: number;
10
+ y: number;
11
+ z: number;
12
+ };
13
+ }
14
+ /**
15
+ * Build the cardinal section-preview quad in source f64 coordinates.
16
+ *
17
+ * The caller subtracts its drawable anchor before it uploads f32 vertices.
18
+ * Keeping this array f64 is essential: an absolute 5,000 km source coordinate
19
+ * has no f32 representation for a centimetre-scale plane displacement.
20
+ */
21
+ export declare function calculateSectionPlaneVertices(axis: SectionPlaneAxis, position: number, bounds: SectionPlaneBounds, minOverride?: number, maxOverride?: number): Float64Array;
22
+ /** Build a six-vertex preview quad for the f64 plane `dot(p, normal) = distance`. */
23
+ export declare function calculateSectionPlaneVerticesFromNormal(normal: [number, number, number], distance: number, bounds: SectionPlaneBounds): Float64Array;
24
+ //# sourceMappingURL=section-plane-geometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-plane-geometry.d.ts","sourceRoot":"","sources":["../src/section-plane-geometry.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,kBAAkB,EAC1B,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,YAAY,CAoDd;AAED,qFAAqF;AACrF,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,kBAAkB,GACzB,YAAY,CAwBd"}