@lightningjs/renderer 0.9.3 → 0.9.4
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/exports/main-api.d.ts +1 -1
- package/dist/src/core/CoreShaderManager.d.ts +3 -2
- package/dist/src/core/CoreShaderManager.js +1 -1
- package/dist/src/core/CoreShaderManager.js.map +1 -1
- package/dist/src/core/lib/utils.d.ts +1 -0
- package/dist/src/core/lib/utils.js +3 -2
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/renderers/SpecificNode.d.ts +1 -0
- package/dist/src/core/renderers/SpecificNode.js +19 -0
- package/dist/src/core/renderers/SpecificNode.js.map +1 -0
- package/dist/src/core/renderers/webgl/newShader/abcMock.d.ts +1 -0
- package/dist/src/core/renderers/webgl/newShader/abcMock.js +2 -0
- package/dist/src/core/renderers/webgl/newShader/abcMock.js.map +1 -0
- package/dist/src/core/renderers/webgl/newShader/effectsMock.d.ts +13 -1
- package/dist/src/core/renderers/webgl/newShader/effectsMock.js +43 -17
- package/dist/src/core/renderers/webgl/newShader/effectsMock.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +1 -1
- package/dist/src/effectsMock.d.ts +13 -0
- package/dist/src/effectsMock.js +62 -0
- package/dist/src/effectsMock.js.map +1 -0
- package/dist/src/main-api/DynamicShaderController.d.ts +34 -0
- package/dist/src/main-api/DynamicShaderController.js +54 -0
- package/dist/src/main-api/DynamicShaderController.js.map +1 -0
- package/dist/src/main-api/Renderer.d.ts +38 -40
- package/dist/src/main-api/Renderer.js +34 -46
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/main-api/ShaderController.d.ts +36 -0
- package/dist/src/main-api/ShaderController.js +32 -0
- package/dist/src/main-api/ShaderController.js.map +1 -0
- package/dist/src/test.d.ts +1 -0
- package/dist/src/test.js +4 -0
- package/dist/src/test.js.map +1 -0
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/exports/main-api.ts +2 -0
- package/package.json +1 -1
- package/src/core/CoreShaderManager.ts +7 -2
- package/src/core/lib/utils.ts +4 -2
- package/src/core/renderers/webgl/shaders/DynamicShader.ts +1 -1
|
@@ -27,4 +27,4 @@ export * from '../src/common/CommonTypes.js';
|
|
|
27
27
|
export type { TextRendererMap } from '../src/core/text-rendering/renderers/TextRenderer.js';
|
|
28
28
|
export type { TrFontFaceMap } from '../src/core/text-rendering/font-face-types/TrFontFace.js';
|
|
29
29
|
export type { AnimationSettings } from '../src/core/animations/CoreAnimation.js';
|
|
30
|
-
export type { EffectProps, FadeOutEffectProps, LinearGradientEffectProps, RadialGradientEffectProps, GrayscaleEffectProps, GlitchEffectProps, RadialProgressEffectProps, } from '../src/core/CoreShaderManager.js';
|
|
30
|
+
export type { EffectMap, EffectProps, FadeOutEffectProps, LinearGradientEffectProps, RadialGradientEffectProps, GrayscaleEffectProps, GlitchEffectProps, RadialProgressEffectProps, HolePunchEffectProps, } from '../src/core/CoreShaderManager.js';
|
|
@@ -18,7 +18,7 @@ import { GlitchEffect, type GlitchEffectProps } from './renderers/webgl/shaders/
|
|
|
18
18
|
import { FadeOutEffect, type FadeOutEffectProps } from './renderers/webgl/shaders/effects/FadeOutEffect.js';
|
|
19
19
|
import { RadialGradientEffect, type RadialGradientEffectProps } from './renderers/webgl/shaders/effects/RadialGradientEffect.js';
|
|
20
20
|
import { RadialProgressEffect, type RadialProgressEffectProps } from './renderers/webgl/shaders/effects/RadialProgressEffect.js';
|
|
21
|
-
import { HolePunchEffect } from './renderers/webgl/shaders/effects/HolePunchEffect.js';
|
|
21
|
+
import { HolePunchEffect, type HolePunchEffectProps } from './renderers/webgl/shaders/effects/HolePunchEffect.js';
|
|
22
22
|
import { UnsupportedShader } from './renderers/canvas/shaders/UnsupportedShader.js';
|
|
23
23
|
export type { FadeOutEffectProps };
|
|
24
24
|
export type { LinearGradientEffectProps };
|
|
@@ -26,6 +26,7 @@ export type { RadialGradientEffectProps };
|
|
|
26
26
|
export type { GrayscaleEffectProps };
|
|
27
27
|
export type { GlitchEffectProps };
|
|
28
28
|
export type { RadialProgressEffectProps };
|
|
29
|
+
export type { HolePunchEffectProps };
|
|
29
30
|
export interface ShaderMap {
|
|
30
31
|
DefaultShader: typeof DefaultShader;
|
|
31
32
|
DefaultShaderBatched: typeof DefaultShaderBatched;
|
|
@@ -53,7 +54,7 @@ export interface EffectMap {
|
|
|
53
54
|
radialProgress: typeof RadialProgressEffect;
|
|
54
55
|
holePunch: typeof HolePunchEffect;
|
|
55
56
|
}
|
|
56
|
-
export type EffectProps = FadeOutEffectProps | LinearGradientEffectProps | RadialGradientEffectProps | GrayscaleEffectProps | GlitchEffectProps | RadialProgressEffectProps;
|
|
57
|
+
export type EffectProps = FadeOutEffectProps | LinearGradientEffectProps | RadialGradientEffectProps | GrayscaleEffectProps | GlitchEffectProps | RadialProgressEffectProps | HolePunchEffectProps;
|
|
57
58
|
export declare class CoreShaderManager {
|
|
58
59
|
protected shCache: Map<string, InstanceType<ShaderMap[keyof ShaderMap]>>;
|
|
59
60
|
protected shConstructors: Partial<ShaderMap>;
|
|
@@ -15,7 +15,7 @@ import { GlitchEffect, } from './renderers/webgl/shaders/effects/GlitchEffect.js
|
|
|
15
15
|
import { FadeOutEffect, } from './renderers/webgl/shaders/effects/FadeOutEffect.js';
|
|
16
16
|
import { RadialGradientEffect, } from './renderers/webgl/shaders/effects/RadialGradientEffect.js';
|
|
17
17
|
import { RadialProgressEffect, } from './renderers/webgl/shaders/effects/RadialProgressEffect.js';
|
|
18
|
-
import { HolePunchEffect } from './renderers/webgl/shaders/effects/HolePunchEffect.js';
|
|
18
|
+
import { HolePunchEffect, } from './renderers/webgl/shaders/effects/HolePunchEffect.js';
|
|
19
19
|
import { WebGlCoreShader } from './renderers/webgl/WebGlCoreShader.js';
|
|
20
20
|
import { UnsupportedShader } from './renderers/canvas/shaders/UnsupportedShader.js';
|
|
21
21
|
export class CoreShaderManager {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreShaderManager.js","sourceRoot":"","sources":["../../../src/core/CoreShaderManager.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EACL,aAAa,GAEd,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EACL,oBAAoB,GAErB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EACL,eAAe,GAEhB,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yDAAyD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EACL,YAAY,GAEb,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EACL,aAAa,GAEd,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,oBAAoB,GAErB,MAAM,2DAA2D,CAAC;AAEnE,OAAO,EACL,oBAAoB,GAErB,MAAM,2DAA2D,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"CoreShaderManager.js","sourceRoot":"","sources":["../../../src/core/CoreShaderManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
+
export const PROTOCOL_REGEX = /^(data|ftps?|https?):/;
|
|
19
20
|
export const getNormalizedRgbaComponents = (rgba) => {
|
|
20
21
|
const r = rgba >>> 24;
|
|
21
22
|
const g = (rgba >>> 16) & 0xff;
|
|
@@ -176,8 +177,8 @@ export function isRectPositive(rect) {
|
|
|
176
177
|
return rect.width > 0 && rect.height > 0;
|
|
177
178
|
}
|
|
178
179
|
export function convertUrlToAbsolute(url) {
|
|
179
|
-
// handle local file imports
|
|
180
|
-
if (self.location.protocol === 'file:') {
|
|
180
|
+
// handle local file imports if the url isn't remote resource or data blob
|
|
181
|
+
if (self.location.protocol === 'file:' && !PROTOCOL_REGEX.test(url)) {
|
|
181
182
|
const path = self.location.pathname.split('/');
|
|
182
183
|
path.pop();
|
|
183
184
|
const basePath = path.join('/');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/lib/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/lib/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
// // @ts-expect-error Allow the "incorrect" overriding of the shader properties
|
|
3
|
+
// export interface INode<S extends keyof ShaderMap = 'DefaultShader'>
|
|
4
|
+
// extends CoreNode {
|
|
5
|
+
// shaderProps: ExtractProps<ShaderMap[S]>;
|
|
6
|
+
// shader: SpecificShaderRef<S>;
|
|
7
|
+
// animate(props: Partial<INodeAnimatableProps<S>>, settings: Partial<AnimationSettings>): IAnimationController;
|
|
8
|
+
// }
|
|
9
|
+
// // @ts-expect-error Allow the "incorrect" overriding of the shader properties
|
|
10
|
+
// export interface INodeWritableProps<
|
|
11
|
+
// S extends keyof ShaderMap = 'DefaultShader',
|
|
12
|
+
// > extends CoreNodeWritableProps {
|
|
13
|
+
// shader: SpecificShaderRef<S>;
|
|
14
|
+
// }
|
|
15
|
+
// // @ts-expect-error Allow the "incorrect" overriding of the shader properties
|
|
16
|
+
// export interface INodeAnimatableProps<S extends keyof ShaderMap = 'DefaultShader'> extends CoreNodeAnimatableProps {
|
|
17
|
+
// shaderProps: ExtractProps<ShaderMap[S]>;
|
|
18
|
+
// };
|
|
19
|
+
//# sourceMappingURL=SpecificNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpecificNode.js","sourceRoot":"","sources":["../../../../src/core/renderers/SpecificNode.ts"],"names":[],"mappings":";AAOA,gFAAgF;AAChF,sEAAsE;AACtE,uBAAuB;AACvB,6CAA6C;AAC7C,kCAAkC;AAClC,kHAAkH;AAClH,IAAI;AAEJ,gFAAgF;AAChF,uCAAuC;AACvC,iDAAiD;AACjD,oCAAoC;AACpC,kCAAkC;AAClC,IAAI;AAEJ,gFAAgF;AAChF,uHAAuH;AACvH,6CAA6C;AAC7C,KAAK"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abcMock.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/newShader/abcMock.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import type { ShaderMap } from "../../../CoreShaderManager.js";
|
|
2
|
+
/**
|
|
3
|
+
* Shader Controller Base Interface
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Used directly this interface is like an `any` type for Shader Controllers.
|
|
7
|
+
* But it is also used as a base for more specific Shader Controller interfaces.
|
|
8
|
+
*/
|
|
9
|
+
export interface AnyShaderController {
|
|
10
|
+
type: keyof ShaderMap;
|
|
11
|
+
shader: any;
|
|
12
|
+
props: any;
|
|
13
|
+
}
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
function createEffect(name, type, props) {
|
|
2
|
+
return {
|
|
3
|
+
name,
|
|
4
|
+
type,
|
|
5
|
+
props
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
const renderer = {};
|
|
9
|
+
// RoundedRectangle Shader
|
|
10
|
+
const node2 = renderer.createNode({
|
|
11
|
+
shader: renderer.createShader('RoundedRectangle', {
|
|
12
|
+
radius: 100
|
|
13
|
+
})
|
|
14
|
+
});
|
|
15
|
+
node2.shader.props.radius = 200;
|
|
16
|
+
node2.animate({
|
|
17
|
+
shaderProps: {
|
|
18
|
+
radius: 200
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
// Dynamic Shader
|
|
1
22
|
class Effect {
|
|
2
23
|
props;
|
|
3
24
|
constructor(props) {
|
|
@@ -14,23 +35,28 @@ class SomeEffect2 extends Effect {
|
|
|
14
35
|
super(props);
|
|
15
36
|
}
|
|
16
37
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
38
|
+
const node = renderer.createNode({
|
|
39
|
+
shader: renderer.createDynamicShader([
|
|
40
|
+
createEffect('e1', 'SomeEffect', { color: 0xff0000 }),
|
|
41
|
+
createEffect('e2', 'SomeEffect2', { color2: 0xff0000 }),
|
|
42
|
+
])
|
|
43
|
+
});
|
|
44
|
+
node.animate({
|
|
45
|
+
x: 12,
|
|
46
|
+
shaderProps: {
|
|
47
|
+
e1: {
|
|
48
|
+
color: 0x00ff00
|
|
49
|
+
},
|
|
50
|
+
e2: {
|
|
51
|
+
color2: 0x00ff00
|
|
52
|
+
},
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
node.shader.props.e1.color = 0x00ff00;
|
|
56
|
+
// Default Shader
|
|
57
|
+
const node3 = renderer.createNode({
|
|
58
|
+
x: 0,
|
|
59
|
+
y: 0
|
|
33
60
|
});
|
|
34
|
-
dynamicShader.effects.e1.color = 0x00ff00ff;
|
|
35
61
|
export {};
|
|
36
62
|
//# sourceMappingURL=effectsMock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effectsMock.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/newShader/effectsMock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"effectsMock.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/newShader/effectsMock.ts"],"names":[],"mappings":"AAaA,SAAS,YAAY,CAAoD,IAAU,EAAE,IAAU,EAAE,KAA8D;IAC7J,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC;AA6JD,MAAM,QAAQ,GAAa,EAAc,CAAC;AAuB1C,0BAA0B;AAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC;IAChC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE;QAChD,MAAM,EAAE,GAAG;KACZ,CAAC;CACH,CAAC,CAAC;AAEH,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;AAEhC,KAAK,CAAC,OAAO,CAAC;IACZ,WAAW,EAAE;QACX,MAAM,EAAE,GAAG;KACZ;CACF,CAAC,CAAC;AAiBH,iBAAiB;AACjB,MAAM,MAAM;IACV,KAAK,CAAU;IAEf,YAAY,KAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,UAAW,SAAQ,MAAM;IAK7B,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,MAAM,WAAY,SAAQ,MAAM;IAK9B,YAAY,KAA2B;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAgBD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;QACnC,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACrD,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACxD,CAAC;CACH,CAAC,CAAA;AAGF,IAAI,CAAC,OAAO,CAAC;IACX,CAAC,EAAE,EAAE;IACL,WAAW,EAAE;QACX,EAAE,EAAE;YACF,KAAK,EAAE,QAAQ;SAChB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,QAAQ;SACjB;KACF;CACF,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC;AAuBtC,iBAAiB;AACjB,MAAM,KAAK,GAAU,QAAQ,CAAC,UAAU,CAAC;IACvC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAC,CAAC"}
|
|
@@ -38,7 +38,7 @@ import type { EffectMap } from '../../../CoreShaderManager.js';
|
|
|
38
38
|
* field.
|
|
39
39
|
*/
|
|
40
40
|
type MapEffectDescs<T extends keyof EffectMap> = T extends keyof EffectMap ? SpecificEffectDesc<T> : never;
|
|
41
|
-
type EffectDesc = MapEffectDescs<keyof EffectMap>;
|
|
41
|
+
export type EffectDesc = MapEffectDescs<keyof EffectMap>;
|
|
42
42
|
export interface DynamicShaderProps extends DimensionsShaderProp, AlphaShaderProp {
|
|
43
43
|
effects?: EffectDesc[];
|
|
44
44
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ShaderMap } from "./core/CoreShaderManager.js";
|
|
2
|
+
/**
|
|
3
|
+
* Shader Controller Base Interface
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Used directly this interface is like an `any` type for Shader Controllers.
|
|
7
|
+
* But it is also used as a base for more specific Shader Controller interfaces.
|
|
8
|
+
*/
|
|
9
|
+
export interface AnyShaderController {
|
|
10
|
+
type: keyof ShaderMap;
|
|
11
|
+
shader: any;
|
|
12
|
+
props: any;
|
|
13
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
function createEffect(name, type, props) {
|
|
2
|
+
return {
|
|
3
|
+
name,
|
|
4
|
+
type,
|
|
5
|
+
props
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
const renderer = {};
|
|
9
|
+
// RoundedRectangle Shader
|
|
10
|
+
const node2 = renderer.createNode({
|
|
11
|
+
shader: renderer.createShader('RoundedRectangle', {
|
|
12
|
+
radius: 100
|
|
13
|
+
})
|
|
14
|
+
});
|
|
15
|
+
node2.shader.props.radius = 200;
|
|
16
|
+
node2.animate({
|
|
17
|
+
shaderProps: {
|
|
18
|
+
radius: 200
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
// Dynamic Shader
|
|
22
|
+
class Effect {
|
|
23
|
+
props;
|
|
24
|
+
constructor(props) {
|
|
25
|
+
this.props = props;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
class SomeEffect extends Effect {
|
|
29
|
+
constructor(props) {
|
|
30
|
+
super(props);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class SomeEffect2 extends Effect {
|
|
34
|
+
constructor(props) {
|
|
35
|
+
super(props);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const node = renderer.createNode({
|
|
39
|
+
shader: renderer.createDynamicShader([
|
|
40
|
+
createEffect('e1', 'SomeEffect', { color: 0xff0000 }),
|
|
41
|
+
createEffect('e2', 'SomeEffect2', { color2: 0xff0000 }),
|
|
42
|
+
])
|
|
43
|
+
});
|
|
44
|
+
node.animate({
|
|
45
|
+
x: 12,
|
|
46
|
+
shaderProps: {
|
|
47
|
+
e1: {
|
|
48
|
+
color: 0x00ff00
|
|
49
|
+
},
|
|
50
|
+
e2: {
|
|
51
|
+
color2: 0x00ff00
|
|
52
|
+
},
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
node.shader.props.e1.color = 0x00ff00;
|
|
56
|
+
// Default Shader
|
|
57
|
+
const node3 = renderer.createNode({
|
|
58
|
+
x: 0,
|
|
59
|
+
y: 0
|
|
60
|
+
});
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=effectsMock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effectsMock.js","sourceRoot":"","sources":["../../src/effectsMock.ts"],"names":[],"mappings":"AAaA,SAAS,YAAY,CAAoD,IAAU,EAAE,IAAU,EAAE,KAA8D;IAC7J,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC;AA0JD,MAAM,QAAQ,GAAa,EAAc,CAAC;AAuB1C,0BAA0B;AAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC;IAChC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE;QAChD,MAAM,EAAE,GAAG;KACZ,CAAC;CACH,CAAC,CAAC;AAEH,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;AAEhC,KAAK,CAAC,OAAO,CAAC;IACZ,WAAW,EAAE;QACX,MAAM,EAAE,GAAG;KACZ;CACF,CAAC,CAAC;AAiBH,iBAAiB;AACjB,MAAM,MAAM;IACV,KAAK,CAAU;IAEf,YAAY,KAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,UAAW,SAAQ,MAAM;IAK7B,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,MAAM,WAAY,SAAQ,MAAM;IAK9B,YAAY,KAA2B;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAgBD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;QACnC,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACrD,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACxD,CAAC;CACH,CAAC,CAAA;AAGF,IAAI,CAAC,OAAO,CAAC;IACX,CAAC,EAAE,EAAE;IACL,WAAW,EAAE;QACX,EAAE,EAAE;YACF,KAAK,EAAE,QAAQ;SAChB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,QAAQ;SACjB;KACF;CACF,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC;AAuBtC,iBAAiB;AACjB,MAAM,KAAK,GAAU,QAAQ,CAAC,UAAU,CAAC;IACvC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { CoreShaderManager, EffectMap, ShaderMap } from '../core/CoreShaderManager.js';
|
|
2
|
+
import type { ExtractProps } from '../core/CoreTextureManager.js';
|
|
3
|
+
import type { EffectDesc } from '../core/renderers/webgl/shaders/DynamicShader.js';
|
|
4
|
+
import type { ShaderController } from './ShaderController.js';
|
|
5
|
+
type MapEffectProps<Effects extends [...{
|
|
6
|
+
name: string;
|
|
7
|
+
type: keyof EffectMap;
|
|
8
|
+
}[]]> = {
|
|
9
|
+
[K in Effects[number] as K['name']]: ExtractProps<EffectMap[K['type']]>;
|
|
10
|
+
};
|
|
11
|
+
export type DynamicEffects<T extends [...{
|
|
12
|
+
name: string;
|
|
13
|
+
type: keyof EffectMap;
|
|
14
|
+
}[]]> = {
|
|
15
|
+
[K in keyof T]: EffectDesc<T[K]>;
|
|
16
|
+
};
|
|
17
|
+
export interface DynamicShaderController<Effects extends [...{
|
|
18
|
+
name: string;
|
|
19
|
+
type: keyof EffectMap;
|
|
20
|
+
}[]]> extends ShaderController<'DynamicShader'> {
|
|
21
|
+
props: MapEffectProps<Effects>;
|
|
22
|
+
}
|
|
23
|
+
export declare class DynamicShaderControllerInstance<Effects extends [...{
|
|
24
|
+
name: string;
|
|
25
|
+
type: keyof EffectMap;
|
|
26
|
+
}[]]> implements DynamicShaderController<Effects> {
|
|
27
|
+
readonly shader: InstanceType<ShaderMap['DynamicShader']>;
|
|
28
|
+
private resolvedProps;
|
|
29
|
+
props: MapEffectProps<Effects>;
|
|
30
|
+
type: 'DynamicShader';
|
|
31
|
+
constructor(shader: InstanceType<ShaderMap['DynamicShader']>, props: ExtractProps<ShaderMap['DynamicShader']>, shManager: CoreShaderManager);
|
|
32
|
+
getResolvedProps(): import("../core/renderers/webgl/shaders/DynamicShader.js").DynamicShaderProps;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export class DynamicShaderControllerInstance {
|
|
2
|
+
shader;
|
|
3
|
+
resolvedProps;
|
|
4
|
+
props;
|
|
5
|
+
type;
|
|
6
|
+
constructor(shader, props, shManager) {
|
|
7
|
+
this.shader = shader;
|
|
8
|
+
this.type = 'DynamicShader';
|
|
9
|
+
this.resolvedProps = props;
|
|
10
|
+
const definedProps = {};
|
|
11
|
+
const effects = props.effects;
|
|
12
|
+
const effectsLength = effects.length;
|
|
13
|
+
let i = 0;
|
|
14
|
+
for (; i < effectsLength; i++) {
|
|
15
|
+
const { name: effectName, props: effectProps, type: effectType, } = effects[i];
|
|
16
|
+
const effectIndex = i;
|
|
17
|
+
const definedEffectProps = {};
|
|
18
|
+
const propEntries = Object.keys(effectProps);
|
|
19
|
+
const propEntriesLength = propEntries.length;
|
|
20
|
+
let j = 0;
|
|
21
|
+
for (; j < propEntriesLength; j++) {
|
|
22
|
+
const propName = propEntries[j];
|
|
23
|
+
Object.defineProperty(definedEffectProps, propName, {
|
|
24
|
+
get: () => {
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
26
|
+
return this.resolvedProps.effects[effectIndex].props[propName].value;
|
|
27
|
+
},
|
|
28
|
+
set: (value) => {
|
|
29
|
+
const target = this.resolvedProps.effects[effectIndex].props[propName];
|
|
30
|
+
target.value = value;
|
|
31
|
+
if (target.programValues.hasValidator) {
|
|
32
|
+
const effectConstructor = shManager.getRegisteredEffects()[effectType];
|
|
33
|
+
value = effectConstructor?.uniforms[propName]?.validator(value, effectProps);
|
|
34
|
+
}
|
|
35
|
+
if (Array.isArray(value)) {
|
|
36
|
+
value = new Float32Array(value);
|
|
37
|
+
}
|
|
38
|
+
target.programValues.value = value;
|
|
39
|
+
shManager.renderer.stage.requestRender();
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
Object.defineProperty(definedProps, effectName, {
|
|
44
|
+
value: definedEffectProps,
|
|
45
|
+
writable: false,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
this.props = definedProps;
|
|
49
|
+
}
|
|
50
|
+
getResolvedProps() {
|
|
51
|
+
return this.resolvedProps;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=DynamicShaderController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicShaderController.js","sourceRoot":"","sources":["../../../src/main-api/DynamicShaderController.ts"],"names":[],"mappings":"AA2BA,MAAM,OAAO,+BAA+B;IAS/B;IALH,aAAa,CAA2C;IAChE,KAAK,CAA0B;IAC/B,IAAI,CAAkB;IAEtB,YACW,MAAgD,EACzD,KAA+C,EAC/C,SAA4B;QAFnB,WAAM,GAAN,MAAM,CAA0C;QAIzD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAQ,CAAC;QAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QAErC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YAC7B,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,GACjB,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAChB,MAAM,WAAW,GAAG,CAAC,CAAC;YACtB,MAAM,kBAAkB,GAAG,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;gBACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;gBACjC,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,QAAQ,EAAE;oBAClD,GAAG,EAAE,GAAG,EAAE;wBACR,+DAA+D;wBAC/D,OACE,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,WAAW,CAAE,CAAC,KAAK,CAC7C,QAAQ,CAEX,CAAC,KAAK,CAAC;oBACV,CAAC;oBACD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;wBACb,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,WAAW,CAAE,CAAC,KAAK,CAC5D,QAAQ,CACc,CAAC;wBACzB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;wBACrB,IAAI,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE;4BACrC,MAAM,iBAAiB,GACrB,SAAS,CAAC,oBAAoB,EAAE,CAAC,UAAU,CAAC,CAAC;4BAC/C,KAAK,GAAG,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAU,CACvD,KAAK,EACL,WAAW,CACZ,CAAC;yBACH;wBACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;4BACxB,KAAK,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;yBACjC;wBACD,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;wBACnC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBAC3C,CAAC;iBACF,CAAC,CAAC;aACJ;YAED,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE;gBAC9C,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,KAAK,GAAG,YAAuC,CAAC;IACvD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import type { ShaderMap } from '../core/CoreShaderManager.js';
|
|
1
|
+
import type { EffectMap, ShaderMap } from '../core/CoreShaderManager.js';
|
|
2
2
|
import type { ExtractProps, TextureTypeMap, TextureMap } from '../core/CoreTextureManager.js';
|
|
3
3
|
import { EventEmitter } from '../common/EventEmitter.js';
|
|
4
4
|
import { Stage } from '../core/Stage.js';
|
|
5
|
-
import { CoreNode
|
|
6
|
-
import {
|
|
7
|
-
import type {
|
|
5
|
+
import { CoreNode } from '../core/CoreNode.js';
|
|
6
|
+
import type { BaseShaderController, ShaderController } from './ShaderController.js';
|
|
7
|
+
import type { INode, INodeProps, ITextNode, ITextNodeProps } from './INode.js';
|
|
8
|
+
import type { DynamicEffects, DynamicShaderController } from './DynamicShaderController.js';
|
|
9
|
+
import type { EffectDesc } from '../core/renderers/webgl/shaders/DynamicShader.js';
|
|
8
10
|
/**
|
|
9
11
|
* An immutable reference to a specific Shader type
|
|
10
12
|
*
|
|
@@ -51,11 +53,18 @@ export interface RendererMainSettings {
|
|
|
51
53
|
*/
|
|
52
54
|
appHeight?: number;
|
|
53
55
|
/**
|
|
54
|
-
* Texture Memory
|
|
56
|
+
* Texture Memory Byte Threshold
|
|
57
|
+
*
|
|
58
|
+
* @remarks
|
|
59
|
+
* When the amount of GPU VRAM used by textures exceeds this threshold,
|
|
60
|
+
* the Renderer will free up all the textures that are current not visible
|
|
61
|
+
* within the configured `boundsMargin`.
|
|
62
|
+
*
|
|
63
|
+
* When set to `0`, the threshold-based texture memory manager is disabled.
|
|
55
64
|
*/
|
|
56
|
-
|
|
65
|
+
txMemByteThreshold?: number;
|
|
57
66
|
/**
|
|
58
|
-
* Bounds margin to extend the boundary in which a
|
|
67
|
+
* Bounds margin to extend the boundary in which a Node is added as Quad.
|
|
59
68
|
*/
|
|
60
69
|
boundsMargin?: number | [number, number, number, number];
|
|
61
70
|
/**
|
|
@@ -169,33 +178,9 @@ export interface RendererMainSettings {
|
|
|
169
178
|
* new MainCoreDriver(),
|
|
170
179
|
* );
|
|
171
180
|
* ```
|
|
172
|
-
*
|
|
173
|
-
* ## Events
|
|
174
|
-
* - `fpsUpdate`
|
|
175
|
-
* - Emitted every `fpsUpdateInterval` milliseconds with the current FPS
|
|
176
|
-
* - `frameTick`
|
|
177
|
-
* - Emitted every frame tick
|
|
178
|
-
* - `idle`
|
|
179
|
-
* - Emitted when the renderer is idle (no changes to the scene
|
|
180
|
-
* graph/animations running)
|
|
181
|
-
* - `criticalCleanup`
|
|
182
|
-
* - Emitted when the Texture Memory Manager Cleanup process is triggered
|
|
183
|
-
* - Payload: { memUsed: number, criticalThreshold: number }
|
|
184
|
-
* - `memUsed` - The amount of memory (in bytes) used by textures before the
|
|
185
|
-
* cleanup process
|
|
186
|
-
* - `criticalThreshold` - The critical threshold (in bytes)
|
|
187
|
-
* - `criticalCleanupFailed`
|
|
188
|
-
* - Emitted when the Texture Memory Manager Cleanup process is unable to free
|
|
189
|
-
* up enough texture memory to reach below the critical threshold.
|
|
190
|
-
* This can happen when there is not enough non-renderable textures to
|
|
191
|
-
* free up.
|
|
192
|
-
* - Payload (object with keys):
|
|
193
|
-
* - `memUsed` - The amount of memory (in bytes) used by textures after
|
|
194
|
-
* the cleanup process
|
|
195
|
-
* - `criticalThreshold` - The critical threshold (in bytes)
|
|
196
181
|
*/
|
|
197
182
|
export declare class RendererMain extends EventEmitter {
|
|
198
|
-
readonly root:
|
|
183
|
+
readonly root: INode<ShaderController<'DefaultShader'>>;
|
|
199
184
|
readonly canvas: HTMLCanvasElement;
|
|
200
185
|
readonly settings: Readonly<Required<RendererMainSettings>>;
|
|
201
186
|
readonly stage: Stage;
|
|
@@ -223,7 +208,7 @@ export declare class RendererMain extends EventEmitter {
|
|
|
223
208
|
* @param props
|
|
224
209
|
* @returns
|
|
225
210
|
*/
|
|
226
|
-
createNode(props: Partial<
|
|
211
|
+
createNode<ShCtr extends BaseShaderController = ShaderController<'DefaultShader'>>(props: Partial<INodeProps<ShCtr>>): INode<ShCtr>;
|
|
227
212
|
/**
|
|
228
213
|
* Create a new scene graph text node
|
|
229
214
|
*
|
|
@@ -238,7 +223,7 @@ export declare class RendererMain extends EventEmitter {
|
|
|
238
223
|
* @param props
|
|
239
224
|
* @returns
|
|
240
225
|
*/
|
|
241
|
-
createTextNode(props: Partial<
|
|
226
|
+
createTextNode(props: Partial<ITextNodeProps>): ITextNode;
|
|
242
227
|
/**
|
|
243
228
|
* Resolves the default property values for a Node
|
|
244
229
|
*
|
|
@@ -250,7 +235,7 @@ export declare class RendererMain extends EventEmitter {
|
|
|
250
235
|
* @param props
|
|
251
236
|
* @returns
|
|
252
237
|
*/
|
|
253
|
-
resolveNodeDefaults
|
|
238
|
+
private resolveNodeDefaults;
|
|
254
239
|
/**
|
|
255
240
|
* Destroy a node
|
|
256
241
|
*
|
|
@@ -260,7 +245,7 @@ export declare class RendererMain extends EventEmitter {
|
|
|
260
245
|
* @param node
|
|
261
246
|
* @returns
|
|
262
247
|
*/
|
|
263
|
-
destroyNode(node:
|
|
248
|
+
destroyNode(node: INode): void;
|
|
264
249
|
/**
|
|
265
250
|
* Create a new texture reference
|
|
266
251
|
*
|
|
@@ -278,11 +263,13 @@ export declare class RendererMain extends EventEmitter {
|
|
|
278
263
|
*/
|
|
279
264
|
createTexture<TxType extends keyof TextureTypeMap>(textureType: TxType, props: ExtractProps<TextureTypeMap[TxType]>): TextureMap[TxType];
|
|
280
265
|
/**
|
|
281
|
-
* Create a new shader
|
|
266
|
+
* Create a new shader controller for a shader type
|
|
282
267
|
*
|
|
283
268
|
* @remarks
|
|
284
|
-
* This method creates a new
|
|
285
|
-
*
|
|
269
|
+
* This method creates a new Shader Controller for a specific shader type.
|
|
270
|
+
*
|
|
271
|
+
* If the shader has not been loaded yet, it will be loaded. Otherwise, the
|
|
272
|
+
* existing shader will be reused.
|
|
286
273
|
*
|
|
287
274
|
* It can be assigned to a Node's `shader` property.
|
|
288
275
|
*
|
|
@@ -290,7 +277,18 @@ export declare class RendererMain extends EventEmitter {
|
|
|
290
277
|
* @param props
|
|
291
278
|
* @returns
|
|
292
279
|
*/
|
|
293
|
-
createShader<ShType extends keyof ShaderMap>(shaderType: ShType, props?: ExtractProps<ShaderMap[ShType]>):
|
|
280
|
+
createShader<ShType extends keyof ShaderMap>(shaderType: ShType, props?: ExtractProps<ShaderMap[ShType]>): ShaderController<ShType>;
|
|
281
|
+
createDynamicShader<T extends DynamicEffects<[...{
|
|
282
|
+
name: string;
|
|
283
|
+
type: keyof EffectMap;
|
|
284
|
+
}[]]>>(effects: [...T]): DynamicShaderController<T>;
|
|
285
|
+
createEffect<Name extends string, Type extends keyof EffectMap>(name: Name, type: Type, props: EffectDesc<{
|
|
286
|
+
name: Name;
|
|
287
|
+
type: Type;
|
|
288
|
+
}>['props']): EffectDesc<{
|
|
289
|
+
name: Name;
|
|
290
|
+
type: Type;
|
|
291
|
+
}>;
|
|
294
292
|
/**
|
|
295
293
|
* Get a Node by its ID
|
|
296
294
|
*
|