@aardworx/wombat.rendering 0.19.12 → 0.19.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.
@@ -1 +1 @@
1
- {"version":3,"file":"heapAdapter.js","sourceRoot":"","sources":["../../src/runtime/heapAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heapAdapter.js","sourceRoot":"","sources":["../../src/runtime/heapAdapter.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,13 @@ export interface HeapSamplerBinding {
29
29
  readonly name: string;
30
30
  /** WGSL type — "sampler" or "sampler_comparison". */
31
31
  readonly wgslType: string;
32
+ /** Shader-defined sampler state (filter/address) from the IR; the adapter
33
+ * builds the GPUSamplerDescriptor from it, overriding the scene default. */
34
+ readonly state?: {
35
+ readonly filter: string;
36
+ readonly addressU: string;
37
+ readonly addressV: string;
38
+ } | undefined;
32
39
  }
33
40
  export interface HeapEffectSchema {
34
41
  readonly attributes: readonly HeapEffectInput[];
@@ -57,7 +64,7 @@ export interface FragmentOutputLayout {
57
64
  readonly locations: ReadonlyMap<string, number>;
58
65
  }
59
66
  /** Cache-generation stamp for the persistent (localStorage) tier. */
60
- export declare const HEAP_PERSIST_VERSION = "h1";
67
+ export declare const HEAP_PERSIST_VERSION = "h2";
61
68
  export declare const HEAP_PERSIST_PREFIX = "wbt.heapfx.";
62
69
  export declare function persistKey(version: string, kind: string, contentKey: string): string;
63
70
  export declare function lsLoad<T>(key: string, isValid: (v: unknown) => v is T): T | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"heapEffect.d.ts","sourceRoot":"","sources":["../../src/runtime/heapEffect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heapEffect.d.ts","sourceRoot":"","sources":["../../src/runtime/heapEffect.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@
24
24
  // is wrapped — `localStorage` throws in private-browsing, when disabled,
25
25
  // and on quota; every failure simply degrades to "recompute".
26
26
  /** Cache-generation stamp for the persistent (localStorage) tier. */
27
- export const HEAP_PERSIST_VERSION = "h1";
27
+ export const HEAP_PERSIST_VERSION = "h2";
28
28
  export const HEAP_PERSIST_PREFIX = "wbt.heapfx.";
29
29
  export function persistKey(version, kind, contentKey) {
30
30
  return HEAP_PERSIST_PREFIX + version + "." + kind + "." + contentKey;
@@ -177,6 +177,7 @@ function buildSchema(iface) {
177
177
  }));
178
178
  const samplers = iface.samplers.map(s => ({
179
179
  name: s.name, wgslType: "sampler",
180
+ ...(s.state !== undefined ? { state: s.state } : {}),
180
181
  }));
181
182
  return { attributes, uniforms, varyings, fragmentOutputs, textures, samplers };
182
183
  }
@@ -519,11 +520,22 @@ fn atlasSampleAtMip(
519
520
  k: u32,
520
521
  uv: vec2<f32>,
521
522
  addrU: u32, addrV: u32,
523
+ filterNearest: u32,
522
524
  ) -> vec4<f32> {
523
525
  let mip_o = atlasMipOriginPx(origin_px, size_px, k);
524
526
  let mip_s = atlasMipSizePx(size_px, k);
525
- let px = atlasAxisAt(uv.x, mip_o.x, mip_s.x, addrU);
526
- let py = atlasAxisAt(uv.y, mip_o.y, mip_s.y, addrV);
527
+ var px = atlasAxisAt(uv.x, mip_o.x, mip_s.x, addrU);
528
+ var py = atlasAxisAt(uv.y, mip_o.y, mip_s.y, addrV);
529
+ // Nearest (point) filtering: the atlas has no per-sub-rect GPUSampler —
530
+ // every sub-rect shares one hardware-linear atlasSampler — so point
531
+ // filtering is done here by snapping the atlas-pixel coord to the texel
532
+ // center. Bilinear evaluated exactly at a texel center returns that
533
+ // single texel, i.e. nearest. (Shader-defined sampler state: the
534
+ // mag/min filter bits ride in formatBits, see samplerStateBits.)
535
+ if (filterNearest == 1u) {
536
+ px = floor(px) + 0.5;
537
+ py = floor(py) + 0.5;
538
+ }
527
539
  let atlasUv = vec2<f32>(px, py) / ${atlasPageSizeConst()}.0;
528
540
  ${generateAtlasSwitch()}
529
541
  return vec4<f32>(0.0);
@@ -538,6 +550,10 @@ fn atlasSample(
538
550
  let numMips = (formatBits >> 1u) & 0x7u;
539
551
  let addrU = (formatBits >> 4u) & 0x3u;
540
552
  let addrV = (formatBits >> 6u) & 0x3u;
553
+ // mag/min filter bits (samplerStateBits): linear=1, nearest=0. The atlas
554
+ // filters in software, so the mag bit drives a single texel-snap flag for
555
+ // both axes — enough to distinguish MinMagMipPoint from MinMagMipLinear.
556
+ let filterNearest = u32(((formatBits >> 8u) & 0x3u) == 0u);
541
557
  // LOD on pre-wrap UV. dpdx/dpdy on the wrapped value spikes at the
542
558
  // fract/mirror seam (discontinuity → bogus huge derivative → tiny
543
559
  // mip selected → blurred band). Multiply by size_px to get
@@ -550,9 +566,9 @@ fn atlasSample(
550
566
  let lo = u32(floor(lod));
551
567
  let hi = min(lo + 1u, max(numMips, 1u) - 1u);
552
568
  let t = lod - f32(lo);
553
- let a = atlasSampleAtMip(pageRef, format, origin_px, size_px, lo, uv, addrU, addrV);
569
+ let a = atlasSampleAtMip(pageRef, format, origin_px, size_px, lo, uv, addrU, addrV, filterNearest);
554
570
  if (numMips <= 1u) { return a; }
555
- let b = atlasSampleAtMip(pageRef, format, origin_px, size_px, hi, uv, addrU, addrV);
571
+ let b = atlasSampleAtMip(pageRef, format, origin_px, size_px, hi, uv, addrU, addrV, filterNearest);
556
572
  return mix(a, b, t);
557
573
  }
558
574
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"heapEffect.js","sourceRoot":"","sources":["../../src/runtime/heapEffect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heapEffect.js","sourceRoot":"","sources":["../../src/runtime/heapEffect.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,cAAc;AACd,EAAE;AACF,4EAA4E;AAC5E,kEAAkE;AAClE,qEAAqE;AACrE,qEAAqE;AACrE,mCAAmC;AACnC,EAAE;AACF,uEAAuE;AACvE,kEAAkE;AAClE,oEAAoE;AACpE,6DAA6D;AAC7D,sEAAsE;AACtE,wDAAwD;AAqExD,uEAAuE;AACvE,EAAE;AACF,oEAAoE;AACpE,qEAAqE;AACrE,oEAAoE;AACpE,uEAAuE;AACvE,uEAAuE;AACvE,yEAAyE;AACzE,8DAA8D;AAE9D,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAEjD,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,IAAY,EAAE,UAAkB;IAC1E,OAAO,mBAAmB,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,GAAW,EAAE,OAA+B;IACpE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QAClC,MAAM,CAAC,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAc;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC;QACnC,IAAI,EAAE,IAAI,IAAI;YAAE,OAAO;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC;YAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAAC,CAAC;QAC9B,MAAM,CAAC;YACL,kEAAkE;YAClE,IAAI,CAAC;gBACH,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC;wBAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACvE,CAAC;gBACD,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAC9B,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,6BAA6B;AAC7B,wDAAwD;AACxD,2EAA2E;AAC3E,0EAA0E;AAC1E,+CAA+C;AAC/C,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAA8B,CAAC;AAE1E,SAAS,YAAY,CAAC,MAAwC;IAC5D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACzI,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAU;IACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;WACrC,OAAQ,CAAwB,CAAC,KAAK,KAAK,QAAQ;WACnD,OAAQ,CAAwB,CAAC,KAAK,KAAK,QAAQ;WACnD,OAAQ,CAAwB,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,oBAA2C;IAC3F,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,MAAM,KAAK,GAAG,UAAU,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IACtD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAC1G,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAC7B,oBAAoB,KAAK,SAAS;QAChC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE;QAC1C,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CACvB,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IAClE,MAAM,MAAM,GAAuB;QACjC,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;QAC5B,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE;QAC5B,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;KACxC,CAAC;IACF,2BAA2B,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAOD,SAAS,WAAW,CAAC,KAAuB;IAC1C,MAAM,UAAU,GAAsB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;KACrB,CAAC,CAAC,CAAC;IACJ,oEAAoE;IACpE,sEAAsE;IACtE,oEAAoE;IACpE,uEAAuE;IACvE,mEAAmE;IACnE,uEAAuE;IACvE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,SAAS;YACzC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9B,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,8DAA8D;IAC9D,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QACzC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9B,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IACD,oEAAoE;IACpE,iEAAiE;IACjE,8DAA8D;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAkB,OAAO,KAAK,SAAS;QACnD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACtB,MAAM,CAAC,GAIH,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,CAAC,QAAQ,KAAU,SAAS;gBAAE,CAAC,CAAC,QAAQ,GAAQ,CAAC,CAAC,QAAQ,CAAC;YAChE,IAAI,CAAC,CAAC,OAAO,KAAW,SAAS;gBAAE,CAAC,CAAC,OAAO,GAAS,CAAC,CAAC,OAAO,CAAC;YAC/D,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS;gBAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;YACrE,OAAO,CAAgB,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;KACnE,CAAC,CAAC,CAAC;IACJ,mEAAmE;IACnE,+DAA+D;IAC/D,+DAA+D;IAC/D,gEAAgE;IAChE,MAAM,QAAQ,GAAyB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,iBAAiB;KAC1C,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GAAyB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS;QACjC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,CAAE,OAAO,KAAK,CAAC;QAC5B,KAAK,KAAK,CAAC,CAAI,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/C,KAAK,MAAM,CAAC,CAAG,OAAO,MAAM,CAAC;QAC7B,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAChE,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAC3E,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QACrF,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,CAAE,OAAO,CAAC,CAAC;QACxB,KAAK,KAAK,CAAC,CAAI,OAAO,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,CAAG,OAAO,CAAC,CAAC;QACxB,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1D,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACpE,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACvF,CAAC;YACD,OAAO,CAAC,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAiFD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,uDAAuD;AACvD,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,oDAAoD;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,GAAG,gBAAgB,CAAC;AACpF,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,GAAG,CAAC,GAAG,gBAAgB,CAAC;AAEtF,MAAM,UAAU,iBAAiB,CAC/B,MAAwB,EACxB,YAAqB,EACrB,OAWI,EAAE;IAEN,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,GAAG,EAAU,CAAC;IAC1E,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,IAAI,GAAG,EAAU,CAAC;IAC9E,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,IAAI,IAAI,GAAG,EAAU,CAAC;IAC5E,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAE/C,mEAAmE;IACnE,oEAAoE;IACpE,6CAA6C;IAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1B,gBAAgB,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK;YACnE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa;YACnD,eAAe,EAAE,CAAC,CAAC,QAAQ;SAC5B,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,6EAA6E;IAC7E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1B,gBAAgB,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK;YACnE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe;YACrD,iBAAiB,EAAE,CAAC,CAAC,QAAQ;SAC9B,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,+DAA+D;IAC/D,+DAA+D;IAC/D,gEAAgE;IAChE,8DAA8D;IAC9D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QAChD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChC,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1B,gBAAgB,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,SAAS,EAAE,QAAQ,EAAE,KAAK;YACtE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa;YACnD,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC,IAAI;SAClD,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,CAAC;QACX,gBAAgB,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,YAAY,EAAE,QAAQ,EAAE,KAAK;YAC5E,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa;YACnD,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC,IAAI;SACrD,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,CAAC;QACX,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1B,gBAAgB,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,QAAQ,EAAE,QAAQ,EAAE,WAAW;YAC1E,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa;YACnD,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC,IAAI;SACjD,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,CAAC;QACX,gBAAgB,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,QAAQ,EAAE,WAAW;YACtE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa;YACnD,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC,IAAI;SAC/C,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,eAAe,GAAG,CAAC,CAAC;IAEtC,0EAA0E;IAC1E,+DAA+D;IAC/D,8DAA8D;IAC9D,gEAAgE;IAChE,kEAAkE;IAClE,IAAI,WAAW,GAAG,sBAAsB,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;SACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,oEAAoE;IACpE,iEAAiE;IACjE,kEAAkE;IAClE,iEAAiE;IACjE,gBAAgB;IAChB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;QAC9B,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,SAAS;gBAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;SACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAE9E,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,GAAG,CAAC,CAAC;IACpD,sEAAsE;IACtE,sEAAsE;IACtE,iEAAiE;IACjE,2DAA2D;IAC3D,MAAM,gBAAgB,GAAG,aAAa;QACpC,CAAC,CAAC,6BAA6B,CAAC,MAAM,EAAE,oBAAoB,CAAC;QAC7D,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,WAAW,GAAG,eAAe,CACjC,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAClD,aAAa,CACd,CAAC;IAEF,MAAM,IAAI,GAAG;QACX,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS;QACzD,mBAAmB,EAAE,qBAAqB;QAC1C,eAAe,EAAE,eAAe,EAAE,oBAAoB;KACvD,CAAC;IACF,OAAO,EAAE,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED;;+EAE+E;AAC/E,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,IAAI,CAAC,GAAG,UAAU,KAAK,CAAC,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED;4EAC4E;AAC5E,MAAM,UAAU,cAAc,CAAC,CAA2B;IACxD,MAAM,KAAK,GAAa,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,eAAe,IAAI,EAAE,IAAI,CAAC,CAAC,iBAAiB,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,IAAI,CAAC,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5M,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,oEAAoE;IACpE,oEAAoE;IACpE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAS,6BAA6B,CACpC,MAAwB,EACxB,UAA+B;IAE/B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAK,QAAQ,EAAE,KAAK,EAAS,QAAQ,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;QACxG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAS,QAAQ,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;QACxG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAM,QAAQ,EAAE,WAAW,EAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;QACxG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAQ,QAAQ,EAAE,WAAW,EAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,IAAY;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;AACxC,CAAC;AAED,uEAAuE;AAEvE,SAAS,eAAe,CACtB,MAAwB,EACxB,eAA+E,EAC/E,eAA+E,EAC/E,aAAsB;IAEtB,kEAAkE;IAClE,iEAAiE;IACjE,qBAAqB;IACrB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhG,kEAAkE;IAClE,iEAAiE;IACjE,iEAAiE;IACjE,iBAAiB;IACjB,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACvC,sBAAsB,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,GAAG,CACjE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACvC,sBAAsB,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,GAAG,CACjE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAChE,CAAC,CAAC,KAAK,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,IAAI;QACjE,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,uNAAuN,CAAC;IAE9O,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/D,OAAO,UAAU,CAAA;;;;wEAIqD,aAAa;EACnF,aAAa,GAAG,UAAU;;EAE1B,SAAS;;CAEV,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,CAAA;EACjB,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCA4Ea,kBAAkB,EAAE;EACxD,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCtB,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB;IACzB,sEAAsE;IACtE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,sBAAsB,yBAAyB,GAAG,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAC3G,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,sBAAsB,uBAAuB,GAAG,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IACvG,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,sBAAsB,qBAAqB,8BAA8B,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,KAAK,GAAa,CAAC,oBAAoB,CAAC,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,gCAAgC,CAAC,CAAC;QAC/F,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,kCAAkC,CAAC,CAAC;QAC/F,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,mHAAmH;AACnH,SAAS,cAAc,CAAC,CAAc;IACpC,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,IAAI,sCAAsC,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,aAAa,CAAC,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAG5C,OAAO;QACL,OAAO,EAAK,MAAM,IAAI,SAAS;QAC/B,UAAU,EAAE,MAAM,IAAI,YAAY;QAClC,MAAM,EAAM,MAAM,IAAI,QAAQ;QAC9B,IAAI,EAAQ,MAAM,IAAI,MAAM;KAC7B,CAAC;AACJ,CAAC;AAGD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB;IACnC,mEAAmE;IACnE,uEAAuE;IACvE,qEAAqE;IACrE,qEAAqE;IACrE,oEAAoE;IACpE,qEAAqE;IACrE,4CAA4C;IAC5C,OAAO,2uBAA2uB,CAAC;AACrvB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aardworx/wombat.rendering",
3
- "version": "0.19.12",
3
+ "version": "0.19.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",
@@ -39,10 +39,34 @@ import { evaluateModeRule } from "../runtime/derivedModes/cpuEval.js";
39
39
  import { prepareAdaptiveBuffer } from "./adaptiveBuffer.js";
40
40
  import { prepareAdaptiveTexture } from "./adaptiveTexture.js";
41
41
  import { prepareAdaptiveSampler } from "./adaptiveSampler.js";
42
+ import { ISampler } from "../core/index.js";
42
43
  import { prepareUniformBuffer } from "./uniformBuffer.js";
43
44
  import { compileRenderPipeline, type CompileRenderPipelineDescription } from "./renderPipeline.js";
44
45
  import { BufferUsage, ShaderStage } from "./webgpuFlags.js";
45
46
 
47
+ /** Map shader-defined sampler state (FShade Filter/WrapMode names, carried
48
+ * through the IR) to a GPUSamplerDescriptor. */
49
+ function samplerDescriptorFromState(
50
+ state: { readonly filter: string; readonly addressU: string; readonly addressV: string },
51
+ ): GPUSamplerDescriptor {
52
+ const addr = (a: string): GPUAddressMode =>
53
+ a === "Clamp" || a === "Border" ? "clamp-to-edge"
54
+ : a === "Mirror" ? "mirror-repeat"
55
+ : "repeat";
56
+ let mag: GPUFilterMode = "linear";
57
+ let min: GPUFilterMode = "linear";
58
+ let mip: GPUMipmapFilterMode = "linear";
59
+ switch (state.filter) {
60
+ case "MinMagMipPoint": mag = "nearest"; min = "nearest"; mip = "nearest"; break;
61
+ case "MinMagLinearMipPoint": mip = "nearest"; break;
62
+ default: break; // MinMagMipLinear / Anisotropic → all "linear"
63
+ }
64
+ return {
65
+ magFilter: mag, minFilter: min, mipmapFilter: mip,
66
+ addressModeU: addr(state.addressU), addressModeV: addr(state.addressV),
67
+ };
68
+ }
69
+
46
70
  interface VertexBindingInfo {
47
71
  readonly name: string;
48
72
  readonly slot: number;
@@ -731,7 +755,13 @@ export function prepareRenderObject(
731
755
  }
732
756
 
733
757
  for (const s of iface.samplers) {
734
- const av = obj.samplers.tryFind(s.name);
758
+ // Shader-defined sampler state (from an FShade-style `sampler2d { filter …;
759
+ // addressU … }` builder, carried through the IR) overrides the scene's
760
+ // default sampler — so filter/address declared in the shader reach the GPU.
761
+ let av =
762
+ s.state !== undefined
763
+ ? AVal.constant(ISampler.fromDescriptor(samplerDescriptorFromState(s.state)))
764
+ : obj.samplers.tryFind(s.name);
735
765
  if (av === undefined) throw new Error(`prepareRenderObject: missing sampler "${s.name}"`);
736
766
  const res = prepareAdaptiveSampler(device, av);
737
767
  perGroup[s.group]!.push({ kind: "sampler", binding: slotOf(s), resource: res });
@@ -42,11 +42,15 @@ export class DerivedUniformsScene {
42
42
  * scene-wide; records partition by chunk so each dispatch binds
43
43
  * the right chunk's main heap. */
44
44
  private readonly recordsByChunk = new Map<number, RecordsBuffer>();
45
- /** Scene-wide CHAIN records (GPU transform propagation). Dispatched BEFORE
46
- * the §7 per-chunk passes they write per-RO Model constituents that §7
47
- * then reads. Scene-wide (not per-chunk) because they target the shared
48
- * constituents buffer, not any chunk's main heap. */
49
- readonly chainRecords = new RecordsBuffer();
45
+ /** CHAIN records partitioned by trie LEVEL (GPU transform propagation). A
46
+ * trie node at level L computes `link · parentNode.world` reading its
47
+ * parent (level L-1) output so levels must dispatch in ascending order,
48
+ * BEFORE the §7 per-chunk passes. Scene-wide: they target the shared
49
+ * constituents buffer (per-node Model), not any chunk's main heap.
50
+ * Prefix-sharing: sibling chains share trie nodes (see TrafoTree). */
51
+ private readonly chainByLevel = new Map<number, RecordsBuffer>();
52
+ /** The suffix trie that dedups shared ancestor sub-chains across ROs. */
53
+ readonly trafoTree: TrafoTree;
50
54
  readonly dispatcher: DerivedUniformsDispatcher;
51
55
  /** Constituents storage GPU buffer (`array<vec2<f32>>` — df32 mat4 halves). */
52
56
  constituentsBuf: GPUBuffer;
@@ -68,6 +72,17 @@ export class DerivedUniformsScene {
68
72
  this.dispatcher = new DerivedUniformsDispatcher(device, {
69
73
  constituentsBuf: () => this.constituentsBuf,
70
74
  });
75
+ this.trafoTree = new TrafoTree(this);
76
+ }
77
+
78
+ /** Get-or-create the CHAIN records buffer for trie `level`. */
79
+ chainRecordsFor(level: number): RecordsBuffer {
80
+ let r = this.chainByLevel.get(level);
81
+ if (r === undefined) {
82
+ r = new RecordsBuffer();
83
+ this.chainByLevel.set(level, r);
84
+ }
85
+ return r;
71
86
  }
72
87
 
73
88
  /** Register (or replace) the GPUBuffer getter for a chunk's main
@@ -147,15 +162,21 @@ export class DerivedUniformsScene {
147
162
  * main heap buffer. */
148
163
  encode(enc: GPUCommandEncoder): boolean {
149
164
  let any = false;
150
- // Phase 1: chain pass — writes per-RO Model constituents (fwd+inv) into the
151
- // shared constituents buffer. Must run BEFORE the §7 passes that read them.
152
- // The MainHeap binding is unused by the chain arm; bind any registered heap.
153
- if (this.chainRecords.recordCount > 0) {
165
+ // Chain pass — writes per-RO/per-node Model constituents (fwd+inv) into the
166
+ // shared constituents buffer. Dispatch trie LEVELS in ascending order: a
167
+ // level-L node reads its parent's (level L-1) output. Must run BEFORE the
168
+ // §7 passes that read the Models. MainHeap binding is unused here; bind any.
169
+ const levels = [...this.chainByLevel.keys()].sort((a, b) => a - b);
170
+ if (levels.length > 0) {
154
171
  const anyHeap = this.firstHeapGetter();
155
172
  if (anyHeap === undefined) {
156
173
  throw new Error("derivedUniforms.encode: chain records present but no chunk main-heap registered to bind.");
157
174
  }
158
- if (this.dispatcher.encodeChunk(enc, this.registry, this.chainRecords, anyHeap)) any = true;
175
+ for (const lvl of levels) {
176
+ const recs = this.chainByLevel.get(lvl)!;
177
+ if (recs.recordCount === 0) continue;
178
+ if (this.dispatcher.encodeChunk(enc, this.registry, recs, anyHeap)) any = true;
179
+ }
159
180
  }
160
181
  // Phase 2: §7 per-chunk (reads constituents incl. the chain-written Model).
161
182
  for (const [chunkIdx, records] of this.recordsByChunk) {
@@ -178,6 +199,84 @@ export class DerivedUniformsScene {
178
199
  }
179
200
  }
180
201
 
202
+ // ─── Trafo suffix-trie (prefix sharing) ───────────────────────────────
203
+ //
204
+ // Dedups shared ancestor sub-chains across ROs. Each RO's chain is interned
205
+ // from the ROOT end, so sibling chains share trie nodes for their common
206
+ // ancestor suffix. A trie node owns a per-node Model constituent (fwd+inv) and
207
+ // two CHAIN records computing `node.world = link · parent.world` (and the
208
+ // reversed inverse) — at the node's depth LEVEL, so a shared ancestor is
209
+ // composed ONCE and every descendant reads it. Levels dispatch in ascending
210
+ // order (DerivedUniformsScene.encode). Refcounted: a node is freed when no RO
211
+ // path references it. See docs/gpu-transform-propagation.md (Phase 2).
212
+
213
+ export interface TrieNode {
214
+ readonly id: number;
215
+ readonly key: string;
216
+ readonly modelPair: PairedSlots;
217
+ readonly level: number;
218
+ readonly parent: TrieNode | undefined;
219
+ refcount: number;
220
+ }
221
+
222
+ export class TrafoTree {
223
+ private readonly byKey = new Map<string, TrieNode>();
224
+ private nextId = 0;
225
+ constructor(private readonly scene: DerivedUniformsScene) {}
226
+
227
+ /** Number of live trie nodes — diagnostics / tests (prefix-sharing check). */
228
+ get nodeCount(): number { return this.byKey.size; }
229
+
230
+ /** Intern a chain (array order `[leaf, …, root]`); returns the LEAF trie node
231
+ * whose Model is the full product. increfs every node on the path so shared
232
+ * ancestor nodes survive while any RO references them. */
233
+ intern(linkPairs: readonly PairedSlots[]): TrieNode {
234
+ let parent: TrieNode | undefined;
235
+ // Root end (last) → leaf (first), so shared ancestor suffixes share nodes.
236
+ for (let i = linkPairs.length - 1; i >= 0; i--) {
237
+ parent = this.internOne(parent, linkPairs[i]!);
238
+ }
239
+ if (parent === undefined) throw new Error("TrafoTree.intern: empty chain");
240
+ return parent;
241
+ }
242
+
243
+ /** Decref every node on the leaf→root path; free those that hit 0. */
244
+ release(leaf: TrieNode): void {
245
+ let n: TrieNode | undefined = leaf;
246
+ while (n !== undefined) {
247
+ const parent: TrieNode | undefined = n.parent;
248
+ if (--n.refcount === 0) {
249
+ this.byKey.delete(n.key);
250
+ this.scene.chainRecordsFor(n.level).removeAllForOwner(n);
251
+ this.scene.constituents.freeOutputPair(n.modelPair);
252
+ }
253
+ n = parent;
254
+ }
255
+ }
256
+
257
+ private internOne(parent: TrieNode | undefined, link: PairedSlots): TrieNode {
258
+ const key = `${parent?.id ?? -1}:${link.fwd}`;
259
+ const existing = this.byKey.get(key);
260
+ if (existing !== undefined) { existing.refcount++; return existing; }
261
+ const level = parent === undefined ? 0 : parent.level + 1;
262
+ const modelPair = this.scene.constituents.allocOutputPair();
263
+ const node: TrieNode = { id: this.nextId++, key, modelPair, level, parent, refcount: 1 };
264
+ this.byKey.set(key, node);
265
+ const h = (s: number): number => makeHandle(SlotTag.Constituent, s);
266
+ const recs = this.scene.chainRecordsFor(level);
267
+ // node.world.fwd = link.fwd · parent.world.fwd (just link at the root end).
268
+ // node.world.inv = parent.world.inv · link.inv (reversed; just link at root).
269
+ if (parent === undefined) {
270
+ recs.add(node, CHAIN_RULE_ID, h(modelPair.fwd), [1, h(link.fwd)]);
271
+ recs.add(node, CHAIN_RULE_ID, h(modelPair.inv), [1, h(link.inv)]);
272
+ } else {
273
+ recs.add(node, CHAIN_RULE_ID, h(modelPair.fwd), [2, h(link.fwd), h(parent.modelPair.fwd)]);
274
+ recs.add(node, CHAIN_RULE_ID, h(modelPair.inv), [2, h(parent.modelPair.inv), h(link.inv)]);
275
+ }
276
+ return node;
277
+ }
278
+ }
279
+
181
280
  // ─── Per-RO registration ──────────────────────────────────────────────
182
281
 
183
282
  export interface RoDerivedRequest {
@@ -216,9 +315,9 @@ export interface RoRegistration {
216
315
  readonly ruleHashes: readonly string[];
217
316
  /** Chunk this registration was placed into — used by deregister. */
218
317
  readonly chunkIdx: number;
219
- /** Per-RO Model output constituent pair (transform propagation); freed on
318
+ /** This RO's leaf trie node (transform propagation); its path is decref'd on
220
319
  * deregister. Present iff the request carried a `modelChain`. */
221
- readonly modelPair?: PairedSlots;
320
+ readonly modelLeaf?: TrieNode;
222
321
  }
223
322
 
224
323
  export function registerRoDerivations(
@@ -271,21 +370,17 @@ export function registerRoDerivations(
271
370
  // from its ancestor chain, and point §7's `Model` leaf at it. The chain pass
272
371
  // (a separate, earlier dispatch) writes the fwd half from the links and the
273
372
  // inv half from the reversed inverse links.
274
- let modelPair: PairedSlots | undefined;
275
- if (req.modelChain !== undefined) {
276
- modelPair = scene.constituents.allocOutputPair();
277
- pairByName.set("Model", modelPair);
373
+ let modelLeaf: TrieNode | undefined;
374
+ if (req.modelChain !== undefined && req.modelChain.length > 0) {
278
375
  const linkPairs = req.modelChain.map((av) => {
279
376
  acquiredAvals.push(av);
280
377
  return scene.constituents.acquire(av);
281
378
  });
282
- const n = linkPairs.length;
283
- // Model.fwd = link0·link1·…·link(n-1) (forward order, fwd slots).
284
- scene.chainRecords.add(owner, CHAIN_RULE_ID, makeHandle(SlotTag.Constituent, modelPair.fwd),
285
- [n, ...linkPairs.map((p) => makeHandle(SlotTag.Constituent, p.fwd))]);
286
- // Model.inv = link(n-1)⁻¹·…·link0⁻¹ (reversed order, inv slots).
287
- scene.chainRecords.add(owner, CHAIN_RULE_ID, makeHandle(SlotTag.Constituent, modelPair.inv),
288
- [n, ...linkPairs.slice().reverse().map((p) => makeHandle(SlotTag.Constituent, p.inv))]);
379
+ // Intern the chain into the suffix trie — siblings share ancestor nodes,
380
+ // each composed once (link · parent.world) at its level. The RO's Model is
381
+ // the leaf node's per-node Model constituent.
382
+ modelLeaf = scene.trafoTree.intern(linkPairs);
383
+ pairByName.set("Model", modelLeaf.modelPair);
289
384
  }
290
385
 
291
386
  for (const [outName, rule] of req.rules) {
@@ -308,14 +403,13 @@ export function registerRoDerivations(
308
403
  scene.ensureConstituentsCapacity(scene.constituents.slotCount * DF32_MAT4_BYTES);
309
404
  return {
310
405
  owner, constituentAvals: acquiredAvals, ruleHashes, chunkIdx: req.chunkIdx,
311
- ...(modelPair !== undefined ? { modelPair } : {}),
406
+ ...(modelLeaf !== undefined ? { modelLeaf } : {}),
312
407
  };
313
408
  }
314
409
 
315
410
  export function deregisterRoDerivations(scene: DerivedUniformsScene, reg: RoRegistration): void {
316
411
  scene.recordsFor(reg.chunkIdx).removeAllForOwner(reg.owner);
317
- scene.chainRecords.removeAllForOwner(reg.owner);
318
412
  for (const h of reg.ruleHashes) scene.registry.release(h);
319
413
  for (const av of reg.constituentAvals) scene.constituents.release(av);
320
- if (reg.modelPair !== undefined) scene.constituents.freeOutputPair(reg.modelPair);
414
+ if (reg.modelLeaf !== undefined) scene.trafoTree.release(reg.modelLeaf);
321
415
  }
@@ -26,11 +26,34 @@
26
26
  // No multi-binding texture API yet: `ro.textures.count <= 1` and
27
27
  // `ro.samplers.count <= 1` are classifier invariants.
28
28
 
29
- import { type aval, type AdaptiveToken } from "@aardworx/wombat.adaptive";
29
+ import { type aval, type AdaptiveToken, AVal } from "@aardworx/wombat.adaptive";
30
30
  import { IBuffer, type HostBufferSource } from "../core/buffer.js";
31
31
  import { BufferView } from "../core/bufferView.js";
32
32
  import { ITexture, type HostTextureSource } from "../core/texture.js";
33
33
  import { ISampler } from "../core/sampler.js";
34
+
35
+ /** Map shader-defined sampler state (FShade Filter/WrapMode names) to a
36
+ * GPUSamplerDescriptor (heap path). */
37
+ function samplerDescriptorFromState(
38
+ state: { readonly filter: string; readonly addressU: string; readonly addressV: string },
39
+ ): GPUSamplerDescriptor {
40
+ const addr = (a: string): GPUAddressMode =>
41
+ a === "Clamp" || a === "Border" ? "clamp-to-edge"
42
+ : a === "Mirror" ? "mirror-repeat"
43
+ : "repeat";
44
+ let mag: GPUFilterMode = "linear";
45
+ let min: GPUFilterMode = "linear";
46
+ let mip: GPUMipmapFilterMode = "linear";
47
+ switch (state.filter) {
48
+ case "MinMagMipPoint": mag = "nearest"; min = "nearest"; mip = "nearest"; break;
49
+ case "MinMagLinearMipPoint": mip = "nearest"; break;
50
+ default: break; // MinMagMipLinear / Anisotropic → all "linear"
51
+ }
52
+ return {
53
+ magFilter: mag, minFilter: min, mipmapFilter: mip,
54
+ addressModeU: addr(state.addressU), addressModeV: addr(state.addressV),
55
+ };
56
+ }
34
57
  import type { RenderObject } from "../core/renderObject.js";
35
58
  import { asAttributeProvider, asUniformProvider } from "../core/provider.js";
36
59
  import type { HeapDrawSpec, HeapTextureSet } from "./heapScene.js";
@@ -326,7 +349,16 @@ export function renderObjectToHeapSpec(
326
349
  const distinctTexAvals = new Set<aval<ITexture>>();
327
350
  ro.textures.iter((_n, av) => { distinctTexAvals.add(av as aval<ITexture>); });
328
351
  const distinctSamplerAvals = new Set<aval<ISampler>>();
329
- ro.samplers.iter((_n, av) => { distinctSamplerAvals.add(av as aval<ISampler>); });
352
+ // Shader-defined sampler state (from a `sampler2d { filter …; addressU }`
353
+ // builder, carried through the IR) overrides the scene's default sampler.
354
+ const stateBinding = schema.samplers.find(b => b.state !== undefined);
355
+ if (stateBinding?.state !== undefined) {
356
+ distinctSamplerAvals.add(
357
+ AVal.constant(ISampler.fromDescriptor(samplerDescriptorFromState(stateBinding.state))) as aval<ISampler>,
358
+ );
359
+ } else {
360
+ ro.samplers.iter((_n, av) => { distinctSamplerAvals.add(av as aval<ISampler>); });
361
+ }
330
362
  let textures: HeapTextureSet | undefined;
331
363
  if (distinctTexAvals.size === 1 && distinctSamplerAvals.size === 1) {
332
364
  const texAval = [...distinctTexAvals][0]!;