@solidtv/renderer 1.5.6 → 1.6.1
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/src/core/CoreNode.js +2 -2
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +31 -0
- package/dist/src/core/CoreTextureManager.js +87 -6
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.js +11 -2
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +17 -1
- package/dist/src/core/lib/WebGlContextWrapper.js +21 -0
- package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
- package/dist/src/core/lib/colorParser.d.ts +4 -1
- package/dist/src/core/lib/colorParser.js +16 -6
- package/dist/src/core/lib/colorParser.js.map +1 -1
- package/dist/src/core/platforms/web/WebPlatform.js +60 -50
- package/dist/src/core/platforms/web/WebPlatform.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +4 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +28 -13
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js +1 -0
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -1
- package/dist/src/core/renderers/webgl/SdfRenderOp.js +2 -2
- package/dist/src/core/renderers/webgl/SdfRenderOp.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +43 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +109 -10
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +21 -13
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +8 -3
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +12 -11
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
- package/dist/src/core/shaders/canvas/Rounded.js +3 -3
- package/dist/src/core/shaders/canvas/Rounded.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js +3 -3
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
- package/dist/src/core/shaders/canvas/utils/render.js +3 -3
- package/dist/src/core/shaders/canvas/utils/render.js.map +1 -1
- package/dist/src/core/shaders/webgl/Border.js +12 -11
- package/dist/src/core/shaders/webgl/Border.js.map +1 -1
- package/dist/src/core/shaders/webgl/HolePunch.js +12 -5
- package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
- package/dist/src/core/shaders/webgl/LinearGradient.js +3 -19
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/RadialGradient.js +3 -20
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/RadialProgress.js +15 -23
- package/dist/src/core/shaders/webgl/RadialProgress.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +35 -32
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +58 -45
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js +15 -13
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -1
- package/dist/src/core/shaders/webgl/Shadow.js +4 -5
- package/dist/src/core/shaders/webgl/Shadow.js.map +1 -1
- package/dist/src/core/text-rendering/SdfTextRenderer.js +23 -10
- package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/TextLayoutEngine.js +14 -2
- package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +28 -5
- package/dist/src/main-api/Renderer.js +5 -1
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/utils.js +1 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/core/CoreNode.ts +2 -2
- package/src/core/CoreTextureManager.test.ts +147 -0
- package/src/core/CoreTextureManager.ts +97 -8
- package/src/core/Stage.renderListUpdate.test.ts +73 -0
- package/src/core/Stage.ts +13 -1
- package/src/core/lib/WebGlContextWrapper.test.ts +23 -1
- package/src/core/lib/WebGlContextWrapper.ts +23 -1
- package/src/core/lib/colorParser.test.ts +46 -0
- package/src/core/lib/colorParser.ts +17 -6
- package/src/core/platforms/web/WebPlatform.ts +63 -52
- package/src/core/renderers/canvas/CanvasRenderer.test.ts +230 -0
- package/src/core/renderers/canvas/CanvasRenderer.ts +29 -15
- package/src/core/renderers/canvas/CanvasShaderNode.test.ts +73 -0
- package/src/core/renderers/canvas/CanvasShaderNode.ts +1 -0
- package/src/core/renderers/webgl/SdfRenderOp.ts +2 -2
- package/src/core/renderers/webgl/WebGlRenderer.reuseRenderOp.test.ts +122 -0
- package/src/core/renderers/webgl/WebGlRenderer.sdfBuffer.test.ts +302 -0
- package/src/core/renderers/webgl/WebGlRenderer.ts +151 -11
- package/src/core/renderers/webgl/WebGlShaderProgram.reuseRenderOp.test.ts +150 -0
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +27 -15
- package/src/core/renderers/webgl/WebGlShaderProgram.uniformDedup.test.ts +4 -2
- package/src/core/renderers/webgl/internal/ShaderUtils.test.ts +124 -0
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +14 -13
- package/src/core/shaders/canvas/Rounded.ts +3 -3
- package/src/core/shaders/canvas/RoundedWithShadow.ts +3 -3
- package/src/core/shaders/canvas/utils/render.ts +3 -3
- package/src/core/shaders/webgl/Border.ts +12 -11
- package/src/core/shaders/webgl/HolePunch.ts +12 -5
- package/src/core/shaders/webgl/LinearGradient.ts +3 -19
- package/src/core/shaders/webgl/RadialGradient.ts +3 -20
- package/src/core/shaders/webgl/RadialProgress.ts +15 -23
- package/src/core/shaders/webgl/RoundedWithBorder.ts +35 -32
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +58 -45
- package/src/core/shaders/webgl/RoundedWithShadow.ts +15 -13
- package/src/core/shaders/webgl/Shadow.ts +4 -5
- package/src/core/text-rendering/SdfTextRenderer.test.ts +177 -0
- package/src/core/text-rendering/SdfTextRenderer.ts +38 -10
- package/src/core/text-rendering/TextLayoutEngine.ts +15 -2
- package/src/core/text-rendering/tests/TextLayoutEngine.test.ts +99 -0
- package/src/main-api/Renderer.ts +35 -6
- package/src/utils.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlShaderProgram.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlShaderProgram.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebGlShaderProgram.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlShaderProgram.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,9 +65,14 @@ export declare function createShader(glw: WebGlContextWrapper, type: number, sou
|
|
|
65
65
|
export declare function createProgram(glw: WebGlContextWrapper, vertexShader: WebGLShader, fragmentShader: WebGLShader): WebGLProgram;
|
|
66
66
|
export declare const DefaultVertexSource = "\n # ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n # else\n precision mediump float;\n # endif\n\n attribute vec2 a_position;\n attribute vec2 a_textureCoords;\n attribute vec4 a_color;\n attribute vec2 a_nodeCoords;\n\n uniform vec2 u_resolution;\n uniform float u_pixelRatio;\n uniform vec2 u_dimensions;\n uniform vec4 u_shadow;\n\n varying vec4 v_color;\n varying vec2 v_textureCoords;\n\n void main() {\n vec2 normalized = a_position * u_pixelRatio;\n vec2 screenSpace = vec2(2.0 / u_resolution.x, -2.0 / u_resolution.y);\n\n vec2 outerEdge = clamp(a_textureCoords * 2.0 - vec2(1.0), -1.0, 1.0);\n vec2 shadowEdge = outerEdge;\n vec2 vertexPos = normalized + outerEdge + shadowEdge;\n v_color = a_color;\n v_textureCoords = a_textureCoords;\n\n gl_Position = vec4(vertexPos.x * screenSpace.x - 1.0, -sign(screenSpace.y) * (vertexPos.y * -abs(screenSpace.y)) + 1.0, 0.0, 1.0);\n }\n";
|
|
67
67
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
68
|
+
* Generates branchless gradient-stop evaluation statements for a fragment
|
|
69
|
+
* shader. Expects a `float dist` in scope and `u_stops`/`u_colors` uniform
|
|
70
|
+
* arrays of length `stops`; leaves the result in `vec4 colorOut`.
|
|
71
|
+
*
|
|
72
|
+
* The accumulated `mix()` chain is exactly equivalent to selecting the
|
|
73
|
+
* segment containing `dist` (for ascending stops): below a segment the
|
|
74
|
+
* smoothstep is 0 (no-op), above it is 1 (fully replaced by the next color).
|
|
75
|
+
* No `if`/ternary — Mali 400-class fragment pipelines serialize any branch.
|
|
71
76
|
*/
|
|
72
77
|
export declare function genGradientColors(stops: number): string;
|
|
73
78
|
export {};
|
|
@@ -65,19 +65,20 @@ export const DefaultVertexSource = `
|
|
|
65
65
|
}
|
|
66
66
|
`;
|
|
67
67
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
68
|
+
* Generates branchless gradient-stop evaluation statements for a fragment
|
|
69
|
+
* shader. Expects a `float dist` in scope and `u_stops`/`u_colors` uniform
|
|
70
|
+
* arrays of length `stops`; leaves the result in `vec4 colorOut`.
|
|
71
|
+
*
|
|
72
|
+
* The accumulated `mix()` chain is exactly equivalent to selecting the
|
|
73
|
+
* segment containing `dist` (for ascending stops): below a segment the
|
|
74
|
+
* smoothstep is 0 (no-op), above it is 1 (fully replaced by the next color).
|
|
75
|
+
* No `if`/ternary — Mali 400-class fragment pipelines serialize any branch.
|
|
71
76
|
*/
|
|
72
77
|
export function genGradientColors(stops) {
|
|
73
|
-
let result = `
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (stops > 2) {
|
|
78
|
-
for (let i = 2; i < stops; i++) {
|
|
79
|
-
result += `colorOut = mix(colorOut, u_colors[${i}], clamp((dist - u_stops[${i - 1}]) / (u_stops[${i}] - u_stops[${i - 1}]), 0.0, 1.0));`;
|
|
80
|
-
}
|
|
78
|
+
let result = `vec4 colorOut = u_colors[0];`;
|
|
79
|
+
for (let i = 1; i < stops; i++) {
|
|
80
|
+
result += `
|
|
81
|
+
colorOut = mix(colorOut, u_colors[${i}], smoothstep(u_stops[${i - 1}], u_stops[${i}], dist));`;
|
|
81
82
|
}
|
|
82
83
|
return result;
|
|
83
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShaderUtils.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/internal/ShaderUtils.ts"],"names":[],"mappings":"AA6JA,kBAAkB;AAElB,MAAM,UAAU,YAAY,CAC1B,GAAwB,EACxB,IAAY,EACZ,MAAc;IAEd,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,gCACE,IAAI,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBACjD,IAAI,OAAO,CAAC,CAAC,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACrE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,GAAwB,EACxB,YAAyB,EACzB,cAA2B;IAE3B,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACxC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC1C,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GACX,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,4BAA4B,CAAC;IACjE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgClC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"ShaderUtils.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/internal/ShaderUtils.ts"],"names":[],"mappings":"AA6JA,kBAAkB;AAElB,MAAM,UAAU,YAAY,CAC1B,GAAwB,EACxB,IAAY,EACZ,MAAc;IAEd,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,gCACE,IAAI,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBACjD,IAAI,OAAO,CAAC,CAAC,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACrE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,GAAwB,EACxB,YAAyB,EACzB,cAA2B;IAE3B,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACxC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC1C,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GACX,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,4BAA4B,CAAC;IACjE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgClC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,MAAM,GAAG,8BAA8B,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI;0CAC4B,CAAC,yBACrC,CAAC,GAAG,CACN,cAAc,CAAC,YAAY,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -8,9 +8,9 @@ export const Rounded = {
|
|
|
8
8
|
this.computed.radius = calcFactoredRadiusArray(this.props.radius, node.w, node.h);
|
|
9
9
|
},
|
|
10
10
|
render(ctx, node, renderContext) {
|
|
11
|
-
|
|
12
|
-
roundRect(
|
|
13
|
-
ctx.clip(
|
|
11
|
+
ctx.beginPath();
|
|
12
|
+
roundRect(ctx, node.globalTransform.tx, node.globalTransform.ty, node.props.w, node.props.h, this.computed.radius);
|
|
13
|
+
ctx.clip();
|
|
14
14
|
renderContext();
|
|
15
15
|
},
|
|
16
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rounded.js","sourceRoot":"","sources":["../../../../../src/core/shaders/canvas/Rounded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EACL,eAAe,GAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAM9C,MAAM,CAAC,MAAM,OAAO,GAA0D;IAC5E,KAAK,EAAE,eAAe,CAAC,KAAK;IAC5B,cAAc,EAAE,IAAI;IACpB,MAAM,CAAC,IAAI;QACT,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,uBAAuB,CAC5C,IAAI,CAAC,KAAM,CAAC,MAAc,EAC1B,IAAI,CAAC,CAAC,EACN,IAAI,CAAC,CAAC,CACP,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa;QAC7B,
|
|
1
|
+
{"version":3,"file":"Rounded.js","sourceRoot":"","sources":["../../../../../src/core/shaders/canvas/Rounded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EACL,eAAe,GAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAM9C,MAAM,CAAC,MAAM,OAAO,GAA0D;IAC5E,KAAK,EAAE,eAAe,CAAC,KAAK;IAC5B,cAAc,EAAE,IAAI;IACpB,MAAM,CAAC,IAAI;QACT,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,uBAAuB,CAC5C,IAAI,CAAC,KAAM,CAAC,MAAc,EAC1B,IAAI,CAAC,CAAC,EACN,IAAI,CAAC,CAAC,CACP,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa;QAC7B,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,SAAS,CACP,GAAG,EACH,IAAI,CAAC,eAAgB,CAAC,EAAE,EACxB,IAAI,CAAC,eAAgB,CAAC,EAAE,EACxB,IAAI,CAAC,KAAK,CAAC,CAAC,EACZ,IAAI,CAAC,KAAK,CAAC,CAAC,EACZ,IAAI,CAAC,QAAQ,CAAC,MAAO,CACtB,CAAC;QACF,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,aAAa,EAAE,CAAC;IAClB,CAAC;CACF,CAAC"}
|
|
@@ -18,9 +18,9 @@ export const RoundedWithShadow = {
|
|
|
18
18
|
if (this.props['shadow-color'] !== 0) {
|
|
19
19
|
render.shadow(ctx, tx, ty, w, h, computed.shadowColor, this.props['shadow-projection'], computed.shadowRadius, this.stage.pixelRatio);
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
render.roundRect(
|
|
23
|
-
ctx.clip(
|
|
21
|
+
ctx.beginPath();
|
|
22
|
+
render.roundRect(ctx, tx, ty, w, h, computed.radius);
|
|
23
|
+
ctx.clip();
|
|
24
24
|
renderContext();
|
|
25
25
|
},
|
|
26
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoundedWithShadow.js","sourceRoot":"","sources":["../../../../../src/core/shaders/canvas/RoundedWithShadow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EACL,yBAAyB,GAE1B,MAAM,2CAA2C,CAAC;AAGnD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAI5C,MAAM,CAAC,MAAM,iBAAiB,GAG1B;IACF,KAAK,EAAE,yBAAyB,CAAC,KAAK;IACtC,cAAc,EAAE,IAAI;IACpB,MAAM,CAAC,IAAI;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC;QAC1B,MAAM,MAAM,GAAG,uBAAuB,CACpC,KAAK,CAAC,MAAc,EACpB,IAAI,CAAC,CAAC,EACN,IAAI,CAAC,CAAC,CACP,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,CAChC,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa;QAC7B,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,eAAgB,CAAC;QACzC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA0B,CAAC;QAEjD,IAAI,IAAI,CAAC,KAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CACX,GAAG,EACH,EAAE,EACF,EAAE,EACF,CAAC,EACD,CAAC,EACD,QAAQ,CAAC,WAAW,EACpB,IAAI,CAAC,KAAM,CAAC,mBAAmB,CAAC,EAChC,QAAQ,CAAC,YAAY,EACrB,IAAI,CAAC,KAAK,CAAC,UAAU,CACtB,CAAC;QACJ,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"RoundedWithShadow.js","sourceRoot":"","sources":["../../../../../src/core/shaders/canvas/RoundedWithShadow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EACL,yBAAyB,GAE1B,MAAM,2CAA2C,CAAC;AAGnD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAI5C,MAAM,CAAC,MAAM,iBAAiB,GAG1B;IACF,KAAK,EAAE,yBAAyB,CAAC,KAAK;IACtC,cAAc,EAAE,IAAI;IACpB,MAAM,CAAC,IAAI;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC;QAC1B,MAAM,MAAM,GAAG,uBAAuB,CACpC,KAAK,CAAC,MAAc,EACpB,IAAI,CAAC,CAAC,EACN,IAAI,CAAC,CAAC,CACP,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,CAChC,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa;QAC7B,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,eAAgB,CAAC;QACzC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA0B,CAAC;QAEjD,IAAI,IAAI,CAAC,KAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CACX,GAAG,EACH,EAAE,EACF,EAAE,EACF,CAAC,EACD,CAAC,EACD,QAAQ,CAAC,WAAW,EACpB,IAAI,CAAC,KAAM,CAAC,mBAAmB,CAAC,EAChC,QAAQ,CAAC,YAAY,EACrB,IAAI,CAAC,KAAK,CAAC,UAAU,CACtB,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrD,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,aAAa,EAAE,CAAC;IAClB,CAAC;CACF,CAAC"}
|
|
@@ -25,9 +25,9 @@ export function roundedRectWithBorder(ctx, x, y, width, height, radius, borderGa
|
|
|
25
25
|
innerH += height;
|
|
26
26
|
//draw node content first
|
|
27
27
|
ctx.save();
|
|
28
|
-
|
|
29
|
-
roundRect(
|
|
30
|
-
ctx.clip(
|
|
28
|
+
ctx.beginPath();
|
|
29
|
+
roundRect(ctx, x, y, width, height, radius);
|
|
30
|
+
ctx.clip();
|
|
31
31
|
renderContext();
|
|
32
32
|
ctx.restore();
|
|
33
33
|
//draw border by clipping inner area from outer area
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../../../src/core/shaders/canvas/utils/render.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CACvB,GAAsC,EACtC,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,MAAY;IAEZ,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IAC9C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACtB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9B,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1E,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,GAA6B,EAC7B,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,MAAY,EACZ,SAAiB,EACjB,MAAc,EACd,MAAc,EACd,MAAc,EACd,MAAc,EACd,iBAAuB,EACvB,MAAc,EACd,MAAc,EACd,MAAc,EACd,MAAc,EACd,iBAAuB,EACvB,WAAmB,EACnB,aAAyB;IAEzB,MAAM,IAAI,CAAC,CAAC;IACZ,MAAM,IAAI,CAAC,CAAC;IACZ,MAAM,IAAI,KAAK,CAAC;IAChB,MAAM,IAAI,MAAM,CAAC;IAEjB,MAAM,IAAI,CAAC,CAAC;IACZ,MAAM,IAAI,CAAC,CAAC;IACZ,MAAM,IAAI,KAAK,CAAC;IAChB,MAAM,IAAI,MAAM,CAAC;IAEjB,yBAAyB;IACzB,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../../../src/core/shaders/canvas/utils/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,24 +129,25 @@ export const Border = {
|
|
|
129
129
|
float outerDist = box(boxUv + v_outerBorderUv, v_outerSize - edgeWidth);
|
|
130
130
|
float innerDist = box(boxUv + v_innerBorderUv, v_innerSize - edgeWidth);
|
|
131
131
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
float innerAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, innerDist);
|
|
135
|
-
resultColor = mix(resultColor, u_borderColor, outerAlpha * u_borderColor.a);
|
|
136
|
-
resultColor = mix(resultColor, color, innerAlpha);
|
|
137
|
-
gl_FragColor = resultColor * u_alpha;
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
132
|
+
float outerAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, outerDist);
|
|
133
|
+
float innerAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, innerDist);
|
|
140
134
|
|
|
141
135
|
float nodeDist = box(boxUv, v_halfDimensions - edgeWidth);
|
|
142
136
|
float nodeAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, nodeDist);
|
|
143
137
|
|
|
144
138
|
float borderDist = max(-innerDist, outerDist);
|
|
145
139
|
float borderAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, borderDist);
|
|
146
|
-
resultColor = mix(resultColor, color, nodeAlpha);
|
|
147
|
-
resultColor = mix(resultColor, u_borderColor, borderAlpha * u_borderColor.a);
|
|
148
140
|
|
|
149
|
-
|
|
141
|
+
// Branchless gap select -- Mali 400 serializes uniform branches, so both
|
|
142
|
+
// composites are computed and mix()-selected on hasGap instead.
|
|
143
|
+
vec4 resNoGap = mix(resultColor, u_borderColor, outerAlpha * u_borderColor.a);
|
|
144
|
+
resNoGap = mix(resNoGap, color, innerAlpha);
|
|
145
|
+
|
|
146
|
+
vec4 resGap = mix(resultColor, color, nodeAlpha);
|
|
147
|
+
resGap = mix(resGap, u_borderColor, borderAlpha * u_borderColor.a);
|
|
148
|
+
|
|
149
|
+
float hasGap = step(0.0001, abs(u_borderGap));
|
|
150
|
+
gl_FragColor = mix(resNoGap, resGap, hasGap) * u_alpha;
|
|
150
151
|
}
|
|
151
152
|
`,
|
|
152
153
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Border.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/Border.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAEf,MAAM,gCAAgC,CAAC;AAIxC,MAAM,CAAC,MAAM,MAAM,GAAiC;IAClD,KAAK,EAAE,cAAc,CAAC,KAAK;IAC3B,MAAM,CAAC,IAAI;QACT,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,CAAS,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAM,CAAC,GAAa,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,KAAe,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EP;IACD,QAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"Border.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/Border.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAEf,MAAM,gCAAgC,CAAC;AAIxC,MAAM,CAAC,MAAM,MAAM,GAAiC;IAClD,KAAK,EAAE,cAAc,CAAC,KAAK;IAC3B,MAAM,CAAC,IAAI;QACT,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,CAAS,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAM,CAAC,GAAa,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,KAAe,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EP;IACD,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DT;CACF,CAAC"}
|
|
@@ -36,11 +36,18 @@ export const HolePunch = {
|
|
|
36
36
|
void main() {
|
|
37
37
|
vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
|
|
38
38
|
vec2 p = (v_textureCoords.xy * u_dimensions.xy - u_pos) - u_size;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
float
|
|
39
|
+
|
|
40
|
+
// Branchless radius selection based on quadrant
|
|
41
|
+
// x: TL, y: TR, z: BR, w: BL
|
|
42
|
+
vec2 stepVal = step(vec2(0.0), p);
|
|
43
|
+
float r = mix(
|
|
44
|
+
mix(u_radius.x, u_radius.y, stepVal.x),
|
|
45
|
+
mix(u_radius.w, u_radius.z, stepVal.x),
|
|
46
|
+
stepVal.y
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
p = abs(p) - u_size + r;
|
|
50
|
+
float dist = min(max(p.x, p.y), 0.0) + length(max(p, 0.0)) - r + 2.0;
|
|
44
51
|
float roundedAlpha = 1.0 - smoothstep(0.0, u_pixelRatio, dist);
|
|
45
52
|
gl_FragColor = mix(color, vec4(0.0), min(color.a, roundedAlpha));
|
|
46
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HolePunch.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/HolePunch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,iBAAiB,GAElB,MAAM,mCAAmC,CAAC;AAI3C,MAAM,CAAC,MAAM,SAAS,GAAoC;IACxD,KAAK,EAAE,iBAAiB,CAAC,KAAK;IAC9B,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,0DAA0D;QAC1D,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,UAAU,CACb,UAAU,EACV,uBAAuB,CAAC,KAAK,CAAC,MAAc,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC;IACD,eAAe,CAAC,KAAqB;QACnC,OAAO,eAAe,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,QAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"HolePunch.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/HolePunch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,iBAAiB,GAElB,MAAM,mCAAmC,CAAC;AAI3C,MAAM,CAAC,MAAM,SAAS,GAAoC;IACxD,KAAK,EAAE,iBAAiB,CAAC,KAAK;IAC9B,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,0DAA0D;QAC1D,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,UAAU,CACb,UAAU,EACV,uBAAuB,CAAC,KAAK,CAAC,MAAc,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC;IACD,eAAe,CAAC,KAAqB;QACnC,OAAO,eAAe,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCT;CACF,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getNormalizedRgbaComponents } from '../../lib/utils.js';
|
|
2
2
|
import { LinearGradientTemplate, } from '../templates/LinearGradientTemplate.js';
|
|
3
|
+
import { genGradientColors } from '../../renderers/webgl/internal/ShaderUtils.js';
|
|
3
4
|
export const LinearGradient = {
|
|
4
5
|
props: LinearGradientTemplate.props,
|
|
5
6
|
update(node) {
|
|
@@ -45,7 +46,6 @@ export const LinearGradient = {
|
|
|
45
46
|
# endif
|
|
46
47
|
|
|
47
48
|
#define MAX_STOPS ${props.colors.length}
|
|
48
|
-
#define LAST_STOP ${props.colors.length - 1}
|
|
49
49
|
|
|
50
50
|
uniform float u_alpha;
|
|
51
51
|
|
|
@@ -61,24 +61,8 @@ export const LinearGradient = {
|
|
|
61
61
|
|
|
62
62
|
vec4 getGradientColor(float dist) {
|
|
63
63
|
dist = clamp(dist, 0.0, 1.0);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return u_colors[0];
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
if(dist >= u_stops[LAST_STOP]) {
|
|
70
|
-
return u_colors[LAST_STOP];
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
for(int i = 0; i < LAST_STOP; i++) {
|
|
74
|
-
float left = u_stops[i];
|
|
75
|
-
float right = u_stops[i + 1];
|
|
76
|
-
if(dist >= left && dist <= right) {
|
|
77
|
-
float lDist = smoothstep(left, right, dist);
|
|
78
|
-
return mix(u_colors[i], u_colors[i + 1], lDist);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return u_colors[LAST_STOP];
|
|
64
|
+
${genGradientColors(props.colors.length)}
|
|
65
|
+
return colorOut;
|
|
82
66
|
}
|
|
83
67
|
|
|
84
68
|
void main() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearGradient.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/LinearGradient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,sBAAsB,GAEvB,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"LinearGradient.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/LinearGradient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getNormalizedRgbaComponents } from '../../lib/utils.js';
|
|
2
2
|
import { RadialGradientTemplate, } from '../templates/RadialGradientTemplate.js';
|
|
3
|
+
import { genGradientColors } from '../../renderers/webgl/internal/ShaderUtils.js';
|
|
3
4
|
export const RadialGradient = {
|
|
4
5
|
props: RadialGradientTemplate.props,
|
|
5
6
|
update(node) {
|
|
@@ -26,7 +27,6 @@ export const RadialGradient = {
|
|
|
26
27
|
# endif
|
|
27
28
|
|
|
28
29
|
#define MAX_STOPS ${props.colors.length}
|
|
29
|
-
#define LAST_STOP ${props.colors.length - 1}
|
|
30
30
|
|
|
31
31
|
uniform float u_alpha;
|
|
32
32
|
uniform vec2 u_dimensions;
|
|
@@ -45,25 +45,8 @@ export const RadialGradient = {
|
|
|
45
45
|
|
|
46
46
|
vec4 getGradientColor(float dist) {
|
|
47
47
|
dist = clamp(dist, 0.0, 1.0);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return u_colors[0];
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if(dist >= u_stops[LAST_STOP]) {
|
|
54
|
-
return u_colors[LAST_STOP];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
for(int i = 0; i < LAST_STOP; i++) {
|
|
58
|
-
float left = u_stops[i];
|
|
59
|
-
float right = u_stops[i + 1];
|
|
60
|
-
if(dist >= left && dist <= right) {
|
|
61
|
-
float lDist = smoothstep(left, right, dist);
|
|
62
|
-
return mix(u_colors[i], u_colors[i + 1], lDist);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return u_colors[LAST_STOP];
|
|
48
|
+
${genGradientColors(props.colors.length)}
|
|
49
|
+
return colorOut;
|
|
67
50
|
}
|
|
68
51
|
|
|
69
52
|
void main() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialGradient.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/RadialGradient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,sBAAsB,GAEvB,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"RadialGradient.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/RadialGradient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,sBAAsB,GAEvB,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAElF,MAAM,CAAC,MAAM,cAAc,GAAyC;IAClE,KAAK,EAAE,sBAAsB,CAAC,KAAK;IACnC,MAAM,CAAC,IAAc;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,CACZ,cAAc,EACd,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EACvB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CACxB,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,eAAe,CAAC,KAA0B;QACxC,OAAO,UAAU,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC;IACD,QAAQ,CAAC,QAAuB,EAAE,KAA0B;QAC1D,OAAO;;;;;;;0BAOe,KAAK,CAAC,MAAM,CAAC,MAAM;;;;;;;;;;;;;;;;;;;UAmBnC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;;;;;;;;;;;;;KAa3C,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getNormalizedRgbaComponents } from '../../lib/utils.js';
|
|
2
2
|
import { RadialProgressTemplate, } from '../templates/RadialProgressTemplate.js';
|
|
3
|
+
import { genGradientColors } from '../../renderers/webgl/internal/ShaderUtils.js';
|
|
3
4
|
export const RadialProgress = {
|
|
4
5
|
props: RadialProgressTemplate.props,
|
|
5
6
|
time: true,
|
|
@@ -38,7 +39,6 @@ export const RadialProgress = {
|
|
|
38
39
|
# endif
|
|
39
40
|
|
|
40
41
|
#define MAX_STOPS ${maxStops}
|
|
41
|
-
#define LAST_STOP ${maxStops - 1}
|
|
42
42
|
#define CAP_ROUND ${props.cap}
|
|
43
43
|
#define HAS_TRACK ${props.trackColor !== 0 ? 1 : 0}
|
|
44
44
|
|
|
@@ -68,22 +68,8 @@ export const RadialProgress = {
|
|
|
68
68
|
|
|
69
69
|
vec4 getGradientColor(float dist) {
|
|
70
70
|
dist = clamp(dist, 0.0, 1.0);
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
return u_colors[0];
|
|
74
|
-
}
|
|
75
|
-
if (dist >= u_stops[LAST_STOP]) {
|
|
76
|
-
return u_colors[LAST_STOP];
|
|
77
|
-
}
|
|
78
|
-
for (int i = 0; i < LAST_STOP; i++) {
|
|
79
|
-
float left = u_stops[i];
|
|
80
|
-
float right = u_stops[i + 1];
|
|
81
|
-
if (dist >= left && dist <= right) {
|
|
82
|
-
float lDist = smoothstep(left, right, dist);
|
|
83
|
-
return mix(u_colors[i], u_colors[i + 1], lDist);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return u_colors[LAST_STOP];
|
|
71
|
+
${genGradientColors(maxStops)}
|
|
72
|
+
return colorOut;
|
|
87
73
|
}
|
|
88
74
|
|
|
89
75
|
// Coverage of a disc centered at \`c\` with radius \`r\` at pixel \`p\` (with 1px AA)
|
|
@@ -97,9 +83,13 @@ export const RadialProgress = {
|
|
|
97
83
|
// Effective progress: when u_duration > 0 the shader self-animates from
|
|
98
84
|
// u_time, otherwise we use the static u_progress prop. countdown == 1
|
|
99
85
|
// drains (1 -> 0), countdown == 0 fills (0 -> 1).
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
86
|
+
// Branchless (Mali 400 serializes uniform branches): the mix()-guarded
|
|
87
|
+
// denominator keeps the division finite when u_duration == 0 -- a
|
|
88
|
+
// max()-clamped epsilon would overflow fp16 mediump to Inf/NaN.
|
|
89
|
+
float hasDuration = step(0.0001, u_duration);
|
|
90
|
+
float cyclePos = fract(u_time / mix(1.0, u_duration, hasDuration)) * hasDuration;
|
|
91
|
+
float animProgress = mix(cyclePos, 1.0 - cyclePos, step(0.5, u_countdown));
|
|
92
|
+
float progress = mix(u_progress, animProgress, hasDuration);
|
|
103
93
|
|
|
104
94
|
vec2 p = v_nodeCoords.xy * u_dimensions - u_center;
|
|
105
95
|
float dist = length(p);
|
|
@@ -116,7 +106,7 @@ export const RadialProgress = {
|
|
|
116
106
|
|
|
117
107
|
// Filled arc coverage (1 if in filled arc, else 0). When progress >= 1 the
|
|
118
108
|
// whole ring is filled regardless of \`t\` -- guards against the mod() seam.
|
|
119
|
-
float arcCoverage =
|
|
109
|
+
float arcCoverage = max(step(1.0, progress), step(t, progress));
|
|
120
110
|
float fillCoverage = ringCoverage * arcCoverage;
|
|
121
111
|
|
|
122
112
|
#if CAP_ROUND
|
|
@@ -132,8 +122,10 @@ export const RadialProgress = {
|
|
|
132
122
|
#endif
|
|
133
123
|
|
|
134
124
|
// Sample gradient. Normalize \`t\` to the *filled* portion so the gradient
|
|
135
|
-
// spans the visible arc end-to-end regardless of progress.
|
|
136
|
-
|
|
125
|
+
// spans the visible arc end-to-end regardless of progress. mix()-guarded
|
|
126
|
+
// denominator: safe at progress == 0 without fp16 overflow.
|
|
127
|
+
float hasProgress = step(0.000001, progress);
|
|
128
|
+
float gradT = clamp(t / mix(1.0, progress, hasProgress), 0.0, 1.0) * hasProgress;
|
|
137
129
|
vec4 fillCol = getGradientColor(gradT);
|
|
138
130
|
|
|
139
131
|
// Composite: track under fill (if track enabled), both gated by ringCoverage.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialProgress.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/RadialProgress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,sBAAsB,GAEvB,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"RadialProgress.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/RadialProgress.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,15 @@ export const RoundedWithBorder = {
|
|
|
53
53
|
v_innerSize = vec2(0.0);
|
|
54
54
|
v_outerSize = vec2(0.0);
|
|
55
55
|
|
|
56
|
+
// Defaults for the zero-border case: the fragment shader is branchless
|
|
57
|
+
// and always evaluates the border SDFs, so every varying must carry a
|
|
58
|
+
// finite value (an unwritten varying is undefined and can poison the
|
|
59
|
+
// final mix() with NaN).
|
|
60
|
+
v_outerBorderUv = vec2(0.0);
|
|
61
|
+
v_innerBorderUv = vec2(0.0);
|
|
62
|
+
v_outerBorderRadius = u_radius;
|
|
63
|
+
v_innerBorderRadius = u_radius;
|
|
64
|
+
|
|
56
65
|
if(borderZero == 0.0) {
|
|
57
66
|
vec4 adjustedBorderWidth = u_borderWidth - 1.0 + clamp(u_borderWidth, -1.0, 1.0);
|
|
58
67
|
|
|
@@ -61,9 +70,6 @@ export const RoundedWithBorder = {
|
|
|
61
70
|
float borderBottom = adjustedBorderWidth.z;
|
|
62
71
|
float borderLeft = adjustedBorderWidth.w;
|
|
63
72
|
|
|
64
|
-
v_outerBorderUv = vec2(0.0);
|
|
65
|
-
v_innerBorderUv = vec2(0.0);
|
|
66
|
-
|
|
67
73
|
vec2 borderSize = vec2(borderRight + borderLeft, borderTop + borderBottom);
|
|
68
74
|
vec2 extraSize = borderSize * u_borderAlign;
|
|
69
75
|
float gapLeft = step(0.001, borderLeft) * u_borderGap;
|
|
@@ -148,52 +154,49 @@ export const RoundedWithBorder = {
|
|
|
148
154
|
varying vec4 v_outerBorderRadius;
|
|
149
155
|
varying vec2 v_halfDimensions;
|
|
150
156
|
|
|
157
|
+
// Branchless quadrant radius select (r: x TL, y TR, z BR, w BL) --
|
|
158
|
+
// Mali 400-class fragment pipelines serialize any branch, ternaries included.
|
|
159
|
+
float quadRadius(vec2 p, vec4 r) {
|
|
160
|
+
vec2 stepVal = step(vec2(0.0), p);
|
|
161
|
+
return mix(mix(r.x, r.y, stepVal.x), mix(r.w, r.z, stepVal.x), stepVal.y);
|
|
162
|
+
}
|
|
163
|
+
|
|
151
164
|
float roundedBox(vec2 p, vec2 s, vec4 r) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
return (min(max(q.x, q.y), 0.0) + length(max(q, 0.0))) - r.x;
|
|
165
|
+
float rad = quadRadius(p, r);
|
|
166
|
+
vec2 q = abs(p) - s + rad;
|
|
167
|
+
return (min(max(q.x, q.y), 0.0) + length(max(q, 0.0))) - rad;
|
|
156
168
|
}
|
|
157
169
|
|
|
158
170
|
void main() {
|
|
159
171
|
vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
|
|
160
|
-
vec4 resultColor = vec4(0.0);
|
|
161
172
|
vec2 boxUv = v_nodeCoords.xy * u_dimensions - v_halfDimensions;
|
|
162
173
|
float borderZero = 1.0 - step(0.001, dot(abs(u_borderWidth), vec4(1.0)));
|
|
163
174
|
float edgeWidth = 1.0 / u_pixelRatio;
|
|
164
175
|
|
|
165
|
-
float nodeDist;
|
|
166
|
-
float nodeAlpha;
|
|
167
|
-
|
|
168
|
-
if(borderZero == 1.0) {
|
|
169
|
-
nodeDist = roundedBox(boxUv, v_halfDimensions - edgeWidth, u_radius);
|
|
170
|
-
nodeAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, nodeDist);
|
|
171
|
-
gl_FragColor = (color * nodeAlpha) * u_alpha;
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
176
|
+
float nodeDist = roundedBox(boxUv, v_halfDimensions - edgeWidth, u_radius);
|
|
177
|
+
float nodeAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, nodeDist);
|
|
174
178
|
|
|
175
179
|
float outerDist = roundedBox(boxUv + v_outerBorderUv, v_outerSize - edgeWidth, v_outerBorderRadius);
|
|
176
180
|
float innerDist = roundedBox(boxUv + v_innerBorderUv, v_innerSize - edgeWidth, v_innerBorderRadius);
|
|
177
|
-
|
|
178
|
-
if(u_borderGap == 0.0) {
|
|
179
|
-
float outerAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, outerDist);
|
|
180
|
-
float innerAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, innerDist);
|
|
181
|
-
resultColor = mix(resultColor, u_borderColor, outerAlpha * u_borderColor.a);
|
|
182
|
-
resultColor = mix(resultColor, color, innerAlpha);
|
|
183
|
-
gl_FragColor = resultColor * u_alpha;
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
nodeDist = roundedBox(boxUv, v_halfDimensions - edgeWidth, u_radius);
|
|
188
|
-
nodeAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, nodeDist);
|
|
181
|
+
float outerAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, outerDist);
|
|
189
182
|
float innerAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, innerDist);
|
|
190
|
-
float gapAlpha = max(0.0, innerAlpha - nodeAlpha);
|
|
191
183
|
|
|
184
|
+
float gapAlpha = max(0.0, innerAlpha - nodeAlpha);
|
|
192
185
|
float borderDist = max(-innerDist, outerDist);
|
|
193
186
|
float borderAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, borderDist);
|
|
194
187
|
|
|
195
|
-
|
|
196
|
-
|
|
188
|
+
// Branchless path select -- Mali 400 serializes uniform branches, so all
|
|
189
|
+
// three composites (no gap / gap / zero border) are computed and
|
|
190
|
+
// mix()-selected instead of if/else'd.
|
|
191
|
+
vec4 resNoGap = mix(vec4(0.0), u_borderColor, outerAlpha * u_borderColor.a);
|
|
192
|
+
resNoGap = mix(resNoGap, color, innerAlpha);
|
|
193
|
+
|
|
194
|
+
vec4 resGap = (color * nodeAlpha) + (u_fillColor * gapAlpha);
|
|
195
|
+
resGap = mix(resGap, u_borderColor, borderAlpha * u_borderColor.a);
|
|
196
|
+
|
|
197
|
+
float hasGap = step(0.0001, abs(u_borderGap));
|
|
198
|
+
vec4 resultColor = mix(resNoGap, resGap, hasGap);
|
|
199
|
+
resultColor = mix(resultColor, color * nodeAlpha, borderZero);
|
|
197
200
|
gl_FragColor = resultColor * u_alpha;
|
|
198
201
|
}
|
|
199
202
|
`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoundedWithBorder.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/RoundedWithBorder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EACL,yBAAyB,GAE1B,MAAM,2CAA2C,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAA4C;IACxE,KAAK,EAAE,yBAAyB,CAAC,KAAK;IACtC,MAAM,CAAC,IAAc;QACnB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,KAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,UAAU,CAAS,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAM,CAAC,YAAY,CAAW,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,cAAc,CAAW,CAAC,CAAC;QAEvE,IAAI,CAAC,UAAU,CACb,UAAU,EACV,uBAAuB,CAAC,IAAI,CAAC,KAAM,CAAC,MAAc,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CACpE,CAAC;IACJ,CAAC;IACD,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"RoundedWithBorder.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/RoundedWithBorder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EACL,yBAAyB,GAE1B,MAAM,2CAA2C,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAA4C;IACxE,KAAK,EAAE,yBAAyB,CAAC,KAAK;IACtC,MAAM,CAAC,IAAc;QACnB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,KAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,UAAU,CAAS,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAM,CAAC,YAAY,CAAW,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,cAAc,CAAW,CAAC,CAAC;QAEvE,IAAI,CAAC,UAAU,CACb,UAAU,EACV,uBAAuB,CAAC,IAAI,CAAC,KAAM,CAAC,MAAc,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CACpE,CAAC;IACJ,CAAC;IACD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GP;IACD,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6ET;CACF,CAAC"}
|