@lightningtv/solid 3.0.0-22 → 3.0.0-23

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.
@@ -32,6 +32,7 @@ export declare const SHADERS_ENABLED: boolean;
32
32
  export interface Config {
33
33
  debug: boolean;
34
34
  focusDebug: boolean;
35
+ domRendererEnabled: boolean;
35
36
  keyDebug: boolean;
36
37
  simpleAnimationsEnabled?: boolean;
37
38
  animationSettings?: AnimationSettings;
@@ -41,6 +42,7 @@ export interface Config {
41
42
  setActiveElement: (elm: ElementNode) => void;
42
43
  focusStateKey: DollarString;
43
44
  lockStyles?: boolean;
45
+ fontWeightAlias?: Record<string, number | string>;
44
46
  throttleInput?: number;
45
47
  taskDelay?: number;
46
48
  }
@@ -5,6 +5,7 @@ export const DOM_RENDERING = typeof LIGHTNING_DOM_RENDERING === 'boolean' && LIG
5
5
  export const SHADERS_ENABLED = !(typeof LIGHTNING_DISABLE_SHADERS === 'boolean' && LIGHTNING_DISABLE_SHADERS);
6
6
  export const Config = {
7
7
  debug: false,
8
+ domRendererEnabled: false,
8
9
  focusDebug: false,
9
10
  keyDebug: false,
10
11
  animationsEnabled: true,
@@ -16,6 +17,15 @@ export const Config = {
16
17
  fontFamily: 'Ubuntu',
17
18
  fontSize: 100,
18
19
  },
20
+ fontWeightAlias: {
21
+ thin: 100,
22
+ light: 300,
23
+ regular: '',
24
+ 400: '',
25
+ medium: 500,
26
+ bold: 700,
27
+ black: 900,
28
+ },
19
29
  setActiveElement: () => { },
20
30
  focusStateKey: '$focus',
21
31
  lockStyles: true,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"AA4BA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEhE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GACxB,OAAO,uBAAuB,KAAK,SAAS,IAAI,uBAAuB,CAAC;AAE1E,0CAA0C;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAC9B,OAAO,yBAAyB,KAAK,SAAS,IAAI,yBAAyB,CAC5E,CAAC;AAuBF,MAAM,CAAC,MAAM,MAAM,GAAW;IAC5B,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;IACf,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE;QACjB,QAAQ,EAAE,GAAG;QACb,MAAM,EAAE,aAAa;KACtB;IACD,YAAY,EAAE;QACZ,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,GAAG;KACd;IACD,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,IAAI;CACjB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"AA4BA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEhE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GACxB,OAAO,uBAAuB,KAAK,SAAS,IAAI,uBAAuB,CAAC;AAE1E,0CAA0C;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAC9B,OAAO,yBAAyB,KAAK,SAAS,IAAI,yBAAyB,CAC5E,CAAC;AAyBF,MAAM,CAAC,MAAM,MAAM,GAAW;IAC5B,KAAK,EAAE,KAAK;IACZ,kBAAkB,EAAE,KAAK;IACzB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;IACf,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE;QACjB,QAAQ,EAAE,GAAG;QACb,MAAM,EAAE,aAAa;KACtB;IACD,YAAY,EAAE;QACZ,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,GAAG;KACd;IACD,eAAe,EAAE;QACf,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,EAAE;QACX,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,GAAG;KACX;IACD,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,IAAI;CACjB,CAAC"}
@@ -92,7 +92,6 @@ const LightningRendererNonAnimatingProps = [
92
92
  'fontFamily',
93
93
  'fontStretch',
94
94
  'fontStyle',
95
- 'fontWeight',
96
95
  'imageType',
97
96
  'letterSpacing',
98
97
  'maxHeight',
@@ -188,7 +187,11 @@ export class ElementNode extends Object {
188
187
  }
189
188
  set fontWeight(v) {
190
189
  this._fontWeight = v;
191
- this.fontFamily = `{${this.fontFamily}${v}`;
190
+ const family = this.fontFamily || Config.fontSettings?.fontFamily;
191
+ const weight = (Config.fontWeightAlias &&
192
+ Config.fontWeightAlias[v]) ??
193
+ v;
194
+ this.fontFamily = `${family}${weight}`;
192
195
  }
193
196
  get fontWeight() {
194
197
  return this._fontWeight;
@@ -1 +1 @@
1
- {"version":3,"file":"elementNode.js","sourceRoot":"","sources":["../../../src/core/elementNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elementNode.js","sourceRoot":"","sources":["../../../src/core/elementNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { WebGlShaderType } from '@lightningjs/renderer/webgl';
2
+ import { type RoundedWithBorderProps } from './templates/RoundedWithBorderTemplate.js';
3
+ export declare const RoundedWithBorder: WebGlShaderType<RoundedWithBorderProps>;
@@ -0,0 +1,217 @@
1
+ import { calcFactoredRadiusArray } from './utils.js';
2
+ import { RoundedWithBorderTemplate, } from './templates/RoundedWithBorderTemplate.js';
3
+ export const RoundedWithBorder = {
4
+ props: RoundedWithBorderTemplate.props,
5
+ update(node) {
6
+ const props = this.props;
7
+ const borderWidth = props['border-w'];
8
+ const borderGap = props['border-gap'] || 0;
9
+ this.uniformRGBA('u_borderColor', props['border-color']);
10
+ this.uniform4fa('u_borderWidth', borderWidth);
11
+ this.uniform1f('u_borderGap', borderGap);
12
+ this.uniformRGBA('u_borderGapColor', props['border-gapColor']);
13
+ const origWidth = node.w;
14
+ const origHeight = node.h;
15
+ this.uniform2f('u_dimensions_orig', origWidth, origHeight);
16
+ const expandedWidth = origWidth + borderWidth[3] + borderWidth[1] + borderGap * 2; // original + left + right + 2*gap
17
+ const expandedHeight = origHeight + borderWidth[0] + borderWidth[2] + borderGap * 2; // original + top + bottom + 2*gap
18
+ // u_dimensions for the shader's SDF functions should be the expanded size
19
+ this.uniform2f('u_dimensions', expandedWidth, expandedHeight);
20
+ // The `radius` property is for the content rectangle.
21
+ // Factor it against the original dimensions to prevent self-intersection.
22
+ const contentRadius = calcFactoredRadiusArray(this.props.radius, origWidth, origHeight);
23
+ // From the content radius, calculate the outer radius of the border.
24
+ // For each corner, the total radius is content radius + gap + border thickness.
25
+ // Border thickness at a corner is approximated as the max of the two adjacent border sides.
26
+ const bTop = borderWidth[0], bRight = borderWidth[1], bBottom = borderWidth[2], bLeft = borderWidth[3];
27
+ const outerRadius = [
28
+ Math.max(0, contentRadius[0] + borderGap + Math.max(bTop, bLeft)), // top-left
29
+ Math.max(0, contentRadius[1] + borderGap + Math.max(bTop, bRight)), // top-right
30
+ Math.max(0, contentRadius[2] + borderGap + Math.max(bBottom, bRight)), // bottom-right
31
+ Math.max(0, contentRadius[3] + borderGap + Math.max(bBottom, bLeft)), // bottom-left
32
+ ];
33
+ // The final radius passed to the shader is the outer radius of the whole shape.
34
+ // It also needs to be factored against the expanded dimensions.
35
+ // The shader will then work inwards to calculate the radii for the gap and content.
36
+ this.uniform4fa('u_radius', calcFactoredRadiusArray(outerRadius, expandedWidth, expandedHeight));
37
+ },
38
+ vertex: `
39
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
40
+ precision highp float;
41
+ # else
42
+ precision mediump float;
43
+ # endif
44
+
45
+ attribute vec2 a_position;
46
+ attribute vec2 a_textureCoords;
47
+ attribute vec4 a_color;
48
+ attribute vec2 a_nodeCoords;
49
+
50
+ uniform vec2 u_resolution;
51
+ uniform float u_pixelRatio;
52
+ uniform vec2 u_dimensions;
53
+ uniform vec2 u_dimensions_orig;
54
+
55
+ uniform vec4 u_radius;
56
+ uniform vec4 u_borderWidth;
57
+ uniform float u_borderGap;
58
+
59
+ varying vec4 v_color;
60
+ varying vec2 v_textureCoords;
61
+ varying vec2 v_nodeCoords;
62
+ varying vec4 v_borderEndRadius;
63
+ varying vec2 v_borderEndSize;
64
+
65
+ varying vec4 v_innerRadius;
66
+ varying vec2 v_innerSize;
67
+ varying vec2 v_halfDimensions;
68
+ varying float v_borderZero;
69
+
70
+ void main() {
71
+ vec2 screenSpace = vec2(2.0 / u_resolution.x, -2.0 / u_resolution.y);
72
+
73
+ v_color = a_color;
74
+ v_nodeCoords = a_nodeCoords;
75
+
76
+ float bTop = u_borderWidth.x;
77
+ float bRight = u_borderWidth.y;
78
+ float bBottom = u_borderWidth.z;
79
+ float bLeft = u_borderWidth.w;
80
+ float gap = u_borderGap;
81
+
82
+ // Calculate the offset to expand the quad for border and gap
83
+ vec2 expansionOffset = vec2(0.0);
84
+ if (a_nodeCoords.x == 0.0) { // Left edge vertex
85
+ expansionOffset.x = -(bLeft + gap);
86
+ } else { // Right edge vertex (a_nodeCoords.x == 1.0)
87
+ expansionOffset.x = (bRight + gap);
88
+ }
89
+ if (a_nodeCoords.y == 0.0) { // Top edge vertex
90
+ expansionOffset.y = -(bTop + gap);
91
+ } else { // Bottom edge vertex (a_nodeCoords.y == 1.0)
92
+ expansionOffset.y = (bBottom + gap);
93
+ }
94
+
95
+ vec2 expanded_a_position = a_position + expansionOffset;
96
+ vec2 normalized = expanded_a_position * u_pixelRatio;
97
+
98
+ // u_dimensions is expanded, u_dimensions_orig is original content size
99
+ v_textureCoords.x = (a_textureCoords.x * u_dimensions.x - (bLeft + gap)) / u_dimensions_orig.x;
100
+ v_textureCoords.y = (a_textureCoords.y * u_dimensions.y - (bTop + gap)) / u_dimensions_orig.y;
101
+
102
+ v_borderZero = (u_borderWidth.x == 0.0 && u_borderWidth.y == 0.0 && u_borderWidth.z == 0.0 && u_borderWidth.w == 0.0) ? 1.0 : 0.0;
103
+ // If there's no border, there's no gap from the border logic perspective
104
+ // The Rounded shader itself would handle radius if borderZero is true.
105
+ v_halfDimensions = u_dimensions * 0.5; // u_dimensions is now expanded_dimensions
106
+ if(v_borderZero == 0.0) {
107
+ // Calculate radius and size for the inner edge of the border (where the gap begins)
108
+ v_borderEndRadius = vec4(
109
+ max(0.0, u_radius.x - max(bTop, bLeft) - 0.5),
110
+ max(0.0, u_radius.y - max(bTop, bRight) - 0.5),
111
+ max(0.0, u_radius.z - max(bBottom, bRight) - 0.5),
112
+ max(0.0, u_radius.w - max(bBottom, bLeft) - 0.5)
113
+ );
114
+ v_borderEndSize = vec2(
115
+ (u_dimensions.x - (bLeft + bRight) - 1.0),
116
+ (u_dimensions.y - (bTop + bBottom) - 1.0)
117
+ ) * 0.5;
118
+
119
+ // Calculate radius and size for the content area (after the gap)
120
+ v_innerRadius = vec4(
121
+ max(0.0, u_radius.x - max(bTop, bLeft) - u_borderGap - 0.5),
122
+ max(0.0, u_radius.y - max(bTop, bRight) - u_borderGap - 0.5),
123
+ max(0.0, u_radius.z - max(bBottom, bRight) - u_borderGap - 0.5),
124
+ max(0.0, u_radius.w - max(bBottom, bLeft) - u_borderGap - 0.5)
125
+ );
126
+ v_innerSize = vec2(
127
+ (u_dimensions.x - (bLeft + bRight) - (u_borderGap * 2.0) - 1.0),
128
+ (u_dimensions.y - (bTop + bBottom) - (u_borderGap * 2.0) - 1.0)
129
+ ) * 0.5;
130
+ }
131
+
132
+ gl_Position = vec4(normalized.x * screenSpace.x - 1.0, normalized.y * -abs(screenSpace.y) + 1.0, 0.0, 1.0);
133
+ gl_Position.y = -sign(screenSpace.y) * gl_Position.y;
134
+ }
135
+ `,
136
+ fragment: `
137
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
138
+ precision highp float;
139
+ # else
140
+ precision mediump float;
141
+ # endif
142
+
143
+ uniform vec2 u_resolution;
144
+ uniform float u_pixelRatio;
145
+ uniform float u_alpha;
146
+ uniform vec2 u_dimensions;
147
+ uniform sampler2D u_texture;
148
+
149
+ uniform vec4 u_radius;
150
+
151
+ uniform vec4 u_borderWidth;
152
+ uniform vec4 u_borderColor;
153
+ uniform vec4 u_borderGapColor;
154
+
155
+ varying vec4 v_borderEndRadius;
156
+ varying vec2 v_borderEndSize;
157
+
158
+ varying vec4 v_color;
159
+ varying vec2 v_textureCoords;
160
+ varying vec2 v_nodeCoords;
161
+
162
+ varying vec2 v_halfDimensions;
163
+ varying vec4 v_innerRadius;
164
+ varying vec2 v_innerSize;
165
+ varying float v_borderZero;
166
+
167
+ float roundedBox(vec2 p, vec2 s, vec4 r) {
168
+ r.xy = (p.x > 0.0) ? r.yz : r.xw;
169
+ r.x = (p.y > 0.0) ? r.y : r.x;
170
+ vec2 q = abs(p) - s + r.x;
171
+ return (min(max(q.x, q.y), 0.0) + length(max(q, 0.0))) - r.x;
172
+ }
173
+
174
+ void main() {
175
+ vec4 contentTexColor = texture2D(u_texture, v_textureCoords) * v_color;
176
+
177
+ vec2 boxUv = v_nodeCoords.xy * u_dimensions - v_halfDimensions;
178
+ float outerShapeDist = roundedBox(boxUv, v_halfDimensions, u_radius);
179
+
180
+ float edgeWidth = 1.0 / u_pixelRatio;
181
+ float outerShapeAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, outerShapeDist);
182
+
183
+ if(v_borderZero == 1.0) { // No border, effectively no gap from border logic
184
+ gl_FragColor = mix(vec4(0.0), contentTexColor, outerShapeAlpha) * u_alpha;
185
+ return;
186
+ }
187
+
188
+ // Adjust boxUv for non-uniform borders
189
+ vec2 adjustedBoxUv = boxUv;
190
+ adjustedBoxUv.x += (u_borderWidth.y - u_borderWidth.w) * 0.5;
191
+ adjustedBoxUv.y += (u_borderWidth.z - u_borderWidth.x) * 0.5;
192
+
193
+ // Inner Border Edge (Gap starts here)
194
+ float borderEndDist = roundedBox(adjustedBoxUv, v_borderEndSize, v_borderEndRadius);
195
+ float borderEndAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, borderEndDist);
196
+
197
+ // Content Area (Gap ends here)
198
+ float contentDist = roundedBox(adjustedBoxUv, v_innerSize, v_innerRadius);
199
+ float contentAlpha = 1.0 - smoothstep(-0.5 * edgeWidth, 0.5 * edgeWidth, contentDist);
200
+
201
+ // Calculate Masks for mutually exclusive regions based on priority (Border Top, Gap Middle, Content Bottom)
202
+ float borderMask = clamp(outerShapeAlpha - borderEndAlpha, 0.0, 1.0);
203
+ float gapMask = clamp(borderEndAlpha - contentAlpha, 0.0, 1.0);
204
+
205
+ // Composite Layers
206
+ // 1. Content
207
+ vec4 composite = mix(vec4(0.0), contentTexColor, contentAlpha);
208
+ // 2. Gap
209
+ composite = mix(composite, u_borderGapColor, gapMask);
210
+ // 3. Border
211
+ composite = mix(composite, u_borderColor, borderMask);
212
+
213
+ gl_FragColor = composite * u_alpha;
214
+ }
215
+ `,
216
+ };
217
+ //# sourceMappingURL=RoundedWithBorder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoundedWithBorder.js","sourceRoot":"","sources":["../../../src/shaders/RoundedWithBorder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './RoundedWithBorder.js';
2
+ export * from './templates/RoundedWithBorderTemplate.js';
@@ -0,0 +1,3 @@
1
+ export * from './RoundedWithBorder.js';
2
+ export * from './templates/RoundedWithBorderTemplate.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shaders/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { ShaderProps } from '@lightningjs/renderer';
2
+ import { type Vec4 } from '../utils.js';
3
+ export interface RoundedWithBorderProps {
4
+ radius: Vec4;
5
+ 'border-w': Vec4;
6
+ 'border-color': number;
7
+ 'border-gap': number;
8
+ 'border-gapColor': number;
9
+ 'top-left': number;
10
+ 'top-right': number;
11
+ 'bottom-right': number;
12
+ 'bottom-left': number;
13
+ 'border-top': number;
14
+ 'border-right': number;
15
+ 'border-bottom': number;
16
+ 'border-left': number;
17
+ }
18
+ export declare const RoundedWithBorderTemplate: {
19
+ props: ShaderProps<RoundedWithBorderProps>;
20
+ };
@@ -0,0 +1,93 @@
1
+ import { toValidVec4 } from '../utils.js';
2
+ export const RoundedWithBorderTemplate = {
3
+ props: {
4
+ radius: {
5
+ default: [0, 0, 0, 0],
6
+ resolve(value) {
7
+ return toValidVec4(value);
8
+ },
9
+ },
10
+ 'top-left': {
11
+ default: 0,
12
+ set(value, props) {
13
+ props.radius[0] = value;
14
+ },
15
+ get(props) {
16
+ return props.radius[0];
17
+ },
18
+ },
19
+ 'top-right': {
20
+ default: 0,
21
+ set(value, props) {
22
+ props.radius[1] = value;
23
+ },
24
+ get(props) {
25
+ return props.radius[1];
26
+ },
27
+ },
28
+ 'bottom-right': {
29
+ default: 0,
30
+ set(value, props) {
31
+ props.radius[2] = value;
32
+ },
33
+ get(props) {
34
+ return props.radius[2];
35
+ },
36
+ },
37
+ 'bottom-left': {
38
+ default: 0,
39
+ set(value, props) {
40
+ props.radius[3] = value;
41
+ },
42
+ get(props) {
43
+ return props.radius[3];
44
+ },
45
+ },
46
+ 'border-w': {
47
+ default: [0, 0, 0, 0],
48
+ resolve(value) {
49
+ return toValidVec4(value);
50
+ },
51
+ },
52
+ 'border-color': 0xffffffff,
53
+ 'border-gap': 0,
54
+ 'border-gapColor': 0x00000000,
55
+ 'border-top': {
56
+ default: 0,
57
+ set(value, props) {
58
+ props['border-w'][0] = value;
59
+ },
60
+ get(props) {
61
+ return props['border-w'][0];
62
+ },
63
+ },
64
+ 'border-right': {
65
+ default: 0,
66
+ set(value, props) {
67
+ props['border-w'][1] = value;
68
+ },
69
+ get(props) {
70
+ return props['border-w'][1];
71
+ },
72
+ },
73
+ 'border-bottom': {
74
+ default: 0,
75
+ set(value, props) {
76
+ props['border-w'][2] = value;
77
+ },
78
+ get(props) {
79
+ return props['border-w'][2];
80
+ },
81
+ },
82
+ 'border-left': {
83
+ default: 0,
84
+ set(value, props) {
85
+ props['border-w'][3] = value;
86
+ },
87
+ get(props) {
88
+ return props['border-w'][3];
89
+ },
90
+ },
91
+ },
92
+ };
93
+ //# sourceMappingURL=RoundedWithBorderTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoundedWithBorderTemplate.js","sourceRoot":"","sources":["../../../../src/shaders/templates/RoundedWithBorderTemplate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type Vec4 = [x: number, y: number, z: number, w: number];
2
+ export declare function calcFactoredRadiusArray(radius: Vec4, width: number, height: number, out?: Vec4): Vec4;
3
+ export declare function toValidVec4(value: unknown): Vec4;
@@ -0,0 +1,31 @@
1
+ export function calcFactoredRadiusArray(radius, width, height, out = [0, 0, 0, 0]) {
2
+ [out[0], out[1], out[2], out[3]] = radius;
3
+ const factor = Math.min(width / Math.max(width, radius[0] + radius[1]), width / Math.max(width, radius[2] + radius[3]), height / Math.max(height, radius[0] + radius[3]), height / Math.max(height, radius[1] + radius[2]), 1);
4
+ out[0] *= factor;
5
+ out[1] *= factor;
6
+ out[2] *= factor;
7
+ out[3] *= factor;
8
+ return out;
9
+ }
10
+ export function toValidVec4(value) {
11
+ if (typeof value === 'number') {
12
+ return [value, value, value, value];
13
+ }
14
+ if (Array.isArray(value)) {
15
+ switch (value.length) {
16
+ default:
17
+ case 4:
18
+ return value;
19
+ case 3:
20
+ return [value[0], value[1], value[2], value[0]];
21
+ case 2:
22
+ return [value[0], value[1], value[0], value[1]];
23
+ case 1:
24
+ return [value[0], value[0], value[0], value[0]];
25
+ case 0:
26
+ break;
27
+ }
28
+ }
29
+ return [0, 0, 0, 0];
30
+ }
31
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/shaders/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CACrC,MAAY,EACZ,KAAa,EACb,MAAc,EACd,MAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAExB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAC9C,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAC9C,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAChD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAChD,CAAC,CACF,CAAC;IACF,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACjB,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACjB,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACjB,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACjB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,QAAQ;YACR,KAAK,CAAC;gBACJ,OAAO,KAAa,CAAC;YACvB,KAAK,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,KAAK,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,KAAK,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,KAAK,CAAC;gBACJ,MAAM;QACV,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB,CAAC"}