@ifc-lite/renderer 6.0.1 → 6.3.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 (189) hide show
  1. package/README.md +21 -0
  2. package/dist/ao-pass.d.ts +0 -16
  3. package/dist/ao-pass.d.ts.map +1 -1
  4. package/dist/ao-pass.js +2 -0
  5. package/dist/ao-pass.js.map +1 -1
  6. package/dist/camera-animation.d.ts +1 -1
  7. package/dist/camera-animation.d.ts.map +1 -1
  8. package/dist/camera-animation.js +11 -11
  9. package/dist/camera-animation.js.map +1 -1
  10. package/dist/camera-inertia.d.ts +27 -0
  11. package/dist/camera-inertia.d.ts.map +1 -0
  12. package/dist/camera-inertia.js +33 -0
  13. package/dist/camera-inertia.js.map +1 -0
  14. package/dist/camera.d.ts.map +1 -1
  15. package/dist/camera.js +3 -0
  16. package/dist/camera.js.map +1 -1
  17. package/dist/deviation/deviation-computer.d.ts +5 -1
  18. package/dist/deviation/deviation-computer.d.ts.map +1 -1
  19. package/dist/deviation/deviation-computer.js +13 -6
  20. package/dist/deviation/deviation-computer.js.map +1 -1
  21. package/dist/deviation/deviation-readback.d.ts +16 -3
  22. package/dist/deviation/deviation-readback.d.ts.map +1 -1
  23. package/dist/deviation/deviation-readback.js +46 -36
  24. package/dist/deviation/deviation-readback.js.map +1 -1
  25. package/dist/deviation/deviation-statistics-kernel.d.ts +111 -0
  26. package/dist/deviation/deviation-statistics-kernel.d.ts.map +1 -0
  27. package/dist/deviation/deviation-statistics-kernel.js +303 -0
  28. package/dist/deviation/deviation-statistics-kernel.js.map +1 -0
  29. package/dist/deviation/deviation-statistics.d.ts +100 -0
  30. package/dist/deviation/deviation-statistics.d.ts.map +1 -0
  31. package/dist/deviation/deviation-statistics.js +100 -0
  32. package/dist/deviation/deviation-statistics.js.map +1 -0
  33. package/dist/device-recovery.d.ts.map +1 -1
  34. package/dist/device-recovery.js +5 -0
  35. package/dist/device-recovery.js.map +1 -1
  36. package/dist/device.d.ts +0 -3
  37. package/dist/device.d.ts.map +1 -1
  38. package/dist/device.js +5 -1
  39. package/dist/device.js.map +1 -1
  40. package/dist/edge-pass.d.ts +0 -12
  41. package/dist/edge-pass.d.ts.map +1 -1
  42. package/dist/edge-pass.js +3 -0
  43. package/dist/edge-pass.js.map +1 -1
  44. package/dist/edl-pass.d.ts +0 -21
  45. package/dist/edl-pass.d.ts.map +1 -1
  46. package/dist/edl-pass.js +23 -0
  47. package/dist/edl-pass.js.map +1 -1
  48. package/dist/frame-timing-gpu.d.ts +11 -15
  49. package/dist/frame-timing-gpu.d.ts.map +1 -1
  50. package/dist/frame-timing-gpu.js +57 -26
  51. package/dist/frame-timing-gpu.js.map +1 -1
  52. package/dist/gpu-counters.d.ts +30 -0
  53. package/dist/gpu-counters.d.ts.map +1 -0
  54. package/dist/gpu-counters.js +84 -0
  55. package/dist/gpu-counters.js.map +1 -0
  56. package/dist/gpu-static-upload.d.ts.map +1 -1
  57. package/dist/gpu-static-upload.js +2 -0
  58. package/dist/gpu-static-upload.js.map +1 -1
  59. package/dist/index.d.ts +33 -21
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +70 -59
  62. package/dist/index.js.map +1 -1
  63. package/dist/picker-depth-sample.d.ts +9 -0
  64. package/dist/picker-depth-sample.d.ts.map +1 -0
  65. package/dist/picker-depth-sample.js +63 -0
  66. package/dist/picker-depth-sample.js.map +1 -0
  67. package/dist/picker-readbacks.d.ts +8 -1
  68. package/dist/picker-readbacks.d.ts.map +1 -1
  69. package/dist/picker-readbacks.js +18 -1
  70. package/dist/picker-readbacks.js.map +1 -1
  71. package/dist/picker.d.ts +2 -0
  72. package/dist/picker.d.ts.map +1 -1
  73. package/dist/picker.js +70 -94
  74. package/dist/picker.js.map +1 -1
  75. package/dist/picking-manager.d.ts +5 -2
  76. package/dist/picking-manager.d.ts.map +1 -1
  77. package/dist/picking-manager.js +25 -8
  78. package/dist/picking-manager.js.map +1 -1
  79. package/dist/pipeline.d.ts +8 -0
  80. package/dist/pipeline.d.ts.map +1 -1
  81. package/dist/pipeline.js +22 -0
  82. package/dist/pipeline.js.map +1 -1
  83. package/dist/pointcloud/point-cloud-keyed-chunks.d.ts +23 -0
  84. package/dist/pointcloud/point-cloud-keyed-chunks.d.ts.map +1 -0
  85. package/dist/pointcloud/point-cloud-keyed-chunks.js +44 -0
  86. package/dist/pointcloud/point-cloud-keyed-chunks.js.map +1 -0
  87. package/dist/pointcloud/point-cloud-node.d.ts +5 -1
  88. package/dist/pointcloud/point-cloud-node.d.ts.map +1 -1
  89. package/dist/pointcloud/point-cloud-node.js +8 -4
  90. package/dist/pointcloud/point-cloud-node.js.map +1 -1
  91. package/dist/pointcloud/point-cloud-placement.d.ts +6 -0
  92. package/dist/pointcloud/point-cloud-placement.d.ts.map +1 -1
  93. package/dist/pointcloud/point-cloud-placement.js +8 -0
  94. package/dist/pointcloud/point-cloud-placement.js.map +1 -1
  95. package/dist/pointcloud/point-cloud-ray-transform.d.ts +17 -8
  96. package/dist/pointcloud/point-cloud-ray-transform.d.ts.map +1 -1
  97. package/dist/pointcloud/point-cloud-ray-transform.js +17 -13
  98. package/dist/pointcloud/point-cloud-ray-transform.js.map +1 -1
  99. package/dist/pointcloud/point-cloud-renderer.d.ts +10 -8
  100. package/dist/pointcloud/point-cloud-renderer.d.ts.map +1 -1
  101. package/dist/pointcloud/point-cloud-renderer.js +20 -31
  102. package/dist/pointcloud/point-cloud-renderer.js.map +1 -1
  103. package/dist/pointcloud/point-cloud-stream-lifecycle.d.ts +8 -1
  104. package/dist/pointcloud/point-cloud-stream-lifecycle.d.ts.map +1 -1
  105. package/dist/pointcloud/point-cloud-stream-lifecycle.js +17 -2
  106. package/dist/pointcloud/point-cloud-stream-lifecycle.js.map +1 -1
  107. package/dist/pointcloud/point-cloud-uniforms.d.ts +11 -0
  108. package/dist/pointcloud/point-cloud-uniforms.d.ts.map +1 -1
  109. package/dist/pointcloud/point-cloud-uniforms.js +8 -0
  110. package/dist/pointcloud/point-cloud-uniforms.js.map +1 -1
  111. package/dist/post-pass-chain.d.ts +2 -0
  112. package/dist/post-pass-chain.d.ts.map +1 -1
  113. package/dist/post-pass-chain.js +1 -1
  114. package/dist/post-pass-chain.js.map +1 -1
  115. package/dist/raycast-point-cloud-query.d.ts.map +1 -1
  116. package/dist/raycast-point-cloud-query.js +11 -1
  117. package/dist/raycast-point-cloud-query.js.map +1 -1
  118. package/dist/renderer-frame-timing.d.ts +21 -0
  119. package/dist/renderer-frame-timing.d.ts.map +1 -0
  120. package/dist/renderer-frame-timing.js +104 -0
  121. package/dist/renderer-frame-timing.js.map +1 -0
  122. package/dist/renderer-viewport.d.ts +13 -7
  123. package/dist/renderer-viewport.d.ts.map +1 -1
  124. package/dist/renderer-viewport.js +15 -7
  125. package/dist/renderer-viewport.js.map +1 -1
  126. package/dist/scene-batch-rebuild.d.ts +7 -0
  127. package/dist/scene-batch-rebuild.d.ts.map +1 -1
  128. package/dist/scene-batch-rebuild.js +12 -0
  129. package/dist/scene-batch-rebuild.js.map +1 -1
  130. package/dist/scene-contents.d.ts +3 -2
  131. package/dist/scene-contents.d.ts.map +1 -1
  132. package/dist/scene-flush.d.ts +43 -0
  133. package/dist/scene-flush.d.ts.map +1 -0
  134. package/dist/scene-flush.js +103 -0
  135. package/dist/scene-flush.js.map +1 -0
  136. package/dist/scene-geometry.d.ts.map +1 -1
  137. package/dist/scene-geometry.js +2 -0
  138. package/dist/scene-geometry.js.map +1 -1
  139. package/dist/scene.d.ts +10 -27
  140. package/dist/scene.d.ts.map +1 -1
  141. package/dist/scene.js +38 -107
  142. package/dist/scene.js.map +1 -1
  143. package/dist/selection-mask-pass.d.ts +2 -27
  144. package/dist/selection-mask-pass.d.ts.map +1 -1
  145. package/dist/selection-mask-pass.js +44 -39
  146. package/dist/selection-mask-pass.js.map +1 -1
  147. package/dist/selection-mask-pipelines.d.ts +3 -3
  148. package/dist/selection-mask-pipelines.d.ts.map +1 -1
  149. package/dist/selection-mask-pipelines.js +11 -8
  150. package/dist/selection-mask-pipelines.js.map +1 -1
  151. package/dist/shaders/depth-nudge.wgsl.d.ts +67 -0
  152. package/dist/shaders/depth-nudge.wgsl.d.ts.map +1 -0
  153. package/dist/shaders/depth-nudge.wgsl.js +130 -0
  154. package/dist/shaders/depth-nudge.wgsl.js.map +1 -0
  155. package/dist/shaders/ghost.wgsl.d.ts +2 -0
  156. package/dist/shaders/ghost.wgsl.d.ts.map +1 -0
  157. package/dist/shaders/ghost.wgsl.js +46 -0
  158. package/dist/shaders/ghost.wgsl.js.map +1 -0
  159. package/dist/shaders/main.wgsl.d.ts +1 -1
  160. package/dist/shaders/main.wgsl.d.ts.map +1 -1
  161. package/dist/shaders/main.wgsl.js +6 -4
  162. package/dist/shaders/main.wgsl.js.map +1 -1
  163. package/dist/shaders/section-2d-overlay.wgsl.d.ts +1 -16
  164. package/dist/shaders/section-2d-overlay.wgsl.d.ts.map +1 -1
  165. package/dist/shaders/section-2d-overlay.wgsl.js +6 -6
  166. package/dist/shaders/section-2d-overlay.wgsl.js.map +1 -1
  167. package/dist/shaders/selection-mask.wgsl.d.ts +2 -10
  168. package/dist/shaders/selection-mask.wgsl.d.ts.map +1 -1
  169. package/dist/shaders/selection-mask.wgsl.js +9 -42
  170. package/dist/shaders/selection-mask.wgsl.js.map +1 -1
  171. package/dist/shaders/symbolic-overlay.wgsl.d.ts +1 -1
  172. package/dist/shaders/symbolic-overlay.wgsl.d.ts.map +1 -1
  173. package/dist/shaders/symbolic-overlay.wgsl.js +5 -4
  174. package/dist/shaders/symbolic-overlay.wgsl.js.map +1 -1
  175. package/dist/shadow-pass.d.ts +0 -19
  176. package/dist/shadow-pass.d.ts.map +1 -1
  177. package/dist/shadow-pass.js +19 -0
  178. package/dist/shadow-pass.js.map +1 -1
  179. package/dist/test/frame-timing-device.d.ts +17 -0
  180. package/dist/test/frame-timing-device.d.ts.map +1 -0
  181. package/dist/test/frame-timing-device.js +70 -0
  182. package/dist/test/frame-timing-device.js.map +1 -0
  183. package/dist/types.d.ts +2 -0
  184. package/dist/types.d.ts.map +1 -1
  185. package/dist/xray-alpha.d.ts +8 -0
  186. package/dist/xray-alpha.d.ts.map +1 -1
  187. package/dist/xray-alpha.js +23 -0
  188. package/dist/xray-alpha.js.map +1 -1
  189. package/package.json +4 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-frame-timing.js","sourceRoot":"","sources":["../src/renderer-frame-timing.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,qFAAqF;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,UAAU,GAAG,EAAE,CAAC;AAoBtB,MAAM,MAAM,GAAG,IAAI,OAAO,EAAuB,CAAC;AAClD,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAkG,CAAC;AAC/H,MAAM,KAAK,GAAG,GAA8B,EAAE,CAAC,CAAC;IAC9C,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;CAC1F,CAAC,CAAC;AAEH,MAAM,UAAU,0BAA0B,CAAC,KAAa,EAAE,OAAgB;IACxE,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3D,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AAChH,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC1B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,KAAK,CAAC,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;IAC7C,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE;SAC5D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,MAAiB,EAAE,OAA0B;IACjG,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,OAAO;QAAE,OAAO;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC5B,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO;IAC5B,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;QAClD,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,yBAAyB,CAAC,OAA0B,EAAE,KAAa;IACjF,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACvB,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,MAAM,IAAI,SAAS,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,MAAiB,EAAE,OAA0B;IAClG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,oFAAoF;AACpF,SAAS,uBAAuB,CAAC,KAAa,EAAE,OAA0B;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,QAAQ,KAAK,KAAK,CAAC,QAAQ;QAAE,OAAO;IAC/D,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QACxC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,QAAQ;YAAE,OAAO;QACxE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACjD,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9E,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC1B,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,CAAC,wCAAwC;QACjF,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QACd,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import type { Camera } from './camera.js';
2
2
  /**
3
- * Highest device-pixel ratio the drawing buffer follows. A 3x phone or a
4
- * browser zoomed past 200% would otherwise allocate 9x+ the CSS-pixel fill
3
+ * Default highest device-pixel ratio the drawing buffer follows. A 3x phone or
4
+ * a browser zoomed past 200% would otherwise allocate 9x+ the CSS-pixel fill
5
5
  * (colour, MSAA, depth, object-id targets all scale with it) for a sharpness
6
- * gain the eye cannot resolve at that density.
6
+ * gain the eye cannot resolve at that density. `Renderer.setMaxPixelRatio`
7
+ * overrides it.
7
8
  */
8
9
  export declare const MAX_DRAWING_BUFFER_PIXEL_RATIO = 2;
9
10
  export interface DrawingBufferSize {
@@ -13,8 +14,8 @@ export interface DrawingBufferSize {
13
14
  height: number;
14
15
  /**
15
16
  * Device pixels per CSS pixel actually applied. Below the display's
16
- * `devicePixelRatio` when capped by {@link MAX_DRAWING_BUFFER_PIXEL_RATIO}
17
- * or by the GPU's max texture dimension. Anything authored in CSS pixels
17
+ * `devicePixelRatio` when capped by the max pixel ratio or by the GPU's max
18
+ * texture dimension. Anything authored in CSS pixels
18
19
  * (point and glyph sizes, snap and cull thresholds, post-pass tap radii)
19
20
  * converts through this, so it looks the same at every density.
20
21
  */
@@ -35,14 +36,19 @@ export interface DrawingBufferSize {
35
36
  * When one axis would exceed `maxTextureDimension` the ratio drops for BOTH
36
37
  * axes, which keeps the aspect instead of squashing one axis.
37
38
  *
39
+ * `maxPixelRatio` caps the ratio; a non-finite or non-positive cap falls back
40
+ * to {@link MAX_DRAWING_BUFFER_PIXEL_RATIO}.
41
+ *
42
+ * A valid frame cap can reduce this frame further without changing the persistent cap.
43
+ *
38
44
  * Returns null for a collapsed or non-finite layout: the caller keeps the
39
45
  * buffer it has.
40
46
  */
41
- export declare function computeDrawingBufferSize(cssWidth: number, cssHeight: number, devicePixelRatio: number, maxTextureDimension: number): DrawingBufferSize | null;
47
+ export declare function computeDrawingBufferSize(cssWidth: number, cssHeight: number, devicePixelRatio: number, maxTextureDimension: number, maxPixelRatio?: number, frameMaxPixelRatio?: number): DrawingBufferSize | null;
42
48
  /**
43
49
  * {@link computeDrawingBufferSize} for `canvas`'s current layout on the
44
50
  * current display. Null while the element has no layout.
45
51
  */
46
- export declare function measureDrawingBuffer(canvas: HTMLCanvasElement, maxTextureDimension: number): DrawingBufferSize | null;
52
+ export declare function measureDrawingBuffer(canvas: HTMLCanvasElement, maxTextureDimension: number, maxPixelRatio?: number, frameMaxPixelRatio?: number): DrawingBufferSize | null;
47
53
  export declare function resizeRendererViewport(canvas: HTMLCanvasElement, camera: Camera, width: number, height: number): void;
48
54
  //# sourceMappingURL=renderer-viewport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer-viewport.d.ts","sourceRoot":"","sources":["../src/renderer-viewport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,GAC1B,iBAAiB,GAAG,IAAI,CAQ1B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,iBAAiB,EACzB,mBAAmB,EAAE,MAAM,GAC1B,iBAAiB,GAAG,IAAI,CAI1B;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAoBN"}
1
+ {"version":3,"file":"renderer-viewport.d.ts","sourceRoot":"","sources":["../src/renderer-viewport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,EAC3B,aAAa,GAAE,MAAuC,EACtD,kBAAkB,CAAC,EAAE,MAAM,GAC1B,iBAAiB,GAAG,IAAI,CAU1B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,iBAAiB,EACzB,mBAAmB,EAAE,MAAM,EAC3B,aAAa,CAAC,EAAE,MAAM,EACtB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,iBAAiB,GAAG,IAAI,CAI1B;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAoBN"}
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Highest device-pixel ratio the drawing buffer follows. A 3x phone or a
3
- * browser zoomed past 200% would otherwise allocate 9x+ the CSS-pixel fill
2
+ * Default highest device-pixel ratio the drawing buffer follows. A 3x phone or
3
+ * a browser zoomed past 200% would otherwise allocate 9x+ the CSS-pixel fill
4
4
  * (colour, MSAA, depth, object-id targets all scale with it) for a sharpness
5
- * gain the eye cannot resolve at that density.
5
+ * gain the eye cannot resolve at that density. `Renderer.setMaxPixelRatio`
6
+ * overrides it.
6
7
  */
7
8
  export const MAX_DRAWING_BUFFER_PIXEL_RATIO = 2;
8
9
  /**
@@ -20,15 +21,22 @@ export const MAX_DRAWING_BUFFER_PIXEL_RATIO = 2;
20
21
  * When one axis would exceed `maxTextureDimension` the ratio drops for BOTH
21
22
  * axes, which keeps the aspect instead of squashing one axis.
22
23
  *
24
+ * `maxPixelRatio` caps the ratio; a non-finite or non-positive cap falls back
25
+ * to {@link MAX_DRAWING_BUFFER_PIXEL_RATIO}.
26
+ *
27
+ * A valid frame cap can reduce this frame further without changing the persistent cap.
28
+ *
23
29
  * Returns null for a collapsed or non-finite layout: the caller keeps the
24
30
  * buffer it has.
25
31
  */
26
- export function computeDrawingBufferSize(cssWidth, cssHeight, devicePixelRatio, maxTextureDimension) {
32
+ export function computeDrawingBufferSize(cssWidth, cssHeight, devicePixelRatio, maxTextureDimension, maxPixelRatio = MAX_DRAWING_BUFFER_PIXEL_RATIO, frameMaxPixelRatio) {
27
33
  if (!Number.isFinite(cssWidth) || !Number.isFinite(cssHeight) || cssWidth <= 0 || cssHeight <= 0)
28
34
  return null;
29
35
  const dpr = Number.isFinite(devicePixelRatio) && devicePixelRatio > 0 ? devicePixelRatio : 1;
30
36
  const maxDim = Number.isFinite(maxTextureDimension) && maxTextureDimension >= 1 ? maxTextureDimension : 8192;
31
- const ratio = Math.min(dpr, MAX_DRAWING_BUFFER_PIXEL_RATIO, maxDim / cssWidth, maxDim / cssHeight);
37
+ const cap = Number.isFinite(maxPixelRatio) && maxPixelRatio > 0 ? maxPixelRatio : MAX_DRAWING_BUFFER_PIXEL_RATIO;
38
+ const frameCap = typeof frameMaxPixelRatio === 'number' && Number.isFinite(frameMaxPixelRatio) && frameMaxPixelRatio > 0 ? frameMaxPixelRatio : cap;
39
+ const ratio = Math.min(dpr, cap, frameCap, maxDim / cssWidth, maxDim / cssHeight);
32
40
  const width = Math.min(maxDim, Math.max(1, Math.round(cssWidth * ratio)));
33
41
  const height = Math.min(maxDim, Math.max(1, Math.round(cssHeight * ratio)));
34
42
  return { width, height, pixelRatio: width / cssWidth };
@@ -37,10 +45,10 @@ export function computeDrawingBufferSize(cssWidth, cssHeight, devicePixelRatio,
37
45
  * {@link computeDrawingBufferSize} for `canvas`'s current layout on the
38
46
  * current display. Null while the element has no layout.
39
47
  */
40
- export function measureDrawingBuffer(canvas, maxTextureDimension) {
48
+ export function measureDrawingBuffer(canvas, maxTextureDimension, maxPixelRatio, frameMaxPixelRatio) {
41
49
  const rect = canvas.getBoundingClientRect();
42
50
  const dpr = typeof window !== 'undefined' ? window.devicePixelRatio : 1;
43
- return computeDrawingBufferSize(rect.width, rect.height, dpr, maxTextureDimension);
51
+ return computeDrawingBufferSize(rect.width, rect.height, dpr, maxTextureDimension, maxPixelRatio, frameMaxPixelRatio);
44
52
  }
45
53
  export function resizeRendererViewport(canvas, camera, width, height) {
46
54
  // `canvas.width` is an IDL `unsigned long`, so it silently coerces a
@@ -1 +1 @@
1
- {"version":3,"file":"renderer-viewport.js","sourceRoot":"","sources":["../src/renderer-viewport.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAiBhD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAgB,EAChB,SAAiB,EACjB,gBAAwB,EACxB,mBAA2B;IAE3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9G,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7G,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,8BAA8B,EAAE,MAAM,GAAG,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACnG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,GAAG,QAAQ,EAAE,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAyB,EACzB,mBAA2B;IAE3B,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAyB,EACzB,MAAc,EACd,KAAa,EACb,MAAc;IAEd,qEAAqE;IACrE,mEAAmE;IACnE,iEAAiE;IACjE,mEAAmE;IACnE,mEAAmE;IACnE,qEAAqE;IACrE,oEAAoE;IACpE,sEAAsE;IACtE,4DAA4D;IAC5D,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACxB,KAAK,IAAI,CAAC;QACV,MAAM,IAAI,CAAC;QAEX,OAAO;IACT,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"renderer-viewport.js","sourceRoot":"","sources":["../src/renderer-viewport.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,11 @@ export declare function rebuildSceneBatches<Bucket extends RebuildableBucket>(op
14
14
  create(meshes: MeshData[], color: [number, number, number, number], device: GPUDevice, pipeline: RenderPipeline, key: string): BatchedMesh;
15
15
  dropPartial(batch: BatchedMesh): void;
16
16
  }, device: GPUDevice, pipeline: RenderPipeline): void;
17
+ /**
18
+ * A model (other than 0) left with no batches forgets its shared frame, so
19
+ * geometry drawn for it later is framed where it is, not where its last batch
20
+ * was: a second scan-to-BIM overlay run far from the first (#6894). Bucket
21
+ * keys of model `n > 0` start with `model<n>~`.
22
+ */
23
+ export declare function forgetEmptyModelFrames(buckets: ReadonlyMap<string, unknown>, frames: Map<number, unknown>): void;
17
24
  //# sourceMappingURL=scene-batch-rebuild.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-batch-rebuild.d.ts","sourceRoot":"","sources":["../src/scene-batch-rebuild.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,MAAM,SAAS,iBAAiB,EAAE,OAAO,EAAE;IAC7E,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3I,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CACvC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,CAmCpD"}
1
+ {"version":3,"file":"scene-batch-rebuild.d.ts","sourceRoot":"","sources":["../src/scene-batch-rebuild.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,MAAM,SAAS,iBAAiB,EAAE,OAAO,EAAE;IAC7E,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3I,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CACvC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,CAmCpD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAGhH"}
@@ -42,4 +42,16 @@ export function rebuildSceneBatches(options, device, pipeline) {
42
42
  }
43
43
  options.pendingKeys.clear();
44
44
  }
45
+ /**
46
+ * A model (other than 0) left with no batches forgets its shared frame, so
47
+ * geometry drawn for it later is framed where it is, not where its last batch
48
+ * was: a second scan-to-BIM overlay run far from the first (#6894). Bucket
49
+ * keys of model `n > 0` start with `model<n>~`.
50
+ */
51
+ export function forgetEmptyModelFrames(buckets, frames) {
52
+ const live = new Set([...buckets.keys()].map((key) => /^model(\d+)~/.exec(key)?.[1]));
53
+ for (const index of frames.keys())
54
+ if (index !== 0 && !live.has(String(index)))
55
+ frames.delete(index);
56
+ }
45
57
  //# sourceMappingURL=scene-batch-rebuild.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-batch-rebuild.js","sourceRoot":"","sources":["../src/scene-batch-rebuild.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAK/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAS1D,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CAAmC,OAKrE,EAAE,MAAiB,EAAE,QAAwB;IAC5C,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAC3C,MAAM,MAAM,GAAkF,EAAE,CAAC;IACjG,IAAI,CAAC;QACH,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM;gBACvB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,IAAI,KAAK,CAAC,WAAW;gBAAE,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1F,MAAM,KAAK,CAAC;IACd,CAAC;IAED,KAAK,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;gBACxB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACxC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACxC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"scene-batch-rebuild.js","sourceRoot":"","sources":["../src/scene-batch-rebuild.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAK/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAS1D,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CAAmC,OAKrE,EAAE,MAAiB,EAAE,QAAwB;IAC5C,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAC3C,MAAM,MAAM,GAAkF,EAAE,CAAC;IACjG,IAAI,CAAC;QACH,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM;gBACvB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,IAAI,KAAK,CAAC,WAAW;gBAAE,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1F,MAAM,KAAK,CAAC;IACd,CAAC;IAED,KAAK,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;gBACxB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACxC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACxC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAqC,EAAE,MAA4B;IACxG,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;QAAE,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACvG,CAAC"}
@@ -45,17 +45,18 @@ import type { BoundingBox } from './scene-raycaster.js';
45
45
  import type { ResidentGpuBytes } from './render-stats.js';
46
46
  import type { ColdGeometryProvider } from './residency.js';
47
47
  import type { SpatialChunkingConfig } from './chunk-grid.js';
48
+ import type { LoadTrace } from '@ifc-lite/load-trace';
48
49
  /** The measured external scene surface. See the module doc before widening. */
49
50
  export interface SceneContents {
50
51
  queueMeshes(meshes: MeshData[]): void;
51
52
  hasQueuedMeshes(): boolean;
52
- flushPending(device: GPUDevice, pipeline: RenderPipeline, budgetMs?: number): boolean;
53
+ flushPending(device: GPUDevice, pipeline: RenderPipeline, budgetMs?: number, trace?: LoadTrace, deterministicUploads?: boolean): boolean;
53
54
  appendToBatches(meshDataArray: MeshData[], device: GPUDevice, pipeline: RenderPipeline, isStreaming?: boolean): void;
54
55
  hasPendingBatches(): boolean;
55
56
  rebuildPendingBatches(device: GPUDevice, pipeline: RenderPipeline): void;
56
57
  hasStreamingFragments(): boolean;
57
58
  finalizeStreaming(device: GPUDevice, pipeline: RenderPipeline): void;
58
- finalizeStreamingAsync(device: GPUDevice, pipeline: RenderPipeline, budgetMs?: number): Promise<void>;
59
+ finalizeStreamingAsync(device: GPUDevice, pipeline: RenderPipeline, budgetMs?: number, trace?: LoadTrace): Promise<void>;
59
60
  isFinalizeInProgress(): boolean;
60
61
  setEphemeralStreamingMode(enabled: boolean): void;
61
62
  isEphemeralStreaming(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"scene-contents.d.ts","sourceRoot":"","sources":["../src/scene-contents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-contents.d.ts","sourceRoot":"","sources":["../src/scene-contents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { MeshData } from '@ifc-lite/geometry';
2
+ import type { LoadTrace } from '@ifc-lite/load-trace';
3
+ interface FlushOptions {
4
+ budgetMs: number;
5
+ maxIndicesPerAppend: number;
6
+ trace?: LoadTrace;
7
+ deterministicUploads: boolean;
8
+ }
9
+ /** Drain bounded streaming work. Count cohorts use one mesh per append so
10
+ * fragment creation is independent of arrival timing and frame boundaries.
11
+ * Both modes preserve the index-volume cap and advance before GPU allocation. */
12
+ export declare function flushQueuedMeshes(queue: MeshData[], readIndex: number, append: (meshes: MeshData[], nextReadIndex: number) => void, options: FlushOptions): {
13
+ queue: MeshData[];
14
+ readIndex: number;
15
+ processed: number;
16
+ };
17
+ /**
18
+ * Pure helper: compute the exclusive end index of the next flushPending()
19
+ * append chunk, starting at `readIndex` and bounded by BOTH mesh count
20
+ * (`hardEnd`, computed by the caller) and index volume (`maxIndicesPerAppend`).
21
+ * Always takes at least one mesh past `readIndex` -- a single oversize mesh is
22
+ * split upstream by splitMeshForStreaming, so the volume cap never blocks the
23
+ * first mesh of a chunk.
24
+ *
25
+ * Non-finite-safe by construction: every non-finite `next` (a malformed mesh
26
+ * reporting NaN, +Infinity, or -Infinity for `indices.length`) closes the
27
+ * chunk explicitly instead of being folded into the running `chunkIndices`
28
+ * total. Only NaN would have made a naive cap check `chunkIndices + next >
29
+ * maxIndicesPerAppend` silently `false` forever (`NaN > cap` is always
30
+ * `false`); +Infinity actually made that same check fire immediately
31
+ * (`chunkIndices + Infinity > cap` is `true`), closing the chunk after a
32
+ * single oversize mesh instead of growing it unbounded. The current
33
+ * `!(chunkIndices + next <= maxIndicesPerAppend)` form below rejects both
34
+ * NaN and +Infinity explicitly rather than relying on that asymmetry.
35
+ * -Infinity needed a separate, explicit check: `-Infinity <= cap` is always
36
+ * `true`, so `!(... <= cap)` lets it straight through, and folding it into
37
+ * `chunkIndices` would poison the running total to -Infinity permanently,
38
+ * keeping the cap vacuous for every mesh after it, not just the malformed
39
+ * one.
40
+ */
41
+ export declare function computeFlushChunkEnd(getIndicesLength: (meshIndex: number) => number, readIndex: number, hardEnd: number, maxIndicesPerAppend: number): number;
42
+ export {};
43
+ //# sourceMappingURL=scene-flush.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-flush.d.ts","sourceRoot":"","sources":["../src/scene-flush.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED;;iFAEiF;AACjF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EACpC,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,EAC3D,OAAO,EAAE,YAAY,GACpB;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAuC7D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAClC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAC/C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,MAAM,GAC1B,MAAM,CAuBR"}
@@ -0,0 +1,103 @@
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
+ /** Drain bounded streaming work. Count cohorts use one mesh per append so
5
+ * fragment creation is independent of arrival timing and frame boundaries.
6
+ * Both modes preserve the index-volume cap and advance before GPU allocation. */
7
+ export function flushQueuedMeshes(queue, readIndex, append, options) {
8
+ if (readIndex >= queue.length)
9
+ return { queue, readIndex, processed: 0 };
10
+ const countMode = options.deterministicUploads;
11
+ const maxMeshes = countMode ? 512 : 4096;
12
+ const meshesPerAppend = countMode ? 1 : 512;
13
+ const start = performance.now();
14
+ let processed = 0;
15
+ let processedIndices = 0;
16
+ while (readIndex < queue.length && processed < maxMeshes) {
17
+ if (processed > 0) {
18
+ if (countMode) {
19
+ if (!(processedIndices + queue[readIndex].indices.length <= options.maxIndicesPerAppend))
20
+ break;
21
+ }
22
+ else if (performance.now() - start >= options.budgetMs)
23
+ break;
24
+ }
25
+ const hardEnd = Math.min(queue.length, readIndex + meshesPerAppend, readIndex + maxMeshes - processed);
26
+ const chunkEnd = computeFlushChunkEnd((i) => queue[i].indices.length, readIndex, hardEnd, options.maxIndicesPerAppend);
27
+ // Preserve progress even for an oversize first mesh; a broken cursor must
28
+ // stop instead of spinning forever without allocating or serving workers.
29
+ if (chunkEnd === readIndex)
30
+ break;
31
+ const chunk = queue.slice(readIndex, chunkEnd);
32
+ readIndex = chunkEnd;
33
+ append(chunk, readIndex);
34
+ processed += chunk.length;
35
+ if (countMode)
36
+ processedIndices += chunk[0].indices.length;
37
+ }
38
+ if (readIndex >= queue.length) {
39
+ queue.length = 0;
40
+ readIndex = 0;
41
+ }
42
+ else if (readIndex >= 8192 && readIndex * 2 >= queue.length) {
43
+ queue = queue.slice(readIndex);
44
+ readIndex = 0;
45
+ }
46
+ if (processed > 0 && options.trace?.enabled) {
47
+ options.trace.record('scene.flushPending', start, performance.now(), {
48
+ meshes: processed, queued: queue.length - readIndex,
49
+ ...(countMode ? { uploadMode: 'count' } : {}),
50
+ });
51
+ }
52
+ return { queue, readIndex, processed };
53
+ }
54
+ /**
55
+ * Pure helper: compute the exclusive end index of the next flushPending()
56
+ * append chunk, starting at `readIndex` and bounded by BOTH mesh count
57
+ * (`hardEnd`, computed by the caller) and index volume (`maxIndicesPerAppend`).
58
+ * Always takes at least one mesh past `readIndex` -- a single oversize mesh is
59
+ * split upstream by splitMeshForStreaming, so the volume cap never blocks the
60
+ * first mesh of a chunk.
61
+ *
62
+ * Non-finite-safe by construction: every non-finite `next` (a malformed mesh
63
+ * reporting NaN, +Infinity, or -Infinity for `indices.length`) closes the
64
+ * chunk explicitly instead of being folded into the running `chunkIndices`
65
+ * total. Only NaN would have made a naive cap check `chunkIndices + next >
66
+ * maxIndicesPerAppend` silently `false` forever (`NaN > cap` is always
67
+ * `false`); +Infinity actually made that same check fire immediately
68
+ * (`chunkIndices + Infinity > cap` is `true`), closing the chunk after a
69
+ * single oversize mesh instead of growing it unbounded. The current
70
+ * `!(chunkIndices + next <= maxIndicesPerAppend)` form below rejects both
71
+ * NaN and +Infinity explicitly rather than relying on that asymmetry.
72
+ * -Infinity needed a separate, explicit check: `-Infinity <= cap` is always
73
+ * `true`, so `!(... <= cap)` lets it straight through, and folding it into
74
+ * `chunkIndices` would poison the running total to -Infinity permanently,
75
+ * keeping the cap vacuous for every mesh after it, not just the malformed
76
+ * one.
77
+ */
78
+ export function computeFlushChunkEnd(getIndicesLength, readIndex, hardEnd, maxIndicesPerAppend) {
79
+ let chunkEnd = readIndex;
80
+ let chunkIndices = 0;
81
+ while (chunkEnd < hardEnd) {
82
+ const next = getIndicesLength(chunkEnd);
83
+ if (!Number.isFinite(next)) {
84
+ // A malformed mesh reporting a non-finite indices.length (NaN, +/-Infinity)
85
+ // must close the chunk here rather than being folded into chunkIndices:
86
+ // `chunkIndices += -Infinity` would poison the running total to -Infinity
87
+ // permanently, making `!(chunkIndices + next <= maxIndicesPerAppend)`
88
+ // false forever and letting the volume cap never fire again for the
89
+ // rest of this chunk. Always take at least the first mesh past
90
+ // readIndex (same progress guarantee as the NaN case below).
91
+ if (chunkEnd === readIndex)
92
+ chunkEnd++;
93
+ break;
94
+ }
95
+ if (chunkEnd > readIndex && !(chunkIndices + next <= maxIndicesPerAppend)) {
96
+ break;
97
+ }
98
+ chunkIndices += next;
99
+ chunkEnd++;
100
+ }
101
+ return chunkEnd;
102
+ }
103
+ //# sourceMappingURL=scene-flush.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-flush.js","sourceRoot":"","sources":["../src/scene-flush.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scene-geometry.d.ts","sourceRoot":"","sources":["../src/scene-geometry.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEhG,yDAAyD;AACzD,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,YAAY,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAkChG;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,MAAM,CAStE;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE;IAAE,YAAY,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,SAAS,CAAC;IAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IAAC,eAAe,CAAC,EAAE,SAAS,CAAA;CAAE,GAC7G,IAAI,CAKN;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,QAAQ,EAAE,EASzB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACtC;IACD,UAAU,EAAE,YAAY,CAAC;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IACzE;;qEAEiE;IACjE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAyFA;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,QAAQ,EAAE,EAAE,CA6C1G;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACpF,WAAW,GAAG,IAAI,CAMpB"}
1
+ {"version":3,"file":"scene-geometry.d.ts","sourceRoot":"","sources":["../src/scene-geometry.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEhG,yDAAyD;AACzD,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,YAAY,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAkChG;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,MAAM,CAStE;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE;IAAE,YAAY,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,SAAS,CAAC;IAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IAAC,eAAe,CAAC,EAAE,SAAS,CAAA;CAAE,GAC7G,IAAI,CAKN;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,QAAQ,EAAE,EASzB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACtC;IACD,UAAU,EAAE,YAAY,CAAC;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IACzE;;qEAEiE;IACjE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CA0FA;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,QAAQ,EAAE,EAAE,CA6C1G;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACpF,WAAW,GAAG,IAAI,CAMpB"}
@@ -1,6 +1,7 @@
1
1
  /* This Source Code Form is subject to the terms of the Mozilla Public
2
2
  * License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ import { perfTally } from '@ifc-lite/load-trace';
4
5
  import { BATCH_CONSTANTS } from './constants.js';
5
6
  import { worldBounds } from './scene-precision.js';
6
7
  export { originPreservesTriangleTopology, topologySafeBatchOrigin } from './scene-precision.js';
@@ -144,6 +145,7 @@ forcedOrigin) {
144
145
  totalVertices += mesh.positions.length / 3;
145
146
  totalIndices += mesh.indices.length;
146
147
  }
148
+ perfTally('render.mergeGeometry', totalVertices, 'vertices'); // #6957
147
149
  // Create merged buffers
148
150
  const vertexBufferRaw = new ArrayBuffer(totalVertices * 7 * 4);
149
151
  const vertexData = new Float32Array(vertexBufferRaw); // position + normal
@@ -1 +1 @@
1
- {"version":3,"file":"scene-geometry.js","sourceRoot":"","sources":["../src/scene-geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-geometry.js","sourceRoot":"","sources":["../src/scene-geometry.ts"],"names":[],"mappings":"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"}
package/dist/scene.d.ts CHANGED
@@ -12,6 +12,7 @@ import { type SpatialChunkingConfig } from './chunk-grid.js';
12
12
  import { EntityColorTable } from './entity-color-table.js';
13
13
  import { type ColdGeometryProvider } from './residency.js';
14
14
  import { type ModelYaw } from './model-translation.js';
15
+ import { type LoadTrace } from '@ifc-lite/load-trace';
15
16
  import type { DecodedInstancedShard } from '@ifc-lite/geometry';
16
17
  import { type SceneDeviceRecoveryPreparation } from './scene-device-recovery.js';
17
18
  /**
@@ -78,31 +79,7 @@ export interface TexturedMesh {
78
79
  * `drawIndexed(indexCount, instanceCount)`. Buffers are Scene-owned, freed in clear().
79
80
  */
80
81
  export type { InstancedTemplateGPU } from './scene-instance-types.js';
81
- /**
82
- * Pure helper: compute the exclusive end index of the next flushPending()
83
- * append chunk, starting at `readIndex` and bounded by BOTH mesh count
84
- * (`hardEnd`, computed by the caller) and index volume (`maxIndicesPerAppend`).
85
- * Always takes at least one mesh past `readIndex` -- a single oversize mesh is
86
- * split upstream by splitMeshForStreaming, so the volume cap never blocks the
87
- * first mesh of a chunk.
88
- *
89
- * Non-finite-safe by construction: every non-finite `next` (a malformed mesh
90
- * reporting NaN, +Infinity, or -Infinity for `indices.length`) closes the
91
- * chunk explicitly instead of being folded into the running `chunkIndices`
92
- * total. Only NaN would have made a naive cap check `chunkIndices + next >
93
- * maxIndicesPerAppend` silently `false` forever (`NaN > cap` is always
94
- * `false`); +Infinity actually made that same check fire immediately
95
- * (`chunkIndices + Infinity > cap` is `true`), closing the chunk after a
96
- * single oversize mesh instead of growing it unbounded. The current
97
- * `!(chunkIndices + next <= maxIndicesPerAppend)` form below rejects both
98
- * NaN and +Infinity explicitly rather than relying on that asymmetry.
99
- * -Infinity needed a separate, explicit check: `-Infinity <= cap` is always
100
- * `true`, so `!(... <= cap)` lets it straight through, and folding it into
101
- * `chunkIndices` would poison the running total to -Infinity permanently,
102
- * keeping the cap vacuous for every mesh after it, not just the malformed
103
- * one.
104
- */
105
- export declare function computeFlushChunkEnd(getIndicesLength: (meshIndex: number) => number, readIndex: number, hardEnd: number, maxIndicesPerAppend: number): number;
82
+ export { computeFlushChunkEnd } from './scene-flush.js';
106
83
  export declare class Scene {
107
84
  private meshes;
108
85
  private batchedMeshes;
@@ -612,9 +589,13 @@ export declare class Scene {
612
589
  * @param budgetMs Time slice per call. The 12 ms default keeps the main
613
590
  * thread returning to the worker-message pump while geometry streams; a
614
591
  * host with nothing else to serve may drain faster (#6436).
592
+ * @param trace The streaming load's trace (#6979): a call that uploaded
593
+ * anything records one `scene.flushPending` span.
594
+ * @param deterministicUploads Benchmark-only per-mesh fragments with count
595
+ * and index-volume bounds. These totals describe a different timing workload.
615
596
  * @returns true if any meshes were processed (caller should render)
616
597
  */
617
- flushPending(device: GPUDevice, pipeline: RenderPipeline, budgetMs?: number): boolean;
598
+ flushPending(device: GPUDevice, pipeline: RenderPipeline, budgetMs?: number, trace?: LoadTrace, deterministicUploads?: boolean): boolean;
618
599
  /**
619
600
  * Create lightweight fragment batches from a single streaming batch.
620
601
  * Fragments are grouped by color and added to batchedMeshes for immediate
@@ -646,9 +627,11 @@ export declare class Scene {
646
627
  * @param device GPU device
647
628
  * @param pipeline Render pipeline
648
629
  * @param budgetMs Max milliseconds per chunk (default 8 — half a 60fps frame)
630
+ * @param trace The load's trace (#6979): `scene.finalize` from this call
631
+ * until the promise settles, with `scene.finalize.regroup` under it
649
632
  * @returns Promise that resolves when all batches are rebuilt
650
633
  */
651
- finalizeStreamingAsync(device: GPUDevice, pipeline: RenderPipeline, budgetMs?: number): Promise<void>;
634
+ finalizeStreamingAsync(device: GPUDevice, pipeline: RenderPipeline, budgetMs?: number, trace?: LoadTrace): Promise<void>;
652
635
  finishEphemeralStreaming(): void;
653
636
  /**
654
637
  * Release JS-side mesh geometry data (positions, normals, indices) after
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAA+B,KAAK,oBAAoB,EAAuD,MAAM,2BAA2B,CAAC;AAaxJ,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,UAAU,EAKhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA6B,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3F,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EAAsD,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEjH,OAAO,EAAE,gBAAgB,EAAmB,MAAM,yBAAyB,CAAC;AAI5E,OAAO,EAAwC,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGjG,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAK1E,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAO1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAYhE,OAAO,EAA6I,KAAK,8BAA8B,EAA0B,MAAM,4BAA4B,CAAC;AAapP;;;;;;;;;;GAUG;AACH;;0EAE0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC1E,YAAY,EAAE,SAAS,CAAC;IACxB,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,SAAS,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,YAAY,CAAC;IACxB,iFAAiF;IACjF,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;4EACwE;IACxE,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;;;;;;;;;;;;;OAeG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;oFAEgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,cAAc,CAAyC;IAC/D,OAAO,CAAC,qBAAqB,CAA+B;IAC5D,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,cAAc,CAAsB;IAC5C;;0FAEsF;IACtF,OAAO,CAAC,cAAc,CAA4D;IAClF,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,oBAAoB,CAAC,CAAkD;IAC/E,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IACtD,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,uBAAuB;IAG/B,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc;;;;;;;;;;IAI7D,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAC/C,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAE9C,gFAAgF;IAChF,oBAAoB,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc;IAM5F,uEAAuE;IACvE,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc;IAKhF,OAAO,CAAC,cAAc,CAAC,CAAY;IACnC;;;;;;;sEAOkE;IAClE,OAAO,CAAC,kBAAkB,CAA4C;IACtE,wEAAwE;IACxE,OAAO,CAAC,sBAAsB,CAA8B;IAC5D,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,kBAAkB,CAAiD;IAC3E;;oEAEgE;IAChE,OAAO,CAAC,oBAAoB,CAA4C;IACxE,OAAO,CAAC,eAAe,CAAC,CAAY;IACpC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,8BAA8B,CAAC,CAAS;IAAC,OAAO,CAAC,uBAAuB,CAAC,CAAS;IAC1F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAKjC;IACH,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,gBAAgB,CAA0B;IAKlD,OAAO,CAAC,uBAAuB,CAA+E;IAC9G,OAAO,CAAC,cAAc,CAAK;IAK3B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,yBAAyB,CAAS;IAI1C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAgC;IAC1E,OAAO,CAAC,8BAA8B,CAAM;IAC5C,OAAO,CAAC,wBAAwB,CAAS;IAMzC,OAAO,CAAC,eAAe,CAAkC;IAIzD,OAAO,CAAC,eAAe,CAAsC;IAK7D,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,qBAAqB,CAA0B;IACvD,OAAO,CAAC,yBAAyB,CAAS;IAK1C,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,oBAAoB,CAAyC;IACrE,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,oBAAoB,CAAK;IAEjC,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,uBAAuB,CAAS;IAKxC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAa;IAGhC,OAAO,CAAC,kBAAkB,CAA+C;IACzE,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAW;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAmC,CAAmB;IAK9E,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,qBAAqB,CAAkC;IAK/D,OAAO,CAAC,yBAAyB,CAAkC;IACnE;;8EAE0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAI5B;IAIF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAG3D,OAAO,CAAC,cAAc,CAA+E;IAKrG,OAAO,CAAC,uBAAuB,CAAK;IAGpC,OAAO,CAAC,gBAAgB,CAA0B;IAGlD,OAAO,CAAC,kBAAkB,CAAqB;IAG/C,OAAO,CAAC,kBAAkB,CAA0B;IAMpD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,kBAAkB,CAAa;IAEvC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,sBAAsB,CAAkB;IAEhD,qBAAqB,IAAI,8BAA8B;IACvD,8BAA8B,IAAI,IAAI;IACtC,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAEnF;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAKzB;;OAEG;IACH,SAAS,IAAI,IAAI,EAAE;IAInB;;OAEG;IACH,gBAAgB,IAAI,WAAW,EAAE;IAIjC;;6EAEyE;IACzE,oBAAoB,CAAC,UAAU,SAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAK1F;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI;IAQ9D,kBAAkB,IAAI,qBAAqB,GAAG,IAAI;IAYlD,wDAAwD;IACxD,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IASjD,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAItC;yEACqE;IACrE,mBAAmB,IAAI,IAAI;IAI3B,4DAA4D;IAC5D,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAK1C;;;;;OAKG;IACH,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAS/C,uBAAuB,IAAI,OAAO;IAIlC;;;;OAIG;IACH,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM;IAoCnG,+EAA+E;IAC/E,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI;IAIpE;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI3C;;;;;;;;;OASG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI3C;;oEAEgE;IAChE,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAK5C,uEAAuE;IACvE,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IASlD,yEAAyE;IACzE,mBAAmB,IAAI,MAAM;IAU7B;;2DAEuD;IACvD,OAAO,CAAC,eAAe;IAIvB;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAgEzB;;;;;;OAMG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpC;gFAC4E;IAC5E,OAAO,CAAC,gBAAgB;IA4CxB;;;;;;;OAOG;IACH,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,GAAG,MAAM;IAoBtE;;;;;;OAMG;IACH,gBAAgB,IAAI,IAAI;IAwDxB;;6BAEyB;IACzB,OAAO,CAAC,wBAAwB;IAIhC;;2DAEuD;IACvD,oBAAoB,IAAI,IAAI;IAI5B;;6EAEyE;IACzE,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI;IAIxD;;;;;;;;;;;;4EAYwE;IACxE,2BAA2B,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAmBhJ;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IASrB;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA2BrC;;;;;;OAMG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAiIzE;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAQ5D;;;;OAIG;IACH,6BAA6B,CAC3B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,EACtC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,GACvC,OAAO;IAQV;;;OAGG;IACH;;;;;;;;;OASG;IACH,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAqBpD;qFACiF;IACjF,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,SAAS;IA0BlG;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;;;;;;OAQG;IACH,eAAe,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,GAAE,OAAe,GAAG,IAAI;IAkF3H,sEAAsE;IACtE,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAYxE;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAkFjD;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;;;;OAKG;IACH,uBAAuB,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM;IAQ7D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAgBrF;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,4BAA4B;IAiEpC;;;;;;;;;;;;;;;;OAgBG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAiCrF;;0FAEsF;IACtF,OAAO,CAAC,wBAAwB;IAwBhC;;;;6CAIyC;IACzC,OAAO,CAAC,oBAAoB;IAU5B;;2EAEuE;IACvE,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,4BAA4B;IAIpC,oEAAoE;IACpE,mBAAmB,CAAC,UAAU,EAAE,MAAM;IACtC,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAMhG;;;qDAGiD;IACjD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IACrD,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAOtG,kDAAkD;IAClD,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM;IAQlF;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAqEpG,+CAA+C;IAC/C,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,GAAG,MAAM;IAUzG;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;IASrC,+CAA+C;IAC/C,eAAe,IAAI,OAAO;IAI1B;;;;qEAIiE;IACjE,qBAAqB,IAAI,OAAO;IAIhC;;4DAEwD;IACxD,oBAAoB,IAAI,OAAO;IAI/B;;2EAEuE;IACvE,oBAAoB,IAAI,OAAO;IAI/B,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIjD;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,SAAK,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,oBAAoB,UAAQ,GAAG,OAAO;IAUlI;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAmChC,OAAO,CAAC,qBAAqB;IAK7B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAUpE,OAAO,CAAC,eAAe;IAcvB,4EAA4E;IAC5E,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,sBAAsB;IA8C9B;;;;;;;;;;;;OAYG;IACH,sBAAsB,CACpB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,QAAQ,GAAE,MAAU,EACpB,KAAK,CAAC,EAAE,SAAS,GAChB,OAAO,CAAC,IAAI,CAAC;IA+IhB,wBAAwB,IAAI,IAAI;IAmChC;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB,IAAI,IAAI;IAyD3B;;OAEG;IACH,sBAAsB,IAAI,OAAO;IAIjC;;;;;;OAMG;IACH,gBAAgB,CACd,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EACtD,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,GACvB,IAAI;IAwGP;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IA8BzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAInC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAU9C;;;;;;;;;;;;OAYG;IACH,uBAAuB,CACrB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,eAAe,CAAC,EAAE,MAAM,GACvB,WAAW,GAAG,SAAS;IAsG1B;;;;;OAKG;IACH,iBAAiB,CACf,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EACxD,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,cAAc,GACxB,IAAI;IAmBP,oEAAoE;IACpE,mBAAmB,IAAI,IAAI;IAK3B,OAAO,CAAC,uBAAuB;IAM/B;;qEAEiE;IACjE,0BAA0B,IAAI,MAAM;IAIpC,0EAA0E;IAC1E,mBAAmB,IAAI,gBAAgB;IAIvC;;;;;;;;;;;OAWG;IACH,iBAAiB,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI;IAI1F,yGAAyG;IACzG,uBAAuB,IAAI,IAAI;IAI/B;;OAEG;IACH,6EAA6E;IAC7E,iBAAiB,IAAI,SAAS,YAAY,EAAE;IAI5C;;;;;;;;;OASG;IACH,mBAAmB,IAAI,gBAAgB;IAavC;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI3C;8DAC0D;IAC1D,qBAAqB,IAAI,SAAS,oBAAoB,EAAE;IAKxD,wEAAwE;IACxE,OAAO,CAAC,6BAA6B;IAQrC;;yDAEqD;IACrD,wBAAwB,IAAI,MAAM,EAAE;IAQpC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IA6C5D;;;;;;;;;OASG;IACH,OAAO,CAAC,2BAA2B;IAgCnC;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,SAAI,GAAG,IAAI;IA0KxF,OAAO,CAAC,uBAAuB;IAG/B,sHAAsH;IACtH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAKvF,4DAA4D;IAC5D,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAG7C,+EAA+E;IAC/E,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAW/D;kDAC8C;IAC7C,qBAAqB,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIlD;;2EAEuE;IACvE,uBAAuB,IAAI,MAAM;IAIjC;;;wFAGoF;IACpF,uBAAuB,IAAI,QAAQ,EAAE;IASrC;+EAC2E;IAC3E,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAK/D;;;iEAG6D;IAC7D,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,SAAS;IAMrE;;;;;;wFAMoF;IACpF,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI;IA+CrH;;oFAEgF;IAChF,OAAO,CAAC,yBAAyB;IASjC;;;;;;;OAOG;IACH,sBAAsB,CACpB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,EACjD,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,GAClD,IAAI;IA8CP;;;;OAIG;IACH,0BAA0B,CACxB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,GAC/E,IAAI;IAwBP;yEACqE;IACrE,uBAAuB,IAAI,OAAO;IAIlC;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,CAClB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,EACtD,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,EACnD,UAAU,EAAE,MAAM,GACjB,IAAI;IAmCP;;;+EAG2E;IAC3E,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,2BAA2B;IAEnC;;;;;;OAMG;IACH;;;;wCAIoC;IACpC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAKnC,OAAO,CAAC,kBAAkB;IA2G1B;;mFAE+E;IAC/E,OAAO,CAAC,0BAA0B;IAclC;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAwBpC,KAAK,IAAI,IAAI;IASb;;;;;;;OAOG;IACH,iBAAiB,IAAI,IAAI;IAOzB;mFAC+E;IAC/E,2BAA2B,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,sBAAW,GAAG,IAAI;IAaxH,OAAO,CAAC,gBAAgB;IAkDxB;;OAEG;IACH,SAAS,IAAI;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,GAAG,IAAI;IA8D1G;;;OAGG;IACH,wBAAwB,IAAI,MAAM,EAAE;IAcpC;;;;;OAKG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAK3D;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI;IA6ChH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IA8B1D;;;;OAIG;IACH,OAAO,CACL,SAAS,EAAE,IAAI,EACf,MAAM,EAAE,IAAI,EACZ,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAChC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,GAC1B,UAAU,GAAG,IAAI;IAwDpB;;;;;;;;;;;;;OAaG;IACH,UAAU,CACR,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAChC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,EAC3B,GAAG,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC7B,GAAG,CAAC,MAAM,CAAC;CA+Bf"}