@codexo/exojs 2.1.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 (467) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/README.md +137 -0
  3. package/dist/esm/audio/AbstractMedia.d.ts +45 -0
  4. package/dist/esm/audio/AbstractMedia.js +98 -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 +82 -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 +118 -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 +393 -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 +198 -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 +61 -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 +67 -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 +261 -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 +84 -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 +82 -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 +395 -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 +176 -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 +61 -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 +106 -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 +33 -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 +134 -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 +12 -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 +150 -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 +43 -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 +24 -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 +30 -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 +67 -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 +342 -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 +12 -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 +12 -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 +12 -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 +118 -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 +12 -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 +12 -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 +12 -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 +111 -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 +134 -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/Ellipse.d.ts +37 -0
  128. package/dist/esm/math/Ellipse.js +109 -0
  129. package/dist/esm/math/Ellipse.js.map +1 -0
  130. package/dist/esm/math/EllipseLike.d.ts +6 -0
  131. package/dist/esm/math/Flags.d.ts +12 -0
  132. package/dist/esm/math/Flags.js +41 -0
  133. package/dist/esm/math/Flags.js.map +1 -0
  134. package/dist/esm/math/Interval.d.ts +16 -0
  135. package/dist/esm/math/Interval.js +43 -0
  136. package/dist/esm/math/Interval.js.map +1 -0
  137. package/dist/esm/math/Line.d.ts +36 -0
  138. package/dist/esm/math/Line.js +111 -0
  139. package/dist/esm/math/Line.js.map +1 -0
  140. package/dist/esm/math/LineLike.d.ts +6 -0
  141. package/dist/esm/math/Matrix.d.ts +32 -0
  142. package/dist/esm/math/Matrix.js +125 -0
  143. package/dist/esm/math/Matrix.js.map +1 -0
  144. package/dist/esm/math/ObservableSize.d.ts +16 -0
  145. package/dist/esm/math/ObservableSize.js +55 -0
  146. package/dist/esm/math/ObservableSize.js.map +1 -0
  147. package/dist/esm/math/ObservableVector.d.ts +21 -0
  148. package/dist/esm/math/ObservableVector.js +71 -0
  149. package/dist/esm/math/ObservableVector.js.map +1 -0
  150. package/dist/esm/math/PointLike.d.ts +4 -0
  151. package/dist/esm/math/PolarVector.d.ts +8 -0
  152. package/dist/esm/math/PolarVector.js +17 -0
  153. package/dist/esm/math/PolarVector.js.map +1 -0
  154. package/dist/esm/math/Polygon.d.ts +38 -0
  155. package/dist/esm/math/Polygon.js +161 -0
  156. package/dist/esm/math/Polygon.js.map +1 -0
  157. package/dist/esm/math/PolygonLike.d.ts +6 -0
  158. package/dist/esm/math/Random.d.ts +15 -0
  159. package/dist/esm/math/Random.js +72 -0
  160. package/dist/esm/math/Random.js.map +1 -0
  161. package/dist/esm/math/Rectangle.d.ts +48 -0
  162. package/dist/esm/math/Rectangle.js +205 -0
  163. package/dist/esm/math/Rectangle.js.map +1 -0
  164. package/dist/esm/math/RectangleLike.d.ts +6 -0
  165. package/dist/esm/math/Segment.d.ts +25 -0
  166. package/dist/esm/math/Segment.js +77 -0
  167. package/dist/esm/math/Segment.js.map +1 -0
  168. package/dist/esm/math/ShapeLike.d.ts +4 -0
  169. package/dist/esm/math/Size.d.ts +24 -0
  170. package/dist/esm/math/Size.js +69 -0
  171. package/dist/esm/math/Size.js.map +1 -0
  172. package/dist/esm/math/Transformable.d.ts +47 -0
  173. package/dist/esm/math/Transformable.js +142 -0
  174. package/dist/esm/math/Transformable.js.map +1 -0
  175. package/dist/esm/math/Vector.d.ts +28 -0
  176. package/dist/esm/math/Vector.js +77 -0
  177. package/dist/esm/math/Vector.js.map +1 -0
  178. package/dist/esm/math/collision-detection.d.ts +41 -0
  179. package/dist/esm/math/collision-detection.js +394 -0
  180. package/dist/esm/math/collision-detection.js.map +1 -0
  181. package/dist/esm/math/collision-primitives.d.ts +39 -0
  182. package/dist/esm/math/collision-primitives.js +164 -0
  183. package/dist/esm/math/collision-primitives.js.map +1 -0
  184. package/dist/esm/math/geometry.d.ts +8 -0
  185. package/dist/esm/math/geometry.js +195 -0
  186. package/dist/esm/math/geometry.js.map +1 -0
  187. package/dist/esm/math/index.d.ts +27 -0
  188. package/dist/esm/math/utils.d.ts +21 -0
  189. package/dist/esm/math/utils.js +54 -0
  190. package/dist/esm/math/utils.js.map +1 -0
  191. package/dist/esm/particles/Particle.d.ts +40 -0
  192. package/dist/esm/particles/Particle.js +108 -0
  193. package/dist/esm/particles/Particle.js.map +1 -0
  194. package/dist/esm/particles/ParticleProperties.d.ts +14 -0
  195. package/dist/esm/particles/ParticleSystem.d.ts +43 -0
  196. package/dist/esm/particles/ParticleSystem.js +185 -0
  197. package/dist/esm/particles/ParticleSystem.js.map +1 -0
  198. package/dist/esm/particles/affectors/ColorAffector.d.ts +17 -0
  199. package/dist/esm/particles/affectors/ColorAffector.js +40 -0
  200. package/dist/esm/particles/affectors/ColorAffector.js.map +1 -0
  201. package/dist/esm/particles/affectors/ForceAffector.d.ts +13 -0
  202. package/dist/esm/particles/affectors/ForceAffector.js +27 -0
  203. package/dist/esm/particles/affectors/ForceAffector.js.map +1 -0
  204. package/dist/esm/particles/affectors/ParticleAffector.d.ts +6 -0
  205. package/dist/esm/particles/affectors/ScaleAffector.d.ts +13 -0
  206. package/dist/esm/particles/affectors/ScaleAffector.js +27 -0
  207. package/dist/esm/particles/affectors/ScaleAffector.js.map +1 -0
  208. package/dist/esm/particles/affectors/TorqueAffector.d.ts +12 -0
  209. package/dist/esm/particles/affectors/TorqueAffector.js +25 -0
  210. package/dist/esm/particles/affectors/TorqueAffector.js.map +1 -0
  211. package/dist/esm/particles/emitters/ParticleEmitter.d.ts +6 -0
  212. package/dist/esm/particles/emitters/ParticleOptions.d.ts +35 -0
  213. package/dist/esm/particles/emitters/ParticleOptions.js +84 -0
  214. package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -0
  215. package/dist/esm/particles/emitters/UniversalEmitter.d.ts +17 -0
  216. package/dist/esm/particles/emitters/UniversalEmitter.js +43 -0
  217. package/dist/esm/particles/emitters/UniversalEmitter.js.map +1 -0
  218. package/dist/esm/particles/index.d.ts +11 -0
  219. package/dist/esm/physics/RapierPhysicsWorld.d.ts +136 -0
  220. package/dist/esm/physics/RapierPhysicsWorld.js +464 -0
  221. package/dist/esm/physics/RapierPhysicsWorld.js.map +1 -0
  222. package/dist/esm/physics/index.d.ts +1 -0
  223. package/dist/esm/rendering/CallbackRenderPass.d.ts +7 -0
  224. package/dist/esm/rendering/CallbackRenderPass.js +11 -0
  225. package/dist/esm/rendering/CallbackRenderPass.js.map +1 -0
  226. package/dist/esm/rendering/Container.d.ts +36 -0
  227. package/dist/esm/rendering/Container.js +197 -0
  228. package/dist/esm/rendering/Container.js.map +1 -0
  229. package/dist/esm/rendering/Drawable.d.ts +16 -0
  230. package/dist/esm/rendering/Drawable.js +57 -0
  231. package/dist/esm/rendering/Drawable.js.map +1 -0
  232. package/dist/esm/rendering/RenderBackendType.d.ts +4 -0
  233. package/dist/esm/rendering/RenderBackendType.js +8 -0
  234. package/dist/esm/rendering/RenderBackendType.js.map +1 -0
  235. package/dist/esm/rendering/RenderNode.d.ts +51 -0
  236. package/dist/esm/rendering/RenderNode.js +238 -0
  237. package/dist/esm/rendering/RenderNode.js.map +1 -0
  238. package/dist/esm/rendering/RenderPass.d.ts +4 -0
  239. package/dist/esm/rendering/RenderStats.d.ts +12 -0
  240. package/dist/esm/rendering/RenderStats.js +24 -0
  241. package/dist/esm/rendering/RenderStats.js.map +1 -0
  242. package/dist/esm/rendering/RenderTarget.d.ts +34 -0
  243. package/dist/esm/rendering/RenderTarget.js +105 -0
  244. package/dist/esm/rendering/RenderTarget.js.map +1 -0
  245. package/dist/esm/rendering/RenderTargetPass.d.ts +18 -0
  246. package/dist/esm/rendering/RenderTargetPass.js +27 -0
  247. package/dist/esm/rendering/RenderTargetPass.js.map +1 -0
  248. package/dist/esm/rendering/Renderer.d.ts +15 -0
  249. package/dist/esm/rendering/RendererRegistry.d.ts +43 -0
  250. package/dist/esm/rendering/RendererRegistry.js +88 -0
  251. package/dist/esm/rendering/RendererRegistry.js.map +1 -0
  252. package/dist/esm/rendering/SceneRenderRuntime.d.ts +29 -0
  253. package/dist/esm/rendering/View.d.ts +102 -0
  254. package/dist/esm/rendering/View.js +360 -0
  255. package/dist/esm/rendering/View.js.map +1 -0
  256. package/dist/esm/rendering/filters/BlurFilter.d.ts +20 -0
  257. package/dist/esm/rendering/filters/BlurFilter.js +68 -0
  258. package/dist/esm/rendering/filters/BlurFilter.js.map +1 -0
  259. package/dist/esm/rendering/filters/ColorFilter.d.ts +12 -0
  260. package/dist/esm/rendering/filters/ColorFilter.js +41 -0
  261. package/dist/esm/rendering/filters/ColorFilter.js.map +1 -0
  262. package/dist/esm/rendering/filters/Filter.d.ts +5 -0
  263. package/dist/esm/rendering/filters/Filter.js +5 -0
  264. package/dist/esm/rendering/filters/Filter.js.map +1 -0
  265. package/dist/esm/rendering/index.d.ts +52 -0
  266. package/dist/esm/rendering/primitives/CircleGeometry.d.ts +4 -0
  267. package/dist/esm/rendering/primitives/CircleGeometry.js +21 -0
  268. package/dist/esm/rendering/primitives/CircleGeometry.js.map +1 -0
  269. package/dist/esm/rendering/primitives/DrawableShape.d.ts +11 -0
  270. package/dist/esm/rendering/primitives/DrawableShape.js +18 -0
  271. package/dist/esm/rendering/primitives/DrawableShape.js.map +1 -0
  272. package/dist/esm/rendering/primitives/Geometry.d.ts +13 -0
  273. package/dist/esm/rendering/primitives/Geometry.js +13 -0
  274. package/dist/esm/rendering/primitives/Geometry.js.map +1 -0
  275. package/dist/esm/rendering/primitives/Graphics.d.ts +36 -0
  276. package/dist/esm/rendering/primitives/Graphics.js +211 -0
  277. package/dist/esm/rendering/primitives/Graphics.js.map +1 -0
  278. package/dist/esm/rendering/shader/Shader.d.ts +27 -0
  279. package/dist/esm/rendering/shader/Shader.js +61 -0
  280. package/dist/esm/rendering/shader/Shader.js.map +1 -0
  281. package/dist/esm/rendering/shader/ShaderAttribute.d.ts +9 -0
  282. package/dist/esm/rendering/shader/ShaderAttribute.js +17 -0
  283. package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -0
  284. package/dist/esm/rendering/shader/ShaderUniform.d.ts +16 -0
  285. package/dist/esm/rendering/shader/ShaderUniform.js +33 -0
  286. package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -0
  287. package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +43 -0
  288. package/dist/esm/rendering/sprite/AnimatedSprite.js +177 -0
  289. package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -0
  290. package/dist/esm/rendering/sprite/Sprite.d.ts +43 -0
  291. package/dist/esm/rendering/sprite/Sprite.js +169 -0
  292. package/dist/esm/rendering/sprite/Sprite.js.map +1 -0
  293. package/dist/esm/rendering/sprite/Spritesheet.d.ts +34 -0
  294. package/dist/esm/rendering/sprite/Spritesheet.js +87 -0
  295. package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -0
  296. package/dist/esm/rendering/text/Text.d.ts +26 -0
  297. package/dist/esm/rendering/text/Text.js +126 -0
  298. package/dist/esm/rendering/text/Text.js.map +1 -0
  299. package/dist/esm/rendering/text/TextStyle.d.ts +65 -0
  300. package/dist/esm/rendering/text/TextStyle.js +179 -0
  301. package/dist/esm/rendering/text/TextStyle.js.map +1 -0
  302. package/dist/esm/rendering/texture/RenderTexture.d.ts +36 -0
  303. package/dist/esm/rendering/texture/RenderTexture.js +118 -0
  304. package/dist/esm/rendering/texture/RenderTexture.js.map +1 -0
  305. package/dist/esm/rendering/texture/Sampler.d.ts +29 -0
  306. package/dist/esm/rendering/texture/Sampler.js +69 -0
  307. package/dist/esm/rendering/texture/Sampler.js.map +1 -0
  308. package/dist/esm/rendering/texture/Texture.d.ts +52 -0
  309. package/dist/esm/rendering/texture/Texture.js +171 -0
  310. package/dist/esm/rendering/texture/Texture.js.map +1 -0
  311. package/dist/esm/rendering/types.d.ts +68 -0
  312. package/dist/esm/rendering/types.js +79 -0
  313. package/dist/esm/rendering/types.js.map +1 -0
  314. package/dist/esm/rendering/utils.d.ts +9 -0
  315. package/dist/esm/rendering/utils.js +39 -0
  316. package/dist/esm/rendering/utils.js.map +1 -0
  317. package/dist/esm/rendering/video/Video.d.ts +62 -0
  318. package/dist/esm/rendering/video/Video.js +288 -0
  319. package/dist/esm/rendering/video/Video.js.map +1 -0
  320. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +49 -0
  321. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +168 -0
  322. package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -0
  323. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +44 -0
  324. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js +59 -0
  325. package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -0
  326. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +11 -0
  327. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +110 -0
  328. package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +1 -0
  329. package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.d.ts +26 -0
  330. package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js +211 -0
  331. package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js.map +1 -0
  332. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +26 -0
  333. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +52 -0
  334. package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -0
  335. package/dist/esm/rendering/webgl2/WebGl2RenderManager.d.ts +99 -0
  336. package/dist/esm/rendering/webgl2/WebGl2RenderManager.js +592 -0
  337. package/dist/esm/rendering/webgl2/WebGl2RenderManager.js.map +1 -0
  338. package/dist/esm/rendering/webgl2/WebGl2RendererRuntime.d.ts +15 -0
  339. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts +17 -0
  340. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js +55 -0
  341. package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -0
  342. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts +3 -0
  343. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js +59 -0
  344. package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -0
  345. package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.d.ts +2 -0
  346. package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js +154 -0
  347. package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js.map +1 -0
  348. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +11 -0
  349. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +82 -0
  350. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -0
  351. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +40 -0
  352. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js +68 -0
  353. package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js.map +1 -0
  354. package/dist/esm/rendering/webgl2/glsl/particle.frag.js +4 -0
  355. package/dist/esm/rendering/webgl2/glsl/particle.frag.js.map +1 -0
  356. package/dist/esm/rendering/webgl2/glsl/particle.vert.js +4 -0
  357. package/dist/esm/rendering/webgl2/glsl/particle.vert.js.map +1 -0
  358. package/dist/esm/rendering/webgl2/glsl/primitive.frag.js +4 -0
  359. package/dist/esm/rendering/webgl2/glsl/primitive.frag.js.map +1 -0
  360. package/dist/esm/rendering/webgl2/glsl/primitive.vert.js +4 -0
  361. package/dist/esm/rendering/webgl2/glsl/primitive.vert.js.map +1 -0
  362. package/dist/esm/rendering/webgl2/glsl/sprite.frag.js +4 -0
  363. package/dist/esm/rendering/webgl2/glsl/sprite.frag.js.map +1 -0
  364. package/dist/esm/rendering/webgl2/glsl/sprite.vert.js +4 -0
  365. package/dist/esm/rendering/webgl2/glsl/sprite.vert.js.map +1 -0
  366. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +28 -0
  367. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js +52 -0
  368. package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -0
  369. package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts +6 -0
  370. package/dist/esm/rendering/webgpu/WebGpuBlendState.js +79 -0
  371. package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -0
  372. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +33 -0
  373. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +423 -0
  374. package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -0
  375. package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.d.ts +43 -0
  376. package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js +425 -0
  377. package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js.map +1 -0
  378. package/dist/esm/rendering/webgpu/WebGpuRenderManager.d.ts +111 -0
  379. package/dist/esm/rendering/webgpu/WebGpuRenderManager.js +763 -0
  380. package/dist/esm/rendering/webgpu/WebGpuRenderManager.js.map +1 -0
  381. package/dist/esm/rendering/webgpu/WebGpuRendererRuntime.d.ts +8 -0
  382. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +33 -0
  383. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +488 -0
  384. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -0
  385. package/dist/esm/resources/AbstractAssetFactory.d.ts +10 -0
  386. package/dist/esm/resources/AbstractAssetFactory.js +26 -0
  387. package/dist/esm/resources/AbstractAssetFactory.js.map +1 -0
  388. package/dist/esm/resources/AssetFactory.d.ts +6 -0
  389. package/dist/esm/resources/AssetManifest.d.ts +28 -0
  390. package/dist/esm/resources/AssetManifest.js +64 -0
  391. package/dist/esm/resources/AssetManifest.js.map +1 -0
  392. package/dist/esm/resources/CacheFirstStrategy.d.ts +5 -0
  393. package/dist/esm/resources/CacheFirstStrategy.js +34 -0
  394. package/dist/esm/resources/CacheFirstStrategy.js.map +1 -0
  395. package/dist/esm/resources/CacheStore.d.ts +7 -0
  396. package/dist/esm/resources/CacheStrategy.d.ts +12 -0
  397. package/dist/esm/resources/Database.d.ts +13 -0
  398. package/dist/esm/resources/FactoryRegistry.d.ts +9 -0
  399. package/dist/esm/resources/FactoryRegistry.js +44 -0
  400. package/dist/esm/resources/FactoryRegistry.js.map +1 -0
  401. package/dist/esm/resources/IndexedDbDatabase.d.ts +21 -0
  402. package/dist/esm/resources/IndexedDbDatabase.js +139 -0
  403. package/dist/esm/resources/IndexedDbDatabase.js.map +1 -0
  404. package/dist/esm/resources/IndexedDbStore.d.ts +16 -0
  405. package/dist/esm/resources/IndexedDbStore.js +31 -0
  406. package/dist/esm/resources/IndexedDbStore.js.map +1 -0
  407. package/dist/esm/resources/Loader.d.ts +88 -0
  408. package/dist/esm/resources/Loader.js +597 -0
  409. package/dist/esm/resources/Loader.js.map +1 -0
  410. package/dist/esm/resources/NetworkOnlyStrategy.d.ts +5 -0
  411. package/dist/esm/resources/NetworkOnlyStrategy.js +12 -0
  412. package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -0
  413. package/dist/esm/resources/factories/BinaryFactory.d.ts +6 -0
  414. package/dist/esm/resources/factories/BinaryFactory.js +17 -0
  415. package/dist/esm/resources/factories/BinaryFactory.js.map +1 -0
  416. package/dist/esm/resources/factories/FontFactory.d.ts +13 -0
  417. package/dist/esm/resources/factories/FontFactory.js +39 -0
  418. package/dist/esm/resources/factories/FontFactory.js.map +1 -0
  419. package/dist/esm/resources/factories/ImageFactory.d.ts +10 -0
  420. package/dist/esm/resources/factories/ImageFactory.js +38 -0
  421. package/dist/esm/resources/factories/ImageFactory.js.map +1 -0
  422. package/dist/esm/resources/factories/JsonFactory.d.ts +6 -0
  423. package/dist/esm/resources/factories/JsonFactory.js +17 -0
  424. package/dist/esm/resources/factories/JsonFactory.js.map +1 -0
  425. package/dist/esm/resources/factories/MusicFactory.d.ts +16 -0
  426. package/dist/esm/resources/factories/MusicFactory.js +40 -0
  427. package/dist/esm/resources/factories/MusicFactory.js.map +1 -0
  428. package/dist/esm/resources/factories/SoundFactory.d.ts +14 -0
  429. package/dist/esm/resources/factories/SoundFactory.js +25 -0
  430. package/dist/esm/resources/factories/SoundFactory.js.map +1 -0
  431. package/dist/esm/resources/factories/SvgFactory.d.ts +6 -0
  432. package/dist/esm/resources/factories/SvgFactory.js +37 -0
  433. package/dist/esm/resources/factories/SvgFactory.js.map +1 -0
  434. package/dist/esm/resources/factories/TextFactory.d.ts +6 -0
  435. package/dist/esm/resources/factories/TextFactory.js +17 -0
  436. package/dist/esm/resources/factories/TextFactory.js.map +1 -0
  437. package/dist/esm/resources/factories/TextureFactory.d.ts +13 -0
  438. package/dist/esm/resources/factories/TextureFactory.js +40 -0
  439. package/dist/esm/resources/factories/TextureFactory.js.map +1 -0
  440. package/dist/esm/resources/factories/VideoFactory.d.ts +18 -0
  441. package/dist/esm/resources/factories/VideoFactory.js +43 -0
  442. package/dist/esm/resources/factories/VideoFactory.js.map +1 -0
  443. package/dist/esm/resources/factories/VttFactory.d.ts +6 -0
  444. package/dist/esm/resources/factories/VttFactory.js +60 -0
  445. package/dist/esm/resources/factories/VttFactory.js.map +1 -0
  446. package/dist/esm/resources/factories/WasmFactory.d.ts +6 -0
  447. package/dist/esm/resources/factories/WasmFactory.js +17 -0
  448. package/dist/esm/resources/factories/WasmFactory.js.map +1 -0
  449. package/dist/esm/resources/index.d.ts +26 -0
  450. package/dist/esm/resources/tokens.d.ts +30 -0
  451. package/dist/esm/resources/tokens.js +33 -0
  452. package/dist/esm/resources/tokens.js.map +1 -0
  453. package/dist/esm/resources/utils.d.ts +1 -0
  454. package/dist/esm/resources/utils.js +129 -0
  455. package/dist/esm/resources/utils.js.map +1 -0
  456. package/dist/esm/vendor/webgl-debug.js +1160 -0
  457. package/dist/esm/vendor/webgl-debug.js.map +1 -0
  458. package/dist/exo.d.ts +4748 -0
  459. package/dist/exo.esm.js +16850 -0
  460. package/dist/exo.esm.js.map +1 -0
  461. package/dist/exo.esm.min.js +2 -0
  462. package/dist/exo.esm.min.js.map +1 -0
  463. package/dist/exo.global.js +17067 -0
  464. package/dist/exo.global.js.map +1 -0
  465. package/dist/exo.global.min.js +2 -0
  466. package/dist/exo.global.min.js.map +1 -0
  467. package/package.json +99 -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,261 @@
1
+ import { clamp } from '../math/utils.js';
2
+
3
+ class Color {
4
+ constructor(r = 0, g = 0, b = 0, a = 1) {
5
+ this._rgba = null;
6
+ this._array = null;
7
+ this._r = r & 255;
8
+ this._g = g & 255;
9
+ this._b = b & 255;
10
+ this._a = clamp(a, 0, 1);
11
+ }
12
+ get r() {
13
+ return this._r;
14
+ }
15
+ set r(red) {
16
+ this._r = red & 255;
17
+ this._rgba = null;
18
+ }
19
+ get g() {
20
+ return this._g;
21
+ }
22
+ set g(green) {
23
+ this._g = green & 255;
24
+ this._rgba = null;
25
+ }
26
+ get b() {
27
+ return this._b;
28
+ }
29
+ set b(blue) {
30
+ this._b = blue & 255;
31
+ this._rgba = null;
32
+ }
33
+ get a() {
34
+ return this._a;
35
+ }
36
+ set a(alpha) {
37
+ this._a = clamp(alpha, 0, 1);
38
+ this._rgba = null;
39
+ }
40
+ get red() {
41
+ return this.r;
42
+ }
43
+ set red(red) {
44
+ this.r = red;
45
+ }
46
+ get green() {
47
+ return this.g;
48
+ }
49
+ set green(green) {
50
+ this.g = green;
51
+ }
52
+ get blue() {
53
+ return this.b;
54
+ }
55
+ set blue(blue) {
56
+ this.b = blue;
57
+ }
58
+ get alpha() {
59
+ return this.a;
60
+ }
61
+ set alpha(alpha) {
62
+ this.a = alpha;
63
+ }
64
+ set(r = this._r, g = this._g, b = this._b, a = this._a) {
65
+ this._r = r & 255;
66
+ this._g = g & 255;
67
+ this._b = b & 255;
68
+ this._a = clamp(a, 0, 1);
69
+ this._rgba = null;
70
+ return this;
71
+ }
72
+ copy(color) {
73
+ return this.set(color.r, color.g, color.b, color.a);
74
+ }
75
+ clone() {
76
+ return new Color(this._r, this._g, this._b, this._a);
77
+ }
78
+ equals({ r, g, b, a } = {}) {
79
+ return (r === undefined || this.r === r)
80
+ && (g === undefined || this.g === g)
81
+ && (b === undefined || this.b === b)
82
+ && (a === undefined || this.a === a);
83
+ }
84
+ toArray(normalized = false) {
85
+ if (!this._array) {
86
+ this._array = new Float32Array(4);
87
+ }
88
+ if (normalized) {
89
+ this._array[0] = this._r / 255;
90
+ this._array[1] = this._g / 255;
91
+ this._array[2] = this._b / 255;
92
+ this._array[3] = this._a;
93
+ }
94
+ else {
95
+ this._array[0] = this._r;
96
+ this._array[1] = this._g;
97
+ this._array[2] = this._b;
98
+ this._array[3] = this._a;
99
+ }
100
+ return this._array;
101
+ }
102
+ toString(prefixed = true) {
103
+ return `${prefixed ? '#' : ''}${((1 << 24) + (this._r << 16) + (this._g << 8) + this._b).toString(16).substr(1)}`;
104
+ }
105
+ toRgba() {
106
+ if (this._rgba === null) {
107
+ this._rgba = this._a && (((this._a * 255 | 0) << 24) + (this._b << 16) + (this._g << 8) + this._r) >>> 0;
108
+ }
109
+ return this._rgba;
110
+ }
111
+ destroy() {
112
+ if (this._array) {
113
+ this._array = null;
114
+ }
115
+ }
116
+ }
117
+ Color.aliceBlue = new Color(240, 248, 255, 1);
118
+ Color.antiqueWhite = new Color(250, 235, 215, 1);
119
+ Color.aqua = new Color(0, 255, 255, 1);
120
+ Color.aquamarine = new Color(127, 255, 212, 1);
121
+ Color.azure = new Color(240, 255, 255, 1);
122
+ Color.beige = new Color(245, 245, 220, 1);
123
+ Color.bisque = new Color(255, 228, 196, 1);
124
+ Color.black = new Color(0, 0, 0, 1);
125
+ Color.blanchedAlmond = new Color(255, 235, 205, 1);
126
+ Color.blue = new Color(0, 0, 255, 1);
127
+ Color.blueViolet = new Color(138, 43, 226, 1);
128
+ Color.brown = new Color(165, 42, 42, 1);
129
+ Color.burlyWood = new Color(222, 184, 135, 1);
130
+ Color.cadetBlue = new Color(95, 158, 160, 1);
131
+ Color.chartreuse = new Color(127, 255, 0, 1);
132
+ Color.chocolate = new Color(210, 105, 30, 1);
133
+ Color.coral = new Color(255, 127, 80, 1);
134
+ Color.cornflowerBlue = new Color(100, 149, 237, 1);
135
+ Color.cornsilk = new Color(255, 248, 220, 1);
136
+ Color.crimson = new Color(220, 20, 60, 1);
137
+ Color.cyan = new Color(0, 255, 255, 1);
138
+ Color.darkBlue = new Color(0, 0, 139, 1);
139
+ Color.darkCyan = new Color(0, 139, 139, 1);
140
+ Color.darkGoldenrod = new Color(184, 134, 11, 1);
141
+ Color.darkGray = new Color(169, 169, 169, 1);
142
+ Color.darkGreen = new Color(0, 100, 0, 1);
143
+ Color.darkKhaki = new Color(189, 183, 107, 1);
144
+ Color.darkMagenta = new Color(139, 0, 139, 1);
145
+ Color.darkOliveGreen = new Color(85, 107, 47, 1);
146
+ Color.darkOrange = new Color(255, 140, 0, 1);
147
+ Color.darkOrchid = new Color(153, 50, 204, 1);
148
+ Color.darkRed = new Color(139, 0, 0, 1);
149
+ Color.darkSalmon = new Color(233, 150, 122, 1);
150
+ Color.darkSeaGreen = new Color(143, 188, 139, 1);
151
+ Color.darkSlateBlue = new Color(72, 61, 139, 1);
152
+ Color.darkSlateGray = new Color(47, 79, 79, 1);
153
+ Color.darkTurquoise = new Color(0, 206, 209, 1);
154
+ Color.darkViolet = new Color(148, 0, 211, 1);
155
+ Color.deepPink = new Color(255, 20, 147, 1);
156
+ Color.deepSkyBlue = new Color(0, 191, 255, 1);
157
+ Color.dimGray = new Color(105, 105, 105, 1);
158
+ Color.dodgerBlue = new Color(30, 144, 255, 1);
159
+ Color.firebrick = new Color(178, 34, 34, 1);
160
+ Color.floralWhite = new Color(255, 250, 240, 1);
161
+ Color.forestGreen = new Color(34, 139, 34, 1);
162
+ Color.fuchsia = new Color(255, 0, 255, 1);
163
+ Color.gainsboro = new Color(220, 220, 220, 1);
164
+ Color.ghostWhite = new Color(248, 248, 255, 1);
165
+ Color.gold = new Color(255, 215, 0, 1);
166
+ Color.goldenrod = new Color(218, 165, 32, 1);
167
+ Color.gray = new Color(128, 128, 128, 1);
168
+ Color.green = new Color(0, 128, 0, 1);
169
+ Color.greenYellow = new Color(173, 255, 47, 1);
170
+ Color.honeydew = new Color(240, 255, 240, 1);
171
+ Color.hotPink = new Color(255, 105, 180, 1);
172
+ Color.indianRed = new Color(205, 92, 92, 1);
173
+ Color.indigo = new Color(75, 0, 130, 1);
174
+ Color.ivory = new Color(255, 255, 240, 1);
175
+ Color.khaki = new Color(240, 230, 140, 1);
176
+ Color.lavender = new Color(230, 230, 250, 1);
177
+ Color.lavenderBlush = new Color(255, 240, 245, 1);
178
+ Color.lawnGreen = new Color(124, 252, 0, 1);
179
+ Color.lemonChiffon = new Color(255, 250, 205, 1);
180
+ Color.lightBlue = new Color(173, 216, 230, 1);
181
+ Color.lightCoral = new Color(240, 128, 128, 1);
182
+ Color.lightCyan = new Color(224, 255, 255, 1);
183
+ Color.lightGoldenrodYellow = new Color(250, 250, 210, 1);
184
+ Color.lightGray = new Color(211, 211, 211, 1);
185
+ Color.lightGreen = new Color(144, 238, 144, 1);
186
+ Color.lightPink = new Color(255, 182, 193, 1);
187
+ Color.lightSalmon = new Color(255, 160, 122, 1);
188
+ Color.lightSeaGreen = new Color(32, 178, 170, 1);
189
+ Color.lightSkyBlue = new Color(135, 206, 250, 1);
190
+ Color.lightSlateGray = new Color(119, 136, 153, 1);
191
+ Color.lightSteelBlue = new Color(176, 196, 222, 1);
192
+ Color.lightYellow = new Color(255, 255, 224, 1);
193
+ Color.lime = new Color(0, 255, 0, 1);
194
+ Color.limeGreen = new Color(50, 205, 50, 1);
195
+ Color.linen = new Color(250, 240, 230, 1);
196
+ Color.magenta = new Color(255, 0, 255, 1);
197
+ Color.maroon = new Color(128, 0, 0, 1);
198
+ Color.mediumAquamarine = new Color(102, 205, 170, 1);
199
+ Color.mediumBlue = new Color(0, 0, 205, 1);
200
+ Color.mediumOrchid = new Color(186, 85, 211, 1);
201
+ Color.mediumPurple = new Color(147, 112, 219, 1);
202
+ Color.mediumSeaGreen = new Color(60, 179, 113, 1);
203
+ Color.mediumSlateBlue = new Color(123, 104, 238, 1);
204
+ Color.mediumSpringGreen = new Color(0, 250, 154, 1);
205
+ Color.mediumTurquoise = new Color(72, 209, 204, 1);
206
+ Color.mediumVioletRed = new Color(199, 21, 133, 1);
207
+ Color.midnightBlue = new Color(25, 25, 112, 1);
208
+ Color.mintCream = new Color(245, 255, 250, 1);
209
+ Color.mistyRose = new Color(255, 228, 225, 1);
210
+ Color.moccasin = new Color(255, 228, 181, 1);
211
+ Color.navajoWhite = new Color(255, 222, 173, 1);
212
+ Color.navy = new Color(0, 0, 128, 1);
213
+ Color.oldLace = new Color(253, 245, 230, 1);
214
+ Color.olive = new Color(128, 128, 0, 1);
215
+ Color.oliveDrab = new Color(107, 142, 35, 1);
216
+ Color.orange = new Color(255, 165, 0, 1);
217
+ Color.orangeRed = new Color(255, 69, 0, 1);
218
+ Color.orchid = new Color(218, 112, 214, 1);
219
+ Color.paleGoldenrod = new Color(238, 232, 170, 1);
220
+ Color.paleGreen = new Color(152, 251, 152, 1);
221
+ Color.paleTurquoise = new Color(175, 238, 238, 1);
222
+ Color.paleVioletRed = new Color(219, 112, 147, 1);
223
+ Color.papayaWhip = new Color(255, 239, 213, 1);
224
+ Color.peachPuff = new Color(255, 218, 185, 1);
225
+ Color.peru = new Color(205, 133, 63, 1);
226
+ Color.pink = new Color(255, 192, 203, 1);
227
+ Color.plum = new Color(221, 160, 221, 1);
228
+ Color.powderBlue = new Color(176, 224, 230, 1);
229
+ Color.purple = new Color(128, 0, 128, 1);
230
+ Color.red = new Color(255, 0, 0, 1);
231
+ Color.rosyBrown = new Color(188, 143, 143, 1);
232
+ Color.royalBlue = new Color(65, 105, 225, 1);
233
+ Color.saddleBrown = new Color(139, 69, 19, 1);
234
+ Color.salmon = new Color(250, 128, 114, 1);
235
+ Color.sandyBrown = new Color(244, 164, 96, 1);
236
+ Color.seaGreen = new Color(46, 139, 87, 1);
237
+ Color.seaShell = new Color(255, 245, 238, 1);
238
+ Color.sienna = new Color(160, 82, 45, 1);
239
+ Color.silver = new Color(192, 192, 192, 1);
240
+ Color.skyBlue = new Color(135, 206, 235, 1);
241
+ Color.slateBlue = new Color(106, 90, 205, 1);
242
+ Color.slateGray = new Color(112, 128, 144, 1);
243
+ Color.snow = new Color(255, 250, 250, 1);
244
+ Color.springGreen = new Color(0, 255, 127, 1);
245
+ Color.steelBlue = new Color(70, 130, 180, 1);
246
+ Color.tan = new Color(210, 180, 140, 1);
247
+ Color.teal = new Color(0, 128, 128, 1);
248
+ Color.thistle = new Color(216, 191, 216, 1);
249
+ Color.tomato = new Color(255, 99, 71, 1);
250
+ Color.transparentBlack = new Color(0, 0, 0, 0);
251
+ Color.transparentWhite = new Color(255, 255, 255, 0);
252
+ Color.turquoise = new Color(64, 224, 208, 1);
253
+ Color.violet = new Color(238, 130, 238, 1);
254
+ Color.wheat = new Color(245, 222, 179, 1);
255
+ Color.white = new Color(255, 255, 255, 1);
256
+ Color.whiteSmoke = new Color(245, 245, 245, 1);
257
+ Color.yellow = new Color(255, 255, 0, 1);
258
+ Color.yellowGreen = new Color(154, 205, 50, 1);
259
+
260
+ export { Color };
261
+ //# 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,84 @@
1
+ import { Rectangle } from '../math/Rectangle.js';
2
+
3
+ class Quadtree {
4
+ constructor(bounds, level = 0) {
5
+ this._quadTrees = new Map();
6
+ this._sceneNodes = new Set();
7
+ this._bounds = bounds.clone();
8
+ this.level = level;
9
+ }
10
+ addSceneNode(sceneNode) {
11
+ const quadTree = this._getQuadTree(sceneNode);
12
+ if (quadTree) {
13
+ quadTree.addSceneNode(sceneNode);
14
+ return this;
15
+ }
16
+ this._sceneNodes.add(sceneNode);
17
+ if (this._sceneNodes.size > Quadtree.maxSceneNodes && this.level < Quadtree.maxLevel) {
18
+ this._split();
19
+ }
20
+ return this;
21
+ }
22
+ getRelatedChildren(sceneNode) {
23
+ const quadTree = this._getQuadTree(sceneNode);
24
+ if (quadTree === null) {
25
+ return [...this._sceneNodes];
26
+ }
27
+ return [...quadTree.getRelatedChildren(sceneNode), ...this._sceneNodes];
28
+ }
29
+ getBounds() {
30
+ return this._bounds;
31
+ }
32
+ clear() {
33
+ if (this._quadTrees.size > 0) {
34
+ for (const quadTree of this._quadTrees.values()) {
35
+ quadTree.destroy();
36
+ }
37
+ this._quadTrees.clear();
38
+ }
39
+ this._sceneNodes.clear();
40
+ return this;
41
+ }
42
+ destroy() {
43
+ this.clear();
44
+ this._bounds.destroy();
45
+ }
46
+ _getQuadTree(sceneNode) {
47
+ if (this._quadTrees.size > 0) {
48
+ const bounds = sceneNode.getBounds();
49
+ for (const quadTree of this._quadTrees.values()) {
50
+ if (quadTree.getBounds().containsRect(bounds)) {
51
+ return quadTree;
52
+ }
53
+ }
54
+ }
55
+ return null;
56
+ }
57
+ _split() {
58
+ if (this._quadTrees.size === 0) {
59
+ const { top, left, width, height } = this.getBounds();
60
+ const halfWidth = (width / 2) | 0;
61
+ const halfHeight = (height / 2) | 0;
62
+ const nextLevel = this.level + 1;
63
+ this._quadTrees.set(0, new Quadtree(Rectangle.temp.set(left, top, halfWidth, halfHeight), nextLevel));
64
+ this._quadTrees.set(1, new Quadtree(Rectangle.temp.set(left + halfWidth, top, halfWidth, halfHeight), nextLevel));
65
+ this._quadTrees.set(2, new Quadtree(Rectangle.temp.set(left, top + halfHeight, halfWidth, halfHeight), nextLevel));
66
+ this._quadTrees.set(3, new Quadtree(Rectangle.temp.set(left + halfWidth, top + halfHeight, halfWidth, halfHeight), nextLevel));
67
+ }
68
+ this._passSceneNodesToQuadTrees();
69
+ }
70
+ _passSceneNodesToQuadTrees() {
71
+ for (const sceneNode of this._sceneNodes) {
72
+ const quadTree = this._getQuadTree(sceneNode);
73
+ if (quadTree) {
74
+ this._sceneNodes.delete(sceneNode);
75
+ quadTree.addSceneNode(sceneNode);
76
+ }
77
+ }
78
+ }
79
+ }
80
+ Quadtree.maxSceneNodes = 50;
81
+ Quadtree.maxLevel = 5;
82
+
83
+ export { Quadtree };
84
+ //# sourceMappingURL=Quadtree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Quadtree.js","sources":["../../../../src/core/Quadtree.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -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
+ }