@aardworx/wombat.rendering 0.9.13 → 0.9.14

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.
@@ -64,13 +64,21 @@ export declare class DerivedExpr {
64
64
  distance(o: DerivedExpr): DerivedExpr;
65
65
  reflect(n: DerivedExpr): DerivedExpr;
66
66
  }
67
- /** The `u` passed to a `derivedUniform` builder. `u.<Name>` is a mat4 trafo leaf. */
67
+ /** The `u` passed to a `derivedUniform` builder. `u.<Name>` is a uniform leaf — a mat4
68
+ * trafo by default; its real type when the wombat-shader-vite plugin supplies one (or
69
+ * when you write `u.<Name>.as("vec4")`). */
68
70
  export type DerivedScope = {
69
71
  readonly [name: string]: DerivedExpr;
70
72
  };
73
+ /** Per-leaf type hints, keyed by uniform name (the build-time marker fills these in). */
74
+ export type DerivedLeafTypes = Readonly<Record<string, LeafTypeName>>;
71
75
  /**
72
76
  * Define a derived uniform. `derivedUniform(u => u.ViewTrafo.mul(u.ModelTrafo))` makes a
73
- * rule that slots in wherever a uniform value goes — see this module's header.
77
+ * rule that slots in wherever a uniform value goes — see this module's header. The optional
78
+ * `leafTypes` map gives `u.<Name>` leaves their real WGSL types (the wombat-shader-vite
79
+ * `derivedUniform(...)` marker fills it in from your `UniformScope` declarations; without
80
+ * the plugin, `u.<Name>` defaults to mat4 and you use `.as("vec4")` etc. when you need
81
+ * another type).
74
82
  */
75
- export declare function derivedUniform<T = unknown>(build: (u: DerivedScope) => DerivedExpr): DerivedRule<T>;
83
+ export declare function derivedUniform<T = unknown>(build: (u: DerivedScope) => DerivedExpr, leafTypes?: DerivedLeafTypes): DerivedRule<T>;
76
84
  //# sourceMappingURL=marker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/marker.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AASrE,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AA2B9F,yDAAyD;AACzD,qBAAa,WAAW;IACV,QAAQ,CAAC,EAAE,EAAE,IAAI;gBAAR,EAAE,EAAE,IAAI;IAC7B,IAAI,IAAI,IAAI,IAAI,CAAyB;IAEzC,2FAA2F;IAC3F,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IAapC,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IACpC,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IACpC,GAAG,IAAI,WAAW;IAElB,8GAA8G;IAC9G,OAAO,IAAI,WAAW;IACtB,SAAS,IAAI,WAAW;IACxB,mCAAmC;IACnC,YAAY,IAAI,WAAW;IAC3B,2FAA2F;IAC3F,eAAe,IAAI,WAAW;IAI9B,mGAAmG;IACnG,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW;IAI1D,uEAAuE;IACvE,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAInC,IAAI,CAAC,IAAI,WAAW,CAA8B;IAClD,IAAI,CAAC,IAAI,WAAW,CAA8B;IAClD,IAAI,CAAC,IAAI,WAAW,CAA8B;IAClD,IAAI,CAAC,IAAI,WAAW,CAA8B;IAElD;;;;OAIG;IACH,EAAE,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW;IAQvC,8FAA8F;IAC9F,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW;IAG3E,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,GAAG;IACX,GAAG,IAAI,WAAW;IAClB,GAAG,IAAI,WAAW;IAClB,GAAG,IAAI,WAAW;IAClB,GAAG,IAAI,WAAW;IAClB,KAAK,IAAI,WAAW;IACpB,IAAI,IAAI,WAAW;IACnB,KAAK,IAAI,WAAW;IACpB,IAAI,IAAI,WAAW;IACnB,GAAG,IAAI,WAAW;IAClB,GAAG,IAAI,WAAW;IAClB,IAAI,IAAI,WAAW;IACnB,IAAI,IAAI,WAAW;IACnB,IAAI,IAAI,WAAW;IACnB,SAAS,IAAI,WAAW;IACxB,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW;IAChC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW;IAChC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW;IAChC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW;IAClC,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW;IACpC,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,GAAG,WAAW;IACpD,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW;IAChD,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW;IAChC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW;IAClC,MAAM,IAAI,WAAW;IACrB,QAAQ,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW;IACrC,OAAO,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW;CACrC;AAED,qFAAqF;AACrF,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAWpE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAMnG"}
1
+ {"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/marker.ts"],"names":[],"mappings":"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"}
@@ -133,21 +133,26 @@ export class DerivedExpr {
133
133
  distance(o) { return new DerivedExpr(intrinsicExpr("distance", elemOf(this.ir.type), [this.ir, o.ir])); }
134
134
  reflect(n) { return new DerivedExpr(intrinsicExpr("reflect", this.ir.type, [this.ir, n.ir])); }
135
135
  }
136
- function makeScope() {
136
+ function makeScope(leafTypes) {
137
137
  return new Proxy({}, {
138
138
  get(_t, key) {
139
139
  if (typeof key !== "string")
140
140
  throw new Error("derivedUniform: leaf names must be strings");
141
- return new DerivedExpr(uniformRef(key, mat(4)));
141
+ const hinted = leafTypes?.[key];
142
+ return new DerivedExpr(uniformRef(key, hinted ? LEAF_TYPES[hinted] : mat(4)));
142
143
  },
143
144
  });
144
145
  }
145
146
  /**
146
147
  * Define a derived uniform. `derivedUniform(u => u.ViewTrafo.mul(u.ModelTrafo))` makes a
147
- * rule that slots in wherever a uniform value goes — see this module's header.
148
+ * rule that slots in wherever a uniform value goes — see this module's header. The optional
149
+ * `leafTypes` map gives `u.<Name>` leaves their real WGSL types (the wombat-shader-vite
150
+ * `derivedUniform(...)` marker fills it in from your `UniformScope` declarations; without
151
+ * the plugin, `u.<Name>` defaults to mat4 and you use `.as("vec4")` etc. when you need
152
+ * another type).
148
153
  */
149
- export function derivedUniform(build) {
150
- const result = build(makeScope());
154
+ export function derivedUniform(build, leafTypes) {
155
+ const result = build(makeScope(leafTypes));
151
156
  if (!(result instanceof DerivedExpr)) {
152
157
  throw new Error("derivedUniform: the builder must return a derived expression, e.g. u.ViewTrafo.mul(u.ModelTrafo)");
153
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"marker.js","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/marker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marker.js","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/marker.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,2EAA2E;AAC3E,+EAA+E;AAC/E,oFAAoF;AACpF,qFAAqF;AACrF,EAAE;AACF,oFAAoF;AACpF,qFAAqF;AACrF,yFAAyF;AACzF,wFAAwF;AACxF,yFAAyF;AAGzF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAoB,MAAM,WAAW,CAAC;AAErE,MAAM,IAAI,GAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAChD,MAAM,GAAG,GAAG,CAAC,CAAQ,EAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AACtF,MAAM,GAAG,GAAG,CAAC,CAAY,EAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAEhF,MAAM,IAAI,GAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC7D,MAAM,IAAI,GAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAI5D,MAAM,UAAU,GAA+B;IAC7C,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;IAC/B,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;CACrE,CAAC;AAEF,SAAS,UAAU,CAAC,CAAO;IACzB,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC;AACD,SAAS,SAAS,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IAC3D,MAAM,CAAC,GAAG,CAAC,CAAS,EAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACnF,CAAC;AACD,SAAS,MAAM,CAAC,CAAO;IACrB,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AACD;uEACuE;AACvE,SAAS,aAAa,CAAC,IAAY,EAAE,IAAU,EAAE,IAAqB;IACpE,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACpF,IAAI;QACJ,IAAI;KACL,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,MAAM,OAAO,WAAW;IACD;IAArB,YAAqB,EAAQ;QAAR,OAAE,GAAF,EAAE,CAAM;IAAG,CAAC;IACjC,IAAI,IAAI,KAAW,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzC,2FAA2F;IAC3F,GAAG,CAAC,KAAkB;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;QAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvJ,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxI,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxI,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,GAAG,CAAC,KAAkB,IAAiB,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClI,GAAG,CAAC,KAAkB,IAAiB,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClI,GAAG,KAAkB,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnG,8GAA8G;IAC9G,OAAO,KAAkB,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3G,SAAS,KAAkB,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3H,mCAAmC;IACnC,YAAY,KAAkB,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChH,2FAA2F;IAC3F,eAAe;QACb,MAAM,EAAE,GAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,mGAAmG;IACnG,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QAC1C,MAAM,EAAE,GAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,uEAAuE;IACvE,OAAO,CAAC,KAAa;QACnB,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAA8B,CAAC;QACvD,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAmB,CAAC,EAAE,CAAC,CAAC;IACrI,CAAC;IACD,IAAI,CAAC,KAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,KAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,KAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,KAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAElD;;;;OAIG;IACH,EAAE,CAAC,QAAsB;QACvB,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,wEAAwE;IACxE,8FAA8F;IAC9F,IAAI,CAAC,IAAY,EAAE,UAAgB,EAAE,GAAG,MAAqB;QAC3D,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IACO,EAAE,CAAC,IAAY,IAAiB,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,GAAG,CAAC,IAAY,EAAE,CAAc,IAAiB,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtI,GAAG,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,GAAG,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,GAAG,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,GAAG,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,KAAK,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,KAAK,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,GAAG,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,GAAG,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,SAAS,KAAkB,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzD,GAAG,CAAC,CAAc,IAAiB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,GAAG,CAAC,CAAc,IAAiB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,GAAG,CAAC,CAAc,IAAiB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,KAAK,CAAC,CAAc,IAAiB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,IAAiB,IAAiB,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzH,KAAK,CAAC,EAAe,EAAE,EAAe,IAAiB,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/I,GAAG,CAAC,CAAc,EAAE,CAAc,IAAiB,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvI,GAAG,CAAC,CAAc,IAAiB,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzH,KAAK,CAAC,CAAc,IAAiB,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrH,MAAM,KAAkB,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,QAAQ,CAAC,CAAc,IAAiB,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnI,OAAO,CAAC,CAAc,IAAiB,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1H;AAUD,SAAS,SAAS,CAAC,SAA4B;IAC7C,OAAO,IAAI,KAAK,CAAC,EAAkB,EAAE;QACnC,GAAG,CAAC,EAAE,EAAE,GAAG;YACT,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC3F,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAuC,EACvC,SAA4B;IAE5B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,UAAU,CAAI,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aardworx/wombat.rendering",
3
- "version": "0.9.13",
3
+ "version": "0.9.14",
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",
@@ -144,24 +144,37 @@ export class DerivedExpr {
144
144
  reflect(n: DerivedExpr): DerivedExpr { return new DerivedExpr(intrinsicExpr("reflect", this.ir.type, [this.ir, n.ir])); }
145
145
  }
146
146
 
147
- /** The `u` passed to a `derivedUniform` builder. `u.<Name>` is a mat4 trafo leaf. */
147
+ /** The `u` passed to a `derivedUniform` builder. `u.<Name>` is a uniform leaf — a mat4
148
+ * trafo by default; its real type when the wombat-shader-vite plugin supplies one (or
149
+ * when you write `u.<Name>.as("vec4")`). */
148
150
  export type DerivedScope = { readonly [name: string]: DerivedExpr };
149
151
 
150
- function makeScope(): DerivedScope {
152
+ /** Per-leaf type hints, keyed by uniform name (the build-time marker fills these in). */
153
+ export type DerivedLeafTypes = Readonly<Record<string, LeafTypeName>>;
154
+
155
+ function makeScope(leafTypes?: DerivedLeafTypes): DerivedScope {
151
156
  return new Proxy({} as DerivedScope, {
152
157
  get(_t, key): DerivedExpr {
153
158
  if (typeof key !== "string") throw new Error("derivedUniform: leaf names must be strings");
154
- return new DerivedExpr(uniformRef(key, mat(4)));
159
+ const hinted = leafTypes?.[key];
160
+ return new DerivedExpr(uniformRef(key, hinted ? LEAF_TYPES[hinted] : mat(4)));
155
161
  },
156
162
  });
157
163
  }
158
164
 
159
165
  /**
160
166
  * Define a derived uniform. `derivedUniform(u => u.ViewTrafo.mul(u.ModelTrafo))` makes a
161
- * rule that slots in wherever a uniform value goes — see this module's header.
167
+ * rule that slots in wherever a uniform value goes — see this module's header. The optional
168
+ * `leafTypes` map gives `u.<Name>` leaves their real WGSL types (the wombat-shader-vite
169
+ * `derivedUniform(...)` marker fills it in from your `UniformScope` declarations; without
170
+ * the plugin, `u.<Name>` defaults to mat4 and you use `.as("vec4")` etc. when you need
171
+ * another type).
162
172
  */
163
- export function derivedUniform<T = unknown>(build: (u: DerivedScope) => DerivedExpr): DerivedRule<T> {
164
- const result = build(makeScope());
173
+ export function derivedUniform<T = unknown>(
174
+ build: (u: DerivedScope) => DerivedExpr,
175
+ leafTypes?: DerivedLeafTypes,
176
+ ): DerivedRule<T> {
177
+ const result = build(makeScope(leafTypes));
165
178
  if (!(result instanceof DerivedExpr)) {
166
179
  throw new Error("derivedUniform: the builder must return a derived expression, e.g. u.ViewTrafo.mul(u.ModelTrafo)");
167
180
  }