@aardworx/wombat.rendering 0.19.25 → 0.20.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 (75) hide show
  1. package/dist/core/renderObject.d.ts +9 -0
  2. package/dist/core/renderObject.d.ts.map +1 -1
  3. package/dist/resources/preparedRenderObject.d.ts.map +1 -1
  4. package/dist/resources/preparedRenderObject.js +9 -3
  5. package/dist/resources/preparedRenderObject.js.map +1 -1
  6. package/dist/resources/uniformBuffer.d.ts.map +1 -1
  7. package/dist/resources/uniformBuffer.js +3 -1
  8. package/dist/resources/uniformBuffer.js.map +1 -1
  9. package/dist/runtime/derivedUniforms/codegen.d.ts.map +1 -1
  10. package/dist/runtime/derivedUniforms/codegen.js +34 -13
  11. package/dist/runtime/derivedUniforms/codegen.js.map +1 -1
  12. package/dist/runtime/derivedUniforms/dispatch.d.ts.map +1 -1
  13. package/dist/runtime/derivedUniforms/dispatch.js +6 -0
  14. package/dist/runtime/derivedUniforms/dispatch.js.map +1 -1
  15. package/dist/runtime/derivedUniforms/sceneIntegration.d.ts.map +1 -1
  16. package/dist/runtime/derivedUniforms/sceneIntegration.js +9 -4
  17. package/dist/runtime/derivedUniforms/sceneIntegration.js.map +1 -1
  18. package/dist/runtime/heapAdapter.d.ts.map +1 -1
  19. package/dist/runtime/heapAdapter.js +3 -0
  20. package/dist/runtime/heapAdapter.js.map +1 -1
  21. package/dist/runtime/heapEffect.d.ts +23 -1
  22. package/dist/runtime/heapEffect.d.ts.map +1 -1
  23. package/dist/runtime/heapEffect.js +17 -2
  24. package/dist/runtime/heapEffect.js.map +1 -1
  25. package/dist/runtime/heapEffectIR.d.ts.map +1 -1
  26. package/dist/runtime/heapEffectIR.js +33 -2
  27. package/dist/runtime/heapEffectIR.js.map +1 -1
  28. package/dist/runtime/heapScene.d.ts +9 -0
  29. package/dist/runtime/heapScene.d.ts.map +1 -1
  30. package/dist/runtime/heapScene.js +90 -1
  31. package/dist/runtime/heapScene.js.map +1 -1
  32. package/dist/runtime/heapShaderFamily.d.ts.map +1 -1
  33. package/dist/runtime/heapShaderFamily.js +19 -0
  34. package/dist/runtime/heapShaderFamily.js.map +1 -1
  35. package/dist/runtime/hybridScene.d.ts +6 -0
  36. package/dist/runtime/hybridScene.d.ts.map +1 -1
  37. package/dist/runtime/hybridScene.js +17 -0
  38. package/dist/runtime/hybridScene.js.map +1 -1
  39. package/dist/runtime/renderTask.d.ts +6 -0
  40. package/dist/runtime/renderTask.d.ts.map +1 -1
  41. package/dist/runtime/renderTask.js +3 -0
  42. package/dist/runtime/renderTask.js.map +1 -1
  43. package/dist/runtime/runtime.d.ts +15 -0
  44. package/dist/runtime/runtime.d.ts.map +1 -1
  45. package/dist/runtime/runtime.js +3 -0
  46. package/dist/runtime/runtime.js.map +1 -1
  47. package/dist/runtime/textureAtlas/atlasMipGutterKernel.d.ts +19 -2
  48. package/dist/runtime/textureAtlas/atlasMipGutterKernel.d.ts.map +1 -1
  49. package/dist/runtime/textureAtlas/atlasMipGutterKernel.js +37 -6
  50. package/dist/runtime/textureAtlas/atlasMipGutterKernel.js.map +1 -1
  51. package/dist/runtime/textureAtlas/atlasPool.d.ts +5 -0
  52. package/dist/runtime/textureAtlas/atlasPool.d.ts.map +1 -1
  53. package/dist/runtime/textureAtlas/atlasPool.js +25 -3
  54. package/dist/runtime/textureAtlas/atlasPool.js.map +1 -1
  55. package/dist/window/loop.d.ts.map +1 -1
  56. package/dist/window/loop.js +31 -4
  57. package/dist/window/loop.js.map +1 -1
  58. package/package.json +3 -3
  59. package/src/core/renderObject.ts +9 -0
  60. package/src/resources/preparedRenderObject.ts +7 -3
  61. package/src/resources/uniformBuffer.ts +3 -1
  62. package/src/runtime/derivedUniforms/codegen.ts +34 -13
  63. package/src/runtime/derivedUniforms/dispatch.ts +6 -0
  64. package/src/runtime/derivedUniforms/sceneIntegration.ts +9 -4
  65. package/src/runtime/heapAdapter.ts +3 -0
  66. package/src/runtime/heapEffect.ts +30 -2
  67. package/src/runtime/heapEffectIR.ts +36 -2
  68. package/src/runtime/heapScene.ts +109 -1
  69. package/src/runtime/heapShaderFamily.ts +21 -0
  70. package/src/runtime/hybridScene.ts +23 -0
  71. package/src/runtime/renderTask.ts +9 -0
  72. package/src/runtime/runtime.ts +18 -0
  73. package/src/runtime/textureAtlas/atlasMipGutterKernel.ts +52 -3
  74. package/src/runtime/textureAtlas/atlasPool.ts +28 -2
  75. package/src/window/loop.ts +32 -4
@@ -1 +1 @@
1
- {"version":3,"file":"atlasMipGutterKernel.js","sourceRoot":"","sources":["../../../src/runtime/textureAtlas/atlasMipGutterKernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atlasMipGutterKernel.js","sourceRoot":"","sources":["../../../src/runtime/textureAtlas/atlasMipGutterKernel.ts"],"names":[],"mappings":"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"}
@@ -247,6 +247,11 @@ export declare class AtlasPool {
247
247
  evictIdle(): number;
248
248
  /** Destroy every page texture. The pool becomes unusable. */
249
249
  dispose(): void;
250
+ private uploadBatch;
251
+ /** Open (or keep) a shared upload batch. Pair with `flushUploadBatch`. */
252
+ beginUploadBatch(): void;
253
+ /** Submit all batched uploads in one queue submission. */
254
+ flushUploadBatch(): void;
250
255
  private finalize;
251
256
  private upload;
252
257
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"atlasPool.d.ts","sourceRoot":"","sources":["../../../src/runtime/textureAtlas/atlasPool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atlasPool.d.ts","sourceRoot":"","sources":["../../../src/runtime/textureAtlas/atlasPool.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@
31
31
  import { V2f, V2i } from "@aardworx/wombat.base";
32
32
  import { HashTable } from "@aardworx/wombat.adaptive";
33
33
  import { TexturePacking } from "./packer.js";
34
- import { buildMipsAndGutterOnGpu, buildMipsAndGutterFromTexture } from "./atlasMipGutterKernel.js";
34
+ import { buildMipsAndGutterOnGpu, buildMipsAndGutterFromTexture, beginMipGutterBatch, submitMipGutterBatch, } from "./atlasMipGutterKernel.js";
35
35
  export const ATLAS_PAGE_SIZE = 4096;
36
36
  /** Tier S/M source-side dimension cap. */
37
37
  export const ATLAS_MAX_DIM = 1024;
@@ -549,6 +549,25 @@ export class AtlasPool {
549
549
  this.entriesByValueKey.clear();
550
550
  this.lru.clear();
551
551
  }
552
+ // ── shared-encoder upload batching ─────────────────────────────────
553
+ // While a batch is open, per-tile kernel work encodes into ONE encoder
554
+ // and `flushUploadBatch` submits once — per-tile submits were measured
555
+ // as multi-frame stalls when several tiles land per frame (mobile GPUs,
556
+ // large photogrammetry textures). Callers that never open a batch keep
557
+ // the old immediate-submit behavior.
558
+ uploadBatch = null;
559
+ /** Open (or keep) a shared upload batch. Pair with `flushUploadBatch`. */
560
+ beginUploadBatch() {
561
+ if (this.uploadBatch === null)
562
+ this.uploadBatch = beginMipGutterBatch(this.device);
563
+ }
564
+ /** Submit all batched uploads in one queue submission. */
565
+ flushUploadBatch() {
566
+ if (this.uploadBatch !== null) {
567
+ submitMipGutterBatch(this.device, this.uploadBatch);
568
+ this.uploadBatch = null;
569
+ }
570
+ }
552
571
  finalize(aval, format, pageId, page, source, mip0W, mip0H, numMips, valueKey) {
553
572
  const ref = this.nextRef++;
554
573
  const placed = page.packing.used.get(ref);
@@ -652,8 +671,11 @@ export class AtlasPool {
652
671
  GPUTextureUsage.RENDER_ATTACHMENT,
653
672
  });
654
673
  this.device.queue.copyExternalImageToTexture({ source: host.source }, { texture: staging }, { width: w, height: h, depthOrArrayLayers: 1 });
655
- buildMipsAndGutterFromTexture(this.device, page.texture, boundsX, boundsY, reservedW, reservedH, staging, w, h, slots);
656
- void this.device.queue.onSubmittedWorkDone().then(() => staging.destroy());
674
+ buildMipsAndGutterFromTexture(this.device, page.texture, boundsX, boundsY, reservedW, reservedH, staging, w, h, slots, this.uploadBatch ?? undefined);
675
+ if (this.uploadBatch !== null)
676
+ this.uploadBatch.trashTextures.push(staging);
677
+ else
678
+ void this.device.queue.onSubmittedWorkDone().then(() => staging.destroy());
657
679
  return;
658
680
  }
659
681
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"atlasPool.js","sourceRoot":"","sources":["../../../src/runtime/textureAtlas/atlasPool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atlasPool.js","sourceRoot":"","sources":["../../../src/runtime/textureAtlas/atlasPool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/window/loop.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAQ,aAAa,EAAe,MAAM,2BAA2B,CAAC;AAElF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA4DpD,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;AAE5E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CACtB,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE,eAAoB,GACzB;IAAE,IAAI,IAAI,IAAI,CAAA;CAAE,CA2FlB"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/window/loop.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAQ,aAAa,EAAe,MAAM,2BAA2B,CAAC;AAElF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA4DpD,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;AAE5E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CACtB,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE,eAAoB,GACzB;IAAE,IAAI,IAAI,IAAI,CAAA;CAAE,CAuHlB"}
@@ -86,6 +86,8 @@ export function runFrame(attachment, frame, opts = {}) {
86
86
  let lastTime = performance.now();
87
87
  let rafId = 0;
88
88
  let pending = false;
89
+ let consecutiveErrors = 0;
90
+ const MAX_CONSECUTIVE_ERRORS = 30;
89
91
  const UNCAPPED = isUncapped();
90
92
  // Wrap the frame callback in an AVal so the adaptive system tracks
91
93
  // its dependency set. Each `force()` re-reads the inputs and runs
@@ -97,11 +99,34 @@ export function runFrame(attachment, frame, opts = {}) {
97
99
  attachment.markFrame();
98
100
  try {
99
101
  frame(token, { frame: frameNo, timestampMs: now, deltaMs: delta });
102
+ consecutiveErrors = 0;
100
103
  }
101
104
  catch (e) {
102
- stopped = true;
103
- console.error("runFrame: error in frame callback", e);
104
- throw e;
105
+ // A throwing frame used to kill the loop for good. That is far too harsh
106
+ // for a transient fault (a resource disposed mid-frame, a one-off device
107
+ // hiccup): the page then looks alive — DOM, input and workers all keep
108
+ // running — while nothing renders again and any animation driven from the
109
+ // frame callback freezes. Retry instead, and only give up if the fault
110
+ // repeats every frame (a genuinely broken scene, which would otherwise
111
+ // spin the error path forever).
112
+ consecutiveErrors++;
113
+ console.error(`runFrame: error in frame callback (${consecutiveErrors}/${MAX_CONSECUTIVE_ERRORS})`, e);
114
+ if (consecutiveErrors >= MAX_CONSECUTIVE_ERRORS) {
115
+ stopped = true;
116
+ console.error("runFrame: giving up after repeated frame errors — render loop stopped");
117
+ throw e;
118
+ }
119
+ // Keep the loop breathing: schedule the next frame ourselves, since a
120
+ // frame that died early may not have read the inputs it would be marked
121
+ // by. Swallow the error rather than rethrowing — an exception escaping
122
+ // the aval eval leaves the wrapper's dirty state ambiguous, and we have
123
+ // already reported it.
124
+ queueMicrotask(() => {
125
+ if (stopped || pending)
126
+ return;
127
+ pending = true;
128
+ rafId = schedule(tick);
129
+ });
105
130
  }
106
131
  frameNo++;
107
132
  return frameNo;
@@ -144,8 +169,10 @@ export function runFrame(attachment, frame, opts = {}) {
144
169
  // frame.
145
170
  if (opts.pacer !== undefined) {
146
171
  opts.pacer().then(finalizeFrame, (e) => {
147
- stopped = true;
172
+ // A rejected pacer (GPU hiccup) must not brick the loop either — the
173
+ // frame is done as far as we're concerned; carry on.
148
174
  console.error("runFrame: pacer rejected", e);
175
+ finalizeFrame();
149
176
  });
150
177
  }
151
178
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/window/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/window/loop.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aardworx/wombat.rendering",
3
- "version": "0.19.25",
3
+ "version": "0.20.0",
4
4
  "description": "WebGPU rendering layer for the Wombat TypeScript stack — RenderObject/RenderTask/runtime + window glue, port of Aardvark.Rendering's lower layers on top of WebGPU and wombat.shader.",
5
5
  "license": "MIT",
6
6
  "author": "krauthaufen",
@@ -56,8 +56,8 @@
56
56
  ],
57
57
  "dependencies": {
58
58
  "@aardworx/wombat.adaptive": "^0.2.5",
59
- "@aardworx/wombat.base": "^0.5.0",
60
- "@aardworx/wombat.shader": "^0.6.0"
59
+ "@aardworx/wombat.base": "^0.5.1",
60
+ "@aardworx/wombat.shader": "^0.6.3"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@webgpu/types": "^0.1.69"
@@ -63,6 +63,15 @@ export interface RenderObject {
63
63
  readonly samplers: HashMap<string, aval<ISampler>>;
64
64
  /** name → storage buffer source. */
65
65
  readonly storageBuffers?: HashMap<string, aval<IBuffer>>;
66
+ /**
67
+ * Scene-level INJECTED storage buffers (e.g. the OIT node pool the
68
+ * transparency task threads into every transparent leaf). Unlike
69
+ * `storageBuffers`, these do NOT disqualify the RO from the heap
70
+ * path — the heap binds them once per bucket (they are shared by
71
+ * construction). The classic path treats them exactly like
72
+ * `storageBuffers` (leaf-own entries win on name conflict).
73
+ */
74
+ readonly injectedStorage?: HashMap<string, aval<IBuffer>>;
66
75
 
67
76
  /** Index buffer for indexed draws. */
68
77
  readonly indices?: BufferView;
@@ -340,7 +340,8 @@ function buildPipelineForSnap(
340
340
  }
341
341
  : undefined;
342
342
  const desc: CompileRenderPipelineDescription = {
343
- ...(ctx.label !== undefined ? { label: ctx.label } : {}),
343
+ // default label = the effect identity attributable GPU debugging
344
+ label: ctx.label ?? `classic/${ctx.effectId ?? "anon"}`,
344
345
  ...(ctx.effectId !== undefined ? { effectId: ctx.effectId } : {}),
345
346
  vertexShaderSource: ctx.vsSource,
346
347
  fragmentShaderSource: ctx.fsSource,
@@ -776,7 +777,7 @@ export function prepareRenderObject(
776
777
  }
777
778
 
778
779
  for (const sb of iface.storageBuffers) {
779
- const av = obj.storageBuffers?.tryFind(sb.name);
780
+ const av = obj.storageBuffers?.tryFind(sb.name) ?? obj.injectedStorage?.tryFind(sb.name);
780
781
  if (av === undefined) throw new Error(`prepareRenderObject: missing storage buffer "${sb.name}"`);
781
782
  const usage = BufferUsage.STORAGE
782
783
  | (sb.access === "read_write" ? BufferUsage.COPY_DST : 0);
@@ -886,7 +887,10 @@ function mergeUniformInputs(
886
887
  // here just as the heap path derives it on the GPU, so the legacy path
887
888
  // serves the same declared uniforms.
888
889
  const recipe = STANDARD_DERIVED_RULES.get(f.name);
889
- if (recipe !== undefined) merged = merged.add(f.name, ruleToAval(recipe, user, bindings));
890
+ if (recipe !== undefined) { merged = merged.add(f.name, ruleToAval(recipe, user, bindings)); continue; }
891
+ // An unresolved field stays ZERO in the uniform buffer — silent garbage
892
+ // transforms/values downstream. Say so once per (block, field).
893
+ console.warn(`prepareRenderObject: uniform block field "${f.name}" resolves to undefined (buffer stays zero)`);
890
894
  }
891
895
  return merged;
892
896
  }
@@ -99,7 +99,9 @@ class UniformBufferResource extends AdaptiveResource<GPUBuffer> {
99
99
  const desc: GPUBufferDescriptor = {
100
100
  size: this._scratch.bytes.byteLength,
101
101
  usage: BufferUsage.UNIFORM | BufferUsage.COPY_DST,
102
- ...(this.label !== undefined ? { label: this.label } : {}),
102
+ // default label: the block's field names makes GPU debugging
103
+ // (writeBuffer interception, buffer inspectors) attributable.
104
+ label: this.label ?? `ubo{${this.layout.fields.map((f) => f.name).join(",")}}`,
103
105
  };
104
106
  this._gpu = this.device.createBuffer(desc);
105
107
  }
@@ -88,28 +88,49 @@ function classify(entry: RuleEntry): Shape {
88
88
 
89
89
  // ─── WGSL fragments ───────────────────────────────────────────────────
90
90
 
91
+ // Error-free transforms survive ONLY if the compiler cannot see their
92
+ // algebra: WebKit's WGSL→MSL path compiles with fast-math, which folds
93
+ // (a+b)-a → b (two_sum dies) and distributes Dekker's split products into
94
+ // exact cancellation (two_prod dies) — df32 silently degrades to f32, the
95
+ // planet-scale 0.25m wobble on iOS. Desktop drivers fold the naked forms
96
+ // too. Defense: the EFT-critical constants 1/-1/0 come from the `Count`
97
+ // uniform, whose contents no shader compiler can constant-fold; validated
98
+ // per-primitive on Apple M-series + NVIDIA/Vulkan (df32-probe, variant J).
91
99
  const DF32_LIB = /* wgsl */ `
92
- fn split12(a: f32) -> vec2<f32> {
93
- let hi = bitcast<f32>(bitcast<u32>(a) & 0xFFFFE000u);
94
- return vec2<f32>(hi, a - hi);
95
- }
100
+ // launder: value-preserving, but an opaque integer op the optimizer
101
+ // cannot trace through (Count.zeroBits == 0 at runtime).
102
+ fn ln_(x: f32) -> f32 { return bitcast<f32>(bitcast<u32>(x) ^ Count.zeroBits); }
96
103
  fn two_sum(a: f32, b: f32) -> vec2<f32> {
97
104
  let s = a + b;
98
- let bb = fma(1.0, s, -a);
99
- let t1 = fma(1.0, s, -bb);
100
- let t2 = fma(1.0, a, -t1);
101
- let t3 = fma(1.0, b, -bb);
105
+ let bb = fma(Count.one, s, -a);
106
+ let t1 = fma(Count.one, s, -bb);
107
+ let t2 = fma(Count.one, a, -t1);
108
+ let t3 = fma(Count.one, b, -bb);
102
109
  return vec2<f32>(s, t2 + t3);
103
110
  }
104
111
  fn quick_two_sum(a: f32, b: f32) -> vec2<f32> {
105
112
  let s = a + b;
106
- let t = fma(1.0, s, -a);
107
- return vec2<f32>(s, fma(1.0, b, -t));
113
+ let t = fma(Count.one, s, -a);
114
+ return vec2<f32>(s, fma(Count.one, b, -t));
115
+ }
116
+ // Veltkamp split with LAUNDERED halves. The laundering is load-bearing on
117
+ // two fronts: Apple's fast-math distributes Dekker's partial products into
118
+ // exact symbolic cancellation (err ≡ a*b - p ≡ 0) unless the halves are
119
+ // opaque; and an fma-based two_prod (err = fma(a,b,-p)) is NOT an option —
120
+ // Qualcomm Adreno and Intel Xe lower fma() to an unfused multiply-add,
121
+ // which makes that error term exactly zero. Laundered Dekker needs no fma
122
+ // at all, so it is exact on every backend probed (NVIDIA/Vulkan, Apple
123
+ // M-series/Metal, Adreno/Android, Intel Xe/D3D).
124
+ fn lsplit12(a: f32) -> vec2<f32> {
125
+ // 12/12 mantissa split (11 explicit + implicit high bits): every partial
126
+ // product below is <= 24 bits, i.e. exactly representable in f32.
127
+ let hi = bitcast<f32>(bitcast<u32>(a) & 0xFFFFF000u);
128
+ return vec2<f32>(ln_(hi), ln_(a - hi));
108
129
  }
109
130
  fn two_prod(a: f32, b: f32) -> vec2<f32> {
110
131
  let p = a * b;
111
- let A = split12(a);
112
- let B = split12(b);
132
+ let A = lsplit12(a);
133
+ let B = lsplit12(b);
113
134
  let err = ((A.x * B.x - p) + A.x * B.y + A.y * B.x) + A.y * B.y;
114
135
  return vec2<f32>(p, err);
115
136
  }
@@ -165,7 +186,7 @@ function bindings(strideU32: number): string {
165
186
  @group(0) @binding(0) var<storage, read_write> Constituents: array<vec2<f32>>;
166
187
  @group(0) @binding(1) var<storage, read_write> MainHeap: array<f32>;
167
188
  @group(0) @binding(2) var<storage, read> RecordData: array<u32>;
168
- struct CountUniform { count: u32 }
189
+ struct CountUniform { count: u32, zeroBits: u32, one: f32, negOne: f32 }
169
190
  @group(0) @binding(3) var<uniform> Count: CountUniform;
170
191
 
171
192
  const RECORD_STRIDE: u32 = ${strideU32 >>> 0}u;
@@ -85,6 +85,12 @@ class RecordsGpu {
85
85
  size: 16, // uniform min binding size
86
86
  usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
87
87
  });
88
+ // Fields 1..3 are DF32_LIB's fast-math guards (see codegen.ts): zeroBits,
89
+ // one, negOne — runtime values the shader compiler cannot constant-fold.
90
+ const init = new ArrayBuffer(16);
91
+ new Uint32Array(init, 0, 2).set([0, 0]); // count, zeroBits
92
+ new Float32Array(init, 8, 2).set([1.0, -1.0]); // one, negOne
93
+ device.queue.writeBuffer(this.countBuf, 0, init);
88
94
  }
89
95
 
90
96
  /** Re-upload the packed record data if it changed since last sync, and refresh `Count`. */
@@ -274,14 +274,19 @@ export class TrafoTree {
274
274
  this.byKey.set(key, node);
275
275
  const h = (s: number): number => makeHandle(SlotTag.Constituent, s);
276
276
  const recs = this.scene.chainRecordsFor(level);
277
- // node.world.fwd = link.fwd · parent.world.fwd (just link at the root end).
278
- // node.world.inv = parent.world.inv · link.inv (reversed; just link at root).
277
+ // node.world.fwd = parent.world.fwd · link.fwd (just link at the root end):
278
+ // deeper links sit on the RIGHT so they hit the column vector FIRST —
279
+ // p' = root · … · leaf · p, the scene-graph inner-first contract. (The
280
+ // previous `link · parent` order applied ancestors first, which put nested
281
+ // child trafos in WORLD space — invisible for the ubiquitous single-link
282
+ // chains, wrong for e.g. a translate under an adaptive billboard trafo.)
283
+ // node.world.inv = link.inv · parent.world.inv (reversed accordingly).
279
284
  if (parent === undefined) {
280
285
  recs.add(node, CHAIN_RULE_ID, h(modelPair.fwd), [1, h(link.fwd)]);
281
286
  recs.add(node, CHAIN_RULE_ID, h(modelPair.inv), [1, h(link.inv)]);
282
287
  } else {
283
- recs.add(node, CHAIN_RULE_ID, h(modelPair.fwd), [2, h(link.fwd), h(parent.modelPair.fwd)]);
284
- recs.add(node, CHAIN_RULE_ID, h(modelPair.inv), [2, h(parent.modelPair.inv), h(link.inv)]);
288
+ recs.add(node, CHAIN_RULE_ID, h(modelPair.fwd), [2, h(parent.modelPair.fwd), h(link.fwd)]);
289
+ recs.add(node, CHAIN_RULE_ID, h(modelPair.inv), [2, h(link.inv), h(parent.modelPair.inv)]);
285
290
  }
286
291
  return node;
287
292
  }
@@ -591,6 +591,9 @@ export function renderObjectToHeapSpec(
591
591
  ...(dc.instanceCount > 1 ? { instanceCount: dc.instanceCount } : {}),
592
592
  ...geom,
593
593
  ...(textures !== undefined ? { textures } : {}),
594
+ ...(ro.injectedStorage !== undefined && ro.injectedStorage.count > 0
595
+ ? { storageBuffers: (() => { const m = new Map<string, aval<IBuffer>>(); ro.injectedStorage!.iter((n, av) => { m.set(n, av); }); return m; })() }
596
+ : {}),
594
597
  ...(ro.modeRules !== undefined ? { modeRules: ro.modeRules } : {}),
595
598
  ...(ro.modelChain !== undefined ? { modelChain: ro.modelChain } : {}),
596
599
  // Pass `active` through unforced so the heap path can subscribe