1681-engine 0.0.0-stage → 0.5.9
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 +357 -0
- package/LICENSE +21 -0
- package/README.md +164 -2
- package/dist/1681-engine.js +471 -0
- package/dist/ambient/ColorGrade.js +40 -0
- package/dist/ambient/DayClock.js +56 -0
- package/dist/ambient/WeatherLayer.js +90 -0
- package/dist/ambient/grade.js +12 -0
- package/dist/ambient/weather.js +51 -0
- package/dist/anim/AnimStateMachine.js +163 -0
- package/dist/anim/Animator.js +66 -0
- package/dist/anim/animStateCompile.js +112 -0
- package/dist/anim/animStateSystem.js +16 -0
- package/dist/anim/animationSystem.js +14 -0
- package/dist/anim/asepriteSlices.js +21 -0
- package/dist/anim/asepriteTags.js +34 -0
- package/dist/anim/parseAseprite.js +82 -0
- package/dist/assets/AssetLoader.js +202 -0
- package/dist/assets/loadAseprite.js +49 -0
- package/dist/assets/takeCleanerWorker-DTcI_Jqr.js +30 -0
- package/dist/assets/textureAtlas.js +58 -0
- package/dist/audio/Footsteps.js +25 -0
- package/dist/audio/MusicPlayer.js +77 -0
- package/dist/audio/SoundEngine.js +125 -0
- package/dist/audio/cleanTake.js +29 -0
- package/dist/audio/music/ElementVoice.js +34 -0
- package/dist/audio/music/GraphVoice.js +38 -0
- package/dist/audio/music/MusicChannel.js +57 -0
- package/dist/audio/music/musicVoice.js +12 -0
- package/dist/audio/sampleBank.js +81 -0
- package/dist/audio/soundTable.js +8 -0
- package/dist/audio/synth.js +35 -0
- package/dist/core/BitmapLabel.js +48 -0
- package/dist/core/Camera.js +149 -0
- package/dist/core/Clock.js +40 -0
- package/dist/core/Graphics.js +68 -0
- package/dist/core/Group.js +28 -0
- package/dist/core/Image.js +50 -0
- package/dist/core/ObjectFactory.js +54 -0
- package/dist/core/Pointer.js +80 -0
- package/dist/core/Rectangle.js +50 -0
- package/dist/core/Stage.js +85 -0
- package/dist/core/Text.js +21 -0
- package/dist/core/TextureRegistry.js +141 -0
- package/dist/core/Timeline.js +210 -0
- package/dist/core/TimelineBuilder.js +72 -0
- package/dist/core/TimelineChild.js +83 -0
- package/dist/core/Tweener.js +135 -0
- package/dist/core/atlas.js +37 -0
- package/dist/core/atlasPlan.js +21 -0
- package/dist/core/blendLayer.js +11 -0
- package/dist/core/eases.js +20 -0
- package/dist/core/gameObject.js +117 -0
- package/dist/core/pixelZoom.js +43 -0
- package/dist/core/pixiPatches.js +17 -0
- package/dist/core/runDue.js +28 -0
- package/dist/core/silhouette.js +49 -0
- package/dist/core/timelinePlace.js +23 -0
- package/dist/core/tweenProps.js +11 -0
- package/dist/debug/DebugOverlay.js +93 -0
- package/dist/debug/DrawCallCounter.js +44 -0
- package/dist/debug/ErrorLog.js +21 -0
- package/dist/debug/FrameStats.js +41 -0
- package/dist/debug/inspectWorld.js +28 -0
- package/dist/diagnostics/ErrorDeduper.js +26 -0
- package/dist/diagnostics/FrameSampler.js +41 -0
- package/dist/diagnostics/bootWatch.js +20 -0
- package/dist/diagnostics/captureErrors.js +26 -0
- package/dist/diagnostics/contextLoss.js +24 -0
- package/dist/diagnostics/frameStats.js +30 -0
- package/dist/diagnostics/gpuInfo.js +21 -0
- package/dist/diagnostics/renderGuard.js +23 -0
- package/dist/ecs/SparseSet.js +54 -0
- package/dist/ecs/World.js +306 -0
- package/dist/ecs/fields.js +25 -0
- package/dist/engine/Engine.js +106 -0
- package/dist/engine/FixedLoop.js +36 -0
- package/dist/engine/HiddenPause.js +27 -0
- package/dist/engine/Scene.js +78 -0
- package/dist/engine/SceneManager.js +72 -0
- package/dist/events/EventBus.js +41 -0
- package/dist/fx/Afterimages.js +82 -0
- package/dist/fx/FloatingText.js +71 -0
- package/dist/fx/hitStop.js +27 -0
- package/dist/fx/viewCull.js +9 -0
- package/dist/i18n/Translator.js +71 -0
- package/dist/i18n/extractStrings.js +57 -0
- package/dist/i18n/formatMessage.js +18 -0
- package/dist/input/Actions.js +139 -0
- package/dist/input/AimGesture.js +74 -0
- package/dist/input/Keyboard.js +53 -0
- package/dist/input/Keymap.js +170 -0
- package/dist/input/TargetLock.js +72 -0
- package/dist/input/aimAxis.js +7 -0
- package/dist/input/keyChord.js +28 -0
- package/dist/input/longPress.js +31 -0
- package/dist/input/rumble.js +42 -0
- package/dist/input/stickAxis.js +22 -0
- package/dist/input/touchDetect.js +6 -0
- package/dist/light/LightLayer.js +83 -0
- package/dist/nav/MinHeap.js +38 -0
- package/dist/nav/findPath.js +77 -0
- package/dist/nav/navGrid.js +35 -0
- package/dist/nav/nearestOpen.js +18 -0
- package/dist/nav/straightenPath.js +50 -0
- package/dist/net/Connection.js +107 -0
- package/dist/net/InterpolationBuffer.js +56 -0
- package/dist/net/PredictedMover.js +60 -0
- package/dist/net/Room.js +91 -0
- package/dist/net/RoomHost.js +100 -0
- package/dist/net/cadence.js +21 -0
- package/dist/net/constants.js +10 -0
- package/dist/net/lobby/LobbyClient.js +123 -0
- package/dist/net/lobby/LobbyHost.js +365 -0
- package/dist/net/lobby/LobbyRooms.js +65 -0
- package/dist/net/lobby/Matchmaker.js +105 -0
- package/dist/net/movement.js +84 -0
- package/dist/net/protocol.js +10 -0
- package/dist/net/reconnect.js +10 -0
- package/dist/net/serverClock.js +21 -0
- package/dist/net/snapshotCodec.js +91 -0
- package/dist/parallax/Parallax.js +31 -0
- package/dist/parallax/ParallaxLayer.js +69 -0
- package/dist/parallax/parallaxMath.js +26 -0
- package/dist/particles/Emitter.js +107 -0
- package/dist/particles/ParticleBudget.js +31 -0
- package/dist/particles/ParticleSim.js +59 -0
- package/dist/particles/particleCurves.js +47 -0
- package/dist/particles/particleSampling.js +29 -0
- package/dist/physics/Body.js +201 -0
- package/dist/physics/BroadPhase.js +55 -0
- package/dist/physics/Contact.js +75 -0
- package/dist/physics/ContactSolver.js +69 -0
- package/dist/physics/PhysicsWorld.js +220 -0
- package/dist/physics/SpatialHash.js +38 -0
- package/dist/physics/collide.js +75 -0
- package/dist/physics/collidePolygon.js +93 -0
- package/dist/physics/contactReport.js +13 -0
- package/dist/physics/drawColliders.js +30 -0
- package/dist/physics/physicsSystem.js +7 -0
- package/dist/physics/polygon.js +79 -0
- package/dist/physics/raycast.js +61 -0
- package/dist/physics/syncToBody.js +18 -0
- package/dist/physics/tileBodies.js +58 -0
- package/dist/physics/types.js +7 -0
- package/dist/pixel/Darkness.js +169 -0
- package/dist/pixel/DitherVignette.js +56 -0
- package/dist/pixel/Evaporation.js +84 -0
- package/dist/pixel/NightShade.js +33 -0
- package/dist/pixel/PixelLayer.js +210 -0
- package/dist/pixel/PixelMarks.js +99 -0
- package/dist/pixel/SwayProp.js +74 -0
- package/dist/pixel/aimPixels.js +67 -0
- package/dist/pixel/lights.js +43 -0
- package/dist/pixel/nineSlice.js +61 -0
- package/dist/pixel/paintLayer.js +35 -0
- package/dist/pixel/palette.js +56 -0
- package/dist/pixel/pixel.js +277 -0
- package/dist/pixel/pixelPaint.js +197 -0
- package/dist/pixel/pixelParticles.js +35 -0
- package/dist/pixel/pixelTone.js +163 -0
- package/dist/pixel/propKit.js +40 -0
- package/dist/pixel/ramp.js +101 -0
- package/dist/pixel/selout.js +34 -0
- package/dist/pixel/spritePixels.js +58 -0
- package/dist/pixel/swayRig.js +86 -0
- package/dist/pixel/vignetteMask.js +23 -0
- package/dist/pixel/weatherArt.js +60 -0
- package/dist/pixel.js +96 -0
- package/dist/platform/appResume.js +18 -0
- package/dist/platform/fullscreen.js +52 -0
- package/dist/platform/orientation.js +26 -0
- package/dist/platform/pointerLock.js +37 -0
- package/dist/platform/reducedMotion.js +23 -0
- package/dist/platform/timeoutSignal.js +14 -0
- package/dist/platform/touch.js +32 -0
- package/dist/postfx/BloomFilter.js +64 -0
- package/dist/postfx/ChromaticAberrationFilter.js +24 -0
- package/dist/postfx/ColorAdjustFilter.js +75 -0
- package/dist/postfx/CrtFilter.js +41 -0
- package/dist/postfx/PixelateFilter.js +26 -0
- package/dist/postfx/PostFx.js +122 -0
- package/dist/postfx/ShockwaveFilter.js +48 -0
- package/dist/postfx/VignetteFilter.js +36 -0
- package/dist/postfx/fxAnimator.js +37 -0
- package/dist/postfx/fxShader.js +127 -0
- package/dist/postfx.js +25 -0
- package/dist/react/ChoiceDialog.js +50 -0
- package/dist/react/ConfirmDialog.js +52 -0
- package/dist/react/Glyph.js +62 -0
- package/dist/react/Modal.js +37 -0
- package/dist/react/Panel.js +23 -0
- package/dist/react/PixelImage.js +23 -0
- package/dist/react/Select.js +98 -0
- package/dist/react/Slider.js +61 -0
- package/dist/react/SplitPane.js +23 -0
- package/dist/react/TabStrip.js +31 -0
- package/dist/react/TitleTips.js +41 -0
- package/dist/react/Tooltip.js +27 -0
- package/dist/react/UiProvider.js +49 -0
- package/dist/react/baseCss.js +221 -0
- package/dist/react/choiceStore.js +22 -0
- package/dist/react/classNames.js +18 -0
- package/dist/react/confirmStore.js +29 -0
- package/dist/react/labels.js +17 -0
- package/dist/react/placement.js +48 -0
- package/dist/react/useFillSheet.js +22 -0
- package/dist/react/useFitToViewport.js +28 -0
- package/dist/react/usePicked.js +12 -0
- package/dist/react/useStore.js +8 -0
- package/dist/react/useViewport.js +16 -0
- package/dist/react.js +77 -0
- package/dist/rig/PosePlayer.js +91 -0
- package/dist/rig/RigView.js +124 -0
- package/dist/rig/Skeleton.js +30 -0
- package/dist/rig/humanoid.js +5 -0
- package/dist/rig/humanoid.json.js +29 -0
- package/dist/rig/humanoidPoses.js +29 -0
- package/dist/rig/poseMath.js +53 -0
- package/dist/rig/poses.json.js +149 -0
- package/dist/save/Autosaver.js +53 -0
- package/dist/save/MemoryBackend.js +18 -0
- package/dist/save/SaveStore.js +102 -0
- package/dist/save/WebStorageBackend.js +26 -0
- package/dist/save/checksum.js +9 -0
- package/dist/save/migrateSave.js +26 -0
- package/dist/settings.js +26 -0
- package/dist/tilemap/TilemapView.js +68 -0
- package/dist/tilemap/collision.js +24 -0
- package/dist/tilemap/tiled.js +137 -0
- package/dist/transitions/CrossfadeTransition.js +23 -0
- package/dist/transitions/DitherWipeTransition.js +69 -0
- package/dist/transitions/FadeTransition.js +33 -0
- package/dist/transitions/Letterbox.js +41 -0
- package/dist/transitions/ditherMask.js +14 -0
- package/dist/transitions/transitionTo.js +27 -0
- package/dist/transitions/tweenDone.js +14 -0
- package/dist/types/ambient/ColorGrade.d.ts +41 -0
- package/dist/types/ambient/ColorGrade.d.ts.map +1 -0
- package/dist/types/ambient/DayClock.d.ts +80 -0
- package/dist/types/ambient/DayClock.d.ts.map +1 -0
- package/dist/types/ambient/WeatherLayer.d.ts +78 -0
- package/dist/types/ambient/WeatherLayer.d.ts.map +1 -0
- package/dist/types/ambient/grade.d.ts +22 -0
- package/dist/types/ambient/grade.d.ts.map +1 -0
- package/dist/types/ambient/weather.d.ts +49 -0
- package/dist/types/ambient/weather.d.ts.map +1 -0
- package/dist/types/anim/AnimStateMachine.d.ts +80 -0
- package/dist/types/anim/AnimStateMachine.d.ts.map +1 -0
- package/dist/types/anim/Animator.d.ts +50 -0
- package/dist/types/anim/Animator.d.ts.map +1 -0
- package/dist/types/anim/animStateCompile.d.ts +52 -0
- package/dist/types/anim/animStateCompile.d.ts.map +1 -0
- package/dist/types/anim/animStateSystem.d.ts +10 -0
- package/dist/types/anim/animStateSystem.d.ts.map +1 -0
- package/dist/types/anim/animStateTypes.d.ts +50 -0
- package/dist/types/anim/animStateTypes.d.ts.map +1 -0
- package/dist/types/anim/animationSystem.d.ts +13 -0
- package/dist/types/anim/animationSystem.d.ts.map +1 -0
- package/dist/types/anim/asepriteSlices.d.ts +19 -0
- package/dist/types/anim/asepriteSlices.d.ts.map +1 -0
- package/dist/types/anim/asepriteTags.d.ts +16 -0
- package/dist/types/anim/asepriteTags.d.ts.map +1 -0
- package/dist/types/anim/asepriteTypes.d.ts +159 -0
- package/dist/types/anim/asepriteTypes.d.ts.map +1 -0
- package/dist/types/anim/parseAseprite.d.ts +21 -0
- package/dist/types/anim/parseAseprite.d.ts.map +1 -0
- package/dist/types/assets/AssetLoader.d.ts +140 -0
- package/dist/types/assets/AssetLoader.d.ts.map +1 -0
- package/dist/types/assets/loadAseprite.d.ts +27 -0
- package/dist/types/assets/loadAseprite.d.ts.map +1 -0
- package/dist/types/assets/textureAtlas.d.ts +35 -0
- package/dist/types/assets/textureAtlas.d.ts.map +1 -0
- package/dist/types/audio/Footsteps.d.ts +33 -0
- package/dist/types/audio/Footsteps.d.ts.map +1 -0
- package/dist/types/audio/MusicPlayer.d.ts +65 -0
- package/dist/types/audio/MusicPlayer.d.ts.map +1 -0
- package/dist/types/audio/SoundEngine.d.ts +47 -0
- package/dist/types/audio/SoundEngine.d.ts.map +1 -0
- package/dist/types/audio/cleanTake.d.ts +3 -0
- package/dist/types/audio/cleanTake.d.ts.map +1 -0
- package/dist/types/audio/music/ElementVoice.d.ts +14 -0
- package/dist/types/audio/music/ElementVoice.d.ts.map +1 -0
- package/dist/types/audio/music/GraphVoice.d.ts +22 -0
- package/dist/types/audio/music/GraphVoice.d.ts.map +1 -0
- package/dist/types/audio/music/MusicChannel.d.ts +35 -0
- package/dist/types/audio/music/MusicChannel.d.ts.map +1 -0
- package/dist/types/audio/music/musicVoice.d.ts +26 -0
- package/dist/types/audio/music/musicVoice.d.ts.map +1 -0
- package/dist/types/audio/sampleBank.d.ts +27 -0
- package/dist/types/audio/sampleBank.d.ts.map +1 -0
- package/dist/types/audio/soundTable.d.ts +14 -0
- package/dist/types/audio/soundTable.d.ts.map +1 -0
- package/dist/types/audio/synth.d.ts +34 -0
- package/dist/types/audio/synth.d.ts.map +1 -0
- package/dist/types/audio/takeCleanerWorker.d.ts +2 -0
- package/dist/types/audio/takeCleanerWorker.d.ts.map +1 -0
- package/dist/types/core/BitmapLabel.d.ts +36 -0
- package/dist/types/core/BitmapLabel.d.ts.map +1 -0
- package/dist/types/core/Camera.d.ts +115 -0
- package/dist/types/core/Camera.d.ts.map +1 -0
- package/dist/types/core/Clock.d.ts +23 -0
- package/dist/types/core/Clock.d.ts.map +1 -0
- package/dist/types/core/Graphics.d.ts +37 -0
- package/dist/types/core/Graphics.d.ts.map +1 -0
- package/dist/types/core/Group.d.ts +15 -0
- package/dist/types/core/Group.d.ts.map +1 -0
- package/dist/types/core/Image.d.ts +25 -0
- package/dist/types/core/Image.d.ts.map +1 -0
- package/dist/types/core/ObjectFactory.d.ts +34 -0
- package/dist/types/core/ObjectFactory.d.ts.map +1 -0
- package/dist/types/core/Pointer.d.ts +45 -0
- package/dist/types/core/Pointer.d.ts.map +1 -0
- package/dist/types/core/Rectangle.d.ts +26 -0
- package/dist/types/core/Rectangle.d.ts.map +1 -0
- package/dist/types/core/Stage.d.ts +58 -0
- package/dist/types/core/Stage.d.ts.map +1 -0
- package/dist/types/core/Text.d.ts +22 -0
- package/dist/types/core/Text.d.ts.map +1 -0
- package/dist/types/core/TextureRegistry.d.ts +90 -0
- package/dist/types/core/TextureRegistry.d.ts.map +1 -0
- package/dist/types/core/Timeline.d.ts +115 -0
- package/dist/types/core/Timeline.d.ts.map +1 -0
- package/dist/types/core/TimelineBuilder.d.ts +53 -0
- package/dist/types/core/TimelineBuilder.d.ts.map +1 -0
- package/dist/types/core/TimelineChild.d.ts +51 -0
- package/dist/types/core/TimelineChild.d.ts.map +1 -0
- package/dist/types/core/Tweener.d.ts +70 -0
- package/dist/types/core/Tweener.d.ts.map +1 -0
- package/dist/types/core/atlas.d.ts +16 -0
- package/dist/types/core/atlas.d.ts.map +1 -0
- package/dist/types/core/atlasPlan.d.ts +34 -0
- package/dist/types/core/atlasPlan.d.ts.map +1 -0
- package/dist/types/core/blendLayer.d.ts +23 -0
- package/dist/types/core/blendLayer.d.ts.map +1 -0
- package/dist/types/core/eases.d.ts +3 -0
- package/dist/types/core/eases.d.ts.map +1 -0
- package/dist/types/core/gameObject.d.ts +42 -0
- package/dist/types/core/gameObject.d.ts.map +1 -0
- package/dist/types/core/pixelZoom.d.ts +45 -0
- package/dist/types/core/pixelZoom.d.ts.map +1 -0
- package/dist/types/core/pixiPatches.d.ts +9 -0
- package/dist/types/core/pixiPatches.d.ts.map +1 -0
- package/dist/types/core/runDue.d.ts +15 -0
- package/dist/types/core/runDue.d.ts.map +1 -0
- package/dist/types/core/silhouette.d.ts +16 -0
- package/dist/types/core/silhouette.d.ts.map +1 -0
- package/dist/types/core/timelinePlace.d.ts +23 -0
- package/dist/types/core/timelinePlace.d.ts.map +1 -0
- package/dist/types/core/tweenProps.d.ts +8 -0
- package/dist/types/core/tweenProps.d.ts.map +1 -0
- package/dist/types/core/types.d.ts +4 -0
- package/dist/types/core/types.d.ts.map +1 -0
- package/dist/types/debug/DebugOverlay.d.ts +63 -0
- package/dist/types/debug/DebugOverlay.d.ts.map +1 -0
- package/dist/types/debug/DrawCallCounter.d.ts +20 -0
- package/dist/types/debug/DrawCallCounter.d.ts.map +1 -0
- package/dist/types/debug/ErrorLog.d.ts +20 -0
- package/dist/types/debug/ErrorLog.d.ts.map +1 -0
- package/dist/types/debug/FrameStats.d.ts +21 -0
- package/dist/types/debug/FrameStats.d.ts.map +1 -0
- package/dist/types/debug/inspectWorld.d.ts +14 -0
- package/dist/types/debug/inspectWorld.d.ts.map +1 -0
- package/dist/types/diagnostics/ErrorDeduper.d.ts +17 -0
- package/dist/types/diagnostics/ErrorDeduper.d.ts.map +1 -0
- package/dist/types/diagnostics/FrameSampler.d.ts +37 -0
- package/dist/types/diagnostics/FrameSampler.d.ts.map +1 -0
- package/dist/types/diagnostics/bootWatch.d.ts +25 -0
- package/dist/types/diagnostics/bootWatch.d.ts.map +1 -0
- package/dist/types/diagnostics/captureErrors.d.ts +24 -0
- package/dist/types/diagnostics/captureErrors.d.ts.map +1 -0
- package/dist/types/diagnostics/contextLoss.d.ts +35 -0
- package/dist/types/diagnostics/contextLoss.d.ts.map +1 -0
- package/dist/types/diagnostics/frameStats.d.ts +30 -0
- package/dist/types/diagnostics/frameStats.d.ts.map +1 -0
- package/dist/types/diagnostics/gpuInfo.d.ts +9 -0
- package/dist/types/diagnostics/gpuInfo.d.ts.map +1 -0
- package/dist/types/diagnostics/renderGuard.d.ts +12 -0
- package/dist/types/diagnostics/renderGuard.d.ts.map +1 -0
- package/dist/types/ecs/SparseSet.d.ts +25 -0
- package/dist/types/ecs/SparseSet.d.ts.map +1 -0
- package/dist/types/ecs/World.d.ts +137 -0
- package/dist/types/ecs/World.d.ts.map +1 -0
- package/dist/types/ecs/fields.d.ts +34 -0
- package/dist/types/ecs/fields.d.ts.map +1 -0
- package/dist/types/engine/Engine.d.ts +96 -0
- package/dist/types/engine/Engine.d.ts.map +1 -0
- package/dist/types/engine/FixedLoop.d.ts +32 -0
- package/dist/types/engine/FixedLoop.d.ts.map +1 -0
- package/dist/types/engine/HiddenPause.d.ts +22 -0
- package/dist/types/engine/HiddenPause.d.ts.map +1 -0
- package/dist/types/engine/Scene.d.ts +67 -0
- package/dist/types/engine/Scene.d.ts.map +1 -0
- package/dist/types/engine/SceneManager.d.ts +36 -0
- package/dist/types/engine/SceneManager.d.ts.map +1 -0
- package/dist/types/events/EventBus.d.ts +20 -0
- package/dist/types/events/EventBus.d.ts.map +1 -0
- package/dist/types/fx/Afterimages.d.ts +62 -0
- package/dist/types/fx/Afterimages.d.ts.map +1 -0
- package/dist/types/fx/FloatingText.d.ts +71 -0
- package/dist/types/fx/FloatingText.d.ts.map +1 -0
- package/dist/types/fx/hitStop.d.ts +20 -0
- package/dist/types/fx/hitStop.d.ts.map +1 -0
- package/dist/types/fx/viewCull.d.ts +14 -0
- package/dist/types/fx/viewCull.d.ts.map +1 -0
- package/dist/types/i18n/Translator.d.ts +52 -0
- package/dist/types/i18n/Translator.d.ts.map +1 -0
- package/dist/types/i18n/extractStrings.d.ts +25 -0
- package/dist/types/i18n/extractStrings.d.ts.map +1 -0
- package/dist/types/i18n/formatMessage.d.ts +10 -0
- package/dist/types/i18n/formatMessage.d.ts.map +1 -0
- package/dist/types/index.d.ts +164 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/input/Actions.d.ts +100 -0
- package/dist/types/input/Actions.d.ts.map +1 -0
- package/dist/types/input/AimGesture.d.ts +106 -0
- package/dist/types/input/AimGesture.d.ts.map +1 -0
- package/dist/types/input/Keyboard.d.ts +30 -0
- package/dist/types/input/Keyboard.d.ts.map +1 -0
- package/dist/types/input/Keymap.d.ts +85 -0
- package/dist/types/input/Keymap.d.ts.map +1 -0
- package/dist/types/input/TargetLock.d.ts +56 -0
- package/dist/types/input/TargetLock.d.ts.map +1 -0
- package/dist/types/input/aimAxis.d.ts +9 -0
- package/dist/types/input/aimAxis.d.ts.map +1 -0
- package/dist/types/input/keyChord.d.ts +15 -0
- package/dist/types/input/keyChord.d.ts.map +1 -0
- package/dist/types/input/longPress.d.ts +21 -0
- package/dist/types/input/longPress.d.ts.map +1 -0
- package/dist/types/input/rumble.d.ts +41 -0
- package/dist/types/input/rumble.d.ts.map +1 -0
- package/dist/types/input/stickAxis.d.ts +26 -0
- package/dist/types/input/stickAxis.d.ts.map +1 -0
- package/dist/types/input/touchDetect.d.ts +18 -0
- package/dist/types/input/touchDetect.d.ts.map +1 -0
- package/dist/types/light/LightLayer.d.ts +65 -0
- package/dist/types/light/LightLayer.d.ts.map +1 -0
- package/dist/types/nav/MinHeap.d.ts +15 -0
- package/dist/types/nav/MinHeap.d.ts.map +1 -0
- package/dist/types/nav/findPath.d.ts +38 -0
- package/dist/types/nav/findPath.d.ts.map +1 -0
- package/dist/types/nav/navGrid.d.ts +48 -0
- package/dist/types/nav/navGrid.d.ts.map +1 -0
- package/dist/types/nav/nearestOpen.d.ts +8 -0
- package/dist/types/nav/nearestOpen.d.ts.map +1 -0
- package/dist/types/nav/straightenPath.d.ts +13 -0
- package/dist/types/nav/straightenPath.d.ts.map +1 -0
- package/dist/types/net/Connection.d.ts +88 -0
- package/dist/types/net/Connection.d.ts.map +1 -0
- package/dist/types/net/InterpolationBuffer.d.ts +36 -0
- package/dist/types/net/InterpolationBuffer.d.ts.map +1 -0
- package/dist/types/net/PredictedMover.d.ts +43 -0
- package/dist/types/net/PredictedMover.d.ts.map +1 -0
- package/dist/types/net/Room.d.ts +69 -0
- package/dist/types/net/Room.d.ts.map +1 -0
- package/dist/types/net/RoomHost.d.ts +74 -0
- package/dist/types/net/RoomHost.d.ts.map +1 -0
- package/dist/types/net/cadence.d.ts +22 -0
- package/dist/types/net/cadence.d.ts.map +1 -0
- package/dist/types/net/constants.d.ts +33 -0
- package/dist/types/net/constants.d.ts.map +1 -0
- package/dist/types/net/lobby/LobbyClient.d.ts +107 -0
- package/dist/types/net/lobby/LobbyClient.d.ts.map +1 -0
- package/dist/types/net/lobby/LobbyHost.d.ts +147 -0
- package/dist/types/net/lobby/LobbyHost.d.ts.map +1 -0
- package/dist/types/net/lobby/LobbyRooms.d.ts +56 -0
- package/dist/types/net/lobby/LobbyRooms.d.ts.map +1 -0
- package/dist/types/net/lobby/Matchmaker.d.ts +57 -0
- package/dist/types/net/lobby/Matchmaker.d.ts.map +1 -0
- package/dist/types/net/lobby/index.d.ts +6 -0
- package/dist/types/net/lobby/index.d.ts.map +1 -0
- package/dist/types/net/lobby/lobbyProtocol.d.ts +143 -0
- package/dist/types/net/lobby/lobbyProtocol.d.ts.map +1 -0
- package/dist/types/net/movement.d.ts +50 -0
- package/dist/types/net/movement.d.ts.map +1 -0
- package/dist/types/net/protocol.d.ts +59 -0
- package/dist/types/net/protocol.d.ts.map +1 -0
- package/dist/types/net/reconnect.d.ts +14 -0
- package/dist/types/net/reconnect.d.ts.map +1 -0
- package/dist/types/net/serverClock.d.ts +14 -0
- package/dist/types/net/serverClock.d.ts.map +1 -0
- package/dist/types/net/snapshotCodec.d.ts +55 -0
- package/dist/types/net/snapshotCodec.d.ts.map +1 -0
- package/dist/types/parallax/Parallax.d.ts +37 -0
- package/dist/types/parallax/Parallax.d.ts.map +1 -0
- package/dist/types/parallax/ParallaxLayer.d.ts +80 -0
- package/dist/types/parallax/ParallaxLayer.d.ts.map +1 -0
- package/dist/types/parallax/parallaxMath.d.ts +50 -0
- package/dist/types/parallax/parallaxMath.d.ts.map +1 -0
- package/dist/types/particles/Emitter.d.ts +97 -0
- package/dist/types/particles/Emitter.d.ts.map +1 -0
- package/dist/types/particles/ParticleBudget.d.ts +28 -0
- package/dist/types/particles/ParticleBudget.d.ts.map +1 -0
- package/dist/types/particles/ParticleSim.d.ts +38 -0
- package/dist/types/particles/ParticleSim.d.ts.map +1 -0
- package/dist/types/particles/particleCurves.d.ts +21 -0
- package/dist/types/particles/particleCurves.d.ts.map +1 -0
- package/dist/types/particles/particleSampling.d.ts +20 -0
- package/dist/types/particles/particleSampling.d.ts.map +1 -0
- package/dist/types/physics/Body.d.ts +130 -0
- package/dist/types/physics/Body.d.ts.map +1 -0
- package/dist/types/physics/BroadPhase.d.ts +26 -0
- package/dist/types/physics/BroadPhase.d.ts.map +1 -0
- package/dist/types/physics/Contact.d.ts +62 -0
- package/dist/types/physics/Contact.d.ts.map +1 -0
- package/dist/types/physics/ContactSolver.d.ts +29 -0
- package/dist/types/physics/ContactSolver.d.ts.map +1 -0
- package/dist/types/physics/PhysicsWorld.d.ts +78 -0
- package/dist/types/physics/PhysicsWorld.d.ts.map +1 -0
- package/dist/types/physics/PhysicsWorldOptions.d.ts +24 -0
- package/dist/types/physics/PhysicsWorldOptions.d.ts.map +1 -0
- package/dist/types/physics/SpatialHash.d.ts +23 -0
- package/dist/types/physics/SpatialHash.d.ts.map +1 -0
- package/dist/types/physics/collide.d.ts +27 -0
- package/dist/types/physics/collide.d.ts.map +1 -0
- package/dist/types/physics/collidePolygon.d.ts +14 -0
- package/dist/types/physics/collidePolygon.d.ts.map +1 -0
- package/dist/types/physics/contactReport.d.ts +8 -0
- package/dist/types/physics/contactReport.d.ts.map +1 -0
- package/dist/types/physics/drawColliders.d.ts +43 -0
- package/dist/types/physics/drawColliders.d.ts.map +1 -0
- package/dist/types/physics/physicsSystem.d.ts +5 -0
- package/dist/types/physics/physicsSystem.d.ts.map +1 -0
- package/dist/types/physics/polygon.d.ts +28 -0
- package/dist/types/physics/polygon.d.ts.map +1 -0
- package/dist/types/physics/raycast.d.ts +19 -0
- package/dist/types/physics/raycast.d.ts.map +1 -0
- package/dist/types/physics/syncToBody.d.ts +16 -0
- package/dist/types/physics/syncToBody.d.ts.map +1 -0
- package/dist/types/physics/tileBodies.d.ts +36 -0
- package/dist/types/physics/tileBodies.d.ts.map +1 -0
- package/dist/types/physics/types.d.ts +116 -0
- package/dist/types/physics/types.d.ts.map +1 -0
- package/dist/types/pixel/Darkness.d.ts +90 -0
- package/dist/types/pixel/Darkness.d.ts.map +1 -0
- package/dist/types/pixel/DitherVignette.d.ts +35 -0
- package/dist/types/pixel/DitherVignette.d.ts.map +1 -0
- package/dist/types/pixel/Evaporation.d.ts +30 -0
- package/dist/types/pixel/Evaporation.d.ts.map +1 -0
- package/dist/types/pixel/NightShade.d.ts +38 -0
- package/dist/types/pixel/NightShade.d.ts.map +1 -0
- package/dist/types/pixel/PixelLayer.d.ts +85 -0
- package/dist/types/pixel/PixelLayer.d.ts.map +1 -0
- package/dist/types/pixel/PixelMarks.d.ts +68 -0
- package/dist/types/pixel/PixelMarks.d.ts.map +1 -0
- package/dist/types/pixel/SwayProp.d.ts +52 -0
- package/dist/types/pixel/SwayProp.d.ts.map +1 -0
- package/dist/types/pixel/aimPixels.d.ts +23 -0
- package/dist/types/pixel/aimPixels.d.ts.map +1 -0
- package/dist/types/pixel/index.d.ts +33 -0
- package/dist/types/pixel/index.d.ts.map +1 -0
- package/dist/types/pixel/lights.d.ts +34 -0
- package/dist/types/pixel/lights.d.ts.map +1 -0
- package/dist/types/pixel/nineSlice.d.ts +71 -0
- package/dist/types/pixel/nineSlice.d.ts.map +1 -0
- package/dist/types/pixel/paintLayer.d.ts +35 -0
- package/dist/types/pixel/paintLayer.d.ts.map +1 -0
- package/dist/types/pixel/palette.d.ts +58 -0
- package/dist/types/pixel/palette.d.ts.map +1 -0
- package/dist/types/pixel/pixel.d.ts +80 -0
- package/dist/types/pixel/pixel.d.ts.map +1 -0
- package/dist/types/pixel/pixelPaint.d.ts +44 -0
- package/dist/types/pixel/pixelPaint.d.ts.map +1 -0
- package/dist/types/pixel/pixelParticles.d.ts +21 -0
- package/dist/types/pixel/pixelParticles.d.ts.map +1 -0
- package/dist/types/pixel/pixelTone.d.ts +51 -0
- package/dist/types/pixel/pixelTone.d.ts.map +1 -0
- package/dist/types/pixel/propKit.d.ts +26 -0
- package/dist/types/pixel/propKit.d.ts.map +1 -0
- package/dist/types/pixel/ramp.d.ts +57 -0
- package/dist/types/pixel/ramp.d.ts.map +1 -0
- package/dist/types/pixel/selout.d.ts +3 -0
- package/dist/types/pixel/selout.d.ts.map +1 -0
- package/dist/types/pixel/spritePixels.d.ts +29 -0
- package/dist/types/pixel/spritePixels.d.ts.map +1 -0
- package/dist/types/pixel/swayRig.d.ts +72 -0
- package/dist/types/pixel/swayRig.d.ts.map +1 -0
- package/dist/types/pixel/vignetteMask.d.ts +16 -0
- package/dist/types/pixel/vignetteMask.d.ts.map +1 -0
- package/dist/types/pixel/weatherArt.d.ts +29 -0
- package/dist/types/pixel/weatherArt.d.ts.map +1 -0
- package/dist/types/platform/appResume.d.ts +25 -0
- package/dist/types/platform/appResume.d.ts.map +1 -0
- package/dist/types/platform/fullscreen.d.ts +37 -0
- package/dist/types/platform/fullscreen.d.ts.map +1 -0
- package/dist/types/platform/orientation.d.ts +19 -0
- package/dist/types/platform/orientation.d.ts.map +1 -0
- package/dist/types/platform/pointerLock.d.ts +26 -0
- package/dist/types/platform/pointerLock.d.ts.map +1 -0
- package/dist/types/platform/reducedMotion.d.ts +20 -0
- package/dist/types/platform/reducedMotion.d.ts.map +1 -0
- package/dist/types/platform/timeoutSignal.d.ts +6 -0
- package/dist/types/platform/timeoutSignal.d.ts.map +1 -0
- package/dist/types/platform/touch.d.ts +10 -0
- package/dist/types/platform/touch.d.ts.map +1 -0
- package/dist/types/postfx/BloomFilter.d.ts +33 -0
- package/dist/types/postfx/BloomFilter.d.ts.map +1 -0
- package/dist/types/postfx/ChromaticAberrationFilter.d.ts +11 -0
- package/dist/types/postfx/ChromaticAberrationFilter.d.ts.map +1 -0
- package/dist/types/postfx/ColorAdjustFilter.d.ts +32 -0
- package/dist/types/postfx/ColorAdjustFilter.d.ts.map +1 -0
- package/dist/types/postfx/CrtFilter.d.ts +16 -0
- package/dist/types/postfx/CrtFilter.d.ts.map +1 -0
- package/dist/types/postfx/PixelateFilter.d.ts +8 -0
- package/dist/types/postfx/PixelateFilter.d.ts.map +1 -0
- package/dist/types/postfx/PostFx.d.ts +92 -0
- package/dist/types/postfx/PostFx.d.ts.map +1 -0
- package/dist/types/postfx/ShockwaveFilter.d.ts +20 -0
- package/dist/types/postfx/ShockwaveFilter.d.ts.map +1 -0
- package/dist/types/postfx/VignetteFilter.d.ts +19 -0
- package/dist/types/postfx/VignetteFilter.d.ts.map +1 -0
- package/dist/types/postfx/fxAnimator.d.ts +32 -0
- package/dist/types/postfx/fxAnimator.d.ts.map +1 -0
- package/dist/types/postfx/fxShader.d.ts +49 -0
- package/dist/types/postfx/fxShader.d.ts.map +1 -0
- package/dist/types/postfx/index.d.ts +11 -0
- package/dist/types/postfx/index.d.ts.map +1 -0
- package/dist/types/react/ChoiceDialog.d.ts +8 -0
- package/dist/types/react/ChoiceDialog.d.ts.map +1 -0
- package/dist/types/react/ConfirmDialog.d.ts +9 -0
- package/dist/types/react/ConfirmDialog.d.ts.map +1 -0
- package/dist/types/react/Glyph.d.ts +54 -0
- package/dist/types/react/Glyph.d.ts.map +1 -0
- package/dist/types/react/Modal.d.ts +22 -0
- package/dist/types/react/Modal.d.ts.map +1 -0
- package/dist/types/react/Panel.d.ts +29 -0
- package/dist/types/react/Panel.d.ts.map +1 -0
- package/dist/types/react/PixelImage.d.ts +19 -0
- package/dist/types/react/PixelImage.d.ts.map +1 -0
- package/dist/types/react/Select.d.ts +27 -0
- package/dist/types/react/Select.d.ts.map +1 -0
- package/dist/types/react/Slider.d.ts +24 -0
- package/dist/types/react/Slider.d.ts.map +1 -0
- package/dist/types/react/SplitPane.d.ts +26 -0
- package/dist/types/react/SplitPane.d.ts.map +1 -0
- package/dist/types/react/TabStrip.d.ts +31 -0
- package/dist/types/react/TabStrip.d.ts.map +1 -0
- package/dist/types/react/TitleTips.d.ts +15 -0
- package/dist/types/react/TitleTips.d.ts.map +1 -0
- package/dist/types/react/Tooltip.d.ts +22 -0
- package/dist/types/react/Tooltip.d.ts.map +1 -0
- package/dist/types/react/UiProvider.d.ts +52 -0
- package/dist/types/react/UiProvider.d.ts.map +1 -0
- package/dist/types/react/baseCss.d.ts +27 -0
- package/dist/types/react/baseCss.d.ts.map +1 -0
- package/dist/types/react/choiceStore.d.ts +34 -0
- package/dist/types/react/choiceStore.d.ts.map +1 -0
- package/dist/types/react/classNames.d.ts +12 -0
- package/dist/types/react/classNames.d.ts.map +1 -0
- package/dist/types/react/confirmStore.d.ts +30 -0
- package/dist/types/react/confirmStore.d.ts.map +1 -0
- package/dist/types/react/index.d.ts +33 -0
- package/dist/types/react/index.d.ts.map +1 -0
- package/dist/types/react/labels.d.ts +24 -0
- package/dist/types/react/labels.d.ts.map +1 -0
- package/dist/types/react/placement.d.ts +59 -0
- package/dist/types/react/placement.d.ts.map +1 -0
- package/dist/types/react/useFillSheet.d.ts +9 -0
- package/dist/types/react/useFillSheet.d.ts.map +1 -0
- package/dist/types/react/useFitToViewport.d.ts +20 -0
- package/dist/types/react/useFitToViewport.d.ts.map +1 -0
- package/dist/types/react/usePicked.d.ts +9 -0
- package/dist/types/react/usePicked.d.ts.map +1 -0
- package/dist/types/react/useStore.d.ts +8 -0
- package/dist/types/react/useStore.d.ts.map +1 -0
- package/dist/types/react/useViewport.d.ts +4 -0
- package/dist/types/react/useViewport.d.ts.map +1 -0
- package/dist/types/rig/PosePlayer.d.ts +64 -0
- package/dist/types/rig/PosePlayer.d.ts.map +1 -0
- package/dist/types/rig/RigView.d.ts +68 -0
- package/dist/types/rig/RigView.d.ts.map +1 -0
- package/dist/types/rig/Skeleton.d.ts +14 -0
- package/dist/types/rig/Skeleton.d.ts.map +1 -0
- package/dist/types/rig/humanoid.d.ts +4 -0
- package/dist/types/rig/humanoid.d.ts.map +1 -0
- package/dist/types/rig/humanoidPoses.d.ts +117 -0
- package/dist/types/rig/humanoidPoses.d.ts.map +1 -0
- package/dist/types/rig/poseMath.d.ts +14 -0
- package/dist/types/rig/poseMath.d.ts.map +1 -0
- package/dist/types/rig/rigTypes.d.ts +82 -0
- package/dist/types/rig/rigTypes.d.ts.map +1 -0
- package/dist/types/save/Autosaver.d.ts +43 -0
- package/dist/types/save/Autosaver.d.ts.map +1 -0
- package/dist/types/save/MemoryBackend.d.ts +10 -0
- package/dist/types/save/MemoryBackend.d.ts.map +1 -0
- package/dist/types/save/SaveBackend.d.ts +14 -0
- package/dist/types/save/SaveBackend.d.ts.map +1 -0
- package/dist/types/save/SaveStore.d.ts +73 -0
- package/dist/types/save/SaveStore.d.ts.map +1 -0
- package/dist/types/save/WebStorageBackend.d.ts +14 -0
- package/dist/types/save/WebStorageBackend.d.ts.map +1 -0
- package/dist/types/save/checksum.d.ts +7 -0
- package/dist/types/save/checksum.d.ts.map +1 -0
- package/dist/types/save/migrateSave.d.ts +17 -0
- package/dist/types/save/migrateSave.d.ts.map +1 -0
- package/dist/types/settings.d.ts +25 -0
- package/dist/types/settings.d.ts.map +1 -0
- package/dist/types/tilemap/TilemapView.d.ts +42 -0
- package/dist/types/tilemap/TilemapView.d.ts.map +1 -0
- package/dist/types/tilemap/collision.d.ts +16 -0
- package/dist/types/tilemap/collision.d.ts.map +1 -0
- package/dist/types/tilemap/tiled.d.ts +104 -0
- package/dist/types/tilemap/tiled.d.ts.map +1 -0
- package/dist/types/transitions/CrossfadeTransition.d.ts +20 -0
- package/dist/types/transitions/CrossfadeTransition.d.ts.map +1 -0
- package/dist/types/transitions/DitherWipeTransition.d.ts +35 -0
- package/dist/types/transitions/DitherWipeTransition.d.ts.map +1 -0
- package/dist/types/transitions/FadeTransition.d.ts +20 -0
- package/dist/types/transitions/FadeTransition.d.ts.map +1 -0
- package/dist/types/transitions/Letterbox.d.ts +33 -0
- package/dist/types/transitions/Letterbox.d.ts.map +1 -0
- package/dist/types/transitions/Transition.d.ts +22 -0
- package/dist/types/transitions/Transition.d.ts.map +1 -0
- package/dist/types/transitions/ditherMask.d.ts +13 -0
- package/dist/types/transitions/ditherMask.d.ts.map +1 -0
- package/dist/types/transitions/transitionTo.d.ts +16 -0
- package/dist/types/transitions/transitionTo.d.ts.map +1 -0
- package/dist/types/transitions/tweenDone.d.ts +5 -0
- package/dist/types/transitions/tweenDone.d.ts.map +1 -0
- package/dist/types/ui/Bar.d.ts +41 -0
- package/dist/types/ui/Bar.d.ts.map +1 -0
- package/dist/types/ui/Button.d.ts +47 -0
- package/dist/types/ui/Button.d.ts.map +1 -0
- package/dist/types/ui/Dialog.d.ts +47 -0
- package/dist/types/ui/Dialog.d.ts.map +1 -0
- package/dist/types/ui/FocusManager.d.ts +53 -0
- package/dist/types/ui/FocusManager.d.ts.map +1 -0
- package/dist/types/ui/Label.d.ts +24 -0
- package/dist/types/ui/Label.d.ts.map +1 -0
- package/dist/types/ui/List.d.ts +23 -0
- package/dist/types/ui/List.d.ts.map +1 -0
- package/dist/types/ui/Panel.d.ts +38 -0
- package/dist/types/ui/Panel.d.ts.map +1 -0
- package/dist/types/ui/ScrollView.d.ts +56 -0
- package/dist/types/ui/ScrollView.d.ts.map +1 -0
- package/dist/types/ui/Slider.d.ts +47 -0
- package/dist/types/ui/Slider.d.ts.map +1 -0
- package/dist/types/ui/Stack.d.ts +16 -0
- package/dist/types/ui/Stack.d.ts.map +1 -0
- package/dist/types/ui/Toggle.d.ts +31 -0
- package/dist/types/ui/Toggle.d.ts.map +1 -0
- package/dist/types/ui/UiHost.d.ts +18 -0
- package/dist/types/ui/UiHost.d.ts.map +1 -0
- package/dist/types/ui/UiPointerGate.d.ts +17 -0
- package/dist/types/ui/UiPointerGate.d.ts.map +1 -0
- package/dist/types/ui/UiRoot.d.ts +73 -0
- package/dist/types/ui/UiRoot.d.ts.map +1 -0
- package/dist/types/ui/Widget.d.ts +56 -0
- package/dist/types/ui/Widget.d.ts.map +1 -0
- package/dist/types/ui/dom/DomOverlay.d.ts +52 -0
- package/dist/types/ui/dom/DomOverlay.d.ts.map +1 -0
- package/dist/types/ui/dom/DomWorldAnchors.d.ts +50 -0
- package/dist/types/ui/dom/DomWorldAnchors.d.ts.map +1 -0
- package/dist/types/ui/dom/InputShield.d.ts +20 -0
- package/dist/types/ui/dom/InputShield.d.ts.map +1 -0
- package/dist/types/ui/dom/createStore.d.ts +22 -0
- package/dist/types/ui/dom/createStore.d.ts.map +1 -0
- package/dist/types/ui/dom/shieldDecision.d.ts +34 -0
- package/dist/types/ui/dom/shieldDecision.d.ts.map +1 -0
- package/dist/types/ui/dom/worldToScreen.d.ts +24 -0
- package/dist/types/ui/dom/worldToScreen.d.ts.map +1 -0
- package/dist/types/ui/index.d.ts +42 -0
- package/dist/types/ui/index.d.ts.map +1 -0
- package/dist/types/ui/layout/anchor.d.ts +9 -0
- package/dist/types/ui/layout/anchor.d.ts.map +1 -0
- package/dist/types/ui/layout/barDrain.d.ts +25 -0
- package/dist/types/ui/layout/barDrain.d.ts.map +1 -0
- package/dist/types/ui/layout/fitToViewport.d.ts +32 -0
- package/dist/types/ui/layout/fitToViewport.d.ts.map +1 -0
- package/dist/types/ui/layout/focusNav.d.ts +13 -0
- package/dist/types/ui/layout/focusNav.d.ts.map +1 -0
- package/dist/types/ui/layout/geometry.d.ts +35 -0
- package/dist/types/ui/layout/geometry.d.ts.map +1 -0
- package/dist/types/ui/layout/listWidth.d.ts +13 -0
- package/dist/types/ui/layout/listWidth.d.ts.map +1 -0
- package/dist/types/ui/layout/placeTooltip.d.ts +23 -0
- package/dist/types/ui/layout/placeTooltip.d.ts.map +1 -0
- package/dist/types/ui/layout/scroll.d.ts +17 -0
- package/dist/types/ui/layout/scroll.d.ts.map +1 -0
- package/dist/types/ui/layout/slider.d.ts +7 -0
- package/dist/types/ui/layout/slider.d.ts.map +1 -0
- package/dist/types/ui/layout/stack.d.ts +26 -0
- package/dist/types/ui/layout/stack.d.ts.map +1 -0
- package/dist/types/ui/layout/wrapRow.d.ts +6 -0
- package/dist/types/ui/layout/wrapRow.d.ts.map +1 -0
- package/dist/types/ui/rich/RichText.d.ts +48 -0
- package/dist/types/ui/rich/RichText.d.ts.map +1 -0
- package/dist/types/ui/rich/richFonts.d.ts +70 -0
- package/dist/types/ui/rich/richFonts.d.ts.map +1 -0
- package/dist/types/ui/rich/richLayout.d.ts +76 -0
- package/dist/types/ui/rich/richLayout.d.ts.map +1 -0
- package/dist/types/ui/rich/richMarkup.d.ts +48 -0
- package/dist/types/ui/rich/richMarkup.d.ts.map +1 -0
- package/dist/ui/Bar.js +53 -0
- package/dist/ui/Button.js +57 -0
- package/dist/ui/Dialog.js +55 -0
- package/dist/ui/FocusManager.js +96 -0
- package/dist/ui/Label.js +35 -0
- package/dist/ui/List.js +44 -0
- package/dist/ui/Panel.js +37 -0
- package/dist/ui/ScrollView.js +95 -0
- package/dist/ui/Slider.js +54 -0
- package/dist/ui/Stack.js +27 -0
- package/dist/ui/Toggle.js +36 -0
- package/dist/ui/UiHost.js +8 -0
- package/dist/ui/UiPointerGate.js +24 -0
- package/dist/ui/UiRoot.js +92 -0
- package/dist/ui/Widget.js +89 -0
- package/dist/ui/dom/DomOverlay.js +58 -0
- package/dist/ui/dom/DomWorldAnchors.js +58 -0
- package/dist/ui/dom/InputShield.js +26 -0
- package/dist/ui/dom/createStore.js +41 -0
- package/dist/ui/dom/shieldDecision.js +35 -0
- package/dist/ui/dom/worldToScreen.js +10 -0
- package/dist/ui/layout/anchor.js +19 -0
- package/dist/ui/layout/barDrain.js +24 -0
- package/dist/ui/layout/fitToViewport.js +16 -0
- package/dist/ui/layout/focusNav.js +41 -0
- package/dist/ui/layout/geometry.js +20 -0
- package/dist/ui/layout/listWidth.js +9 -0
- package/dist/ui/layout/placeTooltip.js +27 -0
- package/dist/ui/layout/scroll.js +23 -0
- package/dist/ui/layout/slider.js +19 -0
- package/dist/ui/layout/stack.js +26 -0
- package/dist/ui/layout/wrapRow.js +12 -0
- package/dist/ui/rich/RichText.js +87 -0
- package/dist/ui/rich/richFonts.js +105 -0
- package/dist/ui/rich/richLayout.js +132 -0
- package/dist/ui/rich/richMarkup.js +67 -0
- package/dist/ui.js +95 -0
- package/package.json +112 -4
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Container, type Application } from 'pixi.js';
|
|
2
|
+
import { Camera } from './Camera.js';
|
|
3
|
+
import { Clock } from './Clock.js';
|
|
4
|
+
import { ObjectFactory } from './ObjectFactory.js';
|
|
5
|
+
import { Pointer } from './Pointer.js';
|
|
6
|
+
import type { TextureRegistry } from './TextureRegistry.js';
|
|
7
|
+
import { Tweener } from './Tweener.js';
|
|
8
|
+
/**
|
|
9
|
+
* What a world object is created in: a world layer the camera moves (children sorted by depth), a screen layer
|
|
10
|
+
* above it, and the per-frame services (tweens, timers, camera, pointer). Subclasses implement `update`.
|
|
11
|
+
*/
|
|
12
|
+
export declare abstract class Stage {
|
|
13
|
+
readonly app: Application;
|
|
14
|
+
readonly textures: TextureRegistry;
|
|
15
|
+
/** Told of every fault a guarded step caught (error telemetry, if the game sets one). */
|
|
16
|
+
static onCaught: ((where: string, err: unknown) => void) | null;
|
|
17
|
+
readonly world: Container<import("pixi.js").ContainerChild>;
|
|
18
|
+
readonly screen: Container<import("pixi.js").ContainerChild>;
|
|
19
|
+
readonly add: ObjectFactory;
|
|
20
|
+
readonly tweens: Tweener;
|
|
21
|
+
readonly time: Clock;
|
|
22
|
+
readonly cameras: {
|
|
23
|
+
main: Camera;
|
|
24
|
+
};
|
|
25
|
+
readonly input: {
|
|
26
|
+
activePointer: Pointer;
|
|
27
|
+
};
|
|
28
|
+
private readonly resizeListeners;
|
|
29
|
+
private lastWidth;
|
|
30
|
+
private lastHeight;
|
|
31
|
+
constructor(app: Application, textures: TextureRegistry);
|
|
32
|
+
get width(): number;
|
|
33
|
+
get height(): number;
|
|
34
|
+
get fps(): number;
|
|
35
|
+
/** Calls `fn` whenever the window changes size; the returned function stops it (a per-map listener must). */
|
|
36
|
+
onResize(fn: () => void): () => void;
|
|
37
|
+
abstract update(now: number, delta: number): void;
|
|
38
|
+
/**
|
|
39
|
+
* One frame: game logic, then tweens and timers, then the camera. Pixi renders after. Each step is guarded: a
|
|
40
|
+
* ticker listener that throws never asks for the next animation frame, so one bad frame used to stop the world for
|
|
41
|
+
* good — the canvas frozen and no input reaching the server (seen on Android).
|
|
42
|
+
*/
|
|
43
|
+
frame(delta: number): void;
|
|
44
|
+
private readonly reported;
|
|
45
|
+
/**
|
|
46
|
+
* Runs one step of a frame and swallows what it throws, so the steps after it still run. Subclasses guard the parts
|
|
47
|
+
* of their own `update` too: a fault before the camera follows the player used to leave the view standing on one
|
|
48
|
+
* spot while the world went on.
|
|
49
|
+
*/
|
|
50
|
+
protected guard(step: string, fn: () => void): void;
|
|
51
|
+
/** `guard` for a step that answers something: `fallback` when it threw. */
|
|
52
|
+
protected guarded<T>(step: string, fn: () => T, fallback: T): T;
|
|
53
|
+
/** What a guarded step threw: logged once per distinct error, or a fault repeating every frame floods the log at 60 a second. */
|
|
54
|
+
protected caught(step: string, err: unknown): void;
|
|
55
|
+
destroy(): void;
|
|
56
|
+
private syncSize;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=Stage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stage.d.ts","sourceRoot":"","sources":["../../../src/core/Stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,8BAAsB,KAAK;IAgBvB,QAAQ,CAAC,GAAG,EAAE,WAAW;IACzB,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAhBpC,yFAAyF;IACzF,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEvE,QAAQ,CAAC,KAAK,8CAA6C;IAC3D,QAAQ,CAAC,MAAM,8CAAmB;IAClC,QAAQ,CAAC,GAAG,gBAA2B;IACvC,QAAQ,CAAC,MAAM,UAAiB;IAChC,QAAQ,CAAC,IAAI,QAAe;IAC5B,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;gBAGZ,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,eAAe;IAUpC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,6GAA6G;IAC7G,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAQpC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAEjD;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C;;;;OAIG;IACH,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAInD,2EAA2E;IAC3E,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAS/D,iIAAiI;IACjI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IASlD,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,QAAQ;CAWjB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Text as PixiText } from 'pixi.js';
|
|
2
|
+
export interface TextStyle {
|
|
3
|
+
fontFamily?: string;
|
|
4
|
+
fontSize: string | number;
|
|
5
|
+
color?: string;
|
|
6
|
+
stroke?: string;
|
|
7
|
+
strokeThickness?: number;
|
|
8
|
+
/** Texture pixels per world pixel: world text is zoomed by the camera, so it is rasterised finer. */
|
|
9
|
+
resolution?: number;
|
|
10
|
+
align?: 'left' | 'center' | 'right';
|
|
11
|
+
lineSpacing?: number;
|
|
12
|
+
wordWrapWidth?: number;
|
|
13
|
+
}
|
|
14
|
+
declare const Text_base: typeof PixiText & (new (...args: any[]) => import("./gameObject.js").GameObjectMembers);
|
|
15
|
+
/** Canvas text in world or screen space. */
|
|
16
|
+
export declare class Text extends Text_base {
|
|
17
|
+
constructor(x: number, y: number, text: string, style: TextStyle);
|
|
18
|
+
setOrigin(x?: number, y?: number): this;
|
|
19
|
+
setText(text: string): this;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=Text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../src/core/Text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAyB,MAAM,SAAS,CAAC;AAGlE,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;;AAED,4CAA4C;AAC5C,qBAAa,IAAK,SAAQ,SAAoB;gBAChC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS;IAkBhE,SAAS,CAAC,CAAC,SAAM,EAAE,CAAC,SAAI,GAAG,IAAI;IAK/B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAI5B"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { CanvasSource, Texture } from 'pixi.js';
|
|
2
|
+
/** A frame packed on an atlas page (TexturePacker and the like), as `assets/textureAtlas.ts` parses it. */
|
|
3
|
+
export interface PackedFrame {
|
|
4
|
+
name: string;
|
|
5
|
+
/** The rect on the page (already swapped to its on-page size when `rotated`). */
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
w: number;
|
|
9
|
+
h: number;
|
|
10
|
+
/** Stored turned 90° clockwise on the page (Pixi's `rotate: 2`). */
|
|
11
|
+
rotated: boolean;
|
|
12
|
+
/** The untrimmed size of the sprite. */
|
|
13
|
+
sourceW: number;
|
|
14
|
+
sourceH: number;
|
|
15
|
+
/** Where the trimmed pixels sit inside the untrimmed sprite; absent when the frame was not trimmed. */
|
|
16
|
+
trim?: {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
w: number;
|
|
20
|
+
h: number;
|
|
21
|
+
};
|
|
22
|
+
/** The frame's pivot, 0–1, when the packer wrote one. */
|
|
23
|
+
anchor?: {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/** A canvas-backed texture with named frames; repaint the canvas, then `refresh()` to upload it. */
|
|
29
|
+
export declare class CanvasTexture {
|
|
30
|
+
readonly key: string;
|
|
31
|
+
readonly canvas: HTMLCanvasElement;
|
|
32
|
+
readonly frames: Map<string, Texture<import("pixi.js").TextureSource<any>>>;
|
|
33
|
+
readonly source: CanvasSource;
|
|
34
|
+
readonly whole: Texture;
|
|
35
|
+
constructor(key: string, canvas: HTMLCanvasElement);
|
|
36
|
+
get width(): number;
|
|
37
|
+
get height(): number;
|
|
38
|
+
get context(): CanvasRenderingContext2D;
|
|
39
|
+
/** Adds a frame cut from the canvas (`_source` kept for the old call shape). */
|
|
40
|
+
add(name: string, _source: number, x: number, y: number, w: number, h: number): void;
|
|
41
|
+
/**
|
|
42
|
+
* Adds a packed frame cut from `page` (this texture's canvas by default): trimmed frames keep their untrimmed size
|
|
43
|
+
* (`orig`) so they line up when drawn, and frames the packer turned are turned back (Pixi's `rotate: 2`).
|
|
44
|
+
*/
|
|
45
|
+
addPacked(frame: PackedFrame, page?: CanvasTexture): void;
|
|
46
|
+
/**
|
|
47
|
+
* Registers under this texture a frame that lives on another one (an atlas page after the first), so the frame is
|
|
48
|
+
* found by this texture's key. A texture of its own over the other page's source: each side frees its own.
|
|
49
|
+
*/
|
|
50
|
+
adopt(name: string, from: CanvasTexture): void;
|
|
51
|
+
refresh(): void;
|
|
52
|
+
destroy(): void;
|
|
53
|
+
}
|
|
54
|
+
/** Every texture of the world by key: the sprite atlas and per-player repainted sheets. */
|
|
55
|
+
export declare class TextureRegistry {
|
|
56
|
+
private readonly textures;
|
|
57
|
+
/** Textures repainted or freed while in use (a rig body, its hand): a copy of one must snapshot it first. */
|
|
58
|
+
private readonly live;
|
|
59
|
+
private missing;
|
|
60
|
+
private snapshots;
|
|
61
|
+
markLive(key: string): void;
|
|
62
|
+
isLive(key: string): boolean;
|
|
63
|
+
/** A new texture holding frame `frame` of `key` as it is painted right now; returns its key (one frame, '0'). */
|
|
64
|
+
snapshot(key: string, frame?: string | number): string;
|
|
65
|
+
/**
|
|
66
|
+
* `snapshot` into a texture kept for reuse (`into`): its canvas is repainted in place and uploaded again, and only
|
|
67
|
+
* made anew when the frame's size changes. Frame '0' is the copy.
|
|
68
|
+
*/
|
|
69
|
+
snapshotInto(key: string, frame: string | number | undefined, into: string): void;
|
|
70
|
+
exists(key: string): boolean;
|
|
71
|
+
addCanvas(key: string, canvas: HTMLCanvasElement): CanvasTexture;
|
|
72
|
+
/** A canvas cut into equal frames named 0, 1, 2... left to right, then row by row. */
|
|
73
|
+
addSpriteSheet(key: string, canvas: HTMLCanvasElement, size: {
|
|
74
|
+
frameWidth: number;
|
|
75
|
+
frameHeight: number;
|
|
76
|
+
}): CanvasTexture;
|
|
77
|
+
/**
|
|
78
|
+
* A packed atlas (TexturePacker JSON, `AssetLoader.atlas`): the first page under `key`, the others as `key~1`,
|
|
79
|
+
* `key~2`… like `AtlasBuilder`'s pages, and every frame of every page found under `key` by its name.
|
|
80
|
+
*/
|
|
81
|
+
addAtlas(key: string, pages: readonly {
|
|
82
|
+
canvas: HTMLCanvasElement;
|
|
83
|
+
frames: readonly PackedFrame[];
|
|
84
|
+
}[]): CanvasTexture;
|
|
85
|
+
createCanvas(key: string, width: number, height: number): CanvasTexture;
|
|
86
|
+
remove(key: string): void;
|
|
87
|
+
get(key: string, frame?: string | number): Texture;
|
|
88
|
+
private warn;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=TextureRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextureRegistry.d.ts","sourceRoot":"","sources":["../../../src/core/TextureRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { TimelineBuilder } from './TimelineBuilder.js';
|
|
2
|
+
import type { NestedPlay } from './TimelineChild.js';
|
|
3
|
+
import type { Steppable, Tweener } from './Tweener.js';
|
|
4
|
+
export interface TimelineOptions {
|
|
5
|
+
/**
|
|
6
|
+
* The manager that steps it: `stage.tweens` makes it follow the stage's `timeScale` and stop with the stage. Leave
|
|
7
|
+
* it out to step the timeline yourself with `update(dt)` (a fixed step, a test, a timeline played by another).
|
|
8
|
+
*/
|
|
9
|
+
tweens?: Tweener;
|
|
10
|
+
/** Built but not playing until `play()` / `resume()`. */
|
|
11
|
+
paused?: boolean;
|
|
12
|
+
/** Extra plays after the first (-1 = forever). */
|
|
13
|
+
repeat?: number;
|
|
14
|
+
/** Every second play runs backwards. */
|
|
15
|
+
yoyo?: boolean;
|
|
16
|
+
/** Ms of stillness between plays. */
|
|
17
|
+
repeatDelay?: number;
|
|
18
|
+
/** Its own speed factor, on top of its manager's. */
|
|
19
|
+
timeScale?: number;
|
|
20
|
+
onUpdate?: (timeline: Timeline) => void;
|
|
21
|
+
onRepeat?: (timeline: Timeline) => void;
|
|
22
|
+
/** When the playhead reaches the end it is playing toward: the end, or the start when reversed. */
|
|
23
|
+
onComplete?: (timeline: Timeline) => void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Tweens and calls laid out in time and played as one: in sequence by default, overlapping by position (`'<'`,
|
|
27
|
+
* `'-=100'`, a label), side by side in `parallel` groups, nested (`add`). It can repeat, yoyo, run at its own speed,
|
|
28
|
+
* pause, seek and play backwards, and `finished` resolves when it completes.
|
|
29
|
+
*
|
|
30
|
+
* Built in one go, then it plays: a timeline stepped while empty has nothing left to do and completes, so build it in
|
|
31
|
+
* the frame it is made (or make it `paused` and `play()` it later). Children are kept sorted by start, which is the
|
|
32
|
+
* order they are played in going forward (and the reverse going back), so a later tween on the same property wins.
|
|
33
|
+
*/
|
|
34
|
+
export declare class Timeline extends TimelineBuilder implements Steppable, NestedPlay {
|
|
35
|
+
timeScale: number;
|
|
36
|
+
readonly repeat: number;
|
|
37
|
+
readonly yoyo: boolean;
|
|
38
|
+
readonly repeatDelay: number;
|
|
39
|
+
/** A timeline holds no targets of its own for `Tweener.killTweensOf`: stop it with `kill()`. */
|
|
40
|
+
readonly targets: readonly object[];
|
|
41
|
+
private readonly options;
|
|
42
|
+
private time;
|
|
43
|
+
private paused;
|
|
44
|
+
private reversed;
|
|
45
|
+
private done;
|
|
46
|
+
private killed;
|
|
47
|
+
/** In its manager's list: set again by anything that brings a finished timeline back to life. */
|
|
48
|
+
private listed;
|
|
49
|
+
/** The next render starts the run: a call standing at its first point fires. */
|
|
50
|
+
private fresh;
|
|
51
|
+
private nestedIn;
|
|
52
|
+
private resolveFinished;
|
|
53
|
+
private finishedPromise;
|
|
54
|
+
private settled;
|
|
55
|
+
/** Scratch for `locate`, so moving the playhead allocates nothing. */
|
|
56
|
+
private locCycle;
|
|
57
|
+
private locLocal;
|
|
58
|
+
constructor(options?: TimelineOptions);
|
|
59
|
+
protected adopt(child: TimelineBuilder): NestedPlay;
|
|
60
|
+
/** Every play and the delays between them, ms; Infinity when it repeats forever. */
|
|
61
|
+
get totalDuration(): number;
|
|
62
|
+
/** Where the playhead stands, ms from the start of the first play. */
|
|
63
|
+
get currentTime(): number;
|
|
64
|
+
/** 0–1 over the whole run (over the current play when it repeats forever). */
|
|
65
|
+
get progress(): number;
|
|
66
|
+
get isPaused(): boolean;
|
|
67
|
+
get isReversed(): boolean;
|
|
68
|
+
/** Still has somewhere to go: not completed, not killed. */
|
|
69
|
+
get isActive(): boolean;
|
|
70
|
+
/** Resolves when the timeline completes (or is killed, so nothing awaits it forever). A restart makes a new one. */
|
|
71
|
+
get finished(): Promise<void>;
|
|
72
|
+
/** Advances by `dt` ms (× `timeScale`): how a timeline with no manager is played. */
|
|
73
|
+
update(dt: number): void;
|
|
74
|
+
/** @internal The manager's step: false once there is nothing left to play. */
|
|
75
|
+
step(dt: number): boolean;
|
|
76
|
+
pause(): this;
|
|
77
|
+
/** Carries on the way it was going. */
|
|
78
|
+
resume(): this;
|
|
79
|
+
/** Plays forward from where it stands. */
|
|
80
|
+
play(): this;
|
|
81
|
+
/** Turns round and plays toward the start (or forward again, if it was reversed). */
|
|
82
|
+
reverse(): this;
|
|
83
|
+
/**
|
|
84
|
+
* Jumps to `to` (ms or a label) and shows it there. Calls on the way are skipped unless `fireCalls`; the playing
|
|
85
|
+
* state is kept, so a paused timeline stays paused.
|
|
86
|
+
*/
|
|
87
|
+
seek(to: number | string, fireCalls?: boolean): this;
|
|
88
|
+
/** Back to the start, playing forward, with a new `finished` if the old one was settled. */
|
|
89
|
+
restart(): this;
|
|
90
|
+
/** Stops for good where it stands (nothing is put back) and settles `finished`. */
|
|
91
|
+
kill(): void;
|
|
92
|
+
/** @internal The manager's name for `kill` (`Tweener.clear`, a stage destroyed). */
|
|
93
|
+
remove(): void;
|
|
94
|
+
/** @internal Played by a parent: its own time and calls, as one span. */
|
|
95
|
+
playNested(from: number, to: number, fire: boolean, includeStart: boolean): void;
|
|
96
|
+
private tick;
|
|
97
|
+
/** Moves the playhead from `from` to `to` (total time), play by play. */
|
|
98
|
+
private render;
|
|
99
|
+
/** A play boundary: `onRepeat`, and a forever timeline whose every target is gone ends here. Answers "stop". */
|
|
100
|
+
private nextPlay;
|
|
101
|
+
private playCycle;
|
|
102
|
+
/** Total time → play and time within it, into `locCycle` / `locLocal`. */
|
|
103
|
+
private locate;
|
|
104
|
+
/**
|
|
105
|
+
* Every tween's every target is a destroyed display object. Checked only when a forever timeline turns round, as
|
|
106
|
+
* `Tween` drops a forever tween whose sprites were freed: otherwise it would hold them for good.
|
|
107
|
+
*/
|
|
108
|
+
private orphaned;
|
|
109
|
+
/** Brought back to life (reversed, sought, restarted, resumed): its manager steps it again. */
|
|
110
|
+
private wake;
|
|
111
|
+
private relist;
|
|
112
|
+
private settle;
|
|
113
|
+
private newPromise;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=Timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../src/core/Timeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type EaseFn } from './eases.js';
|
|
2
|
+
import { type TimelinePosition } from './timelinePlace.js';
|
|
3
|
+
import { TimelineChild, type NestedPlay } from './TimelineChild.js';
|
|
4
|
+
/** A number to tween to, or `{ from, to }` to start from a given value instead of the target's own. */
|
|
5
|
+
export type TimelineProps = Record<string, number | {
|
|
6
|
+
from?: number;
|
|
7
|
+
to: number;
|
|
8
|
+
}>;
|
|
9
|
+
export interface TimelineTweenOptions {
|
|
10
|
+
/** Ms (default 1000, as `Tweener`'s). */
|
|
11
|
+
duration?: number;
|
|
12
|
+
/** A name `easeByName` knows ('Quad.Out' when left out, as `Tweener`'s) or an ease function. */
|
|
13
|
+
ease?: string | EaseFn;
|
|
14
|
+
at?: TimelinePosition;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The building half of `Timeline`: where each tween, call, gap and nested timeline goes. Kept apart from the playing
|
|
18
|
+
* half so each stays readable; nothing here runs per frame.
|
|
19
|
+
*/
|
|
20
|
+
export declare abstract class TimelineBuilder {
|
|
21
|
+
/** Sorted by start; equal starts keep the order they were added in. */
|
|
22
|
+
protected readonly children: TimelineChild[];
|
|
23
|
+
protected readonly labels: Map<string, number>;
|
|
24
|
+
/** The longest child's end, kept as children are added rather than summed every frame. */
|
|
25
|
+
private length;
|
|
26
|
+
private lastStart;
|
|
27
|
+
private lastEnd;
|
|
28
|
+
private group;
|
|
29
|
+
/** Checks `child` may be played by this timeline and takes it over (it stops being stepped alone). */
|
|
30
|
+
protected abstract adopt(child: TimelineBuilder): NestedPlay;
|
|
31
|
+
/** One play, ms (the longest child's end). */
|
|
32
|
+
get duration(): number;
|
|
33
|
+
/** Tweens the numeric `props` of `targets` (one object or several), after what came before unless `at` says. */
|
|
34
|
+
to(targets: object | readonly object[], props: TimelineProps, options?: TimelineTweenOptions): this;
|
|
35
|
+
/** Calls `fn` when the playhead passes `at` (default: the end so far), going either way. */
|
|
36
|
+
call(fn: () => void, at?: TimelinePosition): this;
|
|
37
|
+
/** `ms` of nothing: the next child starts that much later, and a wait at the end makes the timeline longer. */
|
|
38
|
+
wait(ms: number): this;
|
|
39
|
+
/** Names a point (default: the end so far), for positions and `seek`. */
|
|
40
|
+
label(name: string, at?: TimelinePosition): this;
|
|
41
|
+
/** Where a label stands, if it is set. */
|
|
42
|
+
labelTime(name: string): number | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Everything `build` adds starts together, at `at` (default: the end so far); a position inside is measured from
|
|
45
|
+
* the group's start. What follows the group starts at its longest child's end.
|
|
46
|
+
*/
|
|
47
|
+
parallel(build: (timeline: this) => void, at?: TimelinePosition): this;
|
|
48
|
+
/** Plays another timeline (built, not repeating forever) as one child of this one; it is no longer stepped alone. */
|
|
49
|
+
add(child: TimelineBuilder, at?: TimelinePosition): this;
|
|
50
|
+
private place;
|
|
51
|
+
private insert;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=TimelineBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/TimelineBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAA8B,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGjE,uGAAuG;AACvG,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnF,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,EAAE,CAAC,EAAE,gBAAgB,CAAC;CACvB;AAED;;;GAGG;AACH,8BAAsB,eAAe;IACnC,uEAAuE;IACvE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAM;IAClD,SAAS,CAAC,QAAQ,CAAC,MAAM,sBAA6B;IACtD,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,KAAK,CAA+C;IAE5D,sGAAsG;IACtG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU;IAE5D,8CAA8C;IAC9C,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,gHAAgH;IAChH,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,GAAE,oBAAyB,GAAG,IAAI;IAqBvG,4FAA4F;IAC5F,IAAI,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAIjD,+GAA+G;IAC/G,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAItB,yEAAyE;IACzE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAKhD,0CAA0C;IAC1C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAgBtE,qHAAqH;IACrH,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAMxD,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,MAAM;CAUf"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { EaseFn } from './eases.js';
|
|
2
|
+
import type { TweenTarget } from './Tweener.js';
|
|
3
|
+
/** What a nested timeline offers the timeline playing it. */
|
|
4
|
+
export interface NestedPlay {
|
|
5
|
+
readonly totalDuration: number;
|
|
6
|
+
/** Plays from `from` to `to` (its own time, ms); `includeStart` fires a call standing exactly at `from`. */
|
|
7
|
+
playNested(from: number, to: number, fire: boolean, includeStart: boolean): void;
|
|
8
|
+
}
|
|
9
|
+
export type ChildKind = 'tween' | 'call' | 'gap' | 'nested';
|
|
10
|
+
/**
|
|
11
|
+
* One thing on a timeline: a tween, a call, an empty gap (`wait`) or a nested timeline, at `start` for `duration` ms.
|
|
12
|
+
* A tween reads its start values the first time the playhead reaches it — not when it is added — so a tween that
|
|
13
|
+
* follows another on the same property starts where that one ended, and keeps those values for seeking and reversing.
|
|
14
|
+
*/
|
|
15
|
+
export declare class TimelineChild {
|
|
16
|
+
readonly kind: ChildKind;
|
|
17
|
+
readonly start: number;
|
|
18
|
+
readonly duration: number;
|
|
19
|
+
readonly targets: readonly TweenTarget[];
|
|
20
|
+
private readonly props;
|
|
21
|
+
private readonly ends;
|
|
22
|
+
/** A start value given as `{ from, to }`, per prop; undefined reads the target's own. */
|
|
23
|
+
private readonly givenFrom;
|
|
24
|
+
private readonly ease;
|
|
25
|
+
private readonly fn;
|
|
26
|
+
private readonly nested;
|
|
27
|
+
/** Every target × prop start value, captured once (`inited`). */
|
|
28
|
+
private readonly froms;
|
|
29
|
+
private inited;
|
|
30
|
+
/** Progress (tween) or own time (nested) last written; NaN before the first, so the first always writes. */
|
|
31
|
+
private last;
|
|
32
|
+
constructor(kind: ChildKind, start: number, duration: number, targets?: readonly TweenTarget[], props?: readonly string[], ends?: readonly number[],
|
|
33
|
+
/** A start value given as `{ from, to }`, per prop; undefined reads the target's own. */
|
|
34
|
+
givenFrom?: readonly (number | undefined)[], ease?: EaseFn | null, fn?: (() => void) | null, nested?: NestedPlay | null);
|
|
35
|
+
get end(): number;
|
|
36
|
+
/**
|
|
37
|
+
* The playhead moved from `a` to `b` (the parent's own time, either way). Calls fire when `fire` is set and their
|
|
38
|
+
* time lies in the span with its start left out and its end kept — so a call met at the end of one frame does not
|
|
39
|
+
* fire again at the start of the next — unless `includeStart` keeps the start too (a run or a repeat beginning).
|
|
40
|
+
*/
|
|
41
|
+
play(a: number, b: number, fire: boolean, includeStart: boolean): void;
|
|
42
|
+
private playTween;
|
|
43
|
+
private capture;
|
|
44
|
+
private playNested;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Whether a call at `at` lies in the span the playhead swept from `a` to `b`: the end kept, the start only when
|
|
48
|
+
* `includeStart` says so.
|
|
49
|
+
*/
|
|
50
|
+
export declare function crossed(a: number, b: number, at: number, includeStart: boolean): boolean;
|
|
51
|
+
//# sourceMappingURL=TimelineChild.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineChild.d.ts","sourceRoot":"","sources":["../../../src/core/TimelineChild.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,4GAA4G;IAC5G,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;CAClF;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE5D;;;;GAIG;AACH,qBAAa,aAAa;IAQtB,QAAQ,CAAC,IAAI,EAAE,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAjBzB,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,4GAA4G;IAC5G,OAAO,CAAC,IAAI,CAAc;gBAGf,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,SAAS,WAAW,EAAO,EAC5B,KAAK,GAAE,SAAS,MAAM,EAAO,EAC7B,IAAI,GAAE,SAAS,MAAM,EAAO;IAC7C,yFAAyF;IACxE,SAAS,GAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAO,EAC/C,IAAI,GAAE,MAAM,GAAG,IAAW,EAC1B,EAAE,GAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAW,EAC9B,MAAM,GAAE,UAAU,GAAG,IAAW;IAGnD,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI;IAgBtE,OAAO,CAAC,SAAS;IAyBjB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,UAAU;CAiBnB;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAGxF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Timeline, type TimelineOptions } from './Timeline.js';
|
|
2
|
+
export type TweenTarget = Record<string, unknown> & {
|
|
3
|
+
destroyed?: boolean;
|
|
4
|
+
};
|
|
5
|
+
/** Tween config in the shape the renderer has always used: numeric props at the top level or under `props`. */
|
|
6
|
+
export interface TweenConfig {
|
|
7
|
+
targets: object | object[];
|
|
8
|
+
duration?: number;
|
|
9
|
+
delay?: number;
|
|
10
|
+
/** Ms to stay at the end values before a yoyo plays back. */
|
|
11
|
+
hold?: number;
|
|
12
|
+
yoyo?: boolean;
|
|
13
|
+
/** Extra plays after the first (-1 = forever). */
|
|
14
|
+
repeat?: number;
|
|
15
|
+
ease?: string;
|
|
16
|
+
props?: Record<string, number>;
|
|
17
|
+
onStart?: () => void;
|
|
18
|
+
onUpdate?: () => void;
|
|
19
|
+
onComplete?: () => void;
|
|
20
|
+
[prop: string]: unknown;
|
|
21
|
+
}
|
|
22
|
+
/** One running tween; `remove()` stops it without calling onComplete. */
|
|
23
|
+
export declare class Tween {
|
|
24
|
+
private readonly cfg;
|
|
25
|
+
private readonly ends;
|
|
26
|
+
private tracks;
|
|
27
|
+
private elapsed;
|
|
28
|
+
private plays;
|
|
29
|
+
removed: boolean;
|
|
30
|
+
readonly targets: TweenTarget[];
|
|
31
|
+
constructor(cfg: TweenConfig, ends: Record<string, number>);
|
|
32
|
+
/**
|
|
33
|
+
* Every target is a destroyed display object: nothing is left to move. A forever tween (`repeat: -1`) on a sprite
|
|
34
|
+
* its owner freed used to stay in the list for good, holding the sprite, and the list grew with every map loaded.
|
|
35
|
+
* A plain object (a clock a callback reads) has no `destroyed` and is never taken for one. Only a forever tween is
|
|
36
|
+
* dropped this way: a finite one still runs out and calls its `onComplete`, which may clean up more than the sprite.
|
|
37
|
+
*/
|
|
38
|
+
private orphaned;
|
|
39
|
+
remove(): void;
|
|
40
|
+
stop(): void;
|
|
41
|
+
/** Advances by `dt` ms; returns false once the tween is finished. */
|
|
42
|
+
step(dt: number): boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Anything the manager can step each frame: a `Tween`, or a `Timeline` it drives. `step` answers false once finished
|
|
46
|
+
* (the manager then drops it); `remove` stops it for good; `targets` is what `killTweensOf` matches against.
|
|
47
|
+
*/
|
|
48
|
+
export interface Steppable {
|
|
49
|
+
step(dt: number): boolean;
|
|
50
|
+
remove(): void;
|
|
51
|
+
readonly targets: readonly object[];
|
|
52
|
+
}
|
|
53
|
+
/** Frame-driven tween manager (the renderer's replacement for Phaser's TweenManager). */
|
|
54
|
+
export declare class Tweener {
|
|
55
|
+
/** Global speed factor; hit-stop slows every tween at once. */
|
|
56
|
+
timeScale: number;
|
|
57
|
+
private tweens;
|
|
58
|
+
add(cfg: TweenConfig): Tween;
|
|
59
|
+
/**
|
|
60
|
+
* Steps `item` every frame from the next one on, at this manager's `timeScale`, until its `step` answers false or
|
|
61
|
+
* the manager is cleared (a stage's manager is cleared when the stage is destroyed).
|
|
62
|
+
*/
|
|
63
|
+
run<T extends Steppable>(item: T): T;
|
|
64
|
+
/** A `Timeline` driven by this manager: it follows `timeScale` and stops with `clear`. */
|
|
65
|
+
timeline(options?: Omit<TimelineOptions, 'tweens'>): Timeline;
|
|
66
|
+
killTweensOf(target: object | object[]): void;
|
|
67
|
+
update(dt: number): void;
|
|
68
|
+
clear(): void;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=Tweener.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tweener.d.ts","sourceRoot":"","sources":["../../../src/core/Tweener.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAG5D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5E,+GAA+G;AAC/G,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAaD,yEAAyE;AACzE,qBAAa,KAAK;IAQd,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IARvB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,UAAS;IAChB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;gBAGb,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAM/C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAQhB,MAAM,IAAI,IAAI;IAId,IAAI,IAAI,IAAI;IAIZ,qEAAqE;IACrE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CA+C1B;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,MAAM,IAAI,IAAI,CAAC;IACf,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,yFAAyF;AACzF,qBAAa,OAAO;IAClB,+DAA+D;IAC/D,SAAS,SAAK;IACd,OAAO,CAAC,MAAM,CAAmB;IAEjC,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,KAAK;IAoB5B;;;OAGG;IACH,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC;IAKpC,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,GAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAM,GAAG,QAAQ;IAIjE,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAK7C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAiBxB,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TextureRegistry } from './TextureRegistry.js';
|
|
2
|
+
/**
|
|
3
|
+
* Packs many small procedurally painted canvases into as few textures as the GPU allows, so Pixi can batch every
|
|
4
|
+
* sprite of the world into very few draw calls. One page on every desktop (up to 8192 square); a device whose GPU
|
|
5
|
+
* takes less gets pages of `limit` (`atlasPageLimit`, `planAtlas`). Every frame is registered under the one `key`
|
|
6
|
+
* whichever page holds it — the pages after the first are textures of their own (`key~1`, `key~2`…) whose frames
|
|
7
|
+
* the first page's texture adopts — so the world keeps asking for `atlas` and a frame name, and never knows.
|
|
8
|
+
* Frame names: `name` for single images, `name#i` for sheet frames.
|
|
9
|
+
*/
|
|
10
|
+
export declare class AtlasBuilder {
|
|
11
|
+
private items;
|
|
12
|
+
add(name: string, canvas: HTMLCanvasElement): void;
|
|
13
|
+
addSheet(name: string, canvas: HTMLCanvasElement, frameWidth: number, frameHeight: number): void;
|
|
14
|
+
build(textures: TextureRegistry, key: string, limit?: number): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=atlas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlas.d.ts","sourceRoot":"","sources":["../../../src/core/atlas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUzD;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAmB;IAEhC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAIlD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAIhG,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,SAAkB,GAAG,IAAI;CAuC7E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare const ATLAS_PAD = 2;
|
|
2
|
+
/** The page side every desktop GPU takes, and the one the atlas was built to before pages existed. */
|
|
3
|
+
export declare const ATLAS_PAGE_FULL = 8192;
|
|
4
|
+
/**
|
|
5
|
+
* How big an atlas page may be on this device: 8192 wherever the GPU takes it (every desktop — unchanged), else
|
|
6
|
+
* split at 4096, or at the largest power of two the GPU does take if that is smaller still. Unknown: 8192, as before.
|
|
7
|
+
*/
|
|
8
|
+
export declare function atlasPageLimit(maxTextureSize: number | null): number;
|
|
9
|
+
export interface AtlasSize {
|
|
10
|
+
w: number;
|
|
11
|
+
h: number;
|
|
12
|
+
}
|
|
13
|
+
export interface AtlasPage {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
}
|
|
17
|
+
export interface AtlasPlan {
|
|
18
|
+
pages: AtlasPage[];
|
|
19
|
+
/** One per input, in input order: the page and the top-left corner. */
|
|
20
|
+
places: {
|
|
21
|
+
page: number;
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
}[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Shelf-packs the images, tallest first, into pages no larger than `limit` on either side. The page width is the
|
|
28
|
+
* power of two that fits the widest image and the square root of the total area (at least 1024), capped at `limit`;
|
|
29
|
+
* a shelf that would run past `limit` starts a new page. With everything fitting under `limit` this is exactly the
|
|
30
|
+
* single page the atlas always was. An image larger than `limit` itself is given a page of its own (the GPU will
|
|
31
|
+
* refuse it, but nothing else is lost with it).
|
|
32
|
+
*/
|
|
33
|
+
export declare function planAtlas(sizes: readonly AtlasSize[], limit: number): AtlasPlan;
|
|
34
|
+
//# sourceMappingURL=atlasPlan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlasPlan.d.ts","sourceRoot":"","sources":["../../../src/core/atlasPlan.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS,IAAI,CAAC;AAE3B,sGAAsG;AACtG,eAAO,MAAM,eAAe,OAAO,CAAC;AAIpC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGpE;AAED,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,uEAAuE;IACvE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAqC/E"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { BLEND_MODES } from 'pixi.js';
|
|
2
|
+
import type { Group } from './Group.js';
|
|
3
|
+
import type { Stage } from './Stage.js';
|
|
4
|
+
export interface BlendLayerOptions {
|
|
5
|
+
/** How its sprites blend (default `'add'`, light). Set on the container, so a sprite added needs no blend of its own. */
|
|
6
|
+
blend?: BLEND_MODES;
|
|
7
|
+
/**
|
|
8
|
+
* Its depth among the world's children (default 999,000: over every body sorted by a y under a million px, under
|
|
9
|
+
* labels a game keeps just below 1,000,000). Applied whenever given, so the first caller need not be the one to set it.
|
|
10
|
+
*/
|
|
11
|
+
depth?: number;
|
|
12
|
+
/** A stage may hold several (a light layer and a shadow one): each name is its own container (default the blend's). */
|
|
13
|
+
name?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* One container per stage (and name) for every sprite of a blend mode: lamp glows, portals, the glow under loot.
|
|
17
|
+
* Laid among the bodies by depth, each additive sprite switched the blend mode twice and split the sprite batch — in
|
|
18
|
+
* one game 85–97 draw calls a frame in a fight, two thirds of them blend changes; gathered here they are one run.
|
|
19
|
+
* The price is that they no longer sort with the bodies: the layer stands over all of them, so put a glow where its
|
|
20
|
+
* light falls rather than relying on a body to cover it. Made again if destroyed (a scene change).
|
|
21
|
+
*/
|
|
22
|
+
export declare function blendLayer(stage: Stage, options?: BlendLayerOptions): Group;
|
|
23
|
+
//# sourceMappingURL=blendLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blendLayer.d.ts","sourceRoot":"","sources":["../../../src/core/blendLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,yHAAyH;IACzH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uHAAuH;IACvH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAID;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,iBAAsB,GAAG,KAAK,CAiB/E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eases.d.ts","sourceRoot":"","sources":["../../../src/core/eases.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAmB3C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAK3D"}
|