@aardworx/wombat.rendering 0.9.3 → 0.9.5

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 (74) hide show
  1. package/dist/core/buffer.d.ts.map +1 -1
  2. package/dist/core/buffer.js +65 -5
  3. package/dist/core/buffer.js.map +1 -1
  4. package/dist/core/index.d.ts +2 -0
  5. package/dist/core/index.d.ts.map +1 -1
  6. package/dist/core/index.js +1 -0
  7. package/dist/core/index.js.map +1 -1
  8. package/dist/core/provider.d.ts +38 -0
  9. package/dist/core/provider.d.ts.map +1 -0
  10. package/dist/core/provider.js +104 -0
  11. package/dist/core/provider.js.map +1 -0
  12. package/dist/core/renderObject.d.ts +17 -10
  13. package/dist/core/renderObject.d.ts.map +1 -1
  14. package/dist/core/sampler.d.ts.map +1 -1
  15. package/dist/core/sampler.js +71 -2
  16. package/dist/core/sampler.js.map +1 -1
  17. package/dist/core/texture.d.ts +9 -0
  18. package/dist/core/texture.d.ts.map +1 -1
  19. package/dist/core/texture.js +0 -0
  20. package/dist/core/texture.js.map +1 -1
  21. package/dist/resources/adaptiveTexture.d.ts.map +1 -1
  22. package/dist/resources/adaptiveTexture.js +7 -0
  23. package/dist/resources/adaptiveTexture.js.map +1 -1
  24. package/dist/resources/preparedRenderObject.d.ts.map +1 -1
  25. package/dist/resources/preparedRenderObject.js +20 -18
  26. package/dist/resources/preparedRenderObject.js.map +1 -1
  27. package/dist/resources/uniformBuffer.d.ts.map +1 -1
  28. package/dist/resources/uniformBuffer.js +23 -0
  29. package/dist/resources/uniformBuffer.js.map +1 -1
  30. package/dist/runtime/derivedUniforms/slots.d.ts.map +1 -1
  31. package/dist/runtime/derivedUniforms/slots.js +4 -0
  32. package/dist/runtime/derivedUniforms/slots.js.map +1 -1
  33. package/dist/runtime/heapAdapter.d.ts.map +1 -1
  34. package/dist/runtime/heapAdapter.js +72 -29
  35. package/dist/runtime/heapAdapter.js.map +1 -1
  36. package/dist/runtime/heapDecoder.d.ts +52 -0
  37. package/dist/runtime/heapDecoder.d.ts.map +1 -0
  38. package/dist/runtime/heapDecoder.js +363 -0
  39. package/dist/runtime/heapDecoder.js.map +1 -0
  40. package/dist/runtime/heapEffectIR.d.ts.map +1 -1
  41. package/dist/runtime/heapEffectIR.js +300 -3
  42. package/dist/runtime/heapEffectIR.js.map +1 -1
  43. package/dist/runtime/heapEligibility.d.ts.map +1 -1
  44. package/dist/runtime/heapEligibility.js +42 -5
  45. package/dist/runtime/heapEligibility.js.map +1 -1
  46. package/dist/runtime/heapIrBuilders.d.ts +64 -0
  47. package/dist/runtime/heapIrBuilders.d.ts.map +1 -0
  48. package/dist/runtime/heapIrBuilders.js +311 -0
  49. package/dist/runtime/heapIrBuilders.js.map +1 -0
  50. package/dist/runtime/heapScene.d.ts.map +1 -1
  51. package/dist/runtime/heapScene.js +286 -97
  52. package/dist/runtime/heapScene.js.map +1 -1
  53. package/dist/runtime/textureAtlas/atlasPool.d.ts +67 -4
  54. package/dist/runtime/textureAtlas/atlasPool.d.ts.map +1 -1
  55. package/dist/runtime/textureAtlas/atlasPool.js +152 -18
  56. package/dist/runtime/textureAtlas/atlasPool.js.map +1 -1
  57. package/package.json +4 -3
  58. package/src/core/buffer.ts +58 -6
  59. package/src/core/index.ts +11 -0
  60. package/src/core/provider.ts +143 -0
  61. package/src/core/renderObject.ts +17 -10
  62. package/src/core/sampler.ts +64 -2
  63. package/src/core/texture.ts +0 -0
  64. package/src/resources/adaptiveTexture.ts +7 -0
  65. package/src/resources/preparedRenderObject.ts +21 -16
  66. package/src/resources/uniformBuffer.ts +21 -0
  67. package/src/runtime/derivedUniforms/slots.ts +4 -0
  68. package/src/runtime/heapAdapter.ts +63 -29
  69. package/src/runtime/heapDecoder.ts +446 -0
  70. package/src/runtime/heapEffectIR.ts +314 -3
  71. package/src/runtime/heapEligibility.ts +34 -5
  72. package/src/runtime/heapIrBuilders.ts +365 -0
  73. package/src/runtime/heapScene.ts +295 -81
  74. package/src/runtime/textureAtlas/atlasPool.ts +152 -16
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/core/buffer.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,eAAe,CAAC;AAE7D,MAAM,MAAM,OAAO,GACf;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEN,eAAO,MAAM,OAAO;+BACF,SAAS,cAAc,MAAM,KAAG,OAAO;IAGvD;;;;OAIG;8BACY,gBAAgB,KAAG,OAAO;CAOjC,CAAC"}
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/core/buffer.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,eAAe,CAAC;AAE7D,MAAM,MAAM,OAAO,GACf;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAkCN,eAAO,MAAM,OAAO;+BACF,SAAS,cAAc,MAAM,KAAG,OAAO;IAOvD;;;;OAIG;8BACY,gBAAgB,KAAG,OAAO;CAQjC,CAAC"}
@@ -11,9 +11,66 @@
11
11
  // admits `ArrayBuffer`, `SharedArrayBuffer`, and any
12
12
  // `ArrayBufferView` — covering wombat.base's packed array views
13
13
  // that expose a `.buffer` (ArrayBuffer) or a typed array directly.
14
+ //
15
+ // Equality / hash protocol: `IBuffer` values flow through
16
+ // `aval<IBuffer>` into identity-keyed caches (the index pool, the
17
+ // arena attribute pool via `BufferView.buffer`). We compare by the
18
+ // underlying *resource*:
19
+ // - `gpu` → reference equality on the `GPUBuffer` (opaque handle).
20
+ // - `host` → reference equality on the `data` payload (an
21
+ // `ArrayBuffer`/typed-array is "non-trivial" — comparing
22
+ // contents is too costly; two views over the same backing
23
+ // buffer with the same byte range are equal, anything
24
+ // else isn't).
25
+ // The factories additionally intern by that resource (`WeakMap`) so
26
+ // `IBuffer.fromHost(arr)` / `IBuffer.fromGPU(buf)` called twice for the
27
+ // same `arr`/`buf` return the *same* object — `===` true, no leak
28
+ // (WeakMap keyed by the resource the caller already holds).
29
+ let _idCounter = 0;
30
+ const _idHashes = new WeakMap();
31
+ function idHash(o) {
32
+ let v = _idHashes.get(o);
33
+ if (v === undefined) {
34
+ v = (++_idCounter) | 0;
35
+ _idHashes.set(o, v);
36
+ }
37
+ return v;
38
+ }
39
+ function iBufferEquals(a, o) {
40
+ if (a === o)
41
+ return true;
42
+ if (o === null || typeof o !== "object")
43
+ return false;
44
+ const b = o;
45
+ if (a.kind !== b.kind)
46
+ return false;
47
+ if (a.kind === "gpu")
48
+ return a.buffer === b.buffer;
49
+ return a.data === b.data
50
+ && a.sizeBytes === b.sizeBytes;
51
+ }
52
+ function iBufferHash(a) {
53
+ if (a.kind === "gpu")
54
+ return idHash(a.buffer);
55
+ return (idHash(a.data) * 31 + a.sizeBytes) | 0;
56
+ }
57
+ const IBUFFER_PROTO = {
58
+ equals(o) { return iBufferEquals(this, o); },
59
+ getHashCode() { return iBufferHash(this) | 0; },
60
+ };
61
+ function withEq(t) {
62
+ return Object.assign(Object.create(IBUFFER_PROTO), t);
63
+ }
64
+ const _gpuIntern = new WeakMap();
65
+ const _hostIntern = new WeakMap();
14
66
  export const IBuffer = {
15
67
  fromGPU(buffer, sizeBytes) {
16
- return { kind: "gpu", buffer, sizeBytes: sizeBytes ?? buffer.size };
68
+ const cached = _gpuIntern.get(buffer);
69
+ if (cached !== undefined && cached.sizeBytes === (sizeBytes ?? buffer.size))
70
+ return cached;
71
+ const t = withEq({ kind: "gpu", buffer, sizeBytes: sizeBytes ?? buffer.size });
72
+ _gpuIntern.set(buffer, t);
73
+ return t;
17
74
  },
18
75
  /**
19
76
  * Wrap a host-side `ArrayBuffer` / `ArrayBufferView`. Pass any
@@ -21,10 +78,13 @@ export const IBuffer = {
21
78
  * etc.
22
79
  */
23
80
  fromHost(data) {
24
- const sizeBytes = data instanceof ArrayBuffer
25
- ? data.byteLength
26
- : data.byteLength;
27
- return { kind: "host", data, sizeBytes };
81
+ const sizeBytes = data.byteLength;
82
+ const cached = _hostIntern.get(data);
83
+ if (cached !== undefined && cached.sizeBytes === sizeBytes)
84
+ return cached;
85
+ const t = withEq({ kind: "host", data, sizeBytes });
86
+ _hostIntern.set(data, t);
87
+ return t;
28
88
  },
29
89
  };
30
90
  //# sourceMappingURL=buffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/core/buffer.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,iEAAiE;AACjE,mEAAmE;AACnE,EAAE;AACF,iEAAiE;AACjE,gEAAgE;AAChE,gEAAgE;AAChE,YAAY;AACZ,EAAE;AACF,8DAA8D;AAC9D,qDAAqD;AACrD,gEAAgE;AAChE,mEAAmE;AAgBnE,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,CAAC,MAAiB,EAAE,SAAkB;QAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IACD;;;;OAIG;IACH,QAAQ,CAAC,IAAsB;QAC7B,MAAM,SAAS,GACb,IAAI,YAAY,WAAW;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU;YACjB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC3C,CAAC;CACO,CAAC"}
1
+ {"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/core/buffer.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export type { DepthStencilAttachmentSignature, FramebufferSignature, } from "./f
10
10
  export type { BlendComponentState, BlendState, CullMode, DepthBiasState, DepthState, FrontFace, PlainBlendComponentState, PlainBlendState, PlainDepthState, PlainPipelineState, PlainRasterizerState, PlainStencilFaceState, PlainStencilState, RasterizerState, StencilFaceState, StencilState, Topology, } from "./pipelineState.js";
11
11
  export { PipelineState } from "./pipelineState.js";
12
12
  export type { RenderObject, } from "./renderObject.js";
13
+ export type { IUniformProvider, IAttributeProvider, } from "./provider.js";
14
+ export { UniformProvider, AttributeProvider, asUniformProvider, asAttributeProvider, } from "./provider.js";
13
15
  export { RenderTree, } from "./renderTree.js";
14
16
  export type { IRenderTask, } from "./renderTask.js";
15
17
  export { ISampler, } from "./sampler.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,OAAO,EACL,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,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"}
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,OAAO,EACL,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,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,YAAY,EACV,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,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"}
@@ -7,6 +7,7 @@ export { IBuffer, } from "./buffer.js";
7
7
  export { BufferView, } from "./bufferView.js";
8
8
  export { ElementType, ElementKind, } from "./elementType.js";
9
9
  export { PipelineState } from "./pipelineState.js";
10
+ export { UniformProvider, AttributeProvider, asUniformProvider, asAttributeProvider, } from "./provider.js";
10
11
  export { RenderTree, } from "./renderTree.js";
11
12
  export { ISampler, } from "./sampler.js";
12
13
  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;AAKrB,OAAO,EACL,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAkD1B,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
+ {"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;AAKrB,OAAO,EACL,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAkD1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUnD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,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"}
@@ -0,0 +1,38 @@
1
+ import type { HashMap, aval } from "@aardworx/wombat.adaptive";
2
+ import type { BufferView } from "./bufferView.js";
3
+ export interface IUniformProvider {
4
+ /** Uniform value for `name`, or `undefined` if not provided. Pulled
5
+ * once per shader-declared uniform; lazy providers materialise the
6
+ * value here, on first request. */
7
+ tryGet(name: string): aval<unknown> | undefined;
8
+ /** Names this provider knows about (for enumeration / diagnostics).
9
+ * A lazy provider lists derivable names without building them. */
10
+ names(): Iterable<string>;
11
+ }
12
+ export interface IAttributeProvider {
13
+ /** Vertex/instance attribute view for `name`, or `undefined`. */
14
+ tryGet(name: string): BufferView | undefined;
15
+ names(): Iterable<string>;
16
+ }
17
+ export declare const UniformProvider: {
18
+ empty: IUniformProvider;
19
+ ofMap(m: HashMap<string, aval<unknown>>): IUniformProvider;
20
+ ofObject(o: Readonly<Record<string, aval<unknown>>>): IUniformProvider;
21
+ union(...ps: IUniformProvider[]): IUniformProvider;
22
+ lazy(known: readonly string[], compute: (name: string) => aval<unknown> | undefined): IUniformProvider;
23
+ };
24
+ export declare const AttributeProvider: {
25
+ empty: IAttributeProvider;
26
+ ofMap(m: HashMap<string, BufferView>): IAttributeProvider;
27
+ ofObject(o: Readonly<Record<string, BufferView>>): IAttributeProvider;
28
+ union(...ps: IAttributeProvider[]): IAttributeProvider;
29
+ lazy(known: readonly string[], compute: (name: string) => BufferView | undefined): IAttributeProvider;
30
+ };
31
+ /** Normalise a `RenderObject.uniforms` value: a real provider passes
32
+ * through; a plain `HashMap<string, aval>` (legacy shape, still used
33
+ * by some hand-built test fixtures) is wrapped as a map-backed
34
+ * provider. Consumers call this at the boundary so both shapes work. */
35
+ export declare function asUniformProvider(x: IUniformProvider | HashMap<string, aval<unknown>>): IUniformProvider;
36
+ /** Likewise for `vertexAttributes` / `instanceAttributes`. */
37
+ export declare function asAttributeProvider(x: IAttributeProvider | HashMap<string, BufferView>): IAttributeProvider;
38
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/core/provider.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B;;wCAEoC;IACpC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAChD;uEACmE;IACnE,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7C,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC3B;AA0ED,eAAO,MAAM,eAAe,EAAoC;IAC9D,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,gBAAgB,CAAC;IAC3D,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;IACvE,KAAK,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,gBAAgB,CAAC;CACxG,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAiC;IAC7D,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,kBAAkB,CAAC;IAC1D,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,GAAG,kBAAkB,CAAC;IACtE,KAAK,CAAC,GAAG,EAAE,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,GAAG,kBAAkB,CAAC;CACvG,CAAC;AAMF;;;yEAGyE;AACzE,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,gBAAgB,CAExG;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,kBAAkB,CAE3G"}
@@ -0,0 +1,104 @@
1
+ // IUniformProvider / IAttributeProvider — lazy, by-name lookup of a
2
+ // RenderObject's uniform values and vertex/instance attribute views.
3
+ //
4
+ // Modelled on Aardvark.Rendering's `IUniformProvider` /
5
+ // `IAttributeProvider`: the binding layer always pulls *shader-driven*
6
+ // — for each name the compiled shader actually declares it calls
7
+ // `tryGet(name)`. A name no shader reads is therefore never
8
+ // materialised by a lazy provider. This is what lets the scene-graph
9
+ // auto-inject all ~15 derived trafo uniforms (`ModelViewProjTrafo`,
10
+ // `NormalMatrix`, the inverses, …) per leaf for free: their `compose`
11
+ // / `inverse` aval chains are only built when some effect's interface
12
+ // references the name.
13
+ //
14
+ // `names()` is the (cheap) enumeration surface — a lazy provider lists
15
+ // the names it *could* produce without materialising their values. The
16
+ // only consumers that enumerate (rather than pull by shader name) are
17
+ // the texture-split in the Sg compile layer (operates on the user map,
18
+ // not a provider) and the heap-eligibility stride check (iterates the
19
+ // attribute provider's names — always map-backed in practice).
20
+ // ─── shared impl helpers ───────────────────────────────────────────────
21
+ function mapKeys(m) {
22
+ const out = [];
23
+ for (const [k] of m)
24
+ out.push(k);
25
+ return out;
26
+ }
27
+ function hasOwn(o, k) {
28
+ return Object.prototype.hasOwnProperty.call(o, k);
29
+ }
30
+ const EMPTY_NAMES = [];
31
+ function makeProvider() {
32
+ const empty = { tryGet: () => undefined, names: () => EMPTY_NAMES };
33
+ return {
34
+ empty,
35
+ ofMap(m) {
36
+ if (m.containsKey === undefined)
37
+ return empty; // defensive
38
+ return { tryGet: (n) => m.tryFind(n), names: () => mapKeys(m) };
39
+ },
40
+ ofObject(o) {
41
+ return { tryGet: (n) => (hasOwn(o, n) ? o[n] : undefined), names: () => Object.keys(o) };
42
+ },
43
+ /** First non-`undefined` wins. Pass providers in priority order —
44
+ * e.g. `[leafAttrs, scopeAttrs]` so a leaf shadows the scope, or
45
+ * `[userUniforms, autoInjected]` so the user overrides defaults. */
46
+ union(...ps) {
47
+ if (ps.length === 0)
48
+ return empty;
49
+ if (ps.length === 1)
50
+ return ps[0];
51
+ return {
52
+ tryGet: (n) => {
53
+ for (let i = 0; i < ps.length; i++) {
54
+ const v = ps[i].tryGet(n);
55
+ if (v !== undefined)
56
+ return v;
57
+ }
58
+ return undefined;
59
+ },
60
+ names: () => {
61
+ const s = new Set();
62
+ for (const p of ps)
63
+ for (const n of p.names())
64
+ s.add(n);
65
+ return s;
66
+ },
67
+ };
68
+ },
69
+ /** `compute(name)` runs the first time `name` is requested; the
70
+ * result (incl. `undefined`) is memoised. `known` is the cheap
71
+ * list of names `compute` can produce. */
72
+ lazy(known, compute) {
73
+ const cache = new Map();
74
+ return {
75
+ tryGet: (n) => {
76
+ const hit = cache.get(n);
77
+ if (hit !== undefined || cache.has(n))
78
+ return hit;
79
+ const v = compute(n);
80
+ cache.set(n, v);
81
+ return v;
82
+ },
83
+ names: () => known,
84
+ };
85
+ },
86
+ };
87
+ }
88
+ export const UniformProvider = makeProvider();
89
+ export const AttributeProvider = makeProvider();
90
+ function isProvider(x) {
91
+ return x !== null && typeof x === "object" && typeof x.tryGet === "function";
92
+ }
93
+ /** Normalise a `RenderObject.uniforms` value: a real provider passes
94
+ * through; a plain `HashMap<string, aval>` (legacy shape, still used
95
+ * by some hand-built test fixtures) is wrapped as a map-backed
96
+ * provider. Consumers call this at the boundary so both shapes work. */
97
+ export function asUniformProvider(x) {
98
+ return isProvider(x) ? x : UniformProvider.ofMap(x);
99
+ }
100
+ /** Likewise for `vertexAttributes` / `instanceAttributes`. */
101
+ export function asAttributeProvider(x) {
102
+ return isProvider(x) ? x : AttributeProvider.ofMap(x);
103
+ }
104
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/core/provider.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,qEAAqE;AACrE,EAAE;AACF,wDAAwD;AACxD,uEAAuE;AACvE,iEAAiE;AACjE,4DAA4D;AAC5D,qEAAqE;AACrE,oEAAoE;AACpE,sEAAsE;AACtE,sEAAsE;AACtE,uBAAuB;AACvB,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AACvE,sEAAsE;AACtE,uEAAuE;AACvE,sEAAsE;AACtE,+DAA+D;AAqB/D,0EAA0E;AAE1E,SAAS,OAAO,CAAO,CAAgB;IACrC,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,CAAS;IAClC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,WAAW,GAAsB,EAAE,CAAC;AAE1C,SAAS,YAAY;IAQnB,MAAM,KAAK,GAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IACvE,OAAO;QACL,KAAK;QACL,KAAK,CAAC,CAAqB;YACzB,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC,CAAC,YAAY;YAC3D,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,CAAC;QACD,QAAQ,CAAC,CAA8B;YACrC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,CAAC;QACD;;6EAEqE;QACrE,KAAK,CAAC,GAAG,EAAO;YACd,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC,CAAC,CAAE,CAAC;YACnC,OAAO;gBACL,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;oBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACnC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3B,IAAI,CAAC,KAAK,SAAS;4BAAE,OAAO,CAAC,CAAC;oBAChC,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE;oBACV,MAAM,CAAC,GAAG,IAAI,GAAG,EAAU,CAAC;oBAC5B,KAAK,MAAM,CAAC,IAAI,EAAE;wBAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE;4BAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACxD,OAAO,CAAC,CAAC;gBACX,CAAC;aACF,CAAC;QACJ,CAAC;QACD;;mDAE2C;QAC3C,IAAI,CAAC,KAAwB,EAAE,OAAwC;YACrE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;YAC/C,OAAO;gBACL,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;oBACZ,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACzB,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;wBAAE,OAAO,GAAG,CAAC;oBAClD,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACrB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChB,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;aACnB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,EAM1C,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,EAM5C,CAAC;AAEF,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAQ,CAA0B,CAAC,MAAM,KAAK,UAAU,CAAC;AACzG,CAAC;AAED;;;yEAGyE;AACzE,MAAM,UAAU,iBAAiB,CAAC,CAAoD;IACpF,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,mBAAmB,CAAC,CAAmD;IACrF,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC"}
@@ -6,6 +6,7 @@ import type { ISampler } from "./sampler.js";
6
6
  import type { ITexture } from "./texture.js";
7
7
  import type { PipelineState } from "./pipelineState.js";
8
8
  import type { Effect } from "./shader.js";
9
+ import type { IAttributeProvider, IUniformProvider } from "./provider.js";
9
10
  export interface RenderObject {
10
11
  /**
11
12
  * A wombat.shader `Effect` — produced by the `vertex(...) /
@@ -27,17 +28,23 @@ export interface RenderObject {
27
28
  readonly effect: Effect;
28
29
  readonly pipelineState: PipelineState;
29
30
  /**
30
- * name vertex buffer view; e.g. "position", "normal", "uv".
31
- *
32
- * The set of attribute names is fixed structurally; only the
33
- * individual buffer values are reactive. The shader's required-input
34
- * set is fixed at compile; the map must contain at least those names.
31
+ * Vertex attributes, looked up by name. The binding layer pulls
32
+ * shader-driven (one `tryGet(name)` per declared vertex input), so a
33
+ * provider may compute views lazily though in practice attribute
34
+ * providers are map-backed. `undefined` from `tryGet` for a name the
35
+ * shader requires is an error at prepare time.
36
+ */
37
+ readonly vertexAttributes: IAttributeProvider;
38
+ /** Instance attributes, looked up by name (same contract). */
39
+ readonly instanceAttributes?: IAttributeProvider;
40
+ /**
41
+ * Uniform values, looked up by name. The runtime packs the UBO from
42
+ * the shader's declared layout — for each declared uniform it calls
43
+ * `uniforms.tryGet(name)`. Names no shader reads are never pulled, so
44
+ * a lazy provider (e.g. the Sg layer's auto-injected derived trafos)
45
+ * never builds their aval chains.
35
46
  */
36
- readonly vertexAttributes: HashMap<string, BufferView>;
37
- /** name → instance buffer view; e.g. "modelMatrix", "instanceColor". */
38
- readonly instanceAttributes?: HashMap<string, BufferView>;
39
- /** name → uniform value; runtime packs into UBO based on shader layout. */
40
- readonly uniforms: HashMap<string, aval<unknown>>;
47
+ readonly uniforms: IUniformProvider;
41
48
  /** name → texture source (CPU image or pre-built GPUTexture). */
42
49
  readonly textures: HashMap<string, aval<ITexture>>;
43
50
  /** name → sampler source (descriptor or pre-built GPUSampler). */
@@ -1 +1 @@
1
- {"version":3,"file":"renderObject.d.ts","sourceRoot":"","sources":["../../src/core/renderObject.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEtC;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvD,wEAAwE;IACxE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1D,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,oCAAoC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEzD,sCAAsC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;CACnC"}
1
+ {"version":3,"file":"renderObject.d.ts","sourceRoot":"","sources":["../../src/core/renderObject.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEtC;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;IAC9C,8DAA8D;IAC9D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,oCAAoC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEzD,sCAAsC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;CACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sampler.d.ts","sourceRoot":"","sources":["../../src/core/sampler.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEzE,eAAO,MAAM,QAAQ;gCACF,UAAU,KAAG,QAAQ;0CACX,oBAAoB,KAAG,QAAQ;CAClD,CAAC"}
1
+ {"version":3,"file":"sampler.d.ts","sourceRoot":"","sources":["../../src/core/sampler.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAiDzE,eAAO,MAAM,QAAQ;gCACF,UAAU,KAAG,QAAQ;0CAOX,oBAAoB,KAAG,QAAQ;CAGlD,CAAC"}
@@ -1,8 +1,77 @@
1
1
  // ISampler — sampler source. Either a pre-built `GPUSampler` or a
2
2
  // descriptor for the runtime to materialise (samplers are cheap
3
3
  // and dedupable, so descriptors are the common path).
4
+ //
5
+ // Equality / hash protocol: `desc` samplers compare structurally over
6
+ // the descriptor fields (all primitives) so two `fromDescriptor({...})`
7
+ // with the same options collapse in `aval<ISampler>`-keyed caches;
8
+ // `gpu` samplers compare by reference on the opaque `GPUSampler`.
9
+ // `gpu` samplers are additionally interned by the handle so two
10
+ // `fromGPU(sameSampler)` return the same object.
11
+ let _idCounter = 0;
12
+ const _idHashes = new WeakMap();
13
+ function idHash(o) {
14
+ let v = _idHashes.get(o);
15
+ if (v === undefined) {
16
+ v = (++_idCounter) | 0;
17
+ _idHashes.set(o, v);
18
+ }
19
+ return v;
20
+ }
21
+ function hashStr(s) {
22
+ let h = 5381;
23
+ for (let i = 0; i < s.length; i++)
24
+ h = ((h << 5) + h + s.charCodeAt(i)) | 0;
25
+ return h;
26
+ }
27
+ // Stable serialisation of a GPUSamplerDescriptor (sorted keys, only
28
+ // own enumerable primitive fields — the descriptor never contains
29
+ // objects). Used for both equality and hashing.
30
+ function descKey(d) {
31
+ const keys = Object.keys(d).sort();
32
+ let out = "";
33
+ for (const k of keys) {
34
+ const v = d[k];
35
+ out += `${k}=${String(v)};`;
36
+ }
37
+ return out;
38
+ }
39
+ function iSamplerEquals(a, o) {
40
+ if (a === o)
41
+ return true;
42
+ if (o === null || typeof o !== "object")
43
+ return false;
44
+ const b = o;
45
+ if (a.kind !== b.kind)
46
+ return false;
47
+ if (a.kind === "gpu")
48
+ return a.sampler === b.sampler;
49
+ return descKey(a.descriptor) === descKey(b.descriptor);
50
+ }
51
+ function iSamplerHash(a) {
52
+ if (a.kind === "gpu")
53
+ return idHash(a.sampler);
54
+ return hashStr("desc:" + descKey(a.descriptor));
55
+ }
56
+ const ISAMPLER_PROTO = {
57
+ equals(o) { return iSamplerEquals(this, o); },
58
+ getHashCode() { return iSamplerHash(this) | 0; },
59
+ };
60
+ function withEq(t) {
61
+ return Object.assign(Object.create(ISAMPLER_PROTO), t);
62
+ }
63
+ const _gpuIntern = new WeakMap();
4
64
  export const ISampler = {
5
- fromGPU(sampler) { return { kind: "gpu", sampler }; },
6
- fromDescriptor(descriptor) { return { kind: "desc", descriptor }; },
65
+ fromGPU(sampler) {
66
+ const cached = _gpuIntern.get(sampler);
67
+ if (cached !== undefined)
68
+ return cached;
69
+ const t = withEq({ kind: "gpu", sampler });
70
+ _gpuIntern.set(sampler, t);
71
+ return t;
72
+ },
73
+ fromDescriptor(descriptor) {
74
+ return withEq({ kind: "desc", descriptor });
75
+ },
7
76
  };
8
77
  //# sourceMappingURL=sampler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sampler.js","sourceRoot":"","sources":["../../src/core/sampler.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,gEAAgE;AAChE,sDAAsD;AAMtD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,CAAC,OAAmB,IAAc,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3E,cAAc,CAAC,UAAgC,IAAc,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;CAC3F,CAAC"}
1
+ {"version":3,"file":"sampler.js","sourceRoot":"","sources":["../../src/core/sampler.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,11 @@ export type ITexture = {
22
22
  } | {
23
23
  readonly kind: "host";
24
24
  readonly source: HostTextureSource;
25
+ } | {
26
+ readonly kind: "url";
27
+ readonly url: string;
28
+ readonly format?: GPUTextureFormat;
29
+ readonly generateMips?: boolean;
25
30
  };
26
31
  export declare const ITexture: {
27
32
  readonly fromGPU: (texture: GPUTexture) => ITexture;
@@ -30,5 +35,9 @@ export declare const ITexture: {
30
35
  generateMips?: boolean;
31
36
  }) => ITexture;
32
37
  readonly fromRaw: (raw: Omit<RawTextureSource, "kind">) => ITexture;
38
+ readonly fromUrl: (url: string, opts?: {
39
+ format?: GPUTextureFormat;
40
+ generateMips?: boolean;
41
+ }) => ITexture;
33
42
  };
34
43
  //# sourceMappingURL=texture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../../src/core/texture.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EACX,WAAW,GACX,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,SAAS,CAAC;IACd,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,uDAAuD;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;AAEzE,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAElE,eAAO,MAAM,QAAQ;gCACF,UAAU,KAAG,QAAQ;oCAI5B,qBAAqB,CAAC,QAAQ,CAAC,SACjC;QAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,KAC1D,QAAQ;4BASE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAG,QAAQ;CAG9C,CAAC"}
1
+ {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../../src/core/texture.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EACX,WAAW,GACX,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,SAAS,CAAC;IACd,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,uDAAuD;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;AASzE,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAmG5E,eAAO,MAAM,QAAQ;gCACF,UAAU,KAAG,QAAQ;oCAI5B,qBAAqB,CAAC,QAAQ,CAAC,SACjC;QAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,KAC1D,QAAQ;4BASE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAG,QAAQ;4BAGzC,MAAM,SAAQ;QAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,KAAQ,QAAQ;CAaxF,CAAC"}
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"texture.js","sourceRoot":"","sources":["../../src/core/texture.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,qDAAqD;AACrD,EAAE;AACF,sEAAsE;AACtE,gCAAgC;AAChC,6DAA6D;AAC7D,4DAA4D;AAC5D,iDAAiD;AACjD,2DAA2D;AAC3D,gEAAgE;AAChE,0BAA0B;AAiC1B,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,CAAC,OAAmB;QACzB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAClC,CAAC;IACD,YAAY,CACV,MAAuC,EACvC,OAA8D,EAAE;QAEhE,MAAM,GAAG,GAA0B;YACjC,IAAI,EAAE,UAAU;YAChB,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,GAAmC;QACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC;IAC3D,CAAC;CACO,CAAC"}
1
+ {"version":3,"file":"texture.js","sourceRoot":"","sources":["../../src/core/texture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"adaptiveTexture.d.ts","sourceRoot":"","sources":["../../src/resources/adaptiveTexture.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,gBAAgB,EAGhB,KAAK,QAAQ,EAGd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,IAAI,EACV,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,6BAA6B;IAC5C,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IACtC,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AA8ND;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EACtB,IAAI,GAAE,6BAAkC,GACvC,gBAAgB,CAAC,UAAU,CAAC,CAE9B"}
1
+ {"version":3,"file":"adaptiveTexture.d.ts","sourceRoot":"","sources":["../../src/resources/adaptiveTexture.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,gBAAgB,EAGhB,KAAK,QAAQ,EAGd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,IAAI,EACV,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,6BAA6B;IAC5C,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IACtC,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAqOD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EACtB,IAAI,GAAE,6BAAkC,GACvC,gBAAgB,CAAC,UAAU,CAAC,CAE9B"}
@@ -98,6 +98,13 @@ class AdaptiveTexture extends AdaptiveResource {
98
98
  }
99
99
  return src.texture;
100
100
  }
101
+ if (src.kind === "url") {
102
+ // URL textures are an authoring shorthand the wombat.dom Sg layer
103
+ // resolves before binding. Reaching adaptiveTexture means the
104
+ // caller bypassed that — give them a clear error instead of a
105
+ // cryptic TypeError from `src.source.kind`.
106
+ throw new Error(`adaptiveTexture: ITexture.kind === "url" must be resolved before binding (url: ${src.url})`);
107
+ }
101
108
  const desc = descFor(src.source);
102
109
  const usage = (this.opts.usage ?? 0)
103
110
  | TextureUsage.COPY_DST
@@ -1 +1 @@
1
- {"version":3,"file":"adaptiveTexture.js","sourceRoot":"","sources":["../../src/resources/adaptiveTexture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adaptiveTexture.js","sourceRoot":"","sources":["../../src/resources/adaptiveTexture.ts"],"names":[],"mappings":"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"}
@@ -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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"}