@lightningjs/renderer 3.0.0-beta11 → 3.0.0-beta13

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 (324) hide show
  1. package/README.md +4 -0
  2. package/dist/src/common/CommonTypes.d.ts +2 -2
  3. package/dist/src/core/CoreNode.d.ts +10 -25
  4. package/dist/src/core/CoreNode.js +77 -81
  5. package/dist/src/core/CoreNode.js.map +1 -1
  6. package/dist/src/core/CoreTextNode.js +10 -10
  7. package/dist/src/core/CoreTextNode.js.map +1 -1
  8. package/dist/src/core/Stage.d.ts +0 -1
  9. package/dist/src/core/Stage.js +5 -10
  10. package/dist/src/core/Stage.js.map +1 -1
  11. package/dist/src/core/lib/WebGlContextWrapper.js +1 -1
  12. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  13. package/dist/src/core/lib/textureCompression.js +4 -4
  14. package/dist/src/core/lib/textureCompression.js.map +1 -1
  15. package/dist/src/core/renderers/CoreShaderNode.js +2 -2
  16. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
  17. package/dist/src/core/renderers/canvas/CanvasRenderer.js +1 -1
  18. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
  19. package/dist/src/core/renderers/canvas/CanvasTexture.js +5 -5
  20. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
  21. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +5 -6
  22. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -1
  23. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +13 -0
  24. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +34 -5
  25. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -1
  26. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +21 -21
  27. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
  28. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +1 -1
  29. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -1
  30. package/dist/src/core/renderers/webgl/WebGlRenderer.js +13 -13
  31. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
  32. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +2 -2
  33. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
  34. package/dist/src/core/shaders/canvas/Border.js +4 -4
  35. package/dist/src/core/shaders/canvas/Border.js.map +1 -1
  36. package/dist/src/core/shaders/canvas/HolePunch.js +3 -3
  37. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -1
  38. package/dist/src/core/shaders/canvas/LinearGradient.js +2 -2
  39. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -1
  40. package/dist/src/core/shaders/canvas/RadialGradient.js +4 -4
  41. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -1
  42. package/dist/src/core/shaders/canvas/Rounded.js +1 -1
  43. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -1
  44. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +3 -3
  45. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
  46. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +3 -3
  47. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
  48. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +1 -1
  49. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
  50. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +1 -1
  51. package/dist/src/core/shaders/templates/BorderTemplate.js +10 -10
  52. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -1
  53. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +2 -2
  54. package/dist/src/core/shaders/templates/HolePunchTemplate.js +2 -2
  55. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -1
  56. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +2 -2
  57. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +2 -2
  58. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -1
  59. package/dist/src/core/shaders/webgl/Border.js +1 -1
  60. package/dist/src/core/shaders/webgl/Border.js.map +1 -1
  61. package/dist/src/core/shaders/webgl/HolePunch.js +2 -2
  62. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
  63. package/dist/src/core/shaders/webgl/RadialGradient.js +2 -2
  64. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
  65. package/dist/src/core/shaders/webgl/Rounded.js +1 -1
  66. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -1
  67. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +2 -2
  68. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
  69. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +2 -2
  70. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
  71. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +1 -1
  72. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -1
  73. package/dist/src/core/text-rendering/sdf/Utils.js +2 -2
  74. package/dist/src/core/text-rendering/sdf/Utils.js.map +1 -1
  75. package/dist/src/core/textures/ColorTexture.js +1 -1
  76. package/dist/src/core/textures/ColorTexture.js.map +1 -1
  77. package/dist/src/core/textures/ImageTexture.d.ts +2 -2
  78. package/dist/src/core/textures/ImageTexture.js +11 -11
  79. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  80. package/dist/src/core/textures/NoiseTexture.d.ts +2 -2
  81. package/dist/src/core/textures/NoiseTexture.js +6 -6
  82. package/dist/src/core/textures/NoiseTexture.js.map +1 -1
  83. package/dist/src/core/textures/RenderTexture.d.ts +6 -6
  84. package/dist/src/core/textures/RenderTexture.js +10 -10
  85. package/dist/src/core/textures/RenderTexture.js.map +1 -1
  86. package/dist/src/core/textures/SubTexture.d.ts +4 -4
  87. package/dist/src/core/textures/SubTexture.js +8 -8
  88. package/dist/src/core/textures/SubTexture.js.map +1 -1
  89. package/dist/src/core/textures/Texture.d.ts +3 -4
  90. package/dist/src/core/textures/Texture.js +4 -4
  91. package/dist/src/core/textures/Texture.js.map +1 -1
  92. package/dist/src/main-api/Inspector.js +7 -7
  93. package/dist/src/main-api/Inspector.js.map +1 -1
  94. package/dist/src/main-api/Renderer.d.ts +0 -10
  95. package/dist/src/main-api/Renderer.js +2 -4
  96. package/dist/src/main-api/Renderer.js.map +1 -1
  97. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  98. package/package.json +1 -1
  99. package/src/common/CommonTypes.ts +2 -2
  100. package/src/core/CoreNode.test.ts +15 -14
  101. package/src/core/CoreNode.ts +91 -118
  102. package/src/core/CoreTextNode.ts +10 -10
  103. package/src/core/Stage.ts +5 -10
  104. package/src/core/lib/WebGlContextWrapper.ts +1 -1
  105. package/src/core/lib/textureCompression.ts +4 -4
  106. package/src/core/renderers/CoreShaderNode.ts +2 -2
  107. package/src/core/renderers/canvas/CanvasRenderer.ts +2 -2
  108. package/src/core/renderers/canvas/CanvasTexture.ts +5 -5
  109. package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +5 -15
  110. package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +50 -5
  111. package/src/core/renderers/webgl/WebGlCtxTexture.ts +21 -30
  112. package/src/core/renderers/webgl/WebGlRenderOp.ts +1 -1
  113. package/src/core/renderers/webgl/WebGlRenderer.ts +13 -15
  114. package/src/core/renderers/webgl/WebGlShaderProgram.ts +2 -2
  115. package/src/core/shaders/canvas/Border.ts +4 -4
  116. package/src/core/shaders/canvas/HolePunch.ts +4 -11
  117. package/src/core/shaders/canvas/LinearGradient.ts +2 -2
  118. package/src/core/shaders/canvas/RadialGradient.ts +4 -4
  119. package/src/core/shaders/canvas/Rounded.ts +2 -2
  120. package/src/core/shaders/canvas/RoundedWithBorder.ts +4 -6
  121. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +4 -6
  122. package/src/core/shaders/canvas/RoundedWithShadow.ts +2 -2
  123. package/src/core/shaders/templates/BorderTemplate.ts +11 -11
  124. package/src/core/shaders/templates/HolePunchTemplate.ts +4 -4
  125. package/src/core/shaders/templates/RadialGradientTemplate.ts +4 -4
  126. package/src/core/shaders/webgl/Border.ts +1 -1
  127. package/src/core/shaders/webgl/HolePunch.ts +2 -2
  128. package/src/core/shaders/webgl/RadialGradient.ts +3 -3
  129. package/src/core/shaders/webgl/Rounded.ts +1 -5
  130. package/src/core/shaders/webgl/RoundedWithBorder.ts +2 -6
  131. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +2 -2
  132. package/src/core/shaders/webgl/RoundedWithShadow.ts +1 -5
  133. package/src/core/text-rendering/sdf/Utils.ts +2 -2
  134. package/src/core/textures/ColorTexture.ts +1 -1
  135. package/src/core/textures/ImageTexture.ts +15 -15
  136. package/src/core/textures/NoiseTexture.ts +8 -8
  137. package/src/core/textures/RenderTexture.ts +12 -12
  138. package/src/core/textures/SubTexture.ts +10 -10
  139. package/src/core/textures/Texture.ts +7 -7
  140. package/src/main-api/Inspector.ts +8 -8
  141. package/src/main-api/Renderer.ts +2 -15
  142. package/dist/src/core/platform.d.ts +0 -10
  143. package/dist/src/core/platform.js +0 -81
  144. package/dist/src/core/platform.js.map +0 -1
  145. package/dist/src/core/renderers/CoreShader.d.ts +0 -9
  146. package/dist/src/core/renderers/CoreShader.js +0 -28
  147. package/dist/src/core/renderers/CoreShader.js.map +0 -1
  148. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +0 -33
  149. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +0 -250
  150. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +0 -1
  151. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +0 -16
  152. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +0 -124
  153. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +0 -1
  154. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +0 -14
  155. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +0 -138
  156. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +0 -1
  157. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +0 -19
  158. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +0 -58
  159. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +0 -1
  160. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +0 -10
  161. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +0 -43
  162. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +0 -1
  163. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +0 -12
  164. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +0 -58
  165. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +0 -1
  166. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +0 -9
  167. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +0 -38
  168. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +0 -1
  169. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +0 -56
  170. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +0 -239
  171. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +0 -1
  172. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +0 -34
  173. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +0 -114
  174. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +0 -1
  175. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +0 -133
  176. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +0 -616
  177. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +0 -1
  178. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +0 -83
  179. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +0 -233
  180. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +0 -1
  181. package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +0 -9
  182. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +0 -87
  183. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +0 -1
  184. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +0 -10
  185. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +0 -119
  186. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +0 -1
  187. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +0 -29
  188. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +0 -413
  189. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +0 -1
  190. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +0 -28
  191. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +0 -131
  192. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +0 -1
  193. package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +0 -47
  194. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +0 -160
  195. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +0 -1
  196. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +0 -31
  197. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +0 -71
  198. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +0 -1
  199. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +0 -30
  200. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +0 -58
  201. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +0 -1
  202. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +0 -31
  203. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +0 -71
  204. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +0 -1
  205. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +0 -31
  206. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +0 -71
  207. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +0 -1
  208. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +0 -31
  209. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +0 -71
  210. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +0 -1
  211. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +0 -9
  212. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +0 -136
  213. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +0 -1
  214. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +0 -36
  215. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +0 -85
  216. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +0 -1
  217. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +0 -45
  218. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +0 -104
  219. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +0 -1
  220. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +0 -22
  221. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +0 -45
  222. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +0 -1
  223. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +0 -58
  224. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +0 -80
  225. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +0 -1
  226. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +0 -35
  227. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +0 -129
  228. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +0 -1
  229. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +0 -39
  230. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +0 -116
  231. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +0 -1
  232. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +0 -61
  233. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +0 -127
  234. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +0 -1
  235. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +0 -40
  236. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +0 -71
  237. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +0 -1
  238. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +0 -115
  239. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +0 -61
  240. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +0 -1
  241. package/dist/src/core/shaders/templates/shaderUtils.d.ts +0 -5
  242. package/dist/src/core/shaders/templates/shaderUtils.js +0 -41
  243. package/dist/src/core/shaders/templates/shaderUtils.js.map +0 -1
  244. package/dist/src/core/shaders/webgl/Spinner.d.ts +0 -1
  245. package/dist/src/core/shaders/webgl/Spinner.js +0 -2
  246. package/dist/src/core/shaders/webgl/Spinner.js.map +0 -1
  247. package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +0 -12
  248. package/dist/src/core/text-rendering/TextRenderingUtils.js +0 -14
  249. package/dist/src/core/text-rendering/TextRenderingUtils.js.map +0 -1
  250. package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +0 -72
  251. package/dist/src/core/text-rendering/TextTextureRendererUtils.js +0 -217
  252. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +0 -1
  253. package/dist/src/core/text-rendering/TrFontManager.d.ts +0 -26
  254. package/dist/src/core/text-rendering/TrFontManager.js +0 -131
  255. package/dist/src/core/text-rendering/TrFontManager.js.map +0 -1
  256. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +0 -39
  257. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +0 -125
  258. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +0 -1
  259. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.d.ts +0 -103
  260. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js +0 -21
  261. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js.map +0 -1
  262. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +0 -62
  263. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +0 -88
  264. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +0 -1
  265. package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +0 -118
  266. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +0 -63
  267. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +0 -1
  268. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +0 -14
  269. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +0 -66
  270. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +0 -1
  271. package/dist/src/core/text-rendering/font-face-types/utils.d.ts +0 -1
  272. package/dist/src/core/text-rendering/font-face-types/utils.js +0 -38
  273. package/dist/src/core/text-rendering/font-face-types/utils.js.map +0 -1
  274. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +0 -59
  275. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +0 -397
  276. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +0 -1
  277. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +0 -120
  278. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +0 -551
  279. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +0 -1
  280. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +0 -92
  281. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +0 -607
  282. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +0 -1
  283. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.d.ts +0 -12
  284. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js +0 -61
  285. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js.map +0 -1
  286. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.d.ts +0 -33
  287. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js +0 -52
  288. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js.map +0 -1
  289. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.d.ts +0 -13
  290. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js +0 -32
  291. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js.map +0 -1
  292. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +0 -23
  293. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +0 -84
  294. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +0 -1
  295. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.d.ts +0 -4
  296. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js +0 -34
  297. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js.map +0 -1
  298. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +0 -20
  299. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +0 -308
  300. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +0 -1
  301. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.d.ts +0 -10
  302. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +0 -40
  303. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +0 -1
  304. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +0 -26
  305. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +0 -70
  306. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +0 -1
  307. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +0 -16
  308. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js +0 -39
  309. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +0 -1
  310. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +0 -373
  311. package/dist/src/core/text-rendering/renderers/TextRenderer.js +0 -178
  312. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +0 -1
  313. package/dist/src/core/text-rendering/sdf/PeekableGenerator.d.ts +0 -12
  314. package/dist/src/core/text-rendering/sdf/PeekableGenerator.js +0 -61
  315. package/dist/src/core/text-rendering/sdf/PeekableGenerator.js.map +0 -1
  316. package/dist/src/core/text-rendering/sdf/SimpleFontShaper.d.ts +0 -45
  317. package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js +0 -69
  318. package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js.map +0 -1
  319. package/dist/src/main-api/DynamicShaderController.d.ts +0 -29
  320. package/dist/src/main-api/DynamicShaderController.js +0 -58
  321. package/dist/src/main-api/DynamicShaderController.js.map +0 -1
  322. package/dist/src/main-api/ShaderController.d.ts +0 -31
  323. package/dist/src/main-api/ShaderController.js +0 -37
  324. package/dist/src/main-api/ShaderController.js.map +0 -1
@@ -231,16 +231,18 @@ export interface CoreNodeProps {
231
231
  y: number;
232
232
  /**
233
233
  * The width of the Node.
234
+ * @warning This will be deprecated in favor of `w` and `h` properties in the future.
234
235
  *
235
236
  * @default `0`
236
237
  */
237
- width: number;
238
+ w: number;
238
239
  /**
239
240
  * The height of the Node.
241
+ * @warning This will be deprecated in favor of `w` and `h` properties in the future.
240
242
  *
241
243
  * @default `0`
242
244
  */
243
- height: number;
245
+ h: number;
244
246
  /**
245
247
  * The alpha opacity of the Node.
246
248
  *
@@ -670,21 +672,6 @@ export interface CoreNodeProps {
670
672
  * @default false
671
673
  */
672
674
  interactive?: boolean;
673
- /**
674
- * By enabling Strict bounds the renderer will not process & render child nodes of a node that is out of the visible area
675
- *
676
- * @remarks
677
- * When enabled out of bound nodes, i.e. nodes that are out of the visible area, will
678
- * **NOT** have their children processed and renderer anymore. This means the children of a out of bound
679
- * node will not receive update processing such as positioning updates and will not be drawn on screen.
680
- * As such the rest of the branch of the update tree that sits below this node will not be processed anymore
681
- *
682
- * This is a big performance gain but may be disabled in cases where the width of the parent node is
683
- * unknown and the render must process the child nodes regardless of the viewport status of the parent node
684
- *
685
- * @default true
686
- */
687
- strictBounds: boolean;
688
675
  }
689
676
 
690
677
  /**
@@ -740,7 +727,8 @@ export class CoreNode extends EventEmitter {
740
727
  valid: false,
741
728
  };
742
729
  public textureCoords?: TextureCoords;
743
- public updateTextureCoords?: boolean = false;
730
+ public updateTextureCoords: boolean = false;
731
+ public updateShaderUniforms: boolean = false;
744
732
  public isRenderable = false;
745
733
  public renderState: CoreNodeRenderState = CoreNodeRenderState.Init;
746
734
 
@@ -768,8 +756,8 @@ export class CoreNode extends EventEmitter {
768
756
  // Fast-path assign only known keys
769
757
  p.x = props.x;
770
758
  p.y = props.y;
771
- p.width = props.width;
772
- p.height = props.height;
759
+ p.w = props.w;
760
+ p.h = props.h;
773
761
  p.alpha = props.alpha;
774
762
  p.autosize = props.autosize;
775
763
  p.clipping = props.clipping;
@@ -793,7 +781,6 @@ export class CoreNode extends EventEmitter {
793
781
  p.mountY = props.mountY;
794
782
  p.mount = props.mount;
795
783
  p.pivot = props.pivot;
796
- p.strictBounds = props.strictBounds;
797
784
 
798
785
  p.zIndex = props.zIndex;
799
786
  p.zIndexLocked = props.zIndexLocked;
@@ -888,15 +875,12 @@ export class CoreNode extends EventEmitter {
888
875
  texture.setRenderableOwner(this, false);
889
876
  }
890
877
 
891
- autosizeNode(dimensions: Dimensions) {
892
- if (this.autosize) {
893
- this.width = dimensions.width;
894
- this.height = dimensions.height;
878
+ protected onTextureLoaded: TextureLoadedEventHandler = (_, dimensions) => {
879
+ if (this.autosize === true) {
880
+ this.w = dimensions.w;
881
+ this.h = dimensions.h;
895
882
  }
896
- }
897
883
 
898
- protected onTextureLoaded: TextureLoadedEventHandler = (_, dimensions) => {
899
- this.autosizeNode(dimensions);
900
884
  this.setUpdateType(UpdateType.IsRenderable);
901
885
 
902
886
  // Texture was loaded. In case the RAF loop has already stopped, we request
@@ -909,7 +893,7 @@ export class CoreNode extends EventEmitter {
909
893
  }
910
894
 
911
895
  // ignore 1x1 pixel textures
912
- if (dimensions.width > 1 && dimensions.height > 1) {
896
+ if (dimensions.w > 1 && dimensions.h > 1) {
913
897
  this.emit('loaded', {
914
898
  type: 'texture',
915
899
  dimensions,
@@ -979,21 +963,21 @@ export class CoreNode extends EventEmitter {
979
963
 
980
964
  updateLocalTransform() {
981
965
  const p = this.props;
982
- const { x, y, width, height } = p;
983
- const mountTranslateX = p.mountX * width;
984
- const mountTranslateY = p.mountY * height;
966
+ const { x, y, w, h } = p;
967
+ const mountTranslateX = p.mountX * w;
968
+ const mountTranslateY = p.mountY * h;
985
969
 
986
970
  if (p.rotation !== 0 || p.scaleX !== 1 || p.scaleY !== 1) {
987
- const pivotTranslateX = p.pivotX * width;
988
- const pivotTranslateY = p.pivotY * height;
971
+ const scaleRotate = Matrix3d.rotate(p.rotation).scale(p.scaleX, p.scaleY);
972
+ const pivotTranslateX = p.pivotX * w;
973
+ const pivotTranslateY = p.pivotY * h;
989
974
 
990
975
  this.localTransform = Matrix3d.translate(
991
976
  x - mountTranslateX + pivotTranslateX,
992
977
  y - mountTranslateY + pivotTranslateY,
993
978
  this.localTransform,
994
979
  )
995
- .rotate(p.rotation)
996
- .scale(p.scaleX, p.scaleY)
980
+ .multiply(scaleRotate)
997
981
  .translate(-pivotTranslateX, -pivotTranslateY);
998
982
  } else {
999
983
  this.localTransform = Matrix3d.translate(
@@ -1014,25 +998,25 @@ export class CoreNode extends EventEmitter {
1014
998
  let resizeModeScaleY = 1;
1015
999
  let extraX = 0;
1016
1000
  let extraY = 0;
1017
- const { width: tw, height: th } = texture.dimensions;
1001
+ const { w: tw, h: th } = texture.dimensions;
1018
1002
  const txAspectRatio = tw / th;
1019
- const nodeAspectRatio = width / height;
1003
+ const nodeAspectRatio = w / h;
1020
1004
  if (txAspectRatio > nodeAspectRatio) {
1021
1005
  // Texture is wider than node
1022
1006
  // Center the node vertically (shift down by extraY)
1023
1007
  // Scale the node vertically to maintain original aspect ratio
1024
- const scaleX = width / tw;
1008
+ const scaleX = w / tw;
1025
1009
  const scaledTxHeight = th * scaleX;
1026
- extraY = (height - scaledTxHeight) / 2;
1027
- resizeModeScaleY = scaledTxHeight / height;
1010
+ extraY = (h - scaledTxHeight) / 2;
1011
+ resizeModeScaleY = scaledTxHeight / h;
1028
1012
  } else {
1029
1013
  // Texture is taller than node (or equal)
1030
1014
  // Center the node horizontally (shift right by extraX)
1031
1015
  // Scale the node horizontally to maintain original aspect ratio
1032
- const scaleY = height / th;
1016
+ const scaleY = h / th;
1033
1017
  const scaledTxWidth = tw * scaleY;
1034
- extraX = (width - scaledTxWidth) / 2;
1035
- resizeModeScaleX = scaledTxWidth / width;
1018
+ extraX = (w - scaledTxWidth) / 2;
1019
+ resizeModeScaleX = scaledTxWidth / w;
1036
1020
  }
1037
1021
 
1038
1022
  // Apply the extra translation and scale to the local transform
@@ -1149,7 +1133,7 @@ export class CoreNode extends EventEmitter {
1149
1133
  }
1150
1134
 
1151
1135
  if (updateType & UpdateType.WorldAlpha) {
1152
- this.worldAlpha = ((parent && parent.worldAlpha) || 1) * props.alpha;
1136
+ this.worldAlpha = (parent?.worldAlpha ?? 1) * this.props.alpha;
1153
1137
  updateType |=
1154
1138
  UpdateType.PremultipliedColors |
1155
1139
  UpdateType.Children |
@@ -1185,7 +1169,7 @@ export class CoreNode extends EventEmitter {
1185
1169
 
1186
1170
  this.premultipliedColorTl = merged;
1187
1171
 
1188
- if (same) {
1172
+ if (same === true) {
1189
1173
  this.premultipliedColorTr =
1190
1174
  this.premultipliedColorBl =
1191
1175
  this.premultipliedColorBr =
@@ -1219,10 +1203,7 @@ export class CoreNode extends EventEmitter {
1219
1203
  parent.setUpdateType(UpdateType.ZIndexSortedChildren);
1220
1204
  }
1221
1205
 
1222
- if (
1223
- props.strictBounds === true &&
1224
- this.renderState === CoreNodeRenderState.OutOfBounds
1225
- ) {
1206
+ if (this.renderState === CoreNodeRenderState.OutOfBounds) {
1226
1207
  updateType &= ~UpdateType.RenderBounds; // remove render bounds update
1227
1208
  return;
1228
1209
  }
@@ -1231,6 +1212,11 @@ export class CoreNode extends EventEmitter {
1231
1212
  updateType & UpdateType.RecalcUniforms &&
1232
1213
  this.hasShaderUpdater === true
1233
1214
  ) {
1215
+ this.updateShaderUniforms = true;
1216
+ }
1217
+
1218
+ if (this.isRenderable === true && this.updateShaderUniforms === true) {
1219
+ this.updateShaderUniforms = false;
1234
1220
  //this exists because the boolean hasShaderUpdater === true
1235
1221
  this.shader!.update!();
1236
1222
  }
@@ -1353,10 +1339,7 @@ export class CoreNode extends EventEmitter {
1353
1339
  }
1354
1340
 
1355
1341
  // check if we dont have dimensions, take our parent's render state
1356
- if (
1357
- this.parent !== null &&
1358
- (this.props.width === 0 || this.props.height === 0)
1359
- ) {
1342
+ if (this.parent !== null && (this.props.w === 0 || this.props.h === 0)) {
1360
1343
  return this.parent.renderState;
1361
1344
  }
1362
1345
 
@@ -1427,20 +1410,14 @@ export class CoreNode extends EventEmitter {
1427
1410
  }
1428
1411
 
1429
1412
  // clipping is enabled and we are in bounds create our own bounds
1430
- const { x, y, width, height } = this.props;
1413
+ const { x, y, w, h } = this.props;
1431
1414
 
1432
1415
  // Pick the global transform if available, otherwise use the local transform
1433
1416
  // global transform is only available if the node in an RTT chain
1434
1417
  const { tx, ty } = this.sceneGlobalTransform || this.globalTransform || {};
1435
1418
  const _x = tx ?? x;
1436
1419
  const _y = ty ?? y;
1437
- this.strictBound = createBound(
1438
- _x,
1439
- _y,
1440
- _x + width,
1441
- _y + height,
1442
- this.strictBound,
1443
- );
1420
+ this.strictBound = createBound(_x, _y, _x + w, _y + h, this.strictBound);
1444
1421
 
1445
1422
  this.preloadBound = createPreloadBounds(
1446
1423
  this.strictBound,
@@ -1489,7 +1466,7 @@ export class CoreNode extends EventEmitter {
1489
1466
  // check shader
1490
1467
  (this.props.shader !== null || this.hasColorProps === true) &&
1491
1468
  // check dimensions
1492
- (this.props.width !== 0 && this.props.height !== 0) === true
1469
+ (this.props.w !== 0 && this.props.h !== 0) === true
1493
1470
  ) {
1494
1471
  // This mean we have dimensions and a color set, so we can render a ColorTexture
1495
1472
  if (
@@ -1527,7 +1504,7 @@ export class CoreNode extends EventEmitter {
1527
1504
  }
1528
1505
 
1529
1506
  calculateRenderCoords() {
1530
- const { width, height } = this;
1507
+ const { w, h } = this.props;
1531
1508
 
1532
1509
  const g = this.globalTransform!;
1533
1510
  const tx = g.tx,
@@ -1538,9 +1515,9 @@ export class CoreNode extends EventEmitter {
1538
1515
  td = g.td;
1539
1516
  if (tb === 0 && tc === 0) {
1540
1517
  const minX = tx;
1541
- const maxX = tx + width * ta;
1518
+ const maxX = tx + w * ta;
1542
1519
  const minY = ty;
1543
- const maxY = ty + height * td;
1520
+ const maxY = ty + h * td;
1544
1521
  this.renderCoords = RenderCoords.translate(
1545
1522
  //top-left
1546
1523
  minX,
@@ -1562,14 +1539,14 @@ export class CoreNode extends EventEmitter {
1562
1539
  tx,
1563
1540
  ty,
1564
1541
  //top-right
1565
- tx + width * ta,
1566
- ty + width * tc,
1542
+ tx + w * ta,
1543
+ ty + w * tc,
1567
1544
  //bottom-right
1568
- tx + width * ta + height * tb,
1569
- ty + width * tc + height * td,
1545
+ tx + w * ta + h * tb,
1546
+ ty + w * tc + h * td,
1570
1547
  //bottom-left
1571
- tx + height * tb,
1572
- ty + height * td,
1548
+ tx + h * tb,
1549
+ ty + h * td,
1573
1550
  this.renderCoords,
1574
1551
  );
1575
1552
  }
@@ -1587,9 +1564,9 @@ export class CoreNode extends EventEmitter {
1587
1564
  } = this.sceneGlobalTransform;
1588
1565
  if (stb === 0 && stc === 0) {
1589
1566
  const minX = stx;
1590
- const maxX = stx + width * sta;
1567
+ const maxX = stx + w * sta;
1591
1568
  const minY = sty;
1592
- const maxY = sty + height * std;
1569
+ const maxY = sty + h * std;
1593
1570
  this.sceneRenderCoords = RenderCoords.translate(
1594
1571
  //top-left
1595
1572
  minX,
@@ -1611,14 +1588,14 @@ export class CoreNode extends EventEmitter {
1611
1588
  stx,
1612
1589
  sty,
1613
1590
  //top-right
1614
- stx + width * sta,
1615
- sty + width * stc,
1591
+ stx + w * sta,
1592
+ sty + w * stc,
1616
1593
  //bottom-right
1617
- stx + width * sta + height * stb,
1618
- sty + width * stc + height * std,
1594
+ stx + w * sta + h * stb,
1595
+ sty + w * stc + h * std,
1619
1596
  //bottom-left
1620
- stx + height * stb,
1621
- sty + height * std,
1597
+ stx + h * stb,
1598
+ sty + h * std,
1622
1599
  this.sceneRenderCoords,
1623
1600
  );
1624
1601
  }
@@ -1640,8 +1617,8 @@ export class CoreNode extends EventEmitter {
1640
1617
  if (clipping === true && isRotated === false) {
1641
1618
  clippingRect.x = gt!.tx;
1642
1619
  clippingRect.y = gt!.ty;
1643
- clippingRect.width = this.width * gt!.ta;
1644
- clippingRect.height = this.height * gt!.td;
1620
+ clippingRect.width = this.props.w * gt!.ta;
1621
+ clippingRect.height = this.props.h * gt!.td;
1645
1622
  clippingRect.valid = true;
1646
1623
  } else {
1647
1624
  clippingRect.valid = false;
@@ -1717,9 +1694,15 @@ export class CoreNode extends EventEmitter {
1717
1694
  const coords = this.renderCoords;
1718
1695
  const texture = p.texture || this.stage.defaultTexture;
1719
1696
 
1697
+ // There is a race condition where the texture can be null
1698
+ // with RTT nodes. Adding this defensively to avoid errors.
1699
+ if (texture && texture.state !== 'loaded') {
1700
+ return;
1701
+ }
1702
+
1720
1703
  renderer.addQuad({
1721
- width: p.width,
1722
- height: p.height,
1704
+ width: p.w,
1705
+ height: p.h,
1723
1706
  colorTl: this.premultipliedColorTl,
1724
1707
  colorTr: this.premultipliedColorTr,
1725
1708
  colorBl: this.premultipliedColorBl,
@@ -1773,7 +1756,7 @@ export class CoreNode extends EventEmitter {
1773
1756
  get absX(): number {
1774
1757
  return (
1775
1758
  this.props.x +
1776
- -this.props.width * this.props.mountX +
1759
+ -this.props.w * this.props.mountX +
1777
1760
  (this.props.parent?.absX || this.props.parent?.globalTransform?.tx || 0)
1778
1761
  );
1779
1762
  }
@@ -1781,7 +1764,7 @@ export class CoreNode extends EventEmitter {
1781
1764
  get absY(): number {
1782
1765
  return (
1783
1766
  this.props.y +
1784
- -this.props.height * this.props.mountY +
1767
+ -this.props.h * this.props.mountY +
1785
1768
  (this.props.parent?.absY ?? 0)
1786
1769
  );
1787
1770
  }
@@ -1797,18 +1780,18 @@ export class CoreNode extends EventEmitter {
1797
1780
  }
1798
1781
  }
1799
1782
 
1800
- get width(): number {
1801
- return this.props.width;
1783
+ get w(): number {
1784
+ return this.props.w;
1802
1785
  }
1803
1786
 
1804
- set width(value: number) {
1805
- if (this.props.width !== value) {
1806
- this.textureCoords = undefined;
1807
- this.props.width = value;
1787
+ set w(value: number) {
1788
+ if (this.props.w !== value) {
1789
+ this.updateTextureCoords = true;
1790
+ this.props.w = value;
1808
1791
  this.setUpdateType(UpdateType.Local);
1809
1792
 
1810
1793
  if (this.props.rtt === true) {
1811
- this.framebufferDimensions!.width = value;
1794
+ this.framebufferDimensions!.w = value;
1812
1795
  this.texture = this.stage.txManager.createTexture(
1813
1796
  'RenderTexture',
1814
1797
  this.framebufferDimensions!,
@@ -1819,18 +1802,18 @@ export class CoreNode extends EventEmitter {
1819
1802
  }
1820
1803
  }
1821
1804
 
1822
- get height(): number {
1823
- return this.props.height;
1805
+ get h(): number {
1806
+ return this.props.h;
1824
1807
  }
1825
1808
 
1826
- set height(value: number) {
1827
- if (this.props.height !== value) {
1828
- this.textureCoords = undefined;
1829
- this.props.height = value;
1809
+ set h(value: number) {
1810
+ if (this.props.h !== value) {
1811
+ this.updateTextureCoords = true;
1812
+ this.props.h = value;
1830
1813
  this.setUpdateType(UpdateType.Local);
1831
1814
 
1832
1815
  if (this.props.rtt === true) {
1833
- this.framebufferDimensions!.height = value;
1816
+ this.framebufferDimensions!.h = value;
1834
1817
  this.texture = this.stage.txManager.createTexture(
1835
1818
  'RenderTexture',
1836
1819
  this.framebufferDimensions!,
@@ -2162,6 +2145,10 @@ export class CoreNode extends EventEmitter {
2162
2145
  }
2163
2146
 
2164
2147
  set zIndex(value: number) {
2148
+ if (this.props.zIndex === value) {
2149
+ return;
2150
+ }
2151
+
2165
2152
  this.props.zIndex = value;
2166
2153
  this.setUpdateType(UpdateType.CalculatedZIndex | UpdateType.Children);
2167
2154
  for (let i = 0, length = this.children.length; i < length; i++) {
@@ -2230,8 +2217,8 @@ export class CoreNode extends EventEmitter {
2230
2217
  }
2231
2218
  private initRenderTexture() {
2232
2219
  this.framebufferDimensions = {
2233
- width: this.width,
2234
- height: this.height,
2220
+ w: this.props.w,
2221
+ h: this.props.h,
2235
2222
  };
2236
2223
  this.texture = this.stage.txManager.createTexture(
2237
2224
  'RenderTexture',
@@ -2327,8 +2314,8 @@ export class CoreNode extends EventEmitter {
2327
2314
 
2328
2315
  this.texture = this.stage.txManager.createTexture('ImageTexture', {
2329
2316
  src: imageUrl,
2330
- width: this.props.width,
2331
- height: this.props.height,
2317
+ w: this.props.w,
2318
+ h: this.props.h,
2332
2319
  type: this.props.imageType,
2333
2320
  sx: this.props.srcX,
2334
2321
  sy: this.props.srcY,
@@ -2455,20 +2442,6 @@ export class CoreNode extends EventEmitter {
2455
2442
  this.parent?.setRTTUpdates(type);
2456
2443
  }
2457
2444
 
2458
- get strictBounds(): boolean {
2459
- return this.props.strictBounds;
2460
- }
2461
-
2462
- set strictBounds(v) {
2463
- if (v === this.props.strictBounds) {
2464
- return;
2465
- }
2466
-
2467
- this.props.strictBounds = v;
2468
- this.setUpdateType(UpdateType.RenderBounds | UpdateType.Children);
2469
- this.childUpdateType |= UpdateType.RenderBounds | UpdateType.Children;
2470
- }
2471
-
2472
2445
  animate(
2473
2446
  props: Partial<CoreNodeAnimateProps>,
2474
2447
  settings: Partial<AnimationSettings>,
@@ -95,15 +95,15 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
95
95
  }
96
96
 
97
97
  // ignore 1x1 pixel textures
98
- if (dimensions.width > 1 && dimensions.height > 1) {
98
+ if (dimensions.w > 1 && dimensions.h > 1) {
99
99
  this.emit('loaded', {
100
100
  type: 'texture',
101
101
  dimensions,
102
102
  } satisfies NodeTextureLoadedPayload);
103
103
  }
104
104
 
105
- this.width = this._renderInfo.width;
106
- this.height = this._renderInfo.height;
105
+ this.w = this._renderInfo.width;
106
+ this.h = this._renderInfo.height;
107
107
 
108
108
  // Texture was loaded. In case the RAF loop has already stopped, we request
109
109
  // a render to ensure the texture is rendered.
@@ -202,8 +202,8 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
202
202
  if (textRendererType === 'sdf') {
203
203
  this._cachedLayout = result.layout || null;
204
204
  this.setRenderable(true);
205
- this.props.width = width;
206
- this.props.height = height;
205
+ this.props.w = width;
206
+ this.props.h = height;
207
207
  this.setUpdateType(UpdateType.Local);
208
208
  }
209
209
 
@@ -211,8 +211,8 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
211
211
  this.emit('loaded', {
212
212
  type: 'text',
213
213
  dimensions: {
214
- width: width,
215
- height: height,
214
+ w: width,
215
+ h: height,
216
216
  },
217
217
  } satisfies NodeTextLoadedPayload);
218
218
  }
@@ -255,8 +255,8 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
255
255
  worldAlpha: this.worldAlpha,
256
256
  globalTransform: this.globalTransform!.getFloatArr(),
257
257
  clippingRect: this.clippingRect,
258
- width: this.props.width,
259
- height: this.props.height,
258
+ width: this.props.w,
259
+ height: this.props.h,
260
260
  parentHasRenderTexture: this.parentHasRenderTexture,
261
261
  framebufferDimensions:
262
262
  this.parentHasRenderTexture === true
@@ -268,7 +268,7 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
268
268
  }
269
269
 
270
270
  override destroy(): void {
271
- if (this._waitingForFont === true) {
271
+ if (this._waitingForFont === true && this.fontHandler) {
272
272
  this.fontHandler.stopWaitingForFont(this.textProps.fontFamily, this);
273
273
  }
274
274
 
package/src/core/Stage.ts CHANGED
@@ -102,7 +102,6 @@ export class Stage {
102
102
  public readonly defShaderNode: CoreShaderNode | null = null;
103
103
  public strictBound: Bound;
104
104
  public preloadBound: Bound;
105
- public readonly strictBounds: boolean;
106
105
  public readonly defaultTexture: Texture | null = null;
107
106
  public pixelRatio: number;
108
107
  public readonly bufferMemory: number = 2e6;
@@ -197,7 +196,6 @@ export class Stage {
197
196
 
198
197
  this.animationManager = new AnimationManager();
199
198
  this.contextSpy = enableContextSpy ? new ContextSpy() : null;
200
- this.strictBounds = options.strictBounds;
201
199
 
202
200
  let bm = [0, 0, 0, 0] as [number, number, number, number];
203
201
  if (boundsMargin) {
@@ -321,8 +319,8 @@ export class Stage {
321
319
  const rootNode = new CoreNode(this, {
322
320
  x: 0,
323
321
  y: 0,
324
- width: appWidth,
325
- height: appHeight,
322
+ w: appWidth,
323
+ h: appHeight,
326
324
  alpha: 1,
327
325
  autosize: false,
328
326
  boundsMargin: null,
@@ -354,7 +352,6 @@ export class Stage {
354
352
  rtt: false,
355
353
  src: null,
356
354
  scale: 1,
357
- strictBounds: this.strictBounds,
358
355
  });
359
356
 
360
357
  this.root = rootNode;
@@ -589,8 +586,7 @@ export class Stage {
589
586
 
590
587
  if (
591
588
  child.worldAlpha === 0 ||
592
- (child.strictBounds === true &&
593
- child.renderState === CoreNodeRenderState.OutOfBounds)
589
+ child.renderState === CoreNodeRenderState.OutOfBounds
594
590
  ) {
595
591
  continue;
596
592
  }
@@ -807,8 +803,8 @@ export class Stage {
807
803
  return {
808
804
  x: props.x ?? 0,
809
805
  y: props.y ?? 0,
810
- width: props.width ?? 0,
811
- height: props.height ?? 0,
806
+ w: props.w ?? 0,
807
+ h: props.h ?? 0,
812
808
  alpha: props.alpha ?? 1,
813
809
  autosize: props.autosize ?? false,
814
810
  boundsMargin: props.boundsMargin ?? null,
@@ -847,7 +843,6 @@ export class Stage {
847
843
  data,
848
844
  imageType: props.imageType,
849
845
  interactive: props.interactive ?? false,
850
- strictBounds: props.strictBounds ?? this.strictBounds,
851
846
  };
852
847
  }
853
848
 
@@ -725,7 +725,7 @@ export class WebGlContextWrapper {
725
725
  const result = {} as Record<string, number>;
726
726
  for (let i = 0; i < length; i++) {
727
727
  const { name } = gl.getActiveAttrib(program, i) as WebGLActiveInfo;
728
- result[name] = i;
728
+ result[name] = gl.getAttribLocation(program, name);
729
729
  }
730
730
  return result;
731
731
  }
@@ -85,8 +85,8 @@ const loadKTXData = async (buffer: ArrayBuffer): Promise<TextureData> => {
85
85
  data: {
86
86
  glInternalFormat: data.glInternalFormat,
87
87
  mipmaps,
88
- width: data.pixelWidth || 0,
89
- height: data.pixelHeight || 0,
88
+ w: data.pixelWidth || 0,
89
+ h: data.pixelHeight || 0,
90
90
  type: 'ktx',
91
91
  },
92
92
  premultiplyAlpha: false,
@@ -143,8 +143,8 @@ const loadPVRData = async (buffer: ArrayBuffer): Promise<TextureData> => {
143
143
  data: {
144
144
  glInternalFormat: pvrFormatEtc1,
145
145
  mipmaps: mipmaps,
146
- width: data.pixelWidth || 0,
147
- height: data.pixelHeight || 0,
146
+ w: data.pixelWidth || 0,
147
+ h: data.pixelHeight || 0,
148
148
  type: 'pvr',
149
149
  },
150
150
  premultiplyAlpha: false,
@@ -155,8 +155,8 @@ export class CoreShaderNode<Props extends object = Record<string, unknown>> {
155
155
  for (const key in this.resolvedProps) {
156
156
  valueKey += `${key}:${this.resolvedProps[key]!};`;
157
157
  }
158
- valueKey += `node-width:${this.node!.width}`;
159
- valueKey += `node-height:${this.node!.height}`;
158
+ valueKey += `node-width:${this.node!.w}`;
159
+ valueKey += `node-height:${this.node!.h}`;
160
160
  return valueKey;
161
161
  }
162
162
 
@@ -168,8 +168,8 @@ export class CanvasRenderer extends CoreRenderer {
168
168
  image,
169
169
  (quad.texture as SubTexture).props.x,
170
170
  (quad.texture as SubTexture).props.y,
171
- (quad.texture as SubTexture).props.width,
172
- (quad.texture as SubTexture).props.height,
171
+ (quad.texture as SubTexture).props.w,
172
+ (quad.texture as SubTexture).props.h,
173
173
  quad.tx,
174
174
  quad.ty,
175
175
  quad.width,
@@ -65,8 +65,8 @@ export class CanvasTexture extends CoreContextTexture {
65
65
  const mult = this.tintCache ? 8 : 4;
66
66
  if (this.textureSource.dimensions) {
67
67
  this.setTextureMemUse(
68
- this.textureSource.dimensions.width *
69
- this.textureSource.dimensions.height *
68
+ this.textureSource.dimensions.w *
69
+ this.textureSource.dimensions.h *
70
70
  mult,
71
71
  );
72
72
  }
@@ -142,15 +142,15 @@ export class CanvasTexture extends CoreContextTexture {
142
142
  const ctx = canvas.getContext('2d');
143
143
  if (ctx) ctx.putImageData(data, 0, 0);
144
144
  this.image = canvas;
145
- return { width: data.width, height: data.height };
145
+ return { w: data.width, h: data.height };
146
146
  } else if (
147
147
  (typeof ImageBitmap !== 'undefined' && data instanceof ImageBitmap) ||
148
148
  data instanceof HTMLImageElement
149
149
  ) {
150
150
  this.image = data;
151
- return { width: data.width, height: data.height };
151
+ return { w: data.width, h: data.height };
152
152
  }
153
153
 
154
- return { width: 0, height: 0 };
154
+ return { w: 0, h: 0 };
155
155
  }
156
156
  }