@aardworx/wombat.rendering 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/dist/core/command.d.ts +7 -9
  2. package/dist/core/command.d.ts.map +1 -1
  3. package/dist/core/renderTask.d.ts +64 -1
  4. package/dist/core/renderTask.d.ts.map +1 -1
  5. package/dist/core/renderTask.js +3 -1
  6. package/dist/core/renderTask.js.map +1 -1
  7. package/dist/resources/preparedRenderObject.js +3 -3
  8. package/dist/resources/preparedRenderObject.js.map +1 -1
  9. package/dist/resources/uniformBuffer.d.ts.map +1 -1
  10. package/dist/resources/uniformBuffer.js +17 -0
  11. package/dist/resources/uniformBuffer.js.map +1 -1
  12. package/dist/runtime/derivedUniforms/dispatch.d.ts +105 -0
  13. package/dist/runtime/derivedUniforms/dispatch.d.ts.map +1 -0
  14. package/dist/runtime/derivedUniforms/dispatch.js +355 -0
  15. package/dist/runtime/derivedUniforms/dispatch.js.map +1 -0
  16. package/dist/runtime/derivedUniforms/index.d.ts +6 -0
  17. package/dist/runtime/derivedUniforms/index.d.ts.map +1 -0
  18. package/dist/runtime/derivedUniforms/index.js +26 -0
  19. package/dist/runtime/derivedUniforms/index.js.map +1 -0
  20. package/dist/runtime/derivedUniforms/recipes.d.ts +42 -0
  21. package/dist/runtime/derivedUniforms/recipes.d.ts.map +1 -0
  22. package/dist/runtime/derivedUniforms/recipes.js +134 -0
  23. package/dist/runtime/derivedUniforms/recipes.js.map +1 -0
  24. package/dist/runtime/derivedUniforms/sceneIntegration.d.ts +56 -0
  25. package/dist/runtime/derivedUniforms/sceneIntegration.d.ts.map +1 -0
  26. package/dist/runtime/derivedUniforms/sceneIntegration.js +171 -0
  27. package/dist/runtime/derivedUniforms/sceneIntegration.js.map +1 -0
  28. package/dist/runtime/derivedUniforms/slotId.d.ts +15 -0
  29. package/dist/runtime/derivedUniforms/slotId.d.ts.map +1 -0
  30. package/dist/runtime/derivedUniforms/slotId.js +30 -0
  31. package/dist/runtime/derivedUniforms/slotId.js.map +1 -0
  32. package/dist/runtime/derivedUniforms/slots.d.ts +49 -0
  33. package/dist/runtime/derivedUniforms/slots.d.ts.map +1 -0
  34. package/dist/runtime/derivedUniforms/slots.js +123 -0
  35. package/dist/runtime/derivedUniforms/slots.js.map +1 -0
  36. package/dist/runtime/derivedUniforms/uberKernel.wgsl.d.ts +13 -0
  37. package/dist/runtime/derivedUniforms/uberKernel.wgsl.d.ts.map +1 -0
  38. package/dist/runtime/derivedUniforms/uberKernel.wgsl.js +218 -0
  39. package/dist/runtime/derivedUniforms/uberKernel.wgsl.js.map +1 -0
  40. package/dist/runtime/flattenTree.d.ts +5 -0
  41. package/dist/runtime/flattenTree.d.ts.map +1 -0
  42. package/dist/runtime/flattenTree.js +45 -0
  43. package/dist/runtime/flattenTree.js.map +1 -0
  44. package/dist/runtime/heapAdapter.d.ts +16 -0
  45. package/dist/runtime/heapAdapter.d.ts.map +1 -0
  46. package/dist/runtime/heapAdapter.js +263 -0
  47. package/dist/runtime/heapAdapter.js.map +1 -0
  48. package/dist/runtime/heapEffect.d.ts +235 -0
  49. package/dist/runtime/heapEffect.d.ts.map +1 -0
  50. package/dist/runtime/heapEffect.js +518 -0
  51. package/dist/runtime/heapEffect.js.map +1 -0
  52. package/dist/runtime/heapEffectIR.d.ts +34 -0
  53. package/dist/runtime/heapEffectIR.d.ts.map +1 -0
  54. package/dist/runtime/heapEffectIR.js +1161 -0
  55. package/dist/runtime/heapEffectIR.js.map +1 -0
  56. package/dist/runtime/heapEligibility.d.ts +9 -0
  57. package/dist/runtime/heapEligibility.d.ts.map +1 -0
  58. package/dist/runtime/heapEligibility.js +195 -0
  59. package/dist/runtime/heapEligibility.js.map +1 -0
  60. package/dist/runtime/heapScene.d.ts +240 -31
  61. package/dist/runtime/heapScene.d.ts.map +1 -1
  62. package/dist/runtime/heapScene.js +3334 -265
  63. package/dist/runtime/heapScene.js.map +1 -1
  64. package/dist/runtime/heapShaderFamily.d.ts +132 -0
  65. package/dist/runtime/heapShaderFamily.d.ts.map +1 -0
  66. package/dist/runtime/heapShaderFamily.js +866 -0
  67. package/dist/runtime/heapShaderFamily.js.map +1 -0
  68. package/dist/runtime/hybridScene.d.ts +133 -0
  69. package/dist/runtime/hybridScene.d.ts.map +1 -0
  70. package/dist/runtime/hybridScene.js +159 -0
  71. package/dist/runtime/hybridScene.js.map +1 -0
  72. package/dist/runtime/index.d.ts +8 -0
  73. package/dist/runtime/index.d.ts.map +1 -1
  74. package/dist/runtime/index.js +9 -0
  75. package/dist/runtime/index.js.map +1 -1
  76. package/dist/runtime/renderTask.d.ts +21 -4
  77. package/dist/runtime/renderTask.d.ts.map +1 -1
  78. package/dist/runtime/renderTask.js +127 -32
  79. package/dist/runtime/renderTask.js.map +1 -1
  80. package/dist/runtime/runtime.d.ts +33 -3
  81. package/dist/runtime/runtime.d.ts.map +1 -1
  82. package/dist/runtime/runtime.js +12 -3
  83. package/dist/runtime/runtime.js.map +1 -1
  84. package/dist/runtime/scenePass.d.ts +28 -3
  85. package/dist/runtime/scenePass.d.ts.map +1 -1
  86. package/dist/runtime/scenePass.js +37 -4
  87. package/dist/runtime/scenePass.js.map +1 -1
  88. package/dist/runtime/textureAtlas/atlasMipGutterKernel.d.ts +35 -0
  89. package/dist/runtime/textureAtlas/atlasMipGutterKernel.d.ts.map +1 -0
  90. package/dist/runtime/textureAtlas/atlasMipGutterKernel.js +247 -0
  91. package/dist/runtime/textureAtlas/atlasMipGutterKernel.js.map +1 -0
  92. package/dist/runtime/textureAtlas/atlasPool.d.ts +240 -0
  93. package/dist/runtime/textureAtlas/atlasPool.d.ts.map +1 -0
  94. package/dist/runtime/textureAtlas/atlasPool.js +798 -0
  95. package/dist/runtime/textureAtlas/atlasPool.js.map +1 -0
  96. package/dist/runtime/textureAtlas/bvhTree2d.d.ts +33 -0
  97. package/dist/runtime/textureAtlas/bvhTree2d.d.ts.map +1 -0
  98. package/dist/runtime/textureAtlas/bvhTree2d.js +501 -0
  99. package/dist/runtime/textureAtlas/bvhTree2d.js.map +1 -0
  100. package/dist/runtime/textureAtlas/packer.d.ts +50 -0
  101. package/dist/runtime/textureAtlas/packer.d.ts.map +1 -0
  102. package/dist/runtime/textureAtlas/packer.js +390 -0
  103. package/dist/runtime/textureAtlas/packer.js.map +1 -0
  104. package/dist/window/loop.d.ts +14 -0
  105. package/dist/window/loop.d.ts.map +1 -1
  106. package/dist/window/loop.js +18 -5
  107. package/dist/window/loop.js.map +1 -1
  108. package/package.json +5 -4
  109. package/src/core/command.ts +9 -9
  110. package/src/core/renderTask.ts +55 -2
  111. package/src/resources/preparedRenderObject.ts +3 -3
  112. package/src/resources/uniformBuffer.ts +15 -0
  113. package/src/runtime/derivedUniforms/dispatch.ts +407 -0
  114. package/src/runtime/derivedUniforms/index.ts +52 -0
  115. package/src/runtime/derivedUniforms/recipes.ts +159 -0
  116. package/src/runtime/derivedUniforms/sceneIntegration.ts +239 -0
  117. package/src/runtime/derivedUniforms/slotId.ts +35 -0
  118. package/src/runtime/derivedUniforms/slots.ts +155 -0
  119. package/src/runtime/derivedUniforms/uberKernel.wgsl.ts +220 -0
  120. package/src/runtime/flattenTree.ts +46 -0
  121. package/src/runtime/heapAdapter.ts +314 -0
  122. package/src/runtime/heapEffect.ts +719 -0
  123. package/src/runtime/heapEffectIR.ts +1211 -0
  124. package/src/runtime/heapEligibility.ts +189 -0
  125. package/src/runtime/heapScene.ts +3981 -349
  126. package/src/runtime/heapShaderFamily.ts +1102 -0
  127. package/src/runtime/hybridScene.ts +310 -0
  128. package/src/runtime/index.ts +46 -0
  129. package/src/runtime/renderTask.ts +167 -32
  130. package/src/runtime/runtime.ts +37 -4
  131. package/src/runtime/scenePass.ts +39 -4
  132. package/src/runtime/textureAtlas/atlasMipGutterKernel.ts +291 -0
  133. package/src/runtime/textureAtlas/atlasPool.ts +991 -0
  134. package/src/runtime/textureAtlas/bvhTree2d.ts +530 -0
  135. package/src/runtime/textureAtlas/packer.ts +429 -0
  136. package/src/window/loop.ts +32 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heapShaderFamily.js","sourceRoot":"","sources":["../../src/runtime/heapShaderFamily.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ import { AdaptiveToken, type aval } from "@aardworx/wombat.adaptive";
2
+ import type { CompiledEffect, Effect } from "../core/shader.js";
3
+ import type { FramebufferSignature } from "../core/framebufferSignature.js";
4
+ import { RenderTree } from "../core/renderTree.js";
5
+ import type { FragmentOutputLayout } from "./heapEffect.js";
6
+ export interface CompileHybridSceneOptions {
7
+ /**
8
+ * Maps each fragment-output name an effect emits to its framebuffer
9
+ * attachment location. Used by both backends — the heap path uses
10
+ * it during effect introspection, the legacy path passes it to
11
+ * `Effect.compile`. Omitted ⇒ derive from `signature.colorNames`
12
+ * by index.
13
+ */
14
+ readonly fragmentOutputLayout?: FragmentOutputLayout;
15
+ /**
16
+ * Override `Effect → CompiledEffect`. Defaults to
17
+ * `effect.compile({ target: "wgsl", fragmentOutputLayout })` with
18
+ * the `fragmentOutputLayout` resolved as above. Used only by the
19
+ * legacy path; the heap path calls `compileHeapEffect` itself.
20
+ */
21
+ readonly compileEffect?: (e: Effect, sig: FramebufferSignature) => CompiledEffect;
22
+ /**
23
+ * Global on/off switch for the heap fast path. When `false`, every
24
+ * `RenderObject` routes through the legacy per-RO path regardless
25
+ * of its own eligibility — equivalent to forcing `isHeapEligible`
26
+ * to `false` for the whole scene. Reactive: flipping it migrates
27
+ * ROs between subsets via the existing `filterA` partition.
28
+ *
29
+ * Use cases:
30
+ * - A/B perf comparisons (heap vs legacy on identical scenes).
31
+ * - Quick fallback if a heap-path bug shows up on a specific
32
+ * workload — flip the cval, ship.
33
+ *
34
+ * Default: `AVal.constant(true)` (heap path on for eligible ROs).
35
+ */
36
+ readonly heapEnabled?: aval<boolean>;
37
+ /**
38
+ * §6 family-merge opt-in — pass-through to `BuildHeapSceneOptions`.
39
+ * When true, all effects collapse into one bucket per pipelineState.
40
+ * Default false (per-effect buckets).
41
+ */
42
+ readonly enableFamilyMerge?: boolean;
43
+ /**
44
+ * §7 derived-uniforms opt-in — pass-through to `BuildHeapSceneOptions`.
45
+ */
46
+ readonly enableDerivedUniforms?: boolean;
47
+ }
48
+ export interface HybridScene {
49
+ /**
50
+ * Run both backends' CPU-side update phases. Idempotent within a
51
+ * frame. Call before opening the render pass.
52
+ */
53
+ update(token: AdaptiveToken): void;
54
+ /**
55
+ * Encode pre-pass compute work the heap path needs (drawTable GPU
56
+ * prefix-sum). Must be called BEFORE `beginRenderPass`. No-op when
57
+ * the heap path has no buckets or none are dirty.
58
+ */
59
+ encodeComputePrep(enc: GPUCommandEncoder, token: AdaptiveToken): void;
60
+ /**
61
+ * Encode draws from both backends into the caller-managed render
62
+ * pass. Heap batch first, legacy batch second — order is contract-
63
+ * irrelevant inside one pass.
64
+ */
65
+ encodeIntoPass(passEnc: GPURenderPassEncoder, token: AdaptiveToken): void;
66
+ /**
67
+ * Cheap check for "is there anything to draw?". Lets the caller
68
+ * skip opening the render pass entirely when both backends are
69
+ * empty AND no clear is requested. Must be called after `update`.
70
+ */
71
+ hasDraws(): boolean;
72
+ /**
73
+ * Number of GPU buckets the heap path is currently emitting. With
74
+ * §6 family-merge in v1 this typically collapses to 1 per
75
+ * pipelineState. Useful for status / dev-overlay text.
76
+ */
77
+ heapBucketCount(): number;
78
+ /** Per-frame breakdown of §7 derived-uniforms work (CPU). */
79
+ heapDerivedTimings(): {
80
+ pullMs: number;
81
+ uploadMs: number;
82
+ encodeMs: number;
83
+ records: number;
84
+ };
85
+ /** Diagnostic: download heap state and verify drawHeader refs land in
86
+ * arena, drawTable rows reference valid indices, prefix sum is
87
+ * consistent, attribute alloc headers (typeId/length) are sane and
88
+ * data is finite. Returns issue strings + counts. */
89
+ validateHeap(): Promise<{
90
+ arenaBytes: number;
91
+ issues: string[];
92
+ okRefs: number;
93
+ badRefs: number;
94
+ drawTableRows: number;
95
+ drawTableErrs: number;
96
+ prefixSumErrs: number;
97
+ attrAllocsChecked: number;
98
+ attrAllocsBad: number;
99
+ tilesChecked: number;
100
+ tilesBad: number;
101
+ vidChecks: number;
102
+ vidBad: number;
103
+ indicesHash: string;
104
+ }>;
105
+ /** Per-emit CPU draw simulator — samples the global emit space,
106
+ * reproduces the binary-search + (slot, _local, instId, vid)
107
+ * recovery, and verifies every storage-buffer read address is
108
+ * in-bounds and reads finite data. Reports any out-of-bounds. */
109
+ simulateDraws(samples?: number): Promise<{
110
+ emitsChecked: number;
111
+ oob: number;
112
+ issues: string[];
113
+ }>;
114
+ /** GPU-side binary-search probe — dispatches a kernel mirroring the
115
+ * render VS preamble; for each sampled emit, compares GPU-resolved
116
+ * slot to CPU-resolved slot. Mismatches indicate the search loop
117
+ * (or one of its inputs as seen by the kernel) miscomputes. */
118
+ probeBinarySearch(samples?: number): Promise<{
119
+ emitsChecked: number;
120
+ gpuMismatches: number;
121
+ issues: string[];
122
+ }>;
123
+ /** Triangle-level coherence check — for each sampled triangle base,
124
+ * verifies all three of its emits resolve to the same slot. */
125
+ checkTriangleCoherence(samples?: number): Promise<{
126
+ trianglesChecked: number;
127
+ crossSlot: number;
128
+ issues: string[];
129
+ }>;
130
+ dispose(): void;
131
+ }
132
+ export declare function compileHybridScene(device: GPUDevice, signature: FramebufferSignature, tree: RenderTree, opts?: CompileHybridSceneOptions): HybridScene;
133
+ //# sourceMappingURL=hybridScene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hybridScene.d.ts","sourceRoot":"","sources":["../../src/runtime/hybridScene.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ // hybridScene — composes the heap-bucket fast path with the legacy
2
+ // per-RO path into a single render-pass renderer.
3
+ //
4
+ // Pipeline:
5
+ // 1. `flattenRenderTree(tree)` → `aset<RenderObject>` (drops intra-
6
+ // pass ordering by contract).
7
+ // 2. `partitionA(aset, isHeapEligible)` → (heapAset, legacyAset).
8
+ // Reactive: an RO migrates when its eligibility predicate marks
9
+ // (e.g. an `aval<IBuffer>` flips host↔gpu).
10
+ // 3. `heapAset.map(renderObjectToHeapSpec)` → `aset<HeapDrawSpec>`,
11
+ // fed to `buildHeapScene`. The adapter is memoized per-RO so
12
+ // the same RO always maps to the same spec object — needed for
13
+ // delta-driven removal to identify the right entry.
14
+ // 4. `legacyAset` wrapped as `RenderTree.unorderedFromSet(map(leaf))`
15
+ // and fed to `ScenePass`. Same NodeWalker machinery that the
16
+ // legacy `RenderTask` uses.
17
+ //
18
+ // Per-frame:
19
+ // - `update(token)` runs both backends' update phases (CPU work
20
+ // only — pool repacks, RO preparation).
21
+ // - `encodeIntoPass(passEnc, token)` runs both backends' draw
22
+ // emission into the caller-managed render pass.
23
+ //
24
+ // Order between the two batches inside the pass is irrelevant by
25
+ // the aset contract — the framebuffer's depth/blend ops resolve any
26
+ // apparent ordering. State changes between batches are limited to
27
+ // pipeline + bind-group switches at the boundary; both batches retain
28
+ // their internal amortization.
29
+ import { ASet, AVal, AdaptiveToken, } from "@aardworx/wombat.adaptive";
30
+ import { RenderTree } from "../core/renderTree.js";
31
+ import { ScenePass } from "./scenePass.js";
32
+ import { flattenRenderTree } from "./flattenTree.js";
33
+ import { isHeapEligible } from "./heapEligibility.js";
34
+ import { renderObjectToHeapSpec } from "./heapAdapter.js";
35
+ import { buildHeapScene } from "./heapScene.js";
36
+ import { AtlasPool } from "./textureAtlas/atlasPool.js";
37
+ void null;
38
+ function defaultFragmentOutputLayout(sig) {
39
+ const locations = new Map();
40
+ sig.colorNames.forEach((name, i) => locations.set(name, i));
41
+ return { locations };
42
+ }
43
+ export function compileHybridScene(device, signature, tree, opts = {}) {
44
+ const fragmentOutputLayout = opts.fragmentOutputLayout ?? defaultFragmentOutputLayout(signature);
45
+ const compileEffect = opts.compileEffect ?? ((e, _sig) => e.compile({ target: "wgsl", fragmentOutputLayout }));
46
+ // ─── Partition ───────────────────────────────────────────────────
47
+ // Memoize the eligibility predicate per-RO so the two filterA calls
48
+ // share one underlying observation. Without this, both calls would
49
+ // build independent custom-avals with overlapping subscriptions.
50
+ // The per-RO eligibility is ANDed with the global `heapEnabled`
51
+ // toggle — flipping that off forces every RO to legacy.
52
+ const heapEnabled = opts.heapEnabled ?? AVal.constant(true);
53
+ const eligCache = new WeakMap();
54
+ const elig = (ro) => {
55
+ let av = eligCache.get(ro);
56
+ if (av === undefined) {
57
+ const perRO = isHeapEligible(ro);
58
+ av = AVal.custom(t => heapEnabled.getValue(t) && perRO.getValue(t));
59
+ eligCache.set(ro, av);
60
+ }
61
+ return av;
62
+ };
63
+ const flat = flattenRenderTree(tree);
64
+ const heapAset = flat.filterA(ro => elig(ro));
65
+ const legacyAset = flat.filterA(ro => elig(ro).map(b => !b));
66
+ // ─── Atlas pool ──────────────────────────────────────────────────
67
+ // Per-scene Tier-S atlas pool. Owned by this hybrid scene; disposed
68
+ // alongside the heap path. The adapter consults it to classify
69
+ // textures into Tier S (atlas-packed) vs Tier L (standalone). MVP:
70
+ // the adapter currently always returns Tier L (see heapAdapter
71
+ // comments) — the pool is wired here so the next PR can add Tier-S
72
+ // classification without touching this file.
73
+ const atlasPool = new AtlasPool(device);
74
+ // ─── Heap subset → HeapDrawSpec aset ─────────────────────────────
75
+ // Memoize the adapter: aset removal must identify the SAME spec
76
+ // object that addition produced; the underlying HashSet uses
77
+ // identity/equality and HeapDrawSpec is plain (no structural hash).
78
+ // WeakMap keyed by RO ensures the same RO always maps to the same
79
+ // spec instance, even if the RO migrates out and back in.
80
+ const specCache = new WeakMap();
81
+ const heapSpecAset = heapAset.map((ro) => {
82
+ let spec = specCache.get(ro);
83
+ if (spec === undefined) {
84
+ spec = renderObjectToHeapSpec(ro, AdaptiveToken.top, atlasPool);
85
+ specCache.set(ro, spec);
86
+ }
87
+ return spec;
88
+ });
89
+ const heapScene = buildHeapScene(device, signature, heapSpecAset, {
90
+ fragmentOutputLayout,
91
+ atlasPool,
92
+ ...(opts.enableFamilyMerge === true ? { enableFamilyMerge: true } : {}),
93
+ ...(opts.enableDerivedUniforms === true ? { enableDerivedUniforms: true } : {}),
94
+ });
95
+ // ─── Legacy subset → RenderTree → ScenePass ──────────────────────
96
+ // The unordered-from-set wrapper drops index/order info; the legacy
97
+ // path inherits the same "no order inside a pass" contract. Re-using
98
+ // the existing NodeWalker machinery means RO preparation, caching,
99
+ // and resource ref-counting all behave exactly as the master path.
100
+ const legacyTree = RenderTree.unorderedFromSet(legacyAset.map(ro => RenderTree.leaf(ro)));
101
+ const scenePass = new ScenePass(device, signature, legacyTree, compileEffect);
102
+ return {
103
+ update(token) {
104
+ heapScene.update(token);
105
+ scenePass.update(token);
106
+ },
107
+ encodeComputePrep(enc, token) {
108
+ heapScene.encodeComputePrep(enc, token);
109
+ },
110
+ encodeIntoPass(passEnc, token) {
111
+ heapScene.encodeIntoPass(passEnc);
112
+ scenePass.encodeIntoPass(passEnc, token);
113
+ },
114
+ hasDraws() {
115
+ // Heap path tracks count in stats; legacy path's leaf count is
116
+ // a cheap walker-tree scan when empty (collect into a fresh
117
+ // array). The sentinel here is "both empty" — caller decides
118
+ // whether a clear-only pass is still worth opening.
119
+ if (heapScene.stats.totalDraws > 0)
120
+ return true;
121
+ return scenePass.collect().length > 0;
122
+ },
123
+ heapBucketCount() {
124
+ return heapScene.stats.groups;
125
+ },
126
+ heapDerivedTimings() {
127
+ const s = heapScene.stats;
128
+ return {
129
+ pullMs: s.derivedPullMs,
130
+ uploadMs: s.derivedUploadMs,
131
+ encodeMs: s.derivedEncodeMs,
132
+ records: s.derivedRecords,
133
+ };
134
+ },
135
+ validateHeap() {
136
+ return heapScene._debug.validateHeap();
137
+ },
138
+ simulateDraws(samples) {
139
+ return heapScene._debug.simulateDraws(samples);
140
+ },
141
+ probeBinarySearch(samples) {
142
+ return heapScene._debug.probeBinarySearch(samples);
143
+ },
144
+ checkTriangleCoherence(samples) {
145
+ return heapScene._debug.checkTriangleCoherence(samples);
146
+ },
147
+ dispose() {
148
+ heapScene.dispose();
149
+ scenePass.dispose();
150
+ atlasPool.dispose();
151
+ },
152
+ };
153
+ }
154
+ // `aset` reference keeps the import live for documentation comments.
155
+ const _asetTypeGuard = undefined;
156
+ void _asetTypeGuard;
157
+ // Same for ASet: re-exported here as a hint (the helper uses ASet.* internally).
158
+ void ASet;
159
+ //# sourceMappingURL=hybridScene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hybridScene.js","sourceRoot":"","sources":["../../src/runtime/hybridScene.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,12 @@ export { copy } from "./copy.js";
4
4
  export { renderTo, type RenderToOptions, type RenderToResult, } from "./renderTo.js";
5
5
  export { ScenePass, type WalkerStats, } from "./scenePass.js";
6
6
  export { buildHeapScene, type HeapScene, type HeapSceneStats, type HeapDrawSpec, type HeapGeometry, type HeapTextureSet, type BuildHeapSceneOptions, } from "./heapScene.js";
7
+ export { compileHeapEffect, type CompiledHeapEffect, type FragmentOutputLayout, } from "./heapEffect.js";
8
+ export { flattenRenderTree } from "./flattenTree.js";
9
+ export { isHeapEligible } from "./heapEligibility.js";
10
+ export { renderObjectToHeapSpec } from "./heapAdapter.js";
11
+ export { compileHybridScene, type CompileHybridSceneOptions, type HybridScene, } from "./hybridScene.js";
12
+ export { BvhTree2d, SPLIT_LIMIT_DEFAULT, } from "./textureAtlas/bvhTree2d.js";
13
+ export { TexturePacking, empty as emptyTexturePacking, isEmpty as isEmptyTexturePacking, count as countTexturePacking, occupancy as texturePackingOccupancy, square as squareTexturePacking, tryAddMany as texturePackingTryAddMany, tryOfArray as texturePackingTryOfArray, } from "./textureAtlas/packer.js";
14
+ export { AtlasPool, ATLAS_PAGE_SIZE, ATLAS_MAX_DIM, ATLAS_MAX_PAGES_PER_FORMAT, ATLAS_PAGE_FORMATS, atlasFormatIndex, type AtlasPage, type AtlasPageFormat, type AtlasAcquisition, type AtlasSource, } from "./textureAtlas/atlasPool.js";
7
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EACP,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,QAAQ,EACR,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EACT,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EACP,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,QAAQ,EACR,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EACT,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,SAAS,EACT,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,cAAc,EACd,KAAK,IAAI,mBAAmB,EAC5B,OAAO,IAAI,qBAAqB,EAChC,KAAK,IAAI,mBAAmB,EAC5B,SAAS,IAAI,uBAAuB,EACpC,MAAM,IAAI,oBAAoB,EAC9B,UAAU,IAAI,wBAAwB,EACtC,UAAU,IAAI,wBAAwB,GACvC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,SAAS,EACT,eAAe,EACf,aAAa,EACb,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,6BAA6B,CAAC"}
@@ -5,4 +5,13 @@ export { copy } from "./copy.js";
5
5
  export { renderTo, } from "./renderTo.js";
6
6
  export { ScenePass, } from "./scenePass.js";
7
7
  export { buildHeapScene, } from "./heapScene.js";
8
+ export { compileHeapEffect, } from "./heapEffect.js";
9
+ export { flattenRenderTree } from "./flattenTree.js";
10
+ export { isHeapEligible } from "./heapEligibility.js";
11
+ export { renderObjectToHeapSpec } from "./heapAdapter.js";
12
+ export { compileHybridScene, } from "./hybridScene.js";
13
+ // ─── Texture atlas (heap path Tier-S texture sharing) ───────────────
14
+ export { BvhTree2d, SPLIT_LIMIT_DEFAULT, } from "./textureAtlas/bvhTree2d.js";
15
+ export { TexturePacking, empty as emptyTexturePacking, isEmpty as isEmptyTexturePacking, count as countTexturePacking, occupancy as texturePackingOccupancy, square as squareTexturePacking, tryAddMany as texturePackingTryAddMany, tryOfArray as texturePackingTryOfArray, } from "./textureAtlas/packer.js";
16
+ export { AtlasPool, ATLAS_PAGE_SIZE, ATLAS_MAX_DIM, ATLAS_MAX_PAGES_PER_FORMAT, ATLAS_PAGE_FORMATS, atlasFormatIndex, } from "./textureAtlas/atlasPool.js";
8
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD,OAAO,EACL,OAAO,GAER,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,GAElB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,QAAQ,GAGT,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,GAEV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,GAOf,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD,OAAO,EACL,OAAO,GAER,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,GAElB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,QAAQ,GAGT,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,GAEV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,GAOf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,iBAAiB,GAGlB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EACL,kBAAkB,GAGnB,MAAM,kBAAkB,CAAC;AAE1B,uEAAuE;AACvE,OAAO,EACL,SAAS,EACT,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,cAAc,EACd,KAAK,IAAI,mBAAmB,EAC5B,OAAO,IAAI,qBAAqB,EAChC,KAAK,IAAI,mBAAmB,EAC5B,SAAS,IAAI,uBAAuB,EACpC,MAAM,IAAI,oBAAoB,EAC9B,UAAU,IAAI,wBAAwB,EACtC,UAAU,IAAI,wBAAwB,GACvC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,SAAS,EACT,eAAe,EACf,aAAa,EACb,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,GAKjB,MAAM,6BAA6B,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type Command, type CompiledEffect, type Effect, type FramebufferSignature, type IRenderTask } from "../core/index.js";
2
- import { AdaptiveToken, type alist } from "@aardworx/wombat.adaptive";
1
+ import { type Command, type CompiledEffect, type Effect, type FramebufferSignature, type IFramebuffer, type IRenderTask } from "../core/index.js";
2
+ import { AdaptiveToken, type alist, type aval } from "@aardworx/wombat.adaptive";
3
3
  export interface RuntimeContext {
4
4
  readonly device: GPUDevice;
5
5
  /**
@@ -9,8 +9,25 @@ export interface RuntimeContext {
9
9
  * `linkFragmentOutputs` pass uses it to re-pin and DCE outputs.
10
10
  */
11
11
  readonly compileEffect: (effect: Effect, signature: FramebufferSignature) => CompiledEffect;
12
+ /**
13
+ * Global heap on/off toggle propagated to every `HybridScene`
14
+ * compiled against this context. Flipping it causes every RO to
15
+ * migrate between the heap subset and the legacy subset.
16
+ * Useful for A/B perf comparisons.
17
+ */
18
+ readonly heapEnabled?: aval<boolean>;
19
+ /**
20
+ * §6 family-merge opt-in — propagated to every HybridScene
21
+ * compiled against this context. Default: merge off.
22
+ */
23
+ readonly enableFamilyMerge?: boolean;
24
+ /**
25
+ * §7 derived-uniforms opt-in — propagated to every HybridScene
26
+ * compiled against this context.
27
+ */
28
+ readonly enableDerivedUniforms?: boolean;
12
29
  }
13
- export declare function compileRenderTask(ctx: RuntimeContext, commands: alist<Command>): IRenderTask & {
14
- encode(enc: GPUCommandEncoder, token: AdaptiveToken): void;
30
+ export declare function compileRenderTask(ctx: RuntimeContext, signature: FramebufferSignature, commands: alist<Command>): IRenderTask & {
31
+ encode(enc: GPUCommandEncoder, framebuffer: IFramebuffer, token: AdaptiveToken): void;
15
32
  };
16
33
  //# sourceMappingURL=renderTask.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderTask.d.ts","sourceRoot":"","sources":["../../src/runtime/renderTask.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,oBAAoB,EAEzB,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,KAAK,KAAK,EAAa,MAAM,2BAA2B,CAAC;AAIjF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,KAAK,cAAc,CAAC;CAC7F;AA+FD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,GAAG;IAC9F,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CAC5D,CAEA"}
1
+ {"version":3,"file":"renderTask.d.ts","sourceRoot":"","sources":["../../src/runtime/renderTask.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAIjF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,KAAK,cAAc,CAAC;IAC5F;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAiND,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,GACvB,WAAW,GAAG;IACf,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CACvF,CAEA"}