@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
@@ -75,11 +75,9 @@ export function pairTimestampsWithLabels(labels, timestamps) {
75
75
  /**
76
76
  * Records GPU timestamp queries for the passes of one frame and resolves
77
77
  * them into `PassTimingSample[]` (nanosecond pairs; see `frame-timing.ts`
78
- * for what happens to them next). One instance is good for one frame's
79
- * worth of passes up to `maxPasses`, then must be recreated (or reset via
80
- * `beginFrame()`) for the next — this keeps the query-set/readback-buffer
81
- * lifetime unambiguous rather than trying to make it silently reusable
82
- * across frames while a previous frame's readback might still be pending.
78
+ * for aggregation). One fixed query set and two buffers are reused only after
79
+ * the previous map settles. `beginFrame()` returns false while they are leased.
80
+ * Destroying cancels pending mapping; callers must handle readback rejection.
83
81
  */
84
82
  export class GpuFrameTimingRecorder {
85
83
  maxPasses;
@@ -89,6 +87,8 @@ export class GpuFrameTimingRecorder {
89
87
  labels = [];
90
88
  nextQueryIndex = 0;
91
89
  resolved = false;
90
+ reading = false;
91
+ destroyed = false;
92
92
  constructor(maxPasses, querySet, resolveBuffer, readbackBuffer) {
93
93
  this.maxPasses = maxPasses;
94
94
  this.querySet = querySet;
@@ -102,20 +102,33 @@ export class GpuFrameTimingRecorder {
102
102
  * `frame-timing.ts`) or skip measurement, never throw.
103
103
  */
104
104
  static create(device, maxPasses = 8) {
105
+ if (!Number.isInteger(maxPasses) || maxPasses < 1 || maxPasses > 2048) {
106
+ throw new RangeError('maxPasses must be an integer from 1 to 2048');
107
+ }
105
108
  if (!hasTimestampQueryFeature(device.features))
106
109
  return null;
107
110
  const querySet = device.createQuerySet({ type: 'timestamp', count: maxPasses * 2, label: 'frame-timing-queries' });
108
- const resolveBuffer = device.createBuffer({
109
- size: queryBufferSizeBytes(maxPasses),
110
- usage: GPUBufferUsage.QUERY_RESOLVE | GPUBufferUsage.COPY_SRC,
111
- label: 'frame-timing-resolve',
112
- });
113
- const readbackBuffer = device.createBuffer({
114
- size: queryBufferSizeBytes(maxPasses),
115
- usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ,
116
- label: 'frame-timing-readback',
117
- });
118
- return new GpuFrameTimingRecorder(maxPasses, querySet, resolveBuffer, readbackBuffer);
111
+ let resolveBuffer = null;
112
+ let readbackBuffer = null;
113
+ try {
114
+ resolveBuffer = device.createBuffer({
115
+ size: queryBufferSizeBytes(maxPasses),
116
+ usage: GPUBufferUsage.QUERY_RESOLVE | GPUBufferUsage.COPY_SRC,
117
+ label: 'frame-timing-resolve',
118
+ });
119
+ readbackBuffer = device.createBuffer({
120
+ size: queryBufferSizeBytes(maxPasses),
121
+ usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ,
122
+ label: 'frame-timing-readback',
123
+ });
124
+ return new GpuFrameTimingRecorder(maxPasses, querySet, resolveBuffer, readbackBuffer);
125
+ }
126
+ catch (error) {
127
+ readbackBuffer?.destroy();
128
+ resolveBuffer?.destroy();
129
+ querySet.destroy();
130
+ throw error;
131
+ }
119
132
  }
120
133
  /**
121
134
  * Returns the `timestampWrites` object for the next pass, labelled
@@ -124,6 +137,8 @@ export class GpuFrameTimingRecorder {
124
137
  * that hits this should raise `maxPasses` at construction, not retry.
125
138
  */
126
139
  beginPass(label) {
140
+ if (this.destroyed || this.reading || this.resolved)
141
+ return null;
127
142
  const allocation = allocatePassQueryIndices(this.nextQueryIndex, this.maxPasses);
128
143
  if (allocation === null)
129
144
  return null;
@@ -137,8 +152,8 @@ export class GpuFrameTimingRecorder {
137
152
  }
138
153
  /** Resolves every query written this frame into the readback buffer. Call once, after every pass has been `.end()`-ed, before `queue.submit`. */
139
154
  endFrame(encoder) {
140
- if (this.nextQueryIndex === 0)
141
- return; // no passes recorded — nothing to resolve
155
+ if (this.destroyed || this.reading || this.resolved || this.nextQueryIndex === 0)
156
+ return;
142
157
  encoder.resolveQuerySet(this.querySet, 0, this.nextQueryIndex, this.resolveBuffer, 0);
143
158
  encoder.copyBufferToBuffer(this.resolveBuffer, 0, this.readbackBuffer, 0, this.nextQueryIndex * BYTES_PER_TIMESTAMP);
144
159
  this.resolved = true;
@@ -152,22 +167,38 @@ export class GpuFrameTimingRecorder {
152
167
  * touches the buffer.
153
168
  */
154
169
  async readback() {
155
- if (!this.resolved)
170
+ if (this.destroyed || this.reading || !this.resolved)
156
171
  return null;
157
- await this.readbackBuffer.mapAsync(GPUMapMode.READ);
158
- const raw = this.readbackBuffer.getMappedRange(0, this.nextQueryIndex * BYTES_PER_TIMESTAMP);
159
- const timestamps = new BigInt64Array(raw.slice(0)); // copy out before unmap invalidates the ArrayBuffer
160
- this.readbackBuffer.unmap();
161
- return pairTimestampsWithLabels(this.labels, timestamps);
172
+ this.reading = true;
173
+ const labels = [...this.labels];
174
+ const bytes = this.nextQueryIndex * BYTES_PER_TIMESTAMP;
175
+ try {
176
+ await this.readbackBuffer.mapAsync(GPUMapMode.READ, 0, bytes);
177
+ if (this.destroyed)
178
+ return null;
179
+ const raw = this.readbackBuffer.getMappedRange(0, bytes);
180
+ return pairTimestampsWithLabels(labels, new BigInt64Array(raw.slice(0)));
181
+ }
182
+ finally {
183
+ this.readbackBuffer.unmap();
184
+ this.reading = false;
185
+ this.resolved = false;
186
+ }
162
187
  }
163
- /** Resets for the next frame's recording. Does not reallocate the query set or buffers — they are sized once at `create()` and reused. */
188
+ /** False while a prior frame owns the buffers; callers skip sampling that frame. */
164
189
  beginFrame() {
190
+ if (this.destroyed || this.reading || this.resolved)
191
+ return false;
165
192
  this.labels = [];
166
193
  this.nextQueryIndex = 0;
167
- this.resolved = false;
194
+ return true;
168
195
  }
169
196
  /** Releases the GPU query set and buffers. Call when timing is turned off. */
170
197
  destroy() {
198
+ if (this.destroyed)
199
+ return;
200
+ this.destroyed = true;
201
+ this.readbackBuffer.unmap();
171
202
  this.querySet.destroy();
172
203
  this.resolveBuffer.destroy();
173
204
  this.readbackBuffer.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"frame-timing-gpu.js","sourceRoot":"","sources":["../src/frame-timing-gpu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame-timing-gpu.js","sourceRoot":"","sources":["../src/frame-timing-gpu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * GPU upload counters (#6957), installed once on the device so every
3
+ * `createBuffer` / `queue.writeBuffer` in the renderer is counted without
4
+ * touching its call sites:
5
+ *
6
+ * gpu.buffers buffers created
7
+ * gpu.bufferBytes their total size
8
+ * gpu.mappedUploadBytes bytes of buffers created `mappedAtCreation` (filled on the CPU)
9
+ * gpu.writeBytes `writeBuffer` bytes into non-uniform buffers (geometry, ids, ...)
10
+ * gpu.uniformWriteBytes `writeBuffer` bytes into uniform buffers; per frame, so
11
+ * timing-dependent, kept apart from the structural counts
12
+ *
13
+ * and the device's health (#6993), so a benchmark sample can tell a load that
14
+ * lost its device (and re-uploaded everything onto a replacement) from a
15
+ * clean one instead of averaging the two:
16
+ *
17
+ * gpu.devices devices metered, across every live renderer
18
+ * gpu.deviceReplacements counted by `device-recovery.ts`: a renderer rebuilding
19
+ * itself on a replacement device after a loss, which
20
+ * re-uploads its scene (two live renderers are not one)
21
+ * gpu.deviceLost `device.lost` settled for any reason but `destroyed`
22
+ * gpu.uncapturedErrors `uncapturederror` events (validation / out-of-memory)
23
+ *
24
+ * `owner` is whoever replaces the device on recovery (the `WebGPUDevice`
25
+ * wrapper): a late loss of a device its owner has since replaced is ignored.
26
+ *
27
+ * Counters off: returns the device untouched.
28
+ */
29
+ export declare function meterGpuDevice(device: GPUDevice, owner?: object): GPUDevice;
30
+ //# sourceMappingURL=gpu-counters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpu-counters.d.ts","sourceRoot":"","sources":["../src/gpu-counters.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,GAAE,MAAe,GAAG,SAAS,CAoBnF"}
@@ -0,0 +1,84 @@
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
+ import { perfCount, perfCounters } from '@ifc-lite/load-trace';
5
+ /** `GPUBufferUsage.UNIFORM`, inlined so this module loads where WebGPU globals don't exist. */
6
+ const UNIFORM = 0x40;
7
+ /**
8
+ * GPU upload counters (#6957), installed once on the device so every
9
+ * `createBuffer` / `queue.writeBuffer` in the renderer is counted without
10
+ * touching its call sites:
11
+ *
12
+ * gpu.buffers buffers created
13
+ * gpu.bufferBytes their total size
14
+ * gpu.mappedUploadBytes bytes of buffers created `mappedAtCreation` (filled on the CPU)
15
+ * gpu.writeBytes `writeBuffer` bytes into non-uniform buffers (geometry, ids, ...)
16
+ * gpu.uniformWriteBytes `writeBuffer` bytes into uniform buffers; per frame, so
17
+ * timing-dependent, kept apart from the structural counts
18
+ *
19
+ * and the device's health (#6993), so a benchmark sample can tell a load that
20
+ * lost its device (and re-uploaded everything onto a replacement) from a
21
+ * clean one instead of averaging the two:
22
+ *
23
+ * gpu.devices devices metered, across every live renderer
24
+ * gpu.deviceReplacements counted by `device-recovery.ts`: a renderer rebuilding
25
+ * itself on a replacement device after a loss, which
26
+ * re-uploads its scene (two live renderers are not one)
27
+ * gpu.deviceLost `device.lost` settled for any reason but `destroyed`
28
+ * gpu.uncapturedErrors `uncapturederror` events (validation / out-of-memory)
29
+ *
30
+ * `owner` is whoever replaces the device on recovery (the `WebGPUDevice`
31
+ * wrapper): a late loss of a device its owner has since replaced is ignored.
32
+ *
33
+ * Counters off: returns the device untouched.
34
+ */
35
+ export function meterGpuDevice(device, owner = device) {
36
+ if (!perfCounters.enabled)
37
+ return device;
38
+ meterDeviceHealth(device, owner);
39
+ const createBuffer = device.createBuffer.bind(device);
40
+ device.createBuffer = (descriptor) => {
41
+ perfCount('gpu.buffers');
42
+ perfCount('gpu.bufferBytes', descriptor.size);
43
+ if (descriptor.mappedAtCreation)
44
+ perfCount('gpu.mappedUploadBytes', descriptor.size);
45
+ return createBuffer(descriptor);
46
+ };
47
+ const queue = device.queue;
48
+ const writeBuffer = queue.writeBuffer.bind(queue);
49
+ queue.writeBuffer = ((buffer, offset, data, dataOffset, size) => {
50
+ const elementBytes = ArrayBuffer.isView(data) && 'BYTES_PER_ELEMENT' in data ? data.BYTES_PER_ELEMENT : 1;
51
+ const total = data.byteLength - (dataOffset ?? 0) * elementBytes;
52
+ const bytes = size !== undefined ? size * elementBytes : total;
53
+ perfCount((buffer.usage & UNIFORM) !== 0 ? 'gpu.uniformWriteBytes' : 'gpu.writeBytes', bytes);
54
+ writeBuffer(buffer, offset, data, dataOffset, size);
55
+ });
56
+ return device;
57
+ }
58
+ /**
59
+ * Lifetime of each owner's newest metered device, per owner (the
60
+ * `WebGPUDevice` wrapper), mirroring its own `deviceLifetime` (device.ts).
61
+ * Per owner, not module-wide: two renderers live at once (the appearance
62
+ * preview creates a second one) each have a current device to lose.
63
+ */
64
+ const deviceLifetimes = new WeakMap();
65
+ /** See `meterGpuDevice`. Listens beside the renderer's own handlers, never replacing them. */
66
+ function meterDeviceHealth(device, owner) {
67
+ const lifetime = (deviceLifetimes.get(owner) ?? 0) + 1;
68
+ deviceLifetimes.set(owner, lifetime);
69
+ perfCount('gpu.devices');
70
+ // Both are optional on test doubles and older runtimes.
71
+ const lost = device.lost;
72
+ void lost?.then((info) => {
73
+ // A device its own owner has since replaced settling late is not a loss
74
+ // of the device in use, exactly as the renderer ignores it.
75
+ if (deviceLifetimes.get(owner) !== lifetime)
76
+ return;
77
+ if ((info.reason ?? 'unknown') !== 'destroyed')
78
+ perfCount('gpu.deviceLost');
79
+ });
80
+ if (typeof device.addEventListener === 'function') {
81
+ device.addEventListener('uncapturederror', () => perfCount('gpu.uncapturedErrors'));
82
+ }
83
+ }
84
+ //# sourceMappingURL=gpu-counters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpu-counters.js","sourceRoot":"","sources":["../src/gpu-counters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gpu-static-upload.d.ts","sourceRoot":"","sources":["../src/gpu-static-upload.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,eAAe,GAAG,WAAW,EACnC,KAAK,EAAE,mBAAmB,GACzB,SAAS,CAiBX"}
1
+ {"version":3,"file":"gpu-static-upload.d.ts","sourceRoot":"","sources":["../src/gpu-static-upload.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,eAAe,GAAG,WAAW,EACnC,KAAK,EAAE,mBAAmB,GACzB,SAAS,CAkBX"}
@@ -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
  /**
5
6
  * The ONE way the renderer creates a GPU buffer pre-filled with static
6
7
  * geometry (vertex, index and per-instance data) — issue #5429.
@@ -49,6 +50,7 @@ export function createStaticGpuBuffer(device, data, usage) {
49
50
  try {
50
51
  const payload = bytes.byteLength === size ? bytes : padTo(bytes, size);
51
52
  device.queue.writeBuffer(buffer, 0, payload);
53
+ perfTally('gpu.staticUpload', payload.byteLength);
52
54
  }
53
55
  catch (error) {
54
56
  // Never orphan the allocation: the caller only learns about buffers this
@@ -1 +1 @@
1
- {"version":3,"file":"gpu-static-upload.js","sourceRoot":"","sources":["../src/gpu-static-upload.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAiB,EACjB,IAAmC,EACnC,KAA0B;IAE1B,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;QAC/D,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,6EAA6E;AAC7E,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,KAAK,CAAC,KAAiB,EAAE,IAAY;IAC5C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"gpu-static-upload.js","sourceRoot":"","sources":["../src/gpu-static-upload.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAiB,EACjB,IAAmC,EACnC,KAA0B;IAE1B,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;QAC/D,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7C,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,6EAA6E;AAC7E,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,KAAK,CAAC,KAAiB,EAAE,IAAY;IAC5C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -94,6 +94,9 @@ import type { PointCloudAsset } from '@ifc-lite/geometry';
94
94
  import { type DeviationComputeOptions, type DeviationComputeResult } from './deviation/deviation-computer.js';
95
95
  export type { DeviationAssetStats } from './deviation/deviation-readback.js';
96
96
  import type { DeviationAssetStats } from './deviation/deviation-readback.js';
97
+ import type { DeviationDistances } from './deviation/deviation-statistics.js';
98
+ export { computeDeviationStatistics, computeDeviationStatisticsAsync, countWithinToleranceAsync, deviationHistogramAsync, summarizeDeviationAssetsAsync } from './deviation/deviation-statistics.js';
99
+ export type { DeviationAssetRange, DeviationAssetSummary, DeviationAsyncOptions, DeviationDistances, DeviationHistogram, DeviationHistogramRange, DeviationStatistics, DeviationStatisticsOptions, DeviationToleranceShare } from './deviation/deviation-statistics.js';
97
100
  import { type GpuUploadOutcome } from './gpu-upload-guard.js';
98
101
  import { type DeviceRecoveryResult } from './device-recovery.js';
99
102
  /**
@@ -121,6 +124,7 @@ export declare class Renderer {
121
124
  private readonly hoverMeshes;
122
125
  /** Device px per CSS px in the drawing buffer; CSS-px sizes scale by it (#5383). */
123
126
  private pixelRatio;
127
+ private maxPixelRatio;
124
128
  private readonly interactionEffects;
125
129
  private skyPass;
126
130
  private shadowPass;
@@ -467,17 +471,19 @@ export declare class Renderer {
467
471
  ifcType?: string;
468
472
  modelIndex?: number;
469
473
  }): PointCloudAssetHandle;
470
- appendPointCloudChunk(handle: PointCloudAssetHandle, chunk: import('./pointcloud/point-cloud-node.js').PointCloudChunkInput): void;
474
+ /** `key` makes the chunk removable on its own via `removePointCloudChunk` (one COPC node, #6869). */
475
+ appendPointCloudChunk(handle: PointCloudAssetHandle, chunk: import('./pointcloud/point-cloud-node.js').PointCloudChunkInput, key?: string): void;
476
+ /** Free the chunks appended under `key`; returns the points removed (0 for a stale handle). */
477
+ removePointCloudChunk(handle: PointCloudAssetHandle, key: string): number;
471
478
  endPointCloudStream(handle: PointCloudAssetHandle): void;
472
479
  removePointCloudAsset(handle: PointCloudAssetHandle): void;
473
480
  /**
474
- * Reassign a streamed point-cloud's expressId after upload. Use
475
- * this when the federation registry assigns a new model offset and
476
- * the renderer needs to emit the post-offset globalId in picking
477
- * outputs. The change takes effect on the next render — no GPU
478
- * buffer rewrite needed.
481
+ * Bind a streamed point cloud to its federation identity after upload:
482
+ * the post-offset globalId picking and deviation readback report, and,
483
+ * when given, the model index they attribute the asset to (#6887). Takes
484
+ * effect on the next render — no GPU buffer rewrite needed.
479
485
  */
480
- relabelPointCloudAsset(handle: import('./pointcloud/point-cloud-renderer.js').PointCloudAssetHandle, newExpressId: number): void;
486
+ relabelPointCloudAsset(handle: import('./pointcloud/point-cloud-renderer.js').PointCloudAssetHandle, newExpressId: number, modelIndex?: number): void;
481
487
  /** Bounds across flat draw batches. */
482
488
  private computeMeshBounds;
483
489
  /** Apply rendering options (color mode, fixed override, point size). */
@@ -512,6 +518,10 @@ export declare class Renderer {
512
518
  getPointCloudTransform(handle: {
513
519
  id: number;
514
520
  }): Float32Array | undefined;
521
+ /** Exact float64 placement copy for CPU math; the f32 transform rounds map-grid origins (#6894). */
522
+ getPointCloudPlacement(handle: {
523
+ id: number;
524
+ }): Float64Array | undefined;
515
525
  /**
516
526
  * Set/clear a streamed cloud's column-major model matrix (16 floats) for
517
527
  * IfcMapConversion alignment (#1804). Applied on the next frame's uniform
@@ -528,6 +538,9 @@ export declare class Renderer {
528
538
  computeDeviations(opts?: DeviationComputeOptions): Promise<DeviationComputeResult>;
529
539
  /** Read per-scan-asset signed-distance statistics after a completed run. */
530
540
  readDeviationAssetStats(): Promise<DeviationAssetStats[]>;
541
+ /** Read every computed point's signed distance (4 B/point) for summary statistics (#6872). */
542
+ readDeviationDistances(): Promise<DeviationDistances>;
543
+ private readonly deviationContext;
531
544
  /**
532
545
  * Toggle Eye-Dome Lighting and tune its strength.
533
546
  *
@@ -651,9 +664,6 @@ export declare class Renderer {
651
664
  * balanced even on skipped or throwing frames.
652
665
  */
653
666
  private drainErrorScope;
654
- /**
655
- * Render frame
656
- */
657
667
  /** Get diagnostic info for mobile debugging */
658
668
  getDiagnostics(): {
659
669
  calls: number;
@@ -669,6 +679,8 @@ export declare class Renderer {
669
679
  camTgt: string;
670
680
  bounds: string;
671
681
  };
682
+ setGpuFrameTiming(enabled: boolean): void;
683
+ getGpuFrameTiming(): import("./renderer-frame-timing.js").RendererGpuTimingSnapshot;
672
684
  /**
673
685
  * Statistics of the last COMPLETED render() call (draw calls issued,
674
686
  * batches drawn / frustum-culled / contribution-culled), or null before
@@ -690,8 +702,10 @@ export declare class Renderer {
690
702
  * rejecting pipeline creation) batches stay on the f32 path.
691
703
  */
692
704
  enableQuantizedBatches(): Promise<boolean>;
705
+ /** Draw a frame through the shared submission path, preserving the void API. */
706
+ render(options?: RenderOptions): void;
693
707
  /**
694
- * Draw one frame.
708
+ * Draw one frame; true only when it submits without a contained synchronous failure (#6709).
695
709
  *
696
710
  * Never throws, so callers never need to guard this call to keep their
697
711
  * animation loop alive.
@@ -710,18 +724,14 @@ export declare class Renderer {
710
724
  * carries on. Once enough such frames have degraded without recovering,
711
725
  * `onPersistentRenderDegradation` fires once.
712
726
  *
713
- * SCOPE: `renderFrame()` has two try/catch regions — this outer one (canvas
714
- * resize, context setup, evicted-batch restore) and an inner one opened
715
- * after the swap-chain texture is acquired, covering encoder work through
716
- * `submit`. Until #2417 only the outer one discriminated, so a device that
717
- * died after `getCurrentTexture()` succeeded degraded quietly forever with
718
- * no latch and no toast. Both now run the same policy; the encode catch
719
- * additionally balances the frame's validation error scope before doing so.
727
+ * Frame setup and encoding through `submit` share `containFrameThrow`
728
+ * (#2417); the encode catch also balances the validation error scope.
729
+ * Submission is synchronous, distinct from GPU completion/validation.
720
730
  */
721
- render(options?: RenderOptions): void;
731
+ renderWithResult(options?: RenderOptions): boolean;
722
732
  /**
723
- * The frame body. Throws on a synchronously-dead GPU device; `render()`
724
- * owns the containment. Private for that reason — call `render()`.
733
+ * The frame body. Throws on a synchronously-dead GPU device;
734
+ * `renderWithResult()` owns containment for both public render methods.
725
735
  */
726
736
  private renderFrame;
727
737
  /**
@@ -823,6 +833,8 @@ export declare class Renderer {
823
833
  * Resize canvas
824
834
  */
825
835
  resize(width: number, height: number): void;
836
+ /** Cap the drawing buffer's device-pixel ratio, trading sharpness for fill on HiDPI screens; see computeDrawingBufferSize. */
837
+ setMaxPixelRatio(ratio: number): void;
826
838
  /** Stage one new owner; borrowed mesh buffers must remain immutable until disposal. */
827
839
  prepareAuthoredOwner(parts: readonly MeshData[]): {
828
840
  commit: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}