@aardworx/wombat.rendering 0.9.33 → 0.19.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.
- package/dist/core/renderObject.d.ts +16 -0
- package/dist/core/renderObject.d.ts.map +1 -1
- package/dist/runtime/derivedModes/kernelCodegen.d.ts +90 -0
- package/dist/runtime/derivedModes/kernelCodegen.d.ts.map +1 -0
- package/dist/runtime/derivedModes/kernelCodegen.js +623 -0
- package/dist/runtime/derivedModes/kernelCodegen.js.map +1 -0
- package/dist/runtime/derivedModes/modeKeyCpu.d.ts.map +1 -1
- package/dist/runtime/derivedModes/modeKeyCpu.js +23 -67
- package/dist/runtime/derivedModes/modeKeyCpu.js.map +1 -1
- package/dist/runtime/derivedModes/partitionDispatcher.d.ts +79 -0
- package/dist/runtime/derivedModes/partitionDispatcher.d.ts.map +1 -0
- package/dist/runtime/derivedModes/partitionDispatcher.js +303 -0
- package/dist/runtime/derivedModes/partitionDispatcher.js.map +1 -0
- package/dist/runtime/derivedModes/partitionKernel.d.ts +12 -0
- package/dist/runtime/derivedModes/partitionKernel.d.ts.map +1 -0
- package/dist/runtime/derivedModes/partitionKernel.js +127 -0
- package/dist/runtime/derivedModes/partitionKernel.js.map +1 -0
- package/dist/runtime/derivedModes/partitionKernelLayout.d.ts +4 -0
- package/dist/runtime/derivedModes/partitionKernelLayout.d.ts.map +1 -0
- package/dist/runtime/derivedModes/partitionKernelLayout.js +24 -0
- package/dist/runtime/derivedModes/partitionKernelLayout.js.map +1 -0
- package/dist/runtime/derivedModes/rule.d.ts +38 -86
- package/dist/runtime/derivedModes/rule.d.ts.map +1 -1
- package/dist/runtime/derivedModes/rule.js +34 -74
- package/dist/runtime/derivedModes/rule.js.map +1 -1
- package/dist/runtime/derivedUniforms/dispatch.d.ts +10 -8
- package/dist/runtime/derivedUniforms/dispatch.d.ts.map +1 -1
- package/dist/runtime/derivedUniforms/dispatch.js +31 -18
- package/dist/runtime/derivedUniforms/dispatch.js.map +1 -1
- package/dist/runtime/derivedUniforms/marker.d.ts +90 -11
- package/dist/runtime/derivedUniforms/marker.d.ts.map +1 -1
- package/dist/runtime/derivedUniforms/marker.js +161 -15
- package/dist/runtime/derivedUniforms/marker.js.map +1 -1
- package/dist/runtime/derivedUniforms/sceneIntegration.d.ts +25 -6
- package/dist/runtime/derivedUniforms/sceneIntegration.d.ts.map +1 -1
- package/dist/runtime/derivedUniforms/sceneIntegration.js +61 -20
- package/dist/runtime/derivedUniforms/sceneIntegration.js.map +1 -1
- package/dist/runtime/heapAdapter.d.ts.map +1 -1
- package/dist/runtime/heapAdapter.js +17 -0
- package/dist/runtime/heapAdapter.js.map +1 -1
- package/dist/runtime/heapEligibility.d.ts.map +1 -1
- package/dist/runtime/heapEligibility.js +22 -2
- package/dist/runtime/heapEligibility.js.map +1 -1
- package/dist/runtime/heapScene/chunkedArena.d.ts +76 -0
- package/dist/runtime/heapScene/chunkedArena.d.ts.map +1 -0
- package/dist/runtime/heapScene/chunkedArena.js +223 -0
- package/dist/runtime/heapScene/chunkedArena.js.map +1 -0
- package/dist/runtime/heapScene/freelist.d.ts +55 -0
- package/dist/runtime/heapScene/freelist.d.ts.map +1 -0
- package/dist/runtime/heapScene/freelist.js +188 -0
- package/dist/runtime/heapScene/freelist.js.map +1 -0
- package/dist/runtime/heapScene/growBuffer.d.ts +23 -2
- package/dist/runtime/heapScene/growBuffer.d.ts.map +1 -1
- package/dist/runtime/heapScene/growBuffer.js +35 -3
- package/dist/runtime/heapScene/growBuffer.js.map +1 -1
- package/dist/runtime/heapScene/pools.d.ts +84 -42
- package/dist/runtime/heapScene/pools.d.ts.map +1 -1
- package/dist/runtime/heapScene/pools.js +309 -134
- package/dist/runtime/heapScene/pools.js.map +1 -1
- package/dist/runtime/heapScene.d.ts +24 -0
- package/dist/runtime/heapScene.d.ts.map +1 -1
- package/dist/runtime/heapScene.js +1158 -92
- package/dist/runtime/heapScene.js.map +1 -1
- package/dist/runtime/hybridScene.d.ts +15 -0
- package/dist/runtime/hybridScene.d.ts.map +1 -1
- package/dist/runtime/hybridScene.js +16 -0
- package/dist/runtime/hybridScene.js.map +1 -1
- package/dist/runtime/index.d.ts +4 -3
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +4 -3
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/renderTask.d.ts +5 -0
- package/dist/runtime/renderTask.d.ts.map +1 -1
- package/dist/runtime/renderTask.js +1 -0
- package/dist/runtime/renderTask.js.map +1 -1
- package/dist/runtime/runtime.d.ts +6 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +1 -0
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/textureAtlas/atlasPool.d.ts +12 -0
- package/dist/runtime/textureAtlas/atlasPool.d.ts.map +1 -1
- package/dist/runtime/textureAtlas/atlasPool.js +20 -0
- package/dist/runtime/textureAtlas/atlasPool.js.map +1 -1
- package/package.json +1 -1
- package/src/core/renderObject.ts +16 -0
- package/src/runtime/derivedModes/kernelCodegen.ts +673 -0
- package/src/runtime/derivedModes/modeKeyCpu.ts +22 -60
- package/src/runtime/derivedModes/partitionDispatcher.ts +349 -0
- package/src/runtime/derivedModes/partitionKernelLayout.ts +25 -0
- package/src/runtime/derivedModes/rule.ts +66 -145
- package/src/runtime/derivedUniforms/dispatch.ts +48 -21
- package/src/runtime/derivedUniforms/marker.ts +210 -16
- package/src/runtime/derivedUniforms/sceneIntegration.ts +67 -20
- package/src/runtime/heapAdapter.ts +17 -0
- package/src/runtime/heapEligibility.ts +22 -1
- package/src/runtime/heapScene/chunkedArena.ts +238 -0
- package/src/runtime/heapScene/freelist.ts +196 -0
- package/src/runtime/heapScene/growBuffer.ts +39 -2
- package/src/runtime/heapScene/pools.ts +350 -143
- package/src/runtime/heapScene.ts +1350 -88
- package/src/runtime/hybridScene.ts +31 -0
- package/src/runtime/index.ts +12 -9
- package/src/runtime/renderTask.ts +6 -0
- package/src/runtime/runtime.ts +7 -0
- package/src/runtime/textureAtlas/atlasPool.ts +19 -0
- package/src/runtime/derivedModes/gpuDispatcher.ts +0 -226
- package/src/runtime/derivedModes/gpuKernel.ts +0 -98
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/dispatch.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,gFAAgF;AAChF,kFAAkF;AAClF,4EAA4E;AAC5E,oFAAoF;AACpF,wFAAwF;AACxF,+EAA+E;AAC/E,0DAA0D;AAI1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAkB,MAAM,YAAY,CAAC;AAE7D,iFAAiF;AACjF,MAAM,UAAU,uBAAuB,CACrC,MAAiB,EACjB,GAAc,EACd,MAAoB,EACpB,KAA6B;IAE7B,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;IACjB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO;YAAE,OAAO,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,OAAO;YAAE,OAAO,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO;IACxB,MAAM,SAAS,GAAG,OAAO,GAAG,eAAe,CAAC;IAC5C,MAAM,OAAO,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC;IAChD,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;AAC9G,CAAC;
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,36 @@ import type { Expr, Type } from "@aardworx/wombat.shader/ir";
|
|
|
2
2
|
import { type DerivedRule } from "./rule.js";
|
|
3
3
|
/** Leaf type names accepted by `DerivedExpr.as(...)`. */
|
|
4
4
|
export type LeafTypeName = "f32" | "u32" | "i32" | "vec2" | "vec3" | "vec4" | "mat3" | "mat4";
|
|
5
|
-
/**
|
|
5
|
+
/** Convertible-to-DerivedExpr operand. `aardvark-operators` rewrites
|
|
6
|
+
* e.g. `det < 0` to `det.lt(0)` — so every binary method accepts a
|
|
7
|
+
* raw number and lifts it to a Const matching the receiver's
|
|
8
|
+
* numeric type (f32 / u32 / i32). */
|
|
9
|
+
export type DerivedOperand = DerivedExpr | number;
|
|
10
|
+
/**
|
|
11
|
+
* A traced expression in a `derivedUniform` / `derivedMode` builder.
|
|
12
|
+
*
|
|
13
|
+
* Plays nicely with `boperators` (https://npmjs.com/package/boperators):
|
|
14
|
+
* the named-static operator methods (`static ["+"]`, `static ["*"]`,
|
|
15
|
+
* `static ["<"]`, …) make `a + b`, `a * b`, `a < b`, etc. on
|
|
16
|
+
* DerivedExprs rewrite to those statics at build time. Without the
|
|
17
|
+
* plugin, the same logic is reachable via the instance methods
|
|
18
|
+
* (`.add`, `.mul`, `.lt`, …).
|
|
19
|
+
*
|
|
20
|
+
* Ternary `a < b ? x : y` isn't rewritten — call `.select` on the
|
|
21
|
+
* resulting bool DerivedExpr:
|
|
22
|
+
*
|
|
23
|
+
* (det < 0).select(flipped, declared)
|
|
24
|
+
*/
|
|
6
25
|
export declare class DerivedExpr {
|
|
7
26
|
readonly ir: Expr;
|
|
8
27
|
constructor(ir: Expr);
|
|
9
28
|
get type(): Type;
|
|
10
29
|
/** Matrix product `this · other` (also matrix·vector / vector·matrix by operand types). */
|
|
11
|
-
mul(other:
|
|
12
|
-
add(other:
|
|
13
|
-
sub(other:
|
|
30
|
+
mul(other: DerivedOperand): DerivedExpr;
|
|
31
|
+
add(other: DerivedOperand): DerivedExpr;
|
|
32
|
+
sub(other: DerivedOperand): DerivedExpr;
|
|
33
|
+
div(other: DerivedOperand): DerivedExpr;
|
|
34
|
+
mod(other: DerivedOperand): DerivedExpr;
|
|
14
35
|
neg(): DerivedExpr;
|
|
15
36
|
/** Inverse (of a constituent trafo this reads its stored backward half; otherwise unsupported in codegen). */
|
|
16
37
|
inverse(): DerivedExpr;
|
|
@@ -51,18 +72,76 @@ export declare class DerivedExpr {
|
|
|
51
72
|
log2(): DerivedExpr;
|
|
52
73
|
sign(): DerivedExpr;
|
|
53
74
|
normalize(): DerivedExpr;
|
|
54
|
-
min(o:
|
|
55
|
-
max(o:
|
|
56
|
-
pow(o:
|
|
57
|
-
atan2(o:
|
|
58
|
-
step(edge:
|
|
59
|
-
clamp(lo:
|
|
60
|
-
mix(o:
|
|
75
|
+
min(o: DerivedOperand): DerivedExpr;
|
|
76
|
+
max(o: DerivedOperand): DerivedExpr;
|
|
77
|
+
pow(o: DerivedOperand): DerivedExpr;
|
|
78
|
+
atan2(o: DerivedOperand): DerivedExpr;
|
|
79
|
+
step(edge: DerivedOperand): DerivedExpr;
|
|
80
|
+
clamp(lo: DerivedOperand, hi: DerivedOperand): DerivedExpr;
|
|
81
|
+
mix(o: DerivedOperand, t: DerivedOperand): DerivedExpr;
|
|
61
82
|
dot(o: DerivedExpr): DerivedExpr;
|
|
62
83
|
cross(o: DerivedExpr): DerivedExpr;
|
|
63
84
|
length(): DerivedExpr;
|
|
64
85
|
distance(o: DerivedExpr): DerivedExpr;
|
|
65
86
|
reflect(n: DerivedExpr): DerivedExpr;
|
|
87
|
+
private cmp;
|
|
88
|
+
eq(o: DerivedOperand): DerivedExpr;
|
|
89
|
+
ne(o: DerivedOperand): DerivedExpr;
|
|
90
|
+
lt(o: DerivedOperand): DerivedExpr;
|
|
91
|
+
le(o: DerivedOperand): DerivedExpr;
|
|
92
|
+
gt(o: DerivedOperand): DerivedExpr;
|
|
93
|
+
ge(o: DerivedOperand): DerivedExpr;
|
|
94
|
+
/**
|
|
95
|
+
* Ternary select. The RECEIVER must be a bool — typically the
|
|
96
|
+
* result of a comparison — and the args are the then / else
|
|
97
|
+
* branches:
|
|
98
|
+
*
|
|
99
|
+
* (det < 0).select(flipped, declared) // det<0 ? flipped : declared
|
|
100
|
+
*
|
|
101
|
+
* The result type follows `then` (which must be widening-
|
|
102
|
+
* compatible with `else`). Raw numbers are lifted using `then`'s
|
|
103
|
+
* type when `then` is a DerivedExpr, else f32.
|
|
104
|
+
*/
|
|
105
|
+
select(thenE: DerivedOperand, elseE: DerivedOperand): DerivedExpr;
|
|
106
|
+
/** Determinant of a square matrix expression — yields a scalar f32. */
|
|
107
|
+
determinant(): DerivedExpr;
|
|
108
|
+
static f32(value: number): DerivedExpr;
|
|
109
|
+
static u32(value: number): DerivedExpr;
|
|
110
|
+
static i32(value: number): DerivedExpr;
|
|
111
|
+
static "+"(a: DerivedExpr, b: DerivedExpr): DerivedExpr;
|
|
112
|
+
static "+"(a: DerivedExpr, b: number): DerivedExpr;
|
|
113
|
+
static "+"(a: number, b: DerivedExpr): DerivedExpr;
|
|
114
|
+
static "-"(a: DerivedExpr, b: DerivedExpr): DerivedExpr;
|
|
115
|
+
static "-"(a: DerivedExpr, b: number): DerivedExpr;
|
|
116
|
+
static "-"(a: number, b: DerivedExpr): DerivedExpr;
|
|
117
|
+
static "-"(a: DerivedExpr): DerivedExpr;
|
|
118
|
+
static "*"(a: DerivedExpr, b: DerivedExpr): DerivedExpr;
|
|
119
|
+
static "*"(a: DerivedExpr, b: number): DerivedExpr;
|
|
120
|
+
static "*"(a: number, b: DerivedExpr): DerivedExpr;
|
|
121
|
+
static "/"(a: DerivedExpr, b: DerivedExpr): DerivedExpr;
|
|
122
|
+
static "/"(a: DerivedExpr, b: number): DerivedExpr;
|
|
123
|
+
static "/"(a: number, b: DerivedExpr): DerivedExpr;
|
|
124
|
+
static "%"(a: DerivedExpr, b: DerivedExpr): DerivedExpr;
|
|
125
|
+
static "%"(a: DerivedExpr, b: number): DerivedExpr;
|
|
126
|
+
static "%"(a: number, b: DerivedExpr): DerivedExpr;
|
|
127
|
+
static "<"(a: DerivedExpr, b: DerivedExpr): DerivedExpr;
|
|
128
|
+
static "<"(a: DerivedExpr, b: number): DerivedExpr;
|
|
129
|
+
static "<"(a: number, b: DerivedExpr): DerivedExpr;
|
|
130
|
+
static "<="(a: DerivedExpr, b: DerivedExpr): DerivedExpr;
|
|
131
|
+
static "<="(a: DerivedExpr, b: number): DerivedExpr;
|
|
132
|
+
static "<="(a: number, b: DerivedExpr): DerivedExpr;
|
|
133
|
+
static ">"(a: DerivedExpr, b: DerivedExpr): DerivedExpr;
|
|
134
|
+
static ">"(a: DerivedExpr, b: number): DerivedExpr;
|
|
135
|
+
static ">"(a: number, b: DerivedExpr): DerivedExpr;
|
|
136
|
+
static ">="(a: DerivedExpr, b: DerivedExpr): DerivedExpr;
|
|
137
|
+
static ">="(a: DerivedExpr, b: number): DerivedExpr;
|
|
138
|
+
static ">="(a: number, b: DerivedExpr): DerivedExpr;
|
|
139
|
+
static "=="(a: DerivedExpr, b: DerivedExpr): DerivedExpr;
|
|
140
|
+
static "=="(a: DerivedExpr, b: number): DerivedExpr;
|
|
141
|
+
static "=="(a: number, b: DerivedExpr): DerivedExpr;
|
|
142
|
+
static "!="(a: DerivedExpr, b: DerivedExpr): DerivedExpr;
|
|
143
|
+
static "!="(a: DerivedExpr, b: number): DerivedExpr;
|
|
144
|
+
static "!="(a: number, b: DerivedExpr): DerivedExpr;
|
|
66
145
|
}
|
|
67
146
|
/** The `u` passed to a `derivedUniform` builder. `u.<Name>` is a uniform leaf — a mat4
|
|
68
147
|
* trafo by default; its real type when the wombat-shader-vite plugin supplies one (or
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/marker.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AASrE,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AA2B9F,
|
|
1
|
+
{"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/marker.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,52 @@ function intrinsicExpr(name, type, args) {
|
|
|
40
40
|
type,
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
-
/**
|
|
43
|
+
/** True iff `t` is a numeric scalar IR type (Float / Int). */
|
|
44
|
+
function isNumericScalar(t) {
|
|
45
|
+
return t.kind === "Float" || t.kind === "Int";
|
|
46
|
+
}
|
|
47
|
+
/** Element type for scalar arithmetic: scalar types pass through,
|
|
48
|
+
* vector/matrix types unwrap to their element type, anything else
|
|
49
|
+
* defaults to f32 (the natural numeric on the GPU side). */
|
|
50
|
+
function scalarLiftType(t) {
|
|
51
|
+
if (isNumericScalar(t))
|
|
52
|
+
return t;
|
|
53
|
+
if (t.kind === "Vector" || t.kind === "Matrix")
|
|
54
|
+
return t.element;
|
|
55
|
+
return Tf32;
|
|
56
|
+
}
|
|
57
|
+
function liftConst(value, target) {
|
|
58
|
+
if (target.kind === "Int") {
|
|
59
|
+
if (target.signed) {
|
|
60
|
+
return { kind: "Const", type: target, value: { kind: "Int", value: value | 0, signed: true } };
|
|
61
|
+
}
|
|
62
|
+
return { kind: "Const", type: target, value: { kind: "Int", value: value >>> 0, signed: false } };
|
|
63
|
+
}
|
|
64
|
+
// Default: f32 const.
|
|
65
|
+
return { kind: "Const", type: Tf32, value: { kind: "Float", value } };
|
|
66
|
+
}
|
|
67
|
+
/** Coerce `DerivedOperand` to a DerivedExpr, lifting raw numbers to a
|
|
68
|
+
* Const expression whose type matches the receiver's scalar type. */
|
|
69
|
+
function lift(other, receiverType) {
|
|
70
|
+
if (other instanceof DerivedExpr)
|
|
71
|
+
return other;
|
|
72
|
+
return new DerivedExpr(liftConst(other, scalarLiftType(receiverType)));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* A traced expression in a `derivedUniform` / `derivedMode` builder.
|
|
76
|
+
*
|
|
77
|
+
* Plays nicely with `boperators` (https://npmjs.com/package/boperators):
|
|
78
|
+
* the named-static operator methods (`static ["+"]`, `static ["*"]`,
|
|
79
|
+
* `static ["<"]`, …) make `a + b`, `a * b`, `a < b`, etc. on
|
|
80
|
+
* DerivedExprs rewrite to those statics at build time. Without the
|
|
81
|
+
* plugin, the same logic is reachable via the instance methods
|
|
82
|
+
* (`.add`, `.mul`, `.lt`, …).
|
|
83
|
+
*
|
|
84
|
+
* Ternary `a < b ? x : y` isn't rewritten — call `.select` on the
|
|
85
|
+
* resulting bool DerivedExpr:
|
|
86
|
+
*
|
|
87
|
+
* (det < 0).select(flipped, declared)
|
|
88
|
+
*/
|
|
44
89
|
export class DerivedExpr {
|
|
45
90
|
ir;
|
|
46
91
|
constructor(ir) {
|
|
@@ -49,20 +94,23 @@ export class DerivedExpr {
|
|
|
49
94
|
get type() { return this.ir.type; }
|
|
50
95
|
/** Matrix product `this · other` (also matrix·vector / vector·matrix by operand types). */
|
|
51
96
|
mul(other) {
|
|
52
|
-
const
|
|
97
|
+
const o = lift(other, this.ir.type);
|
|
98
|
+
const a = this.ir.type, b = o.ir.type;
|
|
53
99
|
if (a.kind === "Matrix" && b.kind === "Matrix") {
|
|
54
|
-
return new DerivedExpr({ kind: "MulMatMat", lhs: this.ir, rhs:
|
|
100
|
+
return new DerivedExpr({ kind: "MulMatMat", lhs: this.ir, rhs: o.ir, type: { kind: "Matrix", element: a.element, rows: a.rows, cols: b.cols } });
|
|
55
101
|
}
|
|
56
102
|
if (a.kind === "Matrix" && b.kind === "Vector") {
|
|
57
|
-
return new DerivedExpr({ kind: "MulMatVec", lhs: this.ir, rhs:
|
|
103
|
+
return new DerivedExpr({ kind: "MulMatVec", lhs: this.ir, rhs: o.ir, type: { kind: "Vector", element: b.element, dim: a.rows } });
|
|
58
104
|
}
|
|
59
105
|
if (a.kind === "Vector" && b.kind === "Matrix") {
|
|
60
|
-
return new DerivedExpr({ kind: "MulVecMat", lhs: this.ir, rhs:
|
|
106
|
+
return new DerivedExpr({ kind: "MulVecMat", lhs: this.ir, rhs: o.ir, type: { kind: "Vector", element: a.element, dim: b.cols } });
|
|
61
107
|
}
|
|
62
|
-
return new DerivedExpr({ kind: "Mul", lhs: this.ir, rhs:
|
|
108
|
+
return new DerivedExpr({ kind: "Mul", lhs: this.ir, rhs: o.ir, type: a.kind === "Float" || a.kind === "Int" ? b : a });
|
|
63
109
|
}
|
|
64
|
-
add(other) { return new DerivedExpr({ kind: "Add", lhs: this.ir, rhs:
|
|
65
|
-
sub(other) { return new DerivedExpr({ kind: "Sub", lhs: this.ir, rhs:
|
|
110
|
+
add(other) { const o = lift(other, this.ir.type); return new DerivedExpr({ kind: "Add", lhs: this.ir, rhs: o.ir, type: this.ir.type }); }
|
|
111
|
+
sub(other) { const o = lift(other, this.ir.type); return new DerivedExpr({ kind: "Sub", lhs: this.ir, rhs: o.ir, type: this.ir.type }); }
|
|
112
|
+
div(other) { const o = lift(other, this.ir.type); return new DerivedExpr({ kind: "Div", lhs: this.ir, rhs: o.ir, type: this.ir.type }); }
|
|
113
|
+
mod(other) { const o = lift(other, this.ir.type); return new DerivedExpr({ kind: "Mod", lhs: this.ir, rhs: o.ir, type: this.ir.type }); }
|
|
66
114
|
neg() { return new DerivedExpr({ kind: "Neg", value: this.ir, type: this.ir.type }); }
|
|
67
115
|
/** Inverse (of a constituent trafo this reads its stored backward half; otherwise unsupported in codegen). */
|
|
68
116
|
inverse() { return new DerivedExpr({ kind: "Inverse", value: this.ir, type: this.ir.type }); }
|
|
@@ -120,18 +168,116 @@ export class DerivedExpr {
|
|
|
120
168
|
log2() { return this.u1("log2"); }
|
|
121
169
|
sign() { return this.u1("sign"); }
|
|
122
170
|
normalize() { return this.u1("normalize"); }
|
|
123
|
-
min(o) { return this.bin("min", o); }
|
|
124
|
-
max(o) { return this.bin("max", o); }
|
|
125
|
-
pow(o) { return this.bin("pow", o); }
|
|
126
|
-
atan2(o) { return this.bin("atan2", o); }
|
|
127
|
-
step(edge) { return new DerivedExpr(intrinsicExpr("step", this.ir.type, [
|
|
128
|
-
clamp(lo, hi) { return new DerivedExpr(intrinsicExpr("clamp", this.ir.type, [this.ir,
|
|
129
|
-
mix(o, t) { return new DerivedExpr(intrinsicExpr("mix", this.ir.type, [this.ir,
|
|
171
|
+
min(o) { return this.bin("min", lift(o, this.ir.type)); }
|
|
172
|
+
max(o) { return this.bin("max", lift(o, this.ir.type)); }
|
|
173
|
+
pow(o) { return this.bin("pow", lift(o, this.ir.type)); }
|
|
174
|
+
atan2(o) { return this.bin("atan2", lift(o, this.ir.type)); }
|
|
175
|
+
step(edge) { const e = lift(edge, this.ir.type); return new DerivedExpr(intrinsicExpr("step", this.ir.type, [e.ir, this.ir])); }
|
|
176
|
+
clamp(lo, hi) { const l = lift(lo, this.ir.type); const h = lift(hi, this.ir.type); return new DerivedExpr(intrinsicExpr("clamp", this.ir.type, [this.ir, l.ir, h.ir])); }
|
|
177
|
+
mix(o, t) { const oo = lift(o, this.ir.type); const tt = lift(t, this.ir.type); return new DerivedExpr(intrinsicExpr("mix", this.ir.type, [this.ir, oo.ir, tt.ir])); }
|
|
130
178
|
dot(o) { return new DerivedExpr(intrinsicExpr("dot", elemOf(this.ir.type), [this.ir, o.ir])); }
|
|
131
179
|
cross(o) { return new DerivedExpr(intrinsicExpr("cross", this.ir.type, [this.ir, o.ir])); }
|
|
132
180
|
length() { return new DerivedExpr(intrinsicExpr("length", elemOf(this.ir.type), [this.ir])); }
|
|
133
181
|
distance(o) { return new DerivedExpr(intrinsicExpr("distance", elemOf(this.ir.type), [this.ir, o.ir])); }
|
|
134
182
|
reflect(n) { return new DerivedExpr(intrinsicExpr("reflect", this.ir.type, [this.ir, n.ir])); }
|
|
183
|
+
// ── Comparisons (produce a bool DerivedExpr). Receivers + arg can be
|
|
184
|
+
// raw numbers — `aardvark-operators` lifts `a < 2` to `a.lt(2)`,
|
|
185
|
+
// and we lift `2` to a const matching the receiver's scalar type. ──
|
|
186
|
+
cmp(kind, other) {
|
|
187
|
+
const o = lift(other, this.ir.type);
|
|
188
|
+
const ir = { kind, lhs: this.ir, rhs: o.ir, type: { kind: "Bool" } };
|
|
189
|
+
return new DerivedExpr(ir);
|
|
190
|
+
}
|
|
191
|
+
eq(o) { return this.cmp("Eq", o); }
|
|
192
|
+
ne(o) { return this.cmp("Neq", o); }
|
|
193
|
+
lt(o) { return this.cmp("Lt", o); }
|
|
194
|
+
le(o) { return this.cmp("Le", o); }
|
|
195
|
+
gt(o) { return this.cmp("Gt", o); }
|
|
196
|
+
ge(o) { return this.cmp("Ge", o); }
|
|
197
|
+
/**
|
|
198
|
+
* Ternary select. The RECEIVER must be a bool — typically the
|
|
199
|
+
* result of a comparison — and the args are the then / else
|
|
200
|
+
* branches:
|
|
201
|
+
*
|
|
202
|
+
* (det < 0).select(flipped, declared) // det<0 ? flipped : declared
|
|
203
|
+
*
|
|
204
|
+
* The result type follows `then` (which must be widening-
|
|
205
|
+
* compatible with `else`). Raw numbers are lifted using `then`'s
|
|
206
|
+
* type when `then` is a DerivedExpr, else f32.
|
|
207
|
+
*/
|
|
208
|
+
select(thenE, elseE) {
|
|
209
|
+
if (this.ir.type.kind !== "Bool") {
|
|
210
|
+
throw new Error("DerivedExpr.select(then, else): receiver must be a bool (typically a comparison)");
|
|
211
|
+
}
|
|
212
|
+
const t = thenE instanceof DerivedExpr ? thenE : lift(thenE, elseE instanceof DerivedExpr ? elseE.ir.type : Tf32);
|
|
213
|
+
const e = elseE instanceof DerivedExpr ? elseE : lift(elseE, t.ir.type);
|
|
214
|
+
const ir = { kind: "Conditional", cond: this.ir, ifTrue: t.ir, ifFalse: e.ir, type: t.ir.type };
|
|
215
|
+
return new DerivedExpr(ir);
|
|
216
|
+
}
|
|
217
|
+
/** Determinant of a square matrix expression — yields a scalar f32. */
|
|
218
|
+
determinant() {
|
|
219
|
+
if (this.ir.type.kind !== "Matrix") {
|
|
220
|
+
throw new Error("DerivedExpr.determinant(): receiver must be a matrix expression");
|
|
221
|
+
}
|
|
222
|
+
return new DerivedExpr({ kind: "Determinant", value: this.ir, type: Tf32 });
|
|
223
|
+
}
|
|
224
|
+
// ── Static literal builders. Mode rules in particular need u32 constants for enum
|
|
225
|
+
// indices (slot lookup). Floats for thresholds (e.g. determinant against zero).
|
|
226
|
+
static f32(value) {
|
|
227
|
+
return new DerivedExpr({ kind: "Const", type: Tf32, value: { kind: "Float", value } });
|
|
228
|
+
}
|
|
229
|
+
static u32(value) {
|
|
230
|
+
return new DerivedExpr({ kind: "Const", type: Tu32, value: { kind: "Int", value: value >>> 0, signed: false } });
|
|
231
|
+
}
|
|
232
|
+
static i32(value) {
|
|
233
|
+
return new DerivedExpr({ kind: "Const", type: Ti32, value: { kind: "Int", value: value | 0, signed: true } });
|
|
234
|
+
}
|
|
235
|
+
static "+"(a, b) {
|
|
236
|
+
const x = a instanceof DerivedExpr ? a : lift(a, b.ir.type);
|
|
237
|
+
return x.add(b);
|
|
238
|
+
}
|
|
239
|
+
static "-"(a, b) {
|
|
240
|
+
if (b === undefined)
|
|
241
|
+
return a.neg();
|
|
242
|
+
const x = a instanceof DerivedExpr ? a : lift(a, b.ir.type);
|
|
243
|
+
return x.sub(b);
|
|
244
|
+
}
|
|
245
|
+
static "*"(a, b) {
|
|
246
|
+
const x = a instanceof DerivedExpr ? a : lift(a, b.ir.type);
|
|
247
|
+
return x.mul(b);
|
|
248
|
+
}
|
|
249
|
+
static "/"(a, b) {
|
|
250
|
+
const x = a instanceof DerivedExpr ? a : lift(a, b.ir.type);
|
|
251
|
+
return x.div(b);
|
|
252
|
+
}
|
|
253
|
+
static "%"(a, b) {
|
|
254
|
+
const x = a instanceof DerivedExpr ? a : lift(a, b.ir.type);
|
|
255
|
+
return x.mod(b);
|
|
256
|
+
}
|
|
257
|
+
static "<"(a, b) {
|
|
258
|
+
const x = a instanceof DerivedExpr ? a : lift(a, b.ir.type);
|
|
259
|
+
return x.lt(b);
|
|
260
|
+
}
|
|
261
|
+
static "<="(a, b) {
|
|
262
|
+
const x = a instanceof DerivedExpr ? a : lift(a, b.ir.type);
|
|
263
|
+
return x.le(b);
|
|
264
|
+
}
|
|
265
|
+
static ">"(a, b) {
|
|
266
|
+
const x = a instanceof DerivedExpr ? a : lift(a, b.ir.type);
|
|
267
|
+
return x.gt(b);
|
|
268
|
+
}
|
|
269
|
+
static ">="(a, b) {
|
|
270
|
+
const x = a instanceof DerivedExpr ? a : lift(a, b.ir.type);
|
|
271
|
+
return x.ge(b);
|
|
272
|
+
}
|
|
273
|
+
static "=="(a, b) {
|
|
274
|
+
const x = a instanceof DerivedExpr ? a : lift(a, b.ir.type);
|
|
275
|
+
return x.eq(b);
|
|
276
|
+
}
|
|
277
|
+
static "!="(a, b) {
|
|
278
|
+
const x = a instanceof DerivedExpr ? a : lift(a, b.ir.type);
|
|
279
|
+
return x.ne(b);
|
|
280
|
+
}
|
|
135
281
|
}
|
|
136
282
|
function makeScope(leafTypes) {
|
|
137
283
|
return new Proxy({}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marker.js","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/marker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"marker.js","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/marker.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,16 +12,28 @@ export declare class DerivedUniformsScene {
|
|
|
12
12
|
readonly device: GPUDevice;
|
|
13
13
|
readonly constituents: ConstituentSlots;
|
|
14
14
|
readonly registry: DerivedUniformRegistry;
|
|
15
|
-
/**
|
|
16
|
-
|
|
15
|
+
/** Per-chunk records buffers (§3). Constituents + registry are
|
|
16
|
+
* scene-wide; records partition by chunk so each dispatch binds
|
|
17
|
+
* the right chunk's main heap. */
|
|
18
|
+
private readonly recordsByChunk;
|
|
17
19
|
readonly dispatcher: DerivedUniformsDispatcher;
|
|
18
20
|
/** Constituents storage GPU buffer (`array<vec2<f32>>` — df32 mat4 halves). */
|
|
19
21
|
constituentsBuf: GPUBuffer;
|
|
20
|
-
|
|
22
|
+
/** Per-chunk main-heap GPUBuffer getters. Populated as chunks are
|
|
23
|
+
* registered via `setMainHeapForChunk` from the scene factory. */
|
|
24
|
+
private readonly mainHeapByChunk;
|
|
21
25
|
/** Bumped each time a shared GPU buffer is replaced. */
|
|
22
26
|
bufferEpoch: number;
|
|
23
|
-
constructor(device: GPUDevice,
|
|
24
|
-
|
|
27
|
+
constructor(device: GPUDevice, opts?: DerivedUniformsSceneOptions);
|
|
28
|
+
/** Register (or replace) the GPUBuffer getter for a chunk's main
|
|
29
|
+
* heap. Called by the scene factory at construction and whenever
|
|
30
|
+
* a new chunk opens or an existing chunk's buffer reallocates. */
|
|
31
|
+
setMainHeapForChunk(chunkIdx: number, getter: () => GPUBuffer): void;
|
|
32
|
+
/** Get-or-create the records buffer for `chunkIdx`. */
|
|
33
|
+
recordsFor(chunkIdx: number): RecordsBuffer;
|
|
34
|
+
/** Total record count summed across every chunk's records buffer.
|
|
35
|
+
* Used by the scene's stats / diagnostics. */
|
|
36
|
+
get totalRecordCount(): number;
|
|
25
37
|
ensureConstituentsCapacity(requiredBytes: number): void;
|
|
26
38
|
/** Routed from the heap scene's `inputChanged(t, o)`. True iff `o` is a tracked trafo aval. */
|
|
27
39
|
routeInputChanged(o: IAdaptiveObject): boolean;
|
|
@@ -29,7 +41,9 @@ export declare class DerivedUniformsScene {
|
|
|
29
41
|
pullDirty(token: AdaptiveToken): ReadonlySet<SlotIndex>;
|
|
30
42
|
/** Upload the changed constituent value range. O(changed). */
|
|
31
43
|
uploadDirty(dirty: ReadonlySet<SlotIndex>): void;
|
|
32
|
-
/** Run the uber-kernel
|
|
44
|
+
/** Run the uber-kernel once per chunk that holds records. No-op
|
|
45
|
+
* when no chunk has records. Each dispatch binds that chunk's
|
|
46
|
+
* main heap buffer. */
|
|
33
47
|
encode(enc: GPUCommandEncoder): boolean;
|
|
34
48
|
dispose(): void;
|
|
35
49
|
}
|
|
@@ -44,6 +58,9 @@ export interface RoDerivedRequest {
|
|
|
44
58
|
readonly outputOffset: (name: string) => number | undefined;
|
|
45
59
|
/** Absolute byte offset of this RO's drawHeader within the main heap. */
|
|
46
60
|
readonly drawHeaderBaseByte: number;
|
|
61
|
+
/** §3: which arena chunk this RO lives in. Records are partitioned
|
|
62
|
+
* by chunk so each dispatch binds the right main-heap buffer. */
|
|
63
|
+
readonly chunkIdx: number;
|
|
47
64
|
}
|
|
48
65
|
export interface RoRegistration {
|
|
49
66
|
/** The records-buffer owner key (the RenderObject). */
|
|
@@ -51,6 +68,8 @@ export interface RoRegistration {
|
|
|
51
68
|
readonly constituentAvals: readonly aval<Trafo3d>[];
|
|
52
69
|
/** Flattened-rule hashes — for `registry.release` on teardown. */
|
|
53
70
|
readonly ruleHashes: readonly string[];
|
|
71
|
+
/** Chunk this registration was placed into — used by deregister. */
|
|
72
|
+
readonly chunkIdx: number;
|
|
54
73
|
}
|
|
55
74
|
export declare function registerRoDerivations(scene: DerivedUniformsScene, owner: object, req: RoDerivedRequest): RoRegistration;
|
|
56
75
|
export declare function deregisterRoDerivations(scene: DerivedUniformsScene, reg: RoRegistration): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sceneIntegration.d.ts","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/sceneIntegration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sceneIntegration.d.ts","sourceRoot":"","sources":["../../../src/runtime/derivedUniforms/sceneIntegration.ts"],"names":[],"mappings":"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"}
|