@lightningjs/renderer 0.7.2 → 0.7.3

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.
Files changed (188) hide show
  1. package/COPYING +1 -0
  2. package/LICENSE +202 -202
  3. package/NOTICE +3 -3
  4. package/README.md +221 -221
  5. package/dist/src/common/CommonTypes.d.ts +7 -0
  6. package/dist/src/core/Stage.d.ts +2 -1
  7. package/dist/src/core/Stage.js +4 -0
  8. package/dist/src/core/Stage.js.map +1 -1
  9. package/dist/src/core/animations/CoreAnimation.js +3 -0
  10. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  11. package/dist/src/core/animations/CoreAnimationController.d.ts +8 -0
  12. package/dist/src/core/animations/CoreAnimationController.js +26 -0
  13. package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
  14. package/dist/src/core/lib/ImageWorker.js +21 -21
  15. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +47 -47
  16. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  17. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  18. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  19. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +49 -49
  20. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  21. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +5 -5
  22. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  23. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  24. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  25. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  26. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  27. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  28. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +31 -31
  29. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +13 -13
  30. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  31. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  32. package/dist/src/main-api/ICoreDriver.d.ts +2 -1
  33. package/dist/src/main-api/Inspector.d.ts +6 -0
  34. package/dist/src/main-api/Inspector.js +105 -19
  35. package/dist/src/main-api/Inspector.js.map +1 -1
  36. package/dist/src/main-api/RendererMain.d.ts +12 -0
  37. package/dist/src/main-api/RendererMain.js +19 -1
  38. package/dist/src/main-api/RendererMain.js.map +1 -1
  39. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +2 -1
  40. package/dist/src/render-drivers/main/MainCoreDriver.js +7 -1
  41. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -1
  42. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +2 -1
  43. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +7 -0
  44. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -1
  45. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +9 -1
  46. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -1
  47. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  48. package/exports/core-api.ts +102 -102
  49. package/exports/main-api.ts +60 -60
  50. package/exports/utils.ts +41 -41
  51. package/package.json +5 -3
  52. package/scripts/please-use-pnpm.js +13 -0
  53. package/src/common/CommonTypes.ts +113 -105
  54. package/src/common/EventEmitter.ts +77 -77
  55. package/src/common/IAnimationController.ts +29 -29
  56. package/src/core/CoreExtension.ts +32 -32
  57. package/src/core/CoreNode.ts +926 -926
  58. package/src/core/CoreShaderManager.ts +243 -243
  59. package/src/core/CoreTextNode.ts +391 -391
  60. package/src/core/CoreTextureManager.ts +326 -326
  61. package/src/core/Stage.ts +354 -342
  62. package/src/core/animations/AnimationManager.ts +38 -38
  63. package/src/core/animations/CoreAnimation.ts +181 -177
  64. package/src/core/animations/CoreAnimationController.ts +148 -117
  65. package/src/core/lib/ContextSpy.ts +41 -41
  66. package/src/core/lib/ImageWorker.ts +124 -124
  67. package/src/core/lib/Matrix3d.ts +290 -290
  68. package/src/core/lib/WebGlContextWrapper.ts +992 -992
  69. package/src/core/lib/textureCompression.ts +152 -152
  70. package/src/core/lib/utils.ts +241 -241
  71. package/src/core/platform.ts +46 -46
  72. package/src/core/renderers/CoreContextTexture.ts +30 -30
  73. package/src/core/renderers/CoreRenderOp.ts +22 -22
  74. package/src/core/renderers/CoreRenderer.ts +63 -63
  75. package/src/core/renderers/CoreShader.ts +41 -41
  76. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +37 -37
  77. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +231 -231
  78. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +107 -107
  79. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +520 -520
  80. package/src/core/renderers/webgl/WebGlCoreShader.ts +337 -337
  81. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  82. package/src/core/renderers/webgl/internal/RendererUtils.ts +131 -131
  83. package/src/core/renderers/webgl/internal/ShaderUtils.ts +136 -136
  84. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  85. package/src/core/renderers/webgl/shaders/DefaultShader.ts +95 -95
  86. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  87. package/src/core/renderers/webgl/shaders/DynamicShader.ts +474 -474
  88. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +161 -161
  89. package/src/core/renderers/webgl/shaders/SdfShader.ts +174 -174
  90. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  91. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +86 -86
  92. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  93. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  94. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  95. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +33 -33
  96. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +135 -135
  97. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +145 -145
  98. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  99. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +176 -176
  100. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +159 -159
  101. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +186 -186
  102. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +121 -121
  103. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +114 -114
  104. package/src/core/text-rendering/TextTextureRendererUtils.ts +189 -189
  105. package/src/core/text-rendering/TrFontManager.ts +96 -96
  106. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +141 -141
  107. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  108. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  109. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +169 -169
  110. package/src/core/text-rendering/font-face-types/TrFontFace.ts +105 -105
  111. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +77 -77
  112. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +751 -751
  113. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +741 -741
  114. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +775 -775
  115. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  116. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  117. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  118. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  119. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +84 -84
  120. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  121. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  122. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +393 -393
  123. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  124. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +51 -51
  125. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  126. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  127. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  128. package/src/core/text-rendering/renderers/TextRenderer.ts +504 -504
  129. package/src/core/textures/ColorTexture.ts +86 -86
  130. package/src/core/textures/ImageTexture.ts +133 -133
  131. package/src/core/textures/NoiseTexture.ts +96 -96
  132. package/src/core/textures/SubTexture.ts +143 -143
  133. package/src/core/textures/Texture.ts +218 -218
  134. package/src/core/utils.ts +224 -224
  135. package/src/env.d.ts +7 -7
  136. package/src/main-api/ICoreDriver.ts +66 -61
  137. package/src/main-api/INode.ts +470 -470
  138. package/src/main-api/Inspector.ts +432 -0
  139. package/src/main-api/RendererMain.ts +649 -610
  140. package/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.ts +45 -45
  141. package/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.ts +154 -154
  142. package/src/main-api/texture-usage-trackers/TextureUsageTracker.ts +54 -54
  143. package/src/render-drivers/main/MainCoreDriver.ts +148 -133
  144. package/src/render-drivers/main/MainOnlyNode.ts +453 -453
  145. package/src/render-drivers/main/MainOnlyTextNode.ts +261 -261
  146. package/src/render-drivers/threadx/NodeStruct.ts +300 -300
  147. package/src/render-drivers/threadx/SharedNode.ts +97 -97
  148. package/src/render-drivers/threadx/TextNodeStruct.ts +211 -211
  149. package/src/render-drivers/threadx/ThreadXCoreDriver.ts +285 -273
  150. package/src/render-drivers/threadx/ThreadXMainAnimationController.ts +99 -99
  151. package/src/render-drivers/threadx/ThreadXMainNode.ts +178 -178
  152. package/src/render-drivers/threadx/ThreadXMainTextNode.ts +85 -85
  153. package/src/render-drivers/threadx/ThreadXRendererMessage.ts +110 -97
  154. package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +238 -238
  155. package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +149 -149
  156. package/src/render-drivers/threadx/worker/renderer.ts +151 -151
  157. package/src/render-drivers/utils.ts +57 -57
  158. package/src/utils.ts +207 -207
  159. package/dist/src/core/lib/WebGlContext.d.ts +0 -414
  160. package/dist/src/core/lib/WebGlContext.js +0 -640
  161. package/dist/src/core/lib/WebGlContext.js.map +0 -1
  162. package/dist/src/core/scene/Scene.d.ts +0 -59
  163. package/dist/src/core/scene/Scene.js +0 -106
  164. package/dist/src/core/scene/Scene.js.map +0 -1
  165. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.d.ts +0 -8
  166. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js +0 -29
  167. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js.map +0 -1
  168. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.d.ts +0 -19
  169. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js +0 -84
  170. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js.map +0 -1
  171. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.d.ts +0 -8
  172. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js +0 -40
  173. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js.map +0 -1
  174. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.d.ts +0 -2
  175. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js +0 -41
  176. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js.map +0 -1
  177. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.d.ts +0 -1
  178. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js +0 -4
  179. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js.map +0 -1
  180. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.d.ts +0 -1
  181. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js +0 -2
  182. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js.map +0 -1
  183. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +0 -20
  184. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +0 -55
  185. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +0 -1
  186. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.d.ts +0 -9
  187. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.js +0 -32
  188. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.js.map +0 -1
@@ -80,47 +80,47 @@ export class RadialProgressEffect extends ShaderEffect {
80
80
  },
81
81
  };
82
82
  static methods = {
83
- rotateUV: `
84
- vec2 function(vec2 uv, float d) {
85
- float s = sin(d);
86
- float c = cos(d);
87
- mat2 rotMatrix = mat2(c, -s, s, c);
88
- return uv * rotMatrix;
89
- }
83
+ rotateUV: `
84
+ vec2 function(vec2 uv, float d) {
85
+ float s = sin(d);
86
+ float c = cos(d);
87
+ mat2 rotMatrix = mat2(c, -s, s, c);
88
+ return uv * rotMatrix;
89
+ }
90
90
  `,
91
- drawDot: `
92
- float function(vec2 uv, vec2 p, float r) {
93
- uv += p;
94
- float circle = length(uv) - r;
95
- return clamp(-circle, 0.0, 1.0);
96
- }
91
+ drawDot: `
92
+ float function(vec2 uv, vec2 p, float r) {
93
+ uv += p;
94
+ float circle = length(uv) - r;
95
+ return clamp(-circle, 0.0, 1.0);
96
+ }
97
97
  `,
98
98
  };
99
- static onEffectMask = `
100
- float outerRadius = radius * u_dimensions.y * 0.5;
101
-
102
- float endAngle = range * progress - 0.0005;
103
-
104
- vec2 uv = v_textureCoordinate.xy * u_dimensions.xy - u_dimensions * 0.5;
105
-
106
- uv = $rotateUV(uv, -(offset));
107
- float linewidth = width * u_pixelRatio;
108
- float circle = length(uv) - (outerRadius - linewidth) ;
109
- circle = abs(circle) - linewidth;
110
- circle = clamp(-circle, 0.0, 1.0);
111
-
112
- float angle = (atan(uv.x, -uv.y) / 3.14159265359 * 0.5);
113
- float p = endAngle / (PI * 2.);
114
-
115
- circle *= step(fract(angle), fract(p));
116
-
117
- circle = rounded < 1. ? circle : max(circle, $drawDot(uv, vec2(0, outerRadius - linewidth), linewidth));
118
- circle = rounded < 1. ? circle : max(circle, $drawDot($rotateUV(uv, -(endAngle)), vec2(0, outerRadius - linewidth), linewidth));
119
-
120
- return mix(shaderColor, maskColor, circle);
99
+ static onEffectMask = `
100
+ float outerRadius = radius * u_dimensions.y * 0.5;
101
+
102
+ float endAngle = range * progress - 0.0005;
103
+
104
+ vec2 uv = v_textureCoordinate.xy * u_dimensions.xy - u_dimensions * 0.5;
105
+
106
+ uv = $rotateUV(uv, -(offset));
107
+ float linewidth = width * u_pixelRatio;
108
+ float circle = length(uv) - (outerRadius - linewidth) ;
109
+ circle = abs(circle) - linewidth;
110
+ circle = clamp(-circle, 0.0, 1.0);
111
+
112
+ float angle = (atan(uv.x, -uv.y) / 3.14159265359 * 0.5);
113
+ float p = endAngle / (PI * 2.);
114
+
115
+ circle *= step(fract(angle), fract(p));
116
+
117
+ circle = rounded < 1. ? circle : max(circle, $drawDot(uv, vec2(0, outerRadius - linewidth), linewidth));
118
+ circle = rounded < 1. ? circle : max(circle, $drawDot($rotateUV(uv, -(endAngle)), vec2(0, outerRadius - linewidth), linewidth));
119
+
120
+ return mix(shaderColor, maskColor, circle);
121
121
  `;
122
- static onColorize = `
123
- return color;
122
+ static onColorize = `
123
+ return color;
124
124
  `;
125
125
  }
126
126
  //# sourceMappingURL=RadialProgressEffect.js.map
@@ -52,17 +52,17 @@ export class RadiusEffect extends ShaderEffect {
52
52
  },
53
53
  };
54
54
  static methods = {
55
- fillMask: `
56
- float function(float dist) {
57
- return clamp(-dist, 0.0, 1.0);
58
- }
55
+ fillMask: `
56
+ float function(float dist) {
57
+ return clamp(-dist, 0.0, 1.0);
58
+ }
59
59
  `,
60
- boxDist: `
61
- float function(vec2 p, vec2 size, float radius) {
62
- size -= vec2(radius);
63
- vec2 d = abs(p) - size;
64
- return min(max(d.x, d.y), 0.0) + length(max(d, 0.0)) - radius;
65
- }
60
+ boxDist: `
61
+ float function(vec2 p, vec2 size, float radius) {
62
+ size -= vec2(radius);
63
+ vec2 d = abs(p) - size;
64
+ return min(max(d.x, d.y), 0.0) + length(max(d, 0.0)) - radius;
65
+ }
66
66
  `,
67
67
  };
68
68
  static resolveDefaults(props) {
@@ -70,16 +70,16 @@ export class RadiusEffect extends ShaderEffect {
70
70
  radius: props.radius ?? 10,
71
71
  };
72
72
  }
73
- static onShaderMask = `
74
- vec2 halfDimensions = u_dimensions * 0.5;
75
- float r = radius[0] * step(v_textureCoordinate.x, 0.5) * step(v_textureCoordinate.y, 0.5);
76
- r = r + radius[1] * step(0.5, v_textureCoordinate.x) * step(v_textureCoordinate.y, 0.5);
77
- r = r + radius[2] * step(0.5, v_textureCoordinate.x) * step(0.5, v_textureCoordinate.y);
78
- r = r + radius[3] * step(v_textureCoordinate.x, 0.5) * step(0.5, v_textureCoordinate.y);
79
- return $boxDist(v_textureCoordinate.xy * u_dimensions - halfDimensions, halfDimensions, r);
73
+ static onShaderMask = `
74
+ vec2 halfDimensions = u_dimensions * 0.5;
75
+ float r = radius[0] * step(v_textureCoordinate.x, 0.5) * step(v_textureCoordinate.y, 0.5);
76
+ r = r + radius[1] * step(0.5, v_textureCoordinate.x) * step(v_textureCoordinate.y, 0.5);
77
+ r = r + radius[2] * step(0.5, v_textureCoordinate.x) * step(0.5, v_textureCoordinate.y);
78
+ r = r + radius[3] * step(v_textureCoordinate.x, 0.5) * step(0.5, v_textureCoordinate.y);
79
+ return $boxDist(v_textureCoordinate.xy * u_dimensions - halfDimensions, halfDimensions, r);
80
80
  `;
81
- static onEffectMask = `
82
- return mix(vec4(0.0), maskColor, $fillMask(shaderMask));
81
+ static onEffectMask = `
82
+ return mix(vec4(0.0), maskColor, $fillMask(shaderMask));
83
83
  `;
84
84
  }
85
85
  //# sourceMappingURL=RadiusEffect.js.map
@@ -1,4 +1,4 @@
1
- import type { FpsUpdatePayload } from '../common/CommonTypes.js';
1
+ import type { FpsUpdatePayload, FrameTickPayload } from '../common/CommonTypes.js';
2
2
  import type { INode, INodeWritableProps, ITextNode, ITextNodeWritableProps } from './INode.js';
3
3
  import type { RendererMain, RendererMainSettings } from './RendererMain.js';
4
4
  /**
@@ -19,4 +19,5 @@ export interface ICoreDriver {
19
19
  onCreateNode(node: INode): void;
20
20
  onBeforeDestroyNode(node: INode): void;
21
21
  onFpsUpdate(fpsData: FpsUpdatePayload): void;
22
+ onFrameTick(frameTickData: FrameTickPayload): void;
22
23
  }
@@ -4,7 +4,13 @@ import { type RendererMainSettings } from './RendererMain.js';
4
4
  import type { AnimationSettings } from '../core/animations/CoreAnimation.js';
5
5
  export declare class Inspector {
6
6
  private root;
7
+ private canvas;
8
+ private height;
9
+ private width;
10
+ private scaleX;
11
+ private scaleY;
7
12
  constructor(canvas: HTMLCanvasElement, settings: RendererMainSettings);
13
+ setRootPosition(): void;
8
14
  createDiv(node: INode | ITextNode, properties: INodeWritableProps | ITextNodeWritableProps): HTMLElement;
9
15
  createNode(driver: ICoreDriver, properties: INodeWritableProps): INode;
10
16
  createTextNode(driver: ICoreDriver, properties: ITextNodeWritableProps): ITextNode;
@@ -1,10 +1,29 @@
1
1
  import {} from './RendererMain.js';
2
2
  const stylePropertyMap = {
3
- alpha: () => 'opacity',
4
- x: () => 'left',
5
- y: () => 'top',
6
- width: () => 'width',
7
- height: () => 'height',
3
+ alpha: (v) => {
4
+ if (v === 1) {
5
+ return null;
6
+ }
7
+ return { prop: 'opacity', value: `${v}` };
8
+ },
9
+ x: (x) => {
10
+ return { prop: 'left', value: `${x}px` };
11
+ },
12
+ y: (y) => {
13
+ return { prop: 'top', value: `${y}px` };
14
+ },
15
+ width: (w) => {
16
+ if (w === 0) {
17
+ return null;
18
+ }
19
+ return { prop: 'width', value: `${w}px` };
20
+ },
21
+ height: (h) => {
22
+ if (h === 0) {
23
+ return null;
24
+ }
25
+ return { prop: 'height', value: `${h}px` };
26
+ },
8
27
  zIndex: () => 'zIndex',
9
28
  fontFamily: () => 'font-family',
10
29
  fontSize: () => 'font-size',
@@ -19,24 +38,45 @@ const stylePropertyMap = {
19
38
  contain: () => 'contain',
20
39
  verticalAlign: () => 'vertical-align',
21
40
  clipping: (v) => {
41
+ if (v === false) {
42
+ return null;
43
+ }
22
44
  return { prop: 'overflow', value: v ? 'hidden' : 'visible' };
23
45
  },
24
46
  rotation: (v) => {
47
+ if (v === 0) {
48
+ return null;
49
+ }
25
50
  return { prop: 'transform', value: `rotate(${v}rad)` };
26
51
  },
27
52
  scale: (v) => {
53
+ if (v === 1) {
54
+ return null;
55
+ }
28
56
  return { prop: 'transform', value: `scale(${v})` };
29
57
  },
30
58
  scaleX: (v) => {
59
+ if (v === 1) {
60
+ return null;
61
+ }
31
62
  return { prop: 'transform', value: `scaleX(${v})` };
32
63
  },
33
64
  scaleY: (v) => {
65
+ if (v === 1) {
66
+ return null;
67
+ }
34
68
  return { prop: 'transform', value: `scaleY(${v})` };
35
69
  },
36
70
  src: (v) => {
71
+ if (!v) {
72
+ return null;
73
+ }
37
74
  return { prop: 'background-image', value: `url(${v})` };
38
75
  },
39
76
  color: (v) => {
77
+ if (v === 0) {
78
+ return null;
79
+ }
40
80
  return { prop: 'color', value: convertColorToRgba(v) };
41
81
  },
42
82
  };
@@ -61,27 +101,59 @@ const gradientColorPropertyMap = [
61
101
  'colorBr',
62
102
  ];
63
103
  export class Inspector {
64
- root;
104
+ root = null;
105
+ canvas = null;
106
+ height = 1080;
107
+ width = 1920;
108
+ scaleX = 1;
109
+ scaleY = 1;
65
110
  constructor(canvas, settings) {
111
+ if (import.meta.env.PROD)
112
+ return;
66
113
  if (!settings) {
67
114
  throw new Error('settings is required');
68
115
  }
69
116
  // calc dimensions based on the devicePixelRatio
70
- const height = Math.ceil(settings.appHeight ?? 1080 / (settings.deviceLogicalPixelRatio ?? 1));
71
- const width = Math.ceil(settings.appWidth ?? 1900 / (settings.deviceLogicalPixelRatio ?? 1));
117
+ this.height = Math.ceil(settings.appHeight ?? 1080 / (settings.deviceLogicalPixelRatio ?? 1));
118
+ this.width = Math.ceil(settings.appWidth ?? 1900 / (settings.deviceLogicalPixelRatio ?? 1));
119
+ this.scaleX = settings.deviceLogicalPixelRatio ?? 1;
120
+ this.scaleY = settings.deviceLogicalPixelRatio ?? 1;
121
+ this.canvas = canvas;
72
122
  this.root = document.createElement('div');
123
+ this.setRootPosition();
124
+ document.body.appendChild(this.root);
125
+ //listen for changes on canvas
126
+ const mutationObserver = new MutationObserver(this.setRootPosition.bind(this));
127
+ mutationObserver.observe(canvas, {
128
+ attributes: true,
129
+ childList: false,
130
+ subtree: false,
131
+ });
132
+ // Create a ResizeObserver to watch for changes in the element's size
133
+ const resizeObserver = new ResizeObserver(this.setRootPosition.bind(this));
134
+ resizeObserver.observe(canvas);
135
+ //listen for changes on window
136
+ window.addEventListener('resize', this.setRootPosition.bind(this));
137
+ console.warn('Inspector is enabled, this will impact performance');
138
+ }
139
+ setRootPosition() {
140
+ if (this.root === null || this.canvas === null) {
141
+ return;
142
+ }
143
+ // get the world position of the canvas object, so we can match the inspector to it
144
+ const rect = this.canvas.getBoundingClientRect();
145
+ const top = document.documentElement.scrollTop + rect.top;
146
+ const left = document.documentElement.scrollLeft + rect.left;
73
147
  this.root.id = 'root';
74
- this.root.style.left = '0';
75
- this.root.style.top = '0';
76
- this.root.style.width = `${width}px`;
77
- this.root.style.height = `${height}px`;
148
+ this.root.style.left = `${left}px`;
149
+ this.root.style.top = `${top}px`;
150
+ this.root.style.width = `${this.width}px`;
151
+ this.root.style.height = `${this.height}px`;
78
152
  this.root.style.position = 'absolute';
79
153
  this.root.style.transformOrigin = '0 0 0';
80
- this.root.style.transform = `scale(${settings.deviceLogicalPixelRatio ?? 1},${settings.deviceLogicalPixelRatio ?? 1})`;
154
+ this.root.style.transform = `scale(${this.scaleX}, ${this.scaleY})`;
81
155
  this.root.style.overflow = 'hidden';
82
- this.root.style.zIndex = '-65535';
83
- document.body.appendChild(this.root);
84
- console.warn('Inspector is enabled, this will impact performance');
156
+ this.root.style.zIndex = '-65534';
85
157
  }
86
158
  createDiv(node, properties) {
87
159
  const div = document.createElement('div');
@@ -98,6 +170,8 @@ export class Inspector {
98
170
  createNode(driver, properties) {
99
171
  const node = driver.createNode(properties);
100
172
  const div = this.createDiv(node, properties);
173
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
174
+ div.node = node;
101
175
  return this.createProxy(node, div);
102
176
  }
103
177
  createTextNode(driver, properties) {
@@ -140,7 +214,7 @@ export class Inspector {
140
214
  updateNodeProperty(div, property,
141
215
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
142
216
  value) {
143
- if (!value) {
217
+ if (this.root === null || value === undefined || value === null) {
144
218
  return;
145
219
  }
146
220
  /**
@@ -173,10 +247,14 @@ export class Inspector {
173
247
  // CSS mappable attribute
174
248
  if (stylePropertyMap[property]) {
175
249
  const mappedStyleResponse = stylePropertyMap[property]?.(value);
250
+ if (mappedStyleResponse === null) {
251
+ return;
252
+ }
176
253
  if (typeof mappedStyleResponse === 'string') {
177
254
  div.style.setProperty(mappedStyleResponse, String(value));
255
+ return;
178
256
  }
179
- else if (typeof mappedStyleResponse === 'object') {
257
+ if (typeof mappedStyleResponse === 'object') {
180
258
  div.style.setProperty(mappedStyleResponse.prop, mappedStyleResponse.value);
181
259
  }
182
260
  return;
@@ -186,10 +264,18 @@ export class Inspector {
186
264
  div.setAttribute(String(stylePropertyMap[property]), String(value));
187
265
  return;
188
266
  }
267
+ // custom data properties
268
+ // Needs https://github.com/lightning-js/renderer/pull/178 to be merged
269
+ // if (property === 'data') {
270
+ // for (const key in value) {
271
+ // // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
272
+ // div.setAttribute(`data-${key}`, String(value[key]));
273
+ // }
274
+ // return;
275
+ // }
189
276
  }
190
277
  // simple animation handler
191
278
  animateNode(div, node, props, settings) {
192
- console.log('animateNode', props, settings);
193
279
  const { duration = 1000, delay = 0,
194
280
  // easing = 'linear',
195
281
  // repeat = 0,
@@ -1 +1 @@
1
- {"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../src/main-api/Inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../src/main-api/Inspector.ts"],"names":[],"mappings":"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"}
@@ -186,6 +186,17 @@ export interface RendererMainSettings {
186
186
  * @defaultValue `2`
187
187
  */
188
188
  numImageWorkers?: number;
189
+ /**
190
+ * Enable inspector
191
+ *
192
+ * @remarks
193
+ * When enabled the renderer will spawn a inspector. The inspector will
194
+ * replicate the state of the Nodes created in the renderer and allow
195
+ * inspection of the state of the nodes.
196
+ *
197
+ * @defaultValue `false` (disabled)
198
+ */
199
+ enableInspector?: boolean;
189
200
  }
190
201
  /**
191
202
  * The Renderer Main API
@@ -216,6 +227,7 @@ export declare class RendererMain extends EventEmitter {
216
227
  readonly driver: ICoreDriver;
217
228
  readonly canvas: HTMLCanvasElement;
218
229
  readonly settings: Readonly<Required<RendererMainSettings>>;
230
+ private inspector;
219
231
  private nodes;
220
232
  private nextTextureId;
221
233
  /**
@@ -19,6 +19,7 @@
19
19
  import { ManualCountTextureUsageTracker, } from './texture-usage-trackers/ManualCountTextureUsageTracker.js';
20
20
  import { FinalizationRegistryTextureUsageTracker } from './texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js';
21
21
  import { EventEmitter } from '../common/EventEmitter.js';
22
+ import { Inspector } from './Inspector.js';
22
23
  /**
23
24
  * The Renderer Main API
24
25
  *
@@ -48,6 +49,7 @@ export class RendererMain extends EventEmitter {
48
49
  driver;
49
50
  canvas;
50
51
  settings;
52
+ inspector = null;
51
53
  nodes = new Map();
52
54
  nextTextureId = 1;
53
55
  /**
@@ -78,9 +80,10 @@ export class RendererMain extends EventEmitter {
78
80
  fpsUpdateInterval: settings.fpsUpdateInterval || 0,
79
81
  numImageWorkers: settings.numImageWorkers !== undefined ? settings.numImageWorkers : 2,
80
82
  enableContextSpy: settings.enableContextSpy ?? false,
83
+ enableInspector: settings.enableInspector ?? false,
81
84
  };
82
85
  this.settings = resolvedSettings;
83
- const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, } = resolvedSettings;
86
+ const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, enableInspector, } = resolvedSettings;
84
87
  const releaseCallback = (textureId) => {
85
88
  this.driver.releaseTexture(textureId);
86
89
  };
@@ -118,7 +121,13 @@ export class RendererMain extends EventEmitter {
118
121
  driver.onFpsUpdate = (fpsData) => {
119
122
  this.emit('fpsUpdate', fpsData);
120
123
  };
124
+ driver.onFrameTick = (frameTickData) => {
125
+ this.emit('frameTick', frameTickData);
126
+ };
121
127
  targetEl.appendChild(canvas);
128
+ if (enableInspector && !import.meta.env.PROD) {
129
+ this.inspector = new Inspector(canvas, resolvedSettings);
130
+ }
122
131
  }
123
132
  /**
124
133
  * Initialize the renderer
@@ -148,6 +157,9 @@ export class RendererMain extends EventEmitter {
148
157
  * @returns
149
158
  */
150
159
  createNode(props) {
160
+ if (this.inspector) {
161
+ return this.inspector.createNode(this.driver, this.resolveNodeDefaults(props));
162
+ }
151
163
  return this.driver.createNode(this.resolveNodeDefaults(props));
152
164
  }
153
165
  /**
@@ -188,6 +200,9 @@ export class RendererMain extends EventEmitter {
188
200
  overflowSuffix: props.overflowSuffix ?? '...',
189
201
  debug: props.debug ?? {},
190
202
  };
203
+ if (this.inspector) {
204
+ return this.inspector.createTextNode(this.driver, data);
205
+ }
191
206
  return this.driver.createTextNode(data);
192
207
  }
193
208
  /**
@@ -253,6 +268,9 @@ export class RendererMain extends EventEmitter {
253
268
  * @returns
254
269
  */
255
270
  destroyNode(node) {
271
+ if (this.inspector) {
272
+ this.inspector.destroyNode(node);
273
+ }
256
274
  return this.driver.destroyNode(node);
257
275
  }
258
276
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"RendererMain.js","sourceRoot":"","sources":["../../../src/main-api/RendererMain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RendererMain.js","sourceRoot":"","sources":["../../../src/main-api/RendererMain.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { ICoreDriver } from '../../main-api/ICoreDriver.js';
2
2
  import type { INode, INodeWritableProps, ITextNodeWritableProps } from '../../main-api/INode.js';
3
3
  import type { RendererMain, RendererMainSettings } from '../../main-api/RendererMain.js';
4
4
  import { MainOnlyTextNode } from './MainOnlyTextNode.js';
5
- import type { FpsUpdatePayload } from '../../common/CommonTypes.js';
5
+ import type { FpsUpdatePayload, FrameTickPayload } from '../../common/CommonTypes.js';
6
6
  export declare class MainCoreDriver implements ICoreDriver {
7
7
  private root;
8
8
  private stage;
@@ -16,4 +16,5 @@ export declare class MainCoreDriver implements ICoreDriver {
16
16
  onCreateNode(node: INode): void;
17
17
  onBeforeDestroyNode(node: INode): void;
18
18
  onFpsUpdate(fpsData: FpsUpdatePayload): void;
19
+ onFrameTick(frameTickData: FrameTickPayload): void;
19
20
  }
@@ -18,7 +18,7 @@
18
18
  */
19
19
  import { assertTruthy } from '../../utils.js';
20
20
  import { MainOnlyNode, getNewId } from './MainOnlyNode.js';
21
- import { Stage } from '../../core/Stage.js';
21
+ import { Stage, } from '../../core/Stage.js';
22
22
  import { MainOnlyTextNode } from './MainOnlyTextNode.js';
23
23
  import { loadCoreExtension } from '../utils.js';
24
24
  export class MainCoreDriver {
@@ -55,6 +55,9 @@ export class MainCoreDriver {
55
55
  this.stage.on('fpsUpdate', ((stage, fpsData) => {
56
56
  this.onFpsUpdate(fpsData);
57
57
  }));
58
+ this.stage.on('frameTick', ((stage, frameTickData) => {
59
+ this.onFrameTick(frameTickData);
60
+ }));
58
61
  }
59
62
  createNode(props) {
60
63
  assertTruthy(this.rendererMain);
@@ -96,5 +99,8 @@ export class MainCoreDriver {
96
99
  onFpsUpdate(fpsData) {
97
100
  throw new Error('Method not implemented.');
98
101
  }
102
+ onFrameTick(frameTickData) {
103
+ throw new Error('Method not implemented.');
104
+ }
99
105
  }
100
106
  //# sourceMappingURL=MainCoreDriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MainCoreDriver.js","sourceRoot":"","sources":["../../../../src/render-drivers/main/MainCoreDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MainCoreDriver.js","sourceRoot":"","sources":["../../../../src/render-drivers/main/MainCoreDriver.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { INode, INodeWritableProps, ITextNode, ITextNodeWritableProps } from '../../main-api/INode.js';
2
2
  import type { ICoreDriver } from '../../main-api/ICoreDriver.js';
3
3
  import type { RendererMain, RendererMainSettings } from '../../main-api/RendererMain.js';
4
- import type { FpsUpdatePayload } from '../../common/CommonTypes.js';
4
+ import type { FpsUpdatePayload, FrameTickPayload } from '../../common/CommonTypes.js';
5
5
  export interface ThreadXRendererSettings {
6
6
  coreWorkerUrl: string;
7
7
  }
@@ -21,4 +21,5 @@ export declare class ThreadXCoreDriver implements ICoreDriver {
21
21
  onCreateNode(node: INode): void;
22
22
  onBeforeDestroyNode(node: INode): void;
23
23
  onFpsUpdate(fps: FpsUpdatePayload): void;
24
+ onFrameTick(frameTickData: FrameTickPayload): void;
24
25
  }
@@ -57,6 +57,10 @@ export class ThreadXCoreDriver {
57
57
  if (isThreadXRendererMessage('fpsUpdate', message)) {
58
58
  this.onFpsUpdate(message.fpsData);
59
59
  }
60
+ // Forward frameTick events from the renderer worker's Stage to RendererMain
61
+ if (isThreadXRendererMessage('frameTick', message)) {
62
+ this.onFrameTick(message.frameTickData);
63
+ }
60
64
  },
61
65
  });
62
66
  this.threadx.registerWorker('renderer', new Worker(this.settings.coreWorkerUrl, { type: 'module' }));
@@ -215,5 +219,8 @@ export class ThreadXCoreDriver {
215
219
  onFpsUpdate(fps) {
216
220
  throw new Error('Method not implemented.');
217
221
  }
222
+ onFrameTick(frameTickData) {
223
+ throw new Error('Method not implemented.');
224
+ }
218
225
  }
219
226
  //# sourceMappingURL=ThreadXCoreDriver.js.map