@aardworx/wombat.rendering 0.1.1 → 0.2.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.
@@ -6,7 +6,8 @@ export type { Command, CopySpec, BufferCopy, TextureCopy, BufferCopyRange, } fro
6
6
  export type { DrawCall, IndexedDrawCall, NonIndexedDrawCall, } from "./drawCall.js";
7
7
  export type { IFramebuffer, } from "./framebuffer.js";
8
8
  export type { DepthStencilAttachmentSignature, FramebufferSignature, } from "./framebufferSignature.js";
9
- export type { BlendComponentState, BlendState, CullMode, DepthState, FrontFace, PipelineState, RasterizerState, StencilFaceState, StencilState, Topology, } from "./pipelineState.js";
9
+ export type { BlendComponentState, BlendState, CullMode, DepthBiasState, DepthState, FrontFace, PlainBlendComponentState, PlainBlendState, PlainDepthState, PlainPipelineState, PlainRasterizerState, PlainStencilFaceState, PlainStencilState, RasterizerState, StencilFaceState, StencilState, Topology, } from "./pipelineState.js";
10
+ export { PipelineState } from "./pipelineState.js";
10
11
  export type { RenderObject, } from "./renderObject.js";
11
12
  export { RenderTree, } from "./renderTree.js";
12
13
  export type { IRenderTask, } from "./renderTask.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,EACX,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,QAAQ,EACR,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,QAAQ,GACT,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,QAAQ,GACT,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,MAAM,EACN,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,aAAa,GACd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,EACX,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,QAAQ,EACR,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,YAAY,EACV,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,QAAQ,GACT,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,QAAQ,GACT,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,MAAM,EACN,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -4,6 +4,7 @@
4
4
  // `prepareRenderObject`, `runRenderTask`, etc. live in higher
5
5
  // packages (`resources`, `commands`, `runtime`).
6
6
  export { IBuffer, } from "./buffer.js";
7
+ export { PipelineState } from "./pipelineState.js";
7
8
  export { RenderTree, } from "./renderTree.js";
8
9
  export { ISampler, } from "./sampler.js";
9
10
  export { ITexture, } from "./texture.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,2DAA2D;AAC3D,8DAA8D;AAC9D,iDAAiD;AAEjD,OAAO,EACL,OAAO,GACR,MAAM,aAAa,CAAC;AAsDrB,OAAO,EACL,UAAU,GACX,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EACL,QAAQ,GACT,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,QAAQ,GACT,MAAM,cAAc,CAAC;AA4BtB,OAAO,EACL,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,aAAa,GACd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,2DAA2D;AAC3D,8DAA8D;AAC9D,iDAAiD;AAEjD,OAAO,EACL,OAAO,GACR,MAAM,aAAa,CAAC;AAyDrB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,OAAO,EACL,UAAU,GACX,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EACL,QAAQ,GACT,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,QAAQ,GACT,MAAM,cAAc,CAAC;AA4BtB,OAAO,EACL,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -1,44 +1,50 @@
1
- import type { HashMap } from "@aardworx/wombat.adaptive";
1
+ import { HashMap, type aval } from "@aardworx/wombat.adaptive";
2
2
  export type CullMode = "none" | "front" | "back";
3
3
  export type FrontFace = "ccw" | "cw";
4
4
  export type Topology = GPUPrimitiveTopology;
5
+ export interface DepthBiasState {
6
+ readonly constant: number;
7
+ readonly slopeScale: number;
8
+ readonly clamp: number;
9
+ }
5
10
  export interface RasterizerState {
6
- readonly topology: Topology;
7
- readonly cullMode: CullMode;
8
- readonly frontFace: FrontFace;
9
- /** "none" disables polygon offset. */
10
- readonly depthBias?: {
11
- readonly constant: number;
12
- readonly slopeScale: number;
13
- readonly clamp: number;
14
- };
11
+ readonly topology: aval<Topology>;
12
+ readonly cullMode: aval<CullMode>;
13
+ readonly frontFace: aval<FrontFace>;
14
+ /** `undefined` value disables polygon offset. */
15
+ readonly depthBias?: aval<DepthBiasState | undefined>;
15
16
  }
16
17
  export interface DepthState {
17
- readonly write: boolean;
18
- readonly compare: GPUCompareFunction;
18
+ readonly write: aval<boolean>;
19
+ readonly compare: aval<GPUCompareFunction>;
20
+ /** unclippedDepth — requires the WebGPU adapter feature. */
21
+ readonly clamp?: aval<boolean>;
19
22
  }
20
23
  export interface StencilFaceState {
21
- readonly compare: GPUCompareFunction;
22
- readonly failOp: GPUStencilOperation;
23
- readonly depthFailOp: GPUStencilOperation;
24
- readonly passOp: GPUStencilOperation;
24
+ readonly compare: aval<GPUCompareFunction>;
25
+ readonly failOp: aval<GPUStencilOperation>;
26
+ readonly depthFailOp: aval<GPUStencilOperation>;
27
+ readonly passOp: aval<GPUStencilOperation>;
25
28
  }
26
29
  export interface StencilState {
27
- readonly readMask: number;
28
- readonly writeMask: number;
30
+ readonly enabled: aval<boolean>;
31
+ /** Per-frame, NOT pipeline rebuild. */
32
+ readonly reference: aval<number>;
33
+ readonly readMask: aval<number>;
34
+ readonly writeMask: aval<number>;
29
35
  readonly front: StencilFaceState;
30
36
  readonly back: StencilFaceState;
31
37
  }
32
38
  export interface BlendComponentState {
33
- readonly operation: GPUBlendOperation;
34
- readonly srcFactor: GPUBlendFactor;
35
- readonly dstFactor: GPUBlendFactor;
39
+ readonly operation: aval<GPUBlendOperation>;
40
+ readonly srcFactor: aval<GPUBlendFactor>;
41
+ readonly dstFactor: aval<GPUBlendFactor>;
36
42
  }
37
43
  export interface BlendState {
38
44
  readonly color: BlendComponentState;
39
45
  readonly alpha: BlendComponentState;
40
46
  /** RGBA channel write mask (bitmask: R=1, G=2, B=4, A=8). */
41
- readonly writeMask: number;
47
+ readonly writeMask: aval<number>;
42
48
  }
43
49
  export interface PipelineState {
44
50
  readonly rasterizer: RasterizerState;
@@ -49,8 +55,72 @@ export interface PipelineState {
49
55
  * from the `FramebufferSignature`. Missing entries default to
50
56
  * "no blending, write all channels".
51
57
  */
52
- readonly blends?: HashMap<string, BlendState>;
58
+ readonly blends?: aval<HashMap<string, BlendState>>;
53
59
  /** Multi-sample alpha-to-coverage. Default `false`. */
60
+ readonly alphaToCoverage?: aval<boolean>;
61
+ /** Per-frame, not pipeline-rebuild. */
62
+ readonly blendConstant?: aval<{
63
+ r: number;
64
+ g: number;
65
+ b: number;
66
+ a: number;
67
+ }>;
68
+ }
69
+ export interface PlainRasterizerState {
70
+ readonly topology: Topology;
71
+ readonly cullMode: CullMode;
72
+ readonly frontFace: FrontFace;
73
+ readonly depthBias?: DepthBiasState;
74
+ }
75
+ export interface PlainDepthState {
76
+ readonly write: boolean;
77
+ readonly compare: GPUCompareFunction;
78
+ readonly clamp?: boolean;
79
+ }
80
+ export interface PlainStencilFaceState {
81
+ readonly compare: GPUCompareFunction;
82
+ readonly failOp: GPUStencilOperation;
83
+ readonly depthFailOp: GPUStencilOperation;
84
+ readonly passOp: GPUStencilOperation;
85
+ }
86
+ export interface PlainStencilState {
87
+ readonly enabled: boolean;
88
+ readonly reference: number;
89
+ readonly readMask: number;
90
+ readonly writeMask: number;
91
+ readonly front: PlainStencilFaceState;
92
+ readonly back: PlainStencilFaceState;
93
+ }
94
+ export interface PlainBlendComponentState {
95
+ readonly operation: GPUBlendOperation;
96
+ readonly srcFactor: GPUBlendFactor;
97
+ readonly dstFactor: GPUBlendFactor;
98
+ }
99
+ export interface PlainBlendState {
100
+ readonly color: PlainBlendComponentState;
101
+ readonly alpha: PlainBlendComponentState;
102
+ readonly writeMask: number;
103
+ }
104
+ export interface PlainPipelineState {
105
+ readonly rasterizer: PlainRasterizerState;
106
+ readonly depth?: PlainDepthState;
107
+ readonly stencil?: PlainStencilState;
108
+ readonly blends?: HashMap<string, PlainBlendState>;
54
109
  readonly alphaToCoverage?: boolean;
110
+ readonly blendConstant?: {
111
+ r: number;
112
+ g: number;
113
+ b: number;
114
+ a: number;
115
+ };
55
116
  }
117
+ /**
118
+ * Wrap a plain `PlainPipelineState` into the aval-shaped
119
+ * `PipelineState` by lifting every leaf with `AVal.constant`. Useful
120
+ * for tests and for callers that don't carry avals yet — wombat.dom's
121
+ * `derivePipelineState` constructs the aval-shape directly.
122
+ */
123
+ export declare const PipelineState: {
124
+ constant(plain: PlainPipelineState): PipelineState;
125
+ };
56
126
  //# sourceMappingURL=pipelineState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipelineState.d.ts","sourceRoot":"","sources":["../../src/core/pipelineState.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;AACrC,MAAM,MAAM,QAAQ,GAAG,oBAAoB,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACzG;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,uDAAuD;IACvD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC"}
1
+ {"version":3,"file":"pipelineState.d.ts","sourceRoot":"","sources":["../../src/core/pipelineState.ts"],"names":[],"mappings":"AASA,OAAO,EAAQ,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;AACrC,MAAM,MAAM,QAAQ,GAAG,oBAAoB,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,iDAAiD;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC3C,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAG,IAAI,CAAC,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,uCAAuC;IACvC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAM,gBAAgB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAO,gBAAgB,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAM,mBAAmB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAM,mBAAmB,CAAC;IACxC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAQ,eAAe,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAY,UAAU,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAU,YAAY,CAAC;IACxC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAW,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,uDAAuD;IACvD,QAAQ,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,uCAAuC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAI,IAAI,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjF;AAQD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;CACtC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACnD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzE;AA+BD;;;;;GAKG;AACH,eAAO,MAAM,aAAa;oBACR,kBAAkB,GAAG,aAAa;CA2CnD,CAAC"}
@@ -2,5 +2,87 @@
2
2
  // RenderObject. Vertex layout, blending, depth/stencil, raster.
3
3
  // Combined with a CompiledEffect + FramebufferSignature this is
4
4
  // enough to bake a GPURenderPipeline.
5
- export {};
5
+ //
6
+ // All fields are `aval<T>` so wombat.dom's render-state scopes can
7
+ // flow through without forcing. The shader (`Effect`) stays a plain
8
+ // non-aval value; only uniforms and pipeline state are reactive.
9
+ import { AVal, HashMap } from "@aardworx/wombat.adaptive";
10
+ // ---------------------------------------------------------------------------
11
+ // Helpers
12
+ // ---------------------------------------------------------------------------
13
+ function blendStateFromPlain(b) {
14
+ return {
15
+ color: {
16
+ operation: AVal.constant(b.color.operation),
17
+ srcFactor: AVal.constant(b.color.srcFactor),
18
+ dstFactor: AVal.constant(b.color.dstFactor),
19
+ },
20
+ alpha: {
21
+ operation: AVal.constant(b.alpha.operation),
22
+ srcFactor: AVal.constant(b.alpha.srcFactor),
23
+ dstFactor: AVal.constant(b.alpha.dstFactor),
24
+ },
25
+ writeMask: AVal.constant(b.writeMask),
26
+ };
27
+ }
28
+ function stencilFaceFromPlain(f) {
29
+ return {
30
+ compare: AVal.constant(f.compare),
31
+ failOp: AVal.constant(f.failOp),
32
+ depthFailOp: AVal.constant(f.depthFailOp),
33
+ passOp: AVal.constant(f.passOp),
34
+ };
35
+ }
36
+ /**
37
+ * Wrap a plain `PlainPipelineState` into the aval-shaped
38
+ * `PipelineState` by lifting every leaf with `AVal.constant`. Useful
39
+ * for tests and for callers that don't carry avals yet — wombat.dom's
40
+ * `derivePipelineState` constructs the aval-shape directly.
41
+ */
42
+ export const PipelineState = {
43
+ constant(plain) {
44
+ const rast = {
45
+ topology: AVal.constant(plain.rasterizer.topology),
46
+ cullMode: AVal.constant(plain.rasterizer.cullMode),
47
+ frontFace: AVal.constant(plain.rasterizer.frontFace),
48
+ ...(plain.rasterizer.depthBias !== undefined
49
+ ? { depthBias: AVal.constant(plain.rasterizer.depthBias) }
50
+ : {}),
51
+ };
52
+ let blends;
53
+ if (plain.blends !== undefined) {
54
+ let m = HashMap.empty();
55
+ for (const [k, v] of plain.blends)
56
+ m = m.add(k, blendStateFromPlain(v));
57
+ blends = AVal.constant(m);
58
+ }
59
+ return {
60
+ rasterizer: rast,
61
+ ...(plain.depth !== undefined
62
+ ? {
63
+ depth: {
64
+ write: AVal.constant(plain.depth.write),
65
+ compare: AVal.constant(plain.depth.compare),
66
+ ...(plain.depth.clamp !== undefined ? { clamp: AVal.constant(plain.depth.clamp) } : {}),
67
+ },
68
+ }
69
+ : {}),
70
+ ...(plain.stencil !== undefined
71
+ ? {
72
+ stencil: {
73
+ enabled: AVal.constant(plain.stencil.enabled),
74
+ reference: AVal.constant(plain.stencil.reference),
75
+ readMask: AVal.constant(plain.stencil.readMask),
76
+ writeMask: AVal.constant(plain.stencil.writeMask),
77
+ front: stencilFaceFromPlain(plain.stencil.front),
78
+ back: stencilFaceFromPlain(plain.stencil.back),
79
+ },
80
+ }
81
+ : {}),
82
+ ...(blends !== undefined ? { blends } : {}),
83
+ ...(plain.alphaToCoverage !== undefined ? { alphaToCoverage: AVal.constant(plain.alphaToCoverage) } : {}),
84
+ ...(plain.blendConstant !== undefined ? { blendConstant: AVal.constant(plain.blendConstant) } : {}),
85
+ };
86
+ },
87
+ };
6
88
  //# sourceMappingURL=pipelineState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipelineState.js","sourceRoot":"","sources":["../../src/core/pipelineState.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,gEAAgE;AAChE,gEAAgE;AAChE,sCAAsC"}
1
+ {"version":3,"file":"pipelineState.js","sourceRoot":"","sources":["../../src/core/pipelineState.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AdaptiveResource, type CompiledEffect, type FramebufferSignature, type RenderObject } from "../core/index.js";
1
+ import { AdaptiveResource, type CompiledEffect, type FramebufferSignature, type ProgramInterface, type RenderObject } from "../core/index.js";
2
2
  import { type AdaptiveToken, type aval } from "@aardworx/wombat.adaptive";
3
3
  interface VertexBindingInfo {
4
4
  readonly name: string;
@@ -30,6 +30,21 @@ interface GroupDesc {
30
30
  readonly layout: GPUBindGroupLayout;
31
31
  readonly entries: readonly EntryDesc[];
32
32
  }
33
+ interface PipelineBuildContext {
34
+ readonly device: GPUDevice;
35
+ readonly iface: ProgramInterface;
36
+ readonly signature: FramebufferSignature;
37
+ readonly vertexLayouts: readonly GPUVertexBufferLayout[];
38
+ readonly bindGroupLayouts: readonly GPUBindGroupLayout[];
39
+ readonly vsSource: string;
40
+ readonly fsSource: string;
41
+ readonly vsEntry: string;
42
+ readonly fsEntry: string;
43
+ readonly vsSourceMap: import("@aardworx/wombat.shader/ir").SourceMap | null | undefined;
44
+ readonly fsSourceMap: import("@aardworx/wombat.shader/ir").SourceMap | null | undefined;
45
+ readonly label?: string | undefined;
46
+ readonly effectId?: string | undefined;
47
+ }
33
48
  export declare class PreparedRenderObject {
34
49
  private readonly device;
35
50
  private readonly vertexBindings;
@@ -38,12 +53,29 @@ export declare class PreparedRenderObject {
38
53
  private readonly indexFormat;
39
54
  private readonly indices;
40
55
  private readonly drawCall;
41
- readonly pipeline: GPURenderPipeline;
56
+ /**
57
+ * Most recently resolved pipeline. Set by `update(token)`. Reading
58
+ * this before `update` was ever called yields a sentinel object
59
+ * suitable only for identity comparison; the actual pipeline is
60
+ * resolved on the first `update`/`record` call.
61
+ */
62
+ pipeline: GPURenderPipeline;
42
63
  readonly groups: readonly GroupDesc[];
64
+ private readonly _pipelineCache;
65
+ private _pipelineCtx;
66
+ private _pipelineState;
43
67
  private readonly _bindGroupCache;
44
- constructor(device: GPUDevice, vertexBindings: readonly VertexBindingInfo[], vertexBuffers: ReadonlyMap<string, AdaptiveResource<GPUBuffer>>, indexBuffer: AdaptiveResource<GPUBuffer> | undefined, indexFormat: GPUIndexFormat | undefined, indices: aval<import("../core/index.js").BufferView> | undefined, groups: readonly GroupDesc[], drawCall: aval<import("../core/index.js").DrawCall>, pipeline: GPURenderPipeline);
68
+ constructor(device: GPUDevice, vertexBindings: readonly VertexBindingInfo[], vertexBuffers: ReadonlyMap<string, AdaptiveResource<GPUBuffer>>, indexBuffer: AdaptiveResource<GPUBuffer> | undefined, indexFormat: GPUIndexFormat | undefined, indices: aval<import("../core/index.js").BufferView> | undefined, groups: readonly GroupDesc[], drawCall: aval<import("../core/index.js").DrawCall>, pipelineCtx: PipelineBuildContext, pipelineState: import("../core/index.js").PipelineState);
69
+ /** Internal — exposed for tests. The PipelineState the RO is reading. */
70
+ get pipelineState(): import("../core/index.js").PipelineState;
45
71
  acquire(): void;
46
72
  release(): void;
73
+ /**
74
+ * Resolve the pipeline for the current values of the
75
+ * pipeline-influencing avals. Updates `this.pipeline` so that the
76
+ * surrounding sort / record path can read it without forcing.
77
+ */
78
+ update(token: AdaptiveToken): void;
47
79
  record(pass: GPURenderPassEncoder, token: AdaptiveToken): void;
48
80
  }
49
81
  export interface PrepareRenderObjectOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"preparedRenderObject.d.ts","sourceRoot":"","sources":["../../src/resources/preparedRenderObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preparedRenderObject.d.ts","sourceRoot":"","sources":["../../src/resources/preparedRenderObject.ts"],"names":[],"mappings":"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"}