@aardworx/wombat.rendering 0.4.0 → 0.5.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 (39) hide show
  1. package/dist/commands/clear.js +1 -1
  2. package/dist/commands/clear.js.map +1 -1
  3. package/dist/commands/render.js +1 -1
  4. package/dist/commands/render.js.map +1 -1
  5. package/dist/core/framebufferSignature.d.ts +10 -0
  6. package/dist/core/framebufferSignature.d.ts.map +1 -1
  7. package/dist/resources/framebuffer.d.ts.map +1 -1
  8. package/dist/resources/framebuffer.js +5 -1
  9. package/dist/resources/framebuffer.js.map +1 -1
  10. package/dist/resources/framebufferSignature.d.ts.map +1 -1
  11. package/dist/resources/framebufferSignature.js +3 -0
  12. package/dist/resources/framebufferSignature.js.map +1 -1
  13. package/dist/runtime/renderTask.d.ts +8 -2
  14. package/dist/runtime/renderTask.d.ts.map +1 -1
  15. package/dist/runtime/renderTask.js.map +1 -1
  16. package/dist/runtime/renderTo.js +1 -1
  17. package/dist/runtime/renderTo.js.map +1 -1
  18. package/dist/runtime/runtime.d.ts +2 -2
  19. package/dist/runtime/runtime.d.ts.map +1 -1
  20. package/dist/runtime/runtime.js +16 -1
  21. package/dist/runtime/runtime.js.map +1 -1
  22. package/dist/runtime/scenePass.d.ts +1 -1
  23. package/dist/runtime/scenePass.d.ts.map +1 -1
  24. package/dist/runtime/scenePass.js +1 -1
  25. package/dist/runtime/scenePass.js.map +1 -1
  26. package/dist/window/canvas.d.ts.map +1 -1
  27. package/dist/window/canvas.js +1 -0
  28. package/dist/window/canvas.js.map +1 -1
  29. package/package.json +2 -2
  30. package/src/commands/clear.ts +1 -1
  31. package/src/commands/render.ts +1 -1
  32. package/src/core/framebufferSignature.ts +10 -0
  33. package/src/resources/framebuffer.ts +5 -1
  34. package/src/resources/framebufferSignature.ts +3 -0
  35. package/src/runtime/renderTask.ts +8 -1
  36. package/src/runtime/renderTo.ts +1 -1
  37. package/src/runtime/runtime.ts +19 -3
  38. package/src/runtime/scenePass.ts +3 -3
  39. package/src/window/canvas.ts +1 -0
@@ -9,7 +9,7 @@
9
9
  // from the texture's format.
10
10
  export function clear(cmd, output, values) {
11
11
  const colorAttachments = [];
12
- for (const [name] of output.signature.colors) {
12
+ for (const name of output.signature.colorNames) {
13
13
  const view = output.colors.tryFind(name);
14
14
  if (view === undefined) {
15
15
  throw new Error(`clear: framebuffer is missing color attachment "${name}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"clear.js","sourceRoot":"","sources":["../../src/commands/clear.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clear.js","sourceRoot":"","sources":["../../src/commands/clear.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  export function beginPassDescriptor(output, clear) {
17
17
  const colorAttachments = [];
18
18
  const msaa = output.signature.sampleCount > 1;
19
- for (const [name] of output.signature.colors) {
19
+ for (const name of output.signature.colorNames) {
20
20
  const view = output.colors.tryFind(name);
21
21
  if (view === undefined) {
22
22
  throw new Error(`render: framebuffer is missing color attachment "${name}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/commands/render.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,16 @@ export interface DepthStencilAttachmentSignature {
6
6
  }
7
7
  export interface FramebufferSignature {
8
8
  readonly colors: HashMap<string, GPUTextureFormat>;
9
+ /**
10
+ * Canonical name → location ordering for the color attachments.
11
+ * `colorNames[i]` names the attachment at WebGPU color-attachment
12
+ * slot `i` (and the fragment-shader `@location(i)`). This is the
13
+ * authoritative ordering used by the render-pass descriptor, the
14
+ * shader's fragment-output linker, and pipeline color-target
15
+ * indexing — `colors` (a HashMap) provides only name → format
16
+ * lookup and has no inherent order.
17
+ */
18
+ readonly colorNames: readonly string[];
9
19
  readonly depthStencil?: DepthStencilAttachmentSignature;
10
20
  readonly sampleCount: number;
11
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"framebufferSignature.d.ts","sourceRoot":"","sources":["../../src/core/framebufferSignature.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,+BAA+B,CAAC;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B"}
1
+ {"version":3,"file":"framebufferSignature.d.ts","sourceRoot":"","sources":["../../src/core/framebufferSignature.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACnD;;;;;;;;OAQG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,+BAA+B,CAAC;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/resources/framebuffer.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAA+B,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAGnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,gGAAgG;IAChG,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,gEAAgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AA8HD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,EAC1D,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAC3B,IAAI,GAAE,0BAA+B,GACpC,gBAAgB,CAAC,YAAY,CAAC,CAEhC"}
1
+ {"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/resources/framebuffer.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAA+B,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAGnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,gGAAgG;IAChG,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,gEAAgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAkID,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,EAC1D,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAC3B,IAAI,GAAE,0BAA+B,GACpC,gBAAgB,CAAC,YAAY,CAAC,CAEhC"}
@@ -107,7 +107,11 @@ class AdaptiveFramebuffer extends AdaptiveResource {
107
107
  | TextureUsage.TEXTURE_BINDING
108
108
  | (this.opts.extraUsage ?? 0);
109
109
  const labelPrefix = this.opts.labelPrefix ?? "fbo";
110
- for (const [name, format] of this.signature.colors) {
110
+ for (const name of this.signature.colorNames) {
111
+ const format = this.signature.colors.tryFind(name);
112
+ if (format === undefined) {
113
+ throw new Error(`framebuffer: signature.colorNames lists "${name}" but signature.colors has no entry`);
114
+ }
111
115
  const tex = this.device.createTexture({
112
116
  size: { width: size.width, height: size.height, depthOrArrayLayers: 1 },
113
117
  format,
@@ -1 +1 @@
1
- {"version":3,"file":"framebuffer.js","sourceRoot":"","sources":["../../src/resources/framebuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"framebuffer.js","sourceRoot":"","sources":["../../src/resources/framebuffer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"framebufferSignature.d.ts","sourceRoot":"","sources":["../../src/resources/framebufferSignature.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,wBAAwB,GAC7B,oBAAoB,CAWtB"}
1
+ {"version":3,"file":"framebufferSignature.d.ts","sourceRoot":"","sources":["../../src/resources/framebufferSignature.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,wBAAwB,GAC7B,oBAAoB,CActB"}
@@ -4,11 +4,14 @@
4
4
  import { HashMap } from "@aardworx/wombat.adaptive";
5
5
  export function createFramebufferSignature(spec) {
6
6
  let colors = HashMap.empty();
7
+ const colorNames = [];
7
8
  for (const [name, format] of Object.entries(spec.colors)) {
8
9
  colors = colors.add(name, format);
10
+ colorNames.push(name);
9
11
  }
10
12
  const sig = {
11
13
  colors,
14
+ colorNames,
12
15
  sampleCount: spec.sampleCount ?? 1,
13
16
  ...(spec.depthStencil ? { depthStencil: depthStencilFor(spec.depthStencil.format) } : {}),
14
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"framebufferSignature.js","sourceRoot":"","sources":["../../src/resources/framebufferSignature.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,iEAAiE;AACjE,qEAAqE;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAYpD,MAAM,UAAU,0BAA0B,CACxC,IAA8B;IAE9B,IAAI,MAAM,GAAG,OAAO,CAAC,KAAK,EAA4B,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,GAAG,GAAyB;QAChC,MAAM;QACN,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,MAAwB;IAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,sBAAsB,IAAI,MAAM,KAAK,uBAAuB,CAAC;IAClH,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"framebufferSignature.js","sourceRoot":"","sources":["../../src/resources/framebufferSignature.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,iEAAiE;AACjE,qEAAqE;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAYpD,MAAM,UAAU,0BAA0B,CACxC,IAA8B;IAE9B,IAAI,MAAM,GAAG,OAAO,CAAC,KAAK,EAA4B,CAAC;IACvD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,GAAG,GAAyB;QAChC,MAAM;QACN,UAAU;QACV,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,MAAwB;IAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,sBAAsB,IAAI,MAAM,KAAK,uBAAuB,CAAC;IAClH,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC"}
@@ -1,8 +1,14 @@
1
- import { type Command, type CompiledEffect, type Effect, type IRenderTask } from "../core/index.js";
1
+ import { type Command, type CompiledEffect, type Effect, type FramebufferSignature, type IRenderTask } from "../core/index.js";
2
2
  import { AdaptiveToken, type alist } from "@aardworx/wombat.adaptive";
3
3
  export interface RuntimeContext {
4
4
  readonly device: GPUDevice;
5
- readonly compileEffect: (effect: Effect) => CompiledEffect;
5
+ /**
6
+ * Compile an `Effect` against the target framebuffer signature.
7
+ * The signature determines the canonical fragment-output layout
8
+ * (`signature.colorNames[i]` ↔ `@location(i)`); the shader's
9
+ * `linkFragmentOutputs` pass uses it to re-pin and DCE outputs.
10
+ */
11
+ readonly compileEffect: (effect: Effect, signature: FramebufferSignature) => CompiledEffect;
6
12
  }
7
13
  export declare function compileRenderTask(ctx: RuntimeContext, commands: alist<Command>): IRenderTask & {
8
14
  encode(enc: GPUCommandEncoder, token: AdaptiveToken): void;
@@ -1 +1 @@
1
- {"version":3,"file":"renderTask.d.ts","sourceRoot":"","sources":["../../src/runtime/renderTask.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,MAAM,EAEX,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,KAAK,KAAK,EAAa,MAAM,2BAA2B,CAAC;AAIjF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,CAAC;CAC5D;AA+FD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,GAAG;IAC9F,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CAC5D,CAEA"}
1
+ {"version":3,"file":"renderTask.d.ts","sourceRoot":"","sources":["../../src/runtime/renderTask.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,oBAAoB,EAEzB,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,KAAK,KAAK,EAAa,MAAM,2BAA2B,CAAC;AAIjF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,KAAK,cAAc,CAAC;CAC7F;AA+FD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,GAAG;IAC9F,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CAC5D,CAEA"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderTask.js","sourceRoot":"","sources":["../../src/runtime/renderTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderTask.js","sourceRoot":"","sources":["../../src/runtime/renderTask.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ export function renderTo(ctx, scene, opts) {
79
79
  },
80
80
  colors() {
81
81
  let out = HashMap.empty();
82
- for (const [name] of opts.signature.colors) {
82
+ for (const name of opts.signature.colorNames) {
83
83
  out = out.add(name, this.color(name));
84
84
  }
85
85
  return out;
@@ -1 +1 @@
1
- {"version":3,"file":"renderTo.js","sourceRoot":"","sources":["../../src/runtime/renderTo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderTo.js","sourceRoot":"","sources":["../../src/runtime/renderTo.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Command, CompiledEffect, Effect, IRenderTask, RenderTree } from "../core/index.js";
1
+ import type { Command, CompiledEffect, Effect, FramebufferSignature, IRenderTask, RenderTree } from "../core/index.js";
2
2
  import type { alist } from "@aardworx/wombat.adaptive";
3
3
  import { type RenderToOptions, type RenderToResult } from "./renderTo.js";
4
4
  export interface RuntimeOptions {
@@ -10,7 +10,7 @@ export interface RuntimeOptions {
10
10
  * `CompileOptions` (`skipMatrixReversal`, source-file labelling,
11
11
  * …).
12
12
  */
13
- readonly compileEffect?: (effect: Effect) => CompiledEffect;
13
+ readonly compileEffect?: (effect: Effect, signature: FramebufferSignature) => CompiledEffect;
14
14
  }
15
15
  export declare class Runtime {
16
16
  private readonly ctx;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAY,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,CAAC;CAC7D;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAEpC,IAAI,EAAE,cAAc;IAoBhC,IAAI,MAAM,IAAI,SAAS,CAA4B;IACnD,IAAI,YAAY,IAAI,OAAO,CAA6B;IAqBxD,iEAAiE;IACjE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW;IAS9C;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,GAAG,cAAc;IAKlE;;;;;;;OAOG;IACH,UAAU,IAAI,IAAI;CAQnB"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAY,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,KAAK,cAAc,CAAC;CAC9F;AAeD,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAEpC,IAAI,EAAE,cAAc;IAuBhC,IAAI,MAAM,IAAI,SAAS,CAA4B;IACnD,IAAI,YAAY,IAAI,OAAO,CAA6B;IAqBxD,iEAAiE;IACjE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW;IAS9C;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,GAAG,cAAc;IAKlE;;;;;;;OAOG;IACH,UAAU,IAAI,IAAI;CAQnB"}
@@ -3,6 +3,18 @@
3
3
  // (eventually) `renderTo(...)`.
4
4
  import { compileRenderTask } from "./renderTask.js";
5
5
  import { renderTo } from "./renderTo.js";
6
+ /**
7
+ * Derive the fragment-output layout from a framebuffer signature:
8
+ * `colorNames[i]` ↔ `@location(i)`. The shader's `linkFragmentOutputs`
9
+ * pass uses this to re-pin and DCE fragment outputs at compile time —
10
+ * so two compiles of the same Effect against differently-ordered
11
+ * signatures produce different shaders.
12
+ */
13
+ function layoutFromSignature(sig) {
14
+ const locations = new Map();
15
+ sig.colorNames.forEach((name, i) => locations.set(name, i));
16
+ return { locations };
17
+ }
6
18
  export class Runtime {
7
19
  ctx;
8
20
  _tasks = new Set();
@@ -16,7 +28,10 @@ export class Runtime {
16
28
  constructor(opts) {
17
29
  this.ctx = {
18
30
  device: opts.device,
19
- compileEffect: opts.compileEffect ?? ((e) => e.compile({ target: "wgsl" })),
31
+ compileEffect: opts.compileEffect ?? ((e, sig) => e.compile({
32
+ target: "wgsl",
33
+ fragmentOutputLayout: layoutFromSignature(sig),
34
+ })),
20
35
  };
21
36
  // `device.lost` is a real-WebGPU promise; mock devices may not
22
37
  // expose it. Treat as "never lost" in that case.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare class ScenePass {
13
13
  private readonly root;
14
14
  /** Bumped on `prepareRenderObject`. Tests use this to confirm O(deltas) prep cost. */
15
15
  readonly stats: WalkerStats;
16
- constructor(device: GPUDevice, signature: FramebufferSignature, tree: RenderTree, compileEffect: (e: Effect) => CompiledEffect);
16
+ constructor(device: GPUDevice, signature: FramebufferSignature, tree: RenderTree, compileEffect: (e: Effect, signature: FramebufferSignature) => CompiledEffect);
17
17
  /**
18
18
  * Pull deltas from every dynamic subtree, splice the affected
19
19
  * walkers, and produce the current ordered list of leaves.
@@ -1 +1 @@
1
- {"version":3,"file":"scenePass.d.ts","sourceRoot":"","sources":["../../src/runtime/scenePass.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,aAAa,EAQnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,oBAAoB,EAEzB,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAS/B;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAkMD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAuB;gBAGhD,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,cAAc;IAM9C;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,EAAE;IAOrD,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"scenePass.d.ts","sourceRoot":"","sources":["../../src/runtime/scenePass.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,aAAa,EAQnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,oBAAoB,EAEzB,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAS/B;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAkMD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAuB;gBAGhD,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,KAAK,cAAc;IAM/E;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,EAAE;IAOrD,OAAO,IAAI,IAAI;CAGhB"}
@@ -28,7 +28,7 @@ class LeafWalker extends NodeWalker {
28
28
  prepared;
29
29
  constructor(ctx, obj) {
30
30
  super();
31
- const eff = ctx.compileEffect(obj.effect);
31
+ const eff = ctx.compileEffect(obj.effect, ctx.signature);
32
32
  this.prepared = prepareRenderObject(ctx.device, obj, eff, ctx.signature, {
33
33
  effectId: obj.effect.id,
34
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"scenePass.js","sourceRoot":"","sources":["../../src/runtime/scenePass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenePass.js","sourceRoot":"","sources":["../../src/runtime/scenePass.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/window/canvas.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAIL,KAAK,IAAI,EAEV,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,4FAA4F;IAC5F,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IACxC,qEAAqE;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,wFAAwF;IACxF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,+GAA+G;IAC/G,SAAS,IAAI,IAAI,CAAC;IAClB,6EAA6E;IAC7E,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,iBAAiB,GAAG,eAAe,EAC3C,IAAI,GAAE,mBAAwB,GAC7B,gBAAgB,CAqGlB"}
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/window/canvas.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAIL,KAAK,IAAI,EAEV,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,4FAA4F;IAC5F,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IACxC,qEAAqE;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,wFAAwF;IACxF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,+GAA+G;IAC/G,SAAS,IAAI,IAAI,CAAC;IAClB,6EAA6E;IAC7E,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,iBAAiB,GAAG,eAAe,EAC3C,IAAI,GAAE,mBAAwB,GAC7B,gBAAgB,CAsGlB"}
@@ -93,6 +93,7 @@ export function attachCanvas(device, canvas, opts = {}) {
93
93
  }
94
94
  const signature = {
95
95
  colors: HashMap.empty().add(colorName, format),
96
+ colorNames: [colorName],
96
97
  sampleCount,
97
98
  ...(opts.depthFormat !== undefined
98
99
  ? { depthStencil: depthAttachmentSig(opts.depthFormat) }
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/window/canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/window/canvas.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.4.0",
3
+ "version": "0.5.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,7 +56,7 @@
56
56
  "dependencies": {
57
57
  "@aardworx/wombat.adaptive": "^0.2.1",
58
58
  "@aardworx/wombat.base": "^0.3.0",
59
- "@aardworx/wombat.shader": "^0.2.1"
59
+ "@aardworx/wombat.shader": "^0.3.0"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@webgpu/types": "^0.1.69"
@@ -16,7 +16,7 @@ export function clear(
16
16
  values: ClearValues,
17
17
  ): void {
18
18
  const colorAttachments: GPURenderPassColorAttachment[] = [];
19
- for (const [name] of output.signature.colors) {
19
+ for (const name of output.signature.colorNames) {
20
20
  const view = output.colors.tryFind(name);
21
21
  if (view === undefined) {
22
22
  throw new Error(`clear: framebuffer is missing color attachment "${name}"`);
@@ -27,7 +27,7 @@ export interface Recordable {
27
27
  export function beginPassDescriptor(output: IFramebuffer, clear?: ClearValues): GPURenderPassDescriptor {
28
28
  const colorAttachments: GPURenderPassColorAttachment[] = [];
29
29
  const msaa = output.signature.sampleCount > 1;
30
- for (const [name] of output.signature.colors) {
30
+ for (const name of output.signature.colorNames) {
31
31
  const view = output.colors.tryFind(name);
32
32
  if (view === undefined) {
33
33
  throw new Error(`render: framebuffer is missing color attachment "${name}"`);
@@ -14,6 +14,16 @@ export interface DepthStencilAttachmentSignature {
14
14
 
15
15
  export interface FramebufferSignature {
16
16
  readonly colors: HashMap<string, GPUTextureFormat>;
17
+ /**
18
+ * Canonical name → location ordering for the color attachments.
19
+ * `colorNames[i]` names the attachment at WebGPU color-attachment
20
+ * slot `i` (and the fragment-shader `@location(i)`). This is the
21
+ * authoritative ordering used by the render-pass descriptor, the
22
+ * shader's fragment-output linker, and pipeline color-target
23
+ * indexing — `colors` (a HashMap) provides only name → format
24
+ * lookup and has no inherent order.
25
+ */
26
+ readonly colorNames: readonly string[];
17
27
  readonly depthStencil?: DepthStencilAttachmentSignature;
18
28
  readonly sampleCount: number;
19
29
  }
@@ -121,7 +121,11 @@ class AdaptiveFramebuffer extends AdaptiveResource<IFramebuffer> {
121
121
  | (this.opts.extraUsage ?? 0);
122
122
  const labelPrefix = this.opts.labelPrefix ?? "fbo";
123
123
 
124
- for (const [name, format] of this.signature.colors) {
124
+ for (const name of this.signature.colorNames) {
125
+ const format = this.signature.colors.tryFind(name);
126
+ if (format === undefined) {
127
+ throw new Error(`framebuffer: signature.colorNames lists "${name}" but signature.colors has no entry`);
128
+ }
125
129
  const tex = this.device.createTexture({
126
130
  size: { width: size.width, height: size.height, depthOrArrayLayers: 1 },
127
131
  format,
@@ -18,11 +18,14 @@ export function createFramebufferSignature(
18
18
  spec: FramebufferSignatureSpec,
19
19
  ): FramebufferSignature {
20
20
  let colors = HashMap.empty<string, GPUTextureFormat>();
21
+ const colorNames: string[] = [];
21
22
  for (const [name, format] of Object.entries(spec.colors)) {
22
23
  colors = colors.add(name, format);
24
+ colorNames.push(name);
23
25
  }
24
26
  const sig: FramebufferSignature = {
25
27
  colors,
28
+ colorNames,
26
29
  sampleCount: spec.sampleCount ?? 1,
27
30
  ...(spec.depthStencil ? { depthStencil: depthStencilFor(spec.depthStencil.format) } : {}),
28
31
  };
@@ -18,6 +18,7 @@ import {
18
18
  type Command,
19
19
  type CompiledEffect,
20
20
  type Effect,
21
+ type FramebufferSignature,
21
22
  type IFramebuffer,
22
23
  type IRenderTask,
23
24
  type RenderTree,
@@ -29,7 +30,13 @@ import { ScenePass } from "./scenePass.js";
29
30
 
30
31
  export interface RuntimeContext {
31
32
  readonly device: GPUDevice;
32
- readonly compileEffect: (effect: Effect) => CompiledEffect;
33
+ /**
34
+ * Compile an `Effect` against the target framebuffer signature.
35
+ * The signature determines the canonical fragment-output layout
36
+ * (`signature.colorNames[i]` ↔ `@location(i)`); the shader's
37
+ * `linkFragmentOutputs` pass uses it to re-pin and DCE outputs.
38
+ */
39
+ readonly compileEffect: (effect: Effect, signature: FramebufferSignature) => CompiledEffect;
33
40
  }
34
41
 
35
42
  class RenderTask implements IRenderTask {
@@ -137,7 +137,7 @@ export function renderTo(
137
137
  },
138
138
  colors() {
139
139
  let out = HashMap.empty<string, AdaptiveResource<ITexture>>();
140
- for (const [name] of opts.signature.colors) {
140
+ for (const name of opts.signature.colorNames) {
141
141
  out = out.add(name, this.color(name));
142
142
  }
143
143
  return out;
@@ -2,7 +2,7 @@
2
2
  // effect-compilation hook, exposes `compile(commands)` and
3
3
  // (eventually) `renderTo(...)`.
4
4
 
5
- import type { Command, CompiledEffect, Effect, IRenderTask, RenderTree } from "../core/index.js";
5
+ import type { Command, CompiledEffect, Effect, FramebufferSignature, IRenderTask, RenderTree } from "../core/index.js";
6
6
  import type { alist } from "@aardworx/wombat.adaptive";
7
7
  import { compileRenderTask, type RuntimeContext } from "./renderTask.js";
8
8
  import { renderTo, type RenderToOptions, type RenderToResult } from "./renderTo.js";
@@ -16,7 +16,20 @@ export interface RuntimeOptions {
16
16
  * `CompileOptions` (`skipMatrixReversal`, source-file labelling,
17
17
  * …).
18
18
  */
19
- readonly compileEffect?: (effect: Effect) => CompiledEffect;
19
+ readonly compileEffect?: (effect: Effect, signature: FramebufferSignature) => CompiledEffect;
20
+ }
21
+
22
+ /**
23
+ * Derive the fragment-output layout from a framebuffer signature:
24
+ * `colorNames[i]` ↔ `@location(i)`. The shader's `linkFragmentOutputs`
25
+ * pass uses this to re-pin and DCE fragment outputs at compile time —
26
+ * so two compiles of the same Effect against differently-ordered
27
+ * signatures produce different shaders.
28
+ */
29
+ function layoutFromSignature(sig: FramebufferSignature): { locations: ReadonlyMap<string, number> } {
30
+ const locations = new Map<string, number>();
31
+ sig.colorNames.forEach((name, i) => locations.set(name, i));
32
+ return { locations };
20
33
  }
21
34
 
22
35
  export class Runtime {
@@ -33,7 +46,10 @@ export class Runtime {
33
46
  constructor(opts: RuntimeOptions) {
34
47
  this.ctx = {
35
48
  device: opts.device,
36
- compileEffect: opts.compileEffect ?? ((e: Effect) => e.compile({ target: "wgsl" })),
49
+ compileEffect: opts.compileEffect ?? ((e: Effect, sig: FramebufferSignature) => e.compile({
50
+ target: "wgsl",
51
+ fragmentOutputLayout: layoutFromSignature(sig),
52
+ })),
37
53
  };
38
54
  // `device.lost` is a real-WebGPU promise; mock devices may not
39
55
  // expose it. Treat as "never lost" in that case.
@@ -39,7 +39,7 @@ import {
39
39
 
40
40
  interface BuildContext {
41
41
  readonly device: GPUDevice;
42
- readonly compileEffect: (e: Effect) => CompiledEffect;
42
+ readonly compileEffect: (e: Effect, signature: FramebufferSignature) => CompiledEffect;
43
43
  readonly signature: FramebufferSignature;
44
44
  readonly stats: WalkerStats;
45
45
  }
@@ -72,7 +72,7 @@ class LeafWalker extends NodeWalker {
72
72
  private readonly prepared: PreparedRenderObject;
73
73
  constructor(ctx: BuildContext, obj: RenderObject) {
74
74
  super();
75
- const eff = ctx.compileEffect(obj.effect);
75
+ const eff = ctx.compileEffect(obj.effect, ctx.signature);
76
76
  this.prepared = prepareRenderObject(ctx.device, obj, eff, ctx.signature, {
77
77
  effectId: obj.effect.id,
78
78
  });
@@ -254,7 +254,7 @@ export class ScenePass {
254
254
  device: GPUDevice,
255
255
  signature: FramebufferSignature,
256
256
  tree: RenderTree,
257
- compileEffect: (e: Effect) => CompiledEffect,
257
+ compileEffect: (e: Effect, signature: FramebufferSignature) => CompiledEffect,
258
258
  ) {
259
259
  const ctx: BuildContext = { device, signature, compileEffect, stats: this.stats };
260
260
  this.root = build(tree, ctx);
@@ -142,6 +142,7 @@ export function attachCanvas(
142
142
 
143
143
  const signature: FramebufferSignature = {
144
144
  colors: HashMap.empty<string, GPUTextureFormat>().add(colorName, format),
145
+ colorNames: [colorName],
145
146
  sampleCount,
146
147
  ...(opts.depthFormat !== undefined
147
148
  ? { depthStencil: depthAttachmentSig(opts.depthFormat) }