@lightningjs/renderer 2.14.4 → 2.16.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/canvas-shaders.d.ts +10 -0
- package/dist/exports/canvas-shaders.js +27 -0
- package/dist/exports/canvas-shaders.js.map +1 -0
- package/dist/exports/webgl-shaders.d.ts +11 -0
- package/dist/exports/webgl-shaders.js +28 -0
- package/dist/exports/webgl-shaders.js.map +1 -0
- package/dist/src/core/CoreNode.d.ts +8 -0
- package/dist/src/core/CoreNode.js +11 -0
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/Stage.d.ts +36 -0
- package/dist/src/core/Stage.js +63 -1
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/lib/utils.d.ts +1 -0
- package/dist/src/core/lib/utils.js +3 -0
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/platform.js +29 -3
- package/dist/src/core/platform.js.map +1 -1
- package/dist/src/core/platforms/Platform.d.ts +37 -0
- package/dist/src/core/platforms/Platform.js +22 -0
- package/dist/src/core/platforms/Platform.js.map +1 -0
- package/dist/src/core/platforms/web/WebPlatform.d.ts +9 -0
- package/dist/src/core/platforms/web/WebPlatform.js +58 -0
- package/dist/src/core/platforms/web/WebPlatform.js.map +1 -0
- package/dist/src/core/renderers/CoreShaderNode.d.ts +59 -0
- package/dist/src/core/renderers/CoreShaderNode.js +113 -0
- package/dist/src/core/renderers/CoreShaderNode.js.map +1 -0
- package/dist/src/core/renderers/CoreShaderProgram.d.ts +4 -0
- package/dist/src/core/renderers/CoreShaderProgram.js +20 -0
- package/dist/src/core/renderers/CoreShaderProgram.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +37 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +215 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +21 -0
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js +57 -0
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +16 -0
- package/dist/src/core/renderers/canvas/CanvasTexture.js +124 -0
- package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +12 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +55 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +9 -0
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +38 -0
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +57 -0
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +224 -0
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +44 -0
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js +125 -0
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +136 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +573 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +222 -0
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js +331 -0
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +35 -0
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +201 -0
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -0
- package/dist/src/core/shaders/canvas/Border.d.ts +9 -0
- package/dist/src/core/shaders/canvas/Border.js +57 -0
- package/dist/src/core/shaders/canvas/Border.js.map +1 -0
- package/dist/src/core/shaders/canvas/HolePunch.d.ts +7 -0
- package/dist/src/core/shaders/canvas/HolePunch.js +38 -0
- package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -0
- package/dist/src/core/shaders/canvas/LinearGradient.d.ts +10 -0
- package/dist/src/core/shaders/canvas/LinearGradient.js +48 -0
- package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -0
- package/dist/src/core/shaders/canvas/RadialGradient.d.ts +11 -0
- package/dist/src/core/shaders/canvas/RadialGradient.js +70 -0
- package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -0
- package/dist/src/core/shaders/canvas/Rounded.d.ts +7 -0
- package/dist/src/core/shaders/canvas/Rounded.js +33 -0
- package/dist/src/core/shaders/canvas/Rounded.js.map +1 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +7 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js +43 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +8 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +41 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -0
- package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +7 -0
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js +40 -0
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -0
- package/dist/src/core/shaders/canvas/Shadow.d.ts +8 -0
- package/dist/src/core/shaders/canvas/Shadow.js +31 -0
- package/dist/src/core/shaders/canvas/Shadow.js.map +1 -0
- package/dist/src/core/shaders/canvas/utils/render.d.ts +5 -0
- package/dist/src/core/shaders/canvas/utils/render.js +84 -0
- package/dist/src/core/shaders/canvas/utils/render.js.map +1 -0
- package/dist/src/core/shaders/templates/BorderTemplate.d.ts +37 -0
- package/dist/src/core/shaders/templates/BorderTemplate.js +73 -0
- package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +46 -0
- package/dist/src/core/shaders/templates/HolePunchTemplate.js +35 -0
- package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +23 -0
- package/dist/src/core/shaders/templates/LinearGradientTemplate.js +47 -0
- package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +31 -0
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js +49 -0
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +29 -0
- package/dist/src/core/shaders/templates/RoundedTemplate.js +67 -0
- package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +7 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +24 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +6 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +23 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +6 -0
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +23 -0
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +34 -0
- package/dist/src/core/shaders/templates/ShadowTemplate.js +66 -0
- package/dist/src/core/shaders/templates/ShadowTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/shaderUtils.d.ts +5 -0
- package/dist/src/core/shaders/templates/shaderUtils.js +41 -0
- package/dist/src/core/shaders/templates/shaderUtils.js.map +1 -0
- package/dist/src/core/shaders/utils.d.ts +5 -0
- package/dist/src/core/shaders/utils.js +41 -0
- package/dist/src/core/shaders/utils.js.map +1 -0
- package/dist/src/core/shaders/webgl/Border.d.ts +3 -0
- package/dist/src/core/shaders/webgl/Border.js +110 -0
- package/dist/src/core/shaders/webgl/Border.js.map +1 -0
- package/dist/src/core/shaders/webgl/Default.d.ts +2 -0
- package/dist/src/core/shaders/webgl/Default.js +86 -0
- package/dist/src/core/shaders/webgl/Default.js.map +1 -0
- package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +2 -0
- package/dist/src/core/shaders/webgl/DefaultBatched.js +104 -0
- package/dist/src/core/shaders/webgl/DefaultBatched.js.map +1 -0
- package/dist/src/core/shaders/webgl/HolePunch.d.ts +3 -0
- package/dist/src/core/shaders/webgl/HolePunch.js +65 -0
- package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -0
- package/dist/src/core/shaders/webgl/LinearGradient.d.ts +3 -0
- package/dist/src/core/shaders/webgl/LinearGradient.js +76 -0
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -0
- package/dist/src/core/shaders/webgl/RadialGradient.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RadialGradient.js +74 -0
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -0
- package/dist/src/core/shaders/webgl/Rounded.d.ts +7 -0
- package/dist/src/core/shaders/webgl/Rounded.js +86 -0
- package/dist/src/core/shaders/webgl/Rounded.js.map +1 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +140 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +162 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -0
- package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js +84 -0
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -0
- package/dist/src/core/shaders/webgl/SdfShader.d.ts +32 -0
- package/dist/src/core/shaders/webgl/SdfShader.js +116 -0
- package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -0
- package/dist/src/core/shaders/webgl/Shadow.d.ts +3 -0
- package/dist/src/core/shaders/webgl/Shadow.js +110 -0
- package/dist/src/core/shaders/webgl/Shadow.js.map +1 -0
- package/dist/src/core/shaders/webgl/Spinner.js +2 -0
- package/dist/src/core/shaders/webgl/Spinner.js.map +1 -0
- package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +25 -0
- package/dist/src/core/text-rendering/CanvasFontHandler.js +117 -0
- package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +6 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.js +139 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/SdfFontHandler.d.ts +137 -0
- package/dist/src/core/text-rendering/SdfFontHandler.js +336 -0
- package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +21 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.js +324 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/TextRenderer.d.ts +425 -0
- package/dist/src/core/text-rendering/TextRenderer.js +70 -0
- package/dist/src/core/text-rendering/TextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/Utils.d.ts +71 -0
- package/dist/src/core/text-rendering/Utils.js +212 -0
- package/dist/src/core/text-rendering/Utils.js.map +1 -0
- package/dist/src/core/text-rendering/canvas/Settings.d.ts +53 -0
- package/dist/src/core/text-rendering/canvas/Settings.js +20 -0
- package/dist/src/core/text-rendering/canvas/Settings.js.map +1 -0
- package/dist/src/core/text-rendering/canvas/Utils.d.ts +19 -0
- package/dist/src/core/text-rendering/canvas/Utils.js +139 -0
- package/dist/src/core/text-rendering/canvas/Utils.js.map +1 -0
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.d.ts +37 -0
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js +188 -0
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js.map +1 -0
- package/dist/src/core/text-rendering/canvas/draw.d.ts +12 -0
- package/dist/src/core/text-rendering/canvas/draw.js +133 -0
- package/dist/src/core/text-rendering/canvas/draw.js.map +1 -0
- package/dist/src/core/text-rendering/sdf/PeekableGenerator.d.ts +12 -0
- package/dist/src/core/text-rendering/sdf/PeekableGenerator.js +61 -0
- package/dist/src/core/text-rendering/sdf/PeekableGenerator.js.map +1 -0
- package/dist/src/core/text-rendering/sdf/SimpleFontShaper.d.ts +45 -0
- package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js +69 -0
- package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js.map +1 -0
- package/dist/src/core/utils.d.ts +1 -1
- package/dist/src/main-api/Renderer.d.ts +46 -0
- package/dist/src/main-api/Renderer.js +38 -0
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/core/CoreNode.ts +19 -0
- package/src/core/Stage.ts +79 -1
- package/src/core/lib/utils.ts +4 -0
- package/src/core/platform.ts +40 -3
- package/src/main-api/Renderer.ts +56 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js +0 -2
- package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js.map +0 -1
- /package/dist/src/core/{renderers/webgl/WebGlCoreShader.destroy.d.ts → shaders/webgl/Spinner.d.ts} +0 -0
package/src/main-api/Renderer.ts
CHANGED
|
@@ -157,6 +157,22 @@ export interface RendererMainSettings {
|
|
|
157
157
|
*/
|
|
158
158
|
fpsUpdateInterval?: number;
|
|
159
159
|
|
|
160
|
+
/**
|
|
161
|
+
* Target FPS for the global render loop
|
|
162
|
+
*
|
|
163
|
+
* @remarks
|
|
164
|
+
* Controls the maximum frame rate of the entire rendering system.
|
|
165
|
+
* When set to 0, no throttling is applied (use display refresh rate).
|
|
166
|
+
* When set to a positive number, the global requestAnimationFrame loop
|
|
167
|
+
* will be throttled to this target FPS, affecting all animations and rendering.
|
|
168
|
+
*
|
|
169
|
+
* This provides global performance control for the entire application,
|
|
170
|
+
* useful for managing performance on lower-end devices.
|
|
171
|
+
*
|
|
172
|
+
* @defaultValue `0` (no throttling, use display refresh rate)
|
|
173
|
+
*/
|
|
174
|
+
targetFPS?: number;
|
|
175
|
+
|
|
160
176
|
/**
|
|
161
177
|
* Include context call (i.e. WebGL) information in FPS updates
|
|
162
178
|
*
|
|
@@ -403,6 +419,7 @@ export class RendererMain extends EventEmitter {
|
|
|
403
419
|
settings.devicePhysicalPixelRatio || window.devicePixelRatio,
|
|
404
420
|
clearColor: settings.clearColor ?? 0x00000000,
|
|
405
421
|
fpsUpdateInterval: settings.fpsUpdateInterval || 0,
|
|
422
|
+
targetFPS: settings.targetFPS || 0,
|
|
406
423
|
numImageWorkers:
|
|
407
424
|
settings.numImageWorkers !== undefined ? settings.numImageWorkers : 2,
|
|
408
425
|
enableContextSpy: settings.enableContextSpy ?? false,
|
|
@@ -449,6 +466,7 @@ export class RendererMain extends EventEmitter {
|
|
|
449
466
|
enableContextSpy: this.settings.enableContextSpy,
|
|
450
467
|
forceWebGL2: this.settings.forceWebGL2,
|
|
451
468
|
fpsUpdateInterval: this.settings.fpsUpdateInterval,
|
|
469
|
+
targetFPS: this.settings.targetFPS,
|
|
452
470
|
numImageWorkers: this.settings.numImageWorkers,
|
|
453
471
|
renderEngine: this.settings.renderEngine,
|
|
454
472
|
textureMemory: resolvedTxSettings,
|
|
@@ -748,4 +766,42 @@ export class RendererMain extends EventEmitter {
|
|
|
748
766
|
setClearColor(color: number) {
|
|
749
767
|
this.stage.setClearColor(color);
|
|
750
768
|
}
|
|
769
|
+
|
|
770
|
+
/**
|
|
771
|
+
* Gets the target FPS for the global render loop
|
|
772
|
+
*
|
|
773
|
+
* @returns The current target FPS (0 means no throttling)
|
|
774
|
+
*
|
|
775
|
+
* @remarks
|
|
776
|
+
* This controls the maximum frame rate of the entire rendering system.
|
|
777
|
+
* When 0, the system runs at display refresh rate.
|
|
778
|
+
*/
|
|
779
|
+
get targetFPS(): number {
|
|
780
|
+
return this.stage.options.targetFPS;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
/**
|
|
784
|
+
* Sets the target FPS for the global render loop
|
|
785
|
+
*
|
|
786
|
+
* @param fps - The target FPS to set for the global render loop.
|
|
787
|
+
* Set to 0 or a negative value to disable throttling.
|
|
788
|
+
*
|
|
789
|
+
* @remarks
|
|
790
|
+
* This setting affects the entire rendering system immediately.
|
|
791
|
+
* All animations, rendering, and frame updates will be throttled
|
|
792
|
+
* to this target FPS. Provides global performance control.
|
|
793
|
+
*
|
|
794
|
+
* @example
|
|
795
|
+
* ```typescript
|
|
796
|
+
* // Set global target to 30fps for better performance
|
|
797
|
+
* renderer.targetFPS = 30;
|
|
798
|
+
*
|
|
799
|
+
* // Disable global throttling (use display refresh rate)
|
|
800
|
+
* renderer.targetFPS = 0;
|
|
801
|
+
* ```
|
|
802
|
+
*/
|
|
803
|
+
set targetFPS(fps: number) {
|
|
804
|
+
this.stage.options.targetFPS = fps > 0 ? fps : 0;
|
|
805
|
+
this.stage.updateTargetFrameTime();
|
|
806
|
+
}
|
|
751
807
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlCoreShader.destroy.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreShader.destroy.ts"],"names":[],"mappings":""}
|
/package/dist/src/core/{renderers/webgl/WebGlCoreShader.destroy.d.ts → shaders/webgl/Spinner.d.ts}
RENAMED
|
File without changes
|