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,116 @@
|
|
|
1
|
+
import type { Body } from './Body.js';
|
|
2
|
+
/**
|
|
3
|
+
* The shapes a body may have, each centred on the body's position. A body turns only when it is made with
|
|
4
|
+
* `rotates: true`; a platformer's bodies need no rotation, and a body that never turns keeps the cheap axis-aligned
|
|
5
|
+
* tests and the steadiest stacks.
|
|
6
|
+
*/
|
|
7
|
+
export type Shape = CircleShape | BoxShape | PolygonShape;
|
|
8
|
+
export interface CircleShape {
|
|
9
|
+
readonly kind: 'circle';
|
|
10
|
+
radius: number;
|
|
11
|
+
}
|
|
12
|
+
export interface BoxShape {
|
|
13
|
+
readonly kind: 'box';
|
|
14
|
+
halfWidth: number;
|
|
15
|
+
halfHeight: number;
|
|
16
|
+
}
|
|
17
|
+
/** A point or a vector in world or body pixels, y down. */
|
|
18
|
+
export interface Vec2 {
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A convex polygon, its vertices relative to the body's position, which must be the polygon's centroid (make one with
|
|
24
|
+
* `polygonShape`, which orders the points and moves them there). Up to `MAX_POLYGON_VERTICES` corners.
|
|
25
|
+
*/
|
|
26
|
+
export interface PolygonShape {
|
|
27
|
+
readonly kind: 'polygon';
|
|
28
|
+
readonly vertices: readonly Vec2[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* - `dynamic`: moved by gravity, forces and contacts;
|
|
32
|
+
* - `static`: never moves (ground, walls); cheapest, kept in a broad phase of its own;
|
|
33
|
+
* - `kinematic`: moved only by its velocity (a moving platform), pushes dynamic bodies and is never pushed.
|
|
34
|
+
*/
|
|
35
|
+
export type BodyType = 'dynamic' | 'static' | 'kinematic';
|
|
36
|
+
export interface BodyOptions {
|
|
37
|
+
type?: BodyType;
|
|
38
|
+
shape: Shape;
|
|
39
|
+
x?: number;
|
|
40
|
+
y?: number;
|
|
41
|
+
vx?: number;
|
|
42
|
+
vy?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Whether contacts and torques turn the body (default false). A body that does not rotate may still be placed at an
|
|
45
|
+
* `angle`, and keeps it.
|
|
46
|
+
*/
|
|
47
|
+
rotates?: boolean;
|
|
48
|
+
/** Radians, clockwise on screen (y grows downwards). */
|
|
49
|
+
angle?: number;
|
|
50
|
+
/** Radians per second. */
|
|
51
|
+
angularVelocity?: number;
|
|
52
|
+
/** Turning lost per second, as a share (default 0.05): a rolling ball slows down without rolling friction. */
|
|
53
|
+
angularDamping?: number;
|
|
54
|
+
/** Mass of a dynamic body (default 1). Ignored for static and kinematic bodies, whose mass is infinite. */
|
|
55
|
+
mass?: number;
|
|
56
|
+
/** Bounce, 0–1 (default 0). A pair bounces by the larger of its two. */
|
|
57
|
+
restitution?: number;
|
|
58
|
+
/** Coulomb friction coefficient (default 0.5). A pair uses the geometric mean of its two. */
|
|
59
|
+
friction?: number;
|
|
60
|
+
/** Velocity lost per second, as a share (default 0): air drag. */
|
|
61
|
+
linearDamping?: number;
|
|
62
|
+
/** Multiplies the world's gravity for this body (default 1; 0 floats). */
|
|
63
|
+
gravityScale?: number;
|
|
64
|
+
/** A sensor reports overlaps (contact events) but is never pushed and pushes nothing. */
|
|
65
|
+
sensor?: boolean;
|
|
66
|
+
/** Category bits this body is in (default 1). */
|
|
67
|
+
layer?: number;
|
|
68
|
+
/** Category bits this body collides with (default all). A pair collides when each one's layer is in the other's mask. */
|
|
69
|
+
mask?: number;
|
|
70
|
+
/** Anything the game wants to find again from a contact or a ray hit (an entity id, an object). */
|
|
71
|
+
userData?: unknown;
|
|
72
|
+
}
|
|
73
|
+
/** Faces of a box that lie against more solid ground (bits), never used as a contact normal. */
|
|
74
|
+
export declare const FACE_LEFT = 1;
|
|
75
|
+
export declare const FACE_RIGHT = 2;
|
|
76
|
+
export declare const FACE_TOP = 4;
|
|
77
|
+
export declare const FACE_BOTTOM = 8;
|
|
78
|
+
/** A contact as events and queries report it. The normal points from `a` towards `b`; y grows downwards. */
|
|
79
|
+
export interface ContactInfo {
|
|
80
|
+
readonly a: Body;
|
|
81
|
+
readonly b: Body;
|
|
82
|
+
readonly nx: number;
|
|
83
|
+
readonly ny: number;
|
|
84
|
+
/** Overlap along the normal, px (slightly negative while resting just apart). */
|
|
85
|
+
readonly depth: number;
|
|
86
|
+
/** Either body is a sensor: reported, never resolved. */
|
|
87
|
+
readonly sensor: boolean;
|
|
88
|
+
/** Where the two touch, world px: one or two points (two where an edge lies along an edge). */
|
|
89
|
+
readonly points: readonly Vec2[];
|
|
90
|
+
}
|
|
91
|
+
export interface PhysicsEvents {
|
|
92
|
+
/** Two bodies started touching (or a sensor started overlapping). Emitted after the step. */
|
|
93
|
+
begin: ContactInfo;
|
|
94
|
+
/** Two bodies stopped touching, or one of them was removed. Emitted after the step. */
|
|
95
|
+
end: ContactInfo;
|
|
96
|
+
}
|
|
97
|
+
export interface RayHit {
|
|
98
|
+
body: Body;
|
|
99
|
+
/** Where the ray met the body. */
|
|
100
|
+
x: number;
|
|
101
|
+
y: number;
|
|
102
|
+
/** Surface normal there, pointing back towards the ray's start. */
|
|
103
|
+
nx: number;
|
|
104
|
+
ny: number;
|
|
105
|
+
/** Share of the ray's length at the hit, 0–1. */
|
|
106
|
+
fraction: number;
|
|
107
|
+
}
|
|
108
|
+
export interface RaycastOptions {
|
|
109
|
+
/** Only bodies whose layer shares a bit with this (default all). */
|
|
110
|
+
mask?: number;
|
|
111
|
+
/** Sensors are skipped unless this is true. */
|
|
112
|
+
includeSensors?: boolean;
|
|
113
|
+
/** Skip bodies this returns false for (the caster itself, say). */
|
|
114
|
+
filter?: (body: Body) => boolean;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/physics/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,2DAA2D;AAC3D,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8GAA8G;IAC9G,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2GAA2G;IAC3G,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yHAAyH;IACzH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mGAAmG;IACnG,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,gGAAgG;AAChG,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B,4GAA4G;AAC5G,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC;IACjB,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,+FAA+F;IAC/F,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,6FAA6F;IAC7F,KAAK,EAAE,WAAW,CAAC;IACnB,uFAAuF;IACvF,GAAG,EAAE,WAAW,CAAC;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,kCAAkC;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;CAClC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { Stage } from '../core/Stage.js';
|
|
2
|
+
/** A plain light's colour (a lamp nobody named one for, the light a body carries): warm, as flame is. */
|
|
3
|
+
export declare const WARM_LIGHT = 16761466;
|
|
4
|
+
export declare class Darkness {
|
|
5
|
+
private readonly stage;
|
|
6
|
+
private color;
|
|
7
|
+
private alpha;
|
|
8
|
+
private readonly scratch;
|
|
9
|
+
private readonly sheet;
|
|
10
|
+
/** Every hole is erased before any colour is laid, or a later hole would wipe an earlier light's colour away. */
|
|
11
|
+
private readonly holes;
|
|
12
|
+
private readonly washes;
|
|
13
|
+
private readonly lamps;
|
|
14
|
+
/** The transient lights (`lights.ts`), reused frame to frame. */
|
|
15
|
+
private readonly flashes;
|
|
16
|
+
private rt;
|
|
17
|
+
/**
|
|
18
|
+
* On the screen layer, laid over the world with its exact transform by the camera (`Camera.follow`), shake included:
|
|
19
|
+
* the night is drawn in world pixels round the unshaken camera and only this layer moves with a shake, so a shaking
|
|
20
|
+
* screen does not redraw the night every frame.
|
|
21
|
+
*/
|
|
22
|
+
private readonly layer;
|
|
23
|
+
private readonly view;
|
|
24
|
+
/** The light the player carries: the only one that follows them, and the last one they lose. */
|
|
25
|
+
private readonly carried;
|
|
26
|
+
private readonly unsubscribeResize;
|
|
27
|
+
/** Lamps that flicker: while one does (or the player carries a light) every frame differs. */
|
|
28
|
+
private flickering;
|
|
29
|
+
/** Something other than the camera changed what the night looks like (a lamp added, dimmed, the window resized). */
|
|
30
|
+
private dirty;
|
|
31
|
+
/** What the last drawn frame was drawn from: the texture, the camera's texel and the shade. */
|
|
32
|
+
private drawn;
|
|
33
|
+
/** The carried light's place at the last redraw (it follows the body). */
|
|
34
|
+
private carriedAt;
|
|
35
|
+
/** When the sheet was last redrawn. */
|
|
36
|
+
private drawnAt;
|
|
37
|
+
/** The world pixel the night's top-left texel stands on. */
|
|
38
|
+
private ox;
|
|
39
|
+
private oy;
|
|
40
|
+
/** The night texture's size in world pixels, and the zoom it was made for. */
|
|
41
|
+
private rtKey;
|
|
42
|
+
/** The lamps' colour turned down (`setLampsDimmed`). */
|
|
43
|
+
private dimLamps;
|
|
44
|
+
/** A phone redraws the night at most `PHONE_MS` apart, whatever moves (`isTouchUi`). */
|
|
45
|
+
private readonly phone;
|
|
46
|
+
/** The radius `update` uses when it is given none (`DarknessOptions.carriedLight`). */
|
|
47
|
+
readonly carriedLight: number;
|
|
48
|
+
constructor(stage: Stage, color: number, alpha: number, options?: DarknessOptions);
|
|
49
|
+
/** A hole and its colour, added to the night's layers. */
|
|
50
|
+
private light;
|
|
51
|
+
/** A lamp fixed in the world: a torch on a wall, the seep in its chamber, a crystal in a seam, in its own colour. */
|
|
52
|
+
addLamp(x: number, y: number, radius: number, flicker?: number, color?: number): void;
|
|
53
|
+
/**
|
|
54
|
+
* Changes how dark and what colour the sheet is (the outdoor night, `NightShade`, deepens and lifts with the
|
|
55
|
+
* world clock). A sheet with no alpha left is neither drawn nor redrawn, so a map at noon pays nothing for its night.
|
|
56
|
+
*/
|
|
57
|
+
setShade(color: number, alpha: number): void;
|
|
58
|
+
/**
|
|
59
|
+
* Dimmed lamps lay only `LAMP_DIM` of their colour on the dark (a "fewer ambient lights" setting). The holes they
|
|
60
|
+
* cut stay as wide, so a dark place is still seen by them.
|
|
61
|
+
*/
|
|
62
|
+
setLampsDimmed(dim: boolean): void;
|
|
63
|
+
/**
|
|
64
|
+
* The night's own texture, one texel a world pixel and `MARGIN` to spare on each side (a shake, or a camera that
|
|
65
|
+
* moved while a phone waits for its next redraw, never shows its edge), remade when the window or the zoom changes:
|
|
66
|
+
* at zoom 2 or 3 it is a quarter or a ninth of the screen's pixels. True when it was remade.
|
|
67
|
+
*/
|
|
68
|
+
private fit;
|
|
69
|
+
/**
|
|
70
|
+
* Redraws the night with this frame's holes in it, when anything in it changed. `px`/`py` is where the player stands;
|
|
71
|
+
* `carriedRadius` is the light they carry (default the `carriedLight` option, 0 for none).
|
|
72
|
+
*/
|
|
73
|
+
update(now: number, px: number, py: number, carriedRadius?: number): void;
|
|
74
|
+
private hide;
|
|
75
|
+
/** Lays light `l` at world (wx, wy), `r` px across its radius, in the night's world-pixel grid. */
|
|
76
|
+
private place;
|
|
77
|
+
destroy(): void;
|
|
78
|
+
}
|
|
79
|
+
/** What is left of a lamp's glow and colour while lamps are dimmed (`setLampsDimmed`). */
|
|
80
|
+
export declare const LAMP_DIM = 0.35;
|
|
81
|
+
/**
|
|
82
|
+
* The default radius of light the player carries underground, world px: five 16-px tiles of certainty in any
|
|
83
|
+
* direction. A game with other tiles passes its own as `DarknessOptions.carriedLight`.
|
|
84
|
+
*/
|
|
85
|
+
export declare const CARRIED_LIGHT = 80;
|
|
86
|
+
export interface DarknessOptions {
|
|
87
|
+
/** The light the player carries when `update` is given no radius, world px (default `CARRIED_LIGHT`, 80). */
|
|
88
|
+
carriedLight?: number;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=Darkness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Darkness.d.ts","sourceRoot":"","sources":["../../../src/pixel/Darkness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AA2C3C,yGAAyG;AACzG,eAAO,MAAM,UAAU,WAAW,CAAC;AAsEnC,qBAAa,QAAQ;IA4CjB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,KAAK;IA7Cf,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,iHAAiH;IACjH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqF;IAC3G,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,EAAE,CAAgB;IAC1B;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAa;IAC/C,8FAA8F;IAC9F,OAAO,CAAC,UAAU,CAAK;IACvB,oHAAoH;IACpH,OAAO,CAAC,KAAK,CAAQ;IACrB,+FAA+F;IAC/F,OAAO,CAAC,KAAK,CAAM;IACnB,0EAA0E;IAC1E,OAAO,CAAC,SAAS,CAAM;IACvB,uCAAuC;IACvC,OAAO,CAAC,OAAO,CAAa;IAC5B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,EAAE,CAAK;IACf,8EAA8E;IAC9E,OAAO,CAAC,KAAK,CAAM;IACnB,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAS;IACzB,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IAErC,uFAAuF;IACvF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAGX,KAAK,EAAE,KAAK,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACrB,OAAO,GAAE,eAAoB;IAiB/B,0DAA0D;IAC1D,OAAO,CAAC,KAAK;IAUb,qHAAqH;IACrH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,SAAI,EAAE,KAAK,SAAa,GAAG,IAAI;IAMpF;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAM5C;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAMlC;;;;OAIG;IACH,OAAO,CAAC,GAAG;IAaX;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,SAAoB,GAAG,IAAI;IAiEpF,OAAO,CAAC,IAAI;IAKZ,mGAAmG;IACnG,OAAO,CAAC,KAAK;IAmBb,OAAO,IAAI,IAAI;CAOhB;AAED,0FAA0F;AAC1F,eAAO,MAAM,QAAQ,OAAO,CAAC;AAE7B;;;GAGG;AACH,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,MAAM,WAAW,eAAe;IAC9B,6GAA6G;IAC7G,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Texture } from 'pixi.js';
|
|
2
|
+
import type { Stage } from '../core/Stage.js';
|
|
3
|
+
/**
|
|
4
|
+
* A white dithered edge for a screen of `w`×`h` world pixels, one texel a world pixel and scaled up `'nearest'`;
|
|
5
|
+
* the sprite that draws it tints it. Made once per size and strength. Returns `Texture.EMPTY` when the browser has
|
|
6
|
+
* no canvas memory to spare (iOS), so the caller asks again later.
|
|
7
|
+
*/
|
|
8
|
+
export declare function ditherVignette(w: number, h: number, strength?: number, from?: number): Texture;
|
|
9
|
+
export interface DitherVignetteOptions {
|
|
10
|
+
/** The edge's colour (default black). */
|
|
11
|
+
color?: number;
|
|
12
|
+
/** How far from the centre toward a corner the edge begins, 0..1 (default 0.55). */
|
|
13
|
+
from?: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A dithered pixel edge round the screen, on the screen layer: a darkened border, or tinted red and beaten with
|
|
17
|
+
* `heartbeat` while a player is low on health. The texture is made at full strength, off the frame that first needs
|
|
18
|
+
* it (a full-screen dither is a few ms on a phone), and remade only when the window or the zoom changes; `show`
|
|
19
|
+
* changes how much of it shows.
|
|
20
|
+
*/
|
|
21
|
+
export declare class DitherVignette {
|
|
22
|
+
private readonly stage;
|
|
23
|
+
private readonly edge;
|
|
24
|
+
private madeFor;
|
|
25
|
+
private making;
|
|
26
|
+
private readonly from;
|
|
27
|
+
constructor(stage: Stage, options?: DitherVignetteOptions);
|
|
28
|
+
setColor(color: number): void;
|
|
29
|
+
private make;
|
|
30
|
+
/** Shows the edge at `alpha` (0..1); call each frame it shows. */
|
|
31
|
+
show(alpha: number): void;
|
|
32
|
+
hide(): void;
|
|
33
|
+
destroy(): void;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=DitherVignette.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DitherVignette.d.ts","sourceRoot":"","sources":["../../../src/pixel/DitherVignette.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAO3C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,SAAI,EAAE,IAAI,SAAO,GAAG,OAAO,CAuBvF;AAED,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IAOvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAA8C;IAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAGX,KAAK,EAAE,KAAK,EAC7B,OAAO,GAAE,qBAA0B;IAYrC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,OAAO,CAAC,IAAI;IAaZ,kEAAkE;IAClE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASzB,IAAI,IAAI,IAAI;IAIZ,OAAO,IAAI,IAAI;CAIhB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Stage } from '../core/Stage.js';
|
|
2
|
+
import type { WorldObject } from '../core/types.js';
|
|
3
|
+
import type { PackedPixels } from './spritePixels.js';
|
|
4
|
+
/** What a dying body hands over: its feet in the world, how it was drawn, and the pixels of its last frame. */
|
|
5
|
+
export interface DeathPixels {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
/** World pixels per sprite pixel (the body's `scale`), negative when the body faced left. */
|
|
9
|
+
scaleX: number;
|
|
10
|
+
scaleY: number;
|
|
11
|
+
pixels: PackedPixels;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A dead body evaporating: it breaks into its own pixels, which let go top rows first, rise, scatter a little and
|
|
15
|
+
* give out, while the body itself is hidden by the caller. Every particle is one whole world pixel in a colour read
|
|
16
|
+
* off the body's last frame, painted at 12 fps like every other effect; it pales up its own ramp as it rises and
|
|
17
|
+
* steps its alpha down instead of melting, so it stays pixel art the whole way. A cloud is one `PixelLayer` (a pooled
|
|
18
|
+
* texture) rather than a Graphics of up to 1,400 rects.
|
|
19
|
+
*/
|
|
20
|
+
export declare class Evaporation {
|
|
21
|
+
private readonly scene;
|
|
22
|
+
private readonly track;
|
|
23
|
+
private readonly clouds;
|
|
24
|
+
private live;
|
|
25
|
+
constructor(scene: Stage, track: (object: WorldObject) => void);
|
|
26
|
+
play(d: DeathPixels, big: boolean, now: number): void;
|
|
27
|
+
update(now: number): void;
|
|
28
|
+
private draw;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=Evaporation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Evaporation.d.ts","sourceRoot":"","sources":["../../../src/pixel/Evaporation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,+GAA+G;AAC/G,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,6FAA6F;IAC7F,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;CACtB;AAgCD;;;;;;GAMG;AACH,qBAAa,WAAW;IAKpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,IAAI,CAAK;gBAGE,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI;IAGvD,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAqDrD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAazB,OAAO,CAAC,IAAI;CA8Bb"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Stage } from '../core/Stage.js';
|
|
2
|
+
import { type DayClock } from '../ambient/DayClock.js';
|
|
3
|
+
export interface NightShadeOptions {
|
|
4
|
+
/** The day the night follows. */
|
|
5
|
+
clock: DayClock;
|
|
6
|
+
/** This place's own night colour, pulled in as the night deepens (`tintNight`); none keeps the clock's. */
|
|
7
|
+
tint?: number;
|
|
8
|
+
/** How far the tint takes over at full night (default 0.6). */
|
|
9
|
+
tintShare?: number;
|
|
10
|
+
/** A lamp's hole in the night against the glow it is drawn with (default 1.6: the light reaches past the glow). */
|
|
11
|
+
lampScale?: number;
|
|
12
|
+
/** The radius (world px) of the light a body carries at full night; 0 for none (default 64). */
|
|
13
|
+
carriedLight?: number;
|
|
14
|
+
/** The night share below which nothing is carried (default 0.55): at dusk a hole round the feet reads as a spotlight. */
|
|
15
|
+
carriedFrom?: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The outdoor night: a `DayClock`'s grade laid over the world as a dithered `Darkness`, deepening at dusk and lifting
|
|
19
|
+
* at dawn, with every lamp, window and fire burning a hole in it — the same erase trick an underground is lit by,
|
|
20
|
+
* only with a sheet whose colour and depth follow the clock. A place under no sky (a cave) builds a `Darkness` of its
|
|
21
|
+
* own instead; at noon the sheet has no alpha and costs nothing.
|
|
22
|
+
*/
|
|
23
|
+
export declare class NightShade {
|
|
24
|
+
private readonly options;
|
|
25
|
+
private readonly dark;
|
|
26
|
+
private readonly lampScale;
|
|
27
|
+
private readonly carried;
|
|
28
|
+
private readonly carriedFrom;
|
|
29
|
+
constructor(stage: Stage, options: NightShadeOptions);
|
|
30
|
+
/** A light the place glows with, `glowSize` the diameter of the glow drawn for it: by night it is what is seen by. */
|
|
31
|
+
addLight(x: number, y: number, glowSize: number, color?: number, flicker?: number): void;
|
|
32
|
+
/** Lamps colour the dark less (a "fewer ambient lights" setting); their holes stay as wide. */
|
|
33
|
+
setLampsDimmed(dim: boolean): void;
|
|
34
|
+
/** `now` the frame's ms, `wallMs` the shared wall time the clock reads (`serverNow()`), `px`/`py` the player. */
|
|
35
|
+
update(now: number, wallMs: number, px: number, py: number): void;
|
|
36
|
+
destroy(): void;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=NightShade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NightShade.d.ts","sourceRoot":"","sources":["../../../src/pixel/NightShade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/D,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,KAAK,EAAE,QAAQ,CAAC;IAChB,2GAA2G;IAC3G,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mHAAmH;IACnH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gGAAgG;IAChG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yHAAyH;IACzH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IAQnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAGnC,KAAK,EAAE,KAAK,EACK,OAAO,EAAE,iBAAiB;IAS7C,sHAAsH;IACtH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,IAAI;IAInF,+FAA+F;IAC/F,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIlC,iHAAiH;IACjH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAOjE,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Graphics } from '../core/Graphics.js';
|
|
2
|
+
import type { Stage } from '../core/Stage.js';
|
|
3
|
+
/**
|
|
4
|
+
* A `Graphics` for the pixel effects: every `fillRect` of a frame is written into a small RGBA buffer
|
|
5
|
+
* and shown as **one** sprite, instead of becoming a rect Pixi must tessellate, batch and upload. An effect's frame is
|
|
6
|
+
* hundreds to thousands of one-pixel runs (a poison cloud, a status mark round every body in a pack), and as rects they
|
|
7
|
+
* were most of a fight's CPU on a phone (profiled). The pixels are the same: whole
|
|
8
|
+
* world pixels, a translucent fill blended over what was painted before it in the same frame, as a Graphics did.
|
|
9
|
+
*
|
|
10
|
+
* Paint between `clear()` and `present()`; anything other than `fillStyle`/`fillRect` still draws through the
|
|
11
|
+
* Graphics underneath, so a painter using another shape keeps working. Solid pixels may also be **staged**
|
|
12
|
+
* (`stage`, from `pixelTone`'s batch) and laid in one go by `commit`, which is what a batch's flush does.
|
|
13
|
+
*
|
|
14
|
+
* Buffers and their textures are pooled by size class (a texture per effect ran to ~114 a second in a busy fight,
|
|
15
|
+
* and each one stayed in Pixi's batch tables), so a destroyed layer hands its texture
|
|
16
|
+
* to the next one; `PixelLayer.drainPool` lets them all go when the map changes.
|
|
17
|
+
*/
|
|
18
|
+
/** A new `PixelLayer` on the stage's world layer. */
|
|
19
|
+
export declare function addPixelLayer(stage: Stage): PixelLayer;
|
|
20
|
+
export declare class PixelLayer extends Graphics {
|
|
21
|
+
/** This frame's rects: x, y, w, h, colour, alpha — six numbers each. */
|
|
22
|
+
private readonly rects;
|
|
23
|
+
/** Staged solid runs not yet committed: x, y, w, colour — four numbers each; later ones win. */
|
|
24
|
+
private readonly staged;
|
|
25
|
+
private ink;
|
|
26
|
+
private inkAlpha;
|
|
27
|
+
private readonly sprite;
|
|
28
|
+
private surface;
|
|
29
|
+
/** Where the buffer's first pixel sits in the layer, as of the last `present`. */
|
|
30
|
+
private originX;
|
|
31
|
+
private originY;
|
|
32
|
+
/** The last frame's size, and how many presents in a row it stayed well inside a quarter of the buffer. */
|
|
33
|
+
private lastW;
|
|
34
|
+
private lastH;
|
|
35
|
+
private small;
|
|
36
|
+
constructor();
|
|
37
|
+
/** Textures made, spent buffers waiting in the pool and their bytes (the leak tools read it). */
|
|
38
|
+
static stats(): {
|
|
39
|
+
made: number;
|
|
40
|
+
pooled: number;
|
|
41
|
+
pooledBytes: number;
|
|
42
|
+
};
|
|
43
|
+
/** Lets every pooled buffer go (the world changed map): the next map's effects start a pool of their own. */
|
|
44
|
+
static drainPool(): void;
|
|
45
|
+
fillStyle(color: number, alpha?: number): this;
|
|
46
|
+
fillRect(x: number, y: number, w: number, h: number): this;
|
|
47
|
+
/** `fillStyle` + `fillRect` on whole pixels in one call, leaving the fill style alone (a hot loop's way in). */
|
|
48
|
+
rect(x: number, y: number, w: number, h: number, color: number, alpha?: number): void;
|
|
49
|
+
/**
|
|
50
|
+
* A solid run of `w` whole pixels at (x, y) in `color`, held until `commit` lays every staged run in the order given
|
|
51
|
+
* (the later winning where they cross), after whatever was drawn before the commit. What `pixelTone`'s batch writes
|
|
52
|
+
* instead of filing each pixel in a map and sorting it into rects.
|
|
53
|
+
*/
|
|
54
|
+
stage(x: number, y: number, w: number, color: number): void;
|
|
55
|
+
/** Lays the staged runs, as opaque rects, after everything drawn so far. */
|
|
56
|
+
commit(): void;
|
|
57
|
+
clear(): this;
|
|
58
|
+
/** How far the last frame reached from the layer's origin, in world pixels (0 when nothing showed). */
|
|
59
|
+
reach(): number;
|
|
60
|
+
/** Writes this frame's rects into the texture and shows it; call once the frame is painted. */
|
|
61
|
+
present(): void;
|
|
62
|
+
/**
|
|
63
|
+
* Shows `other`'s last frame instead of painting one: its texture, placed where it placed it. A frame shared by
|
|
64
|
+
* several bodies (the same aura on two bodies) is painted once and shown by each of their layers.
|
|
65
|
+
*/
|
|
66
|
+
mirror(other: PixelLayer): void;
|
|
67
|
+
/** Shows nothing and lets go of the texture a `mirror` showed. */
|
|
68
|
+
hideMirror(): void;
|
|
69
|
+
/** The premultiplied [r, g, b, a] last presented at layer pixel (x, y); zeros where nothing was (tests read it). */
|
|
70
|
+
pixelAt(x: number, y: number): [number, number, number, number];
|
|
71
|
+
/** The buffer's size (tests read it). */
|
|
72
|
+
capacity(): {
|
|
73
|
+
w: number;
|
|
74
|
+
h: number;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* A buffer at least `w` × `h`: grown a size class at a time and kept while it fits, traded back to the pool for a
|
|
78
|
+
* smaller one only once the frames have stayed well inside it for `SHRINK_AFTER` presents (a long-lived layer — an
|
|
79
|
+
* aura, a status mark — that once swelled would otherwise hold and upload its largest buffer for good).
|
|
80
|
+
*/
|
|
81
|
+
private fit;
|
|
82
|
+
private dropSurface;
|
|
83
|
+
destroy(): void;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=PixelLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PixelLayer.d.ts","sourceRoot":"","sources":["../../../src/pixel/PixelLayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAqF3C;;;;;;;;;;;;;;GAcG;AACH,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAEtD;AAED,qBAAa,UAAW,SAAQ,QAAQ;IACtC,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,OAAO,CAAwB;IACvC,kFAAkF;IAClF,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,2GAA2G;IAC3G,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;;IAQlB,iGAAiG;IACjG,MAAM,CAAC,KAAK,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;IAMrE,6GAA6G;IAC7G,MAAM,CAAC,SAAS,IAAI,IAAI;IAMf,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,IAAI;IAMzC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IASnE,gHAAgH;IAChH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,IAAI;IAKhF;;;;OAIG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3D,4EAA4E;IAC5E,MAAM,IAAI,IAAI;IASL,KAAK,IAAI,IAAI;IAMtB,uGAAuG;IACvG,KAAK,IAAI,MAAM;IAKf,+FAA+F;IAC/F,OAAO,IAAI,IAAI;IAsFf;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAe/B,kEAAkE;IAClE,UAAU,IAAI,IAAI;IAKlB,oHAAoH;IACpH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAa/D,yCAAyC;IACzC,QAAQ,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAIpC;;;;OAIG;IACH,OAAO,CAAC,GAAG;IAmBX,OAAO,CAAC,WAAW;IAMV,OAAO,IAAI,IAAI;CAKzB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { Stage } from '../core/Stage.js';
|
|
2
|
+
/** A mark's look: the bright stroke, the rim/edge tone, the dark pixels round it, and a fill for discs. */
|
|
3
|
+
export interface MarkTone {
|
|
4
|
+
light: number;
|
|
5
|
+
rim: number;
|
|
6
|
+
dark: number;
|
|
7
|
+
fill: number;
|
|
8
|
+
}
|
|
9
|
+
export interface PixelMarksOptions<T extends string> {
|
|
10
|
+
/** The looks marks are drawn in, by name (`aim`, `cancel`, `lock`…); every mark names one. */
|
|
11
|
+
tones: Record<T, MarkTone>;
|
|
12
|
+
/** Depth of every mark (default 0): usually just over the effects that lie on the ground. */
|
|
13
|
+
depth?: number;
|
|
14
|
+
/** Headings a chevron is painted for (default 32, 11.25° apart): each is painted once per size and tone. */
|
|
15
|
+
headings?: number;
|
|
16
|
+
/** World pixels between two chevrons of an aim line (default 10). */
|
|
17
|
+
spacing?: number;
|
|
18
|
+
/** How fast the chevrons creep along a line, px per ms (default 0.02), so it reads as a direction. */
|
|
19
|
+
creep?: number;
|
|
20
|
+
/** Opacity of a disc's fill (default 0.28). */
|
|
21
|
+
fillAlpha?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Aim and target marks in the world's own pixels: rings, discs and ground ellipses painted once per size and tone and
|
|
25
|
+
* only moved after that, and aim lines as a row of chevrons from a pool — a chevron is repainted only when its heading,
|
|
26
|
+
* size or tone changes. Lines are chevrons, never a solid lane: a solid line of world pixels at most angles is a
|
|
27
|
+
* staircase and reads as broken, while each chevron is crisp at any angle. The drawing side of `AimGesture` and
|
|
28
|
+
* `TargetLock`. Each frame: `begin`, place what the frame needs, then `end`, which hides whatever was shown last frame
|
|
29
|
+
* and not this one.
|
|
30
|
+
*/
|
|
31
|
+
export declare class PixelMarks<T extends string = string> {
|
|
32
|
+
private readonly stage;
|
|
33
|
+
private readonly tones;
|
|
34
|
+
private readonly depth;
|
|
35
|
+
private readonly headings;
|
|
36
|
+
private readonly spacing;
|
|
37
|
+
private readonly creep;
|
|
38
|
+
private readonly fillAlpha;
|
|
39
|
+
private readonly cache;
|
|
40
|
+
private readonly pool;
|
|
41
|
+
private used;
|
|
42
|
+
private shown;
|
|
43
|
+
private next;
|
|
44
|
+
constructor(stage: Stage, options: PixelMarksOptions<T>);
|
|
45
|
+
begin(): void;
|
|
46
|
+
/** A ring of radius `r` round (x, y): the bright line with dark pixels just inside and outside it. */
|
|
47
|
+
ring(x: number, y: number, r: number, tone: T): void;
|
|
48
|
+
/** A filled disc of radius `r` with a bright rim and a cross at its middle: where a skill aimed at a spot lands. */
|
|
49
|
+
disc(x: number, y: number, r: number, tone: T): void;
|
|
50
|
+
/** A ring on the ground in three-quarter view, `rx` wide and `ry` deep, centred on (x, y) — a body's feet. */
|
|
51
|
+
groundRing(x: number, y: number, rx: number, ry: number, tone: T): void;
|
|
52
|
+
/**
|
|
53
|
+
* An aim line from (x, y) along `angle`, from `start` to `end` px out: chevrons `size` px across every `spacing`,
|
|
54
|
+
* creeping forward with `now`, and a larger one at the end.
|
|
55
|
+
*/
|
|
56
|
+
chevrons(now: number, x: number, y: number, angle: number, start: number, end: number, size: number, tone: T): void;
|
|
57
|
+
/**
|
|
58
|
+
* One still chevron `dist` px out from (x, y) along `angle`: the way the next blow goes. Unlike `chevrons` it does
|
|
59
|
+
* not creep, so an arrow always under the feet does not keep catching the eye.
|
|
60
|
+
*/
|
|
61
|
+
pointer(x: number, y: number, angle: number, dist: number, size: number, tone: T): void;
|
|
62
|
+
end(): void;
|
|
63
|
+
destroy(): void;
|
|
64
|
+
private heading;
|
|
65
|
+
private chevron;
|
|
66
|
+
private place;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=PixelMarks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PixelMarks.d.ts","sourceRoot":"","sources":["../../../src/pixel/PixelMarks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAG3C,2GAA2G;AAC3G,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM;IACjD,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3B,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4GAA4G;IAC5G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD;;;;;;;GAOG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAc7C,OAAO,CAAC,QAAQ,CAAC,KAAK;IAbxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,IAAI,CAAuB;gBAGhB,KAAK,EAAE,KAAK,EAC7B,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAU/B,KAAK,IAAI,IAAI;IAMb,sGAAsG;IACtG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAUpD,oHAAoH;IACpH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAYpD,8GAA8G;IAC9G,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAYvE;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAWnH;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAKvF,GAAG,IAAI,IAAI;IASX,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,KAAK;CAWd"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Texture } from 'pixi.js';
|
|
2
|
+
import type { Image } from '../core/Image.js';
|
|
3
|
+
import { type SwayDef, type SwayRig } from './swayRig.js';
|
|
4
|
+
/**
|
|
5
|
+
* The opaque width of each row of a frame, read once off its canvas (a `crown` finds its trunk in them); undefined
|
|
6
|
+
* when the source is not a 2D canvas. The atlas pages are canvases kept on the CPU, so this costs no GPU read-back.
|
|
7
|
+
*/
|
|
8
|
+
export declare function opaqueRowWidths(frame: Texture): number[] | undefined;
|
|
9
|
+
export interface SwayPropOptions {
|
|
10
|
+
/** Which `tufts` list to read (default 0). */
|
|
11
|
+
variant?: number;
|
|
12
|
+
/** This prop's place in the cycle, 0..1 (`tileHash` of its tile keeps it from one visit to the next). */
|
|
13
|
+
phase?: number;
|
|
14
|
+
/** Its pace against the def's `speed` (default 1): a little apart per prop, so a wood never sways in step. */
|
|
15
|
+
pace?: number;
|
|
16
|
+
/** Row widths for a `crown` (default: read off the frame with `opaqueRowWidths`). */
|
|
17
|
+
rowWidths?: readonly number[];
|
|
18
|
+
/** A rig already built for this frame (props of one frame share one). */
|
|
19
|
+
rig?: SwayRig;
|
|
20
|
+
}
|
|
21
|
+
export interface SwayWind {
|
|
22
|
+
/** 0 still … 1 a full wind. */
|
|
23
|
+
wind: number;
|
|
24
|
+
/** A gust's period (s) and wavelength across the world (px); see `gustAt`. */
|
|
25
|
+
gustSeconds: number;
|
|
26
|
+
gustPx: number;
|
|
27
|
+
/** The least reach while any wind blows (`swayOffset`). */
|
|
28
|
+
minReach?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* One sprite swaying in the wind, in whole world pixels. The placed image becomes the rig's first (largest) still
|
|
32
|
+
* piece — so whatever culls, fades or sorts it keeps working — and the other pieces and the strips are sprites beside
|
|
33
|
+
* it in the same parent, at its depth, following its visibility and alpha. A strip's sprite is moved only when its
|
|
34
|
+
* whole-pixel offset changes.
|
|
35
|
+
*/
|
|
36
|
+
export declare class SwayProp {
|
|
37
|
+
private readonly img;
|
|
38
|
+
private readonly def;
|
|
39
|
+
private readonly parts;
|
|
40
|
+
private readonly strips;
|
|
41
|
+
private readonly phase;
|
|
42
|
+
private readonly speed;
|
|
43
|
+
private shown;
|
|
44
|
+
private alpha;
|
|
45
|
+
/** False when the frame is too small or the rig has nothing to move: `update` then does nothing. */
|
|
46
|
+
readonly active: boolean;
|
|
47
|
+
constructor(img: Image, def: SwayDef, options?: SwayPropOptions);
|
|
48
|
+
/** `tSec` seconds of any steady clock; `enabled` false stands everything still (an ambient-effects setting). */
|
|
49
|
+
update(tSec: number, air: SwayWind, enabled?: boolean): void;
|
|
50
|
+
destroy(): void;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=SwayProp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwayProp.d.ts","sourceRoot":"","sources":["../../../src/pixel/SwayProp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,OAAO,EAAsB,MAAM,SAAS,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAA2C,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAehG;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAkBpE;AAED,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8GAA8G;IAC9G,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,yEAAyE;IACzE,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,QAAQ;IAWjB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAXtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwF;IAC/G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,oGAAoG;IACpG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;gBAGN,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,OAAO,EAC7B,OAAO,GAAE,eAAoB;IAmC/B,gHAAgH;IAChH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,UAAO,GAAG,IAAI;IAsBzD,OAAO,IAAI,IAAI;CAKhB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type PixelPoint = readonly [number, number];
|
|
2
|
+
/** One horizontal run of pixels: row y, from x0 to x1 inclusive. */
|
|
3
|
+
export type PixelRun = readonly [number, number, number];
|
|
4
|
+
/** The outline of a circle of radius `r` round (0, 0), each pixel once (midpoint algorithm, 8-way symmetric). */
|
|
5
|
+
export declare function ringPixels(r: number): PixelPoint[];
|
|
6
|
+
/** A filled disc of radius `r` round (0, 0), one run per row. */
|
|
7
|
+
export declare function discRuns(r: number): PixelRun[];
|
|
8
|
+
/**
|
|
9
|
+
* The outline of an ellipse `rx` wide and `ry` deep round (0, 0), each pixel once (midpoint algorithm) — a circle on
|
|
10
|
+
* the ground as a three-quarter view shows it, so a body can stand in the middle of it.
|
|
11
|
+
*/
|
|
12
|
+
export declare function ellipsePixels(rx: number, ry: number): PixelPoint[];
|
|
13
|
+
/**
|
|
14
|
+
* A chevron (›) pointing along `angle`, its arms `size` px out from the line either side, round (0, 0): the bright
|
|
15
|
+
* stroke and the dark pixels that rim it. A row of these, evenly spaced, is how an aim line is drawn: each one is
|
|
16
|
+
* crisp at any angle, and with no continuous edge between them there is no staircase to see — a solid line of world
|
|
17
|
+
* pixels at, say, 20° is one, and read as broken.
|
|
18
|
+
*/
|
|
19
|
+
export declare function chevronPixels(angle: number, size: number): {
|
|
20
|
+
lit: PixelPoint[];
|
|
21
|
+
rim: PixelPoint[];
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=aimPixels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aimPixels.d.ts","sourceRoot":"","sources":["../../../src/pixel/aimPixels.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACnD,oEAAoE;AACpE,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzD,iHAAiH;AACjH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAuBlD;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAQ9C;AAGD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,EAAE,CA8ClE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IAAC,GAAG,EAAE,UAAU,EAAE,CAAA;CAAE,CA+BnG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dither, 1681 Engine's pixel-art module: `import { … } from '1681-engine/pixel'`.
|
|
3
|
+
*
|
|
4
|
+
* Everything here works on the world's own pixel grid: rects batched into one texture, shapes shaded by hue-shifted
|
|
5
|
+
* ramps and faded by ordered dither, dithered lighting, bodies that evaporate into their own pixels. Start the engine
|
|
6
|
+
* with `pixelPerfect: true` so textures stay sharp and the camera lands on whole pixels.
|
|
7
|
+
*/
|
|
8
|
+
export { PixelLayer, addPixelLayer } from './PixelLayer.js';
|
|
9
|
+
export { PixelGrid, PixelWindow, CLEAR, rgba, hex, channels, shade, mix, withAlpha, toCss, hash2, mulberry32, valueNoise, makeSheet, upscale, type Color, } from './pixel.js';
|
|
10
|
+
export { P as PALETTE } from './palette.js';
|
|
11
|
+
export { art, litOutline, groundShadow, shadeBox, type PropArt } from './propKit.js';
|
|
12
|
+
export { ramp, rampTones, hueShade, outlineOf, registerMaterial, MATERIALS, RAMP_FACTOR_SET, type Material, type BuiltinMaterial, type MaterialLight, type RampFactors, type Ramp, } from './ramp.js';
|
|
13
|
+
export { selectiveOutline } from './selout.js';
|
|
14
|
+
export { ringPixels, discRuns, ellipsePixels, chevronPixels, type PixelPoint, type PixelRun } from './aimPixels.js';
|
|
15
|
+
export { PixelMarks, type MarkTone, type PixelMarksOptions } from './PixelMarks.js';
|
|
16
|
+
/** Pixel shapes on the 1-px world grid: `pixelPaint.ring(g, …)`, `pixelPaint.arc(g, …)`… */
|
|
17
|
+
export * as pixelPaint from './pixelPaint.js';
|
|
18
|
+
/** Colour ramps, grading, dithering and batching under `pixelPaint`. */
|
|
19
|
+
export * as pixelTone from './pixelTone.js';
|
|
20
|
+
export { registerHandRamps } from './pixelTone.js';
|
|
21
|
+
export { paintLayer, type PaintLayerOptions } from './paintLayer.js';
|
|
22
|
+
export { Evaporation, type DeathPixels } from './Evaporation.js';
|
|
23
|
+
export { spritePixels, NO_PIXELS, PackedPixels, type SpritePixel } from './spritePixels.js';
|
|
24
|
+
export { Darkness, WARM_LIGHT, LAMP_DIM, CARRIED_LIGHT, type DarknessOptions } from './Darkness.js';
|
|
25
|
+
export { flashLight, carriedLight, liveLights, clearLights, type TransientLight } from './lights.js';
|
|
26
|
+
export { NightShade, type NightShadeOptions } from './NightShade.js';
|
|
27
|
+
export { paintWeatherArt, mistPixels, WEATHER_COLORS, type WeatherColors, type WeatherPixel } from './weatherArt.js';
|
|
28
|
+
export { buildRig, trunkPivot, complement, tileHash, gustAt, swayOffset, type SwayDef, type SwayMode, type TuftRect, type SwayRig, type SwayStrip, type Rect as SwayRect } from './swayRig.js';
|
|
29
|
+
export { SwayProp, opaqueRowWidths, type SwayPropOptions, type SwayWind } from './SwayProp.js';
|
|
30
|
+
export { vignetteMask, heartbeat } from './vignetteMask.js';
|
|
31
|
+
export { DitherVignette, ditherVignette, type DitherVignetteOptions } from './DitherVignette.js';
|
|
32
|
+
export { nineSlice, frameSvg, FRAME_CORNERS, FRAME_TWINS, type NineSliceSpec, type NineSlice, type SliceInsets } from './nineSlice.js';
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pixel/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,KAAK,EACL,GAAG,EACH,SAAS,EACT,KAAK,EACL,KAAK,EACL,UAAU,EACV,UAAU,EACV,SAAS,EACT,OAAO,EACP,KAAK,KAAK,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,CAAC,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EACL,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,IAAI,GACV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjF,4FAA4F;AAC5F,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,wEAAwE;AACxE,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEzF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAClH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,IAAI,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC5L,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC"}
|