@lightningjs/renderer 2.13.1 → 3.0.0-beta2

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 (440) hide show
  1. package/dist/exports/canvas-shaders.d.ts +10 -0
  2. package/dist/exports/canvas-shaders.js +27 -0
  3. package/dist/exports/canvas-shaders.js.map +1 -0
  4. package/dist/exports/canvas.d.ts +7 -1
  5. package/dist/exports/canvas.js +7 -1
  6. package/dist/exports/canvas.js.map +1 -1
  7. package/dist/exports/index.d.ts +15 -8
  8. package/dist/exports/index.js +7 -4
  9. package/dist/exports/index.js.map +1 -1
  10. package/dist/exports/webgl-shaders.d.ts +11 -0
  11. package/dist/exports/webgl-shaders.js +28 -0
  12. package/dist/exports/webgl-shaders.js.map +1 -0
  13. package/dist/exports/webgl.d.ts +9 -1
  14. package/dist/exports/webgl.js +9 -1
  15. package/dist/exports/webgl.js.map +1 -1
  16. package/dist/src/core/CoreNode.d.ts +10 -5
  17. package/dist/src/core/CoreNode.js +34 -13
  18. package/dist/src/core/CoreNode.js.map +1 -1
  19. package/dist/src/core/CoreShaderManager.d.ts +29 -71
  20. package/dist/src/core/CoreShaderManager.js +110 -97
  21. package/dist/src/core/CoreShaderManager.js.map +1 -1
  22. package/dist/src/core/CoreStuff.d.ts +1 -0
  23. package/dist/src/core/CoreStuff.js +138 -0
  24. package/dist/src/core/CoreStuff.js.map +1 -0
  25. package/dist/src/core/CoreTextNode.js +1 -8
  26. package/dist/src/core/CoreTextNode.js.map +1 -1
  27. package/dist/src/core/CoreTexturizer.d.ts +14 -0
  28. package/dist/src/core/CoreTexturizer.js +47 -0
  29. package/dist/src/core/CoreTexturizer.js.map +1 -0
  30. package/dist/src/core/LngNode.d.ts +736 -0
  31. package/dist/src/core/LngNode.js +1174 -0
  32. package/dist/src/core/LngNode.js.map +1 -0
  33. package/dist/src/core/Matrix2DContext.d.ts +15 -0
  34. package/dist/src/core/Matrix2DContext.js +45 -0
  35. package/dist/src/core/Matrix2DContext.js.map +1 -0
  36. package/dist/src/core/ShaderNode.d.ts +10 -0
  37. package/dist/src/core/ShaderNode.js +30 -0
  38. package/dist/src/core/ShaderNode.js.map +1 -0
  39. package/dist/src/core/Stage.d.ts +11 -14
  40. package/dist/src/core/Stage.js +24 -29
  41. package/dist/src/core/Stage.js.map +1 -1
  42. package/dist/src/core/TextNode.d.ts +103 -0
  43. package/dist/src/core/TextNode.js +331 -0
  44. package/dist/src/core/TextNode.js.map +1 -0
  45. package/dist/src/core/animations/CoreAnimation.d.ts +0 -1
  46. package/dist/src/core/animations/CoreAnimation.js +6 -52
  47. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  48. package/dist/src/core/lib/Coords.d.ts +14 -0
  49. package/dist/src/core/lib/Coords.js +55 -0
  50. package/dist/src/core/lib/Coords.js.map +1 -0
  51. package/dist/src/core/lib/RenderCoords.d.ts +9 -10
  52. package/dist/src/core/lib/RenderCoords.js +43 -55
  53. package/dist/src/core/lib/RenderCoords.js.map +1 -1
  54. package/dist/src/core/lib/WebGlContextWrapper.d.ts +89 -54
  55. package/dist/src/core/lib/WebGlContextWrapper.js +153 -157
  56. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  57. package/dist/src/core/lib/glm/common.d.ts +162 -0
  58. package/dist/src/core/lib/glm/common.js +81 -0
  59. package/dist/src/core/lib/glm/common.js.map +1 -0
  60. package/dist/src/core/lib/glm/index.d.ts +11 -0
  61. package/{src/core/renderers/CoreShader.ts → dist/src/core/lib/glm/index.js} +12 -23
  62. package/dist/src/core/lib/glm/index.js.map +1 -0
  63. package/dist/src/core/lib/glm/mat2.d.ts +219 -0
  64. package/dist/src/core/lib/glm/mat2.js +396 -0
  65. package/dist/src/core/lib/glm/mat2.js.map +1 -0
  66. package/dist/src/core/lib/glm/mat2d.d.ts +237 -0
  67. package/dist/src/core/lib/glm/mat2d.js +442 -0
  68. package/dist/src/core/lib/glm/mat2d.js.map +1 -0
  69. package/dist/src/core/lib/glm/mat3.d.ts +283 -0
  70. package/dist/src/core/lib/glm/mat3.js +680 -0
  71. package/dist/src/core/lib/glm/mat3.js.map +1 -0
  72. package/dist/src/core/lib/glm/mat4.d.ts +550 -0
  73. package/dist/src/core/lib/glm/mat4.js +1802 -0
  74. package/dist/src/core/lib/glm/mat4.js.map +1 -0
  75. package/dist/src/core/lib/glm/quat.d.ts +363 -0
  76. package/dist/src/core/lib/glm/quat.js +693 -0
  77. package/dist/src/core/lib/glm/quat.js.map +1 -0
  78. package/dist/src/core/lib/glm/quat2.d.ts +356 -0
  79. package/dist/src/core/lib/glm/quat2.js +754 -0
  80. package/dist/src/core/lib/glm/quat2.js.map +1 -0
  81. package/dist/src/core/lib/glm/vec2.d.ts +365 -0
  82. package/dist/src/core/lib/glm/vec2.js +569 -0
  83. package/dist/src/core/lib/glm/vec2.js.map +1 -0
  84. package/dist/src/core/lib/glm/vec3.d.ts +406 -0
  85. package/dist/src/core/lib/glm/vec3.js +720 -0
  86. package/dist/src/core/lib/glm/vec3.js.map +1 -0
  87. package/dist/src/core/lib/glm/vec4.d.ts +330 -0
  88. package/dist/src/core/lib/glm/vec4.js +608 -0
  89. package/dist/src/core/lib/glm/vec4.js.map +1 -0
  90. package/dist/src/core/lib/textureCompression.js +0 -1
  91. package/dist/src/core/lib/textureCompression.js.map +1 -1
  92. package/dist/src/core/lib/utils.d.ts +2 -1
  93. package/dist/src/core/lib/utils.js.map +1 -1
  94. package/dist/src/core/platform.js +1 -0
  95. package/dist/src/core/platform.js.map +1 -1
  96. package/dist/src/core/renderers/CoreRenderer.d.ts +11 -21
  97. package/dist/src/core/renderers/CoreRenderer.js +0 -6
  98. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  99. package/dist/src/core/renderers/CoreShaderManager.d.ts +19 -0
  100. package/dist/src/core/renderers/CoreShaderManager.js +33 -0
  101. package/dist/src/core/renderers/CoreShaderManager.js.map +1 -0
  102. package/dist/src/core/renderers/CoreShaderNode.d.ts +58 -0
  103. package/dist/src/core/renderers/CoreShaderNode.js +104 -0
  104. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -0
  105. package/dist/src/core/renderers/CoreShaderProgram.d.ts +4 -0
  106. package/dist/src/core/renderers/CoreShaderProgram.js +20 -0
  107. package/dist/src/core/renderers/CoreShaderProgram.js.map +1 -0
  108. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +36 -0
  109. package/dist/src/core/renderers/canvas/CanvasRenderer.js +212 -0
  110. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -0
  111. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +21 -0
  112. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +60 -0
  113. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -0
  114. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +16 -0
  115. package/dist/src/core/renderers/canvas/CanvasTexture.js +124 -0
  116. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -0
  117. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +0 -13
  118. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +192 -113
  119. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
  120. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +2 -0
  121. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +14 -0
  122. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
  123. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.d.ts +27 -0
  124. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js +82 -0
  125. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js.map +1 -0
  126. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.d.ts +11 -0
  127. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js +34 -0
  128. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js.map +1 -0
  129. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +12 -0
  130. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +55 -0
  131. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -0
  132. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +9 -0
  133. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +38 -0
  134. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -0
  135. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +57 -0
  136. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +227 -0
  137. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -0
  138. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +44 -0
  139. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +118 -0
  140. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -0
  141. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +134 -0
  142. package/dist/src/core/renderers/webgl/WebGlRenderer.js +547 -0
  143. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -0
  144. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +222 -0
  145. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +334 -0
  146. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -0
  147. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +35 -0
  148. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +201 -0
  149. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -0
  150. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +32 -5
  151. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +50 -0
  152. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
  153. package/dist/src/core/scene/Scene.d.ts +59 -0
  154. package/dist/src/core/scene/Scene.js +106 -0
  155. package/dist/src/core/scene/Scene.js.map +1 -0
  156. package/dist/src/core/shaders/canvas/Border.d.ts +9 -0
  157. package/dist/src/core/shaders/canvas/Border.js +57 -0
  158. package/dist/src/core/shaders/canvas/Border.js.map +1 -0
  159. package/dist/src/core/shaders/canvas/HolePunch.d.ts +7 -0
  160. package/dist/src/core/shaders/canvas/HolePunch.js +38 -0
  161. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -0
  162. package/dist/src/core/shaders/canvas/LinearGradient.d.ts +10 -0
  163. package/dist/src/core/shaders/canvas/LinearGradient.js +46 -0
  164. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -0
  165. package/dist/src/core/shaders/canvas/RadialGradient.d.ts +11 -0
  166. package/dist/src/core/shaders/canvas/RadialGradient.js +68 -0
  167. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -0
  168. package/dist/src/core/shaders/canvas/Rounded.d.ts +7 -0
  169. package/dist/src/core/shaders/canvas/Rounded.js +33 -0
  170. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -0
  171. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +7 -0
  172. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +35 -0
  173. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -0
  174. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +8 -0
  175. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +39 -0
  176. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -0
  177. package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +7 -0
  178. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +38 -0
  179. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -0
  180. package/dist/src/core/shaders/canvas/Shadow.d.ts +8 -0
  181. package/dist/src/core/shaders/canvas/Shadow.js +31 -0
  182. package/dist/src/core/shaders/canvas/Shadow.js.map +1 -0
  183. package/dist/src/core/shaders/canvas/utils/render.d.ts +5 -0
  184. package/dist/src/core/shaders/canvas/utils/render.js +84 -0
  185. package/dist/src/core/shaders/canvas/utils/render.js.map +1 -0
  186. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +37 -0
  187. package/dist/src/core/shaders/templates/BorderTemplate.js +73 -0
  188. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -0
  189. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +46 -0
  190. package/dist/src/core/shaders/templates/HolePunchTemplate.js +35 -0
  191. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -0
  192. package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +23 -0
  193. package/dist/src/core/shaders/templates/LinearGradientTemplate.js +47 -0
  194. package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +1 -0
  195. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +31 -0
  196. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +49 -0
  197. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -0
  198. package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +29 -0
  199. package/dist/src/core/shaders/templates/RoundedTemplate.js +67 -0
  200. package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -0
  201. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +7 -0
  202. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +24 -0
  203. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +1 -0
  204. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +6 -0
  205. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +23 -0
  206. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +1 -0
  207. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +6 -0
  208. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +23 -0
  209. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +1 -0
  210. package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +34 -0
  211. package/dist/src/core/shaders/templates/ShadowTemplate.js +66 -0
  212. package/dist/src/core/shaders/templates/ShadowTemplate.js.map +1 -0
  213. package/dist/src/core/shaders/templates/shaderUtils.d.ts +5 -0
  214. package/dist/src/core/shaders/templates/shaderUtils.js +41 -0
  215. package/dist/src/core/shaders/templates/shaderUtils.js.map +1 -0
  216. package/dist/src/core/shaders/webgl/Border.d.ts +3 -0
  217. package/dist/src/core/shaders/webgl/Border.js +87 -0
  218. package/dist/src/core/shaders/webgl/Border.js.map +1 -0
  219. package/dist/src/core/shaders/webgl/Default.d.ts +2 -0
  220. package/dist/src/core/shaders/webgl/Default.js +86 -0
  221. package/dist/src/core/shaders/webgl/Default.js.map +1 -0
  222. package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +2 -0
  223. package/dist/src/core/shaders/webgl/DefaultBatched.js +104 -0
  224. package/dist/src/core/shaders/webgl/DefaultBatched.js.map +1 -0
  225. package/dist/src/core/shaders/webgl/HolePunch.d.ts +3 -0
  226. package/dist/src/core/shaders/webgl/HolePunch.js +64 -0
  227. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -0
  228. package/dist/src/core/shaders/webgl/LinearGradient.d.ts +3 -0
  229. package/dist/src/core/shaders/webgl/LinearGradient.js +75 -0
  230. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -0
  231. package/dist/src/core/shaders/webgl/RadialGradient.d.ts +3 -0
  232. package/dist/src/core/shaders/webgl/RadialGradient.js +73 -0
  233. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -0
  234. package/dist/src/core/shaders/webgl/Rounded.d.ts +7 -0
  235. package/dist/src/core/shaders/webgl/Rounded.js +86 -0
  236. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -0
  237. package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +3 -0
  238. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +97 -0
  239. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -0
  240. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +3 -0
  241. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +112 -0
  242. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -0
  243. package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +3 -0
  244. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +84 -0
  245. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -0
  246. package/dist/src/core/shaders/webgl/SdfShader.d.ts +32 -0
  247. package/dist/src/core/shaders/webgl/SdfShader.js +116 -0
  248. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -0
  249. package/dist/src/core/shaders/webgl/Shadow.d.ts +3 -0
  250. package/dist/src/core/shaders/webgl/Shadow.js +110 -0
  251. package/dist/src/core/shaders/webgl/Shadow.js.map +1 -0
  252. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
  253. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +2 -2
  254. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  255. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +6 -0
  256. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  257. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +2 -3
  258. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +34 -31
  259. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  260. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +20 -0
  261. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +55 -0
  262. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +1 -0
  263. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +1 -4
  264. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  265. package/dist/src/core/textures/Texture.d.ts +1 -1
  266. package/dist/src/main-api/ICoreDriver.d.ts +4 -1
  267. package/dist/src/main-api/INode.d.ts +9 -9
  268. package/dist/src/main-api/IRenderDriver.d.ts +20 -0
  269. package/dist/src/main-api/IRenderDriver.js +20 -0
  270. package/dist/src/main-api/IRenderDriver.js.map +1 -0
  271. package/dist/src/main-api/IShaderController.d.ts +14 -0
  272. package/dist/src/main-api/IShaderController.js +30 -0
  273. package/dist/src/main-api/IShaderController.js.map +1 -0
  274. package/dist/src/main-api/IShaderNode.d.ts +17 -0
  275. package/dist/src/main-api/IShaderNode.js +19 -0
  276. package/dist/src/main-api/IShaderNode.js.map +1 -0
  277. package/dist/src/main-api/Renderer.d.ts +8 -91
  278. package/dist/src/main-api/Renderer.js +3 -54
  279. package/dist/src/main-api/Renderer.js.map +1 -1
  280. package/dist/src/main-api/RendererMain.d.ts +2 -5
  281. package/dist/src/main-api/RendererMain.js +4 -6
  282. package/dist/src/main-api/RendererMain.js.map +1 -1
  283. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -1
  284. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +4 -1
  285. package/dist/src/render-drivers/main/MainCoreDriver.js +4 -1
  286. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -1
  287. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +6 -8
  288. package/dist/src/render-drivers/main/MainOnlyNode.js +1 -30
  289. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -1
  290. package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +6 -0
  291. package/dist/src/render-drivers/main/MainOnlyShaderController.js +15 -0
  292. package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +1 -0
  293. package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +7 -0
  294. package/dist/src/render-drivers/main/MainOnlyShaderNode.js +34 -0
  295. package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +1 -0
  296. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +1 -1
  297. package/dist/src/render-drivers/main/MainOnlyTextNode.js +3 -2
  298. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -1
  299. package/dist/src/render-drivers/main/MainRenderDriver.d.ts +17 -0
  300. package/dist/src/render-drivers/main/MainRenderDriver.js +88 -0
  301. package/dist/src/render-drivers/main/MainRenderDriver.js.map +1 -0
  302. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -3
  303. package/dist/src/render-drivers/threadx/NodeStruct.js +0 -9
  304. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -1
  305. package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -1
  306. package/dist/src/render-drivers/threadx/SharedNode.js +0 -1
  307. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -1
  308. package/dist/src/render-drivers/threadx/TextNodeStruct.js +1 -3
  309. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -1
  310. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +4 -1
  311. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +4 -2
  312. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -1
  313. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +4 -8
  314. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +24 -53
  315. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -1
  316. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +5 -7
  317. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +2 -8
  318. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -1
  319. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +6 -0
  320. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +16 -0
  321. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +1 -0
  322. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +7 -0
  323. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +15 -0
  324. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +1 -0
  325. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -1
  326. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +21 -0
  327. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +198 -0
  328. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -0
  329. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -7
  330. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -1
  331. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -1
  332. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -1
  333. package/dist/src/render-drivers/threadx/worker/renderer.js +0 -2
  334. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -1
  335. package/dist/src/render-drivers/utils.js +1 -6
  336. package/dist/src/render-drivers/utils.js.map +1 -1
  337. package/dist/src/utils.d.ts +6 -0
  338. package/dist/src/utils.js +18 -0
  339. package/dist/src/utils.js.map +1 -1
  340. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  341. package/exports/canvas-shaders.ts +28 -0
  342. package/exports/canvas.ts +7 -1
  343. package/exports/index.ts +17 -17
  344. package/exports/webgl-shaders.ts +28 -0
  345. package/exports/webgl.ts +13 -1
  346. package/package.json +3 -1
  347. package/src/core/CoreNode.test.ts +3 -2
  348. package/src/core/CoreNode.ts +50 -19
  349. package/src/core/CoreShaderManager.ts +127 -226
  350. package/src/core/CoreTextNode.ts +1 -17
  351. package/src/core/Stage.ts +36 -41
  352. package/src/core/animations/CoreAnimation.ts +8 -64
  353. package/src/core/lib/RenderCoords.ts +52 -67
  354. package/src/core/lib/WebGlContextWrapper.ts +278 -236
  355. package/src/core/lib/textureCompression.ts +3 -3
  356. package/src/core/lib/utils.ts +3 -1
  357. package/src/core/platform.ts +1 -0
  358. package/src/core/renderers/CoreRenderer.ts +19 -27
  359. package/src/core/renderers/CoreShaderNode.ts +167 -0
  360. package/src/core/renderers/{canvas/shaders/UnsupportedShader.ts → CoreShaderProgram.ts} +3 -28
  361. package/src/core/renderers/canvas/CanvasRenderer.ts +298 -0
  362. package/src/core/renderers/canvas/CanvasShaderNode.ts +99 -0
  363. package/src/core/renderers/canvas/{CanvasCoreTexture.ts → CanvasTexture.ts} +6 -3
  364. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +2 -13
  365. package/src/core/renderers/canvas/internal/ColorUtils.ts +16 -0
  366. package/src/core/renderers/webgl/{WebGlCoreCtxRenderTexture.ts → WebGlCtxRenderTexture.ts} +2 -2
  367. package/src/core/renderers/webgl/{WebGlCoreCtxSubTexture.ts → WebGlCtxSubTexture.ts} +2 -2
  368. package/src/core/renderers/webgl/{WebGlCoreCtxTexture.ts → WebGlCtxTexture.ts} +1 -1
  369. package/src/core/renderers/webgl/WebGlRenderOp.ts +161 -0
  370. package/src/core/renderers/webgl/{WebGlCoreRenderer.ts → WebGlRenderer.ts} +155 -250
  371. package/src/core/renderers/webgl/WebGlShaderNode.ts +437 -0
  372. package/src/core/renderers/webgl/WebGlShaderProgram.ts +318 -0
  373. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -5
  374. package/src/core/shaders/canvas/Border.ts +78 -0
  375. package/src/core/shaders/canvas/HolePunch.ts +62 -0
  376. package/src/core/shaders/canvas/LinearGradient.ts +69 -0
  377. package/src/core/shaders/canvas/RadialGradient.ts +113 -0
  378. package/src/core/shaders/canvas/Rounded.ts +55 -0
  379. package/src/core/shaders/canvas/RoundedWithBorder.ts +68 -0
  380. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +88 -0
  381. package/src/core/shaders/canvas/RoundedWithShadow.ts +69 -0
  382. package/src/core/shaders/canvas/Shadow.ts +52 -0
  383. package/src/core/shaders/canvas/utils/render.ts +151 -0
  384. package/src/core/shaders/templates/BorderTemplate.ts +115 -0
  385. package/src/core/shaders/templates/HolePunchTemplate.ts +82 -0
  386. package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -0
  387. package/src/core/shaders/templates/RadialGradientTemplate.ts +81 -0
  388. package/src/core/shaders/templates/RoundedTemplate.ts +98 -0
  389. package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -0
  390. package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -0
  391. package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -0
  392. package/src/core/shaders/templates/ShadowTemplate.ts +106 -0
  393. package/src/core/shaders/templates/shaderUtils.ts +47 -0
  394. package/src/core/shaders/webgl/Border.ts +96 -0
  395. package/src/core/shaders/webgl/Default.ts +89 -0
  396. package/src/core/shaders/webgl/DefaultBatched.ts +129 -0
  397. package/src/core/shaders/webgl/HolePunch.ts +78 -0
  398. package/src/core/shaders/webgl/LinearGradient.ts +81 -0
  399. package/src/core/shaders/webgl/RadialGradient.ts +84 -0
  400. package/src/core/shaders/webgl/Rounded.ts +117 -0
  401. package/src/core/shaders/webgl/RoundedWithBorder.ts +114 -0
  402. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +133 -0
  403. package/src/core/shaders/webgl/RoundedWithShadow.ts +98 -0
  404. package/src/core/shaders/webgl/SdfShader.ts +134 -0
  405. package/src/core/shaders/webgl/Shadow.ts +115 -0
  406. package/src/core/text-rendering/TextTextureRendererUtils.ts +1 -1
  407. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +2 -2
  408. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +12 -5
  409. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +44 -57
  410. package/src/core/text-rendering/renderers/TextRenderer.ts +2 -9
  411. package/src/core/textures/Texture.ts +1 -1
  412. package/src/main-api/INode.ts +11 -13
  413. package/src/main-api/Renderer.ts +25 -127
  414. package/src/utils.ts +19 -0
  415. package/dist/tsconfig.tsbuildinfo +0 -1
  416. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +0 -375
  417. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +0 -125
  418. package/src/core/renderers/webgl/WebGlCoreShader.ts +0 -362
  419. package/src/core/renderers/webgl/shaders/DefaultShader.ts +0 -93
  420. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +0 -132
  421. package/src/core/renderers/webgl/shaders/DynamicShader.ts +0 -580
  422. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +0 -167
  423. package/src/core/renderers/webgl/shaders/SdfShader.ts +0 -204
  424. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +0 -101
  425. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +0 -87
  426. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +0 -101
  427. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +0 -101
  428. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +0 -101
  429. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +0 -159
  430. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +0 -127
  431. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +0 -148
  432. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +0 -67
  433. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +0 -157
  434. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +0 -171
  435. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +0 -168
  436. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +0 -187
  437. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +0 -110
  438. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +0 -196
  439. package/src/main-api/DynamicShaderController.ts +0 -104
  440. package/src/main-api/ShaderController.ts +0 -80
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mat3.js","sourceRoot":"","sources":["../../../../../src/core/lib/glm/mat3.ts"],"names":[],"mappings":"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V,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACb,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EACd,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EACV,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACb,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EACd,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EACV,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACb,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EACd,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EACV,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACb,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EACd,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EACV,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACb,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,G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"}
@@ -0,0 +1,550 @@
1
+ import { type FOV, type Float32ArrayLen16, type NumberArrayLen16 } from './common.js';
2
+ import type { Vec3 } from './vec3.js';
3
+ import type { Quat } from './quat.js';
4
+ import type { Quat2 } from './quat2.js';
5
+ export type Mat4 = Float32ArrayLen16 | NumberArrayLen16;
6
+ /**
7
+ * Creates a new identity Mat4
8
+ *
9
+ * @returns {Mat4} a new 4x4 matrix
10
+ */
11
+ export declare function create(): Mat4;
12
+ /**
13
+ * Creates a new Mat4 initialized with values from an existing matrix
14
+ *
15
+ * @param {Mat4} a matrix to clone
16
+ * @returns {Mat4} a new 4x4 matrix
17
+ */
18
+ export declare function clone(a: Mat4): Mat4;
19
+ /**
20
+ * Copy the values from one Mat4 to another
21
+ *
22
+ * @param {Mat4} out the receiving matrix
23
+ * @param {Mat4} a the source matrix
24
+ * @returns {Mat4} out
25
+ */
26
+ export declare function copy(out: Mat4, a: Mat4): Mat4;
27
+ /**
28
+ * Create a new Mat4 with the given values
29
+ *
30
+ * @param {Number} m00 Component in column 0, row 0 position (index 0)
31
+ * @param {Number} m01 Component in column 0, row 1 position (index 1)
32
+ * @param {Number} m02 Component in column 0, row 2 position (index 2)
33
+ * @param {Number} m03 Component in column 0, row 3 position (index 3)
34
+ * @param {Number} m10 Component in column 1, row 0 position (index 4)
35
+ * @param {Number} m11 Component in column 1, row 1 position (index 5)
36
+ * @param {Number} m12 Component in column 1, row 2 position (index 6)
37
+ * @param {Number} m13 Component in column 1, row 3 position (index 7)
38
+ * @param {Number} m20 Component in column 2, row 0 position (index 8)
39
+ * @param {Number} m21 Component in column 2, row 1 position (index 9)
40
+ * @param {Number} m22 Component in column 2, row 2 position (index 10)
41
+ * @param {Number} m23 Component in column 2, row 3 position (index 11)
42
+ * @param {Number} m30 Component in column 3, row 0 position (index 12)
43
+ * @param {Number} m31 Component in column 3, row 1 position (index 13)
44
+ * @param {Number} m32 Component in column 3, row 2 position (index 14)
45
+ * @param {Number} m33 Component in column 3, row 3 position (index 15)
46
+ * @returns {Mat4} A new Mat4
47
+ */
48
+ export declare function fromValues(m00: number, m01: number, m02: number, m03: number, m10: number, m11: number, m12: number, m13: number, m20: number, m21: number, m22: number, m23: number, m30: number, m31: number, m32: number, m33: number): Mat4;
49
+ /**
50
+ * Set the components of a Mat4 to the given values
51
+ *
52
+ * @param {Mat4} out the receiving matrix
53
+ * @param {Number} m00 Component in column 0, row 0 position (index 0)
54
+ * @param {Number} m01 Component in column 0, row 1 position (index 1)
55
+ * @param {Number} m02 Component in column 0, row 2 position (index 2)
56
+ * @param {Number} m03 Component in column 0, row 3 position (index 3)
57
+ * @param {Number} m10 Component in column 1, row 0 position (index 4)
58
+ * @param {Number} m11 Component in column 1, row 1 position (index 5)
59
+ * @param {Number} m12 Component in column 1, row 2 position (index 6)
60
+ * @param {Number} m13 Component in column 1, row 3 position (index 7)
61
+ * @param {Number} m20 Component in column 2, row 0 position (index 8)
62
+ * @param {Number} m21 Component in column 2, row 1 position (index 9)
63
+ * @param {Number} m22 Component in column 2, row 2 position (index 10)
64
+ * @param {Number} m23 Component in column 2, row 3 position (index 11)
65
+ * @param {Number} m30 Component in column 3, row 0 position (index 12)
66
+ * @param {Number} m31 Component in column 3, row 1 position (index 13)
67
+ * @param {Number} m32 Component in column 3, row 2 position (index 14)
68
+ * @param {Number} m33 Component in column 3, row 3 position (index 15)
69
+ * @returns {Mat4} out
70
+ */
71
+ export declare function set(out: Mat4, m00: number, m01: number, m02: number, m03: number, m10: number, m11: number, m12: number, m13: number, m20: number, m21: number, m22: number, m23: number, m30: number, m31: number, m32: number, m33: number): Mat4;
72
+ /**
73
+ * Set a Mat4 to the identity matrix
74
+ *
75
+ * @param {Mat4} out the receiving matrix
76
+ * @returns {Mat4} out
77
+ */
78
+ export declare function identity(out: Mat4): Mat4;
79
+ /**
80
+ * Transpose the values of a Mat4
81
+ *
82
+ * @param {Mat4} out the receiving matrix
83
+ * @param {Mat4} a the source matrix
84
+ * @returns {Mat4} out
85
+ */
86
+ export declare function transpose(out: Mat4, a: Mat4): Mat4;
87
+ /**
88
+ * Inverts a Mat4
89
+ *
90
+ * @param {Mat4} out the receiving matrix
91
+ * @param {Mat4} a the source matrix
92
+ * @returns {Mat4} out
93
+ */
94
+ export declare function invert(out: Mat4, a: Mat4): Mat4 | null;
95
+ /**
96
+ * Calculates the adjugate of a Mat4
97
+ *
98
+ * @param {Mat4} out the receiving matrix
99
+ * @param {Mat4} a the source matrix
100
+ * @returns {Mat4} out
101
+ */
102
+ export declare function adjoint(out: Mat4, a: Mat4): Mat4;
103
+ /**
104
+ * Calculates the determinant of a Mat4
105
+ *
106
+ * @param {Mat4} a the source matrix
107
+ * @returns {Number} determinant of a
108
+ */
109
+ export declare function determinant(a: Mat4): number;
110
+ /**
111
+ * Multiplies two Mat4s
112
+ *
113
+ * @param {Mat4} out the receiving matrix
114
+ * @param {Mat4} a the first operand
115
+ * @param {Mat4} b the second operand
116
+ * @returns {Mat4} out
117
+ */
118
+ export declare function multiply(out: Mat4, a: Mat4, b: Mat4): Mat4;
119
+ /**
120
+ * Translate a Mat4 by the given vector
121
+ *
122
+ * @param {Mat4} out the receiving matrix
123
+ * @param {Mat4} a the matrix to translate
124
+ * @param {Vec3} v vector to translate by
125
+ * @returns {Mat4} out
126
+ */
127
+ export declare function translate(out: Mat4, a: Mat4, v: Vec3): Mat4;
128
+ /**
129
+ * Scales the Mat4 by the dimensions in the given Vec3 not using vectorization
130
+ *
131
+ * @param {Mat4} out the receiving matrix
132
+ * @param {Mat4} a the matrix to scale
133
+ * @param {Vec3} v the Vec3 to scale the matrix by
134
+ * @returns {Mat4} out
135
+ **/
136
+ export declare function scale(out: Mat4, a: Mat4, v: Mat4): Mat4;
137
+ /**
138
+ * Rotates a Mat4 by the given angle around the given axis
139
+ *
140
+ * @param {Mat4} out the receiving matrix
141
+ * @param {Mat4} a the matrix to rotate
142
+ * @param {Number} rad the angle to rotate the matrix by
143
+ * @param {Vec3} axis the axis to rotate around
144
+ * @returns {Mat4} out
145
+ */
146
+ export declare function rotate(out: Mat4, a: Mat4, rad: number, axis: Vec3): Mat4 | null;
147
+ /**
148
+ * Rotates a matrix by the given angle around the X axis
149
+ *
150
+ * @param {Mat4} out the receiving matrix
151
+ * @param {Mat4} a the matrix to rotate
152
+ * @param {Number} rad the angle to rotate the matrix by
153
+ * @returns {Mat4} out
154
+ */
155
+ export declare function rotateX(out: Mat4, a: Mat4, rad: number): Mat4;
156
+ /**
157
+ * Rotates a matrix by the given angle around the Y axis
158
+ *
159
+ * @param {Mat4} out the receiving matrix
160
+ * @param {Mat4} a the matrix to rotate
161
+ * @param {Number} rad the angle to rotate the matrix by
162
+ * @returns {Mat4} out
163
+ */
164
+ export declare function rotateY(out: Mat4, a: Mat4, rad: number): Mat4;
165
+ /**
166
+ * Rotates a matrix by the given angle around the Z axis
167
+ *
168
+ * @param {Mat4} out the receiving matrix
169
+ * @param {Mat4} a the matrix to rotate
170
+ * @param {Number} rad the angle to rotate the matrix by
171
+ * @returns {Mat4} out
172
+ */
173
+ export declare function rotateZ(out: Mat4, a: Mat4, rad: number): Mat4;
174
+ /**
175
+ * Creates a matrix from a vector translation
176
+ * This is equivalent to (but much faster than):
177
+ *
178
+ * Mat4.identity(dest);
179
+ * Mat4.translate(dest, dest, vec);
180
+ *
181
+ * @param {Mat4} out Mat4 receiving operation result
182
+ * @param {Vec3} v Translation vector
183
+ * @returns {Mat4} out
184
+ */
185
+ export declare function fromTranslation(out: Mat4, v: Vec3): Mat4;
186
+ /**
187
+ * Creates a matrix from a vector scaling
188
+ * This is equivalent to (but much faster than):
189
+ *
190
+ * Mat4.identity(dest);
191
+ * Mat4.scale(dest, dest, vec);
192
+ *
193
+ * @param {Mat4} out Mat4 receiving operation result
194
+ * @param {Vec3} v Scaling vector
195
+ * @returns {Mat4} out
196
+ */
197
+ export declare function fromScaling(out: Mat4, v: Vec3): Mat4;
198
+ /**
199
+ * Creates a matrix from a given angle around a given axis
200
+ * This is equivalent to (but much faster than):
201
+ *
202
+ * Mat4.identity(dest);
203
+ * Mat4.rotate(dest, dest, rad, axis);
204
+ *
205
+ * @param {Mat4} out Mat4 receiving operation result
206
+ * @param {Number} rad the angle to rotate the matrix by
207
+ * @param {Vec3} axis the axis to rotate around
208
+ * @returns {Mat4} out
209
+ */
210
+ export declare function fromRotation(out: Mat4, rad: number, axis: Vec3): Mat4 | null;
211
+ /**
212
+ * Creates a matrix from the given angle around the X axis
213
+ * This is equivalent to (but much faster than):
214
+ *
215
+ * Mat4.identity(dest);
216
+ * Mat4.rotateX(dest, dest, rad);
217
+ *
218
+ * @param {Mat4} out Mat4 receiving operation result
219
+ * @param {Number} rad the angle to rotate the matrix by
220
+ * @returns {Mat4} out
221
+ */
222
+ export declare function fromXRotation(out: Mat4, rad: number): Mat4;
223
+ /**
224
+ * Creates a matrix from the given angle around the Y axis
225
+ * This is equivalent to (but much faster than):
226
+ *
227
+ * Mat4.identity(dest);
228
+ * Mat4.rotateY(dest, dest, rad);
229
+ *
230
+ * @param {Mat4} out Mat4 receiving operation result
231
+ * @param {Number} rad the angle to rotate the matrix by
232
+ * @returns {Mat4} out
233
+ */
234
+ export declare function fromYRotation(out: Mat4, rad: number): Mat4;
235
+ /**
236
+ * Creates a matrix from the given angle around the Z axis
237
+ * This is equivalent to (but much faster than):
238
+ *
239
+ * Mat4.identity(dest);
240
+ * Mat4.rotateZ(dest, dest, rad);
241
+ *
242
+ * @param {Mat4} out Mat4 receiving operation result
243
+ * @param {Number} rad the angle to rotate the matrix by
244
+ * @returns {Mat4} out
245
+ */
246
+ export declare function fromZRotation(out: Mat4, rad: number): Mat4;
247
+ /**
248
+ * Creates a matrix from a quaternion rotation and vector translation
249
+ * This is equivalent to (but much faster than):
250
+ *
251
+ * Mat4.identity(dest);
252
+ * Mat4.translate(dest, vec);
253
+ * let quatMat = Mat4.create();
254
+ * quat4.toMat4(quat, quatMat);
255
+ * Mat4.multiply(dest, quatMat);
256
+ *
257
+ * @param {Mat4} out Mat4 receiving operation result
258
+ * @param {quat4} q Rotation quaternion
259
+ * @param {Vec3} v Translation vector
260
+ * @returns {Mat4} out
261
+ */
262
+ export declare function fromRotationTranslation(out: Mat4, q: Quat | Quat2, v: Vec3): Mat4;
263
+ /**
264
+ * Creates a new Mat4 from a dual quat.
265
+ *
266
+ * @param {Mat4} out Matrix
267
+ * @param {Quat2} a Dual Quaternion
268
+ * @returns {Mat4} Mat4 receiving operation result
269
+ */
270
+ export declare function fromQuat2(out: Mat4, a: Quat2): Mat4;
271
+ /**
272
+ * Returns the translation vector component of a transformation
273
+ * matrix. If a matrix is built with fromRotationTranslation,
274
+ * the returned vector will be the same as the translation vector
275
+ * originally supplied.
276
+ * @param {Vec3} out Vector to receive translation component
277
+ * @param {Mat4} mat Matrix to be decomposed (input)
278
+ * @return {Vec3} out
279
+ */
280
+ export declare function getTranslation(out: Vec3, mat: Mat4): Vec3;
281
+ /**
282
+ * Returns the scaling factor component of a transformation
283
+ * matrix. If a matrix is built with fromRotationTranslationScale
284
+ * with a normalized Quaternion paramter, the returned vector will be
285
+ * the same as the scaling vector
286
+ * originally supplied.
287
+ * @param {Vec3} out Vector to receive scaling factor component
288
+ * @param {Mat4} mat Matrix to be decomposed (input)
289
+ * @return {Vec3} out
290
+ */
291
+ export declare function getScaling(out: Vec3, mat: Mat4): Vec3;
292
+ /**
293
+ * Returns a quaternion representing the rotational component
294
+ * of a transformation matrix. If a matrix is built with
295
+ * fromRotationTranslation, the returned quaternion will be the
296
+ * same as the quaternion originally supplied.
297
+ * @param {quat} out Quaternion to receive the rotation component
298
+ * @param {Mat4} mat Matrix to be decomposed (input)
299
+ * @return {quat} out
300
+ */
301
+ export declare function getRotation(out: Quat, mat: Mat4): Quat;
302
+ /**
303
+ * Decomposes a transformation matrix into its rotation, translation
304
+ * and scale components. Returns only the rotation component
305
+ * @param {quat} out_r Quaternion to receive the rotation component
306
+ * @param {Vec3} out_t Vector to receive the translation vector
307
+ * @param {Vec3} out_s Vector to receive the scaling factor
308
+ * @param {Mat4} mat Matrix to be decomposed (input)
309
+ * @returns {quat} out_r
310
+ */
311
+ export declare function decompose(out_r: Quat, out_t: Vec3, out_s: Vec3, mat: Mat4): Quat;
312
+ /**
313
+ * Creates a matrix from a quaternion rotation, vector translation and vector scale
314
+ * This is equivalent to (but much faster than):
315
+ *
316
+ * Mat4.identity(dest);
317
+ * Mat4.translate(dest, vec);
318
+ * let quatMat = Mat4.create();
319
+ * quat4.toMat4(quat, quatMat);
320
+ * Mat4.multiply(dest, quatMat);
321
+ * Mat4.scale(dest, scale)
322
+ *
323
+ * @param {Mat4} out Mat4 receiving operation result
324
+ * @param {quat4} q Rotation quaternion
325
+ * @param {Vec3} v Translation vector
326
+ * @param {Vec3} s Scaling vector
327
+ * @returns {Mat4} out
328
+ */
329
+ export declare function fromRotationTranslationScale(out: Mat4, q: Quat, v: Vec3, s: Vec3): Mat4;
330
+ /**
331
+ * Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin
332
+ * This is equivalent to (but much faster than):
333
+ *
334
+ * Mat4.identity(dest);
335
+ * Mat4.translate(dest, vec);
336
+ * Mat4.translate(dest, origin);
337
+ * let quatMat = Mat4.create();
338
+ * quat4.toMat4(quat, quatMat);
339
+ * Mat4.multiply(dest, quatMat);
340
+ * Mat4.scale(dest, scale)
341
+ * Mat4.translate(dest, negativeOrigin);
342
+ *
343
+ * @param {Mat4} out Mat4 receiving operation result
344
+ * @param {quat4} q Rotation quaternion
345
+ * @param {Vec3} v Translation vector
346
+ * @param {Vec3} s Scaling vector
347
+ * @param {Vec3} o The origin vector around which to scale and rotate
348
+ * @returns {Mat4} out
349
+ */
350
+ export declare function fromRotationTranslationScaleOrigin(out: Mat4, q: Quat, v: Vec3, s: Vec3, o: Vec3): Mat4;
351
+ /**
352
+ * Calculates a 4x4 matrix from the given quaternion
353
+ *
354
+ * @param {Mat4} out Mat4 receiving operation result
355
+ * @param {Quat} q Quaternion to create matrix from
356
+ *
357
+ * @returns {Mat4} out
358
+ */
359
+ export declare function fromQuat(out: Mat4, q: Quat): Mat4;
360
+ /**
361
+ * Generates a frustum matrix with the given bounds
362
+ *
363
+ * @param {Mat4} out Mat4 frustum matrix will be written into
364
+ * @param {Number} left Left bound of the frustum
365
+ * @param {Number} right Right bound of the frustum
366
+ * @param {Number} bottom Bottom bound of the frustum
367
+ * @param {Number} top Top bound of the frustum
368
+ * @param {Number} near Near bound of the frustum
369
+ * @param {Number} far Far bound of the frustum
370
+ * @returns {Mat4} out
371
+ */
372
+ export declare function frustum(out: Mat4, left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
373
+ /**
374
+ * Generates a perspective projection matrix with the given bounds.
375
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],
376
+ * which matches WebGL/OpenGL's clip volume.
377
+ * Passing null/undefined/no value for far will generate infinite projection matrix.
378
+ *
379
+ * @param {Mat4} out Mat4 frustum matrix will be written into
380
+ * @param {number} fovy Vertical field of view in radians
381
+ * @param {number} aspect Aspect ratio. typically viewport width/height
382
+ * @param {number} near Near bound of the frustum
383
+ * @param {number} far Far bound of the frustum, can be null or Infinity
384
+ * @returns {Mat4} out
385
+ */
386
+ export declare function perspectiveNO(out: Mat4, fovy: number, aspect: number, near: number, far: number): Mat4;
387
+ /**
388
+ * Alias for {@link perspectiveNO}
389
+ * @function
390
+ */
391
+ export declare const perspective: typeof perspectiveNO;
392
+ /**
393
+ * Generates a perspective projection matrix suitable for WebGPU with the given bounds.
394
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],
395
+ * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.
396
+ * Passing null/undefined/no value for far will generate infinite projection matrix.
397
+ *
398
+ * @param {Mat4} out Mat4 frustum matrix will be written into
399
+ * @param {number} fovy Vertical field of view in radians
400
+ * @param {number} aspect Aspect ratio. typically viewport width/height
401
+ * @param {number} near Near bound of the frustum
402
+ * @param {number} far Far bound of the frustum, can be null or Infinity
403
+ * @returns {Mat4} out
404
+ */
405
+ export declare function perspectiveZO(out: Mat4, fovy: number, aspect: number, near: number, far: number): Mat4;
406
+ /**
407
+ * Generates a perspective projection matrix with the given field of view.
408
+ * This is primarily useful for generating projection matrices to be used
409
+ * with the still experiemental WebVR API.
410
+ *
411
+ * @param {Mat4} out Mat4 frustum matrix will be written into
412
+ * @param {Object} fov Object containing the following values: upDegrees, downDegrees, leftDegrees, rightDegrees
413
+ * @param {number} near Near bound of the frustum
414
+ * @param {number} far Far bound of the frustum
415
+ * @returns {Mat4} out
416
+ */
417
+ export declare function perspectiveFromFieldOfView(out: Mat4, fov: FOV, near: number, far: number): Mat4;
418
+ /**
419
+ * Generates a orthogonal projection matrix with the given bounds.
420
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],
421
+ * which matches WebGL/OpenGL's clip volume.
422
+ *
423
+ * @param {Mat4} out Mat4 frustum matrix will be written into
424
+ * @param {number} left Left bound of the frustum
425
+ * @param {number} right Right bound of the frustum
426
+ * @param {number} bottom Bottom bound of the frustum
427
+ * @param {number} top Top bound of the frustum
428
+ * @param {number} near Near bound of the frustum
429
+ * @param {number} far Far bound of the frustum
430
+ * @returns {Mat4} out
431
+ */
432
+ export declare function orthoNO(out: Mat4, left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
433
+ /**
434
+ * Alias for {@link orthoNO}
435
+ * @function
436
+ */
437
+ export declare const ortho: typeof orthoNO;
438
+ /**
439
+ * Generates a orthogonal projection matrix with the given bounds.
440
+ * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],
441
+ * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.
442
+ *
443
+ * @param {Mat4} out Mat4 frustum matrix will be written into
444
+ * @param {number} left Left bound of the frustum
445
+ * @param {number} right Right bound of the frustum
446
+ * @param {number} bottom Bottom bound of the frustum
447
+ * @param {number} top Top bound of the frustum
448
+ * @param {number} near Near bound of the frustum
449
+ * @param {number} far Far bound of the frustum
450
+ * @returns {Mat4} out
451
+ */
452
+ export declare function orthoZO(out: Mat4, left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
453
+ /**
454
+ * Generates a look-at matrix with the given eye position, focal point, and up axis.
455
+ * If you want a matrix that actually makes an object look at another object, you should use targetTo instead.
456
+ *
457
+ * @param {Mat4} out Mat4 frustum matrix will be written into
458
+ * @param {Vec3} eye Position of the viewer
459
+ * @param {Vec3} center Point the viewer is looking at
460
+ * @param {Vec3} up Vec3 pointing up
461
+ * @returns {Mat4} out
462
+ */
463
+ export declare function lookAt(out: Mat4, eye: Vec3, center: Vec3, up: Vec3): Mat4;
464
+ /**
465
+ * Generates a matrix that makes something look at something else.
466
+ *
467
+ * @param {Mat4} out Mat4 frustum matrix will be written into
468
+ * @param {Vec3} eye Position of the viewer
469
+ * @param {Vec3} center Point the viewer is looking at
470
+ * @param {Vec3} up Vec3 pointing up
471
+ * @returns {Mat4} out
472
+ */
473
+ export declare function targetTo(out: Mat4, eye: Vec3, target: Vec3, up: Vec3): Mat4;
474
+ /**
475
+ * Returns a string representation of a Mat4
476
+ *
477
+ * @param {Mat4} a matrix to represent as a string
478
+ * @returns {String} string representation of the matrix
479
+ */
480
+ export declare function str(a: Mat4): string;
481
+ /**
482
+ * Returns Frobenius norm of a Mat4
483
+ *
484
+ * @param {Mat4} a the matrix to calculate Frobenius norm of
485
+ * @returns {Number} Frobenius norm
486
+ */
487
+ export declare function frob(a: Mat4): number;
488
+ /**
489
+ * Adds two Mat4's
490
+ *
491
+ * @param {Mat4} out the receiving matrix
492
+ * @param {Mat4} a the first operand
493
+ * @param {Mat4} b the second operand
494
+ * @returns {Mat4} out
495
+ */
496
+ export declare function add(out: Mat4, a: Mat4, b: Mat4): Mat4;
497
+ /**
498
+ * Subtracts matrix b from matrix a
499
+ *
500
+ * @param {Mat4} out the receiving matrix
501
+ * @param {Mat4} a the first operand
502
+ * @param {Mat4} b the second operand
503
+ * @returns {Mat4} out
504
+ */
505
+ export declare function subtract(out: Mat4, a: Mat4, b: Mat4): Mat4;
506
+ /**
507
+ * Multiply each element of the matrix by a scalar.
508
+ *
509
+ * @param {Mat4} out the receiving matrix
510
+ * @param {Mat4} a the matrix to scale
511
+ * @param {Number} b amount to scale the matrix's elements by
512
+ * @returns {Mat4} out
513
+ */
514
+ export declare function multiplyScalar(out: Mat4, a: Mat4, b: number): Mat4;
515
+ /**
516
+ * Adds two Mat4's after multiplying each element of the second operand by a scalar value.
517
+ *
518
+ * @param {Mat4} out the receiving vector
519
+ * @param {Mat4} a the first operand
520
+ * @param {Mat4} b the second operand
521
+ * @param {Number} scale the amount to scale b's elements by before adding
522
+ * @returns {Mat4} out
523
+ */
524
+ export declare function multiplyScalarAndAdd(out: Mat4, a: Mat4, b: Mat4, scale: number): Mat4;
525
+ /**
526
+ * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
527
+ *
528
+ * @param {Mat4} a The first matrix.
529
+ * @param {Mat4} b The second matrix.
530
+ * @returns {Boolean} True if the matrices are equal, false otherwise.
531
+ */
532
+ export declare function exactEquals(a: Mat4, b: Mat4): boolean;
533
+ /**
534
+ * Returns whether or not the matrices have approximately the same elements in the same position.
535
+ *
536
+ * @param {Mat4} a The first matrix.
537
+ * @param {Mat4} b The second matrix.
538
+ * @returns {Boolean} True if the matrices are equal, false otherwise.
539
+ */
540
+ export declare function equals(a: Mat4, b: Mat4): boolean;
541
+ /**
542
+ * Alias for {@link multiply}
543
+ * @function
544
+ */
545
+ export declare const mul: typeof multiply;
546
+ /**
547
+ * Alias for {@link subtract}
548
+ * @function
549
+ */
550
+ export declare const sub: typeof subtract;