@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.
- package/CHANGELOG.md +163 -0
- package/README.md +141 -0
- package/dist/esm/audio/AbstractMedia.d.ts +45 -0
- package/dist/esm/audio/AbstractMedia.js +103 -0
- package/dist/esm/audio/AbstractMedia.js.map +1 -0
- package/dist/esm/audio/AudioAnalyser.d.ts +30 -0
- package/dist/esm/audio/AudioAnalyser.js +92 -0
- package/dist/esm/audio/AudioAnalyser.js.map +1 -0
- package/dist/esm/audio/Media.d.ts +25 -0
- package/dist/esm/audio/Music.d.ts +20 -0
- package/dist/esm/audio/Music.js +119 -0
- package/dist/esm/audio/Music.js.map +1 -0
- package/dist/esm/audio/Sound.d.ts +56 -0
- package/dist/esm/audio/Sound.js +394 -0
- package/dist/esm/audio/Sound.js.map +1 -0
- package/dist/esm/audio/audio-context.d.ts +11 -0
- package/dist/esm/audio/audio-context.js +115 -0
- package/dist/esm/audio/audio-context.js.map +1 -0
- package/dist/esm/audio/index.d.ts +6 -0
- package/dist/esm/core/Application.d.ts +76 -0
- package/dist/esm/core/Application.js +206 -0
- package/dist/esm/core/Application.js.map +1 -0
- package/dist/esm/core/Bounds.d.ts +19 -0
- package/dist/esm/core/Bounds.js +59 -0
- package/dist/esm/core/Bounds.js.map +1 -0
- package/dist/esm/core/Clock.d.ts +18 -0
- package/dist/esm/core/Clock.js +68 -0
- package/dist/esm/core/Clock.js.map +1 -0
- package/dist/esm/core/Color.d.ts +176 -0
- package/dist/esm/core/Color.js +265 -0
- package/dist/esm/core/Color.js.map +1 -0
- package/dist/esm/core/Quadtree.d.ts +20 -0
- package/dist/esm/core/Quadtree.js +86 -0
- package/dist/esm/core/Quadtree.js.map +1 -0
- package/dist/esm/core/Scene.d.ts +83 -0
- package/dist/esm/core/Scene.js +81 -0
- package/dist/esm/core/Scene.js.map +1 -0
- package/dist/esm/core/SceneManager.d.ts +66 -0
- package/dist/esm/core/SceneManager.js +396 -0
- package/dist/esm/core/SceneManager.js.map +1 -0
- package/dist/esm/core/SceneNode.d.ts +58 -0
- package/dist/esm/core/SceneNode.js +174 -0
- package/dist/esm/core/SceneNode.js.map +1 -0
- package/dist/esm/core/Signal.d.ts +18 -0
- package/dist/esm/core/Signal.js +63 -0
- package/dist/esm/core/Signal.js.map +1 -0
- package/dist/esm/core/Time.d.ts +38 -0
- package/dist/esm/core/Time.js +107 -0
- package/dist/esm/core/Time.js.map +1 -0
- package/dist/esm/core/Timer.d.ts +12 -0
- package/dist/esm/core/Timer.js +34 -0
- package/dist/esm/core/Timer.js.map +1 -0
- package/dist/esm/core/index.d.ts +13 -0
- package/dist/esm/core/types.d.ts +29 -0
- package/dist/esm/core/utils.d.ts +22 -0
- package/dist/esm/core/utils.js +136 -0
- package/dist/esm/core/utils.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.js +135 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.d.ts +5 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.js +29 -0
- package/dist/esm/input/ArcadeStickGamepadMapping.js.map +1 -0
- package/dist/esm/input/GameCubeGamepadMapping.d.ts +5 -0
- package/dist/esm/input/GameCubeGamepadMapping.js +9 -0
- package/dist/esm/input/GameCubeGamepadMapping.js.map +1 -0
- package/dist/esm/input/Gamepad.d.ts +45 -0
- package/dist/esm/input/Gamepad.js +154 -0
- package/dist/esm/input/Gamepad.js.map +1 -0
- package/dist/esm/input/GamepadChannels.d.ts +39 -0
- package/dist/esm/input/GamepadChannels.js +45 -0
- package/dist/esm/input/GamepadChannels.js.map +1 -0
- package/dist/esm/input/GamepadControl.d.ts +15 -0
- package/dist/esm/input/GamepadControl.js +29 -0
- package/dist/esm/input/GamepadControl.js.map +1 -0
- package/dist/esm/input/GamepadDefinitions.d.ts +31 -0
- package/dist/esm/input/GamepadDefinitions.js +175 -0
- package/dist/esm/input/GamepadDefinitions.js.map +1 -0
- package/dist/esm/input/GamepadMapping.d.ts +23 -0
- package/dist/esm/input/GamepadMapping.js +32 -0
- package/dist/esm/input/GamepadMapping.js.map +1 -0
- package/dist/esm/input/GamepadPromptLayouts.d.ts +9 -0
- package/dist/esm/input/GamepadPromptLayouts.js +140 -0
- package/dist/esm/input/GamepadPromptLayouts.js.map +1 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.d.ts +5 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js +53 -0
- package/dist/esm/input/GenericDualAnalogGamepadMapping.js.map +1 -0
- package/dist/esm/input/Input.d.ts +28 -0
- package/dist/esm/input/Input.js +68 -0
- package/dist/esm/input/Input.js.map +1 -0
- package/dist/esm/input/InputManager.d.ts +76 -0
- package/dist/esm/input/InputManager.js +346 -0
- package/dist/esm/input/InputManager.js.map +1 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.d.ts +5 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.js +9 -0
- package/dist/esm/input/JoyConLeftGamepadMapping.js.map +1 -0
- package/dist/esm/input/JoyConRightGamepadMapping.d.ts +5 -0
- package/dist/esm/input/JoyConRightGamepadMapping.js +9 -0
- package/dist/esm/input/JoyConRightGamepadMapping.js.map +1 -0
- package/dist/esm/input/PlayStationGamepadMapping.d.ts +5 -0
- package/dist/esm/input/PlayStationGamepadMapping.js +9 -0
- package/dist/esm/input/PlayStationGamepadMapping.js.map +1 -0
- package/dist/esm/input/Pointer.d.ts +52 -0
- package/dist/esm/input/Pointer.js +127 -0
- package/dist/esm/input/Pointer.js.map +1 -0
- package/dist/esm/input/SteamControllerGamepadMapping.d.ts +5 -0
- package/dist/esm/input/SteamControllerGamepadMapping.js +9 -0
- package/dist/esm/input/SteamControllerGamepadMapping.js.map +1 -0
- package/dist/esm/input/SwitchProGamepadMapping.d.ts +5 -0
- package/dist/esm/input/SwitchProGamepadMapping.js +9 -0
- package/dist/esm/input/SwitchProGamepadMapping.js.map +1 -0
- package/dist/esm/input/XboxGamepadMapping.d.ts +5 -0
- package/dist/esm/input/XboxGamepadMapping.js +9 -0
- package/dist/esm/input/XboxGamepadMapping.js.map +1 -0
- package/dist/esm/input/index.d.ts +19 -0
- package/dist/esm/input/types.d.ts +111 -0
- package/dist/esm/input/types.js +117 -0
- package/dist/esm/input/types.js.map +1 -0
- package/dist/esm/math/AbstractVector.d.ts +33 -0
- package/dist/esm/math/AbstractVector.js +106 -0
- package/dist/esm/math/AbstractVector.js.map +1 -0
- package/dist/esm/math/Circle.d.ts +41 -0
- package/dist/esm/math/Circle.js +137 -0
- package/dist/esm/math/Circle.js.map +1 -0
- package/dist/esm/math/CircleLike.d.ts +5 -0
- package/dist/esm/math/Collision.d.ts +28 -0
- package/dist/esm/math/Collision.js +13 -0
- package/dist/esm/math/Collision.js.map +1 -0
- package/dist/esm/math/Ellipse.d.ts +37 -0
- package/dist/esm/math/Ellipse.js +112 -0
- package/dist/esm/math/Ellipse.js.map +1 -0
- package/dist/esm/math/EllipseLike.d.ts +6 -0
- package/dist/esm/math/Flags.d.ts +12 -0
- package/dist/esm/math/Flags.js +41 -0
- package/dist/esm/math/Flags.js.map +1 -0
- package/dist/esm/math/Interval.d.ts +16 -0
- package/dist/esm/math/Interval.js +45 -0
- package/dist/esm/math/Interval.js.map +1 -0
- package/dist/esm/math/Line.d.ts +36 -0
- package/dist/esm/math/Line.js +114 -0
- package/dist/esm/math/Line.js.map +1 -0
- package/dist/esm/math/LineLike.d.ts +6 -0
- package/dist/esm/math/Matrix.d.ts +32 -0
- package/dist/esm/math/Matrix.js +134 -0
- package/dist/esm/math/Matrix.js.map +1 -0
- package/dist/esm/math/ObservableSize.d.ts +16 -0
- package/dist/esm/math/ObservableSize.js +56 -0
- package/dist/esm/math/ObservableSize.js.map +1 -0
- package/dist/esm/math/ObservableVector.d.ts +21 -0
- package/dist/esm/math/ObservableVector.js +74 -0
- package/dist/esm/math/ObservableVector.js.map +1 -0
- package/dist/esm/math/PointLike.d.ts +4 -0
- package/dist/esm/math/PolarVector.d.ts +8 -0
- package/dist/esm/math/PolarVector.js +19 -0
- package/dist/esm/math/PolarVector.js.map +1 -0
- package/dist/esm/math/Polygon.d.ts +38 -0
- package/dist/esm/math/Polygon.js +163 -0
- package/dist/esm/math/Polygon.js.map +1 -0
- package/dist/esm/math/PolygonLike.d.ts +6 -0
- package/dist/esm/math/Random.d.ts +15 -0
- package/dist/esm/math/Random.js +72 -0
- package/dist/esm/math/Random.js.map +1 -0
- package/dist/esm/math/Rectangle.d.ts +48 -0
- package/dist/esm/math/Rectangle.js +208 -0
- package/dist/esm/math/Rectangle.js.map +1 -0
- package/dist/esm/math/RectangleLike.d.ts +6 -0
- package/dist/esm/math/Segment.d.ts +25 -0
- package/dist/esm/math/Segment.js +79 -0
- package/dist/esm/math/Segment.js.map +1 -0
- package/dist/esm/math/ShapeLike.d.ts +4 -0
- package/dist/esm/math/Size.d.ts +24 -0
- package/dist/esm/math/Size.js +71 -0
- package/dist/esm/math/Size.js.map +1 -0
- package/dist/esm/math/Transformable.d.ts +47 -0
- package/dist/esm/math/Transformable.js +140 -0
- package/dist/esm/math/Transformable.js.map +1 -0
- package/dist/esm/math/Vector.d.ts +28 -0
- package/dist/esm/math/Vector.js +80 -0
- package/dist/esm/math/Vector.js.map +1 -0
- package/dist/esm/math/collision-detection.d.ts +41 -0
- package/dist/esm/math/collision-detection.js +394 -0
- package/dist/esm/math/collision-detection.js.map +1 -0
- package/dist/esm/math/collision-primitives.d.ts +39 -0
- package/dist/esm/math/collision-primitives.js +164 -0
- package/dist/esm/math/collision-primitives.js.map +1 -0
- package/dist/esm/math/geometry.d.ts +8 -0
- package/dist/esm/math/geometry.js +195 -0
- package/dist/esm/math/geometry.js.map +1 -0
- package/dist/esm/math/index.d.ts +27 -0
- package/dist/esm/math/utils.d.ts +21 -0
- package/dist/esm/math/utils.js +60 -0
- package/dist/esm/math/utils.js.map +1 -0
- package/dist/esm/particles/Particle.d.ts +40 -0
- package/dist/esm/particles/Particle.js +106 -0
- package/dist/esm/particles/Particle.js.map +1 -0
- package/dist/esm/particles/ParticleProperties.d.ts +14 -0
- package/dist/esm/particles/ParticleSystem.d.ts +43 -0
- package/dist/esm/particles/ParticleSystem.js +186 -0
- package/dist/esm/particles/ParticleSystem.js.map +1 -0
- package/dist/esm/particles/affectors/ColorAffector.d.ts +17 -0
- package/dist/esm/particles/affectors/ColorAffector.js +42 -0
- package/dist/esm/particles/affectors/ColorAffector.js.map +1 -0
- package/dist/esm/particles/affectors/ForceAffector.d.ts +13 -0
- package/dist/esm/particles/affectors/ForceAffector.js +28 -0
- package/dist/esm/particles/affectors/ForceAffector.js.map +1 -0
- package/dist/esm/particles/affectors/ParticleAffector.d.ts +6 -0
- package/dist/esm/particles/affectors/ScaleAffector.d.ts +13 -0
- package/dist/esm/particles/affectors/ScaleAffector.js +28 -0
- package/dist/esm/particles/affectors/ScaleAffector.js.map +1 -0
- package/dist/esm/particles/affectors/TorqueAffector.d.ts +12 -0
- package/dist/esm/particles/affectors/TorqueAffector.js +26 -0
- package/dist/esm/particles/affectors/TorqueAffector.js.map +1 -0
- package/dist/esm/particles/emitters/ParticleEmitter.d.ts +6 -0
- package/dist/esm/particles/emitters/ParticleOptions.d.ts +46 -0
- package/dist/esm/particles/emitters/ParticleOptions.js +104 -0
- package/dist/esm/particles/emitters/ParticleOptions.js.map +1 -0
- package/dist/esm/particles/emitters/UniversalEmitter.d.ts +17 -0
- package/dist/esm/particles/emitters/UniversalEmitter.js +45 -0
- package/dist/esm/particles/emitters/UniversalEmitter.js.map +1 -0
- package/dist/esm/particles/index.d.ts +11 -0
- package/dist/esm/physics/RapierPhysicsWorld.d.ts +136 -0
- package/dist/esm/physics/RapierPhysicsWorld.js +475 -0
- package/dist/esm/physics/RapierPhysicsWorld.js.map +1 -0
- package/dist/esm/physics/index.d.ts +1 -0
- package/dist/esm/rendering/CallbackRenderPass.d.ts +7 -0
- package/dist/esm/rendering/CallbackRenderPass.js +12 -0
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -0
- package/dist/esm/rendering/Container.d.ts +36 -0
- package/dist/esm/rendering/Container.js +197 -0
- package/dist/esm/rendering/Container.js.map +1 -0
- package/dist/esm/rendering/Drawable.d.ts +16 -0
- package/dist/esm/rendering/Drawable.js +54 -0
- package/dist/esm/rendering/Drawable.js.map +1 -0
- package/dist/esm/rendering/RenderBackendType.d.ts +4 -0
- package/dist/esm/rendering/RenderBackendType.js +8 -0
- package/dist/esm/rendering/RenderBackendType.js.map +1 -0
- package/dist/esm/rendering/RenderNode.d.ts +51 -0
- package/dist/esm/rendering/RenderNode.js +235 -0
- package/dist/esm/rendering/RenderNode.js.map +1 -0
- package/dist/esm/rendering/RenderPass.d.ts +4 -0
- package/dist/esm/rendering/RenderStats.d.ts +12 -0
- package/dist/esm/rendering/RenderStats.js +24 -0
- package/dist/esm/rendering/RenderStats.js.map +1 -0
- package/dist/esm/rendering/RenderTarget.d.ts +34 -0
- package/dist/esm/rendering/RenderTarget.js +109 -0
- package/dist/esm/rendering/RenderTarget.js.map +1 -0
- package/dist/esm/rendering/RenderTargetPass.d.ts +18 -0
- package/dist/esm/rendering/RenderTargetPass.js +31 -0
- package/dist/esm/rendering/RenderTargetPass.js.map +1 -0
- package/dist/esm/rendering/Renderer.d.ts +15 -0
- package/dist/esm/rendering/RendererRegistry.d.ts +43 -0
- package/dist/esm/rendering/RendererRegistry.js +86 -0
- package/dist/esm/rendering/RendererRegistry.js.map +1 -0
- package/dist/esm/rendering/SceneRenderRuntime.d.ts +29 -0
- package/dist/esm/rendering/View.d.ts +102 -0
- package/dist/esm/rendering/View.js +364 -0
- package/dist/esm/rendering/View.js.map +1 -0
- package/dist/esm/rendering/filters/BlurFilter.d.ts +20 -0
- package/dist/esm/rendering/filters/BlurFilter.js +68 -0
- package/dist/esm/rendering/filters/BlurFilter.js.map +1 -0
- package/dist/esm/rendering/filters/ColorFilter.d.ts +12 -0
- package/dist/esm/rendering/filters/ColorFilter.js +42 -0
- package/dist/esm/rendering/filters/ColorFilter.js.map +1 -0
- package/dist/esm/rendering/filters/Filter.d.ts +5 -0
- package/dist/esm/rendering/filters/Filter.js +5 -0
- package/dist/esm/rendering/filters/Filter.js.map +1 -0
- package/dist/esm/rendering/index.d.ts +52 -0
- package/dist/esm/rendering/primitives/CircleGeometry.d.ts +4 -0
- package/dist/esm/rendering/primitives/CircleGeometry.js +21 -0
- package/dist/esm/rendering/primitives/CircleGeometry.js.map +1 -0
- package/dist/esm/rendering/primitives/DrawableShape.d.ts +11 -0
- package/dist/esm/rendering/primitives/DrawableShape.js +21 -0
- package/dist/esm/rendering/primitives/DrawableShape.js.map +1 -0
- package/dist/esm/rendering/primitives/Geometry.d.ts +13 -0
- package/dist/esm/rendering/primitives/Geometry.js +16 -0
- package/dist/esm/rendering/primitives/Geometry.js.map +1 -0
- package/dist/esm/rendering/primitives/Graphics.d.ts +36 -0
- package/dist/esm/rendering/primitives/Graphics.js +208 -0
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -0
- package/dist/esm/rendering/shader/Shader.d.ts +27 -0
- package/dist/esm/rendering/shader/Shader.js +63 -0
- package/dist/esm/rendering/shader/Shader.js.map +1 -0
- package/dist/esm/rendering/shader/ShaderAttribute.d.ts +9 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js +21 -0
- package/dist/esm/rendering/shader/ShaderAttribute.js.map +1 -0
- package/dist/esm/rendering/shader/ShaderUniform.d.ts +16 -0
- package/dist/esm/rendering/shader/ShaderUniform.js +38 -0
- package/dist/esm/rendering/shader/ShaderUniform.js.map +1 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +43 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.js +177 -0
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -0
- package/dist/esm/rendering/sprite/Sprite.d.ts +43 -0
- package/dist/esm/rendering/sprite/Sprite.js +169 -0
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -0
- package/dist/esm/rendering/sprite/Spritesheet.d.ts +34 -0
- package/dist/esm/rendering/sprite/Spritesheet.js +88 -0
- package/dist/esm/rendering/sprite/Spritesheet.js.map +1 -0
- package/dist/esm/rendering/text/Text.d.ts +26 -0
- package/dist/esm/rendering/text/Text.js +130 -0
- package/dist/esm/rendering/text/Text.js.map +1 -0
- package/dist/esm/rendering/text/TextStyle.d.ts +65 -0
- package/dist/esm/rendering/text/TextStyle.js +192 -0
- package/dist/esm/rendering/text/TextStyle.js.map +1 -0
- package/dist/esm/rendering/texture/RenderTexture.d.ts +36 -0
- package/dist/esm/rendering/texture/RenderTexture.js +123 -0
- package/dist/esm/rendering/texture/RenderTexture.js.map +1 -0
- package/dist/esm/rendering/texture/Sampler.d.ts +29 -0
- package/dist/esm/rendering/texture/Sampler.js +76 -0
- package/dist/esm/rendering/texture/Sampler.js.map +1 -0
- package/dist/esm/rendering/texture/Texture.d.ts +52 -0
- package/dist/esm/rendering/texture/Texture.js +173 -0
- package/dist/esm/rendering/texture/Texture.js.map +1 -0
- package/dist/esm/rendering/types.d.ts +68 -0
- package/dist/esm/rendering/types.js +79 -0
- package/dist/esm/rendering/types.js.map +1 -0
- package/dist/esm/rendering/utils.d.ts +9 -0
- package/dist/esm/rendering/utils.js +39 -0
- package/dist/esm/rendering/utils.js.map +1 -0
- package/dist/esm/rendering/video/Video.d.ts +62 -0
- package/dist/esm/rendering/video/Video.js +293 -0
- package/dist/esm/rendering/video/Video.js.map +1 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.d.ts +49 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js +175 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2BatchedRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.d.ts +44 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js +57 -0
- package/dist/esm/rendering/webgl2/AbstractWebGl2Renderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.d.ts +11 -0
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js +110 -0
- package/dist/esm/rendering/webgl2/WebGl2ParticleRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.d.ts +26 -0
- package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js +217 -0
- package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.d.ts +26 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js +54 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderBuffer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderManager.d.ts +99 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderManager.js +600 -0
- package/dist/esm/rendering/webgl2/WebGl2RenderManager.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2RendererRuntime.d.ts +15 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.d.ts +17 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js +63 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderBlock.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.d.ts +3 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js +59 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderMappings.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.d.ts +2 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js +161 -0
- package/dist/esm/rendering/webgl2/WebGl2ShaderRuntime.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +11 -0
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +82 -0
- package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.d.ts +40 -0
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js +69 -0
- package/dist/esm/rendering/webgl2/WebGl2VertexArrayObject.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/particle.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/particle.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/particle.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/particle.vert.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/primitive.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/primitive.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/primitive.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/primitive.vert.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/sprite.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/sprite.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/sprite.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/sprite.vert.js.map +1 -0
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.d.ts +28 -0
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js +50 -0
- package/dist/esm/rendering/webgpu/AbstractWebGpuRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts +6 -0
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js +79 -0
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.d.ts +33 -0
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js +443 -0
- package/dist/esm/rendering/webgpu/WebGpuParticleRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.d.ts +39 -0
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js +489 -0
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuRenderManager.d.ts +111 -0
- package/dist/esm/rendering/webgpu/WebGpuRenderManager.js +777 -0
- package/dist/esm/rendering/webgpu/WebGpuRenderManager.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuRendererRuntime.d.ts +8 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +33 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +528 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -0
- package/dist/esm/resources/AbstractAssetFactory.d.ts +10 -0
- package/dist/esm/resources/AbstractAssetFactory.js +24 -0
- package/dist/esm/resources/AbstractAssetFactory.js.map +1 -0
- package/dist/esm/resources/AssetFactory.d.ts +6 -0
- package/dist/esm/resources/AssetManifest.d.ts +28 -0
- package/dist/esm/resources/AssetManifest.js +66 -0
- package/dist/esm/resources/AssetManifest.js.map +1 -0
- package/dist/esm/resources/CacheFirstStrategy.d.ts +5 -0
- package/dist/esm/resources/CacheFirstStrategy.js +34 -0
- package/dist/esm/resources/CacheFirstStrategy.js.map +1 -0
- package/dist/esm/resources/CacheStore.d.ts +7 -0
- package/dist/esm/resources/CacheStrategy.d.ts +12 -0
- package/dist/esm/resources/Database.d.ts +13 -0
- package/dist/esm/resources/FactoryRegistry.d.ts +9 -0
- package/dist/esm/resources/FactoryRegistry.js +42 -0
- package/dist/esm/resources/FactoryRegistry.js.map +1 -0
- package/dist/esm/resources/IndexedDbDatabase.d.ts +21 -0
- package/dist/esm/resources/IndexedDbDatabase.js +143 -0
- package/dist/esm/resources/IndexedDbDatabase.js.map +1 -0
- package/dist/esm/resources/IndexedDbStore.d.ts +16 -0
- package/dist/esm/resources/IndexedDbStore.js +32 -0
- package/dist/esm/resources/IndexedDbStore.js.map +1 -0
- package/dist/esm/resources/Loader.d.ts +88 -0
- package/dist/esm/resources/Loader.js +601 -0
- package/dist/esm/resources/Loader.js.map +1 -0
- package/dist/esm/resources/NetworkOnlyStrategy.d.ts +5 -0
- package/dist/esm/resources/NetworkOnlyStrategy.js +12 -0
- package/dist/esm/resources/NetworkOnlyStrategy.js.map +1 -0
- package/dist/esm/resources/factories/BinaryFactory.d.ts +6 -0
- package/dist/esm/resources/factories/BinaryFactory.js +14 -0
- package/dist/esm/resources/factories/BinaryFactory.js.map +1 -0
- package/dist/esm/resources/factories/FontFactory.d.ts +13 -0
- package/dist/esm/resources/factories/FontFactory.js +36 -0
- package/dist/esm/resources/factories/FontFactory.js.map +1 -0
- package/dist/esm/resources/factories/ImageFactory.d.ts +10 -0
- package/dist/esm/resources/factories/ImageFactory.js +35 -0
- package/dist/esm/resources/factories/ImageFactory.js.map +1 -0
- package/dist/esm/resources/factories/JsonFactory.d.ts +6 -0
- package/dist/esm/resources/factories/JsonFactory.js +14 -0
- package/dist/esm/resources/factories/JsonFactory.js.map +1 -0
- package/dist/esm/resources/factories/MusicFactory.d.ts +16 -0
- package/dist/esm/resources/factories/MusicFactory.js +37 -0
- package/dist/esm/resources/factories/MusicFactory.js.map +1 -0
- package/dist/esm/resources/factories/SoundFactory.d.ts +14 -0
- package/dist/esm/resources/factories/SoundFactory.js +22 -0
- package/dist/esm/resources/factories/SoundFactory.js.map +1 -0
- package/dist/esm/resources/factories/SvgFactory.d.ts +6 -0
- package/dist/esm/resources/factories/SvgFactory.js +34 -0
- package/dist/esm/resources/factories/SvgFactory.js.map +1 -0
- package/dist/esm/resources/factories/TextFactory.d.ts +6 -0
- package/dist/esm/resources/factories/TextFactory.js +14 -0
- package/dist/esm/resources/factories/TextFactory.js.map +1 -0
- package/dist/esm/resources/factories/TextureFactory.d.ts +13 -0
- package/dist/esm/resources/factories/TextureFactory.js +37 -0
- package/dist/esm/resources/factories/TextureFactory.js.map +1 -0
- package/dist/esm/resources/factories/VideoFactory.d.ts +18 -0
- package/dist/esm/resources/factories/VideoFactory.js +40 -0
- package/dist/esm/resources/factories/VideoFactory.js.map +1 -0
- package/dist/esm/resources/factories/VttFactory.d.ts +6 -0
- package/dist/esm/resources/factories/VttFactory.js +57 -0
- package/dist/esm/resources/factories/VttFactory.js.map +1 -0
- package/dist/esm/resources/factories/WasmFactory.d.ts +6 -0
- package/dist/esm/resources/factories/WasmFactory.js +14 -0
- package/dist/esm/resources/factories/WasmFactory.js.map +1 -0
- package/dist/esm/resources/index.d.ts +26 -0
- package/dist/esm/resources/tokens.d.ts +30 -0
- package/dist/esm/resources/tokens.js +33 -0
- package/dist/esm/resources/tokens.js.map +1 -0
- package/dist/esm/resources/utils.d.ts +1 -0
- package/dist/esm/resources/utils.js +129 -0
- package/dist/esm/resources/utils.js.map +1 -0
- package/dist/esm/vendor/webgl-debug.js +1160 -0
- package/dist/esm/vendor/webgl-debug.js.map +1 -0
- package/dist/exo.esm.js +17111 -0
- package/dist/exo.esm.js.map +1 -0
- package/dist/exo.esm.min.js +2 -0
- package/dist/exo.esm.min.js.map +1 -0
- package/dist/exo.global.js +17328 -0
- package/dist/exo.global.js.map +1 -0
- package/dist/exo.global.min.js +2 -0
- package/dist/exo.global.min.js.map +1 -0
- package/package.json +96 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { Size } from '../math/Size.js';
|
|
2
|
+
import { Random } from '../math/Random.js';
|
|
3
|
+
import { Time } from './Time.js';
|
|
4
|
+
|
|
5
|
+
const codecNotSupportedPattern = /^no$/;
|
|
6
|
+
let internalAudioElement = null;
|
|
7
|
+
let internalCanvasElement = null;
|
|
8
|
+
let internalCanvasContext = null;
|
|
9
|
+
let internalRandom = null;
|
|
10
|
+
let supportsEventOptionsValue = null;
|
|
11
|
+
const canUseDocument = () => typeof document !== 'undefined';
|
|
12
|
+
const canUseWindow = () => typeof window !== 'undefined';
|
|
13
|
+
const getAudioElement = () => {
|
|
14
|
+
if (!canUseDocument()) {
|
|
15
|
+
throw new Error('Audio codec detection requires a document context.');
|
|
16
|
+
}
|
|
17
|
+
if (internalAudioElement === null) {
|
|
18
|
+
internalAudioElement = document.createElement('audio');
|
|
19
|
+
}
|
|
20
|
+
return internalAudioElement;
|
|
21
|
+
};
|
|
22
|
+
const getCanvasElement = () => {
|
|
23
|
+
if (!canUseDocument()) {
|
|
24
|
+
throw new Error('Canvas operations require a document context.');
|
|
25
|
+
}
|
|
26
|
+
if (internalCanvasElement === null) {
|
|
27
|
+
internalCanvasElement = document.createElement('canvas');
|
|
28
|
+
}
|
|
29
|
+
return internalCanvasElement;
|
|
30
|
+
};
|
|
31
|
+
const getCanvasContext = () => {
|
|
32
|
+
if (internalCanvasContext === null) {
|
|
33
|
+
const context = getCanvasElement().getContext('2d');
|
|
34
|
+
if (!context) {
|
|
35
|
+
throw new Error('Could not create a 2D canvas context.');
|
|
36
|
+
}
|
|
37
|
+
internalCanvasContext = context;
|
|
38
|
+
}
|
|
39
|
+
return internalCanvasContext;
|
|
40
|
+
};
|
|
41
|
+
const getRandom = () => {
|
|
42
|
+
if (internalRandom === null) {
|
|
43
|
+
internalRandom = new Random();
|
|
44
|
+
}
|
|
45
|
+
return internalRandom;
|
|
46
|
+
};
|
|
47
|
+
const rand = (min, max) => getRandom().next(min, max);
|
|
48
|
+
const noop = () => { };
|
|
49
|
+
const stopEvent = (event) => {
|
|
50
|
+
event.preventDefault();
|
|
51
|
+
event.stopImmediatePropagation();
|
|
52
|
+
};
|
|
53
|
+
const supportsWebAudio = typeof AudioContext !== 'undefined';
|
|
54
|
+
const supportsIndexedDb = typeof indexedDB !== 'undefined';
|
|
55
|
+
const supportsTouchEvents = canUseWindow() && 'ontouchstart' in window;
|
|
56
|
+
const supportsPointerEvents = typeof PointerEvent !== 'undefined';
|
|
57
|
+
const supportsEventOptions = () => {
|
|
58
|
+
if (supportsEventOptionsValue !== null) {
|
|
59
|
+
return supportsEventOptionsValue;
|
|
60
|
+
}
|
|
61
|
+
if (!canUseWindow()) {
|
|
62
|
+
supportsEventOptionsValue = false;
|
|
63
|
+
return supportsEventOptionsValue;
|
|
64
|
+
}
|
|
65
|
+
let supportsPassive = false;
|
|
66
|
+
try {
|
|
67
|
+
window.addEventListener('test', noop, {
|
|
68
|
+
get passive() {
|
|
69
|
+
supportsPassive = true;
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
window.removeEventListener('test', noop);
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
// do nothing
|
|
77
|
+
}
|
|
78
|
+
supportsEventOptionsValue = supportsPassive;
|
|
79
|
+
return supportsEventOptionsValue;
|
|
80
|
+
};
|
|
81
|
+
const getPreciseTime = () => performance.now();
|
|
82
|
+
const milliseconds = (value) => new Time(value, Time.milliseconds);
|
|
83
|
+
const seconds = (value) => new Time(value, Time.seconds);
|
|
84
|
+
const minutes = (value) => new Time(value, Time.minutes);
|
|
85
|
+
const hours = (value) => new Time(value, Time.hours);
|
|
86
|
+
const emptyArrayBuffer = new ArrayBuffer(0);
|
|
87
|
+
const removeArrayItems = (array, startIndex, amount) => {
|
|
88
|
+
if (startIndex < array.length && amount > 0) {
|
|
89
|
+
const removeCount = (startIndex + amount > array.length)
|
|
90
|
+
? (array.length - startIndex)
|
|
91
|
+
: amount;
|
|
92
|
+
const newLen = (array.length - removeCount);
|
|
93
|
+
for (let i = startIndex; i < newLen; i++) {
|
|
94
|
+
array[i] = array[i + removeCount];
|
|
95
|
+
}
|
|
96
|
+
array.length = newLen;
|
|
97
|
+
}
|
|
98
|
+
return array;
|
|
99
|
+
};
|
|
100
|
+
const supportsCodec = (...codecs) => codecs.some((codec) => getAudioElement().canPlayType(codec).replace(codecNotSupportedPattern, ''));
|
|
101
|
+
const getCanvasSourceSize = (source) => {
|
|
102
|
+
const dynamicSource = source;
|
|
103
|
+
if (source instanceof HTMLImageElement) {
|
|
104
|
+
return Size.temp.set(source.naturalWidth, source.naturalHeight);
|
|
105
|
+
}
|
|
106
|
+
if (source instanceof HTMLVideoElement) {
|
|
107
|
+
return Size.temp.set(source.videoWidth, source.videoHeight);
|
|
108
|
+
}
|
|
109
|
+
if (source instanceof SVGElement) {
|
|
110
|
+
return Size.temp.copy(source.getBoundingClientRect());
|
|
111
|
+
}
|
|
112
|
+
if (typeof dynamicSource.displayWidth === 'number' && typeof dynamicSource.displayHeight === 'number') {
|
|
113
|
+
return Size.temp.set(dynamicSource.displayWidth, dynamicSource.displayHeight);
|
|
114
|
+
}
|
|
115
|
+
if (typeof dynamicSource.width === 'number' && typeof dynamicSource.height === 'number') {
|
|
116
|
+
return Size.temp.set(dynamicSource.width, dynamicSource.height);
|
|
117
|
+
}
|
|
118
|
+
return Size.zero;
|
|
119
|
+
};
|
|
120
|
+
const getTextureSourceSize = (source) => {
|
|
121
|
+
if (source === null) {
|
|
122
|
+
return Size.zero;
|
|
123
|
+
}
|
|
124
|
+
return getCanvasSourceSize(source);
|
|
125
|
+
};
|
|
126
|
+
const canvasSourceToDataUrl = (source) => {
|
|
127
|
+
const { width, height } = getCanvasSourceSize(source);
|
|
128
|
+
const canvasElement = getCanvasElement();
|
|
129
|
+
canvasElement.width = width;
|
|
130
|
+
canvasElement.height = height;
|
|
131
|
+
getCanvasContext().drawImage(source, 0, 0, width, height);
|
|
132
|
+
return canvasElement.toDataURL();
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
export { canvasSourceToDataUrl, emptyArrayBuffer, getCanvasSourceSize, getPreciseTime, getTextureSourceSize, hours, milliseconds, minutes, noop, rand, removeArrayItems, seconds, stopEvent, supportsCodec, supportsEventOptions, supportsIndexedDb, supportsPointerEvents, supportsTouchEvents, supportsWebAudio };
|
|
136
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/core/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './core/index';
|
|
2
|
+
export * from './audio/index';
|
|
3
|
+
export * from './input/index';
|
|
4
|
+
export * from './math/index';
|
|
5
|
+
export * from './particles/index';
|
|
6
|
+
export * from './rendering/index';
|
|
7
|
+
export * from './resources/index';
|
|
8
|
+
export * from './physics/index';
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
export { canvasSourceToDataUrl, emptyArrayBuffer, getCanvasSourceSize, getPreciseTime, getTextureSourceSize, hours, milliseconds, minutes, noop, rand, removeArrayItems, seconds, stopEvent, supportsCodec, supportsEventOptions, supportsIndexedDb, supportsPointerEvents, supportsTouchEvents, supportsWebAudio } from './core/utils.js';
|
|
2
|
+
export { Application, ApplicationStatus } from './core/Application.js';
|
|
3
|
+
export { Bounds } from './core/Bounds.js';
|
|
4
|
+
export { Clock } from './core/Clock.js';
|
|
5
|
+
export { Color } from './core/Color.js';
|
|
6
|
+
export { Quadtree } from './core/Quadtree.js';
|
|
7
|
+
export { Scene } from './core/Scene.js';
|
|
8
|
+
export { SceneManager } from './core/SceneManager.js';
|
|
9
|
+
export { SceneNode } from './core/SceneNode.js';
|
|
10
|
+
export { Signal } from './core/Signal.js';
|
|
11
|
+
export { Time } from './core/Time.js';
|
|
12
|
+
export { Timer } from './core/Timer.js';
|
|
13
|
+
export { AbstractMedia } from './audio/AbstractMedia.js';
|
|
14
|
+
export { decodeAudioData, getAudioContext, getOfflineAudioContext, isAudioContextReady, onAudioContextReady } from './audio/audio-context.js';
|
|
15
|
+
export { AudioAnalyser } from './audio/AudioAnalyser.js';
|
|
16
|
+
export { Music } from './audio/Music.js';
|
|
17
|
+
export { Sound } from './audio/Sound.js';
|
|
18
|
+
export { ChannelOffset, ChannelSize, Keyboard } from './input/types.js';
|
|
19
|
+
export { GamepadChannel } from './input/GamepadChannels.js';
|
|
20
|
+
export { GamepadControl } from './input/GamepadControl.js';
|
|
21
|
+
export { GamepadMapping, GamepadMappingFamily } from './input/GamepadMapping.js';
|
|
22
|
+
export { builtInGamepadDefinitions, matchesIds, normalizeIds, parseGamepadDescriptor, resolveDefinition, resolveGamepadDefinition } from './input/GamepadDefinitions.js';
|
|
23
|
+
export { Gamepad } from './input/Gamepad.js';
|
|
24
|
+
export { GamepadPromptLayouts } from './input/GamepadPromptLayouts.js';
|
|
25
|
+
export { GenericDualAnalogGamepadMapping } from './input/GenericDualAnalogGamepadMapping.js';
|
|
26
|
+
export { XboxGamepadMapping } from './input/XboxGamepadMapping.js';
|
|
27
|
+
export { PlayStationGamepadMapping } from './input/PlayStationGamepadMapping.js';
|
|
28
|
+
export { SwitchProGamepadMapping } from './input/SwitchProGamepadMapping.js';
|
|
29
|
+
export { JoyConLeftGamepadMapping } from './input/JoyConLeftGamepadMapping.js';
|
|
30
|
+
export { JoyConRightGamepadMapping } from './input/JoyConRightGamepadMapping.js';
|
|
31
|
+
export { GameCubeGamepadMapping } from './input/GameCubeGamepadMapping.js';
|
|
32
|
+
export { SteamControllerGamepadMapping } from './input/SteamControllerGamepadMapping.js';
|
|
33
|
+
export { ArcadeStickGamepadMapping } from './input/ArcadeStickGamepadMapping.js';
|
|
34
|
+
export { Input } from './input/Input.js';
|
|
35
|
+
export { InputManager } from './input/InputManager.js';
|
|
36
|
+
export { Pointer, PointerState, PointerStateFlag } from './input/Pointer.js';
|
|
37
|
+
export { CollisionType } from './math/Collision.js';
|
|
38
|
+
export { VoronoiRegion, bezierCurveTo, clamp, degreesPerRadian, degreesToRadians, getDistance, getVoronoiRegion, inRange, isPowerOfTwo, lerp, quadraticCurveTo, radiansPerDegree, radiansToDegrees, sign, tau, trimRotation } from './math/utils.js';
|
|
39
|
+
export { buildCircle, buildEllipse, buildLine, buildPath, buildPolygon, buildRectangle, buildStar } from './math/geometry.js';
|
|
40
|
+
export { getCollisionCircleCircle, getCollisionCircleRectangle, getCollisionPolygonCircle, getCollisionRectangleRectangle, getCollisionSat, intersectionCircleCircle, intersectionCircleEllipse, intersectionCirclePoly, intersectionEllipseEllipse, intersectionEllipsePoly, intersectionLineCircle, intersectionLineEllipse, intersectionLineLine, intersectionLinePoly, intersectionLineRect, intersectionPointCircle, intersectionPointEllipse, intersectionPointLine, intersectionPointPoint, intersectionPointPoly, intersectionPointRect, intersectionPolyPoly, intersectionRectCircle, intersectionRectEllipse, intersectionRectPoly, intersectionRectRect, intersectionSat } from './math/collision-detection.js';
|
|
41
|
+
export { Vector } from './math/Vector.js';
|
|
42
|
+
export { Line } from './math/Line.js';
|
|
43
|
+
export { Rectangle } from './math/Rectangle.js';
|
|
44
|
+
export { Circle } from './math/Circle.js';
|
|
45
|
+
export { Ellipse } from './math/Ellipse.js';
|
|
46
|
+
export { Polygon } from './math/Polygon.js';
|
|
47
|
+
export { Flags } from './math/Flags.js';
|
|
48
|
+
export { Interval } from './math/Interval.js';
|
|
49
|
+
export { Matrix } from './math/Matrix.js';
|
|
50
|
+
export { ObservableSize } from './math/ObservableSize.js';
|
|
51
|
+
export { ObservableVector } from './math/ObservableVector.js';
|
|
52
|
+
export { Random } from './math/Random.js';
|
|
53
|
+
export { Segment } from './math/Segment.js';
|
|
54
|
+
export { Size } from './math/Size.js';
|
|
55
|
+
export { Transformable, TransformableFlags } from './math/Transformable.js';
|
|
56
|
+
export { PolarVector } from './math/PolarVector.js';
|
|
57
|
+
export { ColorAffector } from './particles/affectors/ColorAffector.js';
|
|
58
|
+
export { ForceAffector } from './particles/affectors/ForceAffector.js';
|
|
59
|
+
export { ScaleAffector } from './particles/affectors/ScaleAffector.js';
|
|
60
|
+
export { TorqueAffector } from './particles/affectors/TorqueAffector.js';
|
|
61
|
+
export { ParticleOptions } from './particles/emitters/ParticleOptions.js';
|
|
62
|
+
export { UniversalEmitter } from './particles/emitters/UniversalEmitter.js';
|
|
63
|
+
export { Particle } from './particles/Particle.js';
|
|
64
|
+
export { ParticleSystem } from './particles/ParticleSystem.js';
|
|
65
|
+
export { CircleGeometry } from './rendering/primitives/CircleGeometry.js';
|
|
66
|
+
export { Geometry } from './rendering/primitives/Geometry.js';
|
|
67
|
+
export { DrawableShape } from './rendering/primitives/DrawableShape.js';
|
|
68
|
+
export { Graphics } from './rendering/primitives/Graphics.js';
|
|
69
|
+
export { Shader } from './rendering/shader/Shader.js';
|
|
70
|
+
export { ShaderAttribute } from './rendering/shader/ShaderAttribute.js';
|
|
71
|
+
export { ShaderUniform } from './rendering/shader/ShaderUniform.js';
|
|
72
|
+
export { Sprite, SpriteFlags } from './rendering/sprite/Sprite.js';
|
|
73
|
+
export { Spritesheet } from './rendering/sprite/Spritesheet.js';
|
|
74
|
+
export { AnimatedSprite } from './rendering/sprite/AnimatedSprite.js';
|
|
75
|
+
export { Text } from './rendering/text/Text.js';
|
|
76
|
+
export { TextStyle } from './rendering/text/TextStyle.js';
|
|
77
|
+
export { RenderTexture } from './rendering/texture/RenderTexture.js';
|
|
78
|
+
export { Sampler } from './rendering/texture/Sampler.js';
|
|
79
|
+
export { Texture } from './rendering/texture/Texture.js';
|
|
80
|
+
export { Video } from './rendering/video/Video.js';
|
|
81
|
+
export { AbstractWebGl2BatchedRenderer } from './rendering/webgl2/AbstractWebGl2BatchedRenderer.js';
|
|
82
|
+
export { AbstractWebGl2Renderer } from './rendering/webgl2/AbstractWebGl2Renderer.js';
|
|
83
|
+
export { WebGl2RenderBuffer } from './rendering/webgl2/WebGl2RenderBuffer.js';
|
|
84
|
+
export { WebGl2ShaderBlock } from './rendering/webgl2/WebGl2ShaderBlock.js';
|
|
85
|
+
export { webGl2PrimitiveArrayConstructors, webGl2PrimitiveByteSizeMapping, webGl2PrimitiveTypeNames } from './rendering/webgl2/WebGl2ShaderMappings.js';
|
|
86
|
+
export { WebGl2VertexArrayObject } from './rendering/webgl2/WebGl2VertexArrayObject.js';
|
|
87
|
+
export { WebGl2ParticleRenderer } from './rendering/webgl2/WebGl2ParticleRenderer.js';
|
|
88
|
+
export { WebGl2PrimitiveRenderer } from './rendering/webgl2/WebGl2PrimitiveRenderer.js';
|
|
89
|
+
export { WebGl2RenderManager } from './rendering/webgl2/WebGl2RenderManager.js';
|
|
90
|
+
export { createWebGl2ShaderRuntime } from './rendering/webgl2/WebGl2ShaderRuntime.js';
|
|
91
|
+
export { WebGl2SpriteRenderer } from './rendering/webgl2/WebGl2SpriteRenderer.js';
|
|
92
|
+
export { AbstractWebGpuRenderer } from './rendering/webgpu/AbstractWebGpuRenderer.js';
|
|
93
|
+
export { getWebGpuBlendState } from './rendering/webgpu/WebGpuBlendState.js';
|
|
94
|
+
export { WebGpuParticleRenderer } from './rendering/webgpu/WebGpuParticleRenderer.js';
|
|
95
|
+
export { WebGpuPrimitiveRenderer } from './rendering/webgpu/WebGpuPrimitiveRenderer.js';
|
|
96
|
+
export { WebGpuRenderManager } from './rendering/webgpu/WebGpuRenderManager.js';
|
|
97
|
+
export { WebGpuSpriteRenderer } from './rendering/webgpu/WebGpuSpriteRenderer.js';
|
|
98
|
+
export { BlendModes, BufferTypes, BufferUsage, RenderingPrimitives, ScaleModes, ShaderPrimitives, WrapModes } from './rendering/types.js';
|
|
99
|
+
export { Container } from './rendering/Container.js';
|
|
100
|
+
export { Drawable } from './rendering/Drawable.js';
|
|
101
|
+
export { RenderNode } from './rendering/RenderNode.js';
|
|
102
|
+
export { RenderBackendType } from './rendering/RenderBackendType.js';
|
|
103
|
+
export { createRenderStats, resetRenderStats } from './rendering/RenderStats.js';
|
|
104
|
+
export { RenderTarget } from './rendering/RenderTarget.js';
|
|
105
|
+
export { RenderTargetPass } from './rendering/RenderTargetPass.js';
|
|
106
|
+
export { CallbackRenderPass } from './rendering/CallbackRenderPass.js';
|
|
107
|
+
export { RendererRegistry } from './rendering/RendererRegistry.js';
|
|
108
|
+
export { View, ViewFlags } from './rendering/View.js';
|
|
109
|
+
export { Filter } from './rendering/filters/Filter.js';
|
|
110
|
+
export { BlurFilter } from './rendering/filters/BlurFilter.js';
|
|
111
|
+
export { ColorFilter } from './rendering/filters/ColorFilter.js';
|
|
112
|
+
export { AbstractAssetFactory } from './resources/AbstractAssetFactory.js';
|
|
113
|
+
export { Json, SvgAsset, TextAsset, VttAsset } from './resources/tokens.js';
|
|
114
|
+
export { CacheFirstStrategy } from './resources/CacheFirstStrategy.js';
|
|
115
|
+
export { NetworkOnlyStrategy } from './resources/NetworkOnlyStrategy.js';
|
|
116
|
+
export { IndexedDbStore } from './resources/IndexedDbStore.js';
|
|
117
|
+
export { FactoryRegistry } from './resources/FactoryRegistry.js';
|
|
118
|
+
export { BundleLoadError, defineAssetManifest } from './resources/AssetManifest.js';
|
|
119
|
+
export { Loader } from './resources/Loader.js';
|
|
120
|
+
export { IndexedDbDatabase } from './resources/IndexedDbDatabase.js';
|
|
121
|
+
export { determineMimeType } from './resources/utils.js';
|
|
122
|
+
export { FontFactory } from './resources/factories/FontFactory.js';
|
|
123
|
+
export { ImageFactory } from './resources/factories/ImageFactory.js';
|
|
124
|
+
export { JsonFactory } from './resources/factories/JsonFactory.js';
|
|
125
|
+
export { MusicFactory } from './resources/factories/MusicFactory.js';
|
|
126
|
+
export { SoundFactory } from './resources/factories/SoundFactory.js';
|
|
127
|
+
export { SvgFactory } from './resources/factories/SvgFactory.js';
|
|
128
|
+
export { TextFactory } from './resources/factories/TextFactory.js';
|
|
129
|
+
export { TextureFactory } from './resources/factories/TextureFactory.js';
|
|
130
|
+
export { VideoFactory } from './resources/factories/VideoFactory.js';
|
|
131
|
+
export { BinaryFactory } from './resources/factories/BinaryFactory.js';
|
|
132
|
+
export { VttFactory } from './resources/factories/VttFactory.js';
|
|
133
|
+
export { WasmFactory } from './resources/factories/WasmFactory.js';
|
|
134
|
+
export { RapierPhysicsBinding, RapierPhysicsWorld, createRapierPhysicsWorld } from './physics/RapierPhysicsWorld.js';
|
|
135
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { GamepadChannel } from './GamepadChannels.js';
|
|
2
|
+
import { GamepadMapping, GamepadMappingFamily } from './GamepadMapping.js';
|
|
3
|
+
|
|
4
|
+
const arcadeStickButtonDefinitions = [
|
|
5
|
+
[0, GamepadChannel.ButtonSouth],
|
|
6
|
+
[1, GamepadChannel.ButtonEast],
|
|
7
|
+
[2, GamepadChannel.ButtonWest],
|
|
8
|
+
[3, GamepadChannel.ButtonNorth],
|
|
9
|
+
[4, GamepadChannel.LeftShoulder],
|
|
10
|
+
[5, GamepadChannel.RightShoulder],
|
|
11
|
+
[6, GamepadChannel.LeftTrigger],
|
|
12
|
+
[7, GamepadChannel.RightTrigger],
|
|
13
|
+
[8, GamepadChannel.Select],
|
|
14
|
+
[9, GamepadChannel.Start],
|
|
15
|
+
[12, GamepadChannel.DPadUp],
|
|
16
|
+
[13, GamepadChannel.DPadDown],
|
|
17
|
+
[14, GamepadChannel.DPadLeft],
|
|
18
|
+
[15, GamepadChannel.DPadRight],
|
|
19
|
+
[16, GamepadChannel.Guide],
|
|
20
|
+
];
|
|
21
|
+
class ArcadeStickGamepadMapping extends GamepadMapping {
|
|
22
|
+
family = GamepadMappingFamily.ArcadeStick;
|
|
23
|
+
constructor() {
|
|
24
|
+
super(GamepadMapping.createControls(arcadeStickButtonDefinitions), []);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { ArcadeStickGamepadMapping };
|
|
29
|
+
//# sourceMappingURL=ArcadeStickGamepadMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArcadeStickGamepadMapping.js","sources":["../../../../src/input/ArcadeStickGamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA,MAAM,4BAA4B,GAA4C;AAC1E,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;AAC/B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC;AAC9B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC;AAC9B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;AAC/B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC;AAChC,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC;AACjC,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;AAC/B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC;AAChC,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;AAC1B,IAAA,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC;AACzB,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC;AAC3B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC;AAC7B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC;AAC7B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,SAAS,CAAC;AAC9B,IAAA,CAAC,EAAE,EAAE,cAAc,CAAC,KAAK,CAAC;CAC7B;AAEK,MAAO,yBAA0B,SAAQ,cAAc,CAAA;AACzC,IAAA,MAAM,GAAG,oBAAoB,CAAC,WAAW;AAEzD,IAAA,WAAA,GAAA;QACI,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC;IAC1E;AACH;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { GenericDualAnalogGamepadMapping } from './GenericDualAnalogGamepadMapping';
|
|
2
|
+
import { GamepadMappingFamily } from './GamepadMapping';
|
|
3
|
+
export declare class GameCubeGamepadMapping extends GenericDualAnalogGamepadMapping {
|
|
4
|
+
readonly family = GamepadMappingFamily.GameCube;
|
|
5
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { GenericDualAnalogGamepadMapping } from './GenericDualAnalogGamepadMapping.js';
|
|
2
|
+
import { GamepadMappingFamily } from './GamepadMapping.js';
|
|
3
|
+
|
|
4
|
+
class GameCubeGamepadMapping extends GenericDualAnalogGamepadMapping {
|
|
5
|
+
family = GamepadMappingFamily.GameCube;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export { GameCubeGamepadMapping };
|
|
9
|
+
//# sourceMappingURL=GameCubeGamepadMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GameCubeGamepadMapping.js","sources":["../../../../src/input/GameCubeGamepadMapping.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGM,MAAO,sBAAuB,SAAQ,+BAA+B,CAAA;AAC9C,IAAA,MAAM,GAAG,oBAAoB,CAAC,QAAQ;AAClE;;;;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Signal } from '@/core/Signal';
|
|
2
|
+
import type { GamepadChannel } from './GamepadChannels';
|
|
3
|
+
import type { BrowserGamepad, ResolvedGamepadDefinition } from './GamepadDefinitions';
|
|
4
|
+
import type { GamepadMappingFamily, GamepadMapping } from './GamepadMapping';
|
|
5
|
+
export interface GamepadInfo {
|
|
6
|
+
name: string;
|
|
7
|
+
label: string;
|
|
8
|
+
vendorId: string | null;
|
|
9
|
+
productId: string | null;
|
|
10
|
+
productKey: string | null;
|
|
11
|
+
}
|
|
12
|
+
export declare class Gamepad {
|
|
13
|
+
readonly onConnect: Signal<[Gamepad]>;
|
|
14
|
+
readonly onDisconnect: Signal<[Gamepad]>;
|
|
15
|
+
readonly onUpdate: Signal<[GamepadChannel, number, Gamepad]>;
|
|
16
|
+
private readonly indexValue;
|
|
17
|
+
private readonly channelsValue;
|
|
18
|
+
private readonly channelOffset;
|
|
19
|
+
private mappingValue;
|
|
20
|
+
private browserGamepad;
|
|
21
|
+
private info;
|
|
22
|
+
constructor(index: number, channels: Float32Array, mapping: GamepadMapping);
|
|
23
|
+
constructor(gamepad: BrowserGamepad, channels: Float32Array, definition: ResolvedGamepadDefinition);
|
|
24
|
+
get mapping(): GamepadMapping;
|
|
25
|
+
set mapping(mapping: GamepadMapping);
|
|
26
|
+
get mappingFamily(): GamepadMappingFamily;
|
|
27
|
+
get channels(): Float32Array;
|
|
28
|
+
get gamepad(): BrowserGamepad | null;
|
|
29
|
+
get index(): number;
|
|
30
|
+
get connected(): boolean;
|
|
31
|
+
get name(): string;
|
|
32
|
+
get label(): string;
|
|
33
|
+
get vendorId(): string | null;
|
|
34
|
+
get productId(): string | null;
|
|
35
|
+
get productKey(): string | null;
|
|
36
|
+
setInfo(info: GamepadInfo): this;
|
|
37
|
+
connect(gamepad: BrowserGamepad): this;
|
|
38
|
+
disconnect(): this;
|
|
39
|
+
update(): this;
|
|
40
|
+
clearChannels(): this;
|
|
41
|
+
destroy(): void;
|
|
42
|
+
resolveChannelOffset(channel: GamepadChannel): number;
|
|
43
|
+
static resolveChannelOffset(gamepadIndex: number, channel: GamepadChannel): number;
|
|
44
|
+
private clearMappedChannels;
|
|
45
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { Signal } from '../core/Signal.js';
|
|
2
|
+
import { ChannelOffset, ChannelSize } from './types.js';
|
|
3
|
+
|
|
4
|
+
class Gamepad {
|
|
5
|
+
onConnect = new Signal();
|
|
6
|
+
onDisconnect = new Signal();
|
|
7
|
+
onUpdate = new Signal();
|
|
8
|
+
indexValue;
|
|
9
|
+
channelsValue;
|
|
10
|
+
channelOffset;
|
|
11
|
+
mappingValue;
|
|
12
|
+
browserGamepad = null;
|
|
13
|
+
info = {
|
|
14
|
+
name: 'Generic Gamepad',
|
|
15
|
+
label: 'Generic Gamepad',
|
|
16
|
+
vendorId: null,
|
|
17
|
+
productId: null,
|
|
18
|
+
productKey: null,
|
|
19
|
+
};
|
|
20
|
+
constructor(indexOrGamepad, channels, mappingOrDefinition) {
|
|
21
|
+
const isBrowserGamepad = typeof indexOrGamepad !== 'number';
|
|
22
|
+
const gamepad = isBrowserGamepad ? indexOrGamepad : null;
|
|
23
|
+
const index = isBrowserGamepad ? indexOrGamepad.index : indexOrGamepad;
|
|
24
|
+
this.indexValue = index;
|
|
25
|
+
this.channelsValue = channels;
|
|
26
|
+
this.channelOffset = ChannelOffset.Gamepads + (index * ChannelSize.Gamepad);
|
|
27
|
+
this.mappingValue = gamepad
|
|
28
|
+
? mappingOrDefinition.mapping
|
|
29
|
+
: mappingOrDefinition;
|
|
30
|
+
if (gamepad) {
|
|
31
|
+
const definition = mappingOrDefinition;
|
|
32
|
+
this.setInfo({
|
|
33
|
+
name: definition.name,
|
|
34
|
+
label: definition.descriptor.label,
|
|
35
|
+
vendorId: definition.descriptor.vendorId,
|
|
36
|
+
productId: definition.descriptor.productId,
|
|
37
|
+
productKey: definition.descriptor.productKey,
|
|
38
|
+
});
|
|
39
|
+
this.connect(gamepad);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
get mapping() {
|
|
43
|
+
return this.mappingValue;
|
|
44
|
+
}
|
|
45
|
+
set mapping(mapping) {
|
|
46
|
+
this.mappingValue = mapping;
|
|
47
|
+
}
|
|
48
|
+
get mappingFamily() {
|
|
49
|
+
return this.mappingValue.family;
|
|
50
|
+
}
|
|
51
|
+
get channels() {
|
|
52
|
+
return this.channelsValue;
|
|
53
|
+
}
|
|
54
|
+
get gamepad() {
|
|
55
|
+
return this.browserGamepad;
|
|
56
|
+
}
|
|
57
|
+
get index() {
|
|
58
|
+
return this.indexValue;
|
|
59
|
+
}
|
|
60
|
+
get connected() {
|
|
61
|
+
return this.browserGamepad !== null;
|
|
62
|
+
}
|
|
63
|
+
get name() {
|
|
64
|
+
return this.info.name;
|
|
65
|
+
}
|
|
66
|
+
get label() {
|
|
67
|
+
return this.info.label;
|
|
68
|
+
}
|
|
69
|
+
get vendorId() {
|
|
70
|
+
return this.info.vendorId;
|
|
71
|
+
}
|
|
72
|
+
get productId() {
|
|
73
|
+
return this.info.productId;
|
|
74
|
+
}
|
|
75
|
+
get productKey() {
|
|
76
|
+
return this.info.productKey;
|
|
77
|
+
}
|
|
78
|
+
setInfo(info) {
|
|
79
|
+
this.info = info;
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
connect(gamepad) {
|
|
83
|
+
const wasConnected = this.connected;
|
|
84
|
+
this.browserGamepad = gamepad;
|
|
85
|
+
if (!wasConnected) {
|
|
86
|
+
this.onConnect.dispatch(this);
|
|
87
|
+
}
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
disconnect() {
|
|
91
|
+
if (this.connected) {
|
|
92
|
+
this.browserGamepad = null;
|
|
93
|
+
this.clearMappedChannels();
|
|
94
|
+
this.onDisconnect.dispatch(this);
|
|
95
|
+
}
|
|
96
|
+
return this;
|
|
97
|
+
}
|
|
98
|
+
update() {
|
|
99
|
+
if (this.browserGamepad === null) {
|
|
100
|
+
return this;
|
|
101
|
+
}
|
|
102
|
+
const channels = this.channelsValue;
|
|
103
|
+
const { buttons: gamepadButtons, axes: gamepadAxes } = this.browserGamepad;
|
|
104
|
+
for (const control of this.mappingValue.buttons) {
|
|
105
|
+
const offsetChannel = this.resolveChannelOffset(control.channel);
|
|
106
|
+
if (control.index < gamepadButtons.length) {
|
|
107
|
+
const value = control.transformValue(gamepadButtons[control.index].value) || 0;
|
|
108
|
+
if (channels[offsetChannel] !== value) {
|
|
109
|
+
channels[offsetChannel] = value;
|
|
110
|
+
this.onUpdate.dispatch(control.channel, value, this);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
for (const control of this.mappingValue.axes) {
|
|
115
|
+
const offsetChannel = this.resolveChannelOffset(control.channel);
|
|
116
|
+
if (control.index < gamepadAxes.length) {
|
|
117
|
+
const value = control.transformValue(gamepadAxes[control.index]) || 0;
|
|
118
|
+
if (channels[offsetChannel] !== value) {
|
|
119
|
+
channels[offsetChannel] = value;
|
|
120
|
+
this.onUpdate.dispatch(control.channel, value, this);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
clearChannels() {
|
|
127
|
+
this.clearMappedChannels();
|
|
128
|
+
return this;
|
|
129
|
+
}
|
|
130
|
+
destroy() {
|
|
131
|
+
this.disconnect();
|
|
132
|
+
this.clearMappedChannels();
|
|
133
|
+
this.onConnect.destroy();
|
|
134
|
+
this.onDisconnect.destroy();
|
|
135
|
+
this.onUpdate.destroy();
|
|
136
|
+
}
|
|
137
|
+
resolveChannelOffset(channel) {
|
|
138
|
+
return this.channelOffset + (channel ^ ChannelOffset.Gamepads);
|
|
139
|
+
}
|
|
140
|
+
static resolveChannelOffset(gamepadIndex, channel) {
|
|
141
|
+
return ChannelOffset.Gamepads + (gamepadIndex * ChannelSize.Gamepad) + (channel ^ ChannelOffset.Gamepads);
|
|
142
|
+
}
|
|
143
|
+
clearMappedChannels() {
|
|
144
|
+
for (const control of this.mappingValue.buttons) {
|
|
145
|
+
this.channelsValue[this.resolveChannelOffset(control.channel)] = 0;
|
|
146
|
+
}
|
|
147
|
+
for (const control of this.mappingValue.axes) {
|
|
148
|
+
this.channelsValue[this.resolveChannelOffset(control.channel)] = 0;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export { Gamepad };
|
|
154
|
+
//# sourceMappingURL=Gamepad.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Gamepad.js","sources":["../../../../src/input/Gamepad.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare enum GamepadChannel {
|
|
2
|
+
ButtonSouth = 512,
|
|
3
|
+
ButtonWest = 513,
|
|
4
|
+
ButtonEast = 514,
|
|
5
|
+
ButtonNorth = 515,
|
|
6
|
+
LeftShoulder = 516,
|
|
7
|
+
RightShoulder = 517,
|
|
8
|
+
LeftTrigger = 518,
|
|
9
|
+
RightTrigger = 519,
|
|
10
|
+
Select = 520,
|
|
11
|
+
Start = 521,
|
|
12
|
+
LeftStick = 522,
|
|
13
|
+
RightStick = 523,
|
|
14
|
+
DPadUp = 524,
|
|
15
|
+
DPadDown = 525,
|
|
16
|
+
DPadLeft = 526,
|
|
17
|
+
DPadRight = 527,
|
|
18
|
+
Guide = 528,
|
|
19
|
+
Share = 529,
|
|
20
|
+
Capture = 530,
|
|
21
|
+
Touchpad = 531,
|
|
22
|
+
Paddle1 = 532,
|
|
23
|
+
LeftStickLeft = 533,
|
|
24
|
+
LeftStickRight = 534,
|
|
25
|
+
LeftStickUp = 535,
|
|
26
|
+
LeftStickDown = 536,
|
|
27
|
+
RightStickLeft = 537,
|
|
28
|
+
RightStickRight = 538,
|
|
29
|
+
RightStickUp = 539,
|
|
30
|
+
RightStickDown = 540,
|
|
31
|
+
AuxiliaryAxis0Negative = 541,
|
|
32
|
+
AuxiliaryAxis0Positive = 542,
|
|
33
|
+
AuxiliaryAxis1Negative = 543,
|
|
34
|
+
AuxiliaryAxis1Positive = 544,
|
|
35
|
+
AuxiliaryAxis2Negative = 545,
|
|
36
|
+
AuxiliaryAxis2Positive = 546,
|
|
37
|
+
AuxiliaryAxis3Negative = 547,
|
|
38
|
+
AuxiliaryAxis3Positive = 548
|
|
39
|
+
}
|