@codexo/exojs 0.4.0

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 (468) hide show
  1. package/CHANGELOG.md +163 -0
  2. package/README.md +141 -0
  3. package/dist/esm/audio/AbstractMedia.d.ts +45 -0
  4. package/dist/esm/audio/AbstractMedia.js +103 -0
  5. package/dist/esm/audio/AbstractMedia.js.map +1 -0
  6. package/dist/esm/audio/AudioAnalyser.d.ts +30 -0
  7. package/dist/esm/audio/AudioAnalyser.js +92 -0
  8. package/dist/esm/audio/AudioAnalyser.js.map +1 -0
  9. package/dist/esm/audio/Media.d.ts +25 -0
  10. package/dist/esm/audio/Music.d.ts +20 -0
  11. package/dist/esm/audio/Music.js +119 -0
  12. package/dist/esm/audio/Music.js.map +1 -0
  13. package/dist/esm/audio/Sound.d.ts +56 -0
  14. package/dist/esm/audio/Sound.js +394 -0
  15. package/dist/esm/audio/Sound.js.map +1 -0
  16. package/dist/esm/audio/audio-context.d.ts +11 -0
  17. package/dist/esm/audio/audio-context.js +115 -0
  18. package/dist/esm/audio/audio-context.js.map +1 -0
  19. package/dist/esm/audio/index.d.ts +6 -0
  20. package/dist/esm/core/Application.d.ts +76 -0
  21. package/dist/esm/core/Application.js +206 -0
  22. package/dist/esm/core/Application.js.map +1 -0
  23. package/dist/esm/core/Bounds.d.ts +19 -0
  24. package/dist/esm/core/Bounds.js +59 -0
  25. package/dist/esm/core/Bounds.js.map +1 -0
  26. package/dist/esm/core/Clock.d.ts +18 -0
  27. package/dist/esm/core/Clock.js +68 -0
  28. package/dist/esm/core/Clock.js.map +1 -0
  29. package/dist/esm/core/Color.d.ts +176 -0
  30. package/dist/esm/core/Color.js +265 -0
  31. package/dist/esm/core/Color.js.map +1 -0
  32. package/dist/esm/core/Quadtree.d.ts +20 -0
  33. package/dist/esm/core/Quadtree.js +86 -0
  34. package/dist/esm/core/Quadtree.js.map +1 -0
  35. package/dist/esm/core/Scene.d.ts +83 -0
  36. package/dist/esm/core/Scene.js +81 -0
  37. package/dist/esm/core/Scene.js.map +1 -0
  38. package/dist/esm/core/SceneManager.d.ts +66 -0
  39. package/dist/esm/core/SceneManager.js +396 -0
  40. package/dist/esm/core/SceneManager.js.map +1 -0
  41. package/dist/esm/core/SceneNode.d.ts +58 -0
  42. package/dist/esm/core/SceneNode.js +174 -0
  43. package/dist/esm/core/SceneNode.js.map +1 -0
  44. package/dist/esm/core/Signal.d.ts +18 -0
  45. package/dist/esm/core/Signal.js +63 -0
  46. package/dist/esm/core/Signal.js.map +1 -0
  47. package/dist/esm/core/Time.d.ts +38 -0
  48. package/dist/esm/core/Time.js +107 -0
  49. package/dist/esm/core/Time.js.map +1 -0
  50. package/dist/esm/core/Timer.d.ts +12 -0
  51. package/dist/esm/core/Timer.js +34 -0
  52. package/dist/esm/core/Timer.js.map +1 -0
  53. package/dist/esm/core/index.d.ts +13 -0
  54. package/dist/esm/core/types.d.ts +29 -0
  55. package/dist/esm/core/utils.d.ts +22 -0
  56. package/dist/esm/core/utils.js +136 -0
  57. package/dist/esm/core/utils.js.map +1 -0
  58. package/dist/esm/index.d.ts +8 -0
  59. package/dist/esm/index.js +135 -0
  60. package/dist/esm/index.js.map +1 -0
  61. package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +5 -0
  62. package/dist/esm/input/ArcadeStickGamepadMapping.js +29 -0
  63. package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -0
  64. package/dist/esm/input/GameCubeGamepadMapping.d.ts +5 -0
  65. package/dist/esm/input/GameCubeGamepadMapping.js +9 -0
  66. package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -0
  67. package/dist/esm/input/Gamepad.d.ts +45 -0
  68. package/dist/esm/input/Gamepad.js +154 -0
  69. package/dist/esm/input/Gamepad.js.map +1 -0
  70. package/dist/esm/input/GamepadChannels.d.ts +39 -0
  71. package/dist/esm/input/GamepadChannels.js +45 -0
  72. package/dist/esm/input/GamepadChannels.js.map +1 -0
  73. package/dist/esm/input/GamepadControl.d.ts +15 -0
  74. package/dist/esm/input/GamepadControl.js +29 -0
  75. package/dist/esm/input/GamepadControl.js.map +1 -0
  76. package/dist/esm/input/GamepadDefinitions.d.ts +31 -0
  77. package/dist/esm/input/GamepadDefinitions.js +175 -0
  78. package/dist/esm/input/GamepadDefinitions.js.map +1 -0
  79. package/dist/esm/input/GamepadMapping.d.ts +23 -0
  80. package/dist/esm/input/GamepadMapping.js +32 -0
  81. package/dist/esm/input/GamepadMapping.js.map +1 -0
  82. package/dist/esm/input/GamepadPromptLayouts.d.ts +9 -0
  83. package/dist/esm/input/GamepadPromptLayouts.js +140 -0
  84. package/dist/esm/input/GamepadPromptLayouts.js.map +1 -0
  85. package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +5 -0
  86. package/dist/esm/input/GenericDualAnalogGamepadMapping.js +53 -0
  87. package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -0
  88. package/dist/esm/input/Input.d.ts +28 -0
  89. package/dist/esm/input/Input.js +68 -0
  90. package/dist/esm/input/Input.js.map +1 -0
  91. package/dist/esm/input/InputManager.d.ts +76 -0
  92. package/dist/esm/input/InputManager.js +346 -0
  93. package/dist/esm/input/InputManager.js.map +1 -0
  94. package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +5 -0
  95. package/dist/esm/input/JoyConLeftGamepadMapping.js +9 -0
  96. package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -0
  97. package/dist/esm/input/JoyConRightGamepadMapping.d.ts +5 -0
  98. package/dist/esm/input/JoyConRightGamepadMapping.js +9 -0
  99. package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -0
  100. package/dist/esm/input/PlayStationGamepadMapping.d.ts +5 -0
  101. package/dist/esm/input/PlayStationGamepadMapping.js +9 -0
  102. package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -0
  103. package/dist/esm/input/Pointer.d.ts +52 -0
  104. package/dist/esm/input/Pointer.js +127 -0
  105. package/dist/esm/input/Pointer.js.map +1 -0
  106. package/dist/esm/input/SteamControllerGamepadMapping.d.ts +5 -0
  107. package/dist/esm/input/SteamControllerGamepadMapping.js +9 -0
  108. package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -0
  109. package/dist/esm/input/SwitchProGamepadMapping.d.ts +5 -0
  110. package/dist/esm/input/SwitchProGamepadMapping.js +9 -0
  111. package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -0
  112. package/dist/esm/input/XboxGamepadMapping.d.ts +5 -0
  113. package/dist/esm/input/XboxGamepadMapping.js +9 -0
  114. package/dist/esm/input/XboxGamepadMapping.js.map +1 -0
  115. package/dist/esm/input/index.d.ts +19 -0
  116. package/dist/esm/input/types.d.ts +111 -0
  117. package/dist/esm/input/types.js +117 -0
  118. package/dist/esm/input/types.js.map +1 -0
  119. package/dist/esm/math/AbstractVector.d.ts +33 -0
  120. package/dist/esm/math/AbstractVector.js +106 -0
  121. package/dist/esm/math/AbstractVector.js.map +1 -0
  122. package/dist/esm/math/Circle.d.ts +41 -0
  123. package/dist/esm/math/Circle.js +137 -0
  124. package/dist/esm/math/Circle.js.map +1 -0
  125. package/dist/esm/math/CircleLike.d.ts +5 -0
  126. package/dist/esm/math/Collision.d.ts +28 -0
  127. package/dist/esm/math/Collision.js +13 -0
  128. package/dist/esm/math/Collision.js.map +1 -0
  129. package/dist/esm/math/Ellipse.d.ts +37 -0
  130. package/dist/esm/math/Ellipse.js +112 -0
  131. package/dist/esm/math/Ellipse.js.map +1 -0
  132. package/dist/esm/math/EllipseLike.d.ts +6 -0
  133. package/dist/esm/math/Flags.d.ts +12 -0
  134. package/dist/esm/math/Flags.js +41 -0
  135. package/dist/esm/math/Flags.js.map +1 -0
  136. package/dist/esm/math/Interval.d.ts +16 -0
  137. package/dist/esm/math/Interval.js +45 -0
  138. package/dist/esm/math/Interval.js.map +1 -0
  139. package/dist/esm/math/Line.d.ts +36 -0
  140. package/dist/esm/math/Line.js +114 -0
  141. package/dist/esm/math/Line.js.map +1 -0
  142. package/dist/esm/math/LineLike.d.ts +6 -0
  143. package/dist/esm/math/Matrix.d.ts +32 -0
  144. package/dist/esm/math/Matrix.js +134 -0
  145. package/dist/esm/math/Matrix.js.map +1 -0
  146. package/dist/esm/math/ObservableSize.d.ts +16 -0
  147. package/dist/esm/math/ObservableSize.js +56 -0
  148. package/dist/esm/math/ObservableSize.js.map +1 -0
  149. package/dist/esm/math/ObservableVector.d.ts +21 -0
  150. package/dist/esm/math/ObservableVector.js +74 -0
  151. package/dist/esm/math/ObservableVector.js.map +1 -0
  152. package/dist/esm/math/PointLike.d.ts +4 -0
  153. package/dist/esm/math/PolarVector.d.ts +8 -0
  154. package/dist/esm/math/PolarVector.js +19 -0
  155. package/dist/esm/math/PolarVector.js.map +1 -0
  156. package/dist/esm/math/Polygon.d.ts +38 -0
  157. package/dist/esm/math/Polygon.js +163 -0
  158. package/dist/esm/math/Polygon.js.map +1 -0
  159. package/dist/esm/math/PolygonLike.d.ts +6 -0
  160. package/dist/esm/math/Random.d.ts +15 -0
  161. package/dist/esm/math/Random.js +72 -0
  162. package/dist/esm/math/Random.js.map +1 -0
  163. package/dist/esm/math/Rectangle.d.ts +48 -0
  164. package/dist/esm/math/Rectangle.js +208 -0
  165. package/dist/esm/math/Rectangle.js.map +1 -0
  166. package/dist/esm/math/RectangleLike.d.ts +6 -0
  167. package/dist/esm/math/Segment.d.ts +25 -0
  168. package/dist/esm/math/Segment.js +79 -0
  169. package/dist/esm/math/Segment.js.map +1 -0
  170. package/dist/esm/math/ShapeLike.d.ts +4 -0
  171. package/dist/esm/math/Size.d.ts +24 -0
  172. package/dist/esm/math/Size.js +71 -0
  173. package/dist/esm/math/Size.js.map +1 -0
  174. package/dist/esm/math/Transformable.d.ts +47 -0
  175. package/dist/esm/math/Transformable.js +140 -0
  176. package/dist/esm/math/Transformable.js.map +1 -0
  177. package/dist/esm/math/Vector.d.ts +28 -0
  178. package/dist/esm/math/Vector.js +80 -0
  179. package/dist/esm/math/Vector.js.map +1 -0
  180. package/dist/esm/math/collision-detection.d.ts +41 -0
  181. package/dist/esm/math/collision-detection.js +394 -0
  182. package/dist/esm/math/collision-detection.js.map +1 -0
  183. package/dist/esm/math/collision-primitives.d.ts +39 -0
  184. package/dist/esm/math/collision-primitives.js +164 -0
  185. package/dist/esm/math/collision-primitives.js.map +1 -0
  186. package/dist/esm/math/geometry.d.ts +8 -0
  187. package/dist/esm/math/geometry.js +195 -0
  188. package/dist/esm/math/geometry.js.map +1 -0
  189. package/dist/esm/math/index.d.ts +27 -0
  190. package/dist/esm/math/utils.d.ts +21 -0
  191. package/dist/esm/math/utils.js +60 -0
  192. package/dist/esm/math/utils.js.map +1 -0
  193. package/dist/esm/particles/Particle.d.ts +40 -0
  194. package/dist/esm/particles/Particle.js +106 -0
  195. package/dist/esm/particles/Particle.js.map +1 -0
  196. package/dist/esm/particles/ParticleProperties.d.ts +14 -0
  197. package/dist/esm/particles/ParticleSystem.d.ts +43 -0
  198. package/dist/esm/particles/ParticleSystem.js +186 -0
  199. package/dist/esm/particles/ParticleSystem.js.map +1 -0
  200. package/dist/esm/particles/affectors/ColorAffector.d.ts +17 -0
  201. package/dist/esm/particles/affectors/ColorAffector.js +42 -0
  202. package/dist/esm/particles/affectors/ColorAffector.js.map +1 -0
  203. package/dist/esm/particles/affectors/ForceAffector.d.ts +13 -0
  204. package/dist/esm/particles/affectors/ForceAffector.js +28 -0
  205. package/dist/esm/particles/affectors/ForceAffector.js.map +1 -0
  206. package/dist/esm/particles/affectors/ParticleAffector.d.ts +6 -0
  207. package/dist/esm/particles/affectors/ScaleAffector.d.ts +13 -0
  208. package/dist/esm/particles/affectors/ScaleAffector.js +28 -0
  209. package/dist/esm/particles/affectors/ScaleAffector.js.map +1 -0
  210. package/dist/esm/particles/affectors/TorqueAffector.d.ts +12 -0
  211. package/dist/esm/particles/affectors/TorqueAffector.js +26 -0
  212. package/dist/esm/particles/affectors/TorqueAffector.js.map +1 -0
  213. package/dist/esm/particles/emitters/ParticleEmitter.d.ts +6 -0
  214. package/dist/esm/particles/emitters/ParticleOptions.d.ts +46 -0
  215. package/dist/esm/particles/emitters/ParticleOptions.js +104 -0
  216. package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -0
  217. package/dist/esm/particles/emitters/UniversalEmitter.d.ts +17 -0
  218. package/dist/esm/particles/emitters/UniversalEmitter.js +45 -0
  219. package/dist/esm/particles/emitters/UniversalEmitter.js.map +1 -0
  220. package/dist/esm/particles/index.d.ts +11 -0
  221. package/dist/esm/physics/RapierPhysicsWorld.d.ts +136 -0
  222. package/dist/esm/physics/RapierPhysicsWorld.js +475 -0
  223. package/dist/esm/physics/RapierPhysicsWorld.js.map +1 -0
  224. package/dist/esm/physics/index.d.ts +1 -0
  225. package/dist/esm/rendering/CallbackRenderPass.d.ts +7 -0
  226. package/dist/esm/rendering/CallbackRenderPass.js +12 -0
  227. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -0
  228. package/dist/esm/rendering/Container.d.ts +36 -0
  229. package/dist/esm/rendering/Container.js +197 -0
  230. package/dist/esm/rendering/Container.js.map +1 -0
  231. package/dist/esm/rendering/Drawable.d.ts +16 -0
  232. package/dist/esm/rendering/Drawable.js +54 -0
  233. package/dist/esm/rendering/Drawable.js.map +1 -0
  234. package/dist/esm/rendering/RenderBackendType.d.ts +4 -0
  235. package/dist/esm/rendering/RenderBackendType.js +8 -0
  236. package/dist/esm/rendering/RenderBackendType.js.map +1 -0
  237. package/dist/esm/rendering/RenderNode.d.ts +51 -0
  238. package/dist/esm/rendering/RenderNode.js +235 -0
  239. package/dist/esm/rendering/RenderNode.js.map +1 -0
  240. package/dist/esm/rendering/RenderPass.d.ts +4 -0
  241. package/dist/esm/rendering/RenderStats.d.ts +12 -0
  242. package/dist/esm/rendering/RenderStats.js +24 -0
  243. package/dist/esm/rendering/RenderStats.js.map +1 -0
  244. package/dist/esm/rendering/RenderTarget.d.ts +34 -0
  245. package/dist/esm/rendering/RenderTarget.js +109 -0
  246. package/dist/esm/rendering/RenderTarget.js.map +1 -0
  247. package/dist/esm/rendering/RenderTargetPass.d.ts +18 -0
  248. package/dist/esm/rendering/RenderTargetPass.js +31 -0
  249. package/dist/esm/rendering/RenderTargetPass.js.map +1 -0
  250. package/dist/esm/rendering/Renderer.d.ts +15 -0
  251. package/dist/esm/rendering/RendererRegistry.d.ts +43 -0
  252. package/dist/esm/rendering/RendererRegistry.js +86 -0
  253. package/dist/esm/rendering/RendererRegistry.js.map +1 -0
  254. package/dist/esm/rendering/SceneRenderRuntime.d.ts +29 -0
  255. package/dist/esm/rendering/View.d.ts +102 -0
  256. package/dist/esm/rendering/View.js +364 -0
  257. package/dist/esm/rendering/View.js.map +1 -0
  258. package/dist/esm/rendering/filters/BlurFilter.d.ts +20 -0
  259. package/dist/esm/rendering/filters/BlurFilter.js +68 -0
  260. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -0
  261. package/dist/esm/rendering/filters/ColorFilter.d.ts +12 -0
  262. package/dist/esm/rendering/filters/ColorFilter.js +42 -0
  263. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -0
  264. package/dist/esm/rendering/filters/Filter.d.ts +5 -0
  265. package/dist/esm/rendering/filters/Filter.js +5 -0
  266. package/dist/esm/rendering/filters/Filter.js.map +1 -0
  267. package/dist/esm/rendering/index.d.ts +52 -0
  268. package/dist/esm/rendering/primitives/CircleGeometry.d.ts +4 -0
  269. package/dist/esm/rendering/primitives/CircleGeometry.js +21 -0
  270. package/dist/esm/rendering/primitives/CircleGeometry.js.map +1 -0
  271. package/dist/esm/rendering/primitives/DrawableShape.d.ts +11 -0
  272. package/dist/esm/rendering/primitives/DrawableShape.js +21 -0
  273. package/dist/esm/rendering/primitives/DrawableShape.js.map +1 -0
  274. package/dist/esm/rendering/primitives/Geometry.d.ts +13 -0
  275. package/dist/esm/rendering/primitives/Geometry.js +16 -0
  276. package/dist/esm/rendering/primitives/Geometry.js.map +1 -0
  277. package/dist/esm/rendering/primitives/Graphics.d.ts +36 -0
  278. package/dist/esm/rendering/primitives/Graphics.js +208 -0
  279. package/dist/esm/rendering/primitives/Graphics.js.map +1 -0
  280. package/dist/esm/rendering/shader/Shader.d.ts +27 -0
  281. package/dist/esm/rendering/shader/Shader.js +63 -0
  282. package/dist/esm/rendering/shader/Shader.js.map +1 -0
  283. package/dist/esm/rendering/shader/ShaderAttribute.d.ts +9 -0
  284. package/dist/esm/rendering/shader/ShaderAttribute.js +21 -0
  285. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -0
  286. package/dist/esm/rendering/shader/ShaderUniform.d.ts +16 -0
  287. package/dist/esm/rendering/shader/ShaderUniform.js +38 -0
  288. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -0
  289. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +43 -0
  290. package/dist/esm/rendering/sprite/AnimatedSprite.js +177 -0
  291. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -0
  292. package/dist/esm/rendering/sprite/Sprite.d.ts +43 -0
  293. package/dist/esm/rendering/sprite/Sprite.js +169 -0
  294. package/dist/esm/rendering/sprite/Sprite.js.map +1 -0
  295. package/dist/esm/rendering/sprite/Spritesheet.d.ts +34 -0
  296. package/dist/esm/rendering/sprite/Spritesheet.js +88 -0
  297. package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -0
  298. package/dist/esm/rendering/text/Text.d.ts +26 -0
  299. package/dist/esm/rendering/text/Text.js +130 -0
  300. package/dist/esm/rendering/text/Text.js.map +1 -0
  301. package/dist/esm/rendering/text/TextStyle.d.ts +65 -0
  302. package/dist/esm/rendering/text/TextStyle.js +192 -0
  303. package/dist/esm/rendering/text/TextStyle.js.map +1 -0
  304. package/dist/esm/rendering/texture/RenderTexture.d.ts +36 -0
  305. package/dist/esm/rendering/texture/RenderTexture.js +123 -0
  306. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -0
  307. package/dist/esm/rendering/texture/Sampler.d.ts +29 -0
  308. package/dist/esm/rendering/texture/Sampler.js +76 -0
  309. package/dist/esm/rendering/texture/Sampler.js.map +1 -0
  310. package/dist/esm/rendering/texture/Texture.d.ts +52 -0
  311. package/dist/esm/rendering/texture/Texture.js +173 -0
  312. package/dist/esm/rendering/texture/Texture.js.map +1 -0
  313. package/dist/esm/rendering/types.d.ts +68 -0
  314. package/dist/esm/rendering/types.js +79 -0
  315. package/dist/esm/rendering/types.js.map +1 -0
  316. package/dist/esm/rendering/utils.d.ts +9 -0
  317. package/dist/esm/rendering/utils.js +39 -0
  318. package/dist/esm/rendering/utils.js.map +1 -0
  319. package/dist/esm/rendering/video/Video.d.ts +62 -0
  320. package/dist/esm/rendering/video/Video.js +293 -0
  321. package/dist/esm/rendering/video/Video.js.map +1 -0
  322. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +49 -0
  323. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +175 -0
  324. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -0
  325. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +44 -0
  326. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js +57 -0
  327. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -0
  328. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +11 -0
  329. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +110 -0
  330. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +1 -0
  331. package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.d.ts +26 -0
  332. package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js +217 -0
  333. package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js.map +1 -0
  334. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +26 -0
  335. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +54 -0
  336. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -0
  337. package/dist/esm/rendering/webgl2/WebGl2RenderManager.d.ts +99 -0
  338. package/dist/esm/rendering/webgl2/WebGl2RenderManager.js +600 -0
  339. package/dist/esm/rendering/webgl2/WebGl2RenderManager.js.map +1 -0
  340. package/dist/esm/rendering/webgl2/WebGl2RendererRuntime.d.ts +15 -0
  341. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts +17 -0
  342. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js +63 -0
  343. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -0
  344. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts +3 -0
  345. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js +59 -0
  346. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -0
  347. package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.d.ts +2 -0
  348. package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js +161 -0
  349. package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js.map +1 -0
  350. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +11 -0
  351. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +82 -0
  352. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -0
  353. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +40 -0
  354. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js +69 -0
  355. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js.map +1 -0
  356. package/dist/esm/rendering/webgl2/glsl/particle.frag.js +4 -0
  357. package/dist/esm/rendering/webgl2/glsl/particle.frag.js.map +1 -0
  358. package/dist/esm/rendering/webgl2/glsl/particle.vert.js +4 -0
  359. package/dist/esm/rendering/webgl2/glsl/particle.vert.js.map +1 -0
  360. package/dist/esm/rendering/webgl2/glsl/primitive.frag.js +4 -0
  361. package/dist/esm/rendering/webgl2/glsl/primitive.frag.js.map +1 -0
  362. package/dist/esm/rendering/webgl2/glsl/primitive.vert.js +4 -0
  363. package/dist/esm/rendering/webgl2/glsl/primitive.vert.js.map +1 -0
  364. package/dist/esm/rendering/webgl2/glsl/sprite.frag.js +4 -0
  365. package/dist/esm/rendering/webgl2/glsl/sprite.frag.js.map +1 -0
  366. package/dist/esm/rendering/webgl2/glsl/sprite.vert.js +4 -0
  367. package/dist/esm/rendering/webgl2/glsl/sprite.vert.js.map +1 -0
  368. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +28 -0
  369. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js +50 -0
  370. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -0
  371. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts +6 -0
  372. package/dist/esm/rendering/webgpu/WebGpuBlendState.js +79 -0
  373. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -0
  374. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +33 -0
  375. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +443 -0
  376. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -0
  377. package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.d.ts +39 -0
  378. package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js +489 -0
  379. package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js.map +1 -0
  380. package/dist/esm/rendering/webgpu/WebGpuRenderManager.d.ts +111 -0
  381. package/dist/esm/rendering/webgpu/WebGpuRenderManager.js +777 -0
  382. package/dist/esm/rendering/webgpu/WebGpuRenderManager.js.map +1 -0
  383. package/dist/esm/rendering/webgpu/WebGpuRendererRuntime.d.ts +8 -0
  384. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +33 -0
  385. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +528 -0
  386. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -0
  387. package/dist/esm/resources/AbstractAssetFactory.d.ts +10 -0
  388. package/dist/esm/resources/AbstractAssetFactory.js +24 -0
  389. package/dist/esm/resources/AbstractAssetFactory.js.map +1 -0
  390. package/dist/esm/resources/AssetFactory.d.ts +6 -0
  391. package/dist/esm/resources/AssetManifest.d.ts +28 -0
  392. package/dist/esm/resources/AssetManifest.js +66 -0
  393. package/dist/esm/resources/AssetManifest.js.map +1 -0
  394. package/dist/esm/resources/CacheFirstStrategy.d.ts +5 -0
  395. package/dist/esm/resources/CacheFirstStrategy.js +34 -0
  396. package/dist/esm/resources/CacheFirstStrategy.js.map +1 -0
  397. package/dist/esm/resources/CacheStore.d.ts +7 -0
  398. package/dist/esm/resources/CacheStrategy.d.ts +12 -0
  399. package/dist/esm/resources/Database.d.ts +13 -0
  400. package/dist/esm/resources/FactoryRegistry.d.ts +9 -0
  401. package/dist/esm/resources/FactoryRegistry.js +42 -0
  402. package/dist/esm/resources/FactoryRegistry.js.map +1 -0
  403. package/dist/esm/resources/IndexedDbDatabase.d.ts +21 -0
  404. package/dist/esm/resources/IndexedDbDatabase.js +143 -0
  405. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -0
  406. package/dist/esm/resources/IndexedDbStore.d.ts +16 -0
  407. package/dist/esm/resources/IndexedDbStore.js +32 -0
  408. package/dist/esm/resources/IndexedDbStore.js.map +1 -0
  409. package/dist/esm/resources/Loader.d.ts +88 -0
  410. package/dist/esm/resources/Loader.js +601 -0
  411. package/dist/esm/resources/Loader.js.map +1 -0
  412. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +5 -0
  413. package/dist/esm/resources/NetworkOnlyStrategy.js +12 -0
  414. package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -0
  415. package/dist/esm/resources/factories/BinaryFactory.d.ts +6 -0
  416. package/dist/esm/resources/factories/BinaryFactory.js +14 -0
  417. package/dist/esm/resources/factories/BinaryFactory.js.map +1 -0
  418. package/dist/esm/resources/factories/FontFactory.d.ts +13 -0
  419. package/dist/esm/resources/factories/FontFactory.js +36 -0
  420. package/dist/esm/resources/factories/FontFactory.js.map +1 -0
  421. package/dist/esm/resources/factories/ImageFactory.d.ts +10 -0
  422. package/dist/esm/resources/factories/ImageFactory.js +35 -0
  423. package/dist/esm/resources/factories/ImageFactory.js.map +1 -0
  424. package/dist/esm/resources/factories/JsonFactory.d.ts +6 -0
  425. package/dist/esm/resources/factories/JsonFactory.js +14 -0
  426. package/dist/esm/resources/factories/JsonFactory.js.map +1 -0
  427. package/dist/esm/resources/factories/MusicFactory.d.ts +16 -0
  428. package/dist/esm/resources/factories/MusicFactory.js +37 -0
  429. package/dist/esm/resources/factories/MusicFactory.js.map +1 -0
  430. package/dist/esm/resources/factories/SoundFactory.d.ts +14 -0
  431. package/dist/esm/resources/factories/SoundFactory.js +22 -0
  432. package/dist/esm/resources/factories/SoundFactory.js.map +1 -0
  433. package/dist/esm/resources/factories/SvgFactory.d.ts +6 -0
  434. package/dist/esm/resources/factories/SvgFactory.js +34 -0
  435. package/dist/esm/resources/factories/SvgFactory.js.map +1 -0
  436. package/dist/esm/resources/factories/TextFactory.d.ts +6 -0
  437. package/dist/esm/resources/factories/TextFactory.js +14 -0
  438. package/dist/esm/resources/factories/TextFactory.js.map +1 -0
  439. package/dist/esm/resources/factories/TextureFactory.d.ts +13 -0
  440. package/dist/esm/resources/factories/TextureFactory.js +37 -0
  441. package/dist/esm/resources/factories/TextureFactory.js.map +1 -0
  442. package/dist/esm/resources/factories/VideoFactory.d.ts +18 -0
  443. package/dist/esm/resources/factories/VideoFactory.js +40 -0
  444. package/dist/esm/resources/factories/VideoFactory.js.map +1 -0
  445. package/dist/esm/resources/factories/VttFactory.d.ts +6 -0
  446. package/dist/esm/resources/factories/VttFactory.js +57 -0
  447. package/dist/esm/resources/factories/VttFactory.js.map +1 -0
  448. package/dist/esm/resources/factories/WasmFactory.d.ts +6 -0
  449. package/dist/esm/resources/factories/WasmFactory.js +14 -0
  450. package/dist/esm/resources/factories/WasmFactory.js.map +1 -0
  451. package/dist/esm/resources/index.d.ts +26 -0
  452. package/dist/esm/resources/tokens.d.ts +30 -0
  453. package/dist/esm/resources/tokens.js +33 -0
  454. package/dist/esm/resources/tokens.js.map +1 -0
  455. package/dist/esm/resources/utils.d.ts +1 -0
  456. package/dist/esm/resources/utils.js +129 -0
  457. package/dist/esm/resources/utils.js.map +1 -0
  458. package/dist/esm/vendor/webgl-debug.js +1160 -0
  459. package/dist/esm/vendor/webgl-debug.js.map +1 -0
  460. package/dist/exo.esm.js +17111 -0
  461. package/dist/exo.esm.js.map +1 -0
  462. package/dist/exo.esm.min.js +2 -0
  463. package/dist/exo.esm.min.js.map +1 -0
  464. package/dist/exo.global.js +17328 -0
  465. package/dist/exo.global.js.map +1 -0
  466. package/dist/exo.global.min.js +2 -0
  467. package/dist/exo.global.min.js.map +1 -0
  468. package/package.json +96 -0
@@ -0,0 +1,176 @@
1
+ import type { Cloneable } from '@/core/types';
2
+ export declare class Color implements Cloneable {
3
+ private _r;
4
+ private _g;
5
+ private _b;
6
+ private _a;
7
+ private _rgba;
8
+ private _array;
9
+ constructor(r?: number, g?: number, b?: number, a?: number);
10
+ get r(): number;
11
+ set r(red: number);
12
+ get g(): number;
13
+ set g(green: number);
14
+ get b(): number;
15
+ set b(blue: number);
16
+ get a(): number;
17
+ set a(alpha: number);
18
+ get red(): number;
19
+ set red(red: number);
20
+ get green(): number;
21
+ set green(green: number);
22
+ get blue(): number;
23
+ set blue(blue: number);
24
+ get alpha(): number;
25
+ set alpha(alpha: number);
26
+ set(r?: number, g?: number, b?: number, a?: number): this;
27
+ copy(color: Color): this;
28
+ clone(): this;
29
+ equals({ r, g, b, a }?: Partial<Color>): boolean;
30
+ toArray(normalized?: boolean): Float32Array;
31
+ toString(prefixed?: boolean): string;
32
+ toRgba(): number;
33
+ destroy(): void;
34
+ static readonly aliceBlue: Color;
35
+ static readonly antiqueWhite: Color;
36
+ static readonly aqua: Color;
37
+ static readonly aquamarine: Color;
38
+ static readonly azure: Color;
39
+ static readonly beige: Color;
40
+ static readonly bisque: Color;
41
+ static readonly black: Color;
42
+ static readonly blanchedAlmond: Color;
43
+ static readonly blue: Color;
44
+ static readonly blueViolet: Color;
45
+ static readonly brown: Color;
46
+ static readonly burlyWood: Color;
47
+ static readonly cadetBlue: Color;
48
+ static readonly chartreuse: Color;
49
+ static readonly chocolate: Color;
50
+ static readonly coral: Color;
51
+ static readonly cornflowerBlue: Color;
52
+ static readonly cornsilk: Color;
53
+ static readonly crimson: Color;
54
+ static readonly cyan: Color;
55
+ static readonly darkBlue: Color;
56
+ static readonly darkCyan: Color;
57
+ static readonly darkGoldenrod: Color;
58
+ static readonly darkGray: Color;
59
+ static readonly darkGreen: Color;
60
+ static readonly darkKhaki: Color;
61
+ static readonly darkMagenta: Color;
62
+ static readonly darkOliveGreen: Color;
63
+ static readonly darkOrange: Color;
64
+ static readonly darkOrchid: Color;
65
+ static readonly darkRed: Color;
66
+ static readonly darkSalmon: Color;
67
+ static readonly darkSeaGreen: Color;
68
+ static readonly darkSlateBlue: Color;
69
+ static readonly darkSlateGray: Color;
70
+ static readonly darkTurquoise: Color;
71
+ static readonly darkViolet: Color;
72
+ static readonly deepPink: Color;
73
+ static readonly deepSkyBlue: Color;
74
+ static readonly dimGray: Color;
75
+ static readonly dodgerBlue: Color;
76
+ static readonly firebrick: Color;
77
+ static readonly floralWhite: Color;
78
+ static readonly forestGreen: Color;
79
+ static readonly fuchsia: Color;
80
+ static readonly gainsboro: Color;
81
+ static readonly ghostWhite: Color;
82
+ static readonly gold: Color;
83
+ static readonly goldenrod: Color;
84
+ static readonly gray: Color;
85
+ static readonly green: Color;
86
+ static readonly greenYellow: Color;
87
+ static readonly honeydew: Color;
88
+ static readonly hotPink: Color;
89
+ static readonly indianRed: Color;
90
+ static readonly indigo: Color;
91
+ static readonly ivory: Color;
92
+ static readonly khaki: Color;
93
+ static readonly lavender: Color;
94
+ static readonly lavenderBlush: Color;
95
+ static readonly lawnGreen: Color;
96
+ static readonly lemonChiffon: Color;
97
+ static readonly lightBlue: Color;
98
+ static readonly lightCoral: Color;
99
+ static readonly lightCyan: Color;
100
+ static readonly lightGoldenrodYellow: Color;
101
+ static readonly lightGray: Color;
102
+ static readonly lightGreen: Color;
103
+ static readonly lightPink: Color;
104
+ static readonly lightSalmon: Color;
105
+ static readonly lightSeaGreen: Color;
106
+ static readonly lightSkyBlue: Color;
107
+ static readonly lightSlateGray: Color;
108
+ static readonly lightSteelBlue: Color;
109
+ static readonly lightYellow: Color;
110
+ static readonly lime: Color;
111
+ static readonly limeGreen: Color;
112
+ static readonly linen: Color;
113
+ static readonly magenta: Color;
114
+ static readonly maroon: Color;
115
+ static readonly mediumAquamarine: Color;
116
+ static readonly mediumBlue: Color;
117
+ static readonly mediumOrchid: Color;
118
+ static readonly mediumPurple: Color;
119
+ static readonly mediumSeaGreen: Color;
120
+ static readonly mediumSlateBlue: Color;
121
+ static readonly mediumSpringGreen: Color;
122
+ static readonly mediumTurquoise: Color;
123
+ static readonly mediumVioletRed: Color;
124
+ static readonly midnightBlue: Color;
125
+ static readonly mintCream: Color;
126
+ static readonly mistyRose: Color;
127
+ static readonly moccasin: Color;
128
+ static readonly navajoWhite: Color;
129
+ static readonly navy: Color;
130
+ static readonly oldLace: Color;
131
+ static readonly olive: Color;
132
+ static readonly oliveDrab: Color;
133
+ static readonly orange: Color;
134
+ static readonly orangeRed: Color;
135
+ static readonly orchid: Color;
136
+ static readonly paleGoldenrod: Color;
137
+ static readonly paleGreen: Color;
138
+ static readonly paleTurquoise: Color;
139
+ static readonly paleVioletRed: Color;
140
+ static readonly papayaWhip: Color;
141
+ static readonly peachPuff: Color;
142
+ static readonly peru: Color;
143
+ static readonly pink: Color;
144
+ static readonly plum: Color;
145
+ static readonly powderBlue: Color;
146
+ static readonly purple: Color;
147
+ static readonly red: Color;
148
+ static readonly rosyBrown: Color;
149
+ static readonly royalBlue: Color;
150
+ static readonly saddleBrown: Color;
151
+ static readonly salmon: Color;
152
+ static readonly sandyBrown: Color;
153
+ static readonly seaGreen: Color;
154
+ static readonly seaShell: Color;
155
+ static readonly sienna: Color;
156
+ static readonly silver: Color;
157
+ static readonly skyBlue: Color;
158
+ static readonly slateBlue: Color;
159
+ static readonly slateGray: Color;
160
+ static readonly snow: Color;
161
+ static readonly springGreen: Color;
162
+ static readonly steelBlue: Color;
163
+ static readonly tan: Color;
164
+ static readonly teal: Color;
165
+ static readonly thistle: Color;
166
+ static readonly tomato: Color;
167
+ static readonly transparentBlack: Color;
168
+ static readonly transparentWhite: Color;
169
+ static readonly turquoise: Color;
170
+ static readonly violet: Color;
171
+ static readonly wheat: Color;
172
+ static readonly white: Color;
173
+ static readonly whiteSmoke: Color;
174
+ static readonly yellow: Color;
175
+ static readonly yellowGreen: Color;
176
+ }
@@ -0,0 +1,265 @@
1
+ import { clamp } from '../math/utils.js';
2
+
3
+ class Color {
4
+ _r;
5
+ _g;
6
+ _b;
7
+ _a;
8
+ _rgba = null;
9
+ _array = null;
10
+ constructor(r = 0, g = 0, b = 0, a = 1) {
11
+ this._r = r & 255;
12
+ this._g = g & 255;
13
+ this._b = b & 255;
14
+ this._a = clamp(a, 0, 1);
15
+ }
16
+ get r() {
17
+ return this._r;
18
+ }
19
+ set r(red) {
20
+ this._r = red & 255;
21
+ this._rgba = null;
22
+ }
23
+ get g() {
24
+ return this._g;
25
+ }
26
+ set g(green) {
27
+ this._g = green & 255;
28
+ this._rgba = null;
29
+ }
30
+ get b() {
31
+ return this._b;
32
+ }
33
+ set b(blue) {
34
+ this._b = blue & 255;
35
+ this._rgba = null;
36
+ }
37
+ get a() {
38
+ return this._a;
39
+ }
40
+ set a(alpha) {
41
+ this._a = clamp(alpha, 0, 1);
42
+ this._rgba = null;
43
+ }
44
+ get red() {
45
+ return this.r;
46
+ }
47
+ set red(red) {
48
+ this.r = red;
49
+ }
50
+ get green() {
51
+ return this.g;
52
+ }
53
+ set green(green) {
54
+ this.g = green;
55
+ }
56
+ get blue() {
57
+ return this.b;
58
+ }
59
+ set blue(blue) {
60
+ this.b = blue;
61
+ }
62
+ get alpha() {
63
+ return this.a;
64
+ }
65
+ set alpha(alpha) {
66
+ this.a = alpha;
67
+ }
68
+ set(r = this._r, g = this._g, b = this._b, a = this._a) {
69
+ this._r = r & 255;
70
+ this._g = g & 255;
71
+ this._b = b & 255;
72
+ this._a = clamp(a, 0, 1);
73
+ this._rgba = null;
74
+ return this;
75
+ }
76
+ copy(color) {
77
+ return this.set(color.r, color.g, color.b, color.a);
78
+ }
79
+ clone() {
80
+ return new Color(this._r, this._g, this._b, this._a);
81
+ }
82
+ equals({ r, g, b, a } = {}) {
83
+ return (r === undefined || this.r === r)
84
+ && (g === undefined || this.g === g)
85
+ && (b === undefined || this.b === b)
86
+ && (a === undefined || this.a === a);
87
+ }
88
+ toArray(normalized = false) {
89
+ if (!this._array) {
90
+ this._array = new Float32Array(4);
91
+ }
92
+ if (normalized) {
93
+ this._array[0] = this._r / 255;
94
+ this._array[1] = this._g / 255;
95
+ this._array[2] = this._b / 255;
96
+ this._array[3] = this._a;
97
+ }
98
+ else {
99
+ this._array[0] = this._r;
100
+ this._array[1] = this._g;
101
+ this._array[2] = this._b;
102
+ this._array[3] = this._a;
103
+ }
104
+ return this._array;
105
+ }
106
+ toString(prefixed = true) {
107
+ return `${prefixed ? '#' : ''}${((1 << 24) + (this._r << 16) + (this._g << 8) + this._b).toString(16).substr(1)}`;
108
+ }
109
+ toRgba() {
110
+ if (this._rgba === null) {
111
+ this._rgba = this._a && (((this._a * 255 | 0) << 24) + (this._b << 16) + (this._g << 8) + this._r) >>> 0;
112
+ }
113
+ return this._rgba;
114
+ }
115
+ destroy() {
116
+ if (this._array) {
117
+ this._array = null;
118
+ }
119
+ }
120
+ static aliceBlue = new Color(240, 248, 255, 1);
121
+ static antiqueWhite = new Color(250, 235, 215, 1);
122
+ static aqua = new Color(0, 255, 255, 1);
123
+ static aquamarine = new Color(127, 255, 212, 1);
124
+ static azure = new Color(240, 255, 255, 1);
125
+ static beige = new Color(245, 245, 220, 1);
126
+ static bisque = new Color(255, 228, 196, 1);
127
+ static black = new Color(0, 0, 0, 1);
128
+ static blanchedAlmond = new Color(255, 235, 205, 1);
129
+ static blue = new Color(0, 0, 255, 1);
130
+ static blueViolet = new Color(138, 43, 226, 1);
131
+ static brown = new Color(165, 42, 42, 1);
132
+ static burlyWood = new Color(222, 184, 135, 1);
133
+ static cadetBlue = new Color(95, 158, 160, 1);
134
+ static chartreuse = new Color(127, 255, 0, 1);
135
+ static chocolate = new Color(210, 105, 30, 1);
136
+ static coral = new Color(255, 127, 80, 1);
137
+ static cornflowerBlue = new Color(100, 149, 237, 1);
138
+ static cornsilk = new Color(255, 248, 220, 1);
139
+ static crimson = new Color(220, 20, 60, 1);
140
+ static cyan = new Color(0, 255, 255, 1);
141
+ static darkBlue = new Color(0, 0, 139, 1);
142
+ static darkCyan = new Color(0, 139, 139, 1);
143
+ static darkGoldenrod = new Color(184, 134, 11, 1);
144
+ static darkGray = new Color(169, 169, 169, 1);
145
+ static darkGreen = new Color(0, 100, 0, 1);
146
+ static darkKhaki = new Color(189, 183, 107, 1);
147
+ static darkMagenta = new Color(139, 0, 139, 1);
148
+ static darkOliveGreen = new Color(85, 107, 47, 1);
149
+ static darkOrange = new Color(255, 140, 0, 1);
150
+ static darkOrchid = new Color(153, 50, 204, 1);
151
+ static darkRed = new Color(139, 0, 0, 1);
152
+ static darkSalmon = new Color(233, 150, 122, 1);
153
+ static darkSeaGreen = new Color(143, 188, 139, 1);
154
+ static darkSlateBlue = new Color(72, 61, 139, 1);
155
+ static darkSlateGray = new Color(47, 79, 79, 1);
156
+ static darkTurquoise = new Color(0, 206, 209, 1);
157
+ static darkViolet = new Color(148, 0, 211, 1);
158
+ static deepPink = new Color(255, 20, 147, 1);
159
+ static deepSkyBlue = new Color(0, 191, 255, 1);
160
+ static dimGray = new Color(105, 105, 105, 1);
161
+ static dodgerBlue = new Color(30, 144, 255, 1);
162
+ static firebrick = new Color(178, 34, 34, 1);
163
+ static floralWhite = new Color(255, 250, 240, 1);
164
+ static forestGreen = new Color(34, 139, 34, 1);
165
+ static fuchsia = new Color(255, 0, 255, 1);
166
+ static gainsboro = new Color(220, 220, 220, 1);
167
+ static ghostWhite = new Color(248, 248, 255, 1);
168
+ static gold = new Color(255, 215, 0, 1);
169
+ static goldenrod = new Color(218, 165, 32, 1);
170
+ static gray = new Color(128, 128, 128, 1);
171
+ static green = new Color(0, 128, 0, 1);
172
+ static greenYellow = new Color(173, 255, 47, 1);
173
+ static honeydew = new Color(240, 255, 240, 1);
174
+ static hotPink = new Color(255, 105, 180, 1);
175
+ static indianRed = new Color(205, 92, 92, 1);
176
+ static indigo = new Color(75, 0, 130, 1);
177
+ static ivory = new Color(255, 255, 240, 1);
178
+ static khaki = new Color(240, 230, 140, 1);
179
+ static lavender = new Color(230, 230, 250, 1);
180
+ static lavenderBlush = new Color(255, 240, 245, 1);
181
+ static lawnGreen = new Color(124, 252, 0, 1);
182
+ static lemonChiffon = new Color(255, 250, 205, 1);
183
+ static lightBlue = new Color(173, 216, 230, 1);
184
+ static lightCoral = new Color(240, 128, 128, 1);
185
+ static lightCyan = new Color(224, 255, 255, 1);
186
+ static lightGoldenrodYellow = new Color(250, 250, 210, 1);
187
+ static lightGray = new Color(211, 211, 211, 1);
188
+ static lightGreen = new Color(144, 238, 144, 1);
189
+ static lightPink = new Color(255, 182, 193, 1);
190
+ static lightSalmon = new Color(255, 160, 122, 1);
191
+ static lightSeaGreen = new Color(32, 178, 170, 1);
192
+ static lightSkyBlue = new Color(135, 206, 250, 1);
193
+ static lightSlateGray = new Color(119, 136, 153, 1);
194
+ static lightSteelBlue = new Color(176, 196, 222, 1);
195
+ static lightYellow = new Color(255, 255, 224, 1);
196
+ static lime = new Color(0, 255, 0, 1);
197
+ static limeGreen = new Color(50, 205, 50, 1);
198
+ static linen = new Color(250, 240, 230, 1);
199
+ static magenta = new Color(255, 0, 255, 1);
200
+ static maroon = new Color(128, 0, 0, 1);
201
+ static mediumAquamarine = new Color(102, 205, 170, 1);
202
+ static mediumBlue = new Color(0, 0, 205, 1);
203
+ static mediumOrchid = new Color(186, 85, 211, 1);
204
+ static mediumPurple = new Color(147, 112, 219, 1);
205
+ static mediumSeaGreen = new Color(60, 179, 113, 1);
206
+ static mediumSlateBlue = new Color(123, 104, 238, 1);
207
+ static mediumSpringGreen = new Color(0, 250, 154, 1);
208
+ static mediumTurquoise = new Color(72, 209, 204, 1);
209
+ static mediumVioletRed = new Color(199, 21, 133, 1);
210
+ static midnightBlue = new Color(25, 25, 112, 1);
211
+ static mintCream = new Color(245, 255, 250, 1);
212
+ static mistyRose = new Color(255, 228, 225, 1);
213
+ static moccasin = new Color(255, 228, 181, 1);
214
+ static navajoWhite = new Color(255, 222, 173, 1);
215
+ static navy = new Color(0, 0, 128, 1);
216
+ static oldLace = new Color(253, 245, 230, 1);
217
+ static olive = new Color(128, 128, 0, 1);
218
+ static oliveDrab = new Color(107, 142, 35, 1);
219
+ static orange = new Color(255, 165, 0, 1);
220
+ static orangeRed = new Color(255, 69, 0, 1);
221
+ static orchid = new Color(218, 112, 214, 1);
222
+ static paleGoldenrod = new Color(238, 232, 170, 1);
223
+ static paleGreen = new Color(152, 251, 152, 1);
224
+ static paleTurquoise = new Color(175, 238, 238, 1);
225
+ static paleVioletRed = new Color(219, 112, 147, 1);
226
+ static papayaWhip = new Color(255, 239, 213, 1);
227
+ static peachPuff = new Color(255, 218, 185, 1);
228
+ static peru = new Color(205, 133, 63, 1);
229
+ static pink = new Color(255, 192, 203, 1);
230
+ static plum = new Color(221, 160, 221, 1);
231
+ static powderBlue = new Color(176, 224, 230, 1);
232
+ static purple = new Color(128, 0, 128, 1);
233
+ static red = new Color(255, 0, 0, 1);
234
+ static rosyBrown = new Color(188, 143, 143, 1);
235
+ static royalBlue = new Color(65, 105, 225, 1);
236
+ static saddleBrown = new Color(139, 69, 19, 1);
237
+ static salmon = new Color(250, 128, 114, 1);
238
+ static sandyBrown = new Color(244, 164, 96, 1);
239
+ static seaGreen = new Color(46, 139, 87, 1);
240
+ static seaShell = new Color(255, 245, 238, 1);
241
+ static sienna = new Color(160, 82, 45, 1);
242
+ static silver = new Color(192, 192, 192, 1);
243
+ static skyBlue = new Color(135, 206, 235, 1);
244
+ static slateBlue = new Color(106, 90, 205, 1);
245
+ static slateGray = new Color(112, 128, 144, 1);
246
+ static snow = new Color(255, 250, 250, 1);
247
+ static springGreen = new Color(0, 255, 127, 1);
248
+ static steelBlue = new Color(70, 130, 180, 1);
249
+ static tan = new Color(210, 180, 140, 1);
250
+ static teal = new Color(0, 128, 128, 1);
251
+ static thistle = new Color(216, 191, 216, 1);
252
+ static tomato = new Color(255, 99, 71, 1);
253
+ static transparentBlack = new Color(0, 0, 0, 0);
254
+ static transparentWhite = new Color(255, 255, 255, 0);
255
+ static turquoise = new Color(64, 224, 208, 1);
256
+ static violet = new Color(238, 130, 238, 1);
257
+ static wheat = new Color(245, 222, 179, 1);
258
+ static white = new Color(255, 255, 255, 1);
259
+ static whiteSmoke = new Color(245, 245, 245, 1);
260
+ static yellow = new Color(255, 255, 0, 1);
261
+ static yellowGreen = new Color(154, 205, 50, 1);
262
+ }
263
+
264
+ export { Color };
265
+ //# sourceMappingURL=Color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Color.js","sources":["../../../../src/core/Color.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { Rectangle } from '@/math/Rectangle';
2
+ import type { SceneNode } from './SceneNode';
3
+ import type { Destroyable, HasBoundingBox } from '@/core/types';
4
+ export declare class Quadtree implements HasBoundingBox, Destroyable {
5
+ static maxSceneNodes: number;
6
+ static maxLevel: number;
7
+ readonly level: number;
8
+ private readonly _bounds;
9
+ private readonly _quadTrees;
10
+ private readonly _sceneNodes;
11
+ constructor(bounds: Rectangle, level?: number);
12
+ addSceneNode(sceneNode: SceneNode): this;
13
+ getRelatedChildren(sceneNode: SceneNode): Array<SceneNode>;
14
+ getBounds(): Rectangle;
15
+ clear(): this;
16
+ destroy(): void;
17
+ private _getQuadTree;
18
+ private _split;
19
+ private _passSceneNodesToQuadTrees;
20
+ }
@@ -0,0 +1,86 @@
1
+ import { Rectangle } from '../math/Rectangle.js';
2
+
3
+ class Quadtree {
4
+ static maxSceneNodes = 50;
5
+ static maxLevel = 5;
6
+ level;
7
+ _bounds;
8
+ _quadTrees = new Map();
9
+ _sceneNodes = new Set();
10
+ constructor(bounds, level = 0) {
11
+ this._bounds = bounds.clone();
12
+ this.level = level;
13
+ }
14
+ addSceneNode(sceneNode) {
15
+ const quadTree = this._getQuadTree(sceneNode);
16
+ if (quadTree) {
17
+ quadTree.addSceneNode(sceneNode);
18
+ return this;
19
+ }
20
+ this._sceneNodes.add(sceneNode);
21
+ if (this._sceneNodes.size > Quadtree.maxSceneNodes && this.level < Quadtree.maxLevel) {
22
+ this._split();
23
+ }
24
+ return this;
25
+ }
26
+ getRelatedChildren(sceneNode) {
27
+ const quadTree = this._getQuadTree(sceneNode);
28
+ if (quadTree === null) {
29
+ return [...this._sceneNodes];
30
+ }
31
+ return [...quadTree.getRelatedChildren(sceneNode), ...this._sceneNodes];
32
+ }
33
+ getBounds() {
34
+ return this._bounds;
35
+ }
36
+ clear() {
37
+ if (this._quadTrees.size > 0) {
38
+ for (const quadTree of this._quadTrees.values()) {
39
+ quadTree.destroy();
40
+ }
41
+ this._quadTrees.clear();
42
+ }
43
+ this._sceneNodes.clear();
44
+ return this;
45
+ }
46
+ destroy() {
47
+ this.clear();
48
+ this._bounds.destroy();
49
+ }
50
+ _getQuadTree(sceneNode) {
51
+ if (this._quadTrees.size > 0) {
52
+ const bounds = sceneNode.getBounds();
53
+ for (const quadTree of this._quadTrees.values()) {
54
+ if (quadTree.getBounds().containsRect(bounds)) {
55
+ return quadTree;
56
+ }
57
+ }
58
+ }
59
+ return null;
60
+ }
61
+ _split() {
62
+ if (this._quadTrees.size === 0) {
63
+ const { top, left, width, height } = this.getBounds();
64
+ const halfWidth = (width / 2) | 0;
65
+ const halfHeight = (height / 2) | 0;
66
+ const nextLevel = this.level + 1;
67
+ this._quadTrees.set(0, new Quadtree(Rectangle.temp.set(left, top, halfWidth, halfHeight), nextLevel));
68
+ this._quadTrees.set(1, new Quadtree(Rectangle.temp.set(left + halfWidth, top, halfWidth, halfHeight), nextLevel));
69
+ this._quadTrees.set(2, new Quadtree(Rectangle.temp.set(left, top + halfHeight, halfWidth, halfHeight), nextLevel));
70
+ this._quadTrees.set(3, new Quadtree(Rectangle.temp.set(left + halfWidth, top + halfHeight, halfWidth, halfHeight), nextLevel));
71
+ }
72
+ this._passSceneNodesToQuadTrees();
73
+ }
74
+ _passSceneNodesToQuadTrees() {
75
+ for (const sceneNode of this._sceneNodes) {
76
+ const quadTree = this._getQuadTree(sceneNode);
77
+ if (quadTree) {
78
+ this._sceneNodes.delete(sceneNode);
79
+ quadTree.addSceneNode(sceneNode);
80
+ }
81
+ }
82
+ }
83
+ }
84
+
85
+ export { Quadtree };
86
+ //# sourceMappingURL=Quadtree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Quadtree.js","sources":["../../../../src/core/Quadtree.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAIa,QAAQ,CAAA;AAEV,IAAA,OAAO,aAAa,GAAG,EAAE;AACzB,IAAA,OAAO,QAAQ,GAAG,CAAC;AAEV,IAAA,KAAK;AAEJ,IAAA,OAAO;AACP,IAAA,UAAU,GAA0B,IAAI,GAAG,EAAE;AAC7C,IAAA,WAAW,GAAmB,IAAI,GAAG,EAAE;AAExD,IAAA,WAAA,CAAmB,MAAiB,EAAE,KAAK,GAAG,CAAC,EAAA;AAC3C,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACtB;AAEO,IAAA,YAAY,CAAC,SAAoB,EAAA;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QAE7C,IAAI,QAAQ,EAAE;AACV,YAAA,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC;AAEhC,YAAA,OAAO,IAAI;QACf;AAEA,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;AAE/B,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE;YAClF,IAAI,CAAC,MAAM,EAAE;QACjB;AAEA,QAAA,OAAO,IAAI;IACf;AAEO,IAAA,kBAAkB,CAAC,SAAoB,EAAA;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;AAE7C,QAAA,IAAI,QAAQ,KAAK,IAAI,EAAE;AACnB,YAAA,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC;AAEA,QAAA,OAAO,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;IAC3E;IAEO,SAAS,GAAA;QACZ,OAAO,IAAI,CAAC,OAAO;IACvB;IAEO,KAAK,GAAA;QACR,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE;YAC1B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;gBAC7C,QAAQ,CAAC,OAAO,EAAE;YACtB;AAEA,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;QAC3B;AAEA,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AAExB,QAAA,OAAO,IAAI;IACf;IAEO,OAAO,GAAA;QACV,IAAI,CAAC,KAAK,EAAE;AACZ,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;IAC1B;AAEQ,IAAA,YAAY,CAAC,SAAoB,EAAA;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE;AAC1B,YAAA,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE;YAEpC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;gBAC7C,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC3C,oBAAA,OAAO,QAAQ;gBACnB;YACJ;QACJ;AAEA,QAAA,OAAO,IAAI;IACf;IAEQ,MAAM,GAAA;QACV,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE;AAC5B,YAAA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;YACrD,MAAM,SAAS,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;YACjC,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;AACnC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;AAEhC,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;AACrG,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;AACjH,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;AAClH,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,GAAG,GAAG,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;QAClI;QAEA,IAAI,CAAC,0BAA0B,EAAE;IACrC;IAEQ,0BAA0B,GAAA;AAC9B,QAAA,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;YAE7C,IAAI,QAAQ,EAAE;AACV,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;AAClC,gBAAA,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC;YACpC;QACJ;IACJ;;;;;"}
@@ -0,0 +1,83 @@
1
+ import type { Time } from './Time';
2
+ import type { Loader } from '@/resources/Loader';
3
+ import type { SceneRenderRuntime } from '@/rendering/SceneRenderRuntime';
4
+ import { Container } from '@/rendering/Container';
5
+ import type { SceneNode } from './SceneNode';
6
+ import type { Application } from './Application';
7
+ import type { Pointer } from '@/input/Pointer';
8
+ import type { Vector } from '@/math/Vector';
9
+ export type SceneStackMode = 'overlay' | 'modal' | 'opaque';
10
+ export type SceneInputMode = 'capture' | 'passthrough' | 'transparent';
11
+ export interface SceneParticipationPolicy {
12
+ mode?: SceneStackMode;
13
+ input?: SceneInputMode;
14
+ }
15
+ export type SceneInputEvent = {
16
+ type: 'keyDown';
17
+ channel: number;
18
+ } | {
19
+ type: 'keyUp';
20
+ channel: number;
21
+ } | {
22
+ type: 'pointerEnter';
23
+ pointer: Pointer;
24
+ } | {
25
+ type: 'pointerLeave';
26
+ pointer: Pointer;
27
+ } | {
28
+ type: 'pointerDown';
29
+ pointer: Pointer;
30
+ } | {
31
+ type: 'pointerMove';
32
+ pointer: Pointer;
33
+ } | {
34
+ type: 'pointerUp';
35
+ pointer: Pointer;
36
+ } | {
37
+ type: 'pointerTap';
38
+ pointer: Pointer;
39
+ } | {
40
+ type: 'pointerSwipe';
41
+ pointer: Pointer;
42
+ } | {
43
+ type: 'pointerCancel';
44
+ pointer: Pointer;
45
+ } | {
46
+ type: 'mouseWheel';
47
+ wheel: Vector;
48
+ };
49
+ export interface SceneData {
50
+ load?: (loader: Loader) => Promise<void> | void;
51
+ init?: (loader: Loader) => Promise<void> | void;
52
+ update?: (delta: Time) => void;
53
+ draw?: (renderManager: SceneRenderRuntime) => void;
54
+ handleInput?: (event: SceneInputEvent) => boolean | void;
55
+ unload?: (loader: Loader) => Promise<void> | void;
56
+ }
57
+ export type SceneInstance<T extends SceneData = SceneData> = Scene & T;
58
+ export declare class Scene {
59
+ private _app;
60
+ private readonly _root;
61
+ private _stackMode;
62
+ private _inputMode;
63
+ static create<T extends SceneData>(definition: T & ThisType<SceneInstance<T>>): SceneInstance<T>;
64
+ constructor();
65
+ get app(): Application | null;
66
+ set app(app: Application | null);
67
+ get root(): Container;
68
+ get stackMode(): SceneStackMode;
69
+ set stackMode(mode: SceneStackMode);
70
+ get inputMode(): SceneInputMode;
71
+ set inputMode(mode: SceneInputMode);
72
+ addChild(child: SceneNode): this;
73
+ removeChild(child: SceneNode): this;
74
+ setParticipationPolicy(policy: SceneParticipationPolicy): this;
75
+ getParticipationPolicy(): SceneParticipationPolicy;
76
+ load(loader: Loader): Promise<void> | void;
77
+ init(loader: Loader): Promise<void> | void;
78
+ update(delta: Time): void;
79
+ draw(renderManager: SceneRenderRuntime): void;
80
+ handleInput(_event: SceneInputEvent): boolean | void;
81
+ unload(loader: Loader): Promise<void> | void;
82
+ destroy(): void;
83
+ }