@ifc-lite/renderer 5.0.0 → 6.0.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 (280) hide show
  1. package/dist/camera-projection.d.ts +2 -0
  2. package/dist/camera-projection.d.ts.map +1 -1
  3. package/dist/camera-projection.js +46 -0
  4. package/dist/camera-projection.js.map +1 -1
  5. package/dist/chunk-grid.d.ts +21 -0
  6. package/dist/chunk-grid.d.ts.map +1 -1
  7. package/dist/chunk-grid.js +25 -7
  8. package/dist/chunk-grid.js.map +1 -1
  9. package/dist/clash-solid-pipeline.d.ts.map +1 -1
  10. package/dist/clash-solid-pipeline.js +4 -2
  11. package/dist/clash-solid-pipeline.js.map +1 -1
  12. package/dist/deviation/deviation-computer.d.ts +4 -0
  13. package/dist/deviation/deviation-computer.d.ts.map +1 -1
  14. package/dist/deviation/deviation-computer.js +20 -0
  15. package/dist/deviation/deviation-computer.js.map +1 -1
  16. package/dist/deviation/deviation-readback.d.ts +18 -0
  17. package/dist/deviation/deviation-readback.d.ts.map +1 -0
  18. package/dist/deviation/deviation-readback.js +67 -0
  19. package/dist/deviation/deviation-readback.js.map +1 -0
  20. package/dist/edge-pass.d.ts +16 -0
  21. package/dist/edge-pass.d.ts.map +1 -1
  22. package/dist/edge-pass.js +75 -1
  23. package/dist/edge-pass.js.map +1 -1
  24. package/dist/entity-color-table.d.ts +140 -0
  25. package/dist/entity-color-table.d.ts.map +1 -0
  26. package/dist/entity-color-table.js +238 -0
  27. package/dist/entity-color-table.js.map +1 -0
  28. package/dist/gpu-upload-guard.d.ts +1 -1
  29. package/dist/gpu-upload-guard.js +1 -1
  30. package/dist/hover-mesh-cache.d.ts +29 -0
  31. package/dist/hover-mesh-cache.d.ts.map +1 -0
  32. package/dist/hover-mesh-cache.js +31 -0
  33. package/dist/hover-mesh-cache.js.map +1 -0
  34. package/dist/index.d.ts +14 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +146 -161
  37. package/dist/index.js.map +1 -1
  38. package/dist/individual-mesh-upload.d.ts +24 -0
  39. package/dist/individual-mesh-upload.d.ts.map +1 -0
  40. package/dist/individual-mesh-upload.js +85 -0
  41. package/dist/individual-mesh-upload.js.map +1 -0
  42. package/dist/instanced-render.d.ts +19 -9
  43. package/dist/instanced-render.d.ts.map +1 -1
  44. package/dist/instanced-render.js +36 -24
  45. package/dist/instanced-render.js.map +1 -1
  46. package/dist/instanced-rte.d.ts +68 -7
  47. package/dist/instanced-rte.d.ts.map +1 -1
  48. package/dist/instanced-rte.js +98 -17
  49. package/dist/instanced-rte.js.map +1 -1
  50. package/dist/instanced-vertex-layout.d.ts +26 -0
  51. package/dist/instanced-vertex-layout.d.ts.map +1 -0
  52. package/dist/instanced-vertex-layout.js +61 -0
  53. package/dist/instanced-vertex-layout.js.map +1 -0
  54. package/dist/mesh-rte-uniforms.d.ts +4 -2
  55. package/dist/mesh-rte-uniforms.d.ts.map +1 -1
  56. package/dist/mesh-rte-uniforms.js +4 -2
  57. package/dist/mesh-rte-uniforms.js.map +1 -1
  58. package/dist/model-translation.d.ts.map +1 -1
  59. package/dist/model-translation.js +0 -7
  60. package/dist/model-translation.js.map +1 -1
  61. package/dist/outline-params.d.ts +45 -0
  62. package/dist/outline-params.d.ts.map +1 -0
  63. package/dist/outline-params.js +54 -0
  64. package/dist/outline-params.js.map +1 -0
  65. package/dist/overlay-routing.d.ts +8 -8
  66. package/dist/overlay-routing.js +2 -2
  67. package/dist/overlay-routing.js.map +1 -1
  68. package/dist/overlay-theme.d.ts +9 -3
  69. package/dist/overlay-theme.d.ts.map +1 -1
  70. package/dist/overlay-theme.js.map +1 -1
  71. package/dist/partial-batch-requests.d.ts +2 -2
  72. package/dist/pick-mesh-budget.d.ts +28 -0
  73. package/dist/pick-mesh-budget.d.ts.map +1 -0
  74. package/dist/pick-mesh-budget.js +74 -0
  75. package/dist/pick-mesh-budget.js.map +1 -0
  76. package/dist/picker-rte-uniforms.d.ts +7 -1
  77. package/dist/picker-rte-uniforms.d.ts.map +1 -1
  78. package/dist/picker-rte-uniforms.js +9 -1
  79. package/dist/picker-rte-uniforms.js.map +1 -1
  80. package/dist/picker.d.ts.map +1 -1
  81. package/dist/picker.js +15 -28
  82. package/dist/picker.js.map +1 -1
  83. package/dist/picking-manager.d.ts.map +1 -1
  84. package/dist/picking-manager.js +4 -47
  85. package/dist/picking-manager.js.map +1 -1
  86. package/dist/pipeline.d.ts +7 -1
  87. package/dist/pipeline.d.ts.map +1 -1
  88. package/dist/pipeline.js +37 -59
  89. package/dist/pipeline.js.map +1 -1
  90. package/dist/point-picker.d.ts.map +1 -1
  91. package/dist/point-picker.js +7 -2
  92. package/dist/point-picker.js.map +1 -1
  93. package/dist/pointcloud/point-cloud-node.js +1 -1
  94. package/dist/pointcloud/point-cloud-node.js.map +1 -1
  95. package/dist/pointcloud/point-cloud-renderer.d.ts.map +1 -1
  96. package/dist/pointcloud/point-cloud-renderer.js +3 -1
  97. package/dist/pointcloud/point-cloud-renderer.js.map +1 -1
  98. package/dist/pointcloud/point-cloud-uniforms.d.ts +5 -1
  99. package/dist/pointcloud/point-cloud-uniforms.d.ts.map +1 -1
  100. package/dist/pointcloud/point-cloud-uniforms.js +7 -1
  101. package/dist/pointcloud/point-cloud-uniforms.js.map +1 -1
  102. package/dist/post-pass-chain.d.ts +14 -1
  103. package/dist/post-pass-chain.d.ts.map +1 -1
  104. package/dist/post-pass-chain.js +31 -2
  105. package/dist/post-pass-chain.js.map +1 -1
  106. package/dist/raycast-engine.d.ts +5 -1
  107. package/dist/raycast-engine.d.ts.map +1 -1
  108. package/dist/raycast-engine.js +20 -8
  109. package/dist/raycast-engine.js.map +1 -1
  110. package/dist/raycast-point-cloud-query.d.ts +2 -0
  111. package/dist/raycast-point-cloud-query.d.ts.map +1 -1
  112. package/dist/raycast-point-cloud-query.js +7 -0
  113. package/dist/raycast-point-cloud-query.js.map +1 -1
  114. package/dist/raycast-source-curve-query.d.ts +13 -0
  115. package/dist/raycast-source-curve-query.d.ts.map +1 -0
  116. package/dist/raycast-source-curve-query.js +17 -0
  117. package/dist/raycast-source-curve-query.js.map +1 -0
  118. package/dist/reference-image-pipeline.d.ts.map +1 -1
  119. package/dist/reference-image-pipeline.js +4 -2
  120. package/dist/reference-image-pipeline.js.map +1 -1
  121. package/dist/relative-to-eye-abi.d.ts +36 -0
  122. package/dist/relative-to-eye-abi.d.ts.map +1 -0
  123. package/dist/relative-to-eye-abi.js +72 -0
  124. package/dist/relative-to-eye-abi.js.map +1 -0
  125. package/dist/relative-to-eye.d.ts +15 -35
  126. package/dist/relative-to-eye.d.ts.map +1 -1
  127. package/dist/relative-to-eye.js +46 -74
  128. package/dist/relative-to-eye.js.map +1 -1
  129. package/dist/render-stats.d.ts +5 -1
  130. package/dist/render-stats.d.ts.map +1 -1
  131. package/dist/render-stats.js +1 -1
  132. package/dist/render-stats.js.map +1 -1
  133. package/dist/renderer-overlays.d.ts.map +1 -1
  134. package/dist/renderer-overlays.js +3 -2
  135. package/dist/renderer-overlays.js.map +1 -1
  136. package/dist/scene-batch-rebuild.d.ts +1 -2
  137. package/dist/scene-batch-rebuild.d.ts.map +1 -1
  138. package/dist/scene-batch-rebuild.js +4 -8
  139. package/dist/scene-batch-rebuild.js.map +1 -1
  140. package/dist/scene-batch-upload.d.ts.map +1 -1
  141. package/dist/scene-batch-upload.js +7 -3
  142. package/dist/scene-batch-upload.js.map +1 -1
  143. package/dist/scene-contents.d.ts +1 -1
  144. package/dist/scene-contents.d.ts.map +1 -1
  145. package/dist/scene-derived-batches.d.ts +19 -64
  146. package/dist/scene-derived-batches.d.ts.map +1 -1
  147. package/dist/scene-derived-batches.js +16 -51
  148. package/dist/scene-derived-batches.js.map +1 -1
  149. package/dist/scene-device-recovery.d.ts +3 -3
  150. package/dist/scene-device-recovery.d.ts.map +1 -1
  151. package/dist/scene-device-recovery.js +12 -9
  152. package/dist/scene-device-recovery.js.map +1 -1
  153. package/dist/scene-geometry.d.ts +6 -6
  154. package/dist/scene-geometry.d.ts.map +1 -1
  155. package/dist/scene-geometry.js +8 -9
  156. package/dist/scene-geometry.js.map +1 -1
  157. package/dist/scene-instance-bounds.d.ts +1 -1
  158. package/dist/scene-instance-bounds.d.ts.map +1 -1
  159. package/dist/scene-instance-bounds.js +4 -16
  160. package/dist/scene-instance-bounds.js.map +1 -1
  161. package/dist/scene-instance-materialization.d.ts.map +1 -1
  162. package/dist/scene-instance-materialization.js +4 -4
  163. package/dist/scene-instance-materialization.js.map +1 -1
  164. package/dist/scene-instance-translation.d.ts +6 -10
  165. package/dist/scene-instance-translation.d.ts.map +1 -1
  166. package/dist/scene-instance-translation.js +9 -31
  167. package/dist/scene-instance-translation.js.map +1 -1
  168. package/dist/scene-instance-types.d.ts +11 -2
  169. package/dist/scene-instance-types.d.ts.map +1 -1
  170. package/dist/scene-instance-types.js +7 -1
  171. package/dist/scene-instance-types.js.map +1 -1
  172. package/dist/scene-model-translation.d.ts +1 -2
  173. package/dist/scene-model-translation.d.ts.map +1 -1
  174. package/dist/scene-model-translation.js +4 -3
  175. package/dist/scene-model-translation.js.map +1 -1
  176. package/dist/scene.d.ts +43 -38
  177. package/dist/scene.d.ts.map +1 -1
  178. package/dist/scene.js +121 -129
  179. package/dist/scene.js.map +1 -1
  180. package/dist/section-2d-line-buffer.d.ts +2 -2
  181. package/dist/section-2d-line-buffer.d.ts.map +1 -1
  182. package/dist/section-2d-line-buffer.js +10 -11
  183. package/dist/section-2d-line-buffer.js.map +1 -1
  184. package/dist/section-2d-overlay.d.ts +6 -4
  185. package/dist/section-2d-overlay.d.ts.map +1 -1
  186. package/dist/section-2d-overlay.js +45 -21
  187. package/dist/section-2d-overlay.js.map +1 -1
  188. package/dist/section-2d-types.d.ts +1 -1
  189. package/dist/section-2d-types.d.ts.map +1 -1
  190. package/dist/section-2d-types.js +1 -1
  191. package/dist/section-2d-types.js.map +1 -1
  192. package/dist/section-plane.d.ts.map +1 -1
  193. package/dist/section-plane.js +3 -1
  194. package/dist/section-plane.js.map +1 -1
  195. package/dist/selection-mask-pass.d.ts +85 -0
  196. package/dist/selection-mask-pass.d.ts.map +1 -0
  197. package/dist/selection-mask-pass.js +170 -0
  198. package/dist/selection-mask-pass.js.map +1 -0
  199. package/dist/selection-mask-pipelines.d.ts +57 -0
  200. package/dist/selection-mask-pipelines.d.ts.map +1 -0
  201. package/dist/selection-mask-pipelines.js +150 -0
  202. package/dist/selection-mask-pipelines.js.map +1 -0
  203. package/dist/selection-outline-frame.d.ts +47 -0
  204. package/dist/selection-outline-frame.d.ts.map +1 -0
  205. package/dist/selection-outline-frame.js +122 -0
  206. package/dist/selection-outline-frame.js.map +1 -0
  207. package/dist/shaders/depth-reconstruct.wgsl.d.ts +7 -2
  208. package/dist/shaders/depth-reconstruct.wgsl.d.ts.map +1 -1
  209. package/dist/shaders/depth-reconstruct.wgsl.js +8 -3
  210. package/dist/shaders/depth-reconstruct.wgsl.js.map +1 -1
  211. package/dist/shaders/edges.wgsl.d.ts +18 -0
  212. package/dist/shaders/edges.wgsl.d.ts.map +1 -1
  213. package/dist/shaders/edges.wgsl.js +99 -0
  214. package/dist/shaders/edges.wgsl.js.map +1 -1
  215. package/dist/shaders/entity-color-table.wgsl.d.ts +2 -0
  216. package/dist/shaders/entity-color-table.wgsl.d.ts.map +1 -0
  217. package/dist/shaders/entity-color-table.wgsl.js +85 -0
  218. package/dist/shaders/entity-color-table.wgsl.js.map +1 -0
  219. package/dist/shaders/main.wgsl.d.ts +1 -1
  220. package/dist/shaders/main.wgsl.d.ts.map +1 -1
  221. package/dist/shaders/main.wgsl.js +45 -113
  222. package/dist/shaders/main.wgsl.js.map +1 -1
  223. package/dist/shaders/mesh-uniforms.wgsl.d.ts +2 -0
  224. package/dist/shaders/mesh-uniforms.wgsl.d.ts.map +1 -0
  225. package/dist/shaders/mesh-uniforms.wgsl.js +53 -0
  226. package/dist/shaders/mesh-uniforms.wgsl.js.map +1 -0
  227. package/dist/shaders/section-2d-overlay.wgsl.d.ts +1 -0
  228. package/dist/shaders/section-2d-overlay.wgsl.d.ts.map +1 -1
  229. package/dist/shaders/section-2d-overlay.wgsl.js +3 -2
  230. package/dist/shaders/section-2d-overlay.wgsl.js.map +1 -1
  231. package/dist/shaders/selection-mask.wgsl.d.ts +16 -0
  232. package/dist/shaders/selection-mask.wgsl.d.ts.map +1 -0
  233. package/dist/shaders/selection-mask.wgsl.js +138 -0
  234. package/dist/shaders/selection-mask.wgsl.js.map +1 -0
  235. package/dist/shaders/shadow.wgsl.d.ts +1 -1
  236. package/dist/shaders/shadow.wgsl.d.ts.map +1 -1
  237. package/dist/shaders/shadow.wgsl.js +3 -3
  238. package/dist/shadow-occluders.d.ts.map +1 -1
  239. package/dist/shadow-occluders.js +1 -0
  240. package/dist/shadow-occluders.js.map +1 -1
  241. package/dist/shadow-pass.d.ts +0 -1
  242. package/dist/shadow-pass.d.ts.map +1 -1
  243. package/dist/shadow-pass.js +26 -32
  244. package/dist/shadow-pass.js.map +1 -1
  245. package/dist/shadow-types.d.ts +3 -0
  246. package/dist/shadow-types.d.ts.map +1 -1
  247. package/dist/shadow-types.js.map +1 -1
  248. package/dist/snap-detector.d.ts +5 -0
  249. package/dist/snap-detector.d.ts.map +1 -1
  250. package/dist/snap-detector.js.map +1 -1
  251. package/dist/source-curve-clipping.d.ts +7 -0
  252. package/dist/source-curve-clipping.d.ts.map +1 -0
  253. package/dist/source-curve-clipping.js +165 -0
  254. package/dist/source-curve-clipping.js.map +1 -0
  255. package/dist/source-curve-snap.d.ts +49 -0
  256. package/dist/source-curve-snap.d.ts.map +1 -0
  257. package/dist/source-curve-snap.js +197 -0
  258. package/dist/source-curve-snap.js.map +1 -0
  259. package/dist/symbolic-overlay-pipelines.d.ts +1 -1
  260. package/dist/symbolic-overlay-pipelines.d.ts.map +1 -1
  261. package/dist/symbolic-overlay-pipelines.js +13 -22
  262. package/dist/symbolic-overlay-pipelines.js.map +1 -1
  263. package/dist/symbolic-text-rte.d.ts +16 -0
  264. package/dist/symbolic-text-rte.d.ts.map +1 -0
  265. package/dist/symbolic-text-rte.js +37 -0
  266. package/dist/symbolic-text-rte.js.map +1 -0
  267. package/dist/textured-vertices.d.ts.map +1 -1
  268. package/dist/textured-vertices.js +2 -3
  269. package/dist/textured-vertices.js.map +1 -1
  270. package/dist/types.d.ts +10 -0
  271. package/dist/types.d.ts.map +1 -1
  272. package/dist/visual-enhancement.d.ts +0 -4
  273. package/dist/visual-enhancement.d.ts.map +1 -1
  274. package/dist/visual-enhancement.js +0 -5
  275. package/dist/visual-enhancement.js.map +1 -1
  276. package/dist/xray-alpha.d.ts +7 -3
  277. package/dist/xray-alpha.d.ts.map +1 -1
  278. package/dist/xray-alpha.js +11 -7
  279. package/dist/xray-alpha.js.map +1 -1
  280. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- const INSTANCE_STRIDE_BYTES = 120;
1
+ import { INSTANCE_STRIDE_BYTES } from './instanced-render.js';
2
2
  /** CPU expansion retains the canonical f64 occurrence anchor rather than
3
3
  * round-tripping a national-grid translation through the V1 f32 matrix. */
4
4
  export function materializeInstances(expressId, occ, templates) {
@@ -15,9 +15,9 @@ export function materializeInstances(expressId, occ, templates) {
15
15
  const anchorOffset = (b / INSTANCE_STRIDE_BYTES) * 3;
16
16
  const raw12 = dv.getFloat32(b + 48, true), raw13 = dv.getFloat32(b + 52, true), raw14 = dv.getFloat32(b + 56, true);
17
17
  const anchors = tpl.canonicalAnchors, baseline = tpl.canonicalMatrixTranslations;
18
- // Model/entity placement mutates the V1 matrix after decode. Do not apply
19
- // a stale anchor to an edited occurrence; the forthcoming V2 GPU record
20
- // owns editable f64 anchors. Unedited occurrences retain source precision.
18
+ // Model/entity placement mutates the matrix after decode. Do not apply a
19
+ // stale anchor to an edited occurrence whose matrix no longer matches its
20
+ // baseline. Unedited occurrences retain source precision.
21
21
  const canonical = anchors && baseline
22
22
  && raw12 === baseline[anchorOffset] && raw13 === baseline[anchorOffset + 1] && raw14 === baseline[anchorOffset + 2];
23
23
  const m12 = canonical ? anchors[anchorOffset] : raw12;
@@ -1 +1 @@
1
- {"version":3,"file":"scene-instance-materialization.js","sourceRoot":"","sources":["../src/scene-instance-materialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-instance-materialization.js","sourceRoot":"","sources":["../src/scene-instance-materialization.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,13 @@
1
1
  export interface InstanceTranslationTarget {
2
2
  instanceData: ArrayBuffer;
3
- canonicalAnchors?: Float64Array;
3
+ canonicalAnchors: Float64Array;
4
4
  canonicalMatrixTranslations?: Float32Array;
5
5
  }
6
- export interface InstanceTranslationResult {
7
- translation: Float32Array;
8
- /** Legacy records retain static split anchors; V2 lanes are submission data. */
9
- legacyAnchors?: Float32Array;
10
- }
11
6
  /**
12
- * Apply a world-frame delta without turning V2's camera-relative GPU lanes
13
- * into a durable source origin. The f64 sidecar remains authoritative for the
14
- * next RTE submission; only pre-V2 records receive a compatibility anchor.
7
+ * Apply a world-frame delta to one occurrence: the f32 matrix translation in
8
+ * the CPU record and the authoritative f64 anchor. The GPU delta stream is
9
+ * derived from the anchor, so the caller invalidates it (#6393). Returns the
10
+ * new matrix translation for the in-place GPU record write.
15
11
  */
16
- export declare function translateInstanceRecord(target: InstanceTranslationTarget, byteOffset: number, delta: readonly [number, number, number]): InstanceTranslationResult;
12
+ export declare function translateInstanceRecord(target: InstanceTranslationTarget, byteOffset: number, delta: readonly [number, number, number]): Float32Array;
17
13
  //# sourceMappingURL=scene-instance-translation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-instance-translation.d.ts","sourceRoot":"","sources":["../src/scene-instance-translation.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,2BAA2B,CAAC,EAAE,YAAY,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,YAAY,CAAC;IAC1B,gFAAgF;IAChF,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,yBAAyB,EACjC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACvC,yBAAyB,CA0C3B"}
1
+ {"version":3,"file":"scene-instance-translation.d.ts","sourceRoot":"","sources":["../src/scene-instance-translation.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,WAAW,CAAC;IAC1B,gBAAgB,EAAE,YAAY,CAAC;IAC/B,2BAA2B,CAAC,EAAE,YAAY,CAAC;CAC5C;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,yBAAyB,EACjC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACvC,YAAY,CAcd"}
@@ -2,11 +2,12 @@
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
4
  /** Mutation of one CPU-side instanced occurrence placement. */
5
- import { INSTANCE_ANCHOR_HIGH_OFFSET, INSTANCE_ANCHOR_LOW_OFFSET, INSTANCE_STRIDE_BYTES, } from './instanced-render.js';
5
+ import { INSTANCE_STRIDE_BYTES } from './instanced-render.js';
6
6
  /**
7
- * Apply a world-frame delta without turning V2's camera-relative GPU lanes
8
- * into a durable source origin. The f64 sidecar remains authoritative for the
9
- * next RTE submission; only pre-V2 records receive a compatibility anchor.
7
+ * Apply a world-frame delta to one occurrence: the f32 matrix translation in
8
+ * the CPU record and the authoritative f64 anchor. The GPU delta stream is
9
+ * derived from the anchor, so the caller invalidates it (#6393). Returns the
10
+ * new matrix translation for the in-place GPU record write.
10
11
  */
11
12
  export function translateInstanceRecord(target, byteOffset, delta) {
12
13
  const dv = new DataView(target.instanceData);
@@ -19,32 +20,9 @@ export function translateInstanceRecord(target, byteOffset, delta) {
19
20
  dv.setFloat32(byteOffset + 52, translation[1], true);
20
21
  dv.setFloat32(byteOffset + 56, translation[2], true);
21
22
  const anchorOffset = (byteOffset / INSTANCE_STRIDE_BYTES) * 3;
22
- if (target.canonicalAnchors) {
23
- for (let axis = 0; axis < 3; axis++) {
24
- target.canonicalAnchors[anchorOffset + axis] += delta[axis];
25
- // CPU records remain the durable source of truth for bounds, recovery,
26
- // and materialisation. Only the GPU copy of these lanes is overwritten
27
- // with a drawable-minus-camera delta at submission time.
28
- const value = target.canonicalAnchors[anchorOffset + axis];
29
- const high = Math.fround(value);
30
- dv.setFloat32(byteOffset + INSTANCE_ANCHOR_HIGH_OFFSET + axis * 4, high, true);
31
- dv.setFloat32(byteOffset + INSTANCE_ANCHOR_LOW_OFFSET + axis * 4, Math.fround(value - high), true);
32
- }
33
- }
34
- if (target.canonicalMatrixTranslations) {
35
- target.canonicalMatrixTranslations.set(translation, anchorOffset);
36
- }
37
- if (target.canonicalAnchors)
38
- return { translation };
39
- const legacyAnchors = new Float32Array(8);
40
- for (let axis = 0; axis < 3; axis++) {
41
- const value = translation[axis];
42
- const high = Math.fround(value);
43
- legacyAnchors[axis] = high;
44
- legacyAnchors[axis + 4] = Math.fround(value - high);
45
- dv.setFloat32(byteOffset + INSTANCE_ANCHOR_HIGH_OFFSET + axis * 4, high, true);
46
- dv.setFloat32(byteOffset + INSTANCE_ANCHOR_LOW_OFFSET + axis * 4, legacyAnchors[axis + 4], true);
47
- }
48
- return { translation, legacyAnchors };
23
+ for (let axis = 0; axis < 3; axis++)
24
+ target.canonicalAnchors[anchorOffset + axis] += delta[axis];
25
+ target.canonicalMatrixTranslations?.set(translation, anchorOffset);
26
+ return translation;
49
27
  }
50
28
  //# sourceMappingURL=scene-instance-translation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-instance-translation.js","sourceRoot":"","sources":["../src/scene-instance-translation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-instance-translation.js","sourceRoot":"","sources":["../src/scene-instance-translation.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,+DAA+D;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAQ9D;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAiC,EACjC,UAAkB,EAClB,KAAwC;IAExC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,YAAY,CAAC;QACnC,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAC/C,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAC/C,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;KAChD,CAAC,CAAC;IACH,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC;IACtD,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC;IACtD,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,CAAC,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC9D,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAE,CAAC;IAClG,MAAM,CAAC,2BAA2B,EAAE,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACnE,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { InstancedRteDeltaStream } from './instanced-rte.js';
1
2
  export interface InstancedTemplateGPU {
2
3
  /** Owning model (federation index). Templates are identified by
3
4
  * `(modelIndex, slot)`, so one model's templates can be freed without
@@ -11,6 +12,9 @@ export interface InstancedTemplateGPU {
11
12
  instanceCount: number;
12
13
  /** Canonical f64 Y-up drawable origins, xyz for each GPU record. */
13
14
  canonicalAnchors: Float64Array;
15
+ /** Per-occurrence camera-relative deltas derived from `canonicalAnchors`,
16
+ * bound at vertex slot 2 (#6393). Invalidate whenever the anchors change. */
17
+ rteDeltas: InstancedRteDeltaStream;
14
18
  /** Union of the occurrences' world AABBs (null when no occurrence has a
15
19
  * finite box — such templates are never culled). Same tuple layout as
16
20
  * BatchedMesh.bounds so the render loop's frustum test is shared. */
@@ -39,6 +43,9 @@ export interface InstancedOccurrence {
39
43
  /** Originating `IfcRepresentationItem` id (#2985), absent when the shard
40
44
  * carried none. CPU-side by design — see `InstancedRenderTemplate.itemIds`. */
41
45
  itemId?: number;
46
+ /** The occurrence's finish bits in the flags lane (#5984,
47
+ * `INSTANCE_FINISH_FLAGS_MASK`), re-ORed by every selection/visibility write. */
48
+ finishBits?: number;
42
49
  }
43
50
  /** Compact CPU-side copy of one instanced template, retained so CPU consumers
44
51
  * (bounds / raycast / measure / section / export) can reach instanced geometry
@@ -53,11 +60,13 @@ export interface InstancedTemplateCpu {
53
60
  normals: Float32Array;
54
61
  indices: Uint32Array;
55
62
  instanceData: ArrayBuffer;
56
- /** Canonical f64 occurrence anchors (xyz per record). These are deliberately
57
- * CPU-side until the V2 GPU instance ABI is enabled. */
63
+ /** Canonical f64 occurrence anchors (xyz per record): the source of truth
64
+ * for bounds and the GPU delta stream. Shared with the GPU template. */
58
65
  canonicalAnchors: Float64Array;
59
66
  canonicalMatrixTranslations: Float32Array;
60
67
  localMin: [number, number, number];
61
68
  localMax: [number, number, number];
62
69
  }
70
+ /** Free every GPU buffer one instanced template owns. */
71
+ export declare function destroyInstancedTemplateGpu(template: InstancedTemplateGPU): void;
63
72
  //# sourceMappingURL=scene-instance-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-instance-types.d.ts","sourceRoot":"","sources":["../src/scene-instance-types.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC;;;8CAG0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,SAAS,CAAC;IACxB,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,SAAS,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,gBAAgB,EAAE,YAAY,CAAC;IAC/B;;0EAEsE;IACtE,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,GAAG,IAAI,CAAC;IAChF;;6DAEyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB;;6DAEyD;IACzD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;0FAC0F;AAC1F,MAAM,WAAW,mBAAmB;IAClC;;mDAE+C;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD;oFACgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;qFAKqF;AACrF,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,YAAY,EAAE,WAAW,CAAC;IAC1B;4DACwD;IACxD,gBAAgB,EAAE,YAAY,CAAC;IAC/B,2BAA2B,EAAE,YAAY,CAAC;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC"}
1
+ {"version":3,"file":"scene-instance-types.d.ts","sourceRoot":"","sources":["../src/scene-instance-types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC;;;8CAG0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,SAAS,CAAC;IACxB,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,SAAS,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,gBAAgB,EAAE,YAAY,CAAC;IAC/B;kFAC8E;IAC9E,SAAS,EAAE,uBAAuB,CAAC;IACnC;;0EAEsE;IACtE,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,GAAG,IAAI,CAAC;IAChF;;6DAEyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB;;6DAEyD;IACzD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;0FAC0F;AAC1F,MAAM,WAAW,mBAAmB;IAClC;;mDAE+C;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD;oFACgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;sFACkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;qFAKqF;AACrF,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,YAAY,EAAE,WAAW,CAAC;IAC1B;6EACyE;IACzE,gBAAgB,EAAE,YAAY,CAAC;IAC/B,2BAA2B,EAAE,YAAY,CAAC;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,yDAAyD;AACzD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAKhF"}
@@ -1,2 +1,8 @@
1
- export {};
1
+ /** Free every GPU buffer one instanced template owns. */
2
+ export function destroyInstancedTemplateGpu(template) {
3
+ template.vertexBuffer.destroy();
4
+ template.indexBuffer.destroy();
5
+ template.instanceBuffer.destroy();
6
+ template.rteDeltas.buffer.destroy();
7
+ }
2
8
  //# sourceMappingURL=scene-instance-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-instance-types.js","sourceRoot":"","sources":["../src/scene-instance-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"scene-instance-types.js","sourceRoot":"","sources":["../src/scene-instance-types.ts"],"names":[],"mappings":"AAyEA,yDAAyD;AACzD,MAAM,UAAU,2BAA2B,CAAC,QAA8B;IACxE,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AACtC,CAAC"}
@@ -17,7 +17,6 @@ interface TranslationScene {
17
17
  bounds: Map<number, BoundingBox>;
18
18
  batches: BatchedMesh[];
19
19
  meshes: Mesh[];
20
- overrides: BatchedMesh[];
21
20
  textured: TexturedMesh[];
22
21
  templates: (InstancedTemplateGPU | undefined)[];
23
22
  cpu: (CpuTemplate | undefined)[];
@@ -28,7 +27,7 @@ interface TranslationScene {
28
27
  device: GPUDevice | undefined;
29
28
  evictHighlight: (id: number) => void;
30
29
  clearPartial: () => void;
31
- unionBounds: (id: number, view: DataView, offset: number, min: Triple, max: Triple) => {
30
+ unionBounds: (id: number, view: DataView, offset: number, anchors: Float64Array, min: Triple, max: Triple) => {
32
31
  minX: number;
33
32
  minY: number;
34
33
  minZ: number;
@@ -1 +1 @@
1
- {"version":3,"file":"scene-model-translation.d.ts","sourceRoot":"","sources":["../src/scene-model-translation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-model-translation.d.ts","sourceRoot":"","sources":["../src/scene-model-translation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACvC,UAAU,WAAW;IACnB,YAAY,EAAE,WAAW,CAAC;IAC1B,gBAAgB,EAAE,YAAY,CAAC;IAC/B,2BAA2B,EAAE,YAAY,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,UAAU,gBAAgB;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAChC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,CAAC;IACf,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,CAAC,oBAAoB,GAAG,SAAS,CAAC,EAAE,CAAC;IAChD,GAAG,EAAE,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IACjC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAC1E,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK;QAC5G,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KACpF,CAAC;CACH;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAmCxI;AAED;;;kDAGkD;AAClD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAmCrF;AAED;;;mEAGmE;AACnE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAIpH;AAED;kEACkE;AAClE,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC;IAAE,SAAS,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,CAO1J;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAInH"}
@@ -1,5 +1,6 @@
1
1
  import { foldOccurrenceWorldBox, INSTANCE_STRIDE_BYTES } from './instanced-render.js';
2
2
  import { worldAabbFromPieces } from './scene-geometry.js';
3
+ import { invalidateInstancedRteDeltas } from './instanced-rte.js';
3
4
  export function translateSceneModel(scene, modelIndex, translation) {
4
5
  const previous = scene.translations.get(modelIndex);
5
6
  if (!scene.translations.set(modelIndex, translation))
@@ -46,8 +47,6 @@ export function translateSceneModel(scene, modelIndex, translation) {
46
47
  scene.translations.moveDrawable(mesh);
47
48
  for (const batch of scene.batches)
48
49
  scene.translations.moveDrawable(batch);
49
- for (const batch of scene.overrides)
50
- scene.translations.moveDrawable(batch);
51
50
  scene.clearPartial();
52
51
  placeSceneInstances(scene, modelIndex);
53
52
  return true;
@@ -63,6 +62,8 @@ export function placeSceneInstances(scene, modelIndex) {
63
62
  continue;
64
63
  if (scene.translations.placeInstances(cpu.instanceData, modelIndex, INSTANCE_STRIDE_BYTES, cpu.canonicalAnchors, cpu.canonicalMatrixTranslations)) {
65
64
  scene.device?.queue.writeBuffer(gpu.instanceBuffer, 0, cpu.instanceData);
65
+ // placeInstances moved the canonical anchors the delta stream derives from.
66
+ invalidateInstancedRteDeltas(gpu.rteDeltas);
66
67
  }
67
68
  gpu.bounds = null;
68
69
  // A yaw (unlike a pure translation) changes each occurrence's WORLD-AXIS
@@ -86,7 +87,7 @@ export function placeSceneInstances(scene, modelIndex) {
86
87
  const gpu = scene.templates[occ.templateIndex], cpu = scene.cpu[occ.templateIndex];
87
88
  if (!gpu || !cpu)
88
89
  continue;
89
- const world = scene.unionBounds(id, new DataView(cpu.instanceData), occ.byteOffset, cpu.localMin, cpu.localMax);
90
+ const world = scene.unionBounds(id, new DataView(cpu.instanceData), occ.byteOffset, cpu.canonicalAnchors, cpu.localMin, cpu.localMax);
90
91
  if (gpu.modelIndex === modelIndex)
91
92
  foldOccurrenceWorldBox(gpu, world);
92
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scene-model-translation.js","sourceRoot":"","sources":["../src/scene-model-translation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-model-translation.js","sourceRoot":"","sources":["../src/scene-model-translation.ts"],"names":[],"mappings":"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"}
package/dist/scene.d.ts CHANGED
@@ -1,14 +1,15 @@
1
1
  /**
2
2
  * Scene graph and mesh management
3
3
  */
4
- import type { InstancedTemplateGPU } from './scene-instance-types.js';
5
- import type { Mesh, BatchedMesh, Vec3, PickClipState, Material } from './types.js';
4
+ import { type InstancedTemplateGPU } from './scene-instance-types.js';
5
+ import type { Mesh, BatchedMesh, Vec3, PickClipState, Material, MeshFinish } from './types.js';
6
6
  import type { MeshData } from '@ifc-lite/geometry';
7
7
  import type { RenderPipeline } from './pipeline.js';
8
8
  import { type BoundingBox, type RaycastHit } from './scene-raycaster.js';
9
9
  import { type RectangleRteFrame } from './scene-rect-select.js';
10
10
  import { type ResidentGpuBytes } from './render-stats.js';
11
11
  import { type SpatialChunkingConfig } from './chunk-grid.js';
12
+ import { EntityColorTable } from './entity-color-table.js';
12
13
  import { type ColdGeometryProvider } from './residency.js';
13
14
  import { type ModelYaw } from './model-translation.js';
14
15
  import type { DecodedInstancedShard } from '@ifc-lite/geometry';
@@ -43,15 +44,11 @@ export interface TexturedMesh {
43
44
  bindGroup: GPUBindGroup;
44
45
  /** Authored tint (multiplies the sampled texel); white = texture passthrough. */
45
46
  color: [number, number, number, number];
46
- /**
47
- * A caller-supplied finish, mirroring {@link Mesh.material}. Nothing writes
48
- * this today — `MeshData` (the WASM extraction boundary) carries no
49
- * metallic/roughness fields, and IFC-authored specular is not extracted yet
50
- * (#5582) — so `packMeshMaterial` falls back to its defaults for every
51
- * textured draw. The field exists so a textured mesh has the SAME optional
52
- * hook `Mesh` does, ready for #5582 without a second API.
53
- */
47
+ /** A caller-supplied finish, mirroring {@link Mesh.material}. */
54
48
  material?: Material;
49
+ /** IFC-authored finish (#5582), copied from `MeshData.material` at upload
50
+ * (#5984); like {@link Mesh.finish}, `packMeshMaterial` prefers it. */
51
+ finish?: MeshFinish;
55
52
  /**
56
53
  * The mesh's per-element local frame (`MeshData.origin`, already Y-up) — the
57
54
  * renderer must reconstruct `world = origin + position`.
@@ -209,8 +206,7 @@ export declare class Scene {
209
206
  * `partial-batch-cache.ts` can keep them consistent together. Same Map
210
207
  * objects, not copies — they are only ever cleared, never reassigned. */
211
208
  private readonly partialCaches;
212
- private overrideBatches;
213
- private overlaySources;
209
+ private readonly entityColorTable;
214
210
  private colorOverrides;
215
211
  private colorOverrideGeneration;
216
212
  private pendingBatchKeys;
@@ -377,6 +373,10 @@ export declare class Scene {
377
373
  * partial-batch piece filter) must go through this so a mesh always
378
374
  * resolves to the same bucket. `color` overrides the mesh's own colour for
379
375
  * recolour routing.
376
+ *
377
+ * Ids past 2^24 also key by their 2^24 page (#6076): a batch then never
378
+ * spans 2^24 ids, which the entity colour table needs to rebuild a full id
379
+ * from the 24-bit vertex lane (`entityIdAnchor`, entity-color-table.ts).
380
380
  */
381
381
  private bucketBaseKey;
382
382
  /**
@@ -399,6 +399,12 @@ export declare class Scene {
399
399
  * @param modelIndex - Optional modelIndex to filter by (for multi-model support)
400
400
  */
401
401
  hasMeshData(expressId: number, modelIndex?: number): boolean;
402
+ /**
403
+ * Whether more than `limit` entities with mesh data pass the hide/isolate
404
+ * filter. Stops at `limit + 1` and allocates nothing, so a per-pick budget
405
+ * check stays cheap on a large model (#6392).
406
+ */
407
+ visibleMeshDataEntitiesExceed(limit: number, hiddenIds?: ReadonlySet<number> | null, isolatedIds?: ReadonlySet<number> | null): boolean;
402
408
  /**
403
409
  * Get all MeshData pieces for an expressId (without merging).
404
410
  * Optionally filter by modelIndex for multi-model safety.
@@ -418,9 +424,9 @@ export declare class Scene {
418
424
  * `geometryItemId` matches (undefined never matches, so no silent fallback). */
419
425
  getMeshDataPieces(expressId: number, modelIndex?: number, itemId?: number): MeshData[] | undefined;
420
426
  /**
421
- * Generate color key for grouping meshes.
422
- * Quantizes RGBA to 10-bit per channel and packs into a compact string.
423
- * Avoids floating-point template literal overhead of the old approach.
427
+ * Colour key for grouping meshes: `chunk-grid.ts`'s `colorKey` (RGBA
428
+ * quantized to 1/1000), with the authored finish folded in (#5582) so one
429
+ * batch never mixes finishes.
424
430
  */
425
431
  private colorKey;
426
432
  /**
@@ -603,9 +609,12 @@ export declare class Scene {
603
609
  * Processes queued meshes through appendToBatches in streaming mode
604
610
  * (creates lightweight fragment batches for immediate rendering).
605
611
  *
612
+ * @param budgetMs Time slice per call. The 12 ms default keeps the main
613
+ * thread returning to the worker-message pump while geometry streams; a
614
+ * host with nothing else to serve may drain faster (#6436).
606
615
  * @returns true if any meshes were processed (caller should render)
607
616
  */
608
- flushPending(device: GPUDevice, pipeline: RenderPipeline): boolean;
617
+ flushPending(device: GPUDevice, pipeline: RenderPipeline, budgetMs?: number): boolean;
609
618
  /**
610
619
  * Create lightweight fragment batches from a single streaming batch.
611
620
  * Fragments are grouped by color and added to batchedMeshes for immediate
@@ -650,7 +659,8 @@ export declare class Scene {
650
659
  * - Bounding boxes are precomputed and cached for all entities
651
660
  * - meshDataMap and bucket meshData arrays are cleared (typed arrays become GC-eligible)
652
661
  * - Color updates (updateMeshColors) are no longer available
653
- * - Partial batch creation and color overlays are no longer available
662
+ * - Partial batch creation is no longer available; color overrides still
663
+ * work through the GPU-resident per-entity table
654
664
  * - CPU raycasting falls back to bounding-box-only (no triangle intersection)
655
665
  * - Selection highlighting must use GPU picking instead of CPU mesh reconstruction
656
666
  *
@@ -731,43 +741,36 @@ export declare class Scene {
731
741
  */
732
742
  getOrCreatePartialBatch(sourceBatchKey: string, colorKey: string, visibleIds: Set<number>, device: GPUDevice, pipeline: RenderPipeline, visibilityEpoch?: number): BatchedMesh | undefined;
733
743
  /**
734
- * Set color overrides for lens / chart / IDS / compare / 4D coloring. Overlay
735
- * batches are grouped by SOURCE bucket + override color and inherit the
736
- * source batch's quantization (#4832, `scene-derived-batches.ts`). Original
737
- * batches are NEVER modified — clearing is instant.
744
+ * Set colour overrides for lens / chart / IDS / compare / 4D colouring:
745
+ * rewrites the entity colour table (one `writeBuffer`) and the instanced
746
+ * occurrence records. No batch is built, rebuilt or destroyed. `pipeline`
747
+ * stays in the signature because `SceneContents` publishes it.
738
748
  */
739
- setColorOverrides(overrides: Map<number, [number, number, number, number]>, device: GPUDevice, pipeline: RenderPipeline): void;
740
- /** Rebuild the installed overlays against the batches that write depth NOW
741
- * (#4832). Best-effort — a committed finalize/rebuild must not be undone by
742
- * an overlay allocation failure, so that is reported, not thrown. */
743
- private reapplyColorOverrides;
749
+ setColorOverrides(overrides: Map<number, [number, number, number, number]>, device: GPUDevice, _pipeline: RenderPipeline): void;
744
750
  /** Clear all color overrides — instant, no batch rebuild needed. */
745
751
  clearColorOverrides(): void;
752
+ private clearColorOverrideState;
746
753
  /** Monotonic counter that changes whenever the colour-override set changes.
747
754
  * The render loop folds it into the partial sub-batch cache epoch so the
748
755
  * per-frame fast path stays correct across override changes. */
749
756
  getColorOverrideGeneration(): number;
750
- /** Get overlay batches for rendering */
751
- getOverrideBatches(): BatchedMesh[];
752
- /** Check if color overrides are active */
753
- hasColorOverrides(): boolean;
757
+ /** The per-entity colour table the renderer binds at group(1) (#6076). */
758
+ getEntityColorTable(): EntityColorTable;
754
759
  /**
755
760
  * Get the active expressId → RGBA override map, or null if none.
756
761
  *
757
762
  * Used by the renderer to promote overridden meshes/batches to the opaque
758
- * pipeline so the overlay paint pass (depthCompare 'equal') finds matching
759
- * depth. Without this, an override on an entity that defaults to the
760
- * transparent pipeline (IfcSpace, IfcOpeningElement, glass, …) silently
761
- * fails to paint — the transparent pipeline doesn't write depth, so the
762
- * equality test rejects every fragment.
763
+ * pipeline (overlay-routing.ts): the table paints only depth-writing opaque
764
+ * draws, so an override on an entity that defaults to the transparent
765
+ * pipeline (IfcSpace, IfcOpeningElement, glass, …) is promoted to be seen.
763
766
  *
764
767
  * Returns a `ReadonlyMap` view: the renderer holds the only writeable
765
768
  * reference (via `setColorOverrides`) so routing decisions stay in sync
766
- * with the overlay batches we built from the same data.
769
+ * with the colour table written from the same data.
767
770
  */
768
771
  getColorOverrides(): ReadonlyMap<number, readonly [number, number, number, number]> | null;
769
- /** Destroy GPU resources for overlay batches */
770
- private destroyOverrideBatches;
772
+ /** Drop the colour table's GPU buffer (device-loss recovery host); `setColorOverrides` re-uploads it. */
773
+ releaseColorOverrideGpu(): void;
771
774
  /**
772
775
  * Clear scene
773
776
  */
@@ -852,6 +855,8 @@ export declare class Scene {
852
855
  */
853
856
  addInstancedShard(device: GPUDevice, shard: DecodedInstancedShard, modelIndex?: number): void;
854
857
  private unionInstancedWorldAabb;
858
+ /** Drawn templates holding an occurrence of `expressId` (in `modelIndex` if given), for the hover outline (#5745). */
859
+ getInstancedTemplatesOf(expressId: number, modelIndex?: number): InstancedTemplateGPU[];
855
860
  /** True when `expressId` has a GPU-instanced occurrence. */
856
861
  isInstancedEntity(expressId: number): boolean;
857
862
  /** Retain one model-owned occurrence for reversible appearance replacement. */
@@ -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":"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"}