@lightningjs/renderer 2.3.2 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/exports/core-api.d.ts +74 -0
- package/dist/exports/core-api.js +96 -0
- package/dist/exports/core-api.js.map +1 -0
- package/dist/exports/main-api.d.ts +30 -0
- package/dist/exports/main-api.js +45 -0
- package/dist/exports/main-api.js.map +1 -0
- package/dist/src/common/CommonTypes.d.ts +6 -0
- package/dist/src/core/CoreExtension.d.ts +12 -0
- package/dist/src/core/CoreExtension.js +29 -0
- package/dist/src/core/CoreExtension.js.map +1 -0
- package/dist/src/core/CoreNode.js +37 -39
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/Stage.d.ts +1 -0
- package/dist/src/core/Stage.js +4 -1
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/animations/CoreAnimation.d.ts +1 -0
- package/dist/src/core/animations/CoreAnimation.js +6 -0
- package/dist/src/core/animations/CoreAnimation.js.map +1 -1
- package/dist/src/core/animations/CoreAnimationController.d.ts +1 -0
- package/dist/src/core/animations/CoreAnimationController.js +6 -0
- package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +7 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +11 -4
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +94 -98
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +4 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +5 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -1
- package/dist/src/core/text-rendering/TrFontManager.d.ts +1 -1
- package/dist/src/core/text-rendering/TrFontManager.js +2 -2
- package/dist/src/core/text-rendering/TrFontManager.js.map +1 -1
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +5 -6
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +18 -10
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +4 -4
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +3 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +2 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +1 -1
- package/dist/src/core/textures/ColorTexture.d.ts +2 -1
- package/dist/src/core/textures/ColorTexture.js +2 -1
- package/dist/src/core/textures/ColorTexture.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.d.ts +2 -1
- package/dist/src/core/textures/ImageTexture.js +4 -3
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/NoiseTexture.d.ts +2 -1
- package/dist/src/core/textures/NoiseTexture.js +2 -1
- package/dist/src/core/textures/NoiseTexture.js.map +1 -1
- package/dist/src/core/textures/RenderTexture.d.ts +2 -1
- package/dist/src/core/textures/RenderTexture.js +2 -1
- package/dist/src/core/textures/RenderTexture.js.map +1 -1
- package/dist/src/core/textures/SubTexture.d.ts +2 -1
- package/dist/src/core/textures/SubTexture.js +2 -1
- package/dist/src/core/textures/SubTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +9 -0
- package/dist/src/core/textures/Texture.js +10 -0
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/core/utils.d.ts +1 -1
- package/dist/src/main-api/ICoreDriver.d.ts +24 -0
- package/dist/src/main-api/ICoreDriver.js +20 -0
- package/dist/src/main-api/ICoreDriver.js.map +1 -0
- package/dist/src/main-api/Renderer.js +1 -0
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/main-api/RendererMain.d.ts +378 -0
- package/dist/src/main-api/RendererMain.js +367 -0
- package/dist/src/main-api/RendererMain.js.map +1 -0
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +9 -0
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +38 -0
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +1 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +56 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +101 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +32 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +28 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +1 -0
- package/dist/src/render-drivers/main/MainCoreDriver.d.ts +21 -0
- package/dist/src/render-drivers/main/MainCoreDriver.js +115 -0
- package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyNode.d.ts +101 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js +425 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +47 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +204 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/NodeStruct.d.ts +93 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js +290 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +40 -0
- package/dist/src/render-drivers/threadx/SharedNode.js +61 -0
- package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +44 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +203 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +25 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +232 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +24 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +113 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +46 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +160 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +28 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +55 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +70 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +32 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +19 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +184 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +27 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +109 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/renderer.d.ts +1 -0
- package/dist/src/render-drivers/threadx/worker/renderer.js +147 -0
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -0
- package/dist/src/render-drivers/utils.d.ts +12 -0
- package/dist/src/render-drivers/utils.js +74 -0
- package/dist/src/render-drivers/utils.js.map +1 -0
- package/dist/src/utils.js +1 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +1 -1
- package/src/common/CommonTypes.ts +7 -0
- package/src/core/CoreNode.ts +38 -55
- package/src/core/Stage.ts +6 -1
- package/src/core/animations/CoreAnimation.ts +7 -0
- package/src/core/animations/CoreAnimationController.ts +12 -0
- package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +7 -1
- package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +13 -4
- package/src/core/renderers/webgl/WebGlCoreRenderer.ts +122 -136
- package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +7 -0
- package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +8 -1
- package/src/core/text-rendering/TrFontManager.ts +3 -1
- package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -1
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +7 -7
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +28 -14
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +8 -6
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +5 -1
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +2 -1
- package/src/core/textures/ColorTexture.ts +3 -1
- package/src/core/textures/ImageTexture.ts +5 -3
- package/src/core/textures/NoiseTexture.ts +3 -1
- package/src/core/textures/RenderTexture.ts +3 -1
- package/src/core/textures/SubTexture.ts +3 -0
- package/src/core/textures/Texture.ts +11 -0
- package/src/main-api/Renderer.ts +1 -0
- package/src/utils.ts +1 -1
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import type { CoreTextureManager } from '../CoreTextureManager.js';
|
|
21
|
-
import { Texture, type TextureData } from './Texture.js';
|
|
21
|
+
import { Texture, TextureType, type TextureData } from './Texture.js';
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Properties of the {@link ColorTexture}
|
|
@@ -45,6 +45,8 @@ export interface ColorTextureProps {
|
|
|
45
45
|
* a Node are.
|
|
46
46
|
*/
|
|
47
47
|
export class ColorTexture extends Texture {
|
|
48
|
+
public override type: TextureType = TextureType.color;
|
|
49
|
+
|
|
48
50
|
props: Required<ColorTextureProps>;
|
|
49
51
|
|
|
50
52
|
constructor(txManager: CoreTextureManager, props?: ColorTextureProps) {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import type { CoreTextureManager } from '../CoreTextureManager.js';
|
|
21
|
-
import { Texture, type TextureData } from './Texture.js';
|
|
21
|
+
import { Texture, TextureType, type TextureData } from './Texture.js';
|
|
22
22
|
import {
|
|
23
23
|
isCompressedTextureContainer,
|
|
24
24
|
loadCompressedTexture,
|
|
@@ -121,6 +121,8 @@ export interface ImageTextureProps {
|
|
|
121
121
|
export class ImageTexture extends Texture {
|
|
122
122
|
props: Required<ImageTextureProps>;
|
|
123
123
|
|
|
124
|
+
public override type: TextureType = TextureType.image;
|
|
125
|
+
|
|
124
126
|
constructor(txManager: CoreTextureManager, props: ImageTextureProps) {
|
|
125
127
|
super(txManager);
|
|
126
128
|
this.props = ImageTexture.resolveDefaults(props);
|
|
@@ -168,8 +170,8 @@ export class ImageTexture extends Texture {
|
|
|
168
170
|
premultiplyAlpha: hasAlphaChannel,
|
|
169
171
|
};
|
|
170
172
|
} else {
|
|
171
|
-
const img = new Image(
|
|
172
|
-
if (!
|
|
173
|
+
const img = new Image();
|
|
174
|
+
if (!src.startsWith('data:')) {
|
|
173
175
|
img.crossOrigin = 'Anonymous';
|
|
174
176
|
}
|
|
175
177
|
img.src = src;
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import type { CoreTextureManager } from '../CoreTextureManager.js';
|
|
21
|
-
import { Texture, type TextureData } from './Texture.js';
|
|
21
|
+
import { Texture, TextureType, type TextureData } from './Texture.js';
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Properties of the {@link NoiseTexture}
|
|
@@ -56,6 +56,8 @@ export interface NoiseTextureProps {
|
|
|
56
56
|
export class NoiseTexture extends Texture {
|
|
57
57
|
props: Required<NoiseTextureProps>;
|
|
58
58
|
|
|
59
|
+
public override type: TextureType = TextureType.noise;
|
|
60
|
+
|
|
59
61
|
constructor(txManager: CoreTextureManager, props: NoiseTextureProps) {
|
|
60
62
|
super(txManager);
|
|
61
63
|
this.props = NoiseTexture.resolveDefaults(props);
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import type { CoreTextureManager } from '../CoreTextureManager.js';
|
|
21
|
-
import { Texture, type TextureData } from './Texture.js';
|
|
21
|
+
import { Texture, TextureType, type TextureData } from './Texture.js';
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Properties of the {@link RenderTexture}
|
|
@@ -40,6 +40,8 @@ export interface RenderTextureProps {
|
|
|
40
40
|
export class RenderTexture extends Texture {
|
|
41
41
|
props: Required<RenderTextureProps>;
|
|
42
42
|
|
|
43
|
+
public override type: TextureType = TextureType.renderToTexture;
|
|
44
|
+
|
|
43
45
|
constructor(txManager: CoreTextureManager, props?: RenderTextureProps) {
|
|
44
46
|
super(txManager);
|
|
45
47
|
this.props = RenderTexture.resolveDefaults(props || {});
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
import type { CoreTextureManager } from '../CoreTextureManager.js';
|
|
21
21
|
import {
|
|
22
22
|
Texture,
|
|
23
|
+
TextureType,
|
|
23
24
|
type TextureData,
|
|
24
25
|
type TextureFailedEventHandler,
|
|
25
26
|
type TextureLoadedEventHandler,
|
|
@@ -77,6 +78,8 @@ export class SubTexture extends Texture {
|
|
|
77
78
|
props: Required<SubTextureProps>;
|
|
78
79
|
parentTexture: Texture;
|
|
79
80
|
|
|
81
|
+
public override type: TextureType = TextureType.subTexture;
|
|
82
|
+
|
|
80
83
|
constructor(txManager: CoreTextureManager, props: SubTextureProps) {
|
|
81
84
|
super(txManager);
|
|
82
85
|
this.props = SubTexture.resolveDefaults(props || {});
|
|
@@ -102,6 +102,15 @@ export interface TextureData {
|
|
|
102
102
|
|
|
103
103
|
export type TextureState = 'freed' | 'loading' | 'loaded' | 'failed';
|
|
104
104
|
|
|
105
|
+
export enum TextureType {
|
|
106
|
+
'generic' = 0,
|
|
107
|
+
'color' = 1,
|
|
108
|
+
'image' = 2,
|
|
109
|
+
'noise' = 3,
|
|
110
|
+
'renderToTexture' = 4,
|
|
111
|
+
'subTexture' = 5,
|
|
112
|
+
}
|
|
113
|
+
|
|
105
114
|
export interface TextureStateEventMap {
|
|
106
115
|
freed: TextureFreedEventHandler;
|
|
107
116
|
loading: TextureLoadingEventHandler;
|
|
@@ -150,6 +159,8 @@ export abstract class Texture extends EventEmitter {
|
|
|
150
159
|
|
|
151
160
|
readonly lastRenderableChangeTime = 0;
|
|
152
161
|
|
|
162
|
+
public type: TextureType = TextureType.generic;
|
|
163
|
+
|
|
153
164
|
public preventCleanup = false;
|
|
154
165
|
|
|
155
166
|
constructor(protected txManager: CoreTextureManager) {
|
package/src/main-api/Renderer.ts
CHANGED
package/src/utils.ts
CHANGED
|
@@ -80,7 +80,7 @@ export function assertTruthy(
|
|
|
80
80
|
condition: unknown,
|
|
81
81
|
message?: string,
|
|
82
82
|
): asserts condition {
|
|
83
|
-
if (isProductionEnvironment()) return;
|
|
83
|
+
if (isProductionEnvironment() === true) return;
|
|
84
84
|
if (!condition) {
|
|
85
85
|
throw new Error(message || 'Assertion failed');
|
|
86
86
|
}
|