sage-team 3.5.3 → 3.7.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/README.md +40 -9
- package/dist/cli/commands/setup-claude.d.ts +3 -0
- package/dist/cli/commands/setup-claude.d.ts.map +1 -0
- package/dist/cli/commands/setup-claude.js +75 -0
- package/dist/cli/commands/setup-claude.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/engine/__tests__/ceo-brain.test.js +2 -2
- package/dist/engine/__tests__/ceo-brain.test.js.map +1 -1
- package/dist/engine/ceo-brain.d.ts +15 -8
- package/dist/engine/ceo-brain.d.ts.map +1 -1
- package/dist/engine/ceo-brain.js +326 -208
- package/dist/engine/ceo-brain.js.map +1 -1
- package/dist/engine/orchestrator.d.ts +1 -0
- package/dist/engine/orchestrator.d.ts.map +1 -1
- package/dist/engine/orchestrator.js +27 -1
- package/dist/engine/orchestrator.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +9 -3
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/api.d.ts.map +1 -1
- package/dist/server/routes/api.js +10 -3
- package/dist/server/routes/api.js.map +1 -1
- package/dist/state/repositories/agents.js +1 -1
- package/dist/state/repositories/agents.js.map +1 -1
- package/{src/web/dist/assets/BufferResource-CnEVFTWO.js → dist/web/dist/assets/BufferResource-BGsixSHO.js} +1 -1
- package/dist/web/dist/assets/BufferResource-BbpTIQ85.js +185 -0
- package/dist/web/dist/assets/BufferResource-BjJe3r2a.js +185 -0
- package/dist/web/dist/assets/BufferResource-C7ypptTD.js +185 -0
- package/dist/web/dist/assets/BufferResource-CuR0zQl9.js +185 -0
- package/dist/web/dist/assets/BufferResource-_EbXUkK9.js +185 -0
- package/dist/web/dist/assets/BufferResource-dCF0GA9M.js +185 -0
- package/{src/web/dist/assets/CanvasRenderer-DJddxDJS.js → dist/web/dist/assets/CanvasRenderer-BGC-Rjpm.js} +1 -1
- package/dist/web/dist/assets/CanvasRenderer-BQ7ScDtX.js +1 -0
- package/dist/web/dist/assets/CanvasRenderer-CBkg7qb3.js +1 -0
- package/dist/web/dist/assets/CanvasRenderer-CcFmL3Lw.js +1 -0
- package/dist/web/dist/assets/CanvasRenderer-CwKoxkGD.js +1 -0
- package/dist/web/dist/assets/CanvasRenderer-YM8daXJu.js +1 -0
- package/dist/web/dist/assets/CanvasRenderer-yT9JOc5o.js +1 -0
- package/{src/web/dist/assets/Filter-DWNM0gBH.js → dist/web/dist/assets/Filter-BzM7i9ln.js} +1 -1
- package/dist/web/dist/assets/Filter-CJvSyeWH.js +1 -0
- package/dist/web/dist/assets/Filter-CUPFlJF_.js +1 -0
- package/dist/web/dist/assets/Filter-D2kh6Lyn.js +1 -0
- package/dist/web/dist/assets/Filter-DMjNMMPy.js +1 -0
- package/dist/web/dist/assets/Filter-GQK6iqrb.js +1 -0
- package/dist/web/dist/assets/Filter-nUtqhIEl.js +1 -0
- package/{src/web/dist/assets/RenderTargetSystem-C4fzbyMy.js → dist/web/dist/assets/RenderTargetSystem-B-ekYymr.js} +1 -1
- package/dist/web/dist/assets/RenderTargetSystem-BylEtp0F.js +172 -0
- package/dist/web/dist/assets/RenderTargetSystem-D2L3KLdt.js +172 -0
- package/dist/web/dist/assets/RenderTargetSystem-DNsILH5P.js +172 -0
- package/dist/web/dist/assets/RenderTargetSystem-lhfSOVIz.js +172 -0
- package/dist/web/dist/assets/RenderTargetSystem-nRg6zEP8.js +172 -0
- package/dist/web/dist/assets/RenderTargetSystem-uCCnK3Aw.js +172 -0
- package/{src/web/dist/assets/WebGLRenderer-Dl5dddTJ.js → dist/web/dist/assets/WebGLRenderer-BEupTZT-.js} +1 -1
- package/dist/web/dist/assets/WebGLRenderer-BJuclWjv.js +156 -0
- package/dist/web/dist/assets/WebGLRenderer-BONohh1V.js +156 -0
- package/dist/web/dist/assets/WebGLRenderer-Bsr1n0Uu.js +156 -0
- package/dist/web/dist/assets/WebGLRenderer-Da_BkFlZ.js +156 -0
- package/dist/web/dist/assets/WebGLRenderer-DiL4ivWY.js +156 -0
- package/dist/web/dist/assets/WebGLRenderer-DqRhyEby.js +156 -0
- package/{src/web/dist/assets/WebGPURenderer-DHzWrTEL.js → dist/web/dist/assets/WebGPURenderer-C0BJNyre.js} +1 -1
- package/dist/web/dist/assets/WebGPURenderer-Clrsu_cP.js +41 -0
- package/dist/web/dist/assets/WebGPURenderer-DbGOPnSE.js +41 -0
- package/dist/web/dist/assets/WebGPURenderer-Ds8VNo2-.js +41 -0
- package/dist/web/dist/assets/WebGPURenderer-Du7e_Agz.js +41 -0
- package/dist/web/dist/assets/WebGPURenderer-pLgFan3y.js +41 -0
- package/dist/web/dist/assets/WebGPURenderer-pd03jK7j.js +41 -0
- package/{src/web/dist/assets/browserAll-CrRQwob6.js → dist/web/dist/assets/browserAll-1QqybVac.js} +1 -1
- package/dist/web/dist/assets/browserAll-Bd3WFbs9.js +14 -0
- package/dist/web/dist/assets/browserAll-Bv-Fa9BT.js +14 -0
- package/dist/web/dist/assets/browserAll-C9HRyLf9.js +14 -0
- package/dist/web/dist/assets/browserAll-D7SUz7ce.js +14 -0
- package/dist/web/dist/assets/browserAll-TAEt2LTG.js +14 -0
- package/dist/web/dist/assets/browserAll-d1yltqWP.js +14 -0
- package/dist/web/dist/assets/index-BQx3wJPr.css +1 -0
- package/dist/web/dist/assets/index-C1XGJE1t.js +298 -0
- package/dist/web/dist/assets/index-C6hoHqN5.js +298 -0
- package/dist/web/dist/assets/index-CFVD9jMF.js +298 -0
- package/dist/web/dist/assets/index-CO3-IuiC.js +298 -0
- package/dist/web/dist/assets/index-CRT2SA6d.js +298 -0
- package/dist/web/dist/assets/index-CVcQAOB6.css +1 -0
- package/dist/web/dist/assets/index-CwYVpEl9.js +298 -0
- package/dist/web/dist/assets/index-DBSQsI6C.js +298 -0
- package/{src/web/dist/assets/webworkerAll-B9FNurHh.js → dist/web/dist/assets/webworkerAll-B3fxgx9g.js} +1 -1
- package/dist/web/dist/assets/webworkerAll-BILg7nF2.js +83 -0
- package/dist/web/dist/assets/webworkerAll-C7T1zoFZ.js +83 -0
- package/dist/web/dist/assets/webworkerAll-CMt6Ulvh.js +83 -0
- package/dist/web/dist/assets/webworkerAll-CREQA0I8.js +83 -0
- package/dist/web/dist/assets/webworkerAll-CykNhAo8.js +83 -0
- package/dist/web/dist/assets/webworkerAll-WnWYpa5G.js +83 -0
- package/{src → dist}/web/dist/index.html +2 -2
- package/package.json +2 -3
- package/src/web/dist/assets/index-8Qtg1JIx.css +0 -1
- package/src/web/dist/assets/index-PrNo7ukG.js +0 -298
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import{w as U,g,c,u as S,B as _,d as m,E as I,e as p}from"./index-C6hoHqN5.js";const x={name:"local-uniform-bit",vertex:{header:`
|
|
2
|
+
|
|
3
|
+
struct LocalUniforms {
|
|
4
|
+
uTransformMatrix:mat3x3<f32>,
|
|
5
|
+
uColor:vec4<f32>,
|
|
6
|
+
uRound:f32,
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@group(1) @binding(0) var<uniform> localUniforms : LocalUniforms;
|
|
10
|
+
`,main:`
|
|
11
|
+
vColor *= localUniforms.uColor;
|
|
12
|
+
modelMatrix *= localUniforms.uTransformMatrix;
|
|
13
|
+
`,end:`
|
|
14
|
+
if(localUniforms.uRound == 1)
|
|
15
|
+
{
|
|
16
|
+
vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
|
|
17
|
+
}
|
|
18
|
+
`}},C={...x,vertex:{...x.vertex,header:x.vertex.header.replace("group(1)","group(2)")}},D={name:"local-uniform-bit",vertex:{header:`
|
|
19
|
+
|
|
20
|
+
uniform mat3 uTransformMatrix;
|
|
21
|
+
uniform vec4 uColor;
|
|
22
|
+
uniform float uRound;
|
|
23
|
+
`,main:`
|
|
24
|
+
vColor *= uColor;
|
|
25
|
+
modelMatrix = uTransformMatrix;
|
|
26
|
+
`,end:`
|
|
27
|
+
if(uRound == 1.)
|
|
28
|
+
{
|
|
29
|
+
gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
|
|
30
|
+
}
|
|
31
|
+
`}},O={name:"texture-bit",vertex:{header:`
|
|
32
|
+
|
|
33
|
+
struct TextureUniforms {
|
|
34
|
+
uTextureMatrix:mat3x3<f32>,
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@group(2) @binding(2) var<uniform> textureUniforms : TextureUniforms;
|
|
38
|
+
`,main:`
|
|
39
|
+
uv = (textureUniforms.uTextureMatrix * vec3(uv, 1.0)).xy;
|
|
40
|
+
`},fragment:{header:`
|
|
41
|
+
@group(2) @binding(0) var uTexture: texture_2d<f32>;
|
|
42
|
+
@group(2) @binding(1) var uSampler: sampler;
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
`,main:`
|
|
46
|
+
outColor = textureSample(uTexture, uSampler, vUV);
|
|
47
|
+
`}},R={name:"texture-bit",vertex:{header:`
|
|
48
|
+
uniform mat3 uTextureMatrix;
|
|
49
|
+
`,main:`
|
|
50
|
+
uv = (uTextureMatrix * vec3(uv, 1.0)).xy;
|
|
51
|
+
`},fragment:{header:`
|
|
52
|
+
uniform sampler2D uTexture;
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
`,main:`
|
|
56
|
+
outColor = texture(uTexture, vUV);
|
|
57
|
+
`}};function A(e,t){for(const a in e.attributes){const s=e.attributes[a],r=t[a];r?(s.format??(s.format=r.format),s.offset??(s.offset=r.offset),s.instance??(s.instance=r.instance)):U(`Attribute ${a} is not present in the shader, but is present in the geometry. Unable to infer attribute details.`)}M(e)}function M(e){const{buffers:t,attributes:a}=e,s={},r={};for(const n in t){const o=t[n];s[o.uid]=0,r[o.uid]=0}for(const n in a){const o=a[n];s[o.buffer.uid]+=g(o.format).stride}for(const n in a){const o=a[n];o.stride??(o.stride=s[o.buffer.uid]),o.start??(o.start=r[o.buffer.uid]),r[o.buffer.uid]+=g(o.format).stride}}const d=[];d[c.NONE]=void 0;d[c.DISABLED]={stencilWriteMask:0,stencilReadMask:0};d[c.RENDERING_MASK_ADD]={stencilFront:{compare:"equal",passOp:"increment-clamp"},stencilBack:{compare:"equal",passOp:"increment-clamp"}};d[c.RENDERING_MASK_REMOVE]={stencilFront:{compare:"equal",passOp:"decrement-clamp"},stencilBack:{compare:"equal",passOp:"decrement-clamp"}};d[c.MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"equal",passOp:"keep"},stencilBack:{compare:"equal",passOp:"keep"}};d[c.INVERSE_MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"not-equal",passOp:"keep"},stencilBack:{compare:"not-equal",passOp:"keep"}};class B{constructor(t){this._syncFunctionHash=Object.create(null),this._adaptor=t,this._systemCheck()}_systemCheck(){if(!S())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}ensureUniformGroup(t){const a=this.getUniformGroupData(t);t.buffer||(t.buffer=new _({data:new Float32Array(a.layout.size/4),usage:m.UNIFORM|m.COPY_DST}))}getUniformGroupData(t){return this._syncFunctionHash[t._signature]||this._initUniformGroup(t)}_initUniformGroup(t){const a=t._signature;let s=this._syncFunctionHash[a];if(!s){const r=Object.keys(t.uniformStructures).map(l=>t.uniformStructures[l]),n=this._adaptor.createUboElements(r),o=this._generateUboSync(n.uboElements);s=this._syncFunctionHash[a]={layout:n,syncFunction:o}}return this._syncFunctionHash[a]}_generateUboSync(t){return this._adaptor.generateUboSync(t)}syncUniformGroup(t,a,s){const r=this.getUniformGroupData(t);t.buffer||(t.buffer=new _({data:new Float32Array(r.layout.size/4),usage:m.UNIFORM|m.COPY_DST}));let n=null;return a||(a=t.buffer.data,n=t.buffer.dataInt32),s||(s=0),r.syncFunction(t.uniforms,a,n,s),!0}updateUniformGroup(t){if(t.isStatic&&!t._dirtyId)return!1;t._dirtyId=0;const a=this.syncUniformGroup(t);return t.buffer.update(),a}destroy(){this._syncFunctionHash=null}}const h=[{type:"mat3x3<f32>",test:e=>e.value.a!==void 0,ubo:`
|
|
58
|
+
var matrix = uv[name].toArray(true);
|
|
59
|
+
data[offset] = matrix[0];
|
|
60
|
+
data[offset + 1] = matrix[1];
|
|
61
|
+
data[offset + 2] = matrix[2];
|
|
62
|
+
data[offset + 4] = matrix[3];
|
|
63
|
+
data[offset + 5] = matrix[4];
|
|
64
|
+
data[offset + 6] = matrix[5];
|
|
65
|
+
data[offset + 8] = matrix[6];
|
|
66
|
+
data[offset + 9] = matrix[7];
|
|
67
|
+
data[offset + 10] = matrix[8];
|
|
68
|
+
`,uniform:`
|
|
69
|
+
gl.uniformMatrix3fv(ud[name].location, false, uv[name].toArray(true));
|
|
70
|
+
`},{type:"vec4<f32>",test:e=>e.type==="vec4<f32>"&&e.size===1&&e.value.width!==void 0,ubo:`
|
|
71
|
+
v = uv[name];
|
|
72
|
+
data[offset] = v.x;
|
|
73
|
+
data[offset + 1] = v.y;
|
|
74
|
+
data[offset + 2] = v.width;
|
|
75
|
+
data[offset + 3] = v.height;
|
|
76
|
+
`,uniform:`
|
|
77
|
+
cv = ud[name].value;
|
|
78
|
+
v = uv[name];
|
|
79
|
+
if (cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height) {
|
|
80
|
+
cv[0] = v.x;
|
|
81
|
+
cv[1] = v.y;
|
|
82
|
+
cv[2] = v.width;
|
|
83
|
+
cv[3] = v.height;
|
|
84
|
+
gl.uniform4f(ud[name].location, v.x, v.y, v.width, v.height);
|
|
85
|
+
}
|
|
86
|
+
`},{type:"vec2<f32>",test:e=>e.type==="vec2<f32>"&&e.size===1&&e.value.x!==void 0,ubo:`
|
|
87
|
+
v = uv[name];
|
|
88
|
+
data[offset] = v.x;
|
|
89
|
+
data[offset + 1] = v.y;
|
|
90
|
+
`,uniform:`
|
|
91
|
+
cv = ud[name].value;
|
|
92
|
+
v = uv[name];
|
|
93
|
+
if (cv[0] !== v.x || cv[1] !== v.y) {
|
|
94
|
+
cv[0] = v.x;
|
|
95
|
+
cv[1] = v.y;
|
|
96
|
+
gl.uniform2f(ud[name].location, v.x, v.y);
|
|
97
|
+
}
|
|
98
|
+
`},{type:"vec4<f32>",test:e=>e.type==="vec4<f32>"&&e.size===1&&e.value.red!==void 0,ubo:`
|
|
99
|
+
v = uv[name];
|
|
100
|
+
data[offset] = v.red;
|
|
101
|
+
data[offset + 1] = v.green;
|
|
102
|
+
data[offset + 2] = v.blue;
|
|
103
|
+
data[offset + 3] = v.alpha;
|
|
104
|
+
`,uniform:`
|
|
105
|
+
cv = ud[name].value;
|
|
106
|
+
v = uv[name];
|
|
107
|
+
if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha) {
|
|
108
|
+
cv[0] = v.red;
|
|
109
|
+
cv[1] = v.green;
|
|
110
|
+
cv[2] = v.blue;
|
|
111
|
+
cv[3] = v.alpha;
|
|
112
|
+
gl.uniform4f(ud[name].location, v.red, v.green, v.blue, v.alpha);
|
|
113
|
+
}
|
|
114
|
+
`},{type:"vec3<f32>",test:e=>e.type==="vec3<f32>"&&e.size===1&&e.value.red!==void 0,ubo:`
|
|
115
|
+
v = uv[name];
|
|
116
|
+
data[offset] = v.red;
|
|
117
|
+
data[offset + 1] = v.green;
|
|
118
|
+
data[offset + 2] = v.blue;
|
|
119
|
+
`,uniform:`
|
|
120
|
+
cv = ud[name].value;
|
|
121
|
+
v = uv[name];
|
|
122
|
+
if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue) {
|
|
123
|
+
cv[0] = v.red;
|
|
124
|
+
cv[1] = v.green;
|
|
125
|
+
cv[2] = v.blue;
|
|
126
|
+
gl.uniform3f(ud[name].location, v.red, v.green, v.blue);
|
|
127
|
+
}
|
|
128
|
+
`}];function k(e,t,a,s){const r=[`
|
|
129
|
+
var v = null;
|
|
130
|
+
var v2 = null;
|
|
131
|
+
var t = 0;
|
|
132
|
+
var index = 0;
|
|
133
|
+
var name = null;
|
|
134
|
+
var arrayOffset = null;
|
|
135
|
+
`];let n=0;for(let l=0;l<e.length;l++){const f=e[l],b=f.data.name;let y=!1,i=0;for(let u=0;u<h.length;u++)if(h[u].test(f.data)){i=f.offset/4,r.push(`name = "${b}";`,`offset += ${i-n};`,h[u][t]||h[u].ubo),y=!0;break}if(!y)if(f.data.size>1)i=f.offset/4,r.push(a(f,i-n));else{const u=s[f.data.type];i=f.offset/4,r.push(`
|
|
136
|
+
v = uv.${b};
|
|
137
|
+
offset += ${i-n};
|
|
138
|
+
${u};
|
|
139
|
+
`)}n=i}const o=r.join(`
|
|
140
|
+
`);return new Function("uv","data","dataInt32","offset",o)}function v(e,t){return`
|
|
141
|
+
for (let i = 0; i < ${e*t}; i++) {
|
|
142
|
+
data[offset + (((i / ${e})|0) * 4) + (i % ${e})] = v[i];
|
|
143
|
+
}
|
|
144
|
+
`}const F={f32:`
|
|
145
|
+
data[offset] = v;`,i32:`
|
|
146
|
+
dataInt32[offset] = v;`,"vec2<f32>":`
|
|
147
|
+
data[offset] = v[0];
|
|
148
|
+
data[offset + 1] = v[1];`,"vec3<f32>":`
|
|
149
|
+
data[offset] = v[0];
|
|
150
|
+
data[offset + 1] = v[1];
|
|
151
|
+
data[offset + 2] = v[2];`,"vec4<f32>":`
|
|
152
|
+
data[offset] = v[0];
|
|
153
|
+
data[offset + 1] = v[1];
|
|
154
|
+
data[offset + 2] = v[2];
|
|
155
|
+
data[offset + 3] = v[3];`,"vec2<i32>":`
|
|
156
|
+
dataInt32[offset] = v[0];
|
|
157
|
+
dataInt32[offset + 1] = v[1];`,"vec3<i32>":`
|
|
158
|
+
dataInt32[offset] = v[0];
|
|
159
|
+
dataInt32[offset + 1] = v[1];
|
|
160
|
+
dataInt32[offset + 2] = v[2];`,"vec4<i32>":`
|
|
161
|
+
dataInt32[offset] = v[0];
|
|
162
|
+
dataInt32[offset + 1] = v[1];
|
|
163
|
+
dataInt32[offset + 2] = v[2];
|
|
164
|
+
dataInt32[offset + 3] = v[3];`,"mat2x2<f32>":`
|
|
165
|
+
data[offset] = v[0];
|
|
166
|
+
data[offset + 1] = v[1];
|
|
167
|
+
data[offset + 4] = v[2];
|
|
168
|
+
data[offset + 5] = v[3];`,"mat3x3<f32>":`
|
|
169
|
+
data[offset] = v[0];
|
|
170
|
+
data[offset + 1] = v[1];
|
|
171
|
+
data[offset + 2] = v[2];
|
|
172
|
+
data[offset + 4] = v[3];
|
|
173
|
+
data[offset + 5] = v[4];
|
|
174
|
+
data[offset + 6] = v[5];
|
|
175
|
+
data[offset + 8] = v[6];
|
|
176
|
+
data[offset + 9] = v[7];
|
|
177
|
+
data[offset + 10] = v[8];`,"mat4x4<f32>":`
|
|
178
|
+
for (let i = 0; i < 16; i++) {
|
|
179
|
+
data[offset + i] = v[i];
|
|
180
|
+
}`,"mat3x2<f32>":v(3,2),"mat4x2<f32>":v(4,2),"mat2x3<f32>":v(2,3),"mat4x3<f32>":v(4,3),"mat2x4<f32>":v(2,4),"mat3x4<f32>":v(3,4)},w={...F,"mat2x2<f32>":`
|
|
181
|
+
data[offset] = v[0];
|
|
182
|
+
data[offset + 1] = v[1];
|
|
183
|
+
data[offset + 2] = v[2];
|
|
184
|
+
data[offset + 3] = v[3];
|
|
185
|
+
`};class P extends I{constructor({buffer:t,offset:a,size:s}){super(),this.uid=p("buffer"),this._resourceType="bufferResource",this._touched=0,this._resourceId=p("resource"),this._bufferResource=!0,this.destroyed=!1,this.buffer=t,this.offset=a|0,this.size=s,this.buffer.on("change",this.onBufferChange,this)}onBufferChange(){this._resourceId=p("resource"),this.emit("change",this)}destroy(t=!1){this.destroyed=!0,t&&this.buffer.destroy(),this.emit("change",this),this.buffer=null,this.removeAllListeners()}}export{P as B,d as G,B as U,x as a,F as b,k as c,h as d,A as e,D as f,R as g,C as l,O as t,w as u};
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import{w as U,g,c,u as S,B as _,d as m,E as I,e as p}from"./index-DBSQsI6C.js";const x={name:"local-uniform-bit",vertex:{header:`
|
|
2
|
+
|
|
3
|
+
struct LocalUniforms {
|
|
4
|
+
uTransformMatrix:mat3x3<f32>,
|
|
5
|
+
uColor:vec4<f32>,
|
|
6
|
+
uRound:f32,
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@group(1) @binding(0) var<uniform> localUniforms : LocalUniforms;
|
|
10
|
+
`,main:`
|
|
11
|
+
vColor *= localUniforms.uColor;
|
|
12
|
+
modelMatrix *= localUniforms.uTransformMatrix;
|
|
13
|
+
`,end:`
|
|
14
|
+
if(localUniforms.uRound == 1)
|
|
15
|
+
{
|
|
16
|
+
vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
|
|
17
|
+
}
|
|
18
|
+
`}},C={...x,vertex:{...x.vertex,header:x.vertex.header.replace("group(1)","group(2)")}},D={name:"local-uniform-bit",vertex:{header:`
|
|
19
|
+
|
|
20
|
+
uniform mat3 uTransformMatrix;
|
|
21
|
+
uniform vec4 uColor;
|
|
22
|
+
uniform float uRound;
|
|
23
|
+
`,main:`
|
|
24
|
+
vColor *= uColor;
|
|
25
|
+
modelMatrix = uTransformMatrix;
|
|
26
|
+
`,end:`
|
|
27
|
+
if(uRound == 1.)
|
|
28
|
+
{
|
|
29
|
+
gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
|
|
30
|
+
}
|
|
31
|
+
`}},O={name:"texture-bit",vertex:{header:`
|
|
32
|
+
|
|
33
|
+
struct TextureUniforms {
|
|
34
|
+
uTextureMatrix:mat3x3<f32>,
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@group(2) @binding(2) var<uniform> textureUniforms : TextureUniforms;
|
|
38
|
+
`,main:`
|
|
39
|
+
uv = (textureUniforms.uTextureMatrix * vec3(uv, 1.0)).xy;
|
|
40
|
+
`},fragment:{header:`
|
|
41
|
+
@group(2) @binding(0) var uTexture: texture_2d<f32>;
|
|
42
|
+
@group(2) @binding(1) var uSampler: sampler;
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
`,main:`
|
|
46
|
+
outColor = textureSample(uTexture, uSampler, vUV);
|
|
47
|
+
`}},R={name:"texture-bit",vertex:{header:`
|
|
48
|
+
uniform mat3 uTextureMatrix;
|
|
49
|
+
`,main:`
|
|
50
|
+
uv = (uTextureMatrix * vec3(uv, 1.0)).xy;
|
|
51
|
+
`},fragment:{header:`
|
|
52
|
+
uniform sampler2D uTexture;
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
`,main:`
|
|
56
|
+
outColor = texture(uTexture, vUV);
|
|
57
|
+
`}};function A(e,t){for(const a in e.attributes){const s=e.attributes[a],r=t[a];r?(s.format??(s.format=r.format),s.offset??(s.offset=r.offset),s.instance??(s.instance=r.instance)):U(`Attribute ${a} is not present in the shader, but is present in the geometry. Unable to infer attribute details.`)}M(e)}function M(e){const{buffers:t,attributes:a}=e,s={},r={};for(const n in t){const o=t[n];s[o.uid]=0,r[o.uid]=0}for(const n in a){const o=a[n];s[o.buffer.uid]+=g(o.format).stride}for(const n in a){const o=a[n];o.stride??(o.stride=s[o.buffer.uid]),o.start??(o.start=r[o.buffer.uid]),r[o.buffer.uid]+=g(o.format).stride}}const d=[];d[c.NONE]=void 0;d[c.DISABLED]={stencilWriteMask:0,stencilReadMask:0};d[c.RENDERING_MASK_ADD]={stencilFront:{compare:"equal",passOp:"increment-clamp"},stencilBack:{compare:"equal",passOp:"increment-clamp"}};d[c.RENDERING_MASK_REMOVE]={stencilFront:{compare:"equal",passOp:"decrement-clamp"},stencilBack:{compare:"equal",passOp:"decrement-clamp"}};d[c.MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"equal",passOp:"keep"},stencilBack:{compare:"equal",passOp:"keep"}};d[c.INVERSE_MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"not-equal",passOp:"keep"},stencilBack:{compare:"not-equal",passOp:"keep"}};class B{constructor(t){this._syncFunctionHash=Object.create(null),this._adaptor=t,this._systemCheck()}_systemCheck(){if(!S())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}ensureUniformGroup(t){const a=this.getUniformGroupData(t);t.buffer||(t.buffer=new _({data:new Float32Array(a.layout.size/4),usage:m.UNIFORM|m.COPY_DST}))}getUniformGroupData(t){return this._syncFunctionHash[t._signature]||this._initUniformGroup(t)}_initUniformGroup(t){const a=t._signature;let s=this._syncFunctionHash[a];if(!s){const r=Object.keys(t.uniformStructures).map(l=>t.uniformStructures[l]),n=this._adaptor.createUboElements(r),o=this._generateUboSync(n.uboElements);s=this._syncFunctionHash[a]={layout:n,syncFunction:o}}return this._syncFunctionHash[a]}_generateUboSync(t){return this._adaptor.generateUboSync(t)}syncUniformGroup(t,a,s){const r=this.getUniformGroupData(t);t.buffer||(t.buffer=new _({data:new Float32Array(r.layout.size/4),usage:m.UNIFORM|m.COPY_DST}));let n=null;return a||(a=t.buffer.data,n=t.buffer.dataInt32),s||(s=0),r.syncFunction(t.uniforms,a,n,s),!0}updateUniformGroup(t){if(t.isStatic&&!t._dirtyId)return!1;t._dirtyId=0;const a=this.syncUniformGroup(t);return t.buffer.update(),a}destroy(){this._syncFunctionHash=null}}const h=[{type:"mat3x3<f32>",test:e=>e.value.a!==void 0,ubo:`
|
|
58
|
+
var matrix = uv[name].toArray(true);
|
|
59
|
+
data[offset] = matrix[0];
|
|
60
|
+
data[offset + 1] = matrix[1];
|
|
61
|
+
data[offset + 2] = matrix[2];
|
|
62
|
+
data[offset + 4] = matrix[3];
|
|
63
|
+
data[offset + 5] = matrix[4];
|
|
64
|
+
data[offset + 6] = matrix[5];
|
|
65
|
+
data[offset + 8] = matrix[6];
|
|
66
|
+
data[offset + 9] = matrix[7];
|
|
67
|
+
data[offset + 10] = matrix[8];
|
|
68
|
+
`,uniform:`
|
|
69
|
+
gl.uniformMatrix3fv(ud[name].location, false, uv[name].toArray(true));
|
|
70
|
+
`},{type:"vec4<f32>",test:e=>e.type==="vec4<f32>"&&e.size===1&&e.value.width!==void 0,ubo:`
|
|
71
|
+
v = uv[name];
|
|
72
|
+
data[offset] = v.x;
|
|
73
|
+
data[offset + 1] = v.y;
|
|
74
|
+
data[offset + 2] = v.width;
|
|
75
|
+
data[offset + 3] = v.height;
|
|
76
|
+
`,uniform:`
|
|
77
|
+
cv = ud[name].value;
|
|
78
|
+
v = uv[name];
|
|
79
|
+
if (cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height) {
|
|
80
|
+
cv[0] = v.x;
|
|
81
|
+
cv[1] = v.y;
|
|
82
|
+
cv[2] = v.width;
|
|
83
|
+
cv[3] = v.height;
|
|
84
|
+
gl.uniform4f(ud[name].location, v.x, v.y, v.width, v.height);
|
|
85
|
+
}
|
|
86
|
+
`},{type:"vec2<f32>",test:e=>e.type==="vec2<f32>"&&e.size===1&&e.value.x!==void 0,ubo:`
|
|
87
|
+
v = uv[name];
|
|
88
|
+
data[offset] = v.x;
|
|
89
|
+
data[offset + 1] = v.y;
|
|
90
|
+
`,uniform:`
|
|
91
|
+
cv = ud[name].value;
|
|
92
|
+
v = uv[name];
|
|
93
|
+
if (cv[0] !== v.x || cv[1] !== v.y) {
|
|
94
|
+
cv[0] = v.x;
|
|
95
|
+
cv[1] = v.y;
|
|
96
|
+
gl.uniform2f(ud[name].location, v.x, v.y);
|
|
97
|
+
}
|
|
98
|
+
`},{type:"vec4<f32>",test:e=>e.type==="vec4<f32>"&&e.size===1&&e.value.red!==void 0,ubo:`
|
|
99
|
+
v = uv[name];
|
|
100
|
+
data[offset] = v.red;
|
|
101
|
+
data[offset + 1] = v.green;
|
|
102
|
+
data[offset + 2] = v.blue;
|
|
103
|
+
data[offset + 3] = v.alpha;
|
|
104
|
+
`,uniform:`
|
|
105
|
+
cv = ud[name].value;
|
|
106
|
+
v = uv[name];
|
|
107
|
+
if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha) {
|
|
108
|
+
cv[0] = v.red;
|
|
109
|
+
cv[1] = v.green;
|
|
110
|
+
cv[2] = v.blue;
|
|
111
|
+
cv[3] = v.alpha;
|
|
112
|
+
gl.uniform4f(ud[name].location, v.red, v.green, v.blue, v.alpha);
|
|
113
|
+
}
|
|
114
|
+
`},{type:"vec3<f32>",test:e=>e.type==="vec3<f32>"&&e.size===1&&e.value.red!==void 0,ubo:`
|
|
115
|
+
v = uv[name];
|
|
116
|
+
data[offset] = v.red;
|
|
117
|
+
data[offset + 1] = v.green;
|
|
118
|
+
data[offset + 2] = v.blue;
|
|
119
|
+
`,uniform:`
|
|
120
|
+
cv = ud[name].value;
|
|
121
|
+
v = uv[name];
|
|
122
|
+
if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue) {
|
|
123
|
+
cv[0] = v.red;
|
|
124
|
+
cv[1] = v.green;
|
|
125
|
+
cv[2] = v.blue;
|
|
126
|
+
gl.uniform3f(ud[name].location, v.red, v.green, v.blue);
|
|
127
|
+
}
|
|
128
|
+
`}];function k(e,t,a,s){const r=[`
|
|
129
|
+
var v = null;
|
|
130
|
+
var v2 = null;
|
|
131
|
+
var t = 0;
|
|
132
|
+
var index = 0;
|
|
133
|
+
var name = null;
|
|
134
|
+
var arrayOffset = null;
|
|
135
|
+
`];let n=0;for(let l=0;l<e.length;l++){const f=e[l],b=f.data.name;let y=!1,i=0;for(let u=0;u<h.length;u++)if(h[u].test(f.data)){i=f.offset/4,r.push(`name = "${b}";`,`offset += ${i-n};`,h[u][t]||h[u].ubo),y=!0;break}if(!y)if(f.data.size>1)i=f.offset/4,r.push(a(f,i-n));else{const u=s[f.data.type];i=f.offset/4,r.push(`
|
|
136
|
+
v = uv.${b};
|
|
137
|
+
offset += ${i-n};
|
|
138
|
+
${u};
|
|
139
|
+
`)}n=i}const o=r.join(`
|
|
140
|
+
`);return new Function("uv","data","dataInt32","offset",o)}function v(e,t){return`
|
|
141
|
+
for (let i = 0; i < ${e*t}; i++) {
|
|
142
|
+
data[offset + (((i / ${e})|0) * 4) + (i % ${e})] = v[i];
|
|
143
|
+
}
|
|
144
|
+
`}const F={f32:`
|
|
145
|
+
data[offset] = v;`,i32:`
|
|
146
|
+
dataInt32[offset] = v;`,"vec2<f32>":`
|
|
147
|
+
data[offset] = v[0];
|
|
148
|
+
data[offset + 1] = v[1];`,"vec3<f32>":`
|
|
149
|
+
data[offset] = v[0];
|
|
150
|
+
data[offset + 1] = v[1];
|
|
151
|
+
data[offset + 2] = v[2];`,"vec4<f32>":`
|
|
152
|
+
data[offset] = v[0];
|
|
153
|
+
data[offset + 1] = v[1];
|
|
154
|
+
data[offset + 2] = v[2];
|
|
155
|
+
data[offset + 3] = v[3];`,"vec2<i32>":`
|
|
156
|
+
dataInt32[offset] = v[0];
|
|
157
|
+
dataInt32[offset + 1] = v[1];`,"vec3<i32>":`
|
|
158
|
+
dataInt32[offset] = v[0];
|
|
159
|
+
dataInt32[offset + 1] = v[1];
|
|
160
|
+
dataInt32[offset + 2] = v[2];`,"vec4<i32>":`
|
|
161
|
+
dataInt32[offset] = v[0];
|
|
162
|
+
dataInt32[offset + 1] = v[1];
|
|
163
|
+
dataInt32[offset + 2] = v[2];
|
|
164
|
+
dataInt32[offset + 3] = v[3];`,"mat2x2<f32>":`
|
|
165
|
+
data[offset] = v[0];
|
|
166
|
+
data[offset + 1] = v[1];
|
|
167
|
+
data[offset + 4] = v[2];
|
|
168
|
+
data[offset + 5] = v[3];`,"mat3x3<f32>":`
|
|
169
|
+
data[offset] = v[0];
|
|
170
|
+
data[offset + 1] = v[1];
|
|
171
|
+
data[offset + 2] = v[2];
|
|
172
|
+
data[offset + 4] = v[3];
|
|
173
|
+
data[offset + 5] = v[4];
|
|
174
|
+
data[offset + 6] = v[5];
|
|
175
|
+
data[offset + 8] = v[6];
|
|
176
|
+
data[offset + 9] = v[7];
|
|
177
|
+
data[offset + 10] = v[8];`,"mat4x4<f32>":`
|
|
178
|
+
for (let i = 0; i < 16; i++) {
|
|
179
|
+
data[offset + i] = v[i];
|
|
180
|
+
}`,"mat3x2<f32>":v(3,2),"mat4x2<f32>":v(4,2),"mat2x3<f32>":v(2,3),"mat4x3<f32>":v(4,3),"mat2x4<f32>":v(2,4),"mat3x4<f32>":v(3,4)},w={...F,"mat2x2<f32>":`
|
|
181
|
+
data[offset] = v[0];
|
|
182
|
+
data[offset + 1] = v[1];
|
|
183
|
+
data[offset + 2] = v[2];
|
|
184
|
+
data[offset + 3] = v[3];
|
|
185
|
+
`};class P extends I{constructor({buffer:t,offset:a,size:s}){super(),this.uid=p("buffer"),this._resourceType="bufferResource",this._touched=0,this._resourceId=p("resource"),this._bufferResource=!0,this.destroyed=!1,this.buffer=t,this.offset=a|0,this.size=s,this.buffer.on("change",this.onBufferChange,this)}onBufferChange(){this._resourceId=p("resource"),this.emit("change",this)}destroy(t=!1){this.destroyed=!0,t&&this.buffer.destroy(),this.emit("change",this),this.buffer=null,this.removeAllListeners()}}export{P as B,d as G,B as U,x as a,F as b,k as c,h as d,A as e,D as f,R as g,C as l,O as t,w as u};
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import{w as U,g,c,u as S,B as _,d as m,E as I,e as p}from"./index-CFVD9jMF.js";const x={name:"local-uniform-bit",vertex:{header:`
|
|
2
|
+
|
|
3
|
+
struct LocalUniforms {
|
|
4
|
+
uTransformMatrix:mat3x3<f32>,
|
|
5
|
+
uColor:vec4<f32>,
|
|
6
|
+
uRound:f32,
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@group(1) @binding(0) var<uniform> localUniforms : LocalUniforms;
|
|
10
|
+
`,main:`
|
|
11
|
+
vColor *= localUniforms.uColor;
|
|
12
|
+
modelMatrix *= localUniforms.uTransformMatrix;
|
|
13
|
+
`,end:`
|
|
14
|
+
if(localUniforms.uRound == 1)
|
|
15
|
+
{
|
|
16
|
+
vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
|
|
17
|
+
}
|
|
18
|
+
`}},C={...x,vertex:{...x.vertex,header:x.vertex.header.replace("group(1)","group(2)")}},D={name:"local-uniform-bit",vertex:{header:`
|
|
19
|
+
|
|
20
|
+
uniform mat3 uTransformMatrix;
|
|
21
|
+
uniform vec4 uColor;
|
|
22
|
+
uniform float uRound;
|
|
23
|
+
`,main:`
|
|
24
|
+
vColor *= uColor;
|
|
25
|
+
modelMatrix = uTransformMatrix;
|
|
26
|
+
`,end:`
|
|
27
|
+
if(uRound == 1.)
|
|
28
|
+
{
|
|
29
|
+
gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
|
|
30
|
+
}
|
|
31
|
+
`}},O={name:"texture-bit",vertex:{header:`
|
|
32
|
+
|
|
33
|
+
struct TextureUniforms {
|
|
34
|
+
uTextureMatrix:mat3x3<f32>,
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@group(2) @binding(2) var<uniform> textureUniforms : TextureUniforms;
|
|
38
|
+
`,main:`
|
|
39
|
+
uv = (textureUniforms.uTextureMatrix * vec3(uv, 1.0)).xy;
|
|
40
|
+
`},fragment:{header:`
|
|
41
|
+
@group(2) @binding(0) var uTexture: texture_2d<f32>;
|
|
42
|
+
@group(2) @binding(1) var uSampler: sampler;
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
`,main:`
|
|
46
|
+
outColor = textureSample(uTexture, uSampler, vUV);
|
|
47
|
+
`}},R={name:"texture-bit",vertex:{header:`
|
|
48
|
+
uniform mat3 uTextureMatrix;
|
|
49
|
+
`,main:`
|
|
50
|
+
uv = (uTextureMatrix * vec3(uv, 1.0)).xy;
|
|
51
|
+
`},fragment:{header:`
|
|
52
|
+
uniform sampler2D uTexture;
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
`,main:`
|
|
56
|
+
outColor = texture(uTexture, vUV);
|
|
57
|
+
`}};function A(e,t){for(const a in e.attributes){const s=e.attributes[a],r=t[a];r?(s.format??(s.format=r.format),s.offset??(s.offset=r.offset),s.instance??(s.instance=r.instance)):U(`Attribute ${a} is not present in the shader, but is present in the geometry. Unable to infer attribute details.`)}M(e)}function M(e){const{buffers:t,attributes:a}=e,s={},r={};for(const n in t){const o=t[n];s[o.uid]=0,r[o.uid]=0}for(const n in a){const o=a[n];s[o.buffer.uid]+=g(o.format).stride}for(const n in a){const o=a[n];o.stride??(o.stride=s[o.buffer.uid]),o.start??(o.start=r[o.buffer.uid]),r[o.buffer.uid]+=g(o.format).stride}}const d=[];d[c.NONE]=void 0;d[c.DISABLED]={stencilWriteMask:0,stencilReadMask:0};d[c.RENDERING_MASK_ADD]={stencilFront:{compare:"equal",passOp:"increment-clamp"},stencilBack:{compare:"equal",passOp:"increment-clamp"}};d[c.RENDERING_MASK_REMOVE]={stencilFront:{compare:"equal",passOp:"decrement-clamp"},stencilBack:{compare:"equal",passOp:"decrement-clamp"}};d[c.MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"equal",passOp:"keep"},stencilBack:{compare:"equal",passOp:"keep"}};d[c.INVERSE_MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"not-equal",passOp:"keep"},stencilBack:{compare:"not-equal",passOp:"keep"}};class B{constructor(t){this._syncFunctionHash=Object.create(null),this._adaptor=t,this._systemCheck()}_systemCheck(){if(!S())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}ensureUniformGroup(t){const a=this.getUniformGroupData(t);t.buffer||(t.buffer=new _({data:new Float32Array(a.layout.size/4),usage:m.UNIFORM|m.COPY_DST}))}getUniformGroupData(t){return this._syncFunctionHash[t._signature]||this._initUniformGroup(t)}_initUniformGroup(t){const a=t._signature;let s=this._syncFunctionHash[a];if(!s){const r=Object.keys(t.uniformStructures).map(l=>t.uniformStructures[l]),n=this._adaptor.createUboElements(r),o=this._generateUboSync(n.uboElements);s=this._syncFunctionHash[a]={layout:n,syncFunction:o}}return this._syncFunctionHash[a]}_generateUboSync(t){return this._adaptor.generateUboSync(t)}syncUniformGroup(t,a,s){const r=this.getUniformGroupData(t);t.buffer||(t.buffer=new _({data:new Float32Array(r.layout.size/4),usage:m.UNIFORM|m.COPY_DST}));let n=null;return a||(a=t.buffer.data,n=t.buffer.dataInt32),s||(s=0),r.syncFunction(t.uniforms,a,n,s),!0}updateUniformGroup(t){if(t.isStatic&&!t._dirtyId)return!1;t._dirtyId=0;const a=this.syncUniformGroup(t);return t.buffer.update(),a}destroy(){this._syncFunctionHash=null}}const h=[{type:"mat3x3<f32>",test:e=>e.value.a!==void 0,ubo:`
|
|
58
|
+
var matrix = uv[name].toArray(true);
|
|
59
|
+
data[offset] = matrix[0];
|
|
60
|
+
data[offset + 1] = matrix[1];
|
|
61
|
+
data[offset + 2] = matrix[2];
|
|
62
|
+
data[offset + 4] = matrix[3];
|
|
63
|
+
data[offset + 5] = matrix[4];
|
|
64
|
+
data[offset + 6] = matrix[5];
|
|
65
|
+
data[offset + 8] = matrix[6];
|
|
66
|
+
data[offset + 9] = matrix[7];
|
|
67
|
+
data[offset + 10] = matrix[8];
|
|
68
|
+
`,uniform:`
|
|
69
|
+
gl.uniformMatrix3fv(ud[name].location, false, uv[name].toArray(true));
|
|
70
|
+
`},{type:"vec4<f32>",test:e=>e.type==="vec4<f32>"&&e.size===1&&e.value.width!==void 0,ubo:`
|
|
71
|
+
v = uv[name];
|
|
72
|
+
data[offset] = v.x;
|
|
73
|
+
data[offset + 1] = v.y;
|
|
74
|
+
data[offset + 2] = v.width;
|
|
75
|
+
data[offset + 3] = v.height;
|
|
76
|
+
`,uniform:`
|
|
77
|
+
cv = ud[name].value;
|
|
78
|
+
v = uv[name];
|
|
79
|
+
if (cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height) {
|
|
80
|
+
cv[0] = v.x;
|
|
81
|
+
cv[1] = v.y;
|
|
82
|
+
cv[2] = v.width;
|
|
83
|
+
cv[3] = v.height;
|
|
84
|
+
gl.uniform4f(ud[name].location, v.x, v.y, v.width, v.height);
|
|
85
|
+
}
|
|
86
|
+
`},{type:"vec2<f32>",test:e=>e.type==="vec2<f32>"&&e.size===1&&e.value.x!==void 0,ubo:`
|
|
87
|
+
v = uv[name];
|
|
88
|
+
data[offset] = v.x;
|
|
89
|
+
data[offset + 1] = v.y;
|
|
90
|
+
`,uniform:`
|
|
91
|
+
cv = ud[name].value;
|
|
92
|
+
v = uv[name];
|
|
93
|
+
if (cv[0] !== v.x || cv[1] !== v.y) {
|
|
94
|
+
cv[0] = v.x;
|
|
95
|
+
cv[1] = v.y;
|
|
96
|
+
gl.uniform2f(ud[name].location, v.x, v.y);
|
|
97
|
+
}
|
|
98
|
+
`},{type:"vec4<f32>",test:e=>e.type==="vec4<f32>"&&e.size===1&&e.value.red!==void 0,ubo:`
|
|
99
|
+
v = uv[name];
|
|
100
|
+
data[offset] = v.red;
|
|
101
|
+
data[offset + 1] = v.green;
|
|
102
|
+
data[offset + 2] = v.blue;
|
|
103
|
+
data[offset + 3] = v.alpha;
|
|
104
|
+
`,uniform:`
|
|
105
|
+
cv = ud[name].value;
|
|
106
|
+
v = uv[name];
|
|
107
|
+
if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha) {
|
|
108
|
+
cv[0] = v.red;
|
|
109
|
+
cv[1] = v.green;
|
|
110
|
+
cv[2] = v.blue;
|
|
111
|
+
cv[3] = v.alpha;
|
|
112
|
+
gl.uniform4f(ud[name].location, v.red, v.green, v.blue, v.alpha);
|
|
113
|
+
}
|
|
114
|
+
`},{type:"vec3<f32>",test:e=>e.type==="vec3<f32>"&&e.size===1&&e.value.red!==void 0,ubo:`
|
|
115
|
+
v = uv[name];
|
|
116
|
+
data[offset] = v.red;
|
|
117
|
+
data[offset + 1] = v.green;
|
|
118
|
+
data[offset + 2] = v.blue;
|
|
119
|
+
`,uniform:`
|
|
120
|
+
cv = ud[name].value;
|
|
121
|
+
v = uv[name];
|
|
122
|
+
if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue) {
|
|
123
|
+
cv[0] = v.red;
|
|
124
|
+
cv[1] = v.green;
|
|
125
|
+
cv[2] = v.blue;
|
|
126
|
+
gl.uniform3f(ud[name].location, v.red, v.green, v.blue);
|
|
127
|
+
}
|
|
128
|
+
`}];function k(e,t,a,s){const r=[`
|
|
129
|
+
var v = null;
|
|
130
|
+
var v2 = null;
|
|
131
|
+
var t = 0;
|
|
132
|
+
var index = 0;
|
|
133
|
+
var name = null;
|
|
134
|
+
var arrayOffset = null;
|
|
135
|
+
`];let n=0;for(let l=0;l<e.length;l++){const f=e[l],b=f.data.name;let y=!1,i=0;for(let u=0;u<h.length;u++)if(h[u].test(f.data)){i=f.offset/4,r.push(`name = "${b}";`,`offset += ${i-n};`,h[u][t]||h[u].ubo),y=!0;break}if(!y)if(f.data.size>1)i=f.offset/4,r.push(a(f,i-n));else{const u=s[f.data.type];i=f.offset/4,r.push(`
|
|
136
|
+
v = uv.${b};
|
|
137
|
+
offset += ${i-n};
|
|
138
|
+
${u};
|
|
139
|
+
`)}n=i}const o=r.join(`
|
|
140
|
+
`);return new Function("uv","data","dataInt32","offset",o)}function v(e,t){return`
|
|
141
|
+
for (let i = 0; i < ${e*t}; i++) {
|
|
142
|
+
data[offset + (((i / ${e})|0) * 4) + (i % ${e})] = v[i];
|
|
143
|
+
}
|
|
144
|
+
`}const F={f32:`
|
|
145
|
+
data[offset] = v;`,i32:`
|
|
146
|
+
dataInt32[offset] = v;`,"vec2<f32>":`
|
|
147
|
+
data[offset] = v[0];
|
|
148
|
+
data[offset + 1] = v[1];`,"vec3<f32>":`
|
|
149
|
+
data[offset] = v[0];
|
|
150
|
+
data[offset + 1] = v[1];
|
|
151
|
+
data[offset + 2] = v[2];`,"vec4<f32>":`
|
|
152
|
+
data[offset] = v[0];
|
|
153
|
+
data[offset + 1] = v[1];
|
|
154
|
+
data[offset + 2] = v[2];
|
|
155
|
+
data[offset + 3] = v[3];`,"vec2<i32>":`
|
|
156
|
+
dataInt32[offset] = v[0];
|
|
157
|
+
dataInt32[offset + 1] = v[1];`,"vec3<i32>":`
|
|
158
|
+
dataInt32[offset] = v[0];
|
|
159
|
+
dataInt32[offset + 1] = v[1];
|
|
160
|
+
dataInt32[offset + 2] = v[2];`,"vec4<i32>":`
|
|
161
|
+
dataInt32[offset] = v[0];
|
|
162
|
+
dataInt32[offset + 1] = v[1];
|
|
163
|
+
dataInt32[offset + 2] = v[2];
|
|
164
|
+
dataInt32[offset + 3] = v[3];`,"mat2x2<f32>":`
|
|
165
|
+
data[offset] = v[0];
|
|
166
|
+
data[offset + 1] = v[1];
|
|
167
|
+
data[offset + 4] = v[2];
|
|
168
|
+
data[offset + 5] = v[3];`,"mat3x3<f32>":`
|
|
169
|
+
data[offset] = v[0];
|
|
170
|
+
data[offset + 1] = v[1];
|
|
171
|
+
data[offset + 2] = v[2];
|
|
172
|
+
data[offset + 4] = v[3];
|
|
173
|
+
data[offset + 5] = v[4];
|
|
174
|
+
data[offset + 6] = v[5];
|
|
175
|
+
data[offset + 8] = v[6];
|
|
176
|
+
data[offset + 9] = v[7];
|
|
177
|
+
data[offset + 10] = v[8];`,"mat4x4<f32>":`
|
|
178
|
+
for (let i = 0; i < 16; i++) {
|
|
179
|
+
data[offset + i] = v[i];
|
|
180
|
+
}`,"mat3x2<f32>":v(3,2),"mat4x2<f32>":v(4,2),"mat2x3<f32>":v(2,3),"mat4x3<f32>":v(4,3),"mat2x4<f32>":v(2,4),"mat3x4<f32>":v(3,4)},w={...F,"mat2x2<f32>":`
|
|
181
|
+
data[offset] = v[0];
|
|
182
|
+
data[offset + 1] = v[1];
|
|
183
|
+
data[offset + 2] = v[2];
|
|
184
|
+
data[offset + 3] = v[3];
|
|
185
|
+
`};class P extends I{constructor({buffer:t,offset:a,size:s}){super(),this.uid=p("buffer"),this._resourceType="bufferResource",this._touched=0,this._resourceId=p("resource"),this._bufferResource=!0,this.destroyed=!1,this.buffer=t,this.offset=a|0,this.size=s,this.buffer.on("change",this.onBufferChange,this)}onBufferChange(){this._resourceId=p("resource"),this.emit("change",this)}destroy(t=!1){this.destroyed=!0,t&&this.buffer.destroy(),this.emit("change",this),this.buffer=null,this.removeAllListeners()}}export{P as B,d as G,B as U,x as a,F as b,k as c,h as d,A as e,D as f,R as g,C as l,O as t,w as u};
|