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.
Files changed (831) hide show
  1. package/CHANGELOG.md +357 -0
  2. package/LICENSE +21 -0
  3. package/README.md +164 -2
  4. package/dist/1681-engine.js +471 -0
  5. package/dist/ambient/ColorGrade.js +40 -0
  6. package/dist/ambient/DayClock.js +56 -0
  7. package/dist/ambient/WeatherLayer.js +90 -0
  8. package/dist/ambient/grade.js +12 -0
  9. package/dist/ambient/weather.js +51 -0
  10. package/dist/anim/AnimStateMachine.js +163 -0
  11. package/dist/anim/Animator.js +66 -0
  12. package/dist/anim/animStateCompile.js +112 -0
  13. package/dist/anim/animStateSystem.js +16 -0
  14. package/dist/anim/animationSystem.js +14 -0
  15. package/dist/anim/asepriteSlices.js +21 -0
  16. package/dist/anim/asepriteTags.js +34 -0
  17. package/dist/anim/parseAseprite.js +82 -0
  18. package/dist/assets/AssetLoader.js +202 -0
  19. package/dist/assets/loadAseprite.js +49 -0
  20. package/dist/assets/takeCleanerWorker-DTcI_Jqr.js +30 -0
  21. package/dist/assets/textureAtlas.js +58 -0
  22. package/dist/audio/Footsteps.js +25 -0
  23. package/dist/audio/MusicPlayer.js +77 -0
  24. package/dist/audio/SoundEngine.js +125 -0
  25. package/dist/audio/cleanTake.js +29 -0
  26. package/dist/audio/music/ElementVoice.js +34 -0
  27. package/dist/audio/music/GraphVoice.js +38 -0
  28. package/dist/audio/music/MusicChannel.js +57 -0
  29. package/dist/audio/music/musicVoice.js +12 -0
  30. package/dist/audio/sampleBank.js +81 -0
  31. package/dist/audio/soundTable.js +8 -0
  32. package/dist/audio/synth.js +35 -0
  33. package/dist/core/BitmapLabel.js +48 -0
  34. package/dist/core/Camera.js +149 -0
  35. package/dist/core/Clock.js +40 -0
  36. package/dist/core/Graphics.js +68 -0
  37. package/dist/core/Group.js +28 -0
  38. package/dist/core/Image.js +50 -0
  39. package/dist/core/ObjectFactory.js +54 -0
  40. package/dist/core/Pointer.js +80 -0
  41. package/dist/core/Rectangle.js +50 -0
  42. package/dist/core/Stage.js +85 -0
  43. package/dist/core/Text.js +21 -0
  44. package/dist/core/TextureRegistry.js +141 -0
  45. package/dist/core/Timeline.js +210 -0
  46. package/dist/core/TimelineBuilder.js +72 -0
  47. package/dist/core/TimelineChild.js +83 -0
  48. package/dist/core/Tweener.js +135 -0
  49. package/dist/core/atlas.js +37 -0
  50. package/dist/core/atlasPlan.js +21 -0
  51. package/dist/core/blendLayer.js +11 -0
  52. package/dist/core/eases.js +20 -0
  53. package/dist/core/gameObject.js +117 -0
  54. package/dist/core/pixelZoom.js +43 -0
  55. package/dist/core/pixiPatches.js +17 -0
  56. package/dist/core/runDue.js +28 -0
  57. package/dist/core/silhouette.js +49 -0
  58. package/dist/core/timelinePlace.js +23 -0
  59. package/dist/core/tweenProps.js +11 -0
  60. package/dist/debug/DebugOverlay.js +93 -0
  61. package/dist/debug/DrawCallCounter.js +44 -0
  62. package/dist/debug/ErrorLog.js +21 -0
  63. package/dist/debug/FrameStats.js +41 -0
  64. package/dist/debug/inspectWorld.js +28 -0
  65. package/dist/diagnostics/ErrorDeduper.js +26 -0
  66. package/dist/diagnostics/FrameSampler.js +41 -0
  67. package/dist/diagnostics/bootWatch.js +20 -0
  68. package/dist/diagnostics/captureErrors.js +26 -0
  69. package/dist/diagnostics/contextLoss.js +24 -0
  70. package/dist/diagnostics/frameStats.js +30 -0
  71. package/dist/diagnostics/gpuInfo.js +21 -0
  72. package/dist/diagnostics/renderGuard.js +23 -0
  73. package/dist/ecs/SparseSet.js +54 -0
  74. package/dist/ecs/World.js +306 -0
  75. package/dist/ecs/fields.js +25 -0
  76. package/dist/engine/Engine.js +106 -0
  77. package/dist/engine/FixedLoop.js +36 -0
  78. package/dist/engine/HiddenPause.js +27 -0
  79. package/dist/engine/Scene.js +78 -0
  80. package/dist/engine/SceneManager.js +72 -0
  81. package/dist/events/EventBus.js +41 -0
  82. package/dist/fx/Afterimages.js +82 -0
  83. package/dist/fx/FloatingText.js +71 -0
  84. package/dist/fx/hitStop.js +27 -0
  85. package/dist/fx/viewCull.js +9 -0
  86. package/dist/i18n/Translator.js +71 -0
  87. package/dist/i18n/extractStrings.js +57 -0
  88. package/dist/i18n/formatMessage.js +18 -0
  89. package/dist/input/Actions.js +139 -0
  90. package/dist/input/AimGesture.js +74 -0
  91. package/dist/input/Keyboard.js +53 -0
  92. package/dist/input/Keymap.js +170 -0
  93. package/dist/input/TargetLock.js +72 -0
  94. package/dist/input/aimAxis.js +7 -0
  95. package/dist/input/keyChord.js +28 -0
  96. package/dist/input/longPress.js +31 -0
  97. package/dist/input/rumble.js +42 -0
  98. package/dist/input/stickAxis.js +22 -0
  99. package/dist/input/touchDetect.js +6 -0
  100. package/dist/light/LightLayer.js +83 -0
  101. package/dist/nav/MinHeap.js +38 -0
  102. package/dist/nav/findPath.js +77 -0
  103. package/dist/nav/navGrid.js +35 -0
  104. package/dist/nav/nearestOpen.js +18 -0
  105. package/dist/nav/straightenPath.js +50 -0
  106. package/dist/net/Connection.js +107 -0
  107. package/dist/net/InterpolationBuffer.js +56 -0
  108. package/dist/net/PredictedMover.js +60 -0
  109. package/dist/net/Room.js +91 -0
  110. package/dist/net/RoomHost.js +100 -0
  111. package/dist/net/cadence.js +21 -0
  112. package/dist/net/constants.js +10 -0
  113. package/dist/net/lobby/LobbyClient.js +123 -0
  114. package/dist/net/lobby/LobbyHost.js +365 -0
  115. package/dist/net/lobby/LobbyRooms.js +65 -0
  116. package/dist/net/lobby/Matchmaker.js +105 -0
  117. package/dist/net/movement.js +84 -0
  118. package/dist/net/protocol.js +10 -0
  119. package/dist/net/reconnect.js +10 -0
  120. package/dist/net/serverClock.js +21 -0
  121. package/dist/net/snapshotCodec.js +91 -0
  122. package/dist/parallax/Parallax.js +31 -0
  123. package/dist/parallax/ParallaxLayer.js +69 -0
  124. package/dist/parallax/parallaxMath.js +26 -0
  125. package/dist/particles/Emitter.js +107 -0
  126. package/dist/particles/ParticleBudget.js +31 -0
  127. package/dist/particles/ParticleSim.js +59 -0
  128. package/dist/particles/particleCurves.js +47 -0
  129. package/dist/particles/particleSampling.js +29 -0
  130. package/dist/physics/Body.js +201 -0
  131. package/dist/physics/BroadPhase.js +55 -0
  132. package/dist/physics/Contact.js +75 -0
  133. package/dist/physics/ContactSolver.js +69 -0
  134. package/dist/physics/PhysicsWorld.js +220 -0
  135. package/dist/physics/SpatialHash.js +38 -0
  136. package/dist/physics/collide.js +75 -0
  137. package/dist/physics/collidePolygon.js +93 -0
  138. package/dist/physics/contactReport.js +13 -0
  139. package/dist/physics/drawColliders.js +30 -0
  140. package/dist/physics/physicsSystem.js +7 -0
  141. package/dist/physics/polygon.js +79 -0
  142. package/dist/physics/raycast.js +61 -0
  143. package/dist/physics/syncToBody.js +18 -0
  144. package/dist/physics/tileBodies.js +58 -0
  145. package/dist/physics/types.js +7 -0
  146. package/dist/pixel/Darkness.js +169 -0
  147. package/dist/pixel/DitherVignette.js +56 -0
  148. package/dist/pixel/Evaporation.js +84 -0
  149. package/dist/pixel/NightShade.js +33 -0
  150. package/dist/pixel/PixelLayer.js +210 -0
  151. package/dist/pixel/PixelMarks.js +99 -0
  152. package/dist/pixel/SwayProp.js +74 -0
  153. package/dist/pixel/aimPixels.js +67 -0
  154. package/dist/pixel/lights.js +43 -0
  155. package/dist/pixel/nineSlice.js +61 -0
  156. package/dist/pixel/paintLayer.js +35 -0
  157. package/dist/pixel/palette.js +56 -0
  158. package/dist/pixel/pixel.js +277 -0
  159. package/dist/pixel/pixelPaint.js +197 -0
  160. package/dist/pixel/pixelParticles.js +35 -0
  161. package/dist/pixel/pixelTone.js +163 -0
  162. package/dist/pixel/propKit.js +40 -0
  163. package/dist/pixel/ramp.js +101 -0
  164. package/dist/pixel/selout.js +34 -0
  165. package/dist/pixel/spritePixels.js +58 -0
  166. package/dist/pixel/swayRig.js +86 -0
  167. package/dist/pixel/vignetteMask.js +23 -0
  168. package/dist/pixel/weatherArt.js +60 -0
  169. package/dist/pixel.js +96 -0
  170. package/dist/platform/appResume.js +18 -0
  171. package/dist/platform/fullscreen.js +52 -0
  172. package/dist/platform/orientation.js +26 -0
  173. package/dist/platform/pointerLock.js +37 -0
  174. package/dist/platform/reducedMotion.js +23 -0
  175. package/dist/platform/timeoutSignal.js +14 -0
  176. package/dist/platform/touch.js +32 -0
  177. package/dist/postfx/BloomFilter.js +64 -0
  178. package/dist/postfx/ChromaticAberrationFilter.js +24 -0
  179. package/dist/postfx/ColorAdjustFilter.js +75 -0
  180. package/dist/postfx/CrtFilter.js +41 -0
  181. package/dist/postfx/PixelateFilter.js +26 -0
  182. package/dist/postfx/PostFx.js +122 -0
  183. package/dist/postfx/ShockwaveFilter.js +48 -0
  184. package/dist/postfx/VignetteFilter.js +36 -0
  185. package/dist/postfx/fxAnimator.js +37 -0
  186. package/dist/postfx/fxShader.js +127 -0
  187. package/dist/postfx.js +25 -0
  188. package/dist/react/ChoiceDialog.js +50 -0
  189. package/dist/react/ConfirmDialog.js +52 -0
  190. package/dist/react/Glyph.js +62 -0
  191. package/dist/react/Modal.js +37 -0
  192. package/dist/react/Panel.js +23 -0
  193. package/dist/react/PixelImage.js +23 -0
  194. package/dist/react/Select.js +98 -0
  195. package/dist/react/Slider.js +61 -0
  196. package/dist/react/SplitPane.js +23 -0
  197. package/dist/react/TabStrip.js +31 -0
  198. package/dist/react/TitleTips.js +41 -0
  199. package/dist/react/Tooltip.js +27 -0
  200. package/dist/react/UiProvider.js +49 -0
  201. package/dist/react/baseCss.js +221 -0
  202. package/dist/react/choiceStore.js +22 -0
  203. package/dist/react/classNames.js +18 -0
  204. package/dist/react/confirmStore.js +29 -0
  205. package/dist/react/labels.js +17 -0
  206. package/dist/react/placement.js +48 -0
  207. package/dist/react/useFillSheet.js +22 -0
  208. package/dist/react/useFitToViewport.js +28 -0
  209. package/dist/react/usePicked.js +12 -0
  210. package/dist/react/useStore.js +8 -0
  211. package/dist/react/useViewport.js +16 -0
  212. package/dist/react.js +77 -0
  213. package/dist/rig/PosePlayer.js +91 -0
  214. package/dist/rig/RigView.js +124 -0
  215. package/dist/rig/Skeleton.js +30 -0
  216. package/dist/rig/humanoid.js +5 -0
  217. package/dist/rig/humanoid.json.js +29 -0
  218. package/dist/rig/humanoidPoses.js +29 -0
  219. package/dist/rig/poseMath.js +53 -0
  220. package/dist/rig/poses.json.js +149 -0
  221. package/dist/save/Autosaver.js +53 -0
  222. package/dist/save/MemoryBackend.js +18 -0
  223. package/dist/save/SaveStore.js +102 -0
  224. package/dist/save/WebStorageBackend.js +26 -0
  225. package/dist/save/checksum.js +9 -0
  226. package/dist/save/migrateSave.js +26 -0
  227. package/dist/settings.js +26 -0
  228. package/dist/tilemap/TilemapView.js +68 -0
  229. package/dist/tilemap/collision.js +24 -0
  230. package/dist/tilemap/tiled.js +137 -0
  231. package/dist/transitions/CrossfadeTransition.js +23 -0
  232. package/dist/transitions/DitherWipeTransition.js +69 -0
  233. package/dist/transitions/FadeTransition.js +33 -0
  234. package/dist/transitions/Letterbox.js +41 -0
  235. package/dist/transitions/ditherMask.js +14 -0
  236. package/dist/transitions/transitionTo.js +27 -0
  237. package/dist/transitions/tweenDone.js +14 -0
  238. package/dist/types/ambient/ColorGrade.d.ts +41 -0
  239. package/dist/types/ambient/ColorGrade.d.ts.map +1 -0
  240. package/dist/types/ambient/DayClock.d.ts +80 -0
  241. package/dist/types/ambient/DayClock.d.ts.map +1 -0
  242. package/dist/types/ambient/WeatherLayer.d.ts +78 -0
  243. package/dist/types/ambient/WeatherLayer.d.ts.map +1 -0
  244. package/dist/types/ambient/grade.d.ts +22 -0
  245. package/dist/types/ambient/grade.d.ts.map +1 -0
  246. package/dist/types/ambient/weather.d.ts +49 -0
  247. package/dist/types/ambient/weather.d.ts.map +1 -0
  248. package/dist/types/anim/AnimStateMachine.d.ts +80 -0
  249. package/dist/types/anim/AnimStateMachine.d.ts.map +1 -0
  250. package/dist/types/anim/Animator.d.ts +50 -0
  251. package/dist/types/anim/Animator.d.ts.map +1 -0
  252. package/dist/types/anim/animStateCompile.d.ts +52 -0
  253. package/dist/types/anim/animStateCompile.d.ts.map +1 -0
  254. package/dist/types/anim/animStateSystem.d.ts +10 -0
  255. package/dist/types/anim/animStateSystem.d.ts.map +1 -0
  256. package/dist/types/anim/animStateTypes.d.ts +50 -0
  257. package/dist/types/anim/animStateTypes.d.ts.map +1 -0
  258. package/dist/types/anim/animationSystem.d.ts +13 -0
  259. package/dist/types/anim/animationSystem.d.ts.map +1 -0
  260. package/dist/types/anim/asepriteSlices.d.ts +19 -0
  261. package/dist/types/anim/asepriteSlices.d.ts.map +1 -0
  262. package/dist/types/anim/asepriteTags.d.ts +16 -0
  263. package/dist/types/anim/asepriteTags.d.ts.map +1 -0
  264. package/dist/types/anim/asepriteTypes.d.ts +159 -0
  265. package/dist/types/anim/asepriteTypes.d.ts.map +1 -0
  266. package/dist/types/anim/parseAseprite.d.ts +21 -0
  267. package/dist/types/anim/parseAseprite.d.ts.map +1 -0
  268. package/dist/types/assets/AssetLoader.d.ts +140 -0
  269. package/dist/types/assets/AssetLoader.d.ts.map +1 -0
  270. package/dist/types/assets/loadAseprite.d.ts +27 -0
  271. package/dist/types/assets/loadAseprite.d.ts.map +1 -0
  272. package/dist/types/assets/textureAtlas.d.ts +35 -0
  273. package/dist/types/assets/textureAtlas.d.ts.map +1 -0
  274. package/dist/types/audio/Footsteps.d.ts +33 -0
  275. package/dist/types/audio/Footsteps.d.ts.map +1 -0
  276. package/dist/types/audio/MusicPlayer.d.ts +65 -0
  277. package/dist/types/audio/MusicPlayer.d.ts.map +1 -0
  278. package/dist/types/audio/SoundEngine.d.ts +47 -0
  279. package/dist/types/audio/SoundEngine.d.ts.map +1 -0
  280. package/dist/types/audio/cleanTake.d.ts +3 -0
  281. package/dist/types/audio/cleanTake.d.ts.map +1 -0
  282. package/dist/types/audio/music/ElementVoice.d.ts +14 -0
  283. package/dist/types/audio/music/ElementVoice.d.ts.map +1 -0
  284. package/dist/types/audio/music/GraphVoice.d.ts +22 -0
  285. package/dist/types/audio/music/GraphVoice.d.ts.map +1 -0
  286. package/dist/types/audio/music/MusicChannel.d.ts +35 -0
  287. package/dist/types/audio/music/MusicChannel.d.ts.map +1 -0
  288. package/dist/types/audio/music/musicVoice.d.ts +26 -0
  289. package/dist/types/audio/music/musicVoice.d.ts.map +1 -0
  290. package/dist/types/audio/sampleBank.d.ts +27 -0
  291. package/dist/types/audio/sampleBank.d.ts.map +1 -0
  292. package/dist/types/audio/soundTable.d.ts +14 -0
  293. package/dist/types/audio/soundTable.d.ts.map +1 -0
  294. package/dist/types/audio/synth.d.ts +34 -0
  295. package/dist/types/audio/synth.d.ts.map +1 -0
  296. package/dist/types/audio/takeCleanerWorker.d.ts +2 -0
  297. package/dist/types/audio/takeCleanerWorker.d.ts.map +1 -0
  298. package/dist/types/core/BitmapLabel.d.ts +36 -0
  299. package/dist/types/core/BitmapLabel.d.ts.map +1 -0
  300. package/dist/types/core/Camera.d.ts +115 -0
  301. package/dist/types/core/Camera.d.ts.map +1 -0
  302. package/dist/types/core/Clock.d.ts +23 -0
  303. package/dist/types/core/Clock.d.ts.map +1 -0
  304. package/dist/types/core/Graphics.d.ts +37 -0
  305. package/dist/types/core/Graphics.d.ts.map +1 -0
  306. package/dist/types/core/Group.d.ts +15 -0
  307. package/dist/types/core/Group.d.ts.map +1 -0
  308. package/dist/types/core/Image.d.ts +25 -0
  309. package/dist/types/core/Image.d.ts.map +1 -0
  310. package/dist/types/core/ObjectFactory.d.ts +34 -0
  311. package/dist/types/core/ObjectFactory.d.ts.map +1 -0
  312. package/dist/types/core/Pointer.d.ts +45 -0
  313. package/dist/types/core/Pointer.d.ts.map +1 -0
  314. package/dist/types/core/Rectangle.d.ts +26 -0
  315. package/dist/types/core/Rectangle.d.ts.map +1 -0
  316. package/dist/types/core/Stage.d.ts +58 -0
  317. package/dist/types/core/Stage.d.ts.map +1 -0
  318. package/dist/types/core/Text.d.ts +22 -0
  319. package/dist/types/core/Text.d.ts.map +1 -0
  320. package/dist/types/core/TextureRegistry.d.ts +90 -0
  321. package/dist/types/core/TextureRegistry.d.ts.map +1 -0
  322. package/dist/types/core/Timeline.d.ts +115 -0
  323. package/dist/types/core/Timeline.d.ts.map +1 -0
  324. package/dist/types/core/TimelineBuilder.d.ts +53 -0
  325. package/dist/types/core/TimelineBuilder.d.ts.map +1 -0
  326. package/dist/types/core/TimelineChild.d.ts +51 -0
  327. package/dist/types/core/TimelineChild.d.ts.map +1 -0
  328. package/dist/types/core/Tweener.d.ts +70 -0
  329. package/dist/types/core/Tweener.d.ts.map +1 -0
  330. package/dist/types/core/atlas.d.ts +16 -0
  331. package/dist/types/core/atlas.d.ts.map +1 -0
  332. package/dist/types/core/atlasPlan.d.ts +34 -0
  333. package/dist/types/core/atlasPlan.d.ts.map +1 -0
  334. package/dist/types/core/blendLayer.d.ts +23 -0
  335. package/dist/types/core/blendLayer.d.ts.map +1 -0
  336. package/dist/types/core/eases.d.ts +3 -0
  337. package/dist/types/core/eases.d.ts.map +1 -0
  338. package/dist/types/core/gameObject.d.ts +42 -0
  339. package/dist/types/core/gameObject.d.ts.map +1 -0
  340. package/dist/types/core/pixelZoom.d.ts +45 -0
  341. package/dist/types/core/pixelZoom.d.ts.map +1 -0
  342. package/dist/types/core/pixiPatches.d.ts +9 -0
  343. package/dist/types/core/pixiPatches.d.ts.map +1 -0
  344. package/dist/types/core/runDue.d.ts +15 -0
  345. package/dist/types/core/runDue.d.ts.map +1 -0
  346. package/dist/types/core/silhouette.d.ts +16 -0
  347. package/dist/types/core/silhouette.d.ts.map +1 -0
  348. package/dist/types/core/timelinePlace.d.ts +23 -0
  349. package/dist/types/core/timelinePlace.d.ts.map +1 -0
  350. package/dist/types/core/tweenProps.d.ts +8 -0
  351. package/dist/types/core/tweenProps.d.ts.map +1 -0
  352. package/dist/types/core/types.d.ts +4 -0
  353. package/dist/types/core/types.d.ts.map +1 -0
  354. package/dist/types/debug/DebugOverlay.d.ts +63 -0
  355. package/dist/types/debug/DebugOverlay.d.ts.map +1 -0
  356. package/dist/types/debug/DrawCallCounter.d.ts +20 -0
  357. package/dist/types/debug/DrawCallCounter.d.ts.map +1 -0
  358. package/dist/types/debug/ErrorLog.d.ts +20 -0
  359. package/dist/types/debug/ErrorLog.d.ts.map +1 -0
  360. package/dist/types/debug/FrameStats.d.ts +21 -0
  361. package/dist/types/debug/FrameStats.d.ts.map +1 -0
  362. package/dist/types/debug/inspectWorld.d.ts +14 -0
  363. package/dist/types/debug/inspectWorld.d.ts.map +1 -0
  364. package/dist/types/diagnostics/ErrorDeduper.d.ts +17 -0
  365. package/dist/types/diagnostics/ErrorDeduper.d.ts.map +1 -0
  366. package/dist/types/diagnostics/FrameSampler.d.ts +37 -0
  367. package/dist/types/diagnostics/FrameSampler.d.ts.map +1 -0
  368. package/dist/types/diagnostics/bootWatch.d.ts +25 -0
  369. package/dist/types/diagnostics/bootWatch.d.ts.map +1 -0
  370. package/dist/types/diagnostics/captureErrors.d.ts +24 -0
  371. package/dist/types/diagnostics/captureErrors.d.ts.map +1 -0
  372. package/dist/types/diagnostics/contextLoss.d.ts +35 -0
  373. package/dist/types/diagnostics/contextLoss.d.ts.map +1 -0
  374. package/dist/types/diagnostics/frameStats.d.ts +30 -0
  375. package/dist/types/diagnostics/frameStats.d.ts.map +1 -0
  376. package/dist/types/diagnostics/gpuInfo.d.ts +9 -0
  377. package/dist/types/diagnostics/gpuInfo.d.ts.map +1 -0
  378. package/dist/types/diagnostics/renderGuard.d.ts +12 -0
  379. package/dist/types/diagnostics/renderGuard.d.ts.map +1 -0
  380. package/dist/types/ecs/SparseSet.d.ts +25 -0
  381. package/dist/types/ecs/SparseSet.d.ts.map +1 -0
  382. package/dist/types/ecs/World.d.ts +137 -0
  383. package/dist/types/ecs/World.d.ts.map +1 -0
  384. package/dist/types/ecs/fields.d.ts +34 -0
  385. package/dist/types/ecs/fields.d.ts.map +1 -0
  386. package/dist/types/engine/Engine.d.ts +96 -0
  387. package/dist/types/engine/Engine.d.ts.map +1 -0
  388. package/dist/types/engine/FixedLoop.d.ts +32 -0
  389. package/dist/types/engine/FixedLoop.d.ts.map +1 -0
  390. package/dist/types/engine/HiddenPause.d.ts +22 -0
  391. package/dist/types/engine/HiddenPause.d.ts.map +1 -0
  392. package/dist/types/engine/Scene.d.ts +67 -0
  393. package/dist/types/engine/Scene.d.ts.map +1 -0
  394. package/dist/types/engine/SceneManager.d.ts +36 -0
  395. package/dist/types/engine/SceneManager.d.ts.map +1 -0
  396. package/dist/types/events/EventBus.d.ts +20 -0
  397. package/dist/types/events/EventBus.d.ts.map +1 -0
  398. package/dist/types/fx/Afterimages.d.ts +62 -0
  399. package/dist/types/fx/Afterimages.d.ts.map +1 -0
  400. package/dist/types/fx/FloatingText.d.ts +71 -0
  401. package/dist/types/fx/FloatingText.d.ts.map +1 -0
  402. package/dist/types/fx/hitStop.d.ts +20 -0
  403. package/dist/types/fx/hitStop.d.ts.map +1 -0
  404. package/dist/types/fx/viewCull.d.ts +14 -0
  405. package/dist/types/fx/viewCull.d.ts.map +1 -0
  406. package/dist/types/i18n/Translator.d.ts +52 -0
  407. package/dist/types/i18n/Translator.d.ts.map +1 -0
  408. package/dist/types/i18n/extractStrings.d.ts +25 -0
  409. package/dist/types/i18n/extractStrings.d.ts.map +1 -0
  410. package/dist/types/i18n/formatMessage.d.ts +10 -0
  411. package/dist/types/i18n/formatMessage.d.ts.map +1 -0
  412. package/dist/types/index.d.ts +164 -0
  413. package/dist/types/index.d.ts.map +1 -0
  414. package/dist/types/input/Actions.d.ts +100 -0
  415. package/dist/types/input/Actions.d.ts.map +1 -0
  416. package/dist/types/input/AimGesture.d.ts +106 -0
  417. package/dist/types/input/AimGesture.d.ts.map +1 -0
  418. package/dist/types/input/Keyboard.d.ts +30 -0
  419. package/dist/types/input/Keyboard.d.ts.map +1 -0
  420. package/dist/types/input/Keymap.d.ts +85 -0
  421. package/dist/types/input/Keymap.d.ts.map +1 -0
  422. package/dist/types/input/TargetLock.d.ts +56 -0
  423. package/dist/types/input/TargetLock.d.ts.map +1 -0
  424. package/dist/types/input/aimAxis.d.ts +9 -0
  425. package/dist/types/input/aimAxis.d.ts.map +1 -0
  426. package/dist/types/input/keyChord.d.ts +15 -0
  427. package/dist/types/input/keyChord.d.ts.map +1 -0
  428. package/dist/types/input/longPress.d.ts +21 -0
  429. package/dist/types/input/longPress.d.ts.map +1 -0
  430. package/dist/types/input/rumble.d.ts +41 -0
  431. package/dist/types/input/rumble.d.ts.map +1 -0
  432. package/dist/types/input/stickAxis.d.ts +26 -0
  433. package/dist/types/input/stickAxis.d.ts.map +1 -0
  434. package/dist/types/input/touchDetect.d.ts +18 -0
  435. package/dist/types/input/touchDetect.d.ts.map +1 -0
  436. package/dist/types/light/LightLayer.d.ts +65 -0
  437. package/dist/types/light/LightLayer.d.ts.map +1 -0
  438. package/dist/types/nav/MinHeap.d.ts +15 -0
  439. package/dist/types/nav/MinHeap.d.ts.map +1 -0
  440. package/dist/types/nav/findPath.d.ts +38 -0
  441. package/dist/types/nav/findPath.d.ts.map +1 -0
  442. package/dist/types/nav/navGrid.d.ts +48 -0
  443. package/dist/types/nav/navGrid.d.ts.map +1 -0
  444. package/dist/types/nav/nearestOpen.d.ts +8 -0
  445. package/dist/types/nav/nearestOpen.d.ts.map +1 -0
  446. package/dist/types/nav/straightenPath.d.ts +13 -0
  447. package/dist/types/nav/straightenPath.d.ts.map +1 -0
  448. package/dist/types/net/Connection.d.ts +88 -0
  449. package/dist/types/net/Connection.d.ts.map +1 -0
  450. package/dist/types/net/InterpolationBuffer.d.ts +36 -0
  451. package/dist/types/net/InterpolationBuffer.d.ts.map +1 -0
  452. package/dist/types/net/PredictedMover.d.ts +43 -0
  453. package/dist/types/net/PredictedMover.d.ts.map +1 -0
  454. package/dist/types/net/Room.d.ts +69 -0
  455. package/dist/types/net/Room.d.ts.map +1 -0
  456. package/dist/types/net/RoomHost.d.ts +74 -0
  457. package/dist/types/net/RoomHost.d.ts.map +1 -0
  458. package/dist/types/net/cadence.d.ts +22 -0
  459. package/dist/types/net/cadence.d.ts.map +1 -0
  460. package/dist/types/net/constants.d.ts +33 -0
  461. package/dist/types/net/constants.d.ts.map +1 -0
  462. package/dist/types/net/lobby/LobbyClient.d.ts +107 -0
  463. package/dist/types/net/lobby/LobbyClient.d.ts.map +1 -0
  464. package/dist/types/net/lobby/LobbyHost.d.ts +147 -0
  465. package/dist/types/net/lobby/LobbyHost.d.ts.map +1 -0
  466. package/dist/types/net/lobby/LobbyRooms.d.ts +56 -0
  467. package/dist/types/net/lobby/LobbyRooms.d.ts.map +1 -0
  468. package/dist/types/net/lobby/Matchmaker.d.ts +57 -0
  469. package/dist/types/net/lobby/Matchmaker.d.ts.map +1 -0
  470. package/dist/types/net/lobby/index.d.ts +6 -0
  471. package/dist/types/net/lobby/index.d.ts.map +1 -0
  472. package/dist/types/net/lobby/lobbyProtocol.d.ts +143 -0
  473. package/dist/types/net/lobby/lobbyProtocol.d.ts.map +1 -0
  474. package/dist/types/net/movement.d.ts +50 -0
  475. package/dist/types/net/movement.d.ts.map +1 -0
  476. package/dist/types/net/protocol.d.ts +59 -0
  477. package/dist/types/net/protocol.d.ts.map +1 -0
  478. package/dist/types/net/reconnect.d.ts +14 -0
  479. package/dist/types/net/reconnect.d.ts.map +1 -0
  480. package/dist/types/net/serverClock.d.ts +14 -0
  481. package/dist/types/net/serverClock.d.ts.map +1 -0
  482. package/dist/types/net/snapshotCodec.d.ts +55 -0
  483. package/dist/types/net/snapshotCodec.d.ts.map +1 -0
  484. package/dist/types/parallax/Parallax.d.ts +37 -0
  485. package/dist/types/parallax/Parallax.d.ts.map +1 -0
  486. package/dist/types/parallax/ParallaxLayer.d.ts +80 -0
  487. package/dist/types/parallax/ParallaxLayer.d.ts.map +1 -0
  488. package/dist/types/parallax/parallaxMath.d.ts +50 -0
  489. package/dist/types/parallax/parallaxMath.d.ts.map +1 -0
  490. package/dist/types/particles/Emitter.d.ts +97 -0
  491. package/dist/types/particles/Emitter.d.ts.map +1 -0
  492. package/dist/types/particles/ParticleBudget.d.ts +28 -0
  493. package/dist/types/particles/ParticleBudget.d.ts.map +1 -0
  494. package/dist/types/particles/ParticleSim.d.ts +38 -0
  495. package/dist/types/particles/ParticleSim.d.ts.map +1 -0
  496. package/dist/types/particles/particleCurves.d.ts +21 -0
  497. package/dist/types/particles/particleCurves.d.ts.map +1 -0
  498. package/dist/types/particles/particleSampling.d.ts +20 -0
  499. package/dist/types/particles/particleSampling.d.ts.map +1 -0
  500. package/dist/types/physics/Body.d.ts +130 -0
  501. package/dist/types/physics/Body.d.ts.map +1 -0
  502. package/dist/types/physics/BroadPhase.d.ts +26 -0
  503. package/dist/types/physics/BroadPhase.d.ts.map +1 -0
  504. package/dist/types/physics/Contact.d.ts +62 -0
  505. package/dist/types/physics/Contact.d.ts.map +1 -0
  506. package/dist/types/physics/ContactSolver.d.ts +29 -0
  507. package/dist/types/physics/ContactSolver.d.ts.map +1 -0
  508. package/dist/types/physics/PhysicsWorld.d.ts +78 -0
  509. package/dist/types/physics/PhysicsWorld.d.ts.map +1 -0
  510. package/dist/types/physics/PhysicsWorldOptions.d.ts +24 -0
  511. package/dist/types/physics/PhysicsWorldOptions.d.ts.map +1 -0
  512. package/dist/types/physics/SpatialHash.d.ts +23 -0
  513. package/dist/types/physics/SpatialHash.d.ts.map +1 -0
  514. package/dist/types/physics/collide.d.ts +27 -0
  515. package/dist/types/physics/collide.d.ts.map +1 -0
  516. package/dist/types/physics/collidePolygon.d.ts +14 -0
  517. package/dist/types/physics/collidePolygon.d.ts.map +1 -0
  518. package/dist/types/physics/contactReport.d.ts +8 -0
  519. package/dist/types/physics/contactReport.d.ts.map +1 -0
  520. package/dist/types/physics/drawColliders.d.ts +43 -0
  521. package/dist/types/physics/drawColliders.d.ts.map +1 -0
  522. package/dist/types/physics/physicsSystem.d.ts +5 -0
  523. package/dist/types/physics/physicsSystem.d.ts.map +1 -0
  524. package/dist/types/physics/polygon.d.ts +28 -0
  525. package/dist/types/physics/polygon.d.ts.map +1 -0
  526. package/dist/types/physics/raycast.d.ts +19 -0
  527. package/dist/types/physics/raycast.d.ts.map +1 -0
  528. package/dist/types/physics/syncToBody.d.ts +16 -0
  529. package/dist/types/physics/syncToBody.d.ts.map +1 -0
  530. package/dist/types/physics/tileBodies.d.ts +36 -0
  531. package/dist/types/physics/tileBodies.d.ts.map +1 -0
  532. package/dist/types/physics/types.d.ts +116 -0
  533. package/dist/types/physics/types.d.ts.map +1 -0
  534. package/dist/types/pixel/Darkness.d.ts +90 -0
  535. package/dist/types/pixel/Darkness.d.ts.map +1 -0
  536. package/dist/types/pixel/DitherVignette.d.ts +35 -0
  537. package/dist/types/pixel/DitherVignette.d.ts.map +1 -0
  538. package/dist/types/pixel/Evaporation.d.ts +30 -0
  539. package/dist/types/pixel/Evaporation.d.ts.map +1 -0
  540. package/dist/types/pixel/NightShade.d.ts +38 -0
  541. package/dist/types/pixel/NightShade.d.ts.map +1 -0
  542. package/dist/types/pixel/PixelLayer.d.ts +85 -0
  543. package/dist/types/pixel/PixelLayer.d.ts.map +1 -0
  544. package/dist/types/pixel/PixelMarks.d.ts +68 -0
  545. package/dist/types/pixel/PixelMarks.d.ts.map +1 -0
  546. package/dist/types/pixel/SwayProp.d.ts +52 -0
  547. package/dist/types/pixel/SwayProp.d.ts.map +1 -0
  548. package/dist/types/pixel/aimPixels.d.ts +23 -0
  549. package/dist/types/pixel/aimPixels.d.ts.map +1 -0
  550. package/dist/types/pixel/index.d.ts +33 -0
  551. package/dist/types/pixel/index.d.ts.map +1 -0
  552. package/dist/types/pixel/lights.d.ts +34 -0
  553. package/dist/types/pixel/lights.d.ts.map +1 -0
  554. package/dist/types/pixel/nineSlice.d.ts +71 -0
  555. package/dist/types/pixel/nineSlice.d.ts.map +1 -0
  556. package/dist/types/pixel/paintLayer.d.ts +35 -0
  557. package/dist/types/pixel/paintLayer.d.ts.map +1 -0
  558. package/dist/types/pixel/palette.d.ts +58 -0
  559. package/dist/types/pixel/palette.d.ts.map +1 -0
  560. package/dist/types/pixel/pixel.d.ts +80 -0
  561. package/dist/types/pixel/pixel.d.ts.map +1 -0
  562. package/dist/types/pixel/pixelPaint.d.ts +44 -0
  563. package/dist/types/pixel/pixelPaint.d.ts.map +1 -0
  564. package/dist/types/pixel/pixelParticles.d.ts +21 -0
  565. package/dist/types/pixel/pixelParticles.d.ts.map +1 -0
  566. package/dist/types/pixel/pixelTone.d.ts +51 -0
  567. package/dist/types/pixel/pixelTone.d.ts.map +1 -0
  568. package/dist/types/pixel/propKit.d.ts +26 -0
  569. package/dist/types/pixel/propKit.d.ts.map +1 -0
  570. package/dist/types/pixel/ramp.d.ts +57 -0
  571. package/dist/types/pixel/ramp.d.ts.map +1 -0
  572. package/dist/types/pixel/selout.d.ts +3 -0
  573. package/dist/types/pixel/selout.d.ts.map +1 -0
  574. package/dist/types/pixel/spritePixels.d.ts +29 -0
  575. package/dist/types/pixel/spritePixels.d.ts.map +1 -0
  576. package/dist/types/pixel/swayRig.d.ts +72 -0
  577. package/dist/types/pixel/swayRig.d.ts.map +1 -0
  578. package/dist/types/pixel/vignetteMask.d.ts +16 -0
  579. package/dist/types/pixel/vignetteMask.d.ts.map +1 -0
  580. package/dist/types/pixel/weatherArt.d.ts +29 -0
  581. package/dist/types/pixel/weatherArt.d.ts.map +1 -0
  582. package/dist/types/platform/appResume.d.ts +25 -0
  583. package/dist/types/platform/appResume.d.ts.map +1 -0
  584. package/dist/types/platform/fullscreen.d.ts +37 -0
  585. package/dist/types/platform/fullscreen.d.ts.map +1 -0
  586. package/dist/types/platform/orientation.d.ts +19 -0
  587. package/dist/types/platform/orientation.d.ts.map +1 -0
  588. package/dist/types/platform/pointerLock.d.ts +26 -0
  589. package/dist/types/platform/pointerLock.d.ts.map +1 -0
  590. package/dist/types/platform/reducedMotion.d.ts +20 -0
  591. package/dist/types/platform/reducedMotion.d.ts.map +1 -0
  592. package/dist/types/platform/timeoutSignal.d.ts +6 -0
  593. package/dist/types/platform/timeoutSignal.d.ts.map +1 -0
  594. package/dist/types/platform/touch.d.ts +10 -0
  595. package/dist/types/platform/touch.d.ts.map +1 -0
  596. package/dist/types/postfx/BloomFilter.d.ts +33 -0
  597. package/dist/types/postfx/BloomFilter.d.ts.map +1 -0
  598. package/dist/types/postfx/ChromaticAberrationFilter.d.ts +11 -0
  599. package/dist/types/postfx/ChromaticAberrationFilter.d.ts.map +1 -0
  600. package/dist/types/postfx/ColorAdjustFilter.d.ts +32 -0
  601. package/dist/types/postfx/ColorAdjustFilter.d.ts.map +1 -0
  602. package/dist/types/postfx/CrtFilter.d.ts +16 -0
  603. package/dist/types/postfx/CrtFilter.d.ts.map +1 -0
  604. package/dist/types/postfx/PixelateFilter.d.ts +8 -0
  605. package/dist/types/postfx/PixelateFilter.d.ts.map +1 -0
  606. package/dist/types/postfx/PostFx.d.ts +92 -0
  607. package/dist/types/postfx/PostFx.d.ts.map +1 -0
  608. package/dist/types/postfx/ShockwaveFilter.d.ts +20 -0
  609. package/dist/types/postfx/ShockwaveFilter.d.ts.map +1 -0
  610. package/dist/types/postfx/VignetteFilter.d.ts +19 -0
  611. package/dist/types/postfx/VignetteFilter.d.ts.map +1 -0
  612. package/dist/types/postfx/fxAnimator.d.ts +32 -0
  613. package/dist/types/postfx/fxAnimator.d.ts.map +1 -0
  614. package/dist/types/postfx/fxShader.d.ts +49 -0
  615. package/dist/types/postfx/fxShader.d.ts.map +1 -0
  616. package/dist/types/postfx/index.d.ts +11 -0
  617. package/dist/types/postfx/index.d.ts.map +1 -0
  618. package/dist/types/react/ChoiceDialog.d.ts +8 -0
  619. package/dist/types/react/ChoiceDialog.d.ts.map +1 -0
  620. package/dist/types/react/ConfirmDialog.d.ts +9 -0
  621. package/dist/types/react/ConfirmDialog.d.ts.map +1 -0
  622. package/dist/types/react/Glyph.d.ts +54 -0
  623. package/dist/types/react/Glyph.d.ts.map +1 -0
  624. package/dist/types/react/Modal.d.ts +22 -0
  625. package/dist/types/react/Modal.d.ts.map +1 -0
  626. package/dist/types/react/Panel.d.ts +29 -0
  627. package/dist/types/react/Panel.d.ts.map +1 -0
  628. package/dist/types/react/PixelImage.d.ts +19 -0
  629. package/dist/types/react/PixelImage.d.ts.map +1 -0
  630. package/dist/types/react/Select.d.ts +27 -0
  631. package/dist/types/react/Select.d.ts.map +1 -0
  632. package/dist/types/react/Slider.d.ts +24 -0
  633. package/dist/types/react/Slider.d.ts.map +1 -0
  634. package/dist/types/react/SplitPane.d.ts +26 -0
  635. package/dist/types/react/SplitPane.d.ts.map +1 -0
  636. package/dist/types/react/TabStrip.d.ts +31 -0
  637. package/dist/types/react/TabStrip.d.ts.map +1 -0
  638. package/dist/types/react/TitleTips.d.ts +15 -0
  639. package/dist/types/react/TitleTips.d.ts.map +1 -0
  640. package/dist/types/react/Tooltip.d.ts +22 -0
  641. package/dist/types/react/Tooltip.d.ts.map +1 -0
  642. package/dist/types/react/UiProvider.d.ts +52 -0
  643. package/dist/types/react/UiProvider.d.ts.map +1 -0
  644. package/dist/types/react/baseCss.d.ts +27 -0
  645. package/dist/types/react/baseCss.d.ts.map +1 -0
  646. package/dist/types/react/choiceStore.d.ts +34 -0
  647. package/dist/types/react/choiceStore.d.ts.map +1 -0
  648. package/dist/types/react/classNames.d.ts +12 -0
  649. package/dist/types/react/classNames.d.ts.map +1 -0
  650. package/dist/types/react/confirmStore.d.ts +30 -0
  651. package/dist/types/react/confirmStore.d.ts.map +1 -0
  652. package/dist/types/react/index.d.ts +33 -0
  653. package/dist/types/react/index.d.ts.map +1 -0
  654. package/dist/types/react/labels.d.ts +24 -0
  655. package/dist/types/react/labels.d.ts.map +1 -0
  656. package/dist/types/react/placement.d.ts +59 -0
  657. package/dist/types/react/placement.d.ts.map +1 -0
  658. package/dist/types/react/useFillSheet.d.ts +9 -0
  659. package/dist/types/react/useFillSheet.d.ts.map +1 -0
  660. package/dist/types/react/useFitToViewport.d.ts +20 -0
  661. package/dist/types/react/useFitToViewport.d.ts.map +1 -0
  662. package/dist/types/react/usePicked.d.ts +9 -0
  663. package/dist/types/react/usePicked.d.ts.map +1 -0
  664. package/dist/types/react/useStore.d.ts +8 -0
  665. package/dist/types/react/useStore.d.ts.map +1 -0
  666. package/dist/types/react/useViewport.d.ts +4 -0
  667. package/dist/types/react/useViewport.d.ts.map +1 -0
  668. package/dist/types/rig/PosePlayer.d.ts +64 -0
  669. package/dist/types/rig/PosePlayer.d.ts.map +1 -0
  670. package/dist/types/rig/RigView.d.ts +68 -0
  671. package/dist/types/rig/RigView.d.ts.map +1 -0
  672. package/dist/types/rig/Skeleton.d.ts +14 -0
  673. package/dist/types/rig/Skeleton.d.ts.map +1 -0
  674. package/dist/types/rig/humanoid.d.ts +4 -0
  675. package/dist/types/rig/humanoid.d.ts.map +1 -0
  676. package/dist/types/rig/humanoidPoses.d.ts +117 -0
  677. package/dist/types/rig/humanoidPoses.d.ts.map +1 -0
  678. package/dist/types/rig/poseMath.d.ts +14 -0
  679. package/dist/types/rig/poseMath.d.ts.map +1 -0
  680. package/dist/types/rig/rigTypes.d.ts +82 -0
  681. package/dist/types/rig/rigTypes.d.ts.map +1 -0
  682. package/dist/types/save/Autosaver.d.ts +43 -0
  683. package/dist/types/save/Autosaver.d.ts.map +1 -0
  684. package/dist/types/save/MemoryBackend.d.ts +10 -0
  685. package/dist/types/save/MemoryBackend.d.ts.map +1 -0
  686. package/dist/types/save/SaveBackend.d.ts +14 -0
  687. package/dist/types/save/SaveBackend.d.ts.map +1 -0
  688. package/dist/types/save/SaveStore.d.ts +73 -0
  689. package/dist/types/save/SaveStore.d.ts.map +1 -0
  690. package/dist/types/save/WebStorageBackend.d.ts +14 -0
  691. package/dist/types/save/WebStorageBackend.d.ts.map +1 -0
  692. package/dist/types/save/checksum.d.ts +7 -0
  693. package/dist/types/save/checksum.d.ts.map +1 -0
  694. package/dist/types/save/migrateSave.d.ts +17 -0
  695. package/dist/types/save/migrateSave.d.ts.map +1 -0
  696. package/dist/types/settings.d.ts +25 -0
  697. package/dist/types/settings.d.ts.map +1 -0
  698. package/dist/types/tilemap/TilemapView.d.ts +42 -0
  699. package/dist/types/tilemap/TilemapView.d.ts.map +1 -0
  700. package/dist/types/tilemap/collision.d.ts +16 -0
  701. package/dist/types/tilemap/collision.d.ts.map +1 -0
  702. package/dist/types/tilemap/tiled.d.ts +104 -0
  703. package/dist/types/tilemap/tiled.d.ts.map +1 -0
  704. package/dist/types/transitions/CrossfadeTransition.d.ts +20 -0
  705. package/dist/types/transitions/CrossfadeTransition.d.ts.map +1 -0
  706. package/dist/types/transitions/DitherWipeTransition.d.ts +35 -0
  707. package/dist/types/transitions/DitherWipeTransition.d.ts.map +1 -0
  708. package/dist/types/transitions/FadeTransition.d.ts +20 -0
  709. package/dist/types/transitions/FadeTransition.d.ts.map +1 -0
  710. package/dist/types/transitions/Letterbox.d.ts +33 -0
  711. package/dist/types/transitions/Letterbox.d.ts.map +1 -0
  712. package/dist/types/transitions/Transition.d.ts +22 -0
  713. package/dist/types/transitions/Transition.d.ts.map +1 -0
  714. package/dist/types/transitions/ditherMask.d.ts +13 -0
  715. package/dist/types/transitions/ditherMask.d.ts.map +1 -0
  716. package/dist/types/transitions/transitionTo.d.ts +16 -0
  717. package/dist/types/transitions/transitionTo.d.ts.map +1 -0
  718. package/dist/types/transitions/tweenDone.d.ts +5 -0
  719. package/dist/types/transitions/tweenDone.d.ts.map +1 -0
  720. package/dist/types/ui/Bar.d.ts +41 -0
  721. package/dist/types/ui/Bar.d.ts.map +1 -0
  722. package/dist/types/ui/Button.d.ts +47 -0
  723. package/dist/types/ui/Button.d.ts.map +1 -0
  724. package/dist/types/ui/Dialog.d.ts +47 -0
  725. package/dist/types/ui/Dialog.d.ts.map +1 -0
  726. package/dist/types/ui/FocusManager.d.ts +53 -0
  727. package/dist/types/ui/FocusManager.d.ts.map +1 -0
  728. package/dist/types/ui/Label.d.ts +24 -0
  729. package/dist/types/ui/Label.d.ts.map +1 -0
  730. package/dist/types/ui/List.d.ts +23 -0
  731. package/dist/types/ui/List.d.ts.map +1 -0
  732. package/dist/types/ui/Panel.d.ts +38 -0
  733. package/dist/types/ui/Panel.d.ts.map +1 -0
  734. package/dist/types/ui/ScrollView.d.ts +56 -0
  735. package/dist/types/ui/ScrollView.d.ts.map +1 -0
  736. package/dist/types/ui/Slider.d.ts +47 -0
  737. package/dist/types/ui/Slider.d.ts.map +1 -0
  738. package/dist/types/ui/Stack.d.ts +16 -0
  739. package/dist/types/ui/Stack.d.ts.map +1 -0
  740. package/dist/types/ui/Toggle.d.ts +31 -0
  741. package/dist/types/ui/Toggle.d.ts.map +1 -0
  742. package/dist/types/ui/UiHost.d.ts +18 -0
  743. package/dist/types/ui/UiHost.d.ts.map +1 -0
  744. package/dist/types/ui/UiPointerGate.d.ts +17 -0
  745. package/dist/types/ui/UiPointerGate.d.ts.map +1 -0
  746. package/dist/types/ui/UiRoot.d.ts +73 -0
  747. package/dist/types/ui/UiRoot.d.ts.map +1 -0
  748. package/dist/types/ui/Widget.d.ts +56 -0
  749. package/dist/types/ui/Widget.d.ts.map +1 -0
  750. package/dist/types/ui/dom/DomOverlay.d.ts +52 -0
  751. package/dist/types/ui/dom/DomOverlay.d.ts.map +1 -0
  752. package/dist/types/ui/dom/DomWorldAnchors.d.ts +50 -0
  753. package/dist/types/ui/dom/DomWorldAnchors.d.ts.map +1 -0
  754. package/dist/types/ui/dom/InputShield.d.ts +20 -0
  755. package/dist/types/ui/dom/InputShield.d.ts.map +1 -0
  756. package/dist/types/ui/dom/createStore.d.ts +22 -0
  757. package/dist/types/ui/dom/createStore.d.ts.map +1 -0
  758. package/dist/types/ui/dom/shieldDecision.d.ts +34 -0
  759. package/dist/types/ui/dom/shieldDecision.d.ts.map +1 -0
  760. package/dist/types/ui/dom/worldToScreen.d.ts +24 -0
  761. package/dist/types/ui/dom/worldToScreen.d.ts.map +1 -0
  762. package/dist/types/ui/index.d.ts +42 -0
  763. package/dist/types/ui/index.d.ts.map +1 -0
  764. package/dist/types/ui/layout/anchor.d.ts +9 -0
  765. package/dist/types/ui/layout/anchor.d.ts.map +1 -0
  766. package/dist/types/ui/layout/barDrain.d.ts +25 -0
  767. package/dist/types/ui/layout/barDrain.d.ts.map +1 -0
  768. package/dist/types/ui/layout/fitToViewport.d.ts +32 -0
  769. package/dist/types/ui/layout/fitToViewport.d.ts.map +1 -0
  770. package/dist/types/ui/layout/focusNav.d.ts +13 -0
  771. package/dist/types/ui/layout/focusNav.d.ts.map +1 -0
  772. package/dist/types/ui/layout/geometry.d.ts +35 -0
  773. package/dist/types/ui/layout/geometry.d.ts.map +1 -0
  774. package/dist/types/ui/layout/listWidth.d.ts +13 -0
  775. package/dist/types/ui/layout/listWidth.d.ts.map +1 -0
  776. package/dist/types/ui/layout/placeTooltip.d.ts +23 -0
  777. package/dist/types/ui/layout/placeTooltip.d.ts.map +1 -0
  778. package/dist/types/ui/layout/scroll.d.ts +17 -0
  779. package/dist/types/ui/layout/scroll.d.ts.map +1 -0
  780. package/dist/types/ui/layout/slider.d.ts +7 -0
  781. package/dist/types/ui/layout/slider.d.ts.map +1 -0
  782. package/dist/types/ui/layout/stack.d.ts +26 -0
  783. package/dist/types/ui/layout/stack.d.ts.map +1 -0
  784. package/dist/types/ui/layout/wrapRow.d.ts +6 -0
  785. package/dist/types/ui/layout/wrapRow.d.ts.map +1 -0
  786. package/dist/types/ui/rich/RichText.d.ts +48 -0
  787. package/dist/types/ui/rich/RichText.d.ts.map +1 -0
  788. package/dist/types/ui/rich/richFonts.d.ts +70 -0
  789. package/dist/types/ui/rich/richFonts.d.ts.map +1 -0
  790. package/dist/types/ui/rich/richLayout.d.ts +76 -0
  791. package/dist/types/ui/rich/richLayout.d.ts.map +1 -0
  792. package/dist/types/ui/rich/richMarkup.d.ts +48 -0
  793. package/dist/types/ui/rich/richMarkup.d.ts.map +1 -0
  794. package/dist/ui/Bar.js +53 -0
  795. package/dist/ui/Button.js +57 -0
  796. package/dist/ui/Dialog.js +55 -0
  797. package/dist/ui/FocusManager.js +96 -0
  798. package/dist/ui/Label.js +35 -0
  799. package/dist/ui/List.js +44 -0
  800. package/dist/ui/Panel.js +37 -0
  801. package/dist/ui/ScrollView.js +95 -0
  802. package/dist/ui/Slider.js +54 -0
  803. package/dist/ui/Stack.js +27 -0
  804. package/dist/ui/Toggle.js +36 -0
  805. package/dist/ui/UiHost.js +8 -0
  806. package/dist/ui/UiPointerGate.js +24 -0
  807. package/dist/ui/UiRoot.js +92 -0
  808. package/dist/ui/Widget.js +89 -0
  809. package/dist/ui/dom/DomOverlay.js +58 -0
  810. package/dist/ui/dom/DomWorldAnchors.js +58 -0
  811. package/dist/ui/dom/InputShield.js +26 -0
  812. package/dist/ui/dom/createStore.js +41 -0
  813. package/dist/ui/dom/shieldDecision.js +35 -0
  814. package/dist/ui/dom/worldToScreen.js +10 -0
  815. package/dist/ui/layout/anchor.js +19 -0
  816. package/dist/ui/layout/barDrain.js +24 -0
  817. package/dist/ui/layout/fitToViewport.js +16 -0
  818. package/dist/ui/layout/focusNav.js +41 -0
  819. package/dist/ui/layout/geometry.js +20 -0
  820. package/dist/ui/layout/listWidth.js +9 -0
  821. package/dist/ui/layout/placeTooltip.js +27 -0
  822. package/dist/ui/layout/scroll.js +23 -0
  823. package/dist/ui/layout/slider.js +19 -0
  824. package/dist/ui/layout/stack.js +26 -0
  825. package/dist/ui/layout/wrapRow.js +12 -0
  826. package/dist/ui/rich/RichText.js +87 -0
  827. package/dist/ui/rich/richFonts.js +105 -0
  828. package/dist/ui/rich/richLayout.js +132 -0
  829. package/dist/ui/rich/richMarkup.js +67 -0
  830. package/dist/ui.js +95 -0
  831. package/package.json +112 -4
@@ -0,0 +1,71 @@
1
+ import { type BitmapLabel } from '../core/BitmapLabel.js';
2
+ import type { Container } from 'pixi.js';
3
+ import type { Stage } from '../core/Stage.js';
4
+ /** One look of floating text: a size and a fill colour. Each look is its own baked font. */
5
+ export interface FloatingTextStyle {
6
+ size: number;
7
+ color: string;
8
+ }
9
+ export interface FloatingTextOptions {
10
+ /** A font already loaded (`document.fonts.load`), or the glyphs bake in the fallback. */
11
+ fontFamily: string;
12
+ /** Outline colour (default near-black). */
13
+ stroke?: string;
14
+ /** Outline width for a size (default a fifth of it, at least 2). */
15
+ strokeWidth?: (size: number) => number;
16
+ /** Rasterising resolution (default 4, crisp under a zoomed camera). */
17
+ resolution?: number;
18
+ /** Spent labels of one style kept for reuse; the rest are destroyed (default 24). */
19
+ keepPerStyle?: number;
20
+ /** Letters beyond ASCII the labels print (see `installLabelFont`), baked with each style's font. */
21
+ glyphs?: string;
22
+ /** Depth given to every label taken (default: left as made). */
23
+ depth?: number;
24
+ /**
25
+ * Where new labels are added (default the stage's world layer). Give a scene's `root` and the labels live and die
26
+ * with the scene: on the world layer they outlive it, and a label still floating when the scene changes stays.
27
+ */
28
+ parent?: Container;
29
+ }
30
+ /** How `float` moves a label: pops from `pop`× to 1, holds, then rises `rise` px while fading out. */
31
+ export interface FloatOptions {
32
+ rise?: number;
33
+ /** Sideways drift over the fade, px (pass a random one for a crowd of numbers that do not stack). */
34
+ driftX?: number;
35
+ pop?: number;
36
+ popMs?: number;
37
+ holdMs?: number;
38
+ fadeMs?: number;
39
+ }
40
+ /**
41
+ * Floating text — damage numbers, pickups, "+1" — drawn from bitmap fonts and reused rather than created and
42
+ * destroyed each time: a crowded fight throws dozens a second, and as canvas text each one repainted a canvas at
43
+ * resolution 4 and uploaded it. A label keeps its font, so spent ones are pooled per style and only their string
44
+ * changes. Fonts are baked ahead (`warm`): a style first met mid-fight baked its glyph pages on that frame.
45
+ */
46
+ export declare class FloatingText {
47
+ private readonly stage;
48
+ private readonly options;
49
+ private readonly pools;
50
+ private readonly stroke;
51
+ private readonly strokeWidth;
52
+ private readonly resolution;
53
+ private readonly keep;
54
+ constructor(stage: Stage, options: FloatingTextOptions);
55
+ /**
56
+ * Bakes the fonts of `styles`, one a task starting `delayMs` from now, so no frame pays for them all at once — ten
57
+ * at once froze a world's first frame half a second (each font measures and kerns every glyph). Returns a cancel.
58
+ */
59
+ warm(styles: readonly FloatingTextStyle[], delayMs?: number, gapMs?: number): () => void;
60
+ /** Bakes one style's font now. */
61
+ install(style: FloatingTextStyle): void;
62
+ /** A label ready to animate: shown, opaque, unscaled, anchored at its bottom centre on (x, y). */
63
+ take(x: number, y: number, text: string, style: FloatingTextStyle): BitmapLabel;
64
+ /** Hands a finished label back for reuse. */
65
+ release(t: BitmapLabel, style: FloatingTextStyle): void;
66
+ /** A label that pops, rises, fades and goes back to the pool by itself, on the stage's own tweens. */
67
+ float(x: number, y: number, text: string, style: FloatingTextStyle, options?: FloatOptions): BitmapLabel;
68
+ /** Destroys every pooled label (a scene ending); labels still out are the scene's to free. */
69
+ clear(): void;
70
+ }
71
+ //# sourceMappingURL=FloatingText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingText.d.ts","sourceRoot":"","sources":["../../../src/fx/FloatingText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,4FAA4F;AAC5F,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,sGAAsG;AACtG,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qGAAqG;IACrG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID;;;;;GAKG;AACH,qBAAa,YAAY;IAQrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAGX,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,mBAAmB;IAQ/C;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,EAAE,OAAO,SAAO,EAAE,KAAK,SAAK,GAAG,MAAM,IAAI;IAalF,kCAAkC;IAClC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAIvC,kGAAkG;IAClG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,WAAW;IAqB/E,6CAA6C;IAC7C,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAavD,sGAAsG;IACtG,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW;IAqB5G,8FAA8F;IAC9F,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,20 @@
1
+ /** The freeze-frame of a blow (ms): 40 for a scratch, up to 140 for one that took a third of the body; a crit +40. */
2
+ export declare function hitStopMs(share: number, crit: boolean): number;
3
+ /** How far the body struck recoils away from the blow (whole world px): a heavy body barely, a crit a pixel further. */
4
+ export declare function recoilPx(heavy: boolean, share: number, crit: boolean): number;
5
+ /** How long a recoil takes to settle back (ms). */
6
+ export declare const RECOIL_MS = 120;
7
+ /** The recoil left at `t` (0 the blow, 1 settled): out at once, eased back, whole pixels only. */
8
+ export declare function recoilAt(px: number, t: number): number;
9
+ /** The least time between two white flashes on a heavy body (ms). */
10
+ export declare const HEAVY_FLASH_GAP_MS = 400;
11
+ /**
12
+ * How long the body struck flashes white (ms), 0 for none: 70, a crit of one's own 140 (the impact frame), nothing with
13
+ * `reduce` (a "reduce flashes" setting). A heavy body (a boss, anything drawn large) flashes only for the local
14
+ * player's own crit, 60 ms, `HEAVY_FLASH_GAP_MS` apart: a sheet covering most of the screen turning white on every
15
+ * blow, beat and tick is a strobe. Sparks, numbers and the recoil still mark every blow.
16
+ */
17
+ export declare function hurtFlashMs(heavy: boolean, impact: boolean, reduce: boolean): number;
18
+ /** The gap a body keeps between two flashes (ms). */
19
+ export declare function hurtFlashGapMs(heavy: boolean): number;
20
+ //# sourceMappingURL=hitStop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hitStop.d.ts","sourceRoot":"","sources":["../../../src/fx/hitStop.ts"],"names":[],"mappings":"AAMA,sHAAsH;AACtH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAG9D;AAED,wHAAwH;AACxH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAG7E;AAED,mDAAmD;AACnD,eAAO,MAAM,SAAS,MAAM,CAAC;AAE7B,kGAAkG;AAClG,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAIpF;AAED,qDAAqD;AACrD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD"}
@@ -0,0 +1,14 @@
1
+ /** What `inView` reads off the main camera (Camera's own fields; a fake stage may lack them). */
2
+ export interface CameraLike {
3
+ zoom: number;
4
+ scrollX?: number;
5
+ scrollY?: number;
6
+ width?: number;
7
+ height?: number;
8
+ }
9
+ /**
10
+ * Whether the world point (x, y) lies within `margin` world pixels of the screen. Effects use it to skip painting what
11
+ * nobody can see. A camera that has no size yet (a tool's fake stage, before the first resize) counts everything in.
12
+ */
13
+ export declare function inView(cam: CameraLike, x: number, y: number, margin: number): boolean;
14
+ //# sourceMappingURL=viewCull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewCull.d.ts","sourceRoot":"","sources":["../../../src/fx/viewCull.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAOrF"}
@@ -0,0 +1,52 @@
1
+ /** A translation that changes with a count, by the plural categories of the language (`one`, `few`, `many`, `other`…). */
2
+ export type PluralForms = Partial<Record<Intl.LDMLPluralRule, string>>;
3
+ /** A language's translations, keyed by the English source (with its `|context`, if any). */
4
+ export type Catalog = Readonly<Record<string, string | PluralForms>>;
5
+ export interface TranslatorOptions {
6
+ /** The language strings are written in (default 'en'): shown as written, never reported missing. */
7
+ source?: string;
8
+ /** The language to start in (default the source). */
9
+ language?: string;
10
+ /** Told once per key and language of every string with no translation, for tooling or a log. */
11
+ onMissing?: (key: string, language: string) => void;
12
+ }
13
+ /**
14
+ * Translation with the English source as the key: `tr('Open the gate')` shows the English until a catalog for the
15
+ * current language has a line for it, so writing a new string never breaks the game, it only shows untranslated.
16
+ *
17
+ * - Placeholders are positional: `tr('{0} joined', name)`.
18
+ * - The same English with two meanings gets a context after `|`: `tr('Close|window')`, `tr('Close|near')`. The
19
+ * context is a separate key for translators and never shown.
20
+ * - Counts: `trn('{0} coin', '{0} coins', n)` picks a form by `Intl.PluralRules`; the key is the plural form, and
21
+ * a catalog may give every category its language has (`{ one, few, many, other }`). `{0}` is the count.
22
+ * - `setLanguage` switches at once and tells subscribers, so a UI re-renders instead of reloading: read labels when
23
+ * they are shown, never once at import.
24
+ *
25
+ * `tr` and `trn` are bound, so they can be handed around (`const { tr } = translator`).
26
+ */
27
+ export declare class Translator {
28
+ readonly source: string;
29
+ private lang;
30
+ private readonly catalogs;
31
+ private readonly listeners;
32
+ private readonly rules;
33
+ private readonly reported;
34
+ private readonly onMissing;
35
+ constructor(options?: TranslatorOptions);
36
+ get language(): string;
37
+ /** Languages with a catalog, plus the source. */
38
+ get languages(): string[];
39
+ /** Adds (or merges into) a language's catalog; subscribers hear of it when it is the language shown. */
40
+ addCatalog(language: string, catalog: Catalog): void;
41
+ setLanguage(language: string): void;
42
+ /** Calls `fn` with the language after every switch; the returned function stops it. */
43
+ subscribe(fn: (language: string) => void): () => void;
44
+ /** Whether the current language has its own line for `key`. */
45
+ has(key: string): boolean;
46
+ readonly tr: (key: string, ...args: unknown[]) => string;
47
+ readonly trn: (one: string, other: string, count: number, ...args: unknown[]) => string;
48
+ private lookup;
49
+ private category;
50
+ private notify;
51
+ }
52
+ //# sourceMappingURL=Translator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Translator.d.ts","sourceRoot":"","sources":["../../../src/i18n/Translator.ts"],"names":[],"mappings":"AAEA,0HAA0H;AAC1H,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvE,4FAA4F;AAC5F,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwD;gBAEtE,OAAO,GAAE,iBAAsB;IAM3C,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,iDAAiD;IACjD,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAED,wGAAwG;IACxG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAMpD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMnC,uFAAuF;IACvF,SAAS,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAKrD,+DAA+D;IAC/D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,QAAQ,CAAC,EAAE,GAAI,KAAK,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,KAAG,MAAM,CAOrD;IAEF,QAAQ,CAAC,GAAG,GAAI,KAAK,MAAM,EAAE,OAAO,MAAM,EAAE,OAAO,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,KAAG,MAAM,CAOpF;IAEF,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,MAAM;CASf"}
@@ -0,0 +1,25 @@
1
+ /** One translatable string found in source text. */
2
+ export interface ExtractedString {
3
+ /** The catalog key: the string as written, `|context` included. */
4
+ key: string;
5
+ /** For a plural call, the singular form written beside the key. */
6
+ one?: string;
7
+ /** The function it was passed to. */
8
+ fn: string;
9
+ /** 1-based line of the call. */
10
+ line: number;
11
+ }
12
+ export interface ExtractOptions {
13
+ /** Functions whose first argument is a key (default `['tr']`). */
14
+ single?: readonly string[];
15
+ /** Functions called `(one, other, count…)`, keyed by `other` (default `['trn']`). */
16
+ plural?: readonly string[];
17
+ }
18
+ /**
19
+ * Finds the strings passed to `tr('…')` (and `trn('…', '…', n)`) in a file's text, for a tool that lists keys
20
+ * missing from a catalog or drops unused ones. A plain scanner, not a parser: it reads a string literal straight
21
+ * after the call's parenthesis (quotes of any kind, escapes decoded) and skips a template literal with `${…}` in it
22
+ * or a call whose key is not a literal, since neither can be a catalog key. A call inside a comment is still found.
23
+ */
24
+ export declare function extractStrings(text: string, options?: ExtractOptions): ExtractedString[];
25
+ //# sourceMappingURL=extractStrings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractStrings.d.ts","sourceRoot":"","sources":["../../../src/i18n/extractStrings.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,qFAAqF;IACrF,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,eAAe,EAAE,CAwB5F"}
@@ -0,0 +1,10 @@
1
+ /** The separator between a source string and its context: `'Open|door'` and `'Open|file'` are two keys. */
2
+ export declare const CONTEXT_MARK = "|";
3
+ /** The text a key shows untranslated: the source without its `|context`. */
4
+ export declare function sourceText(key: string): string;
5
+ /**
6
+ * Fills `{0}`, `{1}`… with `args`. A placeholder with no argument is left as written, so a missing argument shows
7
+ * where it is instead of printing "undefined". `{{` and `}}` print a literal brace.
8
+ */
9
+ export declare function formatMessage(text: string, args: readonly unknown[]): string;
10
+ //# sourceMappingURL=formatMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatMessage.d.ts","sourceRoot":"","sources":["../../../src/i18n/formatMessage.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAQ5E"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * 1681 Engine: the core's public API, for 2D games in any art style. Pixel-art tools are `1681-engine/pixel`.
3
+ * Anything not exported here or there is internal and may change in any release.
4
+ */
5
+ export { Engine, type EngineOptions, type EngineEvents } from './engine/Engine.js';
6
+ export { Scene, type FlushableInput, type SceneTimer } from './engine/Scene.js';
7
+ export { SceneManager } from './engine/SceneManager.js';
8
+ export { FixedLoop, type FixedLoopOptions } from './engine/FixedLoop.js';
9
+ export { HiddenPause, type Pausable } from './engine/HiddenPause.js';
10
+ export { World, defineComponent, defineFields, entityIndex, system, type Entity, type ComponentType, type System, type SystemContext, type SystemPhase, type ComponentValues, } from './ecs/World.js';
11
+ export type { FieldKind, FieldSpec, FieldsType, FieldValues, Columns, ArrayOf } from './ecs/fields.js';
12
+ export { EventBus } from './events/EventBus.js';
13
+ export { engineSettings, type EngineSettings, type SettingsListener } from './settings.js';
14
+ export { Stage } from './core/Stage.js';
15
+ export { Camera, type ViewRect, type TrackOptions } from './core/Camera.js';
16
+ export { worldZoom, baseZoom, zoomSteps, zoomResolution, fitScale, type PixelZoomOptions } from './core/pixelZoom.js';
17
+ export { Clock } from './core/Clock.js';
18
+ export { runDue, type DueCall } from './core/runDue.js';
19
+ export { Tweener, Tween, type TweenConfig, type TweenTarget, type Steppable } from './core/Tweener.js';
20
+ export { Timeline, type TimelineOptions } from './core/Timeline.js';
21
+ export { TimelineBuilder, type TimelineProps, type TimelineTweenOptions } from './core/TimelineBuilder.js';
22
+ export type { TimelinePosition } from './core/timelinePlace.js';
23
+ export { easeByName, type EaseFn } from './core/eases.js';
24
+ export { ObjectFactory } from './core/ObjectFactory.js';
25
+ export { Graphics, type Vec2 } from './core/Graphics.js';
26
+ export { Image } from './core/Image.js';
27
+ export { solidSilhouette, fillSolid, clearSilhouettes } from './core/silhouette.js';
28
+ export { Group } from './core/Group.js';
29
+ export { blendLayer, type BlendLayerOptions } from './core/blendLayer.js';
30
+ export { Rectangle } from './core/Rectangle.js';
31
+ export { Text, type TextStyle } from './core/Text.js';
32
+ export { BitmapLabel, installLabelFont, addLabelGlyphs } from './core/BitmapLabel.js';
33
+ export { Pointer } from './core/Pointer.js';
34
+ export { TextureRegistry, CanvasTexture, type PackedFrame } from './core/TextureRegistry.js';
35
+ export { AtlasBuilder } from './core/atlas.js';
36
+ export { planAtlas, atlasPageLimit, type AtlasSize, type AtlasPlan, type AtlasPage } from './core/atlasPlan.js';
37
+ export type { WorldObject } from './core/types.js';
38
+ export { AssetLoader, resolveUrl, type AssetLoaderOptions, type TilemapAssetOptions, type LoadProgress, type TextureSink, type AssetResponse, type AtlasInfo } from './assets/AssetLoader.js';
39
+ export { parseAtlas, collectAtlasPages, duplicateFrames, type AtlasFrame, type PackedAtlasPage } from './assets/textureAtlas.js';
40
+ export { Animator, type AnimationClip, type AnimationClips } from './anim/Animator.js';
41
+ export { parseAseprite, frameNamed, clipMarkers } from './anim/parseAseprite.js';
42
+ export { tagFrames, tagDirection, tagRepeat } from './anim/asepriteTags.js';
43
+ export { sliceNamed, sliceAt, sliceBorders } from './anim/asepriteSlices.js';
44
+ export type { AsepriteJson, AsepriteJsonFrame, AsepriteJsonTag, AsepriteJsonSlice, AsepriteJsonSliceKey, AsepriteJsonLayer, AsepriteRect, AsepriteSheet, AsepriteFrame, AsepriteTag, AsepriteDirection, AsepriteSlice, AsepriteSliceKey, AsepriteLayer, AsepriteCue, ClipMarker } from './anim/asepriteTypes.js';
45
+ export { loadAseprite, addAsepriteTextures, type AsepriteTextureSink, type AsepriteLoadOptions } from './assets/loadAseprite.js';
46
+ export { AnimStateMachine } from './anim/AnimStateMachine.js';
47
+ export type { AnimStateMachineOptions, AnimStateDef, AnimTransition, AnimCondition, AnimParams, AnimParamDecl, CompareOp } from './anim/animStateTypes.js';
48
+ export { AnimStateComponent, animStateSystem } from './anim/animStateSystem.js';
49
+ export { animationSystem, SpriteComponent, AnimationComponent } from './anim/animationSystem.js';
50
+ export { parseTiled, tileAt, tileRect, gidOf, layerByName, objectsOf, FLIP_H, FLIP_V, FLIP_D, type TileMap, type TileLayer, type ObjectLayer, type MapLayer, type MapObject, type Tileset, type Properties, type TiledPropertyValue, } from './tilemap/tiled.js';
51
+ export { collisionFromTiled, type TiledCollisionOptions } from './tilemap/collision.js';
52
+ export { TilemapView, type TilemapViewOptions } from './tilemap/TilemapView.js';
53
+ export { Skeleton } from './rig/Skeleton.js';
54
+ export { HUMANOID_RIG } from './rig/humanoid.js';
55
+ export { blendPose, overlay, upperOver } from './rig/poseMath.js';
56
+ export type { RigDef, RigPose, Limb, Face, Joints, Point as RigPoint } from './rig/rigTypes.js';
57
+ export { HUMANOID_POSES, HUMANOID_CLIPS, type HumanoidClip } from './rig/humanoidPoses.js';
58
+ export { PosePlayer, type PoseClip } from './rig/PosePlayer.js';
59
+ export { RigView, RIG_PARTS, type RigPart, type PartSkin, type RigSkin, type RigViewOptions } from './rig/RigView.js';
60
+ export { LightLayer, type Light, type LightLayerOptions } from './light/LightLayer.js';
61
+ export { hitStopMs, recoilPx, recoilAt, RECOIL_MS, hurtFlashMs, hurtFlashGapMs, HEAVY_FLASH_GAP_MS } from './fx/hitStop.js';
62
+ export { FloatingText, type FloatingTextStyle, type FloatingTextOptions, type FloatOptions } from './fx/FloatingText.js';
63
+ export { inView, type CameraLike } from './fx/viewCull.js';
64
+ export { Afterimages, type AfterimagesOptions } from './fx/Afterimages.js';
65
+ export { sound, SoundEngine, type SoundOptions } from './audio/SoundEngine.js';
66
+ export { music, MusicPlayer, type PlayOptions as MusicPlayOptions, type MusicOptions, type MusicRoute } from './audio/MusicPlayer.js';
67
+ export { MusicChannel } from './audio/music/MusicChannel.js';
68
+ export { elementVolumeLocked } from './audio/music/musicVoice.js';
69
+ export { registerSounds, type SoundTable } from './audio/soundTable.js';
70
+ export { registerTakes, hasTakes } from './audio/sampleBank.js';
71
+ export { Footsteps, type FootstepOptions, type SurfaceSounds } from './audio/Footsteps.js';
72
+ export { renderRecipe, SYNTH_RATE, type SynthRecipe, type SynthLayer } from './audio/synth.js';
73
+ export { Keyboard } from './input/Keyboard.js';
74
+ export { Actions, PAD_BUTTONS, type Bindings, type ActionsOptions, type PadState } from './input/Actions.js';
75
+ export { parseChord, chordHeld, type KeyChord } from './input/keyChord.js';
76
+ export { aimAxis } from './input/aimAxis.js';
77
+ export { stickVector, stickActive, stickToAxis, STICK_DEAD_ZONE, type StickVector } from './input/stickAxis.js';
78
+ export { LongPress } from './input/longPress.js';
79
+ export { AimGesture, aimPoint, spotReach, spotShare, dragSlop, AIM_TAP_SLOP, AIM_EARLY_SLOP, AIM_PRESS_MS, AIM_CENTRE, type AimGestureOptions, type AimShape, type AimEnd } from './input/AimGesture.js';
80
+ export { TargetLock, pickTarget, nearestTarget, keptTarget, LOCK_PICK_RANGE, LOCK_KEEP_RANGE, LOCK_PICK_CONE, type LockBody, type TargetLockOptions } from './input/TargetLock.js';
81
+ export { Keymap, mergeKeymap, keymapStorage, keyLabel } from './input/Keymap.js';
82
+ export { isTouchUi, setNativeShell, setTouchOverrideKey } from './platform/touch.js';
83
+ export { onAppResume, type ResumeEnv } from './platform/appResume.js';
84
+ export { timeoutSignal } from './platform/timeoutSignal.js';
85
+ export { rumble, rumblePad, stopRumble, rumbleParams, type RumbleOptions, type RumblePad } from './input/rumble.js';
86
+ export { enterFullscreen, exitFullscreen, toggleFullscreen, isFullscreen, fullscreenSupported, onFullscreenChange, type FullscreenDocument } from './platform/fullscreen.js';
87
+ export { lockOrientation, unlockOrientation, currentOrientationKind, type OrientationLock, type OrientationTarget } from './platform/orientation.js';
88
+ export { prefersReducedMotion, onReducedMotionChange, followReducedMotion, type MotionQuery } from './platform/reducedMotion.js';
89
+ export { requestPointerLock, exitPointerLock, isPointerLocked, onPointerLockChange, type PointerLockDocument } from './platform/pointerLock.js';
90
+ export { detectTouch, type TouchEnv } from './input/touchDetect.js';
91
+ export { DayClock, clockText, tintNight, mixRgb, type DayClockOptions, type DayKey, type DayPhase, type DayState } from './ambient/DayClock.js';
92
+ export { weatherAt, hash01, type WeatherTable, type WeatherEntry, type WeatherSky, type WeatherState } from './ambient/weather.js';
93
+ export { WeatherLayer, type WeatherLook, type WeatherMotion, type WeatherLayerOptions } from './ambient/WeatherLayer.js';
94
+ export { gradeAt, mixToWhite, type Grade, type GradeState } from './ambient/grade.js';
95
+ export { ColorGrade, type ColorGradeOptions, type GradePlacement } from './ambient/ColorGrade.js';
96
+ export { Parallax, type ParallaxOptions } from './parallax/Parallax.js';
97
+ export { ParallaxLayer, type ParallaxLayerOptions, type ParallaxCamera } from './parallax/ParallaxLayer.js';
98
+ export { parallaxOrigin, wrap, spanVisible, placeAxis, type AxisPlacement, type AxisInput } from './parallax/parallaxMath.js';
99
+ export { Emitter, type EmitterOptions, type SpawnArea } from './particles/Emitter.js';
100
+ export { ParticleSim } from './particles/ParticleSim.js';
101
+ export { ParticleBudget, particleBudget } from './particles/ParticleBudget.js';
102
+ export { sampleCurve, sampleColor, lerpColor, type Curve, type ColorCurve } from './particles/particleCurves.js';
103
+ export { sampleRange, spreadAngle, dueParticles, scaleCount, seededRandom, type Range } from './particles/particleSampling.js';
104
+ export { PhysicsWorld } from './physics/PhysicsWorld.js';
105
+ export type { PhysicsWorldOptions } from './physics/PhysicsWorldOptions.js';
106
+ export type { SolverSettings } from './physics/ContactSolver.js';
107
+ export { Body } from './physics/Body.js';
108
+ export { Contact, ContactPoint } from './physics/Contact.js';
109
+ export { polygonShape, polygonCentroid, regularPolygon, MAX_POLYGON_VERTICES } from './physics/polygon.js';
110
+ export { tileBodies, tileBodiesFromGrid, mergeTileRects, type TileBodiesOptions, type TileRect } from './physics/tileBodies.js';
111
+ export { physicsSystem } from './physics/physicsSystem.js';
112
+ export { syncToBody, type Positioned } from './physics/syncToBody.js';
113
+ export { drawColliders, colliderColor, COLLIDER_COLORS, type ColliderColors, type ColliderBoxDrawer, type ColliderLineDrawer } from './physics/drawColliders.js';
114
+ export { FACE_LEFT, FACE_RIGHT, FACE_TOP, FACE_BOTTOM, type Shape, type CircleShape, type BoxShape, type PolygonShape, type BodyType, type BodyOptions, type ContactInfo, type PhysicsEvents, type RayHit, type RaycastOptions, } from './physics/types.js';
115
+ export { MinHeap } from './nav/MinHeap.js';
116
+ export { navGrid, navGridFromCollision, isOpen, nearWallCost, canStep, NAV_STEPS, type NavGrid, type NavOptions, type TilePoint } from './nav/navGrid.js';
117
+ export { nearestOpen } from './nav/nearestOpen.js';
118
+ export { findPath, floodFill, reachedCount, octile, type NavGoal, type FindPathOptions } from './nav/findPath.js';
119
+ export { straightenPath, simplifyPath } from './nav/straightenPath.js';
120
+ export { SaveStore, type SaveStoreOptions, type SaveInfo, type LoadResult, type LoadFailure } from './save/SaveStore.js';
121
+ export type { SaveBackend } from './save/SaveBackend.js';
122
+ export { MemoryBackend } from './save/MemoryBackend.js';
123
+ export { WebStorageBackend } from './save/WebStorageBackend.js';
124
+ export { migrateSave, MigrationError, type Migrations } from './save/migrateSave.js';
125
+ export { checksum } from './save/checksum.js';
126
+ export { Autosaver, type AutosaverOptions, type AutosaveTimers } from './save/Autosaver.js';
127
+ export type { Transition, TransitionContext } from './transitions/Transition.js';
128
+ export { transitionTo, type TransitionMode } from './transitions/transitionTo.js';
129
+ export { tweenDone } from './transitions/tweenDone.js';
130
+ export { FadeTransition, type FadeOptions } from './transitions/FadeTransition.js';
131
+ export { CrossfadeTransition, type CrossfadeOptions } from './transitions/CrossfadeTransition.js';
132
+ export { DitherWipeTransition, type DitherWipeOptions } from './transitions/DitherWipeTransition.js';
133
+ export { BAYER4, DITHER_LEVELS, ditherCovered, wipeLevel } from './transitions/ditherMask.js';
134
+ export { Letterbox, type LetterboxOptions } from './transitions/Letterbox.js';
135
+ export { Translator, type TranslatorOptions, type Catalog, type PluralForms } from './i18n/Translator.js';
136
+ export { formatMessage, sourceText, CONTEXT_MARK } from './i18n/formatMessage.js';
137
+ export { extractStrings, type ExtractedString, type ExtractOptions } from './i18n/extractStrings.js';
138
+ export { watchContextLoss, noteContextLoss, rebuildDelayMs, type ContextLossPolicy, type ContextLossVerdict } from './diagnostics/contextLoss.js';
139
+ export { bootWatch, type BootWatch, type BootStall } from './diagnostics/bootWatch.js';
140
+ export { guardRender, describeError } from './diagnostics/renderGuard.js';
141
+ export { maxTextureSize, gpuName } from './diagnostics/gpuInfo.js';
142
+ export { summarizeFrames, percentile, countHitches, looksThrottled, type FrameSummary } from './diagnostics/frameStats.js';
143
+ export { FrameSampler, type FrameSamplerOptions } from './diagnostics/FrameSampler.js';
144
+ export { ErrorDeduper, trimStack } from './diagnostics/ErrorDeduper.js';
145
+ export { captureErrors, type CapturedError, type CaptureErrorsOptions } from './diagnostics/captureErrors.js';
146
+ export { DebugOverlay, type DebugOverlayOptions, type BoxDrawer, type LineDrawer } from './debug/DebugOverlay.js';
147
+ export { FrameStats } from './debug/FrameStats.js';
148
+ export { ErrorLog, type LoggedError } from './debug/ErrorLog.js';
149
+ export { inspectWorld, type EntityRow } from './debug/inspectWorld.js';
150
+ export { DrawCallCounter } from './debug/DrawCallCounter.js';
151
+ export { TILE_SIZE, INPUT_STEP_RATE, INPUT_STEP_DT, INPUT_FLAG_DASH, BODY_HALF_WIDTH, BODY_HALF_HEIGHT, type InputStep, type MovementParams, type EntityUpdate, } from './net/constants.js';
152
+ export { createCollisionGrid, createMover, stepMover, moveX, moveY, bodyCollides, isSolidTile, blocksShot, DIAGONAL, type CollisionGrid, type CollisionGridOptions, type MoverState, } from './net/movement.js';
153
+ export { encodeSnapshotFrame, decodeSnapshotFrame, encodeUpdates, decodeUpdates, quantizeUpdates, UPDATE_RECORD_BYTES, type SnapshotLike, } from './net/snapshotCodec.js';
154
+ export { CADENCE, cadenceEarly, cadenceNext } from './net/cadence.js';
155
+ export { serverNow, serverOffset, noteServerTime, resetServerClock } from './net/serverClock.js';
156
+ export { PredictedMover } from './net/PredictedMover.js';
157
+ export { InterpolationBuffer, type InterpolatedState } from './net/InterpolationBuffer.js';
158
+ export { Room, type RoomPlayer, type RoomOptions } from './net/Room.js';
159
+ export { RoomHost, type HostSocket, type RoomHostOptions } from './net/RoomHost.js';
160
+ export { Connection, CLOSE_NO_ANSWER, type ConnectionEvents, type ConnectionOptions } from './net/Connection.js';
161
+ export { reconnectDelay, shouldReconnect } from './net/reconnect.js';
162
+ export { LobbyHost, LobbyClient, LobbyRooms, Matchmaker, balanceTeams, type LobbyHostOptions, type LobbyMatch, type LobbyClientEvents, type LobbyLink, type PendingMatch, type LobbyRoom, type MatchMode, type Ticket, type FoundMatch, type LobbyClientMessage, type LobbyServerMessage, type LobbyErrorCode, type RoomSummary, type RoomState, type RoomMember, type MatchPlayer, } from './net/lobby/index.js';
163
+ export { moverToWire, moverFromWire, type ClientMessage, type ServerMessage, type Snapshot, type SpawnInfo, type MoverWire } from './net/protocol.js';
164
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import type { Keyboard } from './Keyboard.js';
2
+ import { type RumbleOptions, type RumblePad } from './rumble.js';
3
+ /**
4
+ * Named actions bound to any input: keys, gamepad buttons and sticks, and virtual buttons a touch UI presses. Game
5
+ * code asks for `'jump'`, never for `Space`, so players can rebind and every device works the same.
6
+ *
7
+ * ```ts
8
+ * const input = new Actions(keyboard, {
9
+ * left: ['KeyA', 'ArrowLeft', 'pad:left', 'pad:lx-'],
10
+ * right: ['KeyD', 'ArrowRight', 'pad:right', 'pad:lx+'],
11
+ * jump: ['Space', 'pad:a'],
12
+ * });
13
+ * // in a fixed system:
14
+ * input.poll();
15
+ * if (input.pressed('jump')) …
16
+ * const [x, y] = input.vector('left', 'right', 'up', 'down');
17
+ * input.endStep();
18
+ * ```
19
+ *
20
+ * Bindings: a `KeyboardEvent.code` (`KeyW`, `Space`, `ArrowUp`), a chord of modifiers and a code (`Shift+Tab`,
21
+ * `Ctrl+KeyS`: `Shift`, `Ctrl`, `Alt`, `Meta`, either side), `pad:<button>` (standard mapping names below),
22
+ * `pad:<axis>+` / `pad:<axis>-` for a stick half (`lx`, `ly`, `rx`, `ry`), or `touch:<name>` for a virtual button
23
+ * (`press`/`release`).
24
+ *
25
+ * A chord wins over its bare key: while `Shift+Tab` is held, an action bound to plain `Tab` is not, and it stays off
26
+ * until Tab itself comes up (letting Shift go first must not turn a Shift+Tab into a Tab). A bare key held with a
27
+ * modifier no chord names still counts (Shift held to run does not stop the jump key).
28
+ */
29
+ export type Bindings<A extends string> = Record<A, readonly string[]>;
30
+ /** Button names of the browser's standard gamepad mapping, in index order. */
31
+ export declare const PAD_BUTTONS: readonly ["a", "b", "x", "y", "lb", "rb", "lt", "rt", "select", "start", "ls", "rs", "up", "down", "left", "right", "home"];
32
+ /** What the actions read from a gamepad; `navigator.getGamepads()` entries satisfy it. */
33
+ export interface PadState extends RumblePad {
34
+ readonly buttons: readonly {
35
+ readonly pressed: boolean;
36
+ readonly value: number;
37
+ }[];
38
+ readonly axes: readonly number[];
39
+ }
40
+ export interface ActionsOptions {
41
+ /** Stick values under this count as 0 (default 0.25). */
42
+ deadZone?: number;
43
+ /** Where gamepads come from (default `navigator.getGamepads`); tests pass their own. */
44
+ gamepads?: () => readonly (PadState | null)[];
45
+ }
46
+ export declare class Actions<A extends string> {
47
+ private readonly keyboard;
48
+ private bindings;
49
+ private readonly virtual;
50
+ private readonly virtualDown;
51
+ /** Analog value of each action this step (0–1), and last step's, for edges. */
52
+ private now;
53
+ private before;
54
+ private readonly deadZone;
55
+ private readonly gamepads;
56
+ /** Parsed chords by binding string; null for a plain key. */
57
+ private readonly chords;
58
+ /** Keys a chord holds this step: their bare bindings read 0 until the key comes up. */
59
+ private readonly claimed;
60
+ private readonly keyDown;
61
+ constructor(keyboard: Keyboard | null, bindings: Bindings<A>, options?: ActionsOptions);
62
+ /** Replaces one action's bindings (a player's rebinding). */
63
+ bind(action: A, inputs: readonly string[]): void;
64
+ bindingsOf(action: A): readonly string[];
65
+ /** A touch UI's virtual button went down: `touch:<name>` bindings read it. */
66
+ press(name: string): void;
67
+ release(name: string): void;
68
+ /**
69
+ * Rumbles the gamepads the actions read: every connected one, or only `padIndex` among them. Resolves true when any
70
+ * played; a pad without rumble is skipped silently.
71
+ */
72
+ rumble(options: RumbleOptions, padIndex?: number): Promise<boolean>;
73
+ /** Reads every device once; call at the start of each simulation step. */
74
+ poll(): void;
75
+ /** Held this step. */
76
+ down(action: A): boolean;
77
+ /** How far it is held (0–1): 1 for a key, the trigger or stick amount for analog input. */
78
+ value(action: A): number;
79
+ /** Went down this step. */
80
+ pressed(action: A): boolean;
81
+ /** Came up this step. */
82
+ released(action: A): boolean;
83
+ /** `value(positive) - value(negative)`, in −1…1. */
84
+ axis(negative: A, positive: A): number;
85
+ /** A 2D direction from four actions, never longer than 1 (a diagonal is not faster). */
86
+ vector(left: A, right: A, up: A, down: A): [number, number];
87
+ /** Ends the step: the keyboard forgets its edges; virtual taps shorter than a step have now been seen. */
88
+ endStep(): void;
89
+ /**
90
+ * Drops every pending edge: what went down or up since the last step is forgotten, and what is held now counts as
91
+ * already held, so the next `poll` reports no `pressed` or `released` for it. For input that sat unread while
92
+ * something else had the keys (a pause menu over the level; `SceneManager.pop` calls it through `Scene.useInput`).
93
+ */
94
+ flush(): void;
95
+ private chordOf;
96
+ /** Marks the keys held chords use, and frees those whose key has come up. */
97
+ private claimChords;
98
+ private read;
99
+ }
100
+ //# sourceMappingURL=Actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Actions.d.ts","sourceRoot":"","sources":["../../../src/input/Actions.ts"],"names":[],"mappings":"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"}