@lightningjs/renderer 3.0.0-beta14 → 3.0.0-beta16

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 (283) hide show
  1. package/dist/exports/index.d.ts +1 -0
  2. package/dist/exports/index.js.map +1 -1
  3. package/dist/src/core/CoreNode.d.ts +1 -1
  4. package/dist/src/core/CoreTextNode.d.ts +1 -2
  5. package/dist/src/core/CoreTextNode.js +43 -21
  6. package/dist/src/core/CoreTextNode.js.map +1 -1
  7. package/dist/src/core/Stage.js +2 -3
  8. package/dist/src/core/Stage.js.map +1 -1
  9. package/dist/src/core/TextureError.d.ts +11 -0
  10. package/dist/src/core/TextureError.js +37 -0
  11. package/dist/src/core/TextureError.js.map +1 -0
  12. package/dist/src/core/animations/CoreAnimation.d.ts +3 -3
  13. package/dist/src/core/animations/CoreAnimation.js +3 -3
  14. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  15. package/dist/src/core/lib/WebGlContextWrapper.d.ts +5 -5
  16. package/dist/src/core/lib/textureCompression.js +1 -1
  17. package/dist/src/core/lib/textureCompression.js.map +1 -1
  18. package/dist/src/core/platform.d.ts +10 -0
  19. package/dist/src/core/platform.js +81 -0
  20. package/dist/src/core/platform.js.map +1 -0
  21. package/dist/src/core/renderers/CoreShader.d.ts +9 -0
  22. package/{src/core/text-rendering/sdf/index.ts → dist/src/core/renderers/CoreShader.js} +11 -3
  23. package/dist/src/core/renderers/CoreShader.js.map +1 -0
  24. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +33 -0
  25. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +250 -0
  26. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -0
  27. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +17 -0
  28. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +125 -0
  29. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -0
  30. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +14 -0
  31. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +138 -0
  32. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -0
  33. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +19 -0
  34. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +58 -0
  35. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -0
  36. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +10 -0
  37. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +43 -0
  38. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -0
  39. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +12 -0
  40. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +58 -0
  41. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -0
  42. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +9 -0
  43. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +38 -0
  44. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -0
  45. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +69 -0
  46. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +272 -0
  47. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -0
  48. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +34 -0
  49. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +114 -0
  50. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -0
  51. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +133 -0
  52. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +641 -0
  53. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -0
  54. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +78 -0
  55. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +202 -0
  56. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -0
  57. package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +9 -0
  58. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +84 -0
  59. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -0
  60. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +10 -0
  61. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +108 -0
  62. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -0
  63. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +29 -0
  64. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +408 -0
  65. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -0
  66. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +28 -0
  67. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +126 -0
  68. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -0
  69. package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +47 -0
  70. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +148 -0
  71. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -0
  72. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +31 -0
  73. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +71 -0
  74. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -0
  75. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +30 -0
  76. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +58 -0
  77. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -0
  78. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +31 -0
  79. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +71 -0
  80. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -0
  81. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +31 -0
  82. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +71 -0
  83. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -0
  84. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +31 -0
  85. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +71 -0
  86. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -0
  87. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +9 -0
  88. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +136 -0
  89. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -0
  90. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +36 -0
  91. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +85 -0
  92. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -0
  93. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +45 -0
  94. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +104 -0
  95. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -0
  96. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +22 -0
  97. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +45 -0
  98. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -0
  99. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +58 -0
  100. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +80 -0
  101. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -0
  102. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +35 -0
  103. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +134 -0
  104. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -0
  105. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +40 -0
  106. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +143 -0
  107. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -0
  108. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +61 -0
  109. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +127 -0
  110. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -0
  111. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +40 -0
  112. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +71 -0
  113. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -0
  114. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +115 -0
  115. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +61 -0
  116. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -0
  117. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +1 -1
  118. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
  119. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +1 -1
  120. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
  121. package/dist/src/core/shaders/webgl/LinearGradient.js +26 -3
  122. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
  123. package/dist/src/core/shaders/webgl/RadialGradient.js +49 -27
  124. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
  125. package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -2
  126. package/dist/src/core/shaders/webgl/SdfShader.js +1 -10
  127. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
  128. package/dist/src/core/text-rendering/CanvasFont.d.ts +14 -0
  129. package/dist/src/core/text-rendering/CanvasFont.js +111 -0
  130. package/dist/src/core/text-rendering/CanvasFont.js.map +1 -0
  131. package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +21 -3
  132. package/dist/src/core/text-rendering/CanvasFontHandler.js +97 -32
  133. package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -1
  134. package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +2 -7
  135. package/dist/src/core/text-rendering/CanvasTextRenderer.js +51 -260
  136. package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -1
  137. package/dist/src/core/text-rendering/CoreFont.d.ts +33 -0
  138. package/dist/src/core/text-rendering/CoreFont.js +48 -0
  139. package/dist/src/core/text-rendering/CoreFont.js.map +1 -0
  140. package/dist/src/core/text-rendering/FontManager.d.ts +11 -0
  141. package/dist/src/core/text-rendering/FontManager.js +42 -0
  142. package/dist/src/core/text-rendering/FontManager.js.map +1 -0
  143. package/dist/src/core/text-rendering/SdfFont.d.ts +29 -0
  144. package/dist/src/core/text-rendering/SdfFont.js +142 -0
  145. package/dist/src/core/text-rendering/SdfFont.js.map +1 -0
  146. package/dist/src/core/text-rendering/SdfFontHandler.d.ts +35 -5
  147. package/dist/src/core/text-rendering/SdfFontHandler.js +79 -56
  148. package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -1
  149. package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +1 -1
  150. package/dist/src/core/text-rendering/SdfTextRenderer.js +38 -82
  151. package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -1
  152. package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +19 -0
  153. package/dist/src/core/text-rendering/{sdf/Utils.js → TextLayoutEngine.js} +125 -107
  154. package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -0
  155. package/dist/src/core/text-rendering/TextRenderer.d.ts +30 -13
  156. package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +12 -0
  157. package/dist/src/core/text-rendering/TextRenderingUtils.js +14 -0
  158. package/dist/src/core/text-rendering/TextRenderingUtils.js.map +1 -0
  159. package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +72 -0
  160. package/dist/src/core/text-rendering/TextTextureRendererUtils.js +217 -0
  161. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -0
  162. package/dist/src/core/text-rendering/TrFontManager.d.ts +26 -0
  163. package/dist/src/core/text-rendering/TrFontManager.js +131 -0
  164. package/dist/src/core/text-rendering/TrFontManager.js.map +1 -0
  165. package/dist/src/core/text-rendering/Utils.d.ts +1 -42
  166. package/dist/src/core/text-rendering/Utils.js +4 -132
  167. package/dist/src/core/text-rendering/Utils.js.map +1 -1
  168. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +39 -0
  169. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +125 -0
  170. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -0
  171. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.d.ts +103 -0
  172. package/dist/src/core/text-rendering/{sdf/index.js → font-face-types/SdfTrFontFace/internal/FontShaper.js} +4 -3
  173. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js.map +1 -0
  174. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +62 -0
  175. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +88 -0
  176. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +1 -0
  177. package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +118 -0
  178. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +63 -0
  179. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -0
  180. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +14 -0
  181. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +66 -0
  182. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -0
  183. package/dist/src/core/text-rendering/font-face-types/utils.d.ts +1 -0
  184. package/dist/src/core/text-rendering/font-face-types/utils.js +38 -0
  185. package/dist/src/core/text-rendering/font-face-types/utils.js.map +1 -0
  186. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +59 -0
  187. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +397 -0
  188. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -0
  189. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +120 -0
  190. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +551 -0
  191. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -0
  192. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +92 -0
  193. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +607 -0
  194. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -0
  195. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.d.ts +12 -0
  196. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js +61 -0
  197. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js.map +1 -0
  198. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.d.ts +33 -0
  199. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js +52 -0
  200. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js.map +1 -0
  201. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.d.ts +13 -0
  202. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js +32 -0
  203. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js.map +1 -0
  204. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +23 -0
  205. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +84 -0
  206. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +1 -0
  207. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.d.ts +4 -0
  208. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js +34 -0
  209. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js.map +1 -0
  210. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +20 -0
  211. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +308 -0
  212. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -0
  213. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.d.ts +10 -0
  214. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +40 -0
  215. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +1 -0
  216. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +26 -0
  217. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +70 -0
  218. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +1 -0
  219. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +16 -0
  220. package/dist/src/core/text-rendering/{canvas/Settings.js → renderers/SdfTextRenderer/internal/util.js} +22 -3
  221. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +1 -0
  222. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +373 -0
  223. package/dist/src/core/text-rendering/renderers/TextRenderer.js +178 -0
  224. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -0
  225. package/dist/src/core/utils.d.ts +2 -1
  226. package/dist/src/core/utils.js +1 -1
  227. package/dist/src/core/utils.js.map +1 -1
  228. package/dist/src/main-api/DynamicShaderController.d.ts +29 -0
  229. package/dist/src/main-api/DynamicShaderController.js +58 -0
  230. package/dist/src/main-api/DynamicShaderController.js.map +1 -0
  231. package/dist/src/main-api/Inspector.d.ts +124 -0
  232. package/dist/src/main-api/Inspector.js +292 -13
  233. package/dist/src/main-api/Inspector.js.map +1 -1
  234. package/dist/src/main-api/Renderer.d.ts +150 -26
  235. package/dist/src/main-api/Renderer.js +27 -25
  236. package/dist/src/main-api/Renderer.js.map +1 -1
  237. package/dist/src/main-api/ShaderController.d.ts +31 -0
  238. package/dist/src/main-api/ShaderController.js +37 -0
  239. package/dist/src/main-api/ShaderController.js.map +1 -0
  240. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  241. package/exports/index.ts +1 -0
  242. package/package.json +14 -15
  243. package/src/core/CoreTextNode.ts +55 -27
  244. package/src/core/Stage.ts +2 -3
  245. package/src/core/animations/CoreAnimation.ts +8 -9
  246. package/src/core/lib/textureCompression.ts +4 -2
  247. package/src/core/shaders/canvas/RoundedWithBorder.ts +1 -1
  248. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +1 -1
  249. package/src/core/shaders/webgl/LinearGradient.ts +26 -3
  250. package/src/core/shaders/webgl/RadialGradient.ts +50 -28
  251. package/src/core/shaders/webgl/SdfShader.ts +1 -12
  252. package/src/core/text-rendering/CanvasFontHandler.ts +139 -39
  253. package/src/core/text-rendering/CanvasTextRenderer.ts +75 -440
  254. package/src/core/text-rendering/SdfFontHandler.ts +97 -60
  255. package/src/core/text-rendering/SdfTextRenderer.ts +62 -116
  256. package/src/core/text-rendering/{sdf/Utils.ts → TextLayoutEngine.ts} +211 -145
  257. package/src/core/text-rendering/TextRenderer.ts +36 -13
  258. package/src/core/text-rendering/Utils.ts +5 -163
  259. package/src/core/text-rendering/{sdf/Utils.test.ts → tests/Canvas.test.ts} +98 -122
  260. package/src/core/text-rendering/tests/SdfTests.test.ts +414 -0
  261. package/src/core/utils.ts +9 -7
  262. package/src/main-api/Inspector.ts +511 -17
  263. package/src/main-api/Renderer.ts +158 -26
  264. package/dist/src/core/text-rendering/canvas/Settings.d.ts +0 -64
  265. package/dist/src/core/text-rendering/canvas/Settings.js.map +0 -1
  266. package/dist/src/core/text-rendering/canvas/Utils.d.ts +0 -20
  267. package/dist/src/core/text-rendering/canvas/Utils.js +0 -144
  268. package/dist/src/core/text-rendering/canvas/Utils.js.map +0 -1
  269. package/dist/src/core/text-rendering/canvas/calculateRenderInfo.d.ts +0 -60
  270. package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js +0 -183
  271. package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js.map +0 -1
  272. package/dist/src/core/text-rendering/canvas/draw.d.ts +0 -5
  273. package/dist/src/core/text-rendering/canvas/draw.js +0 -132
  274. package/dist/src/core/text-rendering/canvas/draw.js.map +0 -1
  275. package/dist/src/core/text-rendering/sdf/Utils.d.ts +0 -26
  276. package/dist/src/core/text-rendering/sdf/Utils.js.map +0 -1
  277. package/dist/src/core/text-rendering/sdf/index.d.ts +0 -1
  278. package/dist/src/core/text-rendering/sdf/index.js.map +0 -1
  279. package/src/core/text-rendering/canvas/Settings.ts +0 -99
  280. package/src/core/text-rendering/canvas/Utils.test.ts +0 -206
  281. package/src/core/text-rendering/canvas/Utils.ts +0 -178
  282. package/src/core/text-rendering/canvas/calculateRenderInfo.ts +0 -299
  283. package/src/core/text-rendering/canvas/draw.ts +0 -165
@@ -0,0 +1,58 @@
1
+ export class DynamicShaderController {
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 effectConstructors = shManager.getRegisteredEffects();
11
+ const definedProps = {};
12
+ const effects = props.effects;
13
+ const effectsLength = effects.length;
14
+ for (let i = 0; i < effectsLength; i++) {
15
+ const { name: effectName, props: effectProps, type: effectType, } = effects[i];
16
+ if (effectName === undefined) {
17
+ continue;
18
+ }
19
+ const definedEffectProps = {};
20
+ const propEntries = Object.keys(effectProps);
21
+ const propEntriesLength = propEntries.length;
22
+ for (let j = 0; j < propEntriesLength; j++) {
23
+ const propName = propEntries[j];
24
+ Object.defineProperty(definedEffectProps, propName, {
25
+ get: () => {
26
+ return this.resolvedProps.effects[i].props[propName].value;
27
+ },
28
+ set: (value) => {
29
+ const target = this.resolvedProps.effects[i].props[propName];
30
+ target.value = value;
31
+ if (target.hasValidator) {
32
+ value = target.validatedValue = effectConstructors[effectType]
33
+ .uniforms[propName]?.validator(value, effectProps);
34
+ }
35
+ if (target.hasProgramValueUpdater) {
36
+ effectConstructors[effectType].uniforms[propName]
37
+ ?.updateProgramValue(target);
38
+ }
39
+ else {
40
+ target.programValue = value;
41
+ }
42
+ shManager.renderer.stage.requestRender();
43
+ },
44
+ });
45
+ }
46
+ Object.defineProperty(definedProps, effectName, {
47
+ get: () => {
48
+ return definedEffectProps;
49
+ },
50
+ });
51
+ }
52
+ this.props = definedProps;
53
+ }
54
+ getResolvedProps() {
55
+ return this.resolvedProps;
56
+ }
57
+ }
58
+ //# sourceMappingURL=DynamicShaderController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicShaderController.js","sourceRoot":"","sources":["../../../src/main-api/DynamicShaderController.ts"],"names":[],"mappings":"AA0BA,MAAM,OAAO,uBAAuB;IASvB;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;QAC3B,MAAM,kBAAkB,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAQ,CAAC;QAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,GACjB,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAChB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,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,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;gBACjC,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,QAAQ,EAAE;oBAClD,GAAG,EAAE,GAAG,EAAE;wBACR,OACE,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,QAAQ,CAI/C,CAAC,KAAK,CAAC;oBACV,CAAC;oBACD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;wBACb,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAClD,QAAQ,CACc,CAAC;wBACzB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;wBACrB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;4BACxB,KAAK,GAAG,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAE;iCAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;wBACxD,CAAC;wBACD,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;4BAClC,kBAAkB,CAAC,UAAU,CAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;gCAChD,EAAE,kBAAmB,CAAC,MAA8B,CAAC,CAAC;wBAC1D,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC9B,CAAC;wBACD,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBAC3C,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE;gBAC9C,GAAG,EAAE,GAAG,EAAE;oBACR,OAAO,kBAAkB,CAAC;gBAC5B,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,YAAuC,CAAC;IACvD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF"}
@@ -1,7 +1,51 @@
1
1
  import { CoreNode, type CoreNodeAnimateProps, type CoreNodeProps } from '../core/CoreNode.js';
2
2
  import { type RendererMainSettings } from './Renderer.js';
3
3
  import type { AnimationSettings } from '../core/animations/CoreAnimation.js';
4
+ import type { AnimationControllerState } from '../common/IAnimationController.js';
4
5
  import { CoreTextNode, type CoreTextNodeProps } from '../core/CoreTextNode.js';
6
+ /**
7
+ * Inspector Options
8
+ *
9
+ * Configuration options for the Inspector's performance monitoring features.
10
+ */
11
+ export interface InspectorOptions {
12
+ /**
13
+ * Enable performance monitoring for setter calls
14
+ *
15
+ * @defaultValue true
16
+ */
17
+ enablePerformanceMonitoring: boolean;
18
+ /**
19
+ * Threshold for excessive setter calls before logging a warning
20
+ *
21
+ * @defaultValue 100
22
+ */
23
+ excessiveCallThreshold: number;
24
+ /**
25
+ * Time interval in milliseconds to reset the setter call counters
26
+ *
27
+ * @defaultValue 5000
28
+ */
29
+ resetInterval: number;
30
+ /**
31
+ * Enable animation monitoring and statistics tracking
32
+ *
33
+ * @defaultValue true
34
+ */
35
+ enableAnimationMonitoring: boolean;
36
+ /**
37
+ * Maximum number of animations to keep in history for statistics
38
+ *
39
+ * @defaultValue 1000
40
+ */
41
+ maxAnimationHistory: number;
42
+ /**
43
+ * Automatically print animation statistics every X seconds (0 to disable)
44
+ *
45
+ * @defaultValue 0
46
+ */
47
+ animationStatsInterval: number;
48
+ }
5
49
  export declare class Inspector {
6
50
  private root;
7
51
  private canvas;
@@ -11,7 +55,87 @@ export declare class Inspector {
11
55
  private width;
12
56
  private scaleX;
13
57
  private scaleY;
58
+ private static setterCallCount;
59
+ private static activeAnimations;
60
+ private static animationHistory;
61
+ private performanceSettings;
62
+ private animationStatsTimer;
14
63
  constructor(canvas: HTMLCanvasElement, settings: RendererMainSettings);
64
+ /**
65
+ * Track setter calls for performance monitoring
66
+ * Only active when Inspector is loaded
67
+ */
68
+ private trackSetterCall;
69
+ /**
70
+ * Get current performance monitoring statistics
71
+ */
72
+ static getPerformanceStats(): Array<{
73
+ nodeId: number;
74
+ setterName: string;
75
+ count: number;
76
+ timeWindow: number;
77
+ }>;
78
+ /**
79
+ * Clear performance monitoring statistics
80
+ */
81
+ static clearPerformanceStats(): void;
82
+ /**
83
+ * Generate a unique animation ID
84
+ */
85
+ private static generateAnimationId;
86
+ /**
87
+ * Wrap animation controller with monitoring capabilities
88
+ */
89
+ private wrapAnimationController;
90
+ /**
91
+ * Track animation start
92
+ */
93
+ private trackAnimationStart;
94
+ /**
95
+ * Update animation state
96
+ */
97
+ private updateAnimationState;
98
+ /**
99
+ * Track animation end
100
+ */
101
+ private trackAnimationEnd;
102
+ /**
103
+ * Get currently active animations
104
+ */
105
+ static getActiveAnimations(): Array<{
106
+ nodeId: number;
107
+ animationId: string;
108
+ startTime: number;
109
+ duration: number;
110
+ elapsedTime: number;
111
+ props: CoreNodeAnimateProps;
112
+ settings: AnimationSettings;
113
+ state: AnimationControllerState;
114
+ }>;
115
+ /**
116
+ * Get animation statistics
117
+ */
118
+ static getAnimationStats(): {
119
+ totalAnimations: number;
120
+ activeCount: number;
121
+ averageDuration: number;
122
+ };
123
+ /**
124
+ * Clear animation monitoring data
125
+ */
126
+ static clearAnimationStats(): void;
127
+ /**
128
+ * Start the animation stats timer if enabled
129
+ */
130
+ private startAnimationStatsTimer;
131
+ /**
132
+ * Stop the animation stats timer
133
+ */
134
+ private stopAnimationStatsTimer;
135
+ /**
136
+ * Print current animation statistics to console
137
+ */
138
+ private printAnimationStats;
15
139
  setRootPosition(): void;
16
140
  createDiv(id: number, properties: CoreNodeProps | CoreTextNodeProps): HTMLElement;
17
141
  createNodes(node: CoreNode): boolean;
@@ -15,15 +15,17 @@ const stylePropertyMap = {
15
15
  y: (y) => {
16
16
  return { prop: 'top', value: `${y}px` };
17
17
  },
18
- width: (w) => {
18
+ w: (w) => {
19
19
  if (w === 0) {
20
- return null;
20
+ // Set to 1px instead of 0px so Playwright's toBeVisible() passes
21
+ return { prop: 'width', value: '1px' };
21
22
  }
22
23
  return { prop: 'width', value: `${w}px` };
23
24
  },
24
- height: (h) => {
25
+ h: (h) => {
25
26
  if (h === 0) {
26
- return null;
27
+ // Set to 1px instead of 0px so Playwright's toBeVisible() passes
28
+ return { prop: 'height', value: '1px' };
27
29
  }
28
30
  return { prop: 'height', value: `${h}px` };
29
31
  },
@@ -112,6 +114,7 @@ const knownProperties = new Set([
112
114
  'src',
113
115
  'parent',
114
116
  'data',
117
+ 'text',
115
118
  ]);
116
119
  export class Inspector {
117
120
  root = null;
@@ -122,12 +125,37 @@ export class Inspector {
122
125
  width = 1920;
123
126
  scaleX = 1;
124
127
  scaleY = 1;
128
+ // Performance monitoring for frequent setter calls
129
+ static setterCallCount = new Map();
130
+ // Animation monitoring structures
131
+ static activeAnimations = new Map();
132
+ static animationHistory = [];
133
+ // Performance monitoring settings (configured via constructor)
134
+ performanceSettings = {
135
+ enablePerformanceMonitoring: false,
136
+ excessiveCallThreshold: 100,
137
+ resetInterval: 5000,
138
+ enableAnimationMonitoring: false,
139
+ maxAnimationHistory: 1000,
140
+ animationStatsInterval: 0,
141
+ };
142
+ // Animation stats printing timer
143
+ animationStatsTimer = null;
125
144
  constructor(canvas, settings) {
126
145
  if (isProductionEnvironment === true)
127
146
  return;
128
147
  if (!settings) {
129
148
  throw new Error('settings is required');
130
149
  }
150
+ // Initialize performance monitoring settings with defaults
151
+ this.performanceSettings = {
152
+ enablePerformanceMonitoring: settings.inspectorOptions?.enablePerformanceMonitoring ?? false,
153
+ excessiveCallThreshold: settings.inspectorOptions?.excessiveCallThreshold ?? 100,
154
+ resetInterval: settings.inspectorOptions?.resetInterval ?? 5000,
155
+ enableAnimationMonitoring: settings.inspectorOptions?.enableAnimationMonitoring ?? false,
156
+ maxAnimationHistory: settings.inspectorOptions?.maxAnimationHistory ?? 1000,
157
+ animationStatsInterval: settings.inspectorOptions?.animationStatsInterval ?? 0,
158
+ };
131
159
  // calc dimensions based on the devicePixelRatio
132
160
  this.height = Math.ceil(settings.appHeight ?? 1080 / (settings.deviceLogicalPixelRatio ?? 1));
133
161
  this.width = Math.ceil(settings.appWidth ?? 1920 / (settings.deviceLogicalPixelRatio ?? 1));
@@ -149,8 +177,256 @@ export class Inspector {
149
177
  this.resizeObserver.observe(canvas);
150
178
  //listen for changes on window
151
179
  window.addEventListener('resize', this.setRootPosition.bind(this));
180
+ // Start animation stats timer if enabled
181
+ this.startAnimationStatsTimer();
152
182
  console.warn('Inspector is enabled, this will impact performance');
153
183
  }
184
+ /**
185
+ * Track setter calls for performance monitoring
186
+ * Only active when Inspector is loaded
187
+ */
188
+ trackSetterCall(nodeId, setterName) {
189
+ if (!this.performanceSettings.enablePerformanceMonitoring) {
190
+ return;
191
+ }
192
+ const key = `${nodeId}_${setterName}`;
193
+ const now = Date.now();
194
+ const existing = Inspector.setterCallCount.get(key);
195
+ if (!existing) {
196
+ Inspector.setterCallCount.set(key, { count: 1, lastReset: now, nodeId });
197
+ return;
198
+ }
199
+ // Reset counter if enough time has passed
200
+ if (now - existing.lastReset > this.performanceSettings.resetInterval) {
201
+ existing.count = 1;
202
+ existing.lastReset = now;
203
+ return;
204
+ }
205
+ existing.count++;
206
+ // Log if threshold exceeded
207
+ if (existing.count === this.performanceSettings.excessiveCallThreshold) {
208
+ console.warn(`🚨 Inspector Performance Warning: Setter '${setterName}' called ${existing.count} times in ${this.performanceSettings.resetInterval}ms on node ${nodeId}`);
209
+ }
210
+ else if (existing.count > this.performanceSettings.excessiveCallThreshold &&
211
+ existing.count % 50 === 0) {
212
+ console.warn(`🚨 Inspector Performance Warning: Setter '${setterName}' called ${existing.count} times in ${this.performanceSettings.resetInterval}ms on node ${nodeId} (continuing...)`);
213
+ }
214
+ }
215
+ /**
216
+ * Get current performance monitoring statistics
217
+ */
218
+ static getPerformanceStats() {
219
+ const stats = [];
220
+ const now = Date.now();
221
+ Inspector.setterCallCount.forEach((data, key) => {
222
+ const parts = key.split('_');
223
+ const nodeIdStr = parts[0];
224
+ const setterName = parts[1];
225
+ if (nodeIdStr && setterName) {
226
+ const timeWindow = now - data.lastReset;
227
+ stats.push({
228
+ nodeId: parseInt(nodeIdStr, 10),
229
+ setterName,
230
+ count: data.count,
231
+ timeWindow,
232
+ });
233
+ }
234
+ });
235
+ return stats.sort((a, b) => b.count - a.count);
236
+ }
237
+ /**
238
+ * Clear performance monitoring statistics
239
+ */
240
+ static clearPerformanceStats() {
241
+ Inspector.setterCallCount.clear();
242
+ }
243
+ /**
244
+ * Generate a unique animation ID
245
+ */
246
+ static generateAnimationId() {
247
+ return `anim_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
248
+ }
249
+ /**
250
+ * Wrap animation controller with monitoring capabilities
251
+ */
252
+ wrapAnimationController(controller, nodeId, props, settings, div) {
253
+ if (!this.performanceSettings.enableAnimationMonitoring) {
254
+ // Just add the basic DOM animation without tracking
255
+ const originalStart = controller.start.bind(controller);
256
+ controller.start = () => {
257
+ this.animateNode(div, props, settings);
258
+ return originalStart();
259
+ };
260
+ return controller;
261
+ }
262
+ const animationId = Inspector.generateAnimationId();
263
+ // Create wrapper controller
264
+ const wrappedController = {
265
+ start: () => {
266
+ this.trackAnimationStart(animationId, nodeId, props, settings, controller);
267
+ this.animateNode(div, props, settings);
268
+ return controller.start();
269
+ },
270
+ stop: () => {
271
+ this.trackAnimationEnd(animationId, 'stopped');
272
+ return controller.stop();
273
+ },
274
+ pause: () => {
275
+ this.updateAnimationState(animationId, 'paused');
276
+ return controller.pause();
277
+ },
278
+ restore: () => {
279
+ this.trackAnimationEnd(animationId, 'cancelled');
280
+ return controller.restore();
281
+ },
282
+ waitUntilStopped: () => {
283
+ return controller.waitUntilStopped().then(() => {
284
+ this.trackAnimationEnd(animationId, 'finished');
285
+ });
286
+ },
287
+ get state() {
288
+ return controller.state;
289
+ },
290
+ // Event emitter methods
291
+ on: controller.on.bind(controller),
292
+ off: controller.off.bind(controller),
293
+ once: controller.once.bind(controller),
294
+ emit: controller.emit.bind(controller),
295
+ };
296
+ // Track animation events
297
+ controller.on('animating', () => {
298
+ this.updateAnimationState(animationId, 'running');
299
+ });
300
+ controller.on('stopped', () => {
301
+ this.trackAnimationEnd(animationId, 'finished');
302
+ });
303
+ return wrappedController;
304
+ }
305
+ /**
306
+ * Track animation start
307
+ */
308
+ trackAnimationStart(animationId, nodeId, props, settings, controller) {
309
+ const startTime = Date.now();
310
+ Inspector.activeAnimations.set(animationId, {
311
+ nodeId,
312
+ animationId,
313
+ startTime,
314
+ props,
315
+ settings,
316
+ controller,
317
+ state: 'scheduled',
318
+ });
319
+ }
320
+ /**
321
+ * Update animation state
322
+ */
323
+ updateAnimationState(animationId, state) {
324
+ const animation = Inspector.activeAnimations.get(animationId);
325
+ if (animation) {
326
+ animation.state = state;
327
+ }
328
+ }
329
+ /**
330
+ * Track animation end
331
+ */
332
+ trackAnimationEnd(animationId, completionType) {
333
+ const animation = Inspector.activeAnimations.get(animationId);
334
+ if (!animation)
335
+ return;
336
+ const endTime = Date.now();
337
+ const actualDuration = endTime - animation.startTime;
338
+ const expectedDuration = animation.settings.duration || 1000;
339
+ // Move to history
340
+ Inspector.animationHistory.unshift({
341
+ nodeId: animation.nodeId,
342
+ animationId: animation.animationId,
343
+ startTime: animation.startTime,
344
+ endTime,
345
+ duration: expectedDuration,
346
+ actualDuration,
347
+ props: animation.props,
348
+ settings: animation.settings,
349
+ completionType,
350
+ });
351
+ // Limit history size for performance
352
+ if (Inspector.animationHistory.length >
353
+ this.performanceSettings.maxAnimationHistory) {
354
+ Inspector.animationHistory.splice(this.performanceSettings.maxAnimationHistory);
355
+ }
356
+ // Remove from active animations
357
+ Inspector.activeAnimations.delete(animationId);
358
+ }
359
+ /**
360
+ * Get currently active animations
361
+ */
362
+ static getActiveAnimations() {
363
+ const now = Date.now();
364
+ const activeAnimations = [];
365
+ Inspector.activeAnimations.forEach((animation) => {
366
+ activeAnimations.push({
367
+ nodeId: animation.nodeId,
368
+ animationId: animation.animationId,
369
+ startTime: animation.startTime,
370
+ duration: animation.settings.duration || 1000,
371
+ elapsedTime: now - animation.startTime,
372
+ props: animation.props,
373
+ settings: animation.settings,
374
+ state: animation.state,
375
+ });
376
+ });
377
+ return activeAnimations.sort((a, b) => b.startTime - a.startTime);
378
+ }
379
+ /**
380
+ * Get animation statistics
381
+ */
382
+ static getAnimationStats() {
383
+ const totalAnimations = Inspector.animationHistory.length;
384
+ const activeCount = Inspector.activeAnimations.size;
385
+ // Calculate average duration from finished animations only
386
+ const finishedAnimations = Inspector.animationHistory.filter((anim) => anim.completionType === 'finished');
387
+ const averageDuration = finishedAnimations.length > 0
388
+ ? finishedAnimations.reduce((sum, anim) => sum + anim.actualDuration, 0) / finishedAnimations.length
389
+ : 0;
390
+ return {
391
+ totalAnimations,
392
+ activeCount,
393
+ averageDuration,
394
+ };
395
+ }
396
+ /**
397
+ * Clear animation monitoring data
398
+ */
399
+ static clearAnimationStats() {
400
+ Inspector.activeAnimations.clear();
401
+ Inspector.animationHistory.length = 0;
402
+ }
403
+ /**
404
+ * Start the animation stats timer if enabled
405
+ */
406
+ startAnimationStatsTimer() {
407
+ console.log(`Starting animation stats timer with interval: ${this.performanceSettings.animationStatsInterval} seconds`);
408
+ if (this.performanceSettings.animationStatsInterval > 0) {
409
+ this.animationStatsTimer = setInterval(() => {
410
+ this.printAnimationStats();
411
+ }, this.performanceSettings.animationStatsInterval * 1000);
412
+ }
413
+ }
414
+ /**
415
+ * Stop the animation stats timer
416
+ */
417
+ stopAnimationStatsTimer() {
418
+ if (this.animationStatsTimer) {
419
+ clearInterval(this.animationStatsTimer);
420
+ this.animationStatsTimer = null;
421
+ }
422
+ }
423
+ /**
424
+ * Print current animation statistics to console
425
+ */
426
+ printAnimationStats() {
427
+ const stats = Inspector.getAnimationStats();
428
+ console.log(`🎬 Animation Stats: ${stats.activeCount} active, ${stats.totalAnimations} completed, ${Math.round(stats.averageDuration)}ms avg duration`);
429
+ }
154
430
  setRootPosition() {
155
431
  if (this.root === null || this.canvas === null) {
156
432
  return;
@@ -232,6 +508,8 @@ export class Inspector {
232
508
  return originalProp?.get?.call(node);
233
509
  },
234
510
  set: (value) => {
511
+ // Track setter call for performance monitoring
512
+ this.trackSetterCall(node.id, property);
235
513
  originalProp?.set?.call(node, value);
236
514
  this.updateNodeProperty(div, property, value, node.props);
237
515
  },
@@ -251,18 +529,16 @@ export class Inspector {
251
529
  Object.defineProperty(node, 'animate', {
252
530
  value: (props, settings) => {
253
531
  const animationController = originalAnimate.call(node, props, settings);
254
- const originalStart = animationController.start.bind(animationController);
255
- animationController.start = () => {
256
- this.animateNode(div, props, settings);
257
- return originalStart();
258
- };
259
- return animationController;
532
+ // Wrap animation controller with monitoring
533
+ return this.wrapAnimationController(animationController, node.id, props, settings, div);
260
534
  },
261
535
  configurable: true,
262
536
  });
263
537
  return node;
264
538
  }
265
539
  destroy() {
540
+ // Stop animation stats timer
541
+ this.stopAnimationStatsTimer();
266
542
  // Remove DOM observers
267
543
  this.mutationObserver.disconnect();
268
544
  this.resizeObserver.disconnect();
@@ -271,6 +547,8 @@ export class Inspector {
271
547
  if (this.root && this.root.parentNode) {
272
548
  this.root.remove();
273
549
  }
550
+ // Clean up animation monitoring data
551
+ Inspector.clearAnimationStats();
274
552
  }
275
553
  destroyNode(id) {
276
554
  const div = document.getElementById(id.toString());
@@ -300,9 +578,10 @@ export class Inspector {
300
578
  // special case for text
301
579
  if (property === 'text') {
302
580
  div.innerHTML = String(value);
303
- // hide text because we can't render SDF fonts
304
- // it would look weird and obstruct the WebGL rendering
305
- div.style.visibility = 'hidden';
581
+ // Keep DOM text invisible without breaking Playwright visibility checks by using color:transparent instead of opacity:0
582
+ div.style.color = 'transparent';
583
+ div.style.pointerEvents = 'none';
584
+ div.style.userSelect = 'none';
306
585
  return;
307
586
  }
308
587
  // special case for images
@@ -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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"}