@lightningjs/renderer 3.0.0-beta4 → 3.0.0-beta5

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 (335) hide show
  1. package/LICENSE +202 -202
  2. package/NOTICE +3 -3
  3. package/README.md +147 -147
  4. package/dist/exports/core-api.d.ts +74 -0
  5. package/dist/exports/core-api.js +96 -0
  6. package/dist/exports/core-api.js.map +1 -0
  7. package/dist/exports/main-api.d.ts +30 -0
  8. package/dist/exports/main-api.js +45 -0
  9. package/dist/exports/main-api.js.map +1 -0
  10. package/dist/src/core/CoreExtension.d.ts +12 -0
  11. package/dist/src/core/CoreExtension.js +29 -0
  12. package/dist/src/core/CoreExtension.js.map +1 -0
  13. package/dist/src/core/CoreNode.js +1 -1
  14. package/dist/src/core/CoreNode.js.map +1 -1
  15. package/dist/src/core/CoreStuff.js +138 -0
  16. package/dist/src/core/CoreStuff.js.map +1 -0
  17. package/dist/src/core/CoreTextNode.js +1 -0
  18. package/dist/src/core/CoreTextNode.js.map +1 -1
  19. package/dist/src/core/CoreTexturizer.d.ts +14 -0
  20. package/dist/src/core/CoreTexturizer.js +47 -0
  21. package/dist/src/core/CoreTexturizer.js.map +1 -0
  22. package/dist/src/core/LngNode.d.ts +736 -0
  23. package/dist/src/core/LngNode.js +1174 -0
  24. package/dist/src/core/LngNode.js.map +1 -0
  25. package/dist/src/core/Matrix2DContext.d.ts +15 -0
  26. package/dist/src/core/Matrix2DContext.js +45 -0
  27. package/dist/src/core/Matrix2DContext.js.map +1 -0
  28. package/dist/src/core/ShaderNode.d.ts +10 -0
  29. package/dist/src/core/ShaderNode.js +30 -0
  30. package/dist/src/core/ShaderNode.js.map +1 -0
  31. package/dist/src/core/TextNode.d.ts +103 -0
  32. package/dist/src/core/TextNode.js +331 -0
  33. package/dist/src/core/TextNode.js.map +1 -0
  34. package/dist/src/core/lib/Coords.d.ts +14 -0
  35. package/dist/src/core/lib/Coords.js +55 -0
  36. package/dist/src/core/lib/Coords.js.map +1 -0
  37. package/dist/src/core/lib/glm/common.d.ts +162 -0
  38. package/dist/src/core/lib/glm/common.js +81 -0
  39. package/dist/src/core/lib/glm/common.js.map +1 -0
  40. package/dist/src/core/lib/glm/index.d.ts +11 -0
  41. package/dist/src/core/lib/glm/index.js +30 -0
  42. package/dist/src/core/lib/glm/index.js.map +1 -0
  43. package/dist/src/core/lib/glm/mat2.d.ts +219 -0
  44. package/dist/src/core/lib/glm/mat2.js +396 -0
  45. package/dist/src/core/lib/glm/mat2.js.map +1 -0
  46. package/dist/src/core/lib/glm/mat2d.d.ts +237 -0
  47. package/dist/src/core/lib/glm/mat2d.js +442 -0
  48. package/dist/src/core/lib/glm/mat2d.js.map +1 -0
  49. package/dist/src/core/lib/glm/mat3.d.ts +283 -0
  50. package/dist/src/core/lib/glm/mat3.js +680 -0
  51. package/dist/src/core/lib/glm/mat3.js.map +1 -0
  52. package/dist/src/core/lib/glm/mat4.d.ts +550 -0
  53. package/dist/src/core/lib/glm/mat4.js +1802 -0
  54. package/dist/src/core/lib/glm/mat4.js.map +1 -0
  55. package/dist/src/core/lib/glm/quat.d.ts +363 -0
  56. package/dist/src/core/lib/glm/quat.js +693 -0
  57. package/dist/src/core/lib/glm/quat.js.map +1 -0
  58. package/dist/src/core/lib/glm/quat2.d.ts +356 -0
  59. package/dist/src/core/lib/glm/quat2.js +754 -0
  60. package/dist/src/core/lib/glm/quat2.js.map +1 -0
  61. package/dist/src/core/lib/glm/vec2.d.ts +365 -0
  62. package/dist/src/core/lib/glm/vec2.js +569 -0
  63. package/dist/src/core/lib/glm/vec2.js.map +1 -0
  64. package/dist/src/core/lib/glm/vec3.d.ts +406 -0
  65. package/dist/src/core/lib/glm/vec3.js +720 -0
  66. package/dist/src/core/lib/glm/vec3.js.map +1 -0
  67. package/dist/src/core/lib/glm/vec4.d.ts +330 -0
  68. package/dist/src/core/lib/glm/vec4.js +608 -0
  69. package/dist/src/core/lib/glm/vec4.js.map +1 -0
  70. package/dist/src/core/renderers/CoreShaderManager.d.ts +19 -0
  71. package/dist/src/core/renderers/CoreShaderManager.js +33 -0
  72. package/dist/src/core/renderers/CoreShaderManager.js.map +1 -0
  73. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.d.ts +27 -0
  74. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js +82 -0
  75. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js.map +1 -0
  76. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.d.ts +11 -0
  77. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js +34 -0
  78. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js.map +1 -0
  79. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +35 -35
  80. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
  81. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  82. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  83. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  84. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
  85. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  86. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
  87. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  88. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  89. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  90. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  91. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  92. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  93. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
  94. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
  95. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
  96. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  97. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  98. package/dist/src/core/scene/Scene.d.ts +59 -0
  99. package/dist/src/core/scene/Scene.js +106 -0
  100. package/dist/src/core/scene/Scene.js.map +1 -0
  101. package/dist/src/core/shaders/webgl/Border.js +59 -59
  102. package/dist/src/core/shaders/webgl/Default.js +47 -47
  103. package/dist/src/core/shaders/webgl/DefaultBatched.js +61 -61
  104. package/dist/src/core/shaders/webgl/HolePunch.js +32 -32
  105. package/dist/src/core/shaders/webgl/LinearGradient.js +36 -36
  106. package/dist/src/core/shaders/webgl/RadialGradient.js +33 -33
  107. package/dist/src/core/shaders/webgl/Rounded.js +71 -71
  108. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +66 -66
  109. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +79 -79
  110. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +54 -54
  111. package/dist/src/core/shaders/webgl/SdfShader.js +62 -62
  112. package/dist/src/core/shaders/webgl/Shadow.js +83 -83
  113. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +20 -0
  114. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +55 -0
  115. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +1 -0
  116. package/dist/src/main-api/ICoreDriver.d.ts +27 -0
  117. package/dist/src/main-api/ICoreDriver.js +20 -0
  118. package/dist/src/main-api/ICoreDriver.js.map +1 -0
  119. package/dist/src/main-api/IRenderDriver.d.ts +20 -0
  120. package/dist/src/main-api/IRenderDriver.js +20 -0
  121. package/dist/src/main-api/IRenderDriver.js.map +1 -0
  122. package/dist/src/main-api/IShaderController.d.ts +14 -0
  123. package/dist/src/main-api/IShaderController.js +30 -0
  124. package/dist/src/main-api/IShaderController.js.map +1 -0
  125. package/dist/src/main-api/IShaderNode.d.ts +17 -0
  126. package/dist/src/main-api/IShaderNode.js +19 -0
  127. package/dist/src/main-api/IShaderNode.js.map +1 -0
  128. package/dist/src/main-api/RendererMain.d.ts +375 -0
  129. package/dist/src/main-api/RendererMain.js +365 -0
  130. package/dist/src/main-api/RendererMain.js.map +1 -0
  131. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +9 -0
  132. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +38 -0
  133. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +1 -0
  134. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +56 -0
  135. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +101 -0
  136. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -0
  137. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +32 -0
  138. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +28 -0
  139. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +1 -0
  140. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +24 -0
  141. package/dist/src/render-drivers/main/MainCoreDriver.js +118 -0
  142. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
  143. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +99 -0
  144. package/dist/src/render-drivers/main/MainOnlyNode.js +396 -0
  145. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
  146. package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +6 -0
  147. package/dist/src/render-drivers/main/MainOnlyShaderController.js +15 -0
  148. package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +1 -0
  149. package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +7 -0
  150. package/dist/src/render-drivers/main/MainOnlyShaderNode.js +34 -0
  151. package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +1 -0
  152. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +47 -0
  153. package/dist/src/render-drivers/main/MainOnlyTextNode.js +205 -0
  154. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
  155. package/dist/src/render-drivers/main/MainRenderDriver.d.ts +17 -0
  156. package/dist/src/render-drivers/main/MainRenderDriver.js +88 -0
  157. package/dist/src/render-drivers/main/MainRenderDriver.js.map +1 -0
  158. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +90 -0
  159. package/dist/src/render-drivers/threadx/NodeStruct.js +281 -0
  160. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
  161. package/dist/src/render-drivers/threadx/SharedNode.d.ts +39 -0
  162. package/dist/src/render-drivers/threadx/SharedNode.js +60 -0
  163. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -0
  164. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +44 -0
  165. package/dist/src/render-drivers/threadx/TextNodeStruct.js +201 -0
  166. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
  167. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +28 -0
  168. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +234 -0
  169. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
  170. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +20 -0
  171. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +84 -0
  172. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
  173. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +44 -0
  174. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +154 -0
  175. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -0
  176. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +6 -0
  177. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +16 -0
  178. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +1 -0
  179. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +7 -0
  180. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +15 -0
  181. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +1 -0
  182. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +28 -0
  183. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +55 -0
  184. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -0
  185. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +21 -0
  186. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +198 -0
  187. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -0
  188. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +70 -0
  189. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +32 -0
  190. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -0
  191. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +19 -0
  192. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +177 -0
  193. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -0
  194. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +27 -0
  195. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +108 -0
  196. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -0
  197. package/dist/src/render-drivers/threadx/worker/renderer.d.ts +1 -0
  198. package/dist/src/render-drivers/threadx/worker/renderer.js +145 -0
  199. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -0
  200. package/dist/src/render-drivers/utils.d.ts +12 -0
  201. package/dist/src/render-drivers/utils.js +69 -0
  202. package/dist/src/render-drivers/utils.js.map +1 -0
  203. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  204. package/exports/canvas-shaders.ts +28 -28
  205. package/exports/canvas.ts +45 -45
  206. package/exports/index.ts +90 -90
  207. package/exports/inspector.ts +24 -24
  208. package/exports/utils.ts +44 -44
  209. package/exports/webgl-shaders.ts +28 -28
  210. package/exports/webgl.ts +50 -50
  211. package/package.json +2 -1
  212. package/scripts/please-use-pnpm.js +13 -13
  213. package/src/common/CommonTypes.ts +146 -146
  214. package/src/common/EventEmitter.ts +77 -77
  215. package/src/common/IAnimationController.ts +92 -92
  216. package/src/common/IEventEmitter.ts +28 -28
  217. package/src/core/CoreNode.test.ts +203 -203
  218. package/src/core/CoreNode.ts +2494 -2494
  219. package/src/core/CoreShaderManager.ts +188 -188
  220. package/src/core/CoreTextNode.ts +449 -448
  221. package/src/core/CoreTextureManager.ts +601 -601
  222. package/src/core/Stage.ts +754 -754
  223. package/src/core/TextureMemoryManager.ts +395 -395
  224. package/src/core/animations/AnimationManager.ts +38 -38
  225. package/src/core/animations/CoreAnimation.ts +284 -284
  226. package/src/core/animations/CoreAnimationController.ts +157 -157
  227. package/src/core/lib/ContextSpy.ts +41 -41
  228. package/src/core/lib/ImageWorker.ts +280 -280
  229. package/src/core/lib/Matrix3d.ts +244 -244
  230. package/src/core/lib/RenderCoords.ts +71 -71
  231. package/src/core/lib/WebGlContextWrapper.ts +1374 -1374
  232. package/src/core/lib/textureCompression.ts +152 -152
  233. package/src/core/lib/textureSvg.ts +78 -78
  234. package/src/core/lib/utils.ts +386 -386
  235. package/src/core/lib/validateImageBitmap.ts +87 -87
  236. package/src/core/platform.ts +64 -64
  237. package/src/core/platforms/Platform.ts +77 -77
  238. package/src/core/platforms/web/WebPlatform.ts +84 -84
  239. package/src/core/renderers/CoreContextTexture.ts +43 -43
  240. package/src/core/renderers/CoreRenderOp.ts +22 -22
  241. package/src/core/renderers/CoreRenderer.ts +109 -109
  242. package/src/core/renderers/CoreShaderNode.ts +165 -165
  243. package/src/core/renderers/CoreShaderProgram.ts +23 -23
  244. package/src/core/renderers/canvas/CanvasRenderer.ts +298 -298
  245. package/src/core/renderers/canvas/CanvasShaderNode.ts +99 -99
  246. package/src/core/renderers/canvas/CanvasTexture.ts +156 -156
  247. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +220 -220
  248. package/src/core/renderers/canvas/internal/ColorUtils.ts +85 -85
  249. package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +86 -86
  250. package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +50 -50
  251. package/src/core/renderers/webgl/WebGlCtxTexture.ts +301 -301
  252. package/src/core/renderers/webgl/WebGlRenderOp.ts +161 -161
  253. package/src/core/renderers/webgl/WebGlRenderer.ts +750 -750
  254. package/src/core/renderers/webgl/WebGlShaderNode.ts +437 -437
  255. package/src/core/renderers/webgl/WebGlShaderProgram.ts +318 -318
  256. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  257. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
  258. package/src/core/renderers/webgl/internal/ShaderUtils.ts +281 -281
  259. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  260. package/src/core/shaders/canvas/Border.ts +78 -78
  261. package/src/core/shaders/canvas/HolePunch.ts +62 -62
  262. package/src/core/shaders/canvas/LinearGradient.ts +69 -69
  263. package/src/core/shaders/canvas/RadialGradient.ts +113 -113
  264. package/src/core/shaders/canvas/Rounded.ts +55 -55
  265. package/src/core/shaders/canvas/RoundedWithBorder.ts +68 -68
  266. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +88 -88
  267. package/src/core/shaders/canvas/RoundedWithShadow.ts +69 -69
  268. package/src/core/shaders/canvas/Shadow.ts +52 -52
  269. package/src/core/shaders/canvas/utils/render.ts +151 -151
  270. package/src/core/shaders/templates/BorderTemplate.ts +115 -115
  271. package/src/core/shaders/templates/HolePunchTemplate.ts +82 -82
  272. package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -71
  273. package/src/core/shaders/templates/RadialGradientTemplate.ts +81 -81
  274. package/src/core/shaders/templates/RoundedTemplate.ts +98 -98
  275. package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -38
  276. package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -35
  277. package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -35
  278. package/src/core/shaders/templates/ShadowTemplate.ts +106 -106
  279. package/src/core/shaders/templates/shaderUtils.ts +47 -47
  280. package/src/core/shaders/webgl/Border.ts +96 -96
  281. package/src/core/shaders/webgl/Default.ts +89 -89
  282. package/src/core/shaders/webgl/DefaultBatched.ts +129 -129
  283. package/src/core/shaders/webgl/HolePunch.ts +78 -78
  284. package/src/core/shaders/webgl/LinearGradient.ts +81 -81
  285. package/src/core/shaders/webgl/RadialGradient.ts +84 -84
  286. package/src/core/shaders/webgl/Rounded.ts +117 -117
  287. package/src/core/shaders/webgl/RoundedWithBorder.ts +114 -114
  288. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +133 -133
  289. package/src/core/shaders/webgl/RoundedWithShadow.ts +98 -98
  290. package/src/core/shaders/webgl/SdfShader.ts +134 -134
  291. package/src/core/shaders/webgl/Shadow.ts +115 -115
  292. package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
  293. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
  294. package/src/core/text-rendering/TrFontManager.ts +183 -183
  295. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
  296. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  297. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  298. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
  299. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
  300. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -94
  301. package/src/core/text-rendering/font-face-types/utils.ts +39 -39
  302. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +514 -514
  303. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +863 -863
  304. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +846 -846
  305. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  306. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  307. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  308. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  309. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
  310. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  311. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  312. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +497 -497
  313. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  314. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
  315. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  316. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  317. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  318. package/src/core/text-rendering/renderers/TextRenderer.ts +567 -567
  319. package/src/core/textures/ColorTexture.ts +102 -102
  320. package/src/core/textures/ImageTexture.ts +410 -410
  321. package/src/core/textures/NoiseTexture.ts +104 -104
  322. package/src/core/textures/RenderTexture.ts +85 -85
  323. package/src/core/textures/SubTexture.ts +205 -205
  324. package/src/core/textures/Texture.ts +358 -358
  325. package/src/core/utils.ts +227 -227
  326. package/src/env.d.ts +7 -7
  327. package/src/main-api/INode.ts +100 -100
  328. package/src/main-api/Inspector.ts +522 -522
  329. package/src/main-api/Renderer.ts +675 -675
  330. package/src/main-api/utils.ts +45 -45
  331. package/src/utils.ts +267 -267
  332. package/COPYING +0 -1
  333. package/dist/src/core/temp.js +0 -77
  334. package/dist/src/core/temp.js.map +0 -1
  335. /package/dist/src/core/{temp.d.ts → CoreStuff.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vec3.js","sourceRoot":"","sources":["../../../../../src/core/lib/glm/vec3.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,330 @@
1
+ import { type Float32ArrayLen4, type NumberArrayLen4 } from './common.js';
2
+ import type { Mat4 } from './mat4.js';
3
+ import type { Quat } from './quat.js';
4
+ import type { Quat2 } from './quat2.js';
5
+ export type Vec4 = Float32ArrayLen4 | NumberArrayLen4;
6
+ /**
7
+ * Creates a new, empty Vec4
8
+ *
9
+ * @returns {Vec4} a new 4D vector
10
+ */
11
+ export declare function create(): Vec4;
12
+ /**
13
+ * Creates a new Vec4 initialized with values from an existing vector
14
+ *
15
+ * @param {Vec4} a vector to clone
16
+ * @returns {Vec4} a new 4D vector
17
+ */
18
+ export declare function clone(a: Vec4): Vec4;
19
+ /**
20
+ * Creates a new Vec4 initialized with the given values
21
+ *
22
+ * @param {Number} x X component
23
+ * @param {Number} y Y component
24
+ * @param {Number} z Z component
25
+ * @param {Number} w W component
26
+ * @returns {Vec4} a new 4D vector
27
+ */
28
+ export declare function fromValues(x: number, y: number, z: number, w: number): Vec4;
29
+ /**
30
+ * Copy the values from one Vec4 to another
31
+ *
32
+ * @param {Vec4} out the receiving vector
33
+ * @param {Vec4} a the source vector
34
+ * @returns {Vec4} out
35
+ */
36
+ export declare function copy(out: Vec4, a: Vec4): Vec4;
37
+ /**
38
+ * Set the components of a Vec4 to the given values
39
+ *
40
+ * @param {Vec4} out the receiving vector
41
+ * @param {Number} x X component
42
+ * @param {Number} y Y component
43
+ * @param {Number} z Z component
44
+ * @param {Number} w W component
45
+ * @returns {Vec4} out
46
+ */
47
+ export declare function set(out: Vec4, x: number, y: number, z: number, w: number): Vec4;
48
+ /**
49
+ * Adds two Vec4's
50
+ *
51
+ * @param {Vec4} out the receiving vector
52
+ * @param {Vec4} a the first operand
53
+ * @param {Vec4} b the second operand
54
+ * @returns {Vec4} out
55
+ */
56
+ export declare function add(out: Vec4, a: Vec4, b: Vec4): Vec4;
57
+ /**
58
+ * Subtracts vector b from vector a
59
+ *
60
+ * @param {Vec4} out the receiving vector
61
+ * @param {Vec4} a the first operand
62
+ * @param {Vec4} b the second operand
63
+ * @returns {Vec4} out
64
+ */
65
+ export declare function subtract(out: Vec4, a: Vec4, b: Vec4): Vec4;
66
+ /**
67
+ * Multiplies two Vec4's
68
+ *
69
+ * @param {Vec4} out the receiving vector
70
+ * @param {Vec4} a the first operand
71
+ * @param {Vec4} b the second operand
72
+ * @returns {Vec4} out
73
+ */
74
+ export declare function multiply(out: Vec4, a: Vec4, b: Vec4): Vec4;
75
+ /**
76
+ * Divides two Vec4's
77
+ *
78
+ * @param {Vec4} out the receiving vector
79
+ * @param {Vec4} a the first operand
80
+ * @param {Vec4} b the second operand
81
+ * @returns {Vec4} out
82
+ */
83
+ export declare function divide(out: Vec4, a: Vec4, b: Vec4): Vec4;
84
+ /**
85
+ * Math.ceil the components of a Vec4
86
+ *
87
+ * @param {Vec4} out the receiving vector
88
+ * @param {Vec4} a vector to ceil
89
+ * @returns {Vec4} out
90
+ */
91
+ export declare function ceil(out: Vec4, a: Vec4): Vec4;
92
+ /**
93
+ * Math.floor the components of a Vec4
94
+ *
95
+ * @param {Vec4} out the receiving vector
96
+ * @param {Vec4} a vector to floor
97
+ * @returns {Vec4} out
98
+ */
99
+ export declare function floor(out: Vec4, a: Vec4): Vec4;
100
+ /**
101
+ * Returns the minimum of two Vec4's
102
+ *
103
+ * @param {Vec4} out the receiving vector
104
+ * @param {Vec4} a the first operand
105
+ * @param {Vec4} b the second operand
106
+ * @returns {Vec4} out
107
+ */
108
+ export declare function min(out: Vec4, a: Vec4, b: Vec4): Vec4;
109
+ /**
110
+ * Returns the maximum of two Vec4's
111
+ *
112
+ * @param {Vec4} out the receiving vector
113
+ * @param {Vec4} a the first operand
114
+ * @param {Vec4} b the second operand
115
+ * @returns {Vec4} out
116
+ */
117
+ export declare function max(out: Vec4, a: Vec4, b: Vec4): Vec4;
118
+ /**
119
+ * Math.round the components of a Vec4
120
+ *
121
+ * @param {Vec4} out the receiving vector
122
+ * @param {Vec4} a vector to round
123
+ * @returns {Vec4} out
124
+ */
125
+ export declare function round(out: Vec4, a: Vec4): Vec4;
126
+ /**
127
+ * Scales a Vec4 by a scalar number
128
+ *
129
+ * @param {Vec4} out the receiving vector
130
+ * @param {Vec4} a the vector to scale
131
+ * @param {Number} b amount to scale the vector by
132
+ * @returns {Vec4} out
133
+ */
134
+ export declare function scale(out: Vec4, a: Vec4, b: number): Vec4;
135
+ /**
136
+ * Adds two Vec4's after scaling the second operand by a scalar value
137
+ *
138
+ * @param {Vec4} out the receiving vector
139
+ * @param {Vec4} a the first operand
140
+ * @param {Vec4} b the second operand
141
+ * @param {Number} scale the amount to scale b by before adding
142
+ * @returns {Vec4} out
143
+ */
144
+ export declare function scaleAndAdd(out: Vec4, a: Vec4, b: Vec4, scale: number): Vec4;
145
+ /**
146
+ * Calculates the euclidian distance between two Vec4's
147
+ *
148
+ * @param {Vec4} a the first operand
149
+ * @param {Vec4} b the second operand
150
+ * @returns {Number} distance between a and b
151
+ */
152
+ export declare function distance(a: Vec4, b: Vec4): number;
153
+ /**
154
+ * Calculates the squared euclidian distance between two Vec4's
155
+ *
156
+ * @param {Vec4} a the first operand
157
+ * @param {Vec4} b the second operand
158
+ * @returns {Number} squared distance between a and b
159
+ */
160
+ export declare function squaredDistance(a: Vec4, b: Vec4): number;
161
+ /**
162
+ * Calculates the length of a Vec4
163
+ *
164
+ * @param {Vec4} a vector to calculate length of
165
+ * @returns {Number} length of a
166
+ */
167
+ export declare function length(a: Vec4): number;
168
+ /**
169
+ * Calculates the squared length of a Vec4
170
+ *
171
+ * @param {Vec4} a vector to calculate squared length of
172
+ * @returns {Number} squared length of a
173
+ */
174
+ export declare function squaredLength(a: Vec4 | Quat2): number;
175
+ /**
176
+ * Negates the components of a Vec4
177
+ *
178
+ * @param {Vec4} out the receiving vector
179
+ * @param {Vec4} a vector to negate
180
+ * @returns {Vec4} out
181
+ */
182
+ export declare function negate(out: Vec4, a: Vec4): Vec4;
183
+ /**
184
+ * Returns the inverse of the components of a Vec4
185
+ *
186
+ * @param {Vec4} out the receiving vector
187
+ * @param {Vec4} a vector to invert
188
+ * @returns {Vec4} out
189
+ */
190
+ export declare function inverse(out: Vec4, a: Vec4): Vec4;
191
+ /**
192
+ * Normalize a Vec4
193
+ *
194
+ * @param {Vec4} out the receiving vector
195
+ * @param {Vec4} a vector to normalize
196
+ * @returns {Vec4} out
197
+ */
198
+ export declare function normalize(out: Vec4, a: Vec4): Vec4;
199
+ /**
200
+ * Calculates the dot product of two Vec4's
201
+ *
202
+ * @param {Vec4} a the first operand
203
+ * @param {Vec4} b the second operand
204
+ * @returns {Number} dot product of a and b
205
+ */
206
+ export declare function dot(a: Vec4 | Quat2, b: Vec4 | Quat2): number;
207
+ /**
208
+ * Returns the cross-product of three vectors in a 4-dimensional space
209
+ *
210
+ * @param {Vec4} out the receiving vector
211
+ * @param {Vec4} u the first vector
212
+ * @param {Vec4} v the second vector
213
+ * @param {Vec4} w the third vector
214
+ * @returns {Vec4} result
215
+ */
216
+ export declare function cross(out: Vec4, u: Vec4, v: Vec4, w: Vec4): Vec4;
217
+ /**
218
+ * Performs a linear interpolation between two Vec4's
219
+ *
220
+ * @param {Vec4} out the receiving vector
221
+ * @param {Vec4} a the first operand
222
+ * @param {Vec4} b the second operand
223
+ * @param {Number} t interpolation amount, in the range [0-1], between the two inputs
224
+ * @returns {Vec4} out
225
+ */
226
+ export declare function lerp(out: Vec4, a: Vec4, b: Vec4, t: number): Vec4;
227
+ /**
228
+ * Generates a random vector with the given scale
229
+ *
230
+ * @param {Vec4} out the receiving vector
231
+ * @param {Number} [scale] Length of the resulting vector. If omitted, a unit vector will be returned
232
+ * @returns {Vec4} out
233
+ */
234
+ export declare function random(out: Vec4, scale?: number): Vec4;
235
+ /**
236
+ * Transforms the Vec4 with a Mat4.
237
+ *
238
+ * @param {Vec4} out the receiving vector
239
+ * @param {Vec4} a the vector to transform
240
+ * @param {ReadonlyMat4} m matrix to transform with
241
+ * @returns {Vec4} out
242
+ */
243
+ export declare function transformMat4(out: Vec4, a: Vec4, m: Mat4): Vec4;
244
+ /**
245
+ * Transforms the Vec4 with a quat
246
+ *
247
+ * @param {Vec4} out the receiving vector
248
+ * @param {Vec4} a the vector to transform
249
+ * @param {Quat} q quaternion to transform with
250
+ * @returns {Vec4} out
251
+ */
252
+ export declare function transformQuat(out: Vec4, a: Vec4, q: Quat): Vec4;
253
+ /**
254
+ * Set the components of a Vec4 to zero
255
+ *
256
+ * @param {Vec4} out the receiving vector
257
+ * @returns {Vec4} out
258
+ */
259
+ export declare function zero(out: Vec4): Vec4;
260
+ /**
261
+ * Returns a string representation of a vector
262
+ *
263
+ * @param {Vec4} a vector to represent as a string
264
+ * @returns {String} string representation of the vector
265
+ */
266
+ export declare function str(a: Vec4): string;
267
+ /**
268
+ * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)
269
+ *
270
+ * @param {Vec4} a The first vector.
271
+ * @param {Vec4} b The second vector.
272
+ * @returns {Boolean} True if the vectors are equal, false otherwise.
273
+ */
274
+ export declare function exactEquals(a: Vec4, b: Vec4): boolean;
275
+ /**
276
+ * Returns whether or not the vectors have approximately the same elements in the same position.
277
+ *
278
+ * @param {Vec4} a The first vector.
279
+ * @param {Vec4} b The second vector.
280
+ * @returns {Boolean} True if the vectors are equal, false otherwise.
281
+ */
282
+ export declare function equals(a: Vec4, b: Vec4): boolean;
283
+ /**
284
+ * Alias for {@link Vec4.subtract}
285
+ * @function
286
+ */
287
+ export declare const sub: typeof subtract;
288
+ /**
289
+ * Alias for {@link Vec4.multiply}
290
+ * @function
291
+ */
292
+ export declare const mul: typeof multiply;
293
+ /**
294
+ * Alias for {@link Vec4.divide}
295
+ * @function
296
+ */
297
+ export declare const div: typeof divide;
298
+ /**
299
+ * Alias for {@link Vec4.distance}
300
+ * @function
301
+ */
302
+ export declare const dist: typeof distance;
303
+ /**
304
+ * Alias for {@link Vec4.squaredDistance}
305
+ * @function
306
+ */
307
+ export declare const sqrDist: typeof squaredDistance;
308
+ /**
309
+ * Alias for {@link Vec4.length}
310
+ * @function
311
+ */
312
+ export declare const len: typeof length;
313
+ /**
314
+ * Alias for {@link Vec4.squaredLength}
315
+ * @function
316
+ */
317
+ export declare const sqrLen: typeof squaredLength;
318
+ /**
319
+ * Perform some operation over an array of Vec4s.
320
+ *
321
+ * @param {Array} a the array of vectors to iterate over
322
+ * @param {Number} stride Number of elements between the start of each Vec4. If 0 assumes tightly packed
323
+ * @param {Number} offset Number of elements to skip at the beginning of the array
324
+ * @param {Number} count Number of Vec4s to iterate over. If 0 iterates over entire array
325
+ * @param {Function} fn Function to call for each vector in the array
326
+ * @param {Object} [arg] additional argument to pass to fn
327
+ * @returns {Array} a
328
+ * @function
329
+ */
330
+ export declare const forEach: (a: Vec4[], stride: number, offset: number, count: number, fn: (a: Vec4[], b: Vec4[], arg: object) => void, arg: object) => Vec4[];