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,34 @@
|
|
|
1
|
+
export interface TransientLight {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
/** Radius at its brightest, world px. */
|
|
5
|
+
r: number;
|
|
6
|
+
born: number;
|
|
7
|
+
/** When it is gone; a carried light's is pushed to `CARRIED_MAX_MS` and brought in by its `end()`. */
|
|
8
|
+
until: number;
|
|
9
|
+
/** A light riding a moving thing reads its place every frame. */
|
|
10
|
+
follow?: () => {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
};
|
|
14
|
+
/** A flash shrinks as it goes out; a carried light keeps its size. */
|
|
15
|
+
fades: boolean;
|
|
16
|
+
/** The colour it lays on what it lights: a fireball's orange, a spell's violet, a blade's white. */
|
|
17
|
+
color: number;
|
|
18
|
+
}
|
|
19
|
+
/** A flash at (x, y) in `color`: `r` px at once, shrinking to nothing over `ms`. */
|
|
20
|
+
export declare function flashLight(x: number, y: number, r: number, ms: number, color?: number, now?: number): void;
|
|
21
|
+
/** A light that rides `at` until `end()` is called (a shot in flight), and never past `CARRIED_MAX_MS`. */
|
|
22
|
+
export declare function carriedLight(at: () => {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
}, r: number, color?: number, now?: number): {
|
|
26
|
+
end: () => void;
|
|
27
|
+
};
|
|
28
|
+
/** The lights burning at `now`, each with its radius then; spent ones are dropped. None while combat lights are off. */
|
|
29
|
+
export declare function liveLights(now: number): readonly TransientLight[];
|
|
30
|
+
/** The radius `l` burns at `now`: a flash eases out from its full size, a carried light holds it. */
|
|
31
|
+
export declare function lightRadius(l: TransientLight, now: number): number;
|
|
32
|
+
/** A new map: nothing of the last one's fight is left burning. */
|
|
33
|
+
export declare function clearLights(): void;
|
|
34
|
+
//# sourceMappingURL=lights.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lights.d.ts","sourceRoot":"","sources":["../../../src/pixel/lights.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,yCAAyC;IACzC,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,sGAAsG;IACtG,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,sEAAsE;IACtE,KAAK,EAAE,OAAO,CAAC;IACf,oGAAoG;IACpG,KAAK,EAAE,MAAM,CAAC;CACf;AASD,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,SAAQ,EAAE,GAAG,SAAoB,GAAG,IAAI,CAGpH;AAKD,2GAA2G;AAC3G,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,SAAQ,EAAE,GAAG,SAAoB,GAAG;IAAE,GAAG,EAAE,MAAM,IAAI,CAAA;CAAE,CAMvI;AAID,wHAAwH;AACxH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,cAAc,EAAE,CAoBjE;AAED,qGAAqG;AACrG,wBAAgB,WAAW,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED,kEAAkE;AAClE,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { PixelGrid, type Color } from './pixel.js';
|
|
2
|
+
/**
|
|
3
|
+
* Pixel-art 9-slice frames for a UI (windows, buttons, fields, wells), built from one drawn corner so the edge is
|
|
4
|
+
* whole pixels instead of CSS gradients and blurred shadows. The corner is ASCII, one letter a role; the other three
|
|
5
|
+
* corners are its mirrors, and on the far side (right and bottom) each role takes its **twin** — a raised frame's lit
|
|
6
|
+
* rim (H) becomes its dark rim (L), a sunk field's shadowed lip (D) its lit one (d) — so light comes from the up-left
|
|
7
|
+
* without drawing four corners. A hard shadow (the frame's own silhouette, shifted) can lie under it.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* const frame = nineSlice({ corner: FRAME_CORNERS.panel, palette: { K: '#0b1018', H: '#c9a869', L: '#4a3a24',
|
|
11
|
+
* M: '#8b6e45', G: '#121820', S: '#3c434b', s: '#161b22', F: '#1d242e', R: '#ffe2a0' }, shadow: [2, 2] });
|
|
12
|
+
* frame.grid.toCanvas(); // a canvas for a Pixi NineSliceSprite, with frame.insets
|
|
13
|
+
* frameSvg(frame.grid, 2); // or an SVG for a CSS border-image, sliced at insets × 2
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
/** Ready corners in the roles the default twins know: K ink, H/L lit/dark rim, M/m rim, G/g gap, S/s bevel, F fill, D/d lip, R rivet. */
|
|
17
|
+
export declare const FRAME_CORNERS: {
|
|
18
|
+
/** A window: ink, a two-step brass rim, a gap, a lit bevel, a rivet in the corner. */
|
|
19
|
+
readonly panel: readonly ["..KKKKKK", ".KHHHHHH", "KHHMMMMM", "KHMKGGGG", "KHMGRSSS", "KHMGSFFF", "KHMGSFFF", "KHMGSFFF"];
|
|
20
|
+
/** A raised button: a two-step bevel, notched. Give it shadow [0, 1]; pressed, offset [0, 1] with the bevel's colours swapped. */
|
|
21
|
+
readonly button: readonly [".KKKK", "KHHHH", "KHMMM", "KHMFF", "KHMFF"];
|
|
22
|
+
/** A small raised button. */
|
|
23
|
+
readonly smallButton: readonly [".KKK", "KHHH", "KHMM", "KHMF"];
|
|
24
|
+
/** A text field: a hole in the stone, its lip in shadow top-left (D, G) and lit bottom-right (d, g). */
|
|
25
|
+
readonly field: readonly [".KKKK", "KDDDD", "KDGGG", "KDGFF", "KDGFF"];
|
|
26
|
+
/** A sunk well (slots, bars' tracks). */
|
|
27
|
+
readonly well: readonly [".KK", "KDD", "KDF"];
|
|
28
|
+
/** A list row: a flat slab lit on the top and left. */
|
|
29
|
+
readonly row: readonly [".KK", "KSS", "KSF"];
|
|
30
|
+
/** A thin frame: one pixel of rim (toasts, a cast bar). */
|
|
31
|
+
readonly thin: readonly [".KK", "KHH", "KHF"];
|
|
32
|
+
};
|
|
33
|
+
/** The role each letter takes on the far side; a palette without the twin keeps the letter. */
|
|
34
|
+
export declare const FRAME_TWINS: Readonly<Record<string, string>>;
|
|
35
|
+
export interface NineSliceSpec {
|
|
36
|
+
/** The top-left corner, square, one letter a role; '.' is nothing. */
|
|
37
|
+
corner: readonly string[];
|
|
38
|
+
/** A colour per letter: a packed `Color` or a CSS hex (`#rgb`, `#rrggbb`, `#rrggbbaa` for see-through fills). */
|
|
39
|
+
palette: Readonly<Record<string, Color | string>>;
|
|
40
|
+
/** Near-side letter → far-side letter (default `FRAME_TWINS`). */
|
|
41
|
+
twins?: Readonly<Record<string, string>>;
|
|
42
|
+
/** The hard shadow's offset in art pixels (default none). */
|
|
43
|
+
shadow?: readonly [number, number];
|
|
44
|
+
/** The shadow's colour (default palette `Z`, else black at 55%). */
|
|
45
|
+
shadowColor?: Color | string;
|
|
46
|
+
/** Moves the frame inside its canvas (a pressed button sits one pixel lower where its shadow was). */
|
|
47
|
+
offset?: readonly [number, number];
|
|
48
|
+
/** Room right and below for the shadow or the offset (default: the shadow). */
|
|
49
|
+
pad?: readonly [number, number];
|
|
50
|
+
/** Rows painted over the frame, the frame's full size ('.' leaves it): a tick in a checkbox. */
|
|
51
|
+
overlay?: readonly string[];
|
|
52
|
+
}
|
|
53
|
+
/** How far in from each side the corners reach: the frame's slice lines, in art pixels. */
|
|
54
|
+
export interface SliceInsets {
|
|
55
|
+
top: number;
|
|
56
|
+
right: number;
|
|
57
|
+
bottom: number;
|
|
58
|
+
left: number;
|
|
59
|
+
}
|
|
60
|
+
export interface NineSlice {
|
|
61
|
+
grid: PixelGrid;
|
|
62
|
+
insets: SliceInsets;
|
|
63
|
+
}
|
|
64
|
+
/** Builds the frame: a `(2c + 1 + pad)` square-ish grid and its slice insets. */
|
|
65
|
+
export declare function nineSlice(spec: NineSliceSpec): NineSlice;
|
|
66
|
+
/**
|
|
67
|
+
* Any pixel grid as an SVG of `scale`-sized squares (`shape-rendering="crispEdges"`), runs of one colour on a row
|
|
68
|
+
* merged into one rect: what a CSS `border-image` takes, sliced at the insets × `scale`.
|
|
69
|
+
*/
|
|
70
|
+
export declare function frameSvg(grid: PixelGrid, scale?: number): string;
|
|
71
|
+
//# sourceMappingURL=nineSlice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nineSlice.d.ts","sourceRoot":"","sources":["../../../src/pixel/nineSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAiB,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AAEH,yIAAyI;AACzI,eAAO,MAAM,aAAa;IACxB,sFAAsF;;IAEtF,kIAAkI;;IAElI,6BAA6B;;IAE7B,wGAAwG;;IAExG,yCAAyC;;IAEzC,uDAAuD;;IAEvD,2DAA2D;;CAEP,CAAC;AAEvD,+FAA+F;AAC/F,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAA8C,CAAC;AAExG,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,iHAAiH;IACjH,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;IAClD,kEAAkE;IAClE,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,oEAAoE;IACpE,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC7B,sGAAsG;IACtG,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,+EAA+E;IAC/E,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,gGAAgG;IAChG,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,2FAA2F;AAC3F,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;CACrB;AAoBD,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAuBxD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,SAAI,GAAG,MAAM,CAoB3D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Graphics } from '../core/Graphics.js';
|
|
2
|
+
import type { Stage } from '../core/Stage.js';
|
|
3
|
+
import { type PixelLayer } from './PixelLayer.js';
|
|
4
|
+
import type { Point } from './pixelPaint.js';
|
|
5
|
+
export interface PaintLayerOptions {
|
|
6
|
+
/** Where the layer stands (world px), read every frame: a caster, a projectile, a fixed point. */
|
|
7
|
+
at: () => Point;
|
|
8
|
+
/** How long it plays (ms); its last `fadeMs` dither away instead of popping out. */
|
|
9
|
+
duration: number;
|
|
10
|
+
/** Paints one frame `ms` into the effect, in pixels relative to the anchor. */
|
|
11
|
+
paint: (g: Graphics, ms: number) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Its draw order from the anchor's y (`y => y + 45` puts it in front of a body standing there, a negative offset
|
|
14
|
+
* behind it), or a fixed number (an effect lying on the ground under every body). Default `y + 45`.
|
|
15
|
+
*/
|
|
16
|
+
depth?: number | ((y: number) => number);
|
|
17
|
+
/** Returning false removes the layer early (its caster gone, its trap sprung). */
|
|
18
|
+
alive?: () => boolean;
|
|
19
|
+
/** Frames a second it is redrawn at (default 12: hand-animated, like the sprites). */
|
|
20
|
+
fps?: number;
|
|
21
|
+
/** Paint only every that many frames (an effect thinned out for performance). Default 1. */
|
|
22
|
+
every?: number;
|
|
23
|
+
/** The longest fade at the end (ms); it is never more than 30% of the effect. Default 260. */
|
|
24
|
+
fadeMs?: number;
|
|
25
|
+
/** Told of the layer as it is made (a game that clears its transient effects on a map change keeps it). */
|
|
26
|
+
onCreate?: (g: PixelLayer) => void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* One effect as its own `PixelLayer`, redrawn at `fps` and shown as a single texture: it follows its anchor to the
|
|
30
|
+
* screen pixel while the art inside stays on the world grid, thins out pixel by pixel over its last frames (ordered
|
|
31
|
+
* dither, `setCoverage`), is neither painted nor uploaded while its anchor is off the screen by more than it has
|
|
32
|
+
* reached, and is destroyed when it ends, when `alive` says so, or with the stage's tweens.
|
|
33
|
+
*/
|
|
34
|
+
export declare function paintLayer(stage: Stage, o: PaintLayerOptions): PixelLayer;
|
|
35
|
+
//# sourceMappingURL=paintLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paintLayer.d.ts","sourceRoot":"","sources":["../../../src/pixel/paintLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,WAAW,iBAAiB;IAChC,kGAAkG;IAClG,EAAE,EAAE,MAAM,KAAK,CAAC;IAChB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,KAAK,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACzC,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC;IACtB,sFAAsF;IACtF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACpC;AAUD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,iBAAiB,GAAG,UAAU,CA0CzE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The default palette (`PALETTE` from `1681-engine/pixel`): warm fantasy tones, readable on green ground. It is a
|
|
3
|
+
* starting point, not a rule: a game brings its own colours, and the helpers that use one of these (an outline, a
|
|
4
|
+
* shadow) take the colour as a parameter.
|
|
5
|
+
*/
|
|
6
|
+
export declare const P: {
|
|
7
|
+
readonly outline: number;
|
|
8
|
+
readonly outlineSoft: number;
|
|
9
|
+
readonly black: number;
|
|
10
|
+
readonly white: number;
|
|
11
|
+
readonly offWhite: number;
|
|
12
|
+
readonly skin: number;
|
|
13
|
+
readonly skinShade: number;
|
|
14
|
+
readonly skinTan: number;
|
|
15
|
+
readonly skinTanShade: number;
|
|
16
|
+
readonly blush: number;
|
|
17
|
+
readonly hairBlack: number;
|
|
18
|
+
readonly hairBrown: number;
|
|
19
|
+
readonly hairAuburn: number;
|
|
20
|
+
readonly hairWhite: number;
|
|
21
|
+
readonly hairGrey: number;
|
|
22
|
+
readonly red: number;
|
|
23
|
+
readonly redDark: number;
|
|
24
|
+
readonly crimson: number;
|
|
25
|
+
readonly orange: number;
|
|
26
|
+
readonly gold: number;
|
|
27
|
+
readonly goldDark: number;
|
|
28
|
+
readonly yellow: number;
|
|
29
|
+
readonly green: number;
|
|
30
|
+
readonly greenDark: number;
|
|
31
|
+
readonly jade: number;
|
|
32
|
+
readonly jadeDark: number;
|
|
33
|
+
readonly teal: number;
|
|
34
|
+
readonly sky: number;
|
|
35
|
+
readonly azure: number;
|
|
36
|
+
readonly blue: number;
|
|
37
|
+
readonly navy: number;
|
|
38
|
+
readonly indigo: number;
|
|
39
|
+
readonly purple: number;
|
|
40
|
+
readonly pink: number;
|
|
41
|
+
readonly brown: number;
|
|
42
|
+
readonly brownDark: number;
|
|
43
|
+
readonly brownLight: number;
|
|
44
|
+
readonly tan: number;
|
|
45
|
+
readonly cream: number;
|
|
46
|
+
readonly grey: number;
|
|
47
|
+
readonly greyDark: number;
|
|
48
|
+
readonly greyLight: number;
|
|
49
|
+
readonly steel: number;
|
|
50
|
+
readonly steelDark: number;
|
|
51
|
+
readonly iron: number;
|
|
52
|
+
readonly wood: number;
|
|
53
|
+
readonly woodDark: number;
|
|
54
|
+
readonly woodLight: number;
|
|
55
|
+
readonly straw: number;
|
|
56
|
+
readonly strawDark: number;
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=palette.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../../src/pixel/palette.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDJ,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export type Color = number;
|
|
2
|
+
export declare const CLEAR: Color;
|
|
3
|
+
export declare function rgba(r: number, g: number, b: number, a?: number): Color;
|
|
4
|
+
export declare function hex(s: string): Color;
|
|
5
|
+
export declare function channels(c: Color): [number, number, number, number];
|
|
6
|
+
/** f < 1 darkens, f > 1 lightens toward white. */
|
|
7
|
+
export declare function shade(c: Color, f: number): Color;
|
|
8
|
+
export declare function mix(c1: Color, c2: Color, t: number): Color;
|
|
9
|
+
export declare function withAlpha(c: Color, alpha: number): Color;
|
|
10
|
+
export declare function toCss(c: Color): string;
|
|
11
|
+
export declare function hash2(x: number, y: number, seed?: number): number;
|
|
12
|
+
export declare function mulberry32(seed: number): () => number;
|
|
13
|
+
export declare function valueNoise(x: number, y: number, scale: number, seed: number): number;
|
|
14
|
+
export declare class PixelGrid {
|
|
15
|
+
readonly w: number;
|
|
16
|
+
readonly h: number;
|
|
17
|
+
readonly data: Uint32Array;
|
|
18
|
+
constructor(w: number, h: number);
|
|
19
|
+
inBounds(x: number, y: number): boolean;
|
|
20
|
+
px(x: number, y: number, c: Color): void;
|
|
21
|
+
get(x: number, y: number): Color;
|
|
22
|
+
alphaAt(x: number, y: number): number;
|
|
23
|
+
rect(x: number, y: number, w: number, h: number, c: Color): void;
|
|
24
|
+
hline(x0: number, x1: number, y: number, c: Color): void;
|
|
25
|
+
vline(x: number, y0: number, y1: number, c: Color): void;
|
|
26
|
+
/** Filled ellipse; a pixel is inside when its center lies inside the ellipse. */
|
|
27
|
+
ellipse(cx: number, cy: number, rx: number, ry: number, c: Color): void;
|
|
28
|
+
circle(cx: number, cy: number, r: number, c: Color): void;
|
|
29
|
+
ring(cx: number, cy: number, r: number, thickness: number, c: Color): void;
|
|
30
|
+
line(x0: number, y0: number, x1: number, y1: number, c: Color, thickness?: number): void;
|
|
31
|
+
/** Filled polygon (even-odd scanline on pixel centers). */
|
|
32
|
+
poly(points: [number, number][], c: Color): void;
|
|
33
|
+
/**
|
|
34
|
+
* Adds `width` pixels of outline around all opaque pixels, one ring at a time — the same result as calling it
|
|
35
|
+
* `width` times, but each ring only visits the neighbours of the ring before it instead of the whole grid again.
|
|
36
|
+
* (A pixel next to ring `k` is always filled by ring `k+1`, so nothing further back can still be waiting.)
|
|
37
|
+
*/
|
|
38
|
+
outline(c: Color, diagonal?: boolean, width?: number): void;
|
|
39
|
+
/** Replaces every pixel whose color matches `from`. */
|
|
40
|
+
recolor(from: Color, to: Color): void;
|
|
41
|
+
/** Multiplies brightness of opaque pixels matching `pred`. */
|
|
42
|
+
tint(f: number, pred: (x: number, y: number) => boolean): void;
|
|
43
|
+
blit(src: PixelGrid, dx: number, dy: number, flipX?: boolean): void;
|
|
44
|
+
/** Alpha-blends a color onto an existing pixel. */
|
|
45
|
+
blend(x: number, y: number, c: Color): void;
|
|
46
|
+
/** Reads a canvas back into a grid (a PNG layer of the paper doll joining the painted ones). */
|
|
47
|
+
static from(canvas: HTMLCanvasElement): PixelGrid;
|
|
48
|
+
/** The same picture on a grid `factor` times as fine, each pixel becoming a square block. */
|
|
49
|
+
upscaled(factor: number): PixelGrid;
|
|
50
|
+
/** Same size and same pixels. */
|
|
51
|
+
equals(other: PixelGrid): boolean;
|
|
52
|
+
/** Cheap hash of the pixels, for grouping identical frames before comparing them. */
|
|
53
|
+
key(): number;
|
|
54
|
+
clone(): PixelGrid;
|
|
55
|
+
toCanvas(): HTMLCanvasElement;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* A grid that stands for one window of a larger picture: it is drawn on in the larger picture's coordinates and
|
|
59
|
+
* keeps only what falls inside `[x0, x0 + w) × [y0, y0 + h)`. A ground painter can paint a crop of a map into one, so the
|
|
60
|
+
* login screen does not paint the whole of two maps to show 17 tiles of each. Every drawing method goes through
|
|
61
|
+
* `px`/`get`/`inBounds`/`blend`; `outline`, `tint` and the whole-grid helpers work in window coordinates.
|
|
62
|
+
*/
|
|
63
|
+
export declare class PixelWindow extends PixelGrid {
|
|
64
|
+
readonly x0: number;
|
|
65
|
+
readonly y0: number;
|
|
66
|
+
constructor(x0: number, y0: number, w: number, h: number);
|
|
67
|
+
inBounds(x: number, y: number): boolean;
|
|
68
|
+
px(x: number, y: number, c: Color): void;
|
|
69
|
+
get(x: number, y: number): Color;
|
|
70
|
+
blend(x: number, y: number, c: Color): void;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Packs same-sized frames into rows no wider than `maxWidth`. A browser refuses a canvas past about 16k pixels
|
|
74
|
+
* on a side and hands back a blank one, and a player sheet of six hundred frames at twice the detail is wider
|
|
75
|
+
* than that, so it wraps. Readers work the row out from the canvas width.
|
|
76
|
+
*/
|
|
77
|
+
export declare function makeSheet(frames: PixelGrid[], maxWidth?: number): HTMLCanvasElement;
|
|
78
|
+
/** Scales a canvas by an integer factor with nearest-neighbour filtering (for UI icons). */
|
|
79
|
+
export declare function upscale(src: HTMLCanvasElement, factor: number): HTMLCanvasElement;
|
|
80
|
+
//# sourceMappingURL=pixel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pixel.d.ts","sourceRoot":"","sources":["../../../src/pixel/pixel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Graphics } from '../core/Graphics.js';
|
|
2
|
+
export type Point = {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const WHITE = 16774358;
|
|
7
|
+
export declare const snap: (n: number) => number;
|
|
8
|
+
/** A `size`-px square (1 by default: one art pixel) on the world grid, graded into the world palette. */
|
|
9
|
+
export declare function dot(g: Graphics, x: number, y: number, color: number, size?: number): void;
|
|
10
|
+
/** A horizontal run of `w` px from (x, y), one pixel tall; drawn pixel by pixel while a dither fade or outline is on. */
|
|
11
|
+
export declare function hline(g: Graphics, x: number, y: number, w: number, color: number): void;
|
|
12
|
+
/** Paints `draw` with a dark 1px outline round everything it drew, like the outline on character and prop sprites. */
|
|
13
|
+
export declare function outlined(g: Graphics, outline: number, draw: () => void): void;
|
|
14
|
+
/**
|
|
15
|
+
* A line `width` px thick built from 1px rows: the row on one side is lit, the far row deep, and a long stroke tapers
|
|
16
|
+
* to the deep tone at both ends and catches a glint a third of the way along.
|
|
17
|
+
*/
|
|
18
|
+
export declare function stroke(g: Graphics, a: Point, b: Point, color: number, width?: number): void;
|
|
19
|
+
/** A broken ellipse of radius `r` in the ground's 2:1 perspective, lit on the near side, turning with `phase`. */
|
|
20
|
+
export declare function ring(g: Graphics, r: number, color: number, phase?: number, cy?: number): void;
|
|
21
|
+
/** A faceted gem: light left face, base right face, deep lower tip and a glint on top once it is big enough. */
|
|
22
|
+
export declare function diamond(g: Graphics, x: number, y: number, r: number, color: number): void;
|
|
23
|
+
export declare function shards(g: Graphics, t: number, r: number, color: number, inward?: boolean): void;
|
|
24
|
+
/** A filled stepped disc of radius `r` (smoke, gas, puddles), in the ground's 2:1 perspective when `flat`. */
|
|
25
|
+
export declare function blob(g: Graphics, x: number, y: number, r: number, color: number, flat?: boolean): void;
|
|
26
|
+
/** A droplet thrown from (x, y) with velocity (vx, vy) px/s under gravity, `ms` after it left; null once it lands. */
|
|
27
|
+
export declare function drop(x: number, y: number, vx: number, vy: number, ms: number, ground?: number): Point | null;
|
|
28
|
+
/** A pixel X, `r` from its centre to a tip. */
|
|
29
|
+
export declare function xMark(g: Graphics, x: number, y: number, r: number, color: number): void;
|
|
30
|
+
/** A dash streak from `a` to `b`: a dark body with a bright core, eaten away from the start as `t` goes 0 to 1. */
|
|
31
|
+
export declare function dashStreak(g: Graphics, a: Point, b: Point, t: number, edge: number, core: number): void;
|
|
32
|
+
/**
|
|
33
|
+
* A puff of smoke or gas: a small stepped disc whose rim is dithered (every other pixel) so it reads soft, with a
|
|
34
|
+
* lighter cap on its upper left. Solid discs the same size read as boulders or bushes.
|
|
35
|
+
*/
|
|
36
|
+
export declare function puffBlob(g: Graphics, x: number, y: number, r: number, body: number, light: number, frame?: number, opacity?: number): void;
|
|
37
|
+
/** An arc of dots on an ellipse from angle `a0` to `a1` (flat: in the ground's 2:1 perspective), `thick` rows deep. */
|
|
38
|
+
export declare function arc(g: Graphics, x: number, y: number, r: number, a0: number, a1: number, color: number, flat?: boolean, thick?: number): void;
|
|
39
|
+
/** Pale stepped dust puffs kicked up around (x, y) and settling over `t` 0..1. */
|
|
40
|
+
export declare function dust(g: Graphics, x: number, y: number, t: number, spread?: number, color?: number): void;
|
|
41
|
+
/** Pixel chunks flung out of (x, y) under gravity (rock, splinters): `ms` after the blow. */
|
|
42
|
+
export declare function debris(g: Graphics, x: number, y: number, count: number, speed: number, ms: number, colors: number[]): void;
|
|
43
|
+
export { spark, tail, pixelOn, type FlightPixel } from './pixelParticles.js';
|
|
44
|
+
//# sourceMappingURL=pixelPaint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pixelPaint.d.ts","sourceRoot":"","sources":["../../../src/pixel/pixelPaint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Graphics } from '../core/Graphics.js';
|
|
2
|
+
/**
|
|
3
|
+
* A spark of `size` 1 (one pixel, glinting every third `frame`), 2 (a plus with a lit centre) or 3 (a four-point star
|
|
4
|
+
* whose arms twinkle with `frame`), shaded from `color`'s ramp, on the 1-px world grid.
|
|
5
|
+
*/
|
|
6
|
+
export declare function spark(g: Graphics, x: number, y: number, color: number, size: 1 | 2 | 3, frame?: number): void;
|
|
7
|
+
/**
|
|
8
|
+
* A particle's trail: `len` px back from its head (x, y) against its velocity (vx, vy), glint to shade, its far half
|
|
9
|
+
* broken into every other pixel. `thick` 2 lays a second row under it on the shaded side (down, or right for a trail
|
|
10
|
+
* running straight up or down) a tone deeper, so the trail has a body; 3 adds a lit row on the up-left side over its
|
|
11
|
+
* near half. Light comes from the up-left, as on the rest of the art.
|
|
12
|
+
*/
|
|
13
|
+
export declare function tail(g: Graphics, x: number, y: number, vx: number, vy: number, len: number, color: number, thick?: number): void;
|
|
14
|
+
/** Paints one art pixel at (along, across) in the frame of a line through a point, heading an angle. */
|
|
15
|
+
export type FlightPixel = (along: number, across: number, color: number) => void;
|
|
16
|
+
/**
|
|
17
|
+
* A painter for a projectile drawn the size it really hits at: pixels are given along its heading and across it
|
|
18
|
+
* (positive across is to the right of the heading), rotated onto the world grid at (x, y). Make one per frame painted.
|
|
19
|
+
*/
|
|
20
|
+
export declare function pixelOn(g: Graphics, x: number, y: number, angle: number): FlightPixel;
|
|
21
|
+
//# sourceMappingURL=pixelParticles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pixelParticles.d.ts","sourceRoot":"","sources":["../../../src/pixel/pixelParticles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAUjD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,SAAI,GAAG,IAAI,CAYxG;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,IAAI,CAyB3H;AAED,wGAAwG;AACxG,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAEjF;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAIrF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Graphics } from '../core/Graphics.js';
|
|
2
|
+
import { PixelLayer } from './PixelLayer.js';
|
|
3
|
+
export interface Ramp {
|
|
4
|
+
/** Darkest: under-shade and outline pixels. */
|
|
5
|
+
shade: number;
|
|
6
|
+
deep: number;
|
|
7
|
+
base: number;
|
|
8
|
+
light: number;
|
|
9
|
+
/** Near-white glint. */
|
|
10
|
+
hi: number;
|
|
11
|
+
}
|
|
12
|
+
/** Gives these colours ramps picked by hand (darkest `shade` … brightest `hi`); a colour registered again is replaced. */
|
|
13
|
+
export declare function registerHandRamps(ramps: Iterable<readonly [number, Omit<Ramp, 'base'>]> | Record<number, Omit<Ramp, 'base'>>): void;
|
|
14
|
+
export declare function ramp(color: number): Ramp;
|
|
15
|
+
/** The formula's five tones for any colour: shadows cool and desaturate, highlights warm. */
|
|
16
|
+
export declare function derivedRamp(color: number): Ramp;
|
|
17
|
+
/**
|
|
18
|
+
* The colour a pixel is actually painted with: effects are authored in bright, saturated colours, and this pulls them
|
|
19
|
+
* into the world's palette (muted earth, grass and wood) — saturation down by a quarter, near-whites toned down and
|
|
20
|
+
* warmed, so an effect sits in the scene instead of glowing on top of it. Glints keep most of their lift.
|
|
21
|
+
*/
|
|
22
|
+
export declare function grade(color: number): number;
|
|
23
|
+
export declare function capturing(): Map<number, number> | null;
|
|
24
|
+
export declare function beginOutline(): void;
|
|
25
|
+
export declare function endOutline(g: Graphics, outline: number): void;
|
|
26
|
+
/**
|
|
27
|
+
* Lays pixels (keyed by `key`, each with its colour already graded) row by row, one rect for every run of one colour:
|
|
28
|
+
* the same pixels as one rect each, at a fraction of the rects (single-pixel rects ran to 5,000–9,000 a frame for one
|
|
29
|
+
* big ring or smoke, enough to be felt as lag).
|
|
30
|
+
*/
|
|
31
|
+
export declare function fillRuns(g: Graphics, pixels: Map<number, number>): void;
|
|
32
|
+
export declare function beginBatch(g: Graphics): void;
|
|
33
|
+
export declare function endBatch(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Where a solid pixel painted on `g` goes while its batch is open: the layer's staging, the batch's map, or nowhere
|
|
36
|
+
* (paint it now). `stagePixel` writes into whichever it is.
|
|
37
|
+
*/
|
|
38
|
+
export declare function batchFor(g: Graphics): Map<number, number> | PixelLayer | null;
|
|
39
|
+
/** Writes a solid run of `w` pixels at (x, y) into what `batchFor` returned. */
|
|
40
|
+
export declare function stageRun(held: Map<number, number> | PixelLayer, x: number, y: number, w: number, color: number): void;
|
|
41
|
+
/** Lays what the batch holds now, so a translucent fill that follows lies over it. */
|
|
42
|
+
export declare function flushBatch(): void;
|
|
43
|
+
/** The key `capturing()` and `fillRuns` file a world pixel under. */
|
|
44
|
+
export declare function pixelKey(x: number, y: number): number;
|
|
45
|
+
export declare function record(x: number, y: number, color: number): void;
|
|
46
|
+
export declare function setCoverage(value: number): void;
|
|
47
|
+
/** The current dither fade (1 while nothing fades), for translucent fills that fade with their layer. */
|
|
48
|
+
export declare function currentCoverage(): number;
|
|
49
|
+
/** Whether the world pixel at (x, y) is dropped by the current dither fade. */
|
|
50
|
+
export declare function dithered(x: number, y: number): boolean;
|
|
51
|
+
//# sourceMappingURL=pixelTone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pixelTone.d.ts","sourceRoot":"","sources":["../../../src/pixel/pixelTone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,MAAM,WAAW,IAAI;IACnB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;CACZ;AAgDD,0HAA0H;AAC1H,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAGnI;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAExC;AAED,6FAA6F;AAC7F,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAe/C;AAID;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ3C;AAUD,wBAAgB,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEtD;AAKD,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAiB7D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAOvE;AAkBD,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAU5C;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAM/B;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,UAAU,GAAG,IAAI,CAG7E;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMrH;AAED,sFAAsF;AACtF,wBAAgB,UAAU,IAAI,IAAI,CASjC;AA+BD,qEAAqE;AACrE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEhE;AAOD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,yGAAyG;AACzG,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAKtD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Color, PixelGrid } from './pixel.js';
|
|
2
|
+
export interface PropArt {
|
|
3
|
+
canvas: HTMLCanvasElement;
|
|
4
|
+
anchorX: number;
|
|
5
|
+
anchorY: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function art(g: PixelGrid, anchorX: number, anchorY: number): PropArt;
|
|
8
|
+
/**
|
|
9
|
+
* The selective outline a prop takes, lit from the upper left like the map: the same ring a plain outline lays, but
|
|
10
|
+
* full dark only where the silhouette meets the ground (under it) and on its shadow side (the right); along the top
|
|
11
|
+
* and the left it is the darkest tone of the fill it borders (`outlineOf`), so a lit edge reads as the thing's own
|
|
12
|
+
* shade rather than a sticker's line. Translucent pixels (a cast
|
|
13
|
+
* shadow on the ground) are not part of the silhouette.
|
|
14
|
+
*/
|
|
15
|
+
export declare function litOutline(g: PixelGrid, dark?: Color): void;
|
|
16
|
+
/**
|
|
17
|
+
* A soft shadow thrown down and to the right onto the ground, laid only on empty pixels (call it after `litOutline`,
|
|
18
|
+
* or the outline would ring the shadow): a darker `core` and a fainter `rim`, by default a translucent violet.
|
|
19
|
+
*/
|
|
20
|
+
export declare function groundShadow(g: PixelGrid, cx: number, cy: number, rx: number, ry: number, core?: Color, rim?: Color): void;
|
|
21
|
+
/**
|
|
22
|
+
* Moves every opaque pixel of a box one step into shadow (or, with `f > 1`, into light) along its own hue: the eave's
|
|
23
|
+
* shadow on a wall, the dark side of a chimney, a porch's shade. `mask` limits it to some pixels of the box.
|
|
24
|
+
*/
|
|
25
|
+
export declare function shadeBox(g: PixelGrid, x: number, y: number, w: number, h: number, f: number, mask?: (x: number, y: number) => boolean): void;
|
|
26
|
+
//# sourceMappingURL=propKit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"propKit.d.ts","sourceRoot":"","sources":["../../../src/pixel/propKit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,SAAS,EAAQ,MAAM,SAAS,CAAC;AAQtD,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,GAAE,KAAiB,GAAG,IAAI,CAetE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,KAAmB,EAAE,GAAG,GAAE,KAAkB,GAAG,IAAI,CAUnJ;AAUD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAQ5I"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type Color } from './pixel.js';
|
|
2
|
+
/** The materials every game starts with. */
|
|
3
|
+
export type BuiltinMaterial = 'cloth' | 'leather' | 'mail' | 'plate' | 'dragon' | 'fur' | 'skin' | 'hair' | 'gold' | 'gem' | 'shadow';
|
|
4
|
+
/** A built-in material or one a game registered (`registerMaterial`). */
|
|
5
|
+
export type Material = BuiltinMaterial | (string & {});
|
|
6
|
+
/** How a material's shadows and lights move its hue. */
|
|
7
|
+
export interface MaterialLight {
|
|
8
|
+
/** Hue (degrees) a shadow drifts toward, and how far it drifts at a factor of 0.5. */
|
|
9
|
+
cool: number;
|
|
10
|
+
coolDeg: number;
|
|
11
|
+
/** Saturation a shadow gains at a factor of 0.5. */
|
|
12
|
+
coolSat: number;
|
|
13
|
+
/** Hue a light drifts toward, and how far it drifts at a factor of 1.3. */
|
|
14
|
+
warm: number;
|
|
15
|
+
warmDeg: number;
|
|
16
|
+
}
|
|
17
|
+
/** Tones of one colour in one material, darkest to brightest. `base` is the colour itself. */
|
|
18
|
+
export interface Ramp {
|
|
19
|
+
/** Under-edges, rivets, seams: the darkest tone that is still the material. */
|
|
20
|
+
deep: Color;
|
|
21
|
+
dark: Color;
|
|
22
|
+
mid: Color;
|
|
23
|
+
base: Color;
|
|
24
|
+
light: Color;
|
|
25
|
+
/** One specular pixel: a plate's glint, a strand of hair, a buckle. */
|
|
26
|
+
glint: Color;
|
|
27
|
+
}
|
|
28
|
+
/** Five shading factors, darkest to brightest. */
|
|
29
|
+
export type RampFactors = [number, number, number, number, number];
|
|
30
|
+
/** Every registered material, built-in ones first. */
|
|
31
|
+
export declare const MATERIALS: readonly Material[];
|
|
32
|
+
/** Every factor a ramp or a painter shades by — what a recolour or a fine-pass mask has to recognise. */
|
|
33
|
+
export declare const RAMP_FACTOR_SET: readonly number[];
|
|
34
|
+
/**
|
|
35
|
+
* Adds a material, or changes a built-in one: how its shadows and lights drift (`light`) and the five factors its
|
|
36
|
+
* ramp is built from, darkest to brightest (`factors`, around 1: below darkens, above lifts). Register before painting
|
|
37
|
+
* with it; tones already worked out for that material are forgotten.
|
|
38
|
+
*/
|
|
39
|
+
export declare function registerMaterial(name: string, material: {
|
|
40
|
+
light: MaterialLight;
|
|
41
|
+
factors: RampFactors;
|
|
42
|
+
}): void;
|
|
43
|
+
/**
|
|
44
|
+
* `c` shaded by `f` the way `shade` would (f < 1 darkens, f > 1 lifts toward white), with the hue moved the way
|
|
45
|
+
* `material` moves it. `f === 1` returns `c` itself. A colour with too little saturation to have a hue (steel,
|
|
46
|
+
* grey wool, white linen) takes the material's hue outright, faintly, so a grey coat still has a violet shadow.
|
|
47
|
+
*/
|
|
48
|
+
export declare function hueShade(c: Color, f: number, material: Material): Color;
|
|
49
|
+
export declare function ramp(c: Color, material: Material): Ramp;
|
|
50
|
+
/** Every tone of `c`'s ramp, for masking a material cue to that material. */
|
|
51
|
+
export declare function rampTones(c: Color, material: Material): Color[];
|
|
52
|
+
/**
|
|
53
|
+
* The selective-outline tone of a fill: its own hue, cooled and pushed dark enough to hold an edge against grass
|
|
54
|
+
* (value at most 0.3), so the outline on the lit side is the fill's own darkest shade instead of flat black.
|
|
55
|
+
*/
|
|
56
|
+
export declare function outlineOf(c: Color): Color;
|
|
57
|
+
//# sourceMappingURL=ramp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ramp.d.ts","sourceRoot":"","sources":["../../../src/pixel/ramp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAA8B,MAAM,SAAS,CAAC;AAajE,4CAA4C;AAC5C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AACtI,yEAAyE;AACzE,MAAM,MAAM,QAAQ,GAAG,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEvD,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAsBD,8FAA8F;AAC9F,MAAM,WAAW,IAAI;IACnB,+EAA+E;IAC/E,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,uEAAuE;IACvE,KAAK,EAAE,KAAK,CAAC;CACd;AAED,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAiBnE,sDAAsD;AACtD,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAAuB,CAAC;AAEjE,yGAAyG;AACzG,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAAqD,CAAC;AAEnG;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAAG,IAAI,CAO7G;AAyCD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,CA2BvE;AAID,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CASvD;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,CAG/D;AAID;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAQzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selout.d.ts","sourceRoot":"","sources":["../../../src/pixel/selout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAYhD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,SAAI,EAAE,IAAI,GAAE,KAAiB,GAAG,IAAI,CAmDvF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Image } from '../core/Image.js';
|
|
2
|
+
/** One opaque world pixel of a sprite frame: offset from the frame's feet (origin 0.5, 1) and its colour. */
|
|
3
|
+
export interface SpritePixel {
|
|
4
|
+
dx: number;
|
|
5
|
+
dy: number;
|
|
6
|
+
color: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A frame's opaque pixels packed in typed arrays (12 bytes a pixel instead of an object each). Iterating hands out one
|
|
10
|
+
* reused `SpritePixel`, so read it in the loop and keep nothing of it; `at(i)` reads one into a given object.
|
|
11
|
+
*/
|
|
12
|
+
export declare class PackedPixels implements Iterable<SpritePixel> {
|
|
13
|
+
readonly dx: Float32Array;
|
|
14
|
+
readonly dy: Float32Array;
|
|
15
|
+
readonly color: Uint32Array;
|
|
16
|
+
readonly length: number;
|
|
17
|
+
constructor(dx: Float32Array, dy: Float32Array, color: Uint32Array, length: number);
|
|
18
|
+
[Symbol.iterator](): Iterator<SpritePixel>;
|
|
19
|
+
}
|
|
20
|
+
/** No pixels: what a body hands over when there is nothing of it worth lifting (a death with nothing to evaporate). */
|
|
21
|
+
export declare const NO_PIXELS: PackedPixels;
|
|
22
|
+
/**
|
|
23
|
+
* The opaque pixels of an image's current frame, one per **world** pixel (`artScale` image pixels to one), as offsets
|
|
24
|
+
* from the frame's feet in unscaled, unflipped world pixels. Read straight off the texture's canvas, so it is the
|
|
25
|
+
* frame actually on screen. Atlas frames are shared by every body of one kind and cached (least recently read out
|
|
26
|
+
* first); a texture repainted while in use (a rig body) is read fresh.
|
|
27
|
+
*/
|
|
28
|
+
export declare function spritePixels(img: Image, artScale: number, live: boolean): PackedPixels;
|
|
29
|
+
//# sourceMappingURL=spritePixels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spritePixels.d.ts","sourceRoot":"","sources":["../../../src/pixel/spritePixels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,6GAA6G;AAC7G,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,qBAAa,YAAa,YAAW,QAAQ,CAAC,WAAW,CAAC;IAEtD,QAAQ,CAAC,EAAE,EAAE,YAAY;IACzB,QAAQ,CAAC,EAAE,EAAE,YAAY;IACzB,QAAQ,CAAC,KAAK,EAAE,WAAW;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAHd,EAAE,EAAE,YAAY,EAChB,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM;IAGxB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC;CAS5C;AAGD,uHAAuH;AACvH,eAAO,MAAM,SAAS,cAAQ,CAAC;AAwB/B;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,YAAY,CA+CtF"}
|