1681-engine 0.5.8 → 0.5.10

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 (724) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +3 -0
  3. package/dist/1681-engine.js +526 -409
  4. package/dist/ambient/ColorGrade.js +0 -1
  5. package/dist/ambient/DayClock.js +0 -1
  6. package/dist/ambient/WeatherLayer.js +0 -1
  7. package/dist/ambient/grade.js +0 -1
  8. package/dist/ambient/life/Birds.js +73 -0
  9. package/dist/ambient/life/Butterflies.js +43 -0
  10. package/dist/ambient/life/ChimneySmoke.js +50 -0
  11. package/dist/ambient/life/Drift.js +75 -0
  12. package/dist/ambient/life/Fireflies.js +52 -0
  13. package/dist/ambient/life/lifeMotion.js +49 -0
  14. package/dist/ambient/weather.js +0 -1
  15. package/dist/anim/AnimStateMachine.js +0 -1
  16. package/dist/anim/Animator.js +0 -1
  17. package/dist/anim/animStateCompile.js +0 -1
  18. package/dist/anim/animStateSystem.js +0 -1
  19. package/dist/anim/animationSystem.js +0 -1
  20. package/dist/anim/asepriteSlices.js +0 -1
  21. package/dist/anim/asepriteTags.js +0 -1
  22. package/dist/anim/parseAseprite.js +0 -1
  23. package/dist/assets/AssetLoader.js +177 -34
  24. package/dist/assets/Prepainter.js +61 -0
  25. package/dist/assets/loadAseprite.js +0 -1
  26. package/dist/assets/takeCleanerWorker-DTcI_Jqr.js +0 -1
  27. package/dist/assets/textureAtlas.js +58 -0
  28. package/dist/assets/workerPainter.js +39 -0
  29. package/dist/audio/Footsteps.js +0 -1
  30. package/dist/audio/MusicPlayer.js +0 -1
  31. package/dist/audio/SoundEngine.js +13 -7
  32. package/dist/audio/cleanTake.js +0 -1
  33. package/dist/audio/music/ElementVoice.js +0 -1
  34. package/dist/audio/music/GraphVoice.js +0 -1
  35. package/dist/audio/music/MusicChannel.js +0 -1
  36. package/dist/audio/music/musicVoice.js +0 -1
  37. package/dist/audio/sampleBank.js +0 -1
  38. package/dist/audio/soundTable.js +0 -1
  39. package/dist/audio/synth.js +0 -1
  40. package/dist/cjs/electron/electronLike.d.ts +55 -0
  41. package/dist/cjs/electron/electronLike.js +7 -0
  42. package/dist/cjs/electron/index.d.ts +14 -0
  43. package/dist/cjs/electron/index.js +20 -0
  44. package/dist/cjs/electron/lockdown.d.ts +33 -0
  45. package/dist/cjs/electron/lockdown.js +69 -0
  46. package/dist/cjs/electron/lockdownRules.d.ts +28 -0
  47. package/dist/cjs/electron/lockdownRules.js +61 -0
  48. package/dist/cjs/electron/sessionStore.d.ts +40 -0
  49. package/dist/cjs/electron/sessionStore.js +77 -0
  50. package/dist/cjs/electron/shellId.d.ts +22 -0
  51. package/dist/cjs/electron/shellId.js +31 -0
  52. package/dist/cjs/electron/webFiles.d.ts +13 -0
  53. package/dist/cjs/electron/webFiles.js +52 -0
  54. package/dist/cjs/electron/webPatcher.d.ts +80 -0
  55. package/dist/cjs/electron/webPatcher.js +216 -0
  56. package/dist/cjs/electron/webPointers.d.ts +19 -0
  57. package/dist/cjs/electron/webPointers.js +35 -0
  58. package/dist/cjs/package.json +1 -0
  59. package/dist/cjs/updates/index.d.ts +8 -0
  60. package/dist/cjs/updates/index.js +21 -0
  61. package/dist/cjs/updates/manifest.d.ts +73 -0
  62. package/dist/cjs/updates/manifest.js +67 -0
  63. package/dist/cjs/updates/pickUpdate.d.ts +42 -0
  64. package/dist/cjs/updates/pickUpdate.js +52 -0
  65. package/dist/cjs/updates/webPlan.d.ts +20 -0
  66. package/dist/cjs/updates/webPlan.js +34 -0
  67. package/dist/core/BitmapLabel.js +0 -1
  68. package/dist/core/Camera.js +1 -2
  69. package/dist/core/Clock.js +31 -21
  70. package/dist/core/Graphics.js +0 -1
  71. package/dist/core/Group.js +0 -1
  72. package/dist/core/Image.js +0 -1
  73. package/dist/core/ObjectFactory.js +0 -1
  74. package/dist/core/Pointer.js +46 -24
  75. package/dist/core/Rectangle.js +0 -1
  76. package/dist/core/Stage.js +5 -6
  77. package/dist/core/Text.js +0 -1
  78. package/dist/core/TextureRegistry.js +54 -24
  79. package/dist/core/Timeline.js +0 -1
  80. package/dist/core/TimelineBuilder.js +0 -1
  81. package/dist/core/TimelineChild.js +0 -1
  82. package/dist/core/Tweener.js +0 -1
  83. package/dist/core/atlas.js +0 -1
  84. package/dist/core/atlasPlan.js +0 -1
  85. package/dist/core/blendLayer.js +11 -0
  86. package/dist/core/eases.js +0 -1
  87. package/dist/core/gameObject.js +22 -20
  88. package/dist/core/pixelZoom.js +43 -0
  89. package/dist/core/pixiPatches.js +0 -1
  90. package/dist/core/runDue.js +28 -0
  91. package/dist/core/silhouette.js +49 -0
  92. package/dist/core/timelinePlace.js +0 -1
  93. package/dist/core/tweenProps.js +0 -1
  94. package/dist/debug/DebugOverlay.js +0 -1
  95. package/dist/debug/DrawCallCounter.js +15 -12
  96. package/dist/debug/ErrorLog.js +0 -1
  97. package/dist/debug/FrameStats.js +0 -1
  98. package/dist/debug/inspectWorld.js +0 -1
  99. package/dist/diagnostics/ErrorDeduper.js +0 -1
  100. package/dist/diagnostics/FrameSampler.js +0 -1
  101. package/dist/diagnostics/bootWatch.js +0 -1
  102. package/dist/diagnostics/captureErrors.js +0 -1
  103. package/dist/diagnostics/contextLoss.js +0 -1
  104. package/dist/diagnostics/frameStats.js +0 -1
  105. package/dist/diagnostics/gpuInfo.js +0 -1
  106. package/dist/diagnostics/renderGuard.js +0 -1
  107. package/dist/ecs/SparseSet.js +0 -1
  108. package/dist/ecs/World.js +0 -1
  109. package/dist/ecs/fields.js +0 -1
  110. package/dist/electron/lockdown.js +31 -0
  111. package/dist/electron/lockdownRules.js +42 -0
  112. package/dist/electron/sessionStore.js +48 -0
  113. package/dist/electron/shellId.js +18 -0
  114. package/dist/electron/webFiles.js +36 -0
  115. package/dist/electron/webPatcher.js +147 -0
  116. package/dist/electron/webPointers.js +25 -0
  117. package/dist/electron.js +19 -0
  118. package/dist/engine/Engine.js +42 -18
  119. package/dist/engine/FixedLoop.js +0 -1
  120. package/dist/engine/HiddenPause.js +27 -0
  121. package/dist/engine/Scene.js +0 -1
  122. package/dist/engine/SceneManager.js +0 -1
  123. package/dist/events/EventBus.js +0 -1
  124. package/dist/fx/Afterimages.js +82 -0
  125. package/dist/fx/FloatingText.js +0 -1
  126. package/dist/fx/hitStop.js +0 -1
  127. package/dist/fx/viewCull.js +0 -1
  128. package/dist/i18n/Translator.js +0 -1
  129. package/dist/i18n/extractStrings.js +0 -1
  130. package/dist/i18n/formatMessage.js +0 -1
  131. package/dist/input/Actions.js +29 -21
  132. package/dist/input/AimGesture.js +0 -1
  133. package/dist/input/Keyboard.js +0 -1
  134. package/dist/input/Keymap.js +0 -1
  135. package/dist/input/TargetLock.js +0 -1
  136. package/dist/input/aimAxis.js +0 -1
  137. package/dist/input/haptics.js +50 -0
  138. package/dist/input/keyChord.js +0 -1
  139. package/dist/input/longPress.js +0 -1
  140. package/dist/input/rumble.js +42 -0
  141. package/dist/input/stickAxis.js +0 -1
  142. package/dist/input/touchDetect.js +0 -1
  143. package/dist/light/LightLayer.js +0 -1
  144. package/dist/nav/MinHeap.js +0 -1
  145. package/dist/nav/findPath.js +0 -1
  146. package/dist/nav/navGrid.js +0 -1
  147. package/dist/nav/nearestOpen.js +0 -1
  148. package/dist/nav/straightenPath.js +0 -1
  149. package/dist/net/ApiClient.js +96 -0
  150. package/dist/net/Connection.js +39 -16
  151. package/dist/net/InterpolationBuffer.js +0 -1
  152. package/dist/net/PredictedMover.js +0 -1
  153. package/dist/net/Room.js +0 -1
  154. package/dist/net/RoomHost.js +0 -1
  155. package/dist/net/cadence.js +0 -1
  156. package/dist/net/constants.js +0 -1
  157. package/dist/net/lobby/LobbyClient.js +0 -1
  158. package/dist/net/lobby/LobbyHost.js +0 -1
  159. package/dist/net/lobby/LobbyRooms.js +0 -1
  160. package/dist/net/lobby/Matchmaker.js +0 -1
  161. package/dist/net/movement.js +40 -39
  162. package/dist/net/protocol.js +0 -1
  163. package/dist/net/reconnect.js +10 -0
  164. package/dist/net/serverClock.js +0 -1
  165. package/dist/net/snapshotCodec.js +0 -1
  166. package/dist/parallax/Parallax.js +0 -1
  167. package/dist/parallax/ParallaxLayer.js +0 -1
  168. package/dist/parallax/parallaxMath.js +0 -1
  169. package/dist/particles/Emitter.js +0 -1
  170. package/dist/particles/ParticleBudget.js +0 -1
  171. package/dist/particles/ParticleSim.js +0 -1
  172. package/dist/particles/particleCurves.js +0 -1
  173. package/dist/particles/particleSampling.js +0 -1
  174. package/dist/physics/Body.js +0 -1
  175. package/dist/physics/BroadPhase.js +0 -1
  176. package/dist/physics/Contact.js +0 -1
  177. package/dist/physics/ContactSolver.js +0 -1
  178. package/dist/physics/PhysicsWorld.js +0 -1
  179. package/dist/physics/SpatialHash.js +0 -1
  180. package/dist/physics/collide.js +0 -1
  181. package/dist/physics/collidePolygon.js +0 -1
  182. package/dist/physics/contactReport.js +0 -1
  183. package/dist/physics/drawColliders.js +0 -1
  184. package/dist/physics/physicsSystem.js +0 -1
  185. package/dist/physics/polygon.js +0 -1
  186. package/dist/physics/raycast.js +0 -1
  187. package/dist/physics/syncToBody.js +0 -1
  188. package/dist/physics/tileBodies.js +0 -1
  189. package/dist/physics/types.js +0 -1
  190. package/dist/pixel/Darkness.js +50 -47
  191. package/dist/pixel/DitherVignette.js +0 -1
  192. package/dist/pixel/Evaporation.js +0 -1
  193. package/dist/pixel/NightShade.js +0 -1
  194. package/dist/pixel/PixelLayer.js +0 -1
  195. package/dist/pixel/PixelMarks.js +99 -0
  196. package/dist/pixel/SwayProp.js +0 -1
  197. package/dist/pixel/aimPixels.js +67 -0
  198. package/dist/pixel/lifeArt.js +83 -0
  199. package/dist/pixel/lights.js +0 -1
  200. package/dist/pixel/nineSlice.js +0 -1
  201. package/dist/pixel/paintLayer.js +0 -1
  202. package/dist/pixel/palette.js +0 -1
  203. package/dist/pixel/pixel.js +0 -1
  204. package/dist/pixel/pixelPaint.js +27 -24
  205. package/dist/pixel/pixelParticles.js +35 -0
  206. package/dist/pixel/pixelTone.js +0 -1
  207. package/dist/pixel/propKit.js +0 -1
  208. package/dist/pixel/ramp.js +0 -1
  209. package/dist/pixel/selout.js +0 -1
  210. package/dist/pixel/spritePixels.js +0 -1
  211. package/dist/pixel/swayRig.js +0 -1
  212. package/dist/pixel/vignetteMask.js +0 -1
  213. package/dist/pixel/weatherArt.js +0 -1
  214. package/dist/pixel.js +82 -71
  215. package/dist/platform/appResume.js +18 -0
  216. package/dist/platform/fullscreen.js +52 -0
  217. package/dist/platform/orientation.js +26 -0
  218. package/dist/platform/pointerLock.js +37 -0
  219. package/dist/platform/reducedMotion.js +23 -0
  220. package/dist/platform/timeoutSignal.js +14 -0
  221. package/dist/platform/touch.js +0 -1
  222. package/dist/postfx/BloomFilter.js +0 -1
  223. package/dist/postfx/ChromaticAberrationFilter.js +0 -1
  224. package/dist/postfx/ColorAdjustFilter.js +0 -1
  225. package/dist/postfx/CrtFilter.js +0 -1
  226. package/dist/postfx/PixelateFilter.js +0 -1
  227. package/dist/postfx/PostFx.js +0 -1
  228. package/dist/postfx/ShockwaveFilter.js +0 -1
  229. package/dist/postfx/VignetteFilter.js +0 -1
  230. package/dist/postfx/fxAnimator.js +0 -1
  231. package/dist/postfx/fxShader.js +0 -1
  232. package/dist/postfx.js +0 -1
  233. package/dist/react/ChoiceDialog.js +0 -1
  234. package/dist/react/ConfirmButton.js +24 -0
  235. package/dist/react/ConfirmDialog.js +0 -1
  236. package/dist/react/Glyph.js +0 -1
  237. package/dist/react/Modal.js +0 -1
  238. package/dist/react/Panel.js +0 -1
  239. package/dist/react/PixelImage.js +0 -1
  240. package/dist/react/Select.js +0 -1
  241. package/dist/react/Slider.js +0 -1
  242. package/dist/react/SplitPane.js +0 -1
  243. package/dist/react/TabStrip.js +0 -1
  244. package/dist/react/TitleTips.js +0 -1
  245. package/dist/react/Tooltip.js +0 -1
  246. package/dist/react/UiProvider.js +0 -1
  247. package/dist/react/baseCss.js +1 -1
  248. package/dist/react/choiceStore.js +0 -1
  249. package/dist/react/classNames.js +0 -1
  250. package/dist/react/confirmStore.js +0 -1
  251. package/dist/react/labels.js +7 -7
  252. package/dist/react/placement.js +0 -1
  253. package/dist/react/useFillSheet.js +0 -1
  254. package/dist/react/useFitToViewport.js +0 -1
  255. package/dist/react/useJsonSelector.js +13 -0
  256. package/dist/react/usePicked.js +0 -1
  257. package/dist/react/useStore.js +0 -1
  258. package/dist/react/useViewport.js +0 -1
  259. package/dist/react.js +73 -69
  260. package/dist/rig/PosePlayer.js +0 -1
  261. package/dist/rig/RigView.js +0 -1
  262. package/dist/rig/Skeleton.js +0 -1
  263. package/dist/rig/humanoid.js +0 -1
  264. package/dist/rig/humanoid.json.js +0 -1
  265. package/dist/rig/humanoidPoses.js +0 -1
  266. package/dist/rig/poseMath.js +0 -1
  267. package/dist/rig/poses.json.js +0 -1
  268. package/dist/save/Autosaver.js +0 -1
  269. package/dist/save/MemoryBackend.js +0 -1
  270. package/dist/save/SaveStore.js +0 -1
  271. package/dist/save/WebStorageBackend.js +0 -1
  272. package/dist/save/checksum.js +0 -1
  273. package/dist/save/migrateSave.js +0 -1
  274. package/dist/settings.js +0 -1
  275. package/dist/tilemap/TilemapView.js +57 -33
  276. package/dist/tilemap/autotile.js +103 -0
  277. package/dist/tilemap/collision.js +29 -19
  278. package/dist/tilemap/ldtk.js +21 -0
  279. package/dist/tilemap/ldtkParse.js +191 -0
  280. package/dist/tilemap/tiled.js +0 -1
  281. package/dist/transitions/CrossfadeTransition.js +0 -1
  282. package/dist/transitions/DitherWipeTransition.js +0 -1
  283. package/dist/transitions/FadeTransition.js +0 -1
  284. package/dist/transitions/Letterbox.js +0 -1
  285. package/dist/transitions/ditherMask.js +0 -1
  286. package/dist/transitions/transitionTo.js +0 -1
  287. package/dist/transitions/tweenDone.js +0 -1
  288. package/dist/types/ambient/life/Birds.d.ts +50 -0
  289. package/dist/types/ambient/life/Birds.d.ts.map +1 -0
  290. package/dist/types/ambient/life/Butterflies.d.ts +32 -0
  291. package/dist/types/ambient/life/Butterflies.d.ts.map +1 -0
  292. package/dist/types/ambient/life/ChimneySmoke.d.ts +37 -0
  293. package/dist/types/ambient/life/ChimneySmoke.d.ts.map +1 -0
  294. package/dist/types/ambient/life/Drift.d.ts +58 -0
  295. package/dist/types/ambient/life/Drift.d.ts.map +1 -0
  296. package/dist/types/ambient/life/Fireflies.d.ts +43 -0
  297. package/dist/types/ambient/life/Fireflies.d.ts.map +1 -0
  298. package/dist/types/ambient/life/lifeMotion.d.ts +63 -0
  299. package/dist/types/ambient/life/lifeMotion.d.ts.map +1 -0
  300. package/dist/types/assets/AssetLoader.d.ts +83 -8
  301. package/dist/types/assets/AssetLoader.d.ts.map +1 -1
  302. package/dist/types/assets/Prepainter.d.ts +64 -0
  303. package/dist/types/assets/Prepainter.d.ts.map +1 -0
  304. package/dist/types/assets/textureAtlas.d.ts +35 -0
  305. package/dist/types/assets/textureAtlas.d.ts.map +1 -0
  306. package/dist/types/assets/workerPainter.d.ts +21 -0
  307. package/dist/types/assets/workerPainter.d.ts.map +1 -0
  308. package/dist/types/audio/SoundEngine.d.ts +5 -0
  309. package/dist/types/audio/SoundEngine.d.ts.map +1 -1
  310. package/dist/types/core/Camera.d.ts +1 -1
  311. package/dist/types/core/Camera.d.ts.map +1 -1
  312. package/dist/types/core/Clock.d.ts +14 -2
  313. package/dist/types/core/Clock.d.ts.map +1 -1
  314. package/dist/types/core/Pointer.d.ts +18 -0
  315. package/dist/types/core/Pointer.d.ts.map +1 -1
  316. package/dist/types/core/Stage.d.ts.map +1 -1
  317. package/dist/types/core/TextureRegistry.d.ts +39 -0
  318. package/dist/types/core/TextureRegistry.d.ts.map +1 -1
  319. package/dist/types/core/blendLayer.d.ts +23 -0
  320. package/dist/types/core/blendLayer.d.ts.map +1 -0
  321. package/dist/types/core/gameObject.d.ts.map +1 -1
  322. package/dist/types/core/pixelZoom.d.ts +45 -0
  323. package/dist/types/core/pixelZoom.d.ts.map +1 -0
  324. package/dist/types/core/runDue.d.ts +15 -0
  325. package/dist/types/core/runDue.d.ts.map +1 -0
  326. package/dist/types/core/silhouette.d.ts +16 -0
  327. package/dist/types/core/silhouette.d.ts.map +1 -0
  328. package/dist/types/debug/DrawCallCounter.d.ts.map +1 -1
  329. package/dist/types/electron/electronLike.d.ts +56 -0
  330. package/dist/types/electron/electronLike.d.ts.map +1 -0
  331. package/dist/types/electron/index.d.ts +15 -0
  332. package/dist/types/electron/index.d.ts.map +1 -0
  333. package/dist/types/electron/lockdown.d.ts +34 -0
  334. package/dist/types/electron/lockdown.d.ts.map +1 -0
  335. package/dist/types/electron/lockdownRules.d.ts +29 -0
  336. package/dist/types/electron/lockdownRules.d.ts.map +1 -0
  337. package/dist/types/electron/sessionStore.d.ts +41 -0
  338. package/dist/types/electron/sessionStore.d.ts.map +1 -0
  339. package/dist/types/electron/shellId.d.ts +23 -0
  340. package/dist/types/electron/shellId.d.ts.map +1 -0
  341. package/dist/types/electron/webFiles.d.ts +14 -0
  342. package/dist/types/electron/webFiles.d.ts.map +1 -0
  343. package/dist/types/electron/webPatcher.d.ts +81 -0
  344. package/dist/types/electron/webPatcher.d.ts.map +1 -0
  345. package/dist/types/electron/webPointers.d.ts +20 -0
  346. package/dist/types/electron/webPointers.d.ts.map +1 -0
  347. package/dist/types/engine/Engine.d.ts +16 -0
  348. package/dist/types/engine/Engine.d.ts.map +1 -1
  349. package/dist/types/engine/HiddenPause.d.ts +22 -0
  350. package/dist/types/engine/HiddenPause.d.ts.map +1 -0
  351. package/dist/types/fx/Afterimages.d.ts +62 -0
  352. package/dist/types/fx/Afterimages.d.ts.map +1 -0
  353. package/dist/types/index.d.ts +32 -4
  354. package/dist/types/index.d.ts.map +1 -1
  355. package/dist/types/input/Actions.d.ts +7 -1
  356. package/dist/types/input/Actions.d.ts.map +1 -1
  357. package/dist/types/input/haptics.d.ts +42 -0
  358. package/dist/types/input/haptics.d.ts.map +1 -0
  359. package/dist/types/input/rumble.d.ts +41 -0
  360. package/dist/types/input/rumble.d.ts.map +1 -0
  361. package/dist/types/net/ApiClient.d.ts +74 -0
  362. package/dist/types/net/ApiClient.d.ts.map +1 -0
  363. package/dist/types/net/Connection.d.ts +22 -0
  364. package/dist/types/net/Connection.d.ts.map +1 -1
  365. package/dist/types/net/constants.d.ts +13 -4
  366. package/dist/types/net/constants.d.ts.map +1 -1
  367. package/dist/types/net/movement.d.ts.map +1 -1
  368. package/dist/types/net/reconnect.d.ts +14 -0
  369. package/dist/types/net/reconnect.d.ts.map +1 -0
  370. package/dist/types/pixel/Darkness.d.ts +17 -5
  371. package/dist/types/pixel/Darkness.d.ts.map +1 -1
  372. package/dist/types/pixel/PixelMarks.d.ts +68 -0
  373. package/dist/types/pixel/PixelMarks.d.ts.map +1 -0
  374. package/dist/types/pixel/aimPixels.d.ts +23 -0
  375. package/dist/types/pixel/aimPixels.d.ts.map +1 -0
  376. package/dist/types/pixel/index.d.ts +4 -1
  377. package/dist/types/pixel/index.d.ts.map +1 -1
  378. package/dist/types/pixel/lifeArt.d.ts +63 -0
  379. package/dist/types/pixel/lifeArt.d.ts.map +1 -0
  380. package/dist/types/pixel/pixelPaint.d.ts +1 -0
  381. package/dist/types/pixel/pixelPaint.d.ts.map +1 -1
  382. package/dist/types/pixel/pixelParticles.d.ts +21 -0
  383. package/dist/types/pixel/pixelParticles.d.ts.map +1 -0
  384. package/dist/types/platform/appResume.d.ts +25 -0
  385. package/dist/types/platform/appResume.d.ts.map +1 -0
  386. package/dist/types/platform/fullscreen.d.ts +37 -0
  387. package/dist/types/platform/fullscreen.d.ts.map +1 -0
  388. package/dist/types/platform/orientation.d.ts +19 -0
  389. package/dist/types/platform/orientation.d.ts.map +1 -0
  390. package/dist/types/platform/pointerLock.d.ts +26 -0
  391. package/dist/types/platform/pointerLock.d.ts.map +1 -0
  392. package/dist/types/platform/reducedMotion.d.ts +20 -0
  393. package/dist/types/platform/reducedMotion.d.ts.map +1 -0
  394. package/dist/types/platform/timeoutSignal.d.ts +6 -0
  395. package/dist/types/platform/timeoutSignal.d.ts.map +1 -0
  396. package/dist/types/react/ConfirmButton.d.ts +26 -0
  397. package/dist/types/react/ConfirmButton.d.ts.map +1 -0
  398. package/dist/types/react/baseCss.d.ts +1 -1
  399. package/dist/types/react/baseCss.d.ts.map +1 -1
  400. package/dist/types/react/index.d.ts +2 -0
  401. package/dist/types/react/index.d.ts.map +1 -1
  402. package/dist/types/react/labels.d.ts +2 -0
  403. package/dist/types/react/labels.d.ts.map +1 -1
  404. package/dist/types/react/useJsonSelector.d.ts +13 -0
  405. package/dist/types/react/useJsonSelector.d.ts.map +1 -0
  406. package/dist/types/tilemap/TilemapView.d.ts +17 -0
  407. package/dist/types/tilemap/TilemapView.d.ts.map +1 -1
  408. package/dist/types/tilemap/autotile.d.ts +95 -0
  409. package/dist/types/tilemap/autotile.d.ts.map +1 -0
  410. package/dist/types/tilemap/collision.d.ts +8 -0
  411. package/dist/types/tilemap/collision.d.ts.map +1 -1
  412. package/dist/types/tilemap/ldtk.d.ts +97 -0
  413. package/dist/types/tilemap/ldtk.d.ts.map +1 -0
  414. package/dist/types/tilemap/ldtkParse.d.ts +26 -0
  415. package/dist/types/tilemap/ldtkParse.d.ts.map +1 -0
  416. package/dist/types/ui/index.d.ts +4 -0
  417. package/dist/types/ui/index.d.ts.map +1 -1
  418. package/dist/types/ui/rich/RichText.d.ts +48 -0
  419. package/dist/types/ui/rich/RichText.d.ts.map +1 -0
  420. package/dist/types/ui/rich/richFonts.d.ts +70 -0
  421. package/dist/types/ui/rich/richFonts.d.ts.map +1 -0
  422. package/dist/types/ui/rich/richLayout.d.ts +76 -0
  423. package/dist/types/ui/rich/richLayout.d.ts.map +1 -0
  424. package/dist/types/ui/rich/richMarkup.d.ts +48 -0
  425. package/dist/types/ui/rich/richMarkup.d.ts.map +1 -0
  426. package/dist/types/updates/index.d.ts +9 -0
  427. package/dist/types/updates/index.d.ts.map +1 -0
  428. package/dist/types/updates/manifest.d.ts +74 -0
  429. package/dist/types/updates/manifest.d.ts.map +1 -0
  430. package/dist/types/updates/pickUpdate.d.ts +43 -0
  431. package/dist/types/updates/pickUpdate.d.ts.map +1 -0
  432. package/dist/types/updates/webPlan.d.ts +21 -0
  433. package/dist/types/updates/webPlan.d.ts.map +1 -0
  434. package/dist/ui/Bar.js +0 -1
  435. package/dist/ui/Button.js +0 -1
  436. package/dist/ui/Dialog.js +0 -1
  437. package/dist/ui/FocusManager.js +0 -1
  438. package/dist/ui/Label.js +0 -1
  439. package/dist/ui/List.js +0 -1
  440. package/dist/ui/Panel.js +0 -1
  441. package/dist/ui/ScrollView.js +0 -1
  442. package/dist/ui/Slider.js +0 -1
  443. package/dist/ui/Stack.js +0 -1
  444. package/dist/ui/Toggle.js +0 -1
  445. package/dist/ui/UiHost.js +0 -1
  446. package/dist/ui/UiPointerGate.js +0 -1
  447. package/dist/ui/UiRoot.js +0 -1
  448. package/dist/ui/Widget.js +0 -1
  449. package/dist/ui/dom/DomOverlay.js +0 -1
  450. package/dist/ui/dom/DomWorldAnchors.js +0 -1
  451. package/dist/ui/dom/InputShield.js +0 -1
  452. package/dist/ui/dom/createStore.js +0 -1
  453. package/dist/ui/dom/shieldDecision.js +0 -1
  454. package/dist/ui/dom/worldToScreen.js +0 -1
  455. package/dist/ui/layout/anchor.js +0 -1
  456. package/dist/ui/layout/barDrain.js +0 -1
  457. package/dist/ui/layout/fitToViewport.js +0 -1
  458. package/dist/ui/layout/focusNav.js +0 -1
  459. package/dist/ui/layout/geometry.js +0 -1
  460. package/dist/ui/layout/listWidth.js +0 -1
  461. package/dist/ui/layout/placeTooltip.js +0 -1
  462. package/dist/ui/layout/scroll.js +0 -1
  463. package/dist/ui/layout/slider.js +0 -1
  464. package/dist/ui/layout/stack.js +0 -1
  465. package/dist/ui/layout/wrapRow.js +0 -1
  466. package/dist/ui/rich/RichText.js +87 -0
  467. package/dist/ui/rich/richFonts.js +105 -0
  468. package/dist/ui/rich/richLayout.js +132 -0
  469. package/dist/ui/rich/richMarkup.js +67 -0
  470. package/dist/ui.js +75 -65
  471. package/dist/updates/manifest.js +35 -0
  472. package/dist/updates/pickUpdate.js +27 -0
  473. package/dist/updates/webPlan.js +14 -0
  474. package/dist/updates.js +15 -0
  475. package/package.json +31 -6
  476. package/dist/1681-engine.js.map +0 -1
  477. package/dist/ambient/ColorGrade.js.map +0 -1
  478. package/dist/ambient/DayClock.js.map +0 -1
  479. package/dist/ambient/WeatherLayer.js.map +0 -1
  480. package/dist/ambient/grade.js.map +0 -1
  481. package/dist/ambient/weather.js.map +0 -1
  482. package/dist/anim/AnimStateMachine.js.map +0 -1
  483. package/dist/anim/Animator.js.map +0 -1
  484. package/dist/anim/animStateCompile.js.map +0 -1
  485. package/dist/anim/animStateSystem.js.map +0 -1
  486. package/dist/anim/animationSystem.js.map +0 -1
  487. package/dist/anim/asepriteSlices.js.map +0 -1
  488. package/dist/anim/asepriteTags.js.map +0 -1
  489. package/dist/anim/parseAseprite.js.map +0 -1
  490. package/dist/assets/AssetLoader.js.map +0 -1
  491. package/dist/assets/loadAseprite.js.map +0 -1
  492. package/dist/assets/takeCleanerWorker-DTcI_Jqr.js.map +0 -1
  493. package/dist/audio/Footsteps.js.map +0 -1
  494. package/dist/audio/MusicPlayer.js.map +0 -1
  495. package/dist/audio/SoundEngine.js.map +0 -1
  496. package/dist/audio/cleanTake.js.map +0 -1
  497. package/dist/audio/music/ElementVoice.js.map +0 -1
  498. package/dist/audio/music/GraphVoice.js.map +0 -1
  499. package/dist/audio/music/MusicChannel.js.map +0 -1
  500. package/dist/audio/music/musicVoice.js.map +0 -1
  501. package/dist/audio/sampleBank.js.map +0 -1
  502. package/dist/audio/soundTable.js.map +0 -1
  503. package/dist/audio/synth.js.map +0 -1
  504. package/dist/core/BitmapLabel.js.map +0 -1
  505. package/dist/core/Camera.js.map +0 -1
  506. package/dist/core/Clock.js.map +0 -1
  507. package/dist/core/Graphics.js.map +0 -1
  508. package/dist/core/Group.js.map +0 -1
  509. package/dist/core/Image.js.map +0 -1
  510. package/dist/core/ObjectFactory.js.map +0 -1
  511. package/dist/core/Pointer.js.map +0 -1
  512. package/dist/core/Rectangle.js.map +0 -1
  513. package/dist/core/Stage.js.map +0 -1
  514. package/dist/core/Text.js.map +0 -1
  515. package/dist/core/TextureRegistry.js.map +0 -1
  516. package/dist/core/Timeline.js.map +0 -1
  517. package/dist/core/TimelineBuilder.js.map +0 -1
  518. package/dist/core/TimelineChild.js.map +0 -1
  519. package/dist/core/Tweener.js.map +0 -1
  520. package/dist/core/atlas.js.map +0 -1
  521. package/dist/core/atlasPlan.js.map +0 -1
  522. package/dist/core/eases.js.map +0 -1
  523. package/dist/core/gameObject.js.map +0 -1
  524. package/dist/core/pixiPatches.js.map +0 -1
  525. package/dist/core/timelinePlace.js.map +0 -1
  526. package/dist/core/tweenProps.js.map +0 -1
  527. package/dist/debug/DebugOverlay.js.map +0 -1
  528. package/dist/debug/DrawCallCounter.js.map +0 -1
  529. package/dist/debug/ErrorLog.js.map +0 -1
  530. package/dist/debug/FrameStats.js.map +0 -1
  531. package/dist/debug/inspectWorld.js.map +0 -1
  532. package/dist/diagnostics/ErrorDeduper.js.map +0 -1
  533. package/dist/diagnostics/FrameSampler.js.map +0 -1
  534. package/dist/diagnostics/bootWatch.js.map +0 -1
  535. package/dist/diagnostics/captureErrors.js.map +0 -1
  536. package/dist/diagnostics/contextLoss.js.map +0 -1
  537. package/dist/diagnostics/frameStats.js.map +0 -1
  538. package/dist/diagnostics/gpuInfo.js.map +0 -1
  539. package/dist/diagnostics/renderGuard.js.map +0 -1
  540. package/dist/ecs/SparseSet.js.map +0 -1
  541. package/dist/ecs/World.js.map +0 -1
  542. package/dist/ecs/fields.js.map +0 -1
  543. package/dist/engine/Engine.js.map +0 -1
  544. package/dist/engine/FixedLoop.js.map +0 -1
  545. package/dist/engine/Scene.js.map +0 -1
  546. package/dist/engine/SceneManager.js.map +0 -1
  547. package/dist/events/EventBus.js.map +0 -1
  548. package/dist/fx/FloatingText.js.map +0 -1
  549. package/dist/fx/hitStop.js.map +0 -1
  550. package/dist/fx/viewCull.js.map +0 -1
  551. package/dist/i18n/Translator.js.map +0 -1
  552. package/dist/i18n/extractStrings.js.map +0 -1
  553. package/dist/i18n/formatMessage.js.map +0 -1
  554. package/dist/input/Actions.js.map +0 -1
  555. package/dist/input/AimGesture.js.map +0 -1
  556. package/dist/input/Keyboard.js.map +0 -1
  557. package/dist/input/Keymap.js.map +0 -1
  558. package/dist/input/TargetLock.js.map +0 -1
  559. package/dist/input/aimAxis.js.map +0 -1
  560. package/dist/input/keyChord.js.map +0 -1
  561. package/dist/input/longPress.js.map +0 -1
  562. package/dist/input/stickAxis.js.map +0 -1
  563. package/dist/input/touchDetect.js.map +0 -1
  564. package/dist/light/LightLayer.js.map +0 -1
  565. package/dist/nav/MinHeap.js.map +0 -1
  566. package/dist/nav/findPath.js.map +0 -1
  567. package/dist/nav/navGrid.js.map +0 -1
  568. package/dist/nav/nearestOpen.js.map +0 -1
  569. package/dist/nav/straightenPath.js.map +0 -1
  570. package/dist/net/Connection.js.map +0 -1
  571. package/dist/net/InterpolationBuffer.js.map +0 -1
  572. package/dist/net/PredictedMover.js.map +0 -1
  573. package/dist/net/Room.js.map +0 -1
  574. package/dist/net/RoomHost.js.map +0 -1
  575. package/dist/net/cadence.js.map +0 -1
  576. package/dist/net/constants.js.map +0 -1
  577. package/dist/net/lobby/LobbyClient.js.map +0 -1
  578. package/dist/net/lobby/LobbyHost.js.map +0 -1
  579. package/dist/net/lobby/LobbyRooms.js.map +0 -1
  580. package/dist/net/lobby/Matchmaker.js.map +0 -1
  581. package/dist/net/movement.js.map +0 -1
  582. package/dist/net/protocol.js.map +0 -1
  583. package/dist/net/serverClock.js.map +0 -1
  584. package/dist/net/snapshotCodec.js.map +0 -1
  585. package/dist/parallax/Parallax.js.map +0 -1
  586. package/dist/parallax/ParallaxLayer.js.map +0 -1
  587. package/dist/parallax/parallaxMath.js.map +0 -1
  588. package/dist/particles/Emitter.js.map +0 -1
  589. package/dist/particles/ParticleBudget.js.map +0 -1
  590. package/dist/particles/ParticleSim.js.map +0 -1
  591. package/dist/particles/particleCurves.js.map +0 -1
  592. package/dist/particles/particleSampling.js.map +0 -1
  593. package/dist/physics/Body.js.map +0 -1
  594. package/dist/physics/BroadPhase.js.map +0 -1
  595. package/dist/physics/Contact.js.map +0 -1
  596. package/dist/physics/ContactSolver.js.map +0 -1
  597. package/dist/physics/PhysicsWorld.js.map +0 -1
  598. package/dist/physics/SpatialHash.js.map +0 -1
  599. package/dist/physics/collide.js.map +0 -1
  600. package/dist/physics/collidePolygon.js.map +0 -1
  601. package/dist/physics/contactReport.js.map +0 -1
  602. package/dist/physics/drawColliders.js.map +0 -1
  603. package/dist/physics/physicsSystem.js.map +0 -1
  604. package/dist/physics/polygon.js.map +0 -1
  605. package/dist/physics/raycast.js.map +0 -1
  606. package/dist/physics/syncToBody.js.map +0 -1
  607. package/dist/physics/tileBodies.js.map +0 -1
  608. package/dist/physics/types.js.map +0 -1
  609. package/dist/pixel/Darkness.js.map +0 -1
  610. package/dist/pixel/DitherVignette.js.map +0 -1
  611. package/dist/pixel/Evaporation.js.map +0 -1
  612. package/dist/pixel/NightShade.js.map +0 -1
  613. package/dist/pixel/PixelLayer.js.map +0 -1
  614. package/dist/pixel/SwayProp.js.map +0 -1
  615. package/dist/pixel/lights.js.map +0 -1
  616. package/dist/pixel/nineSlice.js.map +0 -1
  617. package/dist/pixel/paintLayer.js.map +0 -1
  618. package/dist/pixel/palette.js.map +0 -1
  619. package/dist/pixel/pixel.js.map +0 -1
  620. package/dist/pixel/pixelPaint.js.map +0 -1
  621. package/dist/pixel/pixelTone.js.map +0 -1
  622. package/dist/pixel/propKit.js.map +0 -1
  623. package/dist/pixel/ramp.js.map +0 -1
  624. package/dist/pixel/selout.js.map +0 -1
  625. package/dist/pixel/spritePixels.js.map +0 -1
  626. package/dist/pixel/swayRig.js.map +0 -1
  627. package/dist/pixel/vignetteMask.js.map +0 -1
  628. package/dist/pixel/weatherArt.js.map +0 -1
  629. package/dist/pixel.js.map +0 -1
  630. package/dist/platform/touch.js.map +0 -1
  631. package/dist/postfx/BloomFilter.js.map +0 -1
  632. package/dist/postfx/ChromaticAberrationFilter.js.map +0 -1
  633. package/dist/postfx/ColorAdjustFilter.js.map +0 -1
  634. package/dist/postfx/CrtFilter.js.map +0 -1
  635. package/dist/postfx/PixelateFilter.js.map +0 -1
  636. package/dist/postfx/PostFx.js.map +0 -1
  637. package/dist/postfx/ShockwaveFilter.js.map +0 -1
  638. package/dist/postfx/VignetteFilter.js.map +0 -1
  639. package/dist/postfx/fxAnimator.js.map +0 -1
  640. package/dist/postfx/fxShader.js.map +0 -1
  641. package/dist/postfx.js.map +0 -1
  642. package/dist/react/ChoiceDialog.js.map +0 -1
  643. package/dist/react/ConfirmDialog.js.map +0 -1
  644. package/dist/react/Glyph.js.map +0 -1
  645. package/dist/react/Modal.js.map +0 -1
  646. package/dist/react/Panel.js.map +0 -1
  647. package/dist/react/PixelImage.js.map +0 -1
  648. package/dist/react/Select.js.map +0 -1
  649. package/dist/react/Slider.js.map +0 -1
  650. package/dist/react/SplitPane.js.map +0 -1
  651. package/dist/react/TabStrip.js.map +0 -1
  652. package/dist/react/TitleTips.js.map +0 -1
  653. package/dist/react/Tooltip.js.map +0 -1
  654. package/dist/react/UiProvider.js.map +0 -1
  655. package/dist/react/baseCss.js.map +0 -1
  656. package/dist/react/choiceStore.js.map +0 -1
  657. package/dist/react/classNames.js.map +0 -1
  658. package/dist/react/confirmStore.js.map +0 -1
  659. package/dist/react/labels.js.map +0 -1
  660. package/dist/react/placement.js.map +0 -1
  661. package/dist/react/useFillSheet.js.map +0 -1
  662. package/dist/react/useFitToViewport.js.map +0 -1
  663. package/dist/react/usePicked.js.map +0 -1
  664. package/dist/react/useStore.js.map +0 -1
  665. package/dist/react/useViewport.js.map +0 -1
  666. package/dist/react.js.map +0 -1
  667. package/dist/rig/PosePlayer.js.map +0 -1
  668. package/dist/rig/RigView.js.map +0 -1
  669. package/dist/rig/Skeleton.js.map +0 -1
  670. package/dist/rig/humanoid.js.map +0 -1
  671. package/dist/rig/humanoid.json.js.map +0 -1
  672. package/dist/rig/humanoidPoses.js.map +0 -1
  673. package/dist/rig/poseMath.js.map +0 -1
  674. package/dist/rig/poses.json.js.map +0 -1
  675. package/dist/save/Autosaver.js.map +0 -1
  676. package/dist/save/MemoryBackend.js.map +0 -1
  677. package/dist/save/SaveStore.js.map +0 -1
  678. package/dist/save/WebStorageBackend.js.map +0 -1
  679. package/dist/save/checksum.js.map +0 -1
  680. package/dist/save/migrateSave.js.map +0 -1
  681. package/dist/settings.js.map +0 -1
  682. package/dist/tilemap/TilemapView.js.map +0 -1
  683. package/dist/tilemap/collision.js.map +0 -1
  684. package/dist/tilemap/tiled.js.map +0 -1
  685. package/dist/transitions/CrossfadeTransition.js.map +0 -1
  686. package/dist/transitions/DitherWipeTransition.js.map +0 -1
  687. package/dist/transitions/FadeTransition.js.map +0 -1
  688. package/dist/transitions/Letterbox.js.map +0 -1
  689. package/dist/transitions/ditherMask.js.map +0 -1
  690. package/dist/transitions/transitionTo.js.map +0 -1
  691. package/dist/transitions/tweenDone.js.map +0 -1
  692. package/dist/ui/Bar.js.map +0 -1
  693. package/dist/ui/Button.js.map +0 -1
  694. package/dist/ui/Dialog.js.map +0 -1
  695. package/dist/ui/FocusManager.js.map +0 -1
  696. package/dist/ui/Label.js.map +0 -1
  697. package/dist/ui/List.js.map +0 -1
  698. package/dist/ui/Panel.js.map +0 -1
  699. package/dist/ui/ScrollView.js.map +0 -1
  700. package/dist/ui/Slider.js.map +0 -1
  701. package/dist/ui/Stack.js.map +0 -1
  702. package/dist/ui/Toggle.js.map +0 -1
  703. package/dist/ui/UiHost.js.map +0 -1
  704. package/dist/ui/UiPointerGate.js.map +0 -1
  705. package/dist/ui/UiRoot.js.map +0 -1
  706. package/dist/ui/Widget.js.map +0 -1
  707. package/dist/ui/dom/DomOverlay.js.map +0 -1
  708. package/dist/ui/dom/DomWorldAnchors.js.map +0 -1
  709. package/dist/ui/dom/InputShield.js.map +0 -1
  710. package/dist/ui/dom/createStore.js.map +0 -1
  711. package/dist/ui/dom/shieldDecision.js.map +0 -1
  712. package/dist/ui/dom/worldToScreen.js.map +0 -1
  713. package/dist/ui/layout/anchor.js.map +0 -1
  714. package/dist/ui/layout/barDrain.js.map +0 -1
  715. package/dist/ui/layout/fitToViewport.js.map +0 -1
  716. package/dist/ui/layout/focusNav.js.map +0 -1
  717. package/dist/ui/layout/geometry.js.map +0 -1
  718. package/dist/ui/layout/listWidth.js.map +0 -1
  719. package/dist/ui/layout/placeTooltip.js.map +0 -1
  720. package/dist/ui/layout/scroll.js.map +0 -1
  721. package/dist/ui/layout/slider.js.map +0 -1
  722. package/dist/ui/layout/stack.js.map +0 -1
  723. package/dist/ui/layout/wrapRow.js.map +0 -1
  724. package/dist/ui.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Pointer.d.ts","sourceRoot":"","sources":["../../../src/core/Pointer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQvC;;;GAGG;AACH,qBAAa,OAAO;IAeN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAdnC;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,GAAG,IAAI,CAAQ;IAEjE,6DAA6D;IAC7D,CAAC,SAAK;IACN,CAAC,SAAK;IACN,MAAM,SAAK;IACX,MAAM,SAAK;IACX,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAEjB,MAAM,EAAE,iBAAiB;IAiCtD,cAAc,IAAI,OAAO;IAIzB,eAAe,IAAI,OAAO;IAI1B,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKnC,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,KAAK;CAKd"}
1
+ {"version":3,"file":"Pointer.d.ts","sourceRoot":"","sources":["../../../src/core/Pointer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASvC;;;GAGG;AACH,qBAAa,OAAO;IAkBN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAjBnC;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,GAAG,IAAI,CAAQ;IAEjE,6DAA6D;IAC7D,CAAC,SAAK;IACN,CAAC,SAAK;IACN,MAAM,SAAK;IACX,MAAM,SAAK;IACX,OAAO,CAAC,OAAO,CAAK;IACpB,oHAAoH;IACpH,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAEjB,MAAM,EAAE,iBAAiB;IAqCtD,cAAc,IAAI,OAAO;IAIzB,eAAe,IAAI,OAAO;IAI1B,wDAAwD;IACxD,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;OAGG;IACH,IAAI,CAAC,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvD,MAAM,IAAI,IAAI;IAId,0GAA0G;IAC1G,YAAY,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAMxC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKnC,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,KAAK;CAKd"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stage.d.ts","sourceRoot":"","sources":["../../../src/core/Stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,8BAAsB,KAAK;IAgBvB,QAAQ,CAAC,GAAG,EAAE,WAAW;IACzB,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAhBpC,yFAAyF;IACzF,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEvE,QAAQ,CAAC,KAAK,8CAA6C;IAC3D,QAAQ,CAAC,MAAM,8CAAmB;IAClC,QAAQ,CAAC,GAAG,gBAA2B;IACvC,QAAQ,CAAC,MAAM,UAAiB;IAChC,QAAQ,CAAC,IAAI,QAAe;IAC5B,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;gBAGZ,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,eAAe;IAQpC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,6GAA6G;IAC7G,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAQpC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAEjD;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C;;;;OAIG;IACH,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAInD,2EAA2E;IAC3E,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAS/D,iIAAiI;IACjI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IASlD,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,QAAQ;CAWjB"}
1
+ {"version":3,"file":"Stage.d.ts","sourceRoot":"","sources":["../../../src/core/Stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,8BAAsB,KAAK;IAgBvB,QAAQ,CAAC,GAAG,EAAE,WAAW;IACzB,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAhBpC,yFAAyF;IACzF,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEvE,QAAQ,CAAC,KAAK,8CAA6C;IAC3D,QAAQ,CAAC,MAAM,8CAAmB;IAClC,QAAQ,CAAC,GAAG,gBAA2B;IACvC,QAAQ,CAAC,MAAM,UAAiB;IAChC,QAAQ,CAAC,IAAI,QAAe;IAC5B,QAAQ,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;gBAGZ,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,eAAe;IAUpC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,6GAA6G;IAC7G,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAQpC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAEjD;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C;;;;OAIG;IACH,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAInD,2EAA2E;IAC3E,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAS/D,iIAAiI;IACjI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IASlD,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,QAAQ;CAWjB"}
@@ -1,4 +1,30 @@
1
1
  import { CanvasSource, Texture } from 'pixi.js';
2
+ /** A frame packed on an atlas page (TexturePacker and the like), as `assets/textureAtlas.ts` parses it. */
3
+ export interface PackedFrame {
4
+ name: string;
5
+ /** The rect on the page (already swapped to its on-page size when `rotated`). */
6
+ x: number;
7
+ y: number;
8
+ w: number;
9
+ h: number;
10
+ /** Stored turned 90° clockwise on the page (Pixi's `rotate: 2`). */
11
+ rotated: boolean;
12
+ /** The untrimmed size of the sprite. */
13
+ sourceW: number;
14
+ sourceH: number;
15
+ /** Where the trimmed pixels sit inside the untrimmed sprite; absent when the frame was not trimmed. */
16
+ trim?: {
17
+ x: number;
18
+ y: number;
19
+ w: number;
20
+ h: number;
21
+ };
22
+ /** The frame's pivot, 0–1, when the packer wrote one. */
23
+ anchor?: {
24
+ x: number;
25
+ y: number;
26
+ };
27
+ }
2
28
  /** A canvas-backed texture with named frames; repaint the canvas, then `refresh()` to upload it. */
3
29
  export declare class CanvasTexture {
4
30
  readonly key: string;
@@ -12,6 +38,11 @@ export declare class CanvasTexture {
12
38
  get context(): CanvasRenderingContext2D;
13
39
  /** Adds a frame cut from the canvas (`_source` kept for the old call shape). */
14
40
  add(name: string, _source: number, x: number, y: number, w: number, h: number): void;
41
+ /**
42
+ * Adds a packed frame cut from `page` (this texture's canvas by default): trimmed frames keep their untrimmed size
43
+ * (`orig`) so they line up when drawn, and frames the packer turned are turned back (Pixi's `rotate: 2`).
44
+ */
45
+ addPacked(frame: PackedFrame, page?: CanvasTexture): void;
15
46
  /**
16
47
  * Registers under this texture a frame that lives on another one (an atlas page after the first), so the frame is
17
48
  * found by this texture's key. A texture of its own over the other page's source: each side frees its own.
@@ -43,6 +74,14 @@ export declare class TextureRegistry {
43
74
  frameWidth: number;
44
75
  frameHeight: number;
45
76
  }): CanvasTexture;
77
+ /**
78
+ * A packed atlas (TexturePacker JSON, `AssetLoader.atlas`): the first page under `key`, the others as `key~1`,
79
+ * `key~2`… like `AtlasBuilder`'s pages, and every frame of every page found under `key` by its name.
80
+ */
81
+ addAtlas(key: string, pages: readonly {
82
+ canvas: HTMLCanvasElement;
83
+ frames: readonly PackedFrame[];
84
+ }[]): CanvasTexture;
46
85
  createCanvas(key: string, width: number, height: number): CanvasTexture;
47
86
  remove(key: string): void;
48
87
  get(key: string, frame?: string | number): Texture;
@@ -1 +1 @@
1
- {"version":3,"file":"TextureRegistry.d.ts","sourceRoot":"","sources":["../../../src/core/TextureRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAa,OAAO,EAAE,MAAM,SAAS,CAAC;AAE3D,oGAAoG;AACpG,qBAAa,aAAa;IAMtB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,MAAM,EAAE,iBAAiB;IANpC,QAAQ,CAAC,MAAM,6DAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;gBAGb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB;IAMpC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,OAAO,IAAI,wBAAwB,CAEtC;IAED,gFAAgF;IAChF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAKpF;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IAO9C,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,IAAI;CAMhB;AAED,2FAA2F;AAC3F,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,6GAA6G;IAC7G,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAK;IAEtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI3B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,iHAAiH;IACjH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAatD;;;OAGG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAkBjF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,aAAa;IAOhE,sFAAsF;IACtF,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa;IAUxH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAOvE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMzB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAOlD,OAAO,CAAC,IAAI;CAOb"}
1
+ {"version":3,"file":"TextureRegistry.d.ts","sourceRoot":"","sources":["../../../src/core/TextureRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAa,OAAO,EAAE,MAAM,SAAS,CAAC;AAE3D,2GAA2G;AAC3G,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,yDAAyD;IACzD,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;AAED,oGAAoG;AACpG,qBAAa,aAAa;IAMtB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,MAAM,EAAE,iBAAiB;IANpC,QAAQ,CAAC,MAAM,6DAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;gBAGb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB;IAMpC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,OAAO,IAAI,wBAAwB,CAEtC;IAED,gFAAgF;IAChF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAKpF;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,GAAE,aAAoB,GAAG,IAAI;IAa/D;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IAO9C,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,IAAI;CAMhB;AAED,2FAA2F;AAC3F,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,6GAA6G;IAC7G,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAK;IAEtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI3B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,iHAAiH;IACjH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAatD;;;OAGG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAkBjF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,aAAa;IAOhE,sFAAsF;IACtF,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa;IAUxH;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS;QAAE,MAAM,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;KAAE,EAAE,GAAG,aAAa;IAiBrH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAOvE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMzB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAOlD,OAAO,CAAC,IAAI;CAOb"}
@@ -0,0 +1,23 @@
1
+ import type { BLEND_MODES } from 'pixi.js';
2
+ import type { Group } from './Group.js';
3
+ import type { Stage } from './Stage.js';
4
+ export interface BlendLayerOptions {
5
+ /** How its sprites blend (default `'add'`, light). Set on the container, so a sprite added needs no blend of its own. */
6
+ blend?: BLEND_MODES;
7
+ /**
8
+ * Its depth among the world's children (default 999,000: over every body sorted by a y under a million px, under
9
+ * labels a game keeps just below 1,000,000). Applied whenever given, so the first caller need not be the one to set it.
10
+ */
11
+ depth?: number;
12
+ /** A stage may hold several (a light layer and a shadow one): each name is its own container (default the blend's). */
13
+ name?: string;
14
+ }
15
+ /**
16
+ * One container per stage (and name) for every sprite of a blend mode: lamp glows, portals, the glow under loot.
17
+ * Laid among the bodies by depth, each additive sprite switched the blend mode twice and split the sprite batch — in
18
+ * one game 85–97 draw calls a frame in a fight, two thirds of them blend changes; gathered here they are one run.
19
+ * The price is that they no longer sort with the bodies: the layer stands over all of them, so put a glow where its
20
+ * light falls rather than relying on a body to cover it. Made again if destroyed (a scene change).
21
+ */
22
+ export declare function blendLayer(stage: Stage, options?: BlendLayerOptions): Group;
23
+ //# sourceMappingURL=blendLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blendLayer.d.ts","sourceRoot":"","sources":["../../../src/core/blendLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,yHAAyH;IACzH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uHAAuH;IACvH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAID;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,iBAAsB,GAAG,KAAK,CAiB/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"gameObject.d.ts","sourceRoot":"","sources":["../../../src/core/gameObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAsBzC,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,IAAI,IAAI,CAAC;IAClB,4DAA4D;IAC5D,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAuKtG"}
1
+ {"version":3,"file":"gameObject.d.ts","sourceRoot":"","sources":["../../../src/core/gameObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAMrC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AA8BzC,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,IAAI,IAAI,CAAC;IAClB,4DAA4D;IAC5D,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAuKtG"}
@@ -0,0 +1,45 @@
1
+ export interface PixelZoomOptions {
2
+ /** Canvas height (CSS px) worth one zoom step before clamping (default 290: ×2 on a phone held landscape, ×4 at 1080p). */
3
+ pxPerStep?: number;
4
+ /** The least and most zoom a screen gets on its own, before a player's offset (default 2 and 5). */
5
+ baseMin?: number;
6
+ baseMax?: number;
7
+ /** The least and most zoom any offset may reach (default 1 and 6). */
8
+ min?: number;
9
+ max?: number;
10
+ /** The one fractional zoom allowed, or null for whole steps only (default 1.5). */
11
+ halfZoom?: number | null;
12
+ }
13
+ /**
14
+ * The zoom a screen this tall gets on its own: one step per `pxPerStep` of height, within `baseMin`–`baseMax`.
15
+ * With the defaults a 375–440-px phone held landscape gets 2 (about 200 world px tall: ×1 drew a 24-px character
16
+ * 4 mm tall, ×3 left less than a monster's reach on screen), a 720p window 2, 1080p 4.
17
+ */
18
+ export declare function baseZoom(canvasHeight: number, options?: PixelZoomOptions): number;
19
+ /**
20
+ * The camera zoom (screen px per world px) for a canvas this tall, moved `offset` steps by the player (rounded to
21
+ * half steps), within `min`–`max`. Whole, or exactly `halfZoom`: a half step anywhere else rounds to the whole one.
22
+ */
23
+ export declare function worldZoom(canvasHeight: number, offset?: number, options?: PixelZoomOptions): number;
24
+ /**
25
+ * The zoom steps to offer a player on a screen this tall, by zoom from farthest to nearest: each of `offsets`
26
+ * and, where it lies below the screen's own zoom and no further than `lowest`, the offset that lands on `halfZoom`.
27
+ * Two offsets giving the same zoom are offered once, the one nearer 0 kept.
28
+ */
29
+ export declare function zoomSteps(canvasHeight: number, offsets?: readonly number[], lowest?: number, options?: PixelZoomOptions): {
30
+ offset: number;
31
+ zoom: number;
32
+ }[];
33
+ /**
34
+ * The renderer's resolution for a zoom: 1 at a whole zoom (one backing pixel per CSS pixel, the cheapest fill), and at
35
+ * a fractional one the least whole resolution up to `maxResolution` (default 4) that makes `zoom × resolution` whole
36
+ * (2 at ×1.5, so a world pixel is 3 backing pixels) — but only on a screen of `devicePixelRatio` ≥ `minDpr`
37
+ * (default 1.5): a coarser one cannot show the difference and would pay the fill for nothing. 1 when none fits.
38
+ */
39
+ export declare function zoomResolution(zoom: number, devicePixelRatio: number, minDpr?: number, maxResolution?: number): number;
40
+ /**
41
+ * The whole-number scale content of this size is drawn at to fit a box (a map panel, a preview): the largest integer
42
+ * that fits both ways, never below 1, so every source pixel is the same number of screen pixels.
43
+ */
44
+ export declare function fitScale(contentW: number, contentH: number, boxW: number, boxH: number): number;
45
+ //# sourceMappingURL=pixelZoom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixelZoom.d.ts","sourceRoot":"","sources":["../../../src/core/pixelZoom.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,2HAA2H;IAC3H,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAQD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAGjF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAI9F;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,SAAS,MAAM,EAAmB,EAC3C,MAAM,SAAO,EACb,OAAO,CAAC,EAAE,gBAAgB,GACzB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAcpC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,SAAM,EAAE,aAAa,SAAI,GAAG,MAAM,CAO9G;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/F"}
@@ -0,0 +1,15 @@
1
+ /** Something to run at a time: a timer, an effect's later beat. `removed` ones are dropped without running. */
2
+ export interface DueCall {
3
+ at: number;
4
+ fn: () => void;
5
+ removed?: boolean;
6
+ }
7
+ /**
8
+ * Runs and removes every call of `scheduled` due by `now`, in place: the list is compacted and `scratch` (kept by the
9
+ * caller, empty between calls) collects the due ones, so a frame allocates nothing. A call that throws goes to
10
+ * `failed` and the rest still run; whatever happens the due calls are gone from both lists afterwards. A list that
11
+ * kept a thrower threw again every frame anything else was scheduled, and cut short whatever the frame ran after it.
12
+ * A call scheduled by a running one lands in `scheduled` and waits for the next pass, even if already due.
13
+ */
14
+ export declare function runDue<T extends DueCall>(scheduled: T[], scratch: T[], now: number, failed: (err: unknown) => void): void;
15
+ //# sourceMappingURL=runDue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runDue.d.ts","sourceRoot":"","sources":["../../../src/core/runDue.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CA6BzH"}
@@ -0,0 +1,16 @@
1
+ import { Texture } from 'pixi.js';
2
+ /**
3
+ * `texture`'s frame with every opaque pixel painted `color` (default white), alpha kept; made once per frame and colour
4
+ * and cached. Only for textures that are never repainted (atlas frames, snapshots): copy a live one first
5
+ * (`TextureRegistry.snapshotInto`) and paint the copy with `fillSolid`. Null when the frame cannot be read (no
6
+ * drawable source, an empty or rotated frame, a cross-origin image).
7
+ */
8
+ export declare function solidSilhouette(texture: Texture, color?: number): Texture | null;
9
+ /** Paints every opaque pixel of a canvas `color` (default white), keeping its alpha. Upload the texture after. */
10
+ export declare function fillSolid(canvas: unknown, color?: number): void;
11
+ /**
12
+ * Frees cached silhouettes: those of one `texture` (it is about to be repainted or destroyed), or all of them (a
13
+ * scene or atlas change). A sprite still wearing one must be given another texture first.
14
+ */
15
+ export declare function clearSilhouettes(texture?: Texture): void;
16
+ //# sourceMappingURL=silhouette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"silhouette.d.ts","sourceRoot":"","sources":["../../../src/core/silhouette.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,OAAO,EAAE,MAAM,SAAS,CAAC;AAiBhD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,SAAW,GAAG,OAAO,GAAG,IAAI,CAgClF;AAED,kHAAkH;AAClH,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,SAAW,GAAG,IAAI,CAUjE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAcxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawCallCounter.d.ts","sourceRoot":"","sources":["../../../src/debug/DrawCallCounter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC;;;;GAIG;AACH,qBAAa,eAAe;IAKd,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJrC,wCAAwC;IACxC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,OAAO,CAA6B;gBAEf,QAAQ,EAAE,QAAQ;IAE/C,oDAAoD;IACpD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,OAAO,IAAI,IAAI;IAmBf,SAAS,IAAI,IAAI;IAKjB,iEAAiE;IACjE,IAAI,IAAI,MAAM;CAKf"}
1
+ {"version":3,"file":"DrawCallCounter.d.ts","sourceRoot":"","sources":["../../../src/debug/DrawCallCounter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AASxC;;;;GAIG;AACH,qBAAa,eAAe;IAKd,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJrC,wCAAwC;IACxC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,OAAO,CAA6B;gBAEf,QAAQ,EAAE,QAAQ;IAE/C,oDAAoD;IACpD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,OAAO,IAAI,IAAI;IAwBf,SAAS,IAAI,IAAI;IAKjB,iEAAiE;IACjE,IAAI,IAAI,MAAM;CAKf"}
@@ -0,0 +1,56 @@
1
+ /** `electron.safeStorage`. */
2
+ export interface SafeStorageLike {
3
+ isEncryptionAvailable(): boolean;
4
+ /** Linux only: `basic_text` means a hard-coded key, which is no encryption at all. */
5
+ getSelectedStorageBackend?(): string;
6
+ encryptString(plainText: string): Uint8Array;
7
+ decryptString(encrypted: Buffer): string;
8
+ }
9
+ /** `electron.ipcMain`. */
10
+ export interface IpcMainLike {
11
+ handle(channel: string, listener: (event: any, ...args: any[]) => unknown): void;
12
+ removeHandler?(channel: string): void;
13
+ }
14
+ /** `electron.shell`. */
15
+ export interface ShellLike {
16
+ openExternal(url: string): Promise<void>;
17
+ }
18
+ /** What `before-input-event` hands a listener (`Electron.Input`). */
19
+ export interface InputLike {
20
+ type: string;
21
+ key: string;
22
+ control: boolean;
23
+ meta: boolean;
24
+ shift: boolean;
25
+ alt: boolean;
26
+ }
27
+ /** An event a listener may cancel. */
28
+ export interface PreventableLike {
29
+ preventDefault(): void;
30
+ }
31
+ /** `electron.Session`, for the permission handlers. */
32
+ export interface SessionLike {
33
+ setPermissionRequestHandler(handler: ((webContents: any, permission: any, callback: (granted: boolean) => void, details: any) => void) | null): void;
34
+ setPermissionCheckHandler(handler: ((webContents: any, permission: any, requestingOrigin: string, details: any) => boolean) | null): void;
35
+ }
36
+ /** `electron.WebContents`. */
37
+ export interface WebContentsLike {
38
+ setWindowOpenHandler(handler: (details: {
39
+ url: string;
40
+ }) => any): void;
41
+ on(event: any, listener: (...args: any[]) => void): unknown;
42
+ toggleDevTools(): void;
43
+ session?: SessionLike;
44
+ }
45
+ /** `electron.BrowserWindow`, as far as a lockdown needs it. */
46
+ export interface WindowLike {
47
+ webContents: WebContentsLike;
48
+ }
49
+ /** `electron.app`, as far as the debugger refusal needs it. */
50
+ export interface AppLike {
51
+ isPackaged: boolean;
52
+ commandLine: {
53
+ hasSwitch(name: string): boolean;
54
+ };
55
+ }
56
+ //# sourceMappingURL=electronLike.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronLike.d.ts","sourceRoot":"","sources":["../../../src/electron/electronLike.ts"],"names":[],"mappings":"AAMA,8BAA8B;AAC9B,MAAM,WAAW,eAAe;IAC9B,qBAAqB,IAAI,OAAO,CAAC;IACjC,sFAAsF;IACtF,yBAAyB,CAAC,IAAI,MAAM,CAAC;IACrC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED,0BAA0B;AAC1B,MAAM,WAAW,WAAW;IAE1B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;IACjF,aAAa,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,wBAAwB;AACxB,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,qEAAqE;AACrE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd;AAED,sCAAsC;AACtC,MAAM,WAAW,eAAe;IAC9B,cAAc,IAAI,IAAI,CAAC;CACxB;AAED,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,2BAA2B,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACrJ,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3I;AAED,8BAA8B;AAC9B,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,GAAG,IAAI,CAAC;IAGvE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC;IAC5D,cAAc,IAAI,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,+DAA+D;AAC/D,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE;QAAE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CACnD"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * `1681-engine/electron`: the main-process side of a desktop build on Electron — file-by-file web patching from a
3
+ * release store, the shell's identity, an OS-encrypted session store and a window lockdown. Electron is an optional
4
+ * peer: nothing here imports it, the game hands in its own `app`, `safeStorage`, `ipcMain`, `shell` and windows. Runs
5
+ * in the main process only (it uses Node's `fs` and `crypto`); the pure rules it shares with browsers and phones are
6
+ * `1681-engine/updates`. Importable from ESM (`import`) and from a CommonJS main process (`require`).
7
+ */
8
+ export type { SafeStorageLike, IpcMainLike, ShellLike, InputLike, PreventableLike, SessionLike, WebContentsLike, WindowLike, AppLike } from './electronLike.js';
9
+ export { shellId, type ShellIdOptions } from './shellId.js';
10
+ export { WebPatcher, type WebPatcherOptions } from './webPatcher.js';
11
+ export type { WebPointer, PointerName } from './webPointers.js';
12
+ export { SessionStore, registerSessionStore, type SessionStoreOptions } from './sessionStore.js';
13
+ export { isAllowedExternal, isAllowedNavigation, isDevToolsKey, debuggerRequested, DEBUG_SWITCHES, type ExternalPolicy } from './lockdownRules.js';
14
+ export { lockDownWindow, denyPermissions, refuseDebugLaunch, type LockdownOptions } from './lockdown.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/electron/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7J,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChJ,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { AppLike, SessionLike, ShellLike, WindowLike } from './electronLike.js';
2
+ import { type ExternalPolicy } from './lockdownRules.js';
3
+ /** How {@link lockDownWindow} treats a window. */
4
+ export interface LockdownOptions {
5
+ /** `electron.shell`, which opens an allowed link in the system browser. */
6
+ shell: ShellLike;
7
+ /** The links that may leave for the system browser. */
8
+ external: ExternalPolicy;
9
+ /** `app.isPackaged`: a packaged build refuses the DevTools keys. */
10
+ packaged: boolean;
11
+ /** A dev run's page origin, allowed for navigation; leave unset in a packaged build whatever the environment says. */
12
+ devServerUrl?: string;
13
+ /** In a dev run, this key toggles DevTools. Default `F12`; null for none. */
14
+ devToolsKey?: string | null;
15
+ /** Where refusals are reported. Default `console.log`. */
16
+ log?: (...args: unknown[]) => void;
17
+ }
18
+ /**
19
+ * Keeps a window on the game: a new window is never opened (an allowed link goes to the system browser instead, any
20
+ * other is refused), the window never navigates or redirects away from the game's own page, and a packaged build
21
+ * refuses the DevTools keys (set `webPreferences.devTools: !app.isPackaged` too: the keys are only the visible way in).
22
+ */
23
+ export declare function lockDownWindow(win: WindowLike, o: LockdownOptions): void;
24
+ /**
25
+ * Answers every permission request and check on `session` (camera, microphone, notifications, geolocation…) with no,
26
+ * but those in `allow`. Chromium's default in Electron is yes to almost everything, which a game never needs.
27
+ */
28
+ export declare function denyPermissions(session: SessionLike, allow?: readonly string[]): void;
29
+ /**
30
+ * A packaged app started with a debugger switch quits before it opens a window. Call it first thing in the main
31
+ * process; `exit` defaults to `process.exit` — not `app.exit`, so nothing after the call may run.
32
+ */
33
+ export declare function refuseDebugLaunch(app: AppLike, argv?: readonly string[], exit?: (code: number) => void): boolean;
34
+ //# sourceMappingURL=lockdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lockdown.d.ts","sourceRoot":"","sources":["../../../src/electron/lockdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAA4E,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEhI,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,KAAK,EAAE,SAAS,CAAC;IACjB,uDAAuD;IACvD,QAAQ,EAAE,cAAc,CAAC;IACzB,oEAAoE;IACpE,QAAQ,EAAE,OAAO,CAAC;IAClB,sHAAsH;IACtH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,0DAA0D;IAC1D,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,eAAe,GAAG,IAAI,CA8BxE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,GAAE,SAAS,MAAM,EAAO,GAAG,IAAI,CAIzF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,GAAE,SAAS,MAAM,EAAiB,EAAE,IAAI,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAA6B,GAAG,OAAO,CAMtJ"}
@@ -0,0 +1,29 @@
1
+ import type { InputLike } from './electronLike.js';
2
+ /**
3
+ * The links a locked-down window may open in the system browser: https only, no credentials in the URL, to one of
4
+ * `hosts` or a subdomain of it — or, for a host where anyone can publish a page (a code host), only under one of its
5
+ * `paths`.
6
+ */
7
+ export interface ExternalPolicy {
8
+ /** Hosts allowed whole, each with its subdomains (`example.com` allows `www.example.com`). */
9
+ hosts: readonly string[];
10
+ /** Hosts allowed only under a path prefix (exact host, prefix compared case-insensitively), e.g. one owner's repositories. */
11
+ paths?: readonly {
12
+ host: string;
13
+ prefix: string;
14
+ }[];
15
+ }
16
+ /** Whether `url` is a link {@link ExternalPolicy} lets out to the system browser. */
17
+ export declare function isAllowedExternal(url: string, policy: ExternalPolicy): boolean;
18
+ /**
19
+ * The game's own page: the bundled `file://` build, or the dev server's origin in a dev run. Anything else followed
20
+ * inside the window would replace the game with a web page that has the shell's preload API.
21
+ */
22
+ export declare function isAllowedNavigation(url: string, devServerUrl?: string): boolean;
23
+ /** The keys that open DevTools (F12, Ctrl/Cmd+Shift/Alt+I/J/C), refused in a packaged build. */
24
+ export declare function isDevToolsKey(input: InputLike): boolean;
25
+ /** Chromium and Node switches that attach a debugger to a running app. */
26
+ export declare const DEBUG_SWITCHES: readonly string[];
27
+ /** Whether the command line (`argv`, or a switch Chromium parsed: `hasSwitch`) asks for a debugger. */
28
+ export declare function debuggerRequested(argv: readonly string[], hasSwitch?: (name: string) => boolean): boolean;
29
+ //# sourceMappingURL=lockdownRules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lockdownRules.d.ts","sourceRoot":"","sources":["../../../src/electron/lockdownRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,8FAA8F;IAC9F,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,8HAA8H;IAC9H,KAAK,CAAC,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACrD;AAUD,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAU9E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAQ/E;AAED,gGAAgG;AAChG,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAMvD;AAED,0EAA0E;AAC1E,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAAsG,CAAC;AAGnJ,uGAAuG;AACvG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAqB,GAAG,OAAO,CAGtH"}
@@ -0,0 +1,41 @@
1
+ import type { IpcMainLike, SafeStorageLike } from './electronLike.js';
2
+ /** Where and how a {@link SessionStore} keeps its one secret. */
3
+ export interface SessionStoreOptions {
4
+ /** `electron.safeStorage`. */
5
+ safeStorage: SafeStorageLike;
6
+ /** The folder, e.g. `app.getPath('userData')` — a second app (a test build) with its own user data keeps its own. */
7
+ dir: string;
8
+ /** Default `session.bin`. */
9
+ fileName?: string;
10
+ /** Longest value accepted, in characters. Default 4096: a saved login is a token and a name, never a blob. */
11
+ maxLength?: number;
12
+ /** Default `process.platform`. */
13
+ platform?: string;
14
+ }
15
+ /**
16
+ * One small secret (a refresh token and username, as a JSON string) kept for "stay logged in", encrypted by the OS —
17
+ * `safeStorage`: DPAPI for the Windows user, the Keychain on the Mac. Where the OS offers no real encryption (Linux
18
+ * without a keyring: `basic_text`, a key written into Chromium) nothing is written and the player logs in again after
19
+ * closing; a token on disk in the clear is worse than that. Never `localStorage`: any script in the page could read it.
20
+ */
21
+ export declare class SessionStore {
22
+ private readonly o;
23
+ private readonly file;
24
+ private readonly maxLength;
25
+ private readonly platform;
26
+ constructor(o: SessionStoreOptions);
27
+ /** Whether the OS can encrypt for real here. */
28
+ canEncrypt(): boolean;
29
+ /** The saved value, or null when there is none, it cannot be decrypted (another OS user, a reinstall) or nothing may be. */
30
+ get(): Promise<string | null>;
31
+ /** Saves `value`; false when it is not a string, too long, or the OS cannot encrypt it. */
32
+ set(value: unknown): Promise<boolean>;
33
+ clear(): Promise<void>;
34
+ }
35
+ /**
36
+ * Answers a renderer's `<prefix>:get`, `<prefix>:set` (one string) and `<prefix>:clear` from `store`, so the page only
37
+ * ever sees the plain value, and only its own. Expose them in the preload with `ipcRenderer.invoke`. Returns a function
38
+ * that removes the handlers.
39
+ */
40
+ export declare function registerSessionStore(ipcMain: IpcMainLike, store: SessionStore, prefix?: string): () => void;
41
+ //# sourceMappingURL=sessionStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionStore.d.ts","sourceRoot":"","sources":["../../../src/electron/sessionStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEnE,iEAAiE;AACjE,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,WAAW,EAAE,eAAe,CAAC;IAC7B,qHAAqH;IACrH,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8GAA8G;IAC9G,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,YAAY;IAKX,OAAO,CAAC,QAAQ,CAAC,CAAC;IAJ9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEL,CAAC,EAAE,mBAAmB;IAMnD,gDAAgD;IAChD,UAAU,IAAI,OAAO;IAMrB,4HAA4H;IACtH,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASnC,2FAA2F;IACrF,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAerC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAY,GAAG,MAAM,IAAI,CAO9G"}
@@ -0,0 +1,23 @@
1
+ /** What goes into a shell's identity besides the runtime's version. */
2
+ export interface ShellIdOptions {
3
+ /** Folders whose files (non-recursive) are hashed, in this order. */
4
+ dirs: string[];
5
+ /** Which files of each folder count; default the compiled main-process code, `*.cjs`. */
6
+ match?: (fileName: string) => boolean;
7
+ /** More text to fold in (an engine or framework version the main process bundles from elsewhere). */
8
+ extra?: string[];
9
+ /** Hex characters kept; default 16. */
10
+ length?: number;
11
+ }
12
+ /**
13
+ * A desktop shell's identity: a hash of the main process's own code and the Electron version it runs on. A web patch
14
+ * is taken only by a shell with the same identity, because the web talks to the shell through its preload script and
15
+ * may need what a newer shell adds; anything else comes with an installer. The publish script reckons it the same way
16
+ * off the build it uploads, so nobody has to remember to raise a number when the shell changes.
17
+ *
18
+ * `shellId(version, dir)` hashes `dir`'s `*.cjs`; pass {@link ShellIdOptions} for more folders or other files. With one
19
+ * folder, the default match and no `extra`, both forms give the same hash. Code the shell takes from `node_modules`
20
+ * (this module included) is not in `dir`: name its version in `extra`, or a change there would not change the identity.
21
+ */
22
+ export declare function shellId(electronVersion: string, dirOrOptions: string | ShellIdOptions): string;
23
+ //# sourceMappingURL=shellId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shellId.d.ts","sourceRoot":"","sources":["../../../src/electron/shellId.ts"],"names":[],"mappings":"AAIA,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,yFAAyF;IACzF,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,qGAAqG;IACrG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,MAAM,CAa9F"}
@@ -0,0 +1,14 @@
1
+ /** Lower-case hex sha256. */
2
+ export declare const sha256: (data: Uint8Array) => string;
3
+ /** Every file under `dir`, as forward-slash paths relative to it. */
4
+ export declare function listFiles(dir: string, base?: string): Promise<string[]>;
5
+ /** Every file of the web in `dir`, path → sha256. */
6
+ export declare function hashWeb(dir: string): Promise<Map<string, string>>;
7
+ /** Writes `data` at the manifest path `path` under `dir`, making its folders. */
8
+ export declare function putFile(dir: string, path: string, data: Uint8Array): Promise<void>;
9
+ /**
10
+ * `fetch` that gives up after `ms` and never takes a cached answer: a store behind a CDN otherwise hands back
11
+ * yesterday's `latest.json`, and a stalled connection would hold an update check open for good.
12
+ */
13
+ export declare function fetchWithTimeout(fetcher: typeof fetch, url: string, ms: number): Promise<Response>;
14
+ //# sourceMappingURL=webFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webFiles.d.ts","sourceRoot":"","sources":["../../../src/electron/webFiles.ts"],"names":[],"mappings":"AAIA,6BAA6B;AAC7B,eAAO,MAAM,MAAM,GAAI,MAAM,UAAU,KAAG,MAAyD,CAAC;AAEpG,qEAAqE;AACrE,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQzE;AAED,qDAAqD;AACrD,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAIvE;AAED,iFAAiF;AACjF,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxF;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAQxG"}
@@ -0,0 +1,81 @@
1
+ import { type LatestJson } from '../updates/manifest.js';
2
+ /** How a {@link WebPatcher} finds its webs and its store. */
3
+ export interface WebPatcherOptions {
4
+ /** Where patched webs are built and kept, e.g. `join(app.getPath('userData'), 'web')`. */
5
+ root: string;
6
+ /** The web the installed build ships (the folder holding its `index.html`). */
7
+ builtinDir: string;
8
+ /** The installed build's version (`app.getVersion()`): a patched web must be newer to be loaded. */
9
+ appVersion: string;
10
+ /** This shell's identity (`shellId`), or a function reckoning it on first use. */
11
+ shell: string | (() => string);
12
+ /** The store's channel, e.g. `https://store.example/public/live`: `latest.json`, `web/…`, `files/…` lie under it. */
13
+ channelUrl: string;
14
+ /** False in a dev run: the built-in web is always loaded and nothing is read or tidied. Default true. */
15
+ packaged?: boolean;
16
+ /** Starts an unconfirmed web gets before it is dropped. Default 2. */
17
+ maxTries?: number;
18
+ /** Fall back to the last web that booted, rather than the built-in one, when a new web never boots. Default true. */
19
+ keepPrevious?: boolean;
20
+ /** The page file in a web. Default `index.html`. */
21
+ entry?: string;
22
+ /** Downloads at once. Default 6. */
23
+ parallel?: number;
24
+ /** Per request. Default 15 000 ms. */
25
+ fetchTimeoutMs?: number;
26
+ /** Default `globalThis.fetch`. */
27
+ fetch?: typeof fetch;
28
+ /** Where a failure to read the patched webs is reported. Default `console.error`. */
29
+ log?: (...args: unknown[]) => void;
30
+ }
31
+ /**
32
+ * A desktop shell that patches its web file by file, the way a game launcher does: the web a build ships is its
33
+ * built-in copy, and every newer web is assembled beside it in `<root>/<version>/` from the files already held plus
34
+ * only those whose content is new (`<channel>/files/<sha256>`, checked against their hash), then loaded in its place.
35
+ * A web is taken only by a shell of the same identity; any other change needs an installer. A web that never reports
36
+ * booting ({@link markBooted}, from the page) within `maxTries` starts is dropped, and the shell goes back to the last
37
+ * web that did — or the built-in one — so a broken release cannot lock a player out.
38
+ *
39
+ * Use one per process: {@link startEntry} first (it decides which web this run loads), then the update calls.
40
+ */
41
+ export declare class WebPatcher {
42
+ private readonly options;
43
+ private readonly o;
44
+ private readonly pointers;
45
+ private shellValue;
46
+ /** The web this run loads, and its version (the installed build's own when none is patched in). */
47
+ private loaded;
48
+ /** The tidy a start began: a build waits for it, or it could delete the `.part` folder being filled. */
49
+ private tidying;
50
+ constructor(options: WebPatcherOptions);
51
+ /** This shell's identity. */
52
+ get shell(): string;
53
+ /** Where the window loads the page from: a patched web when there is a good one, else the built-in copy. */
54
+ startEntry(): string;
55
+ /** The version of the web running now. */
56
+ webVersion(): string;
57
+ /** The page came up: the web it was loaded from is kept from now on. Call it from the page's own "booted" message. */
58
+ markBooted(): void;
59
+ /** The channel's newest build, or null when the store cannot be read. */
60
+ latest(): Promise<LatestJson | null>;
61
+ /** Whether `l`'s web can be patched in here rather than installed: newer than the web running, for this shell. */
62
+ patchable(l: LatestJson): boolean;
63
+ /**
64
+ * Builds `l`'s web beside the one running: the files held are copied, the rest downloaded and checked, into
65
+ * `<version>.part/`, which becomes `<version>/` and the pending web once whole — a crash mid-way never leaves a
66
+ * folder that looks finished. `onProgress` gets 0–100. Resolves with the version built; throws on any failure.
67
+ */
68
+ prepare(l: LatestJson, onProgress?: (percent: number) => void): Promise<string>;
69
+ /**
70
+ * Puts the pending web in use now and returns the page to load (reload every window from it), or null when there is
71
+ * none this shell may load. The switch counts as its first start, so a web that never boots is still dropped.
72
+ */
73
+ applyPending(): string | null;
74
+ /** Makes `p` the active web, keeping the one it replaces as the fallback when that one ever booted. */
75
+ private promote;
76
+ /** A pointer this shell may load: its own shell, newer than the installed build, its folder whole. */
77
+ private usable;
78
+ /** Removes every patched web but the active, pending and previous one, and any half-made folder. */
79
+ tidy(): Promise<void>;
80
+ }
81
+ //# sourceMappingURL=webPatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webPatcher.d.ts","sourceRoot":"","sources":["../../../src/electron/webPatcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKvF,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;IACnB,oGAAoG;IACpG,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAC/B,qHAAqH;IACrH,UAAU,EAAE,MAAM,CAAC;IACnB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qHAAqH;IACrH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,qFAAqF;IACrF,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,qBAAa,UAAU;IAST,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAA6C;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,UAAU,CAAuB;IACzC,mGAAmG;IACnG,OAAO,CAAC,MAAM,CAAiD;IAC/D,wGAAwG;IACxG,OAAO,CAAC,OAAO,CAAoC;gBAEtB,OAAO,EAAE,iBAAiB;IAkBvD,6BAA6B;IAC7B,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED,4GAA4G;IAC5G,UAAU,IAAI,MAAM;IAgCpB,0CAA0C;IAC1C,UAAU,IAAI,MAAM;IAIpB,sHAAsH;IACtH,UAAU,IAAI,IAAI;IAKlB,yEAAyE;IACnE,MAAM,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAW1C,kHAAkH;IAClH,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAIjC;;;;OAIG;IACG,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmDtG;;;OAGG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAS7B,uGAAuG;IACvG,OAAO,CAAC,OAAO;IAMf,sGAAsG;IACtG,OAAO,CAAC,MAAM;IAId,oGAAoG;IAC9F,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAY5B"}
@@ -0,0 +1,20 @@
1
+ /** Which patched web a pointer names, and whether it ever came up. */
2
+ export interface WebPointer {
3
+ version: string;
4
+ shell: string;
5
+ /** The page reported booting from it at least once. */
6
+ booted: boolean;
7
+ /** Starts it was loaded on without booting. */
8
+ tries: number;
9
+ }
10
+ /** `active`: in use; `pending`: built, put in use on the next start; `previous`: the last web that booted before `active`. */
11
+ export type PointerName = 'active' | 'pending' | 'previous';
12
+ /** The pointer files beside the patched webs (`<root>/<name>.json`), read and written whole. */
13
+ export declare class WebPointers {
14
+ private readonly root;
15
+ constructor(root: string);
16
+ read(name: PointerName): WebPointer | null;
17
+ write(name: PointerName, p: WebPointer | null): void;
18
+ private file;
19
+ }
20
+ //# sourceMappingURL=webPointers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webPointers.d.ts","sourceRoot":"","sources":["../../../src/electron/webPointers.ts"],"names":[],"mappings":"AAGA,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,8HAA8H;AAC9H,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAE5D,gGAAgG;AAChG,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM;IAEzC,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,IAAI;IAU1C,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAOpD,OAAO,CAAC,IAAI;CAGb"}