1681-engine 0.5.8 → 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 (600) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/1681-engine.js +463 -409
  3. package/dist/ambient/ColorGrade.js +0 -1
  4. package/dist/ambient/DayClock.js +0 -1
  5. package/dist/ambient/WeatherLayer.js +0 -1
  6. package/dist/ambient/grade.js +0 -1
  7. package/dist/ambient/weather.js +0 -1
  8. package/dist/anim/AnimStateMachine.js +0 -1
  9. package/dist/anim/Animator.js +0 -1
  10. package/dist/anim/animStateCompile.js +0 -1
  11. package/dist/anim/animStateSystem.js +0 -1
  12. package/dist/anim/animationSystem.js +0 -1
  13. package/dist/anim/asepriteSlices.js +0 -1
  14. package/dist/anim/asepriteTags.js +0 -1
  15. package/dist/anim/parseAseprite.js +0 -1
  16. package/dist/assets/AssetLoader.js +112 -14
  17. package/dist/assets/loadAseprite.js +0 -1
  18. package/dist/assets/takeCleanerWorker-DTcI_Jqr.js +0 -1
  19. package/dist/assets/textureAtlas.js +58 -0
  20. package/dist/audio/Footsteps.js +0 -1
  21. package/dist/audio/MusicPlayer.js +0 -1
  22. package/dist/audio/SoundEngine.js +13 -7
  23. package/dist/audio/cleanTake.js +0 -1
  24. package/dist/audio/music/ElementVoice.js +0 -1
  25. package/dist/audio/music/GraphVoice.js +0 -1
  26. package/dist/audio/music/MusicChannel.js +0 -1
  27. package/dist/audio/music/musicVoice.js +0 -1
  28. package/dist/audio/sampleBank.js +0 -1
  29. package/dist/audio/soundTable.js +0 -1
  30. package/dist/audio/synth.js +0 -1
  31. package/dist/core/BitmapLabel.js +0 -1
  32. package/dist/core/Camera.js +1 -2
  33. package/dist/core/Clock.js +31 -21
  34. package/dist/core/Graphics.js +0 -1
  35. package/dist/core/Group.js +0 -1
  36. package/dist/core/Image.js +0 -1
  37. package/dist/core/ObjectFactory.js +0 -1
  38. package/dist/core/Pointer.js +46 -24
  39. package/dist/core/Rectangle.js +0 -1
  40. package/dist/core/Stage.js +5 -6
  41. package/dist/core/Text.js +0 -1
  42. package/dist/core/TextureRegistry.js +54 -24
  43. package/dist/core/Timeline.js +0 -1
  44. package/dist/core/TimelineBuilder.js +0 -1
  45. package/dist/core/TimelineChild.js +0 -1
  46. package/dist/core/Tweener.js +0 -1
  47. package/dist/core/atlas.js +0 -1
  48. package/dist/core/atlasPlan.js +0 -1
  49. package/dist/core/blendLayer.js +11 -0
  50. package/dist/core/eases.js +0 -1
  51. package/dist/core/gameObject.js +22 -20
  52. package/dist/core/pixelZoom.js +43 -0
  53. package/dist/core/pixiPatches.js +0 -1
  54. package/dist/core/runDue.js +28 -0
  55. package/dist/core/silhouette.js +49 -0
  56. package/dist/core/timelinePlace.js +0 -1
  57. package/dist/core/tweenProps.js +0 -1
  58. package/dist/debug/DebugOverlay.js +0 -1
  59. package/dist/debug/DrawCallCounter.js +15 -12
  60. package/dist/debug/ErrorLog.js +0 -1
  61. package/dist/debug/FrameStats.js +0 -1
  62. package/dist/debug/inspectWorld.js +0 -1
  63. package/dist/diagnostics/ErrorDeduper.js +0 -1
  64. package/dist/diagnostics/FrameSampler.js +0 -1
  65. package/dist/diagnostics/bootWatch.js +0 -1
  66. package/dist/diagnostics/captureErrors.js +0 -1
  67. package/dist/diagnostics/contextLoss.js +0 -1
  68. package/dist/diagnostics/frameStats.js +0 -1
  69. package/dist/diagnostics/gpuInfo.js +0 -1
  70. package/dist/diagnostics/renderGuard.js +0 -1
  71. package/dist/ecs/SparseSet.js +0 -1
  72. package/dist/ecs/World.js +0 -1
  73. package/dist/ecs/fields.js +0 -1
  74. package/dist/engine/Engine.js +42 -18
  75. package/dist/engine/FixedLoop.js +0 -1
  76. package/dist/engine/HiddenPause.js +27 -0
  77. package/dist/engine/Scene.js +0 -1
  78. package/dist/engine/SceneManager.js +0 -1
  79. package/dist/events/EventBus.js +0 -1
  80. package/dist/fx/Afterimages.js +82 -0
  81. package/dist/fx/FloatingText.js +0 -1
  82. package/dist/fx/hitStop.js +0 -1
  83. package/dist/fx/viewCull.js +0 -1
  84. package/dist/i18n/Translator.js +0 -1
  85. package/dist/i18n/extractStrings.js +0 -1
  86. package/dist/i18n/formatMessage.js +0 -1
  87. package/dist/input/Actions.js +29 -21
  88. package/dist/input/AimGesture.js +0 -1
  89. package/dist/input/Keyboard.js +0 -1
  90. package/dist/input/Keymap.js +0 -1
  91. package/dist/input/TargetLock.js +0 -1
  92. package/dist/input/aimAxis.js +0 -1
  93. package/dist/input/keyChord.js +0 -1
  94. package/dist/input/longPress.js +0 -1
  95. package/dist/input/rumble.js +42 -0
  96. package/dist/input/stickAxis.js +0 -1
  97. package/dist/input/touchDetect.js +0 -1
  98. package/dist/light/LightLayer.js +0 -1
  99. package/dist/nav/MinHeap.js +0 -1
  100. package/dist/nav/findPath.js +0 -1
  101. package/dist/nav/navGrid.js +0 -1
  102. package/dist/nav/nearestOpen.js +0 -1
  103. package/dist/nav/straightenPath.js +0 -1
  104. package/dist/net/Connection.js +39 -16
  105. package/dist/net/InterpolationBuffer.js +0 -1
  106. package/dist/net/PredictedMover.js +0 -1
  107. package/dist/net/Room.js +0 -1
  108. package/dist/net/RoomHost.js +0 -1
  109. package/dist/net/cadence.js +0 -1
  110. package/dist/net/constants.js +0 -1
  111. package/dist/net/lobby/LobbyClient.js +0 -1
  112. package/dist/net/lobby/LobbyHost.js +0 -1
  113. package/dist/net/lobby/LobbyRooms.js +0 -1
  114. package/dist/net/lobby/Matchmaker.js +0 -1
  115. package/dist/net/movement.js +40 -39
  116. package/dist/net/protocol.js +0 -1
  117. package/dist/net/reconnect.js +10 -0
  118. package/dist/net/serverClock.js +0 -1
  119. package/dist/net/snapshotCodec.js +0 -1
  120. package/dist/parallax/Parallax.js +0 -1
  121. package/dist/parallax/ParallaxLayer.js +0 -1
  122. package/dist/parallax/parallaxMath.js +0 -1
  123. package/dist/particles/Emitter.js +0 -1
  124. package/dist/particles/ParticleBudget.js +0 -1
  125. package/dist/particles/ParticleSim.js +0 -1
  126. package/dist/particles/particleCurves.js +0 -1
  127. package/dist/particles/particleSampling.js +0 -1
  128. package/dist/physics/Body.js +0 -1
  129. package/dist/physics/BroadPhase.js +0 -1
  130. package/dist/physics/Contact.js +0 -1
  131. package/dist/physics/ContactSolver.js +0 -1
  132. package/dist/physics/PhysicsWorld.js +0 -1
  133. package/dist/physics/SpatialHash.js +0 -1
  134. package/dist/physics/collide.js +0 -1
  135. package/dist/physics/collidePolygon.js +0 -1
  136. package/dist/physics/contactReport.js +0 -1
  137. package/dist/physics/drawColliders.js +0 -1
  138. package/dist/physics/physicsSystem.js +0 -1
  139. package/dist/physics/polygon.js +0 -1
  140. package/dist/physics/raycast.js +0 -1
  141. package/dist/physics/syncToBody.js +0 -1
  142. package/dist/physics/tileBodies.js +0 -1
  143. package/dist/physics/types.js +0 -1
  144. package/dist/pixel/Darkness.js +50 -47
  145. package/dist/pixel/DitherVignette.js +0 -1
  146. package/dist/pixel/Evaporation.js +0 -1
  147. package/dist/pixel/NightShade.js +0 -1
  148. package/dist/pixel/PixelLayer.js +0 -1
  149. package/dist/pixel/PixelMarks.js +99 -0
  150. package/dist/pixel/SwayProp.js +0 -1
  151. package/dist/pixel/aimPixels.js +67 -0
  152. package/dist/pixel/lights.js +0 -1
  153. package/dist/pixel/nineSlice.js +0 -1
  154. package/dist/pixel/paintLayer.js +0 -1
  155. package/dist/pixel/palette.js +0 -1
  156. package/dist/pixel/pixel.js +0 -1
  157. package/dist/pixel/pixelPaint.js +27 -24
  158. package/dist/pixel/pixelParticles.js +35 -0
  159. package/dist/pixel/pixelTone.js +0 -1
  160. package/dist/pixel/propKit.js +0 -1
  161. package/dist/pixel/ramp.js +0 -1
  162. package/dist/pixel/selout.js +0 -1
  163. package/dist/pixel/spritePixels.js +0 -1
  164. package/dist/pixel/swayRig.js +0 -1
  165. package/dist/pixel/vignetteMask.js +0 -1
  166. package/dist/pixel/weatherArt.js +0 -1
  167. package/dist/pixel.js +71 -65
  168. package/dist/platform/appResume.js +18 -0
  169. package/dist/platform/fullscreen.js +52 -0
  170. package/dist/platform/orientation.js +26 -0
  171. package/dist/platform/pointerLock.js +37 -0
  172. package/dist/platform/reducedMotion.js +23 -0
  173. package/dist/platform/timeoutSignal.js +14 -0
  174. package/dist/platform/touch.js +0 -1
  175. package/dist/postfx/BloomFilter.js +0 -1
  176. package/dist/postfx/ChromaticAberrationFilter.js +0 -1
  177. package/dist/postfx/ColorAdjustFilter.js +0 -1
  178. package/dist/postfx/CrtFilter.js +0 -1
  179. package/dist/postfx/PixelateFilter.js +0 -1
  180. package/dist/postfx/PostFx.js +0 -1
  181. package/dist/postfx/ShockwaveFilter.js +0 -1
  182. package/dist/postfx/VignetteFilter.js +0 -1
  183. package/dist/postfx/fxAnimator.js +0 -1
  184. package/dist/postfx/fxShader.js +0 -1
  185. package/dist/postfx.js +0 -1
  186. package/dist/react/ChoiceDialog.js +0 -1
  187. package/dist/react/ConfirmDialog.js +0 -1
  188. package/dist/react/Glyph.js +0 -1
  189. package/dist/react/Modal.js +0 -1
  190. package/dist/react/Panel.js +0 -1
  191. package/dist/react/PixelImage.js +0 -1
  192. package/dist/react/Select.js +0 -1
  193. package/dist/react/Slider.js +0 -1
  194. package/dist/react/SplitPane.js +0 -1
  195. package/dist/react/TabStrip.js +0 -1
  196. package/dist/react/TitleTips.js +0 -1
  197. package/dist/react/Tooltip.js +0 -1
  198. package/dist/react/UiProvider.js +0 -1
  199. package/dist/react/baseCss.js +0 -1
  200. package/dist/react/choiceStore.js +0 -1
  201. package/dist/react/classNames.js +0 -1
  202. package/dist/react/confirmStore.js +0 -1
  203. package/dist/react/labels.js +0 -1
  204. package/dist/react/placement.js +0 -1
  205. package/dist/react/useFillSheet.js +0 -1
  206. package/dist/react/useFitToViewport.js +0 -1
  207. package/dist/react/usePicked.js +0 -1
  208. package/dist/react/useStore.js +0 -1
  209. package/dist/react/useViewport.js +0 -1
  210. package/dist/react.js +0 -1
  211. package/dist/rig/PosePlayer.js +0 -1
  212. package/dist/rig/RigView.js +0 -1
  213. package/dist/rig/Skeleton.js +0 -1
  214. package/dist/rig/humanoid.js +0 -1
  215. package/dist/rig/humanoid.json.js +0 -1
  216. package/dist/rig/humanoidPoses.js +0 -1
  217. package/dist/rig/poseMath.js +0 -1
  218. package/dist/rig/poses.json.js +0 -1
  219. package/dist/save/Autosaver.js +0 -1
  220. package/dist/save/MemoryBackend.js +0 -1
  221. package/dist/save/SaveStore.js +0 -1
  222. package/dist/save/WebStorageBackend.js +0 -1
  223. package/dist/save/checksum.js +0 -1
  224. package/dist/save/migrateSave.js +0 -1
  225. package/dist/settings.js +0 -1
  226. package/dist/tilemap/TilemapView.js +0 -1
  227. package/dist/tilemap/collision.js +0 -1
  228. package/dist/tilemap/tiled.js +0 -1
  229. package/dist/transitions/CrossfadeTransition.js +0 -1
  230. package/dist/transitions/DitherWipeTransition.js +0 -1
  231. package/dist/transitions/FadeTransition.js +0 -1
  232. package/dist/transitions/Letterbox.js +0 -1
  233. package/dist/transitions/ditherMask.js +0 -1
  234. package/dist/transitions/transitionTo.js +0 -1
  235. package/dist/transitions/tweenDone.js +0 -1
  236. package/dist/types/assets/AssetLoader.d.ts +63 -8
  237. package/dist/types/assets/AssetLoader.d.ts.map +1 -1
  238. package/dist/types/assets/textureAtlas.d.ts +35 -0
  239. package/dist/types/assets/textureAtlas.d.ts.map +1 -0
  240. package/dist/types/audio/SoundEngine.d.ts +5 -0
  241. package/dist/types/audio/SoundEngine.d.ts.map +1 -1
  242. package/dist/types/core/Camera.d.ts +1 -1
  243. package/dist/types/core/Camera.d.ts.map +1 -1
  244. package/dist/types/core/Clock.d.ts +14 -2
  245. package/dist/types/core/Clock.d.ts.map +1 -1
  246. package/dist/types/core/Pointer.d.ts +18 -0
  247. package/dist/types/core/Pointer.d.ts.map +1 -1
  248. package/dist/types/core/Stage.d.ts.map +1 -1
  249. package/dist/types/core/TextureRegistry.d.ts +39 -0
  250. package/dist/types/core/TextureRegistry.d.ts.map +1 -1
  251. package/dist/types/core/blendLayer.d.ts +23 -0
  252. package/dist/types/core/blendLayer.d.ts.map +1 -0
  253. package/dist/types/core/gameObject.d.ts.map +1 -1
  254. package/dist/types/core/pixelZoom.d.ts +45 -0
  255. package/dist/types/core/pixelZoom.d.ts.map +1 -0
  256. package/dist/types/core/runDue.d.ts +15 -0
  257. package/dist/types/core/runDue.d.ts.map +1 -0
  258. package/dist/types/core/silhouette.d.ts +16 -0
  259. package/dist/types/core/silhouette.d.ts.map +1 -0
  260. package/dist/types/debug/DrawCallCounter.d.ts.map +1 -1
  261. package/dist/types/engine/Engine.d.ts +16 -0
  262. package/dist/types/engine/Engine.d.ts.map +1 -1
  263. package/dist/types/engine/HiddenPause.d.ts +22 -0
  264. package/dist/types/engine/HiddenPause.d.ts.map +1 -0
  265. package/dist/types/fx/Afterimages.d.ts +62 -0
  266. package/dist/types/fx/Afterimages.d.ts.map +1 -0
  267. package/dist/types/index.d.ts +18 -3
  268. package/dist/types/index.d.ts.map +1 -1
  269. package/dist/types/input/Actions.d.ts +7 -1
  270. package/dist/types/input/Actions.d.ts.map +1 -1
  271. package/dist/types/input/rumble.d.ts +41 -0
  272. package/dist/types/input/rumble.d.ts.map +1 -0
  273. package/dist/types/net/Connection.d.ts +22 -0
  274. package/dist/types/net/Connection.d.ts.map +1 -1
  275. package/dist/types/net/constants.d.ts +13 -4
  276. package/dist/types/net/constants.d.ts.map +1 -1
  277. package/dist/types/net/movement.d.ts.map +1 -1
  278. package/dist/types/net/reconnect.d.ts +14 -0
  279. package/dist/types/net/reconnect.d.ts.map +1 -0
  280. package/dist/types/pixel/Darkness.d.ts +17 -5
  281. package/dist/types/pixel/Darkness.d.ts.map +1 -1
  282. package/dist/types/pixel/PixelMarks.d.ts +68 -0
  283. package/dist/types/pixel/PixelMarks.d.ts.map +1 -0
  284. package/dist/types/pixel/aimPixels.d.ts +23 -0
  285. package/dist/types/pixel/aimPixels.d.ts.map +1 -0
  286. package/dist/types/pixel/index.d.ts +3 -1
  287. package/dist/types/pixel/index.d.ts.map +1 -1
  288. package/dist/types/pixel/pixelPaint.d.ts +1 -0
  289. package/dist/types/pixel/pixelPaint.d.ts.map +1 -1
  290. package/dist/types/pixel/pixelParticles.d.ts +21 -0
  291. package/dist/types/pixel/pixelParticles.d.ts.map +1 -0
  292. package/dist/types/platform/appResume.d.ts +25 -0
  293. package/dist/types/platform/appResume.d.ts.map +1 -0
  294. package/dist/types/platform/fullscreen.d.ts +37 -0
  295. package/dist/types/platform/fullscreen.d.ts.map +1 -0
  296. package/dist/types/platform/orientation.d.ts +19 -0
  297. package/dist/types/platform/orientation.d.ts.map +1 -0
  298. package/dist/types/platform/pointerLock.d.ts +26 -0
  299. package/dist/types/platform/pointerLock.d.ts.map +1 -0
  300. package/dist/types/platform/reducedMotion.d.ts +20 -0
  301. package/dist/types/platform/reducedMotion.d.ts.map +1 -0
  302. package/dist/types/platform/timeoutSignal.d.ts +6 -0
  303. package/dist/types/platform/timeoutSignal.d.ts.map +1 -0
  304. package/dist/types/ui/index.d.ts +4 -0
  305. package/dist/types/ui/index.d.ts.map +1 -1
  306. package/dist/types/ui/rich/RichText.d.ts +48 -0
  307. package/dist/types/ui/rich/RichText.d.ts.map +1 -0
  308. package/dist/types/ui/rich/richFonts.d.ts +70 -0
  309. package/dist/types/ui/rich/richFonts.d.ts.map +1 -0
  310. package/dist/types/ui/rich/richLayout.d.ts +76 -0
  311. package/dist/types/ui/rich/richLayout.d.ts.map +1 -0
  312. package/dist/types/ui/rich/richMarkup.d.ts +48 -0
  313. package/dist/types/ui/rich/richMarkup.d.ts.map +1 -0
  314. package/dist/ui/Bar.js +0 -1
  315. package/dist/ui/Button.js +0 -1
  316. package/dist/ui/Dialog.js +0 -1
  317. package/dist/ui/FocusManager.js +0 -1
  318. package/dist/ui/Label.js +0 -1
  319. package/dist/ui/List.js +0 -1
  320. package/dist/ui/Panel.js +0 -1
  321. package/dist/ui/ScrollView.js +0 -1
  322. package/dist/ui/Slider.js +0 -1
  323. package/dist/ui/Stack.js +0 -1
  324. package/dist/ui/Toggle.js +0 -1
  325. package/dist/ui/UiHost.js +0 -1
  326. package/dist/ui/UiPointerGate.js +0 -1
  327. package/dist/ui/UiRoot.js +0 -1
  328. package/dist/ui/Widget.js +0 -1
  329. package/dist/ui/dom/DomOverlay.js +0 -1
  330. package/dist/ui/dom/DomWorldAnchors.js +0 -1
  331. package/dist/ui/dom/InputShield.js +0 -1
  332. package/dist/ui/dom/createStore.js +0 -1
  333. package/dist/ui/dom/shieldDecision.js +0 -1
  334. package/dist/ui/dom/worldToScreen.js +0 -1
  335. package/dist/ui/layout/anchor.js +0 -1
  336. package/dist/ui/layout/barDrain.js +0 -1
  337. package/dist/ui/layout/fitToViewport.js +0 -1
  338. package/dist/ui/layout/focusNav.js +0 -1
  339. package/dist/ui/layout/geometry.js +0 -1
  340. package/dist/ui/layout/listWidth.js +0 -1
  341. package/dist/ui/layout/placeTooltip.js +0 -1
  342. package/dist/ui/layout/scroll.js +0 -1
  343. package/dist/ui/layout/slider.js +0 -1
  344. package/dist/ui/layout/stack.js +0 -1
  345. package/dist/ui/layout/wrapRow.js +0 -1
  346. package/dist/ui/rich/RichText.js +87 -0
  347. package/dist/ui/rich/richFonts.js +105 -0
  348. package/dist/ui/rich/richLayout.js +132 -0
  349. package/dist/ui/rich/richMarkup.js +67 -0
  350. package/dist/ui.js +75 -65
  351. package/package.json +1 -4
  352. package/dist/1681-engine.js.map +0 -1
  353. package/dist/ambient/ColorGrade.js.map +0 -1
  354. package/dist/ambient/DayClock.js.map +0 -1
  355. package/dist/ambient/WeatherLayer.js.map +0 -1
  356. package/dist/ambient/grade.js.map +0 -1
  357. package/dist/ambient/weather.js.map +0 -1
  358. package/dist/anim/AnimStateMachine.js.map +0 -1
  359. package/dist/anim/Animator.js.map +0 -1
  360. package/dist/anim/animStateCompile.js.map +0 -1
  361. package/dist/anim/animStateSystem.js.map +0 -1
  362. package/dist/anim/animationSystem.js.map +0 -1
  363. package/dist/anim/asepriteSlices.js.map +0 -1
  364. package/dist/anim/asepriteTags.js.map +0 -1
  365. package/dist/anim/parseAseprite.js.map +0 -1
  366. package/dist/assets/AssetLoader.js.map +0 -1
  367. package/dist/assets/loadAseprite.js.map +0 -1
  368. package/dist/assets/takeCleanerWorker-DTcI_Jqr.js.map +0 -1
  369. package/dist/audio/Footsteps.js.map +0 -1
  370. package/dist/audio/MusicPlayer.js.map +0 -1
  371. package/dist/audio/SoundEngine.js.map +0 -1
  372. package/dist/audio/cleanTake.js.map +0 -1
  373. package/dist/audio/music/ElementVoice.js.map +0 -1
  374. package/dist/audio/music/GraphVoice.js.map +0 -1
  375. package/dist/audio/music/MusicChannel.js.map +0 -1
  376. package/dist/audio/music/musicVoice.js.map +0 -1
  377. package/dist/audio/sampleBank.js.map +0 -1
  378. package/dist/audio/soundTable.js.map +0 -1
  379. package/dist/audio/synth.js.map +0 -1
  380. package/dist/core/BitmapLabel.js.map +0 -1
  381. package/dist/core/Camera.js.map +0 -1
  382. package/dist/core/Clock.js.map +0 -1
  383. package/dist/core/Graphics.js.map +0 -1
  384. package/dist/core/Group.js.map +0 -1
  385. package/dist/core/Image.js.map +0 -1
  386. package/dist/core/ObjectFactory.js.map +0 -1
  387. package/dist/core/Pointer.js.map +0 -1
  388. package/dist/core/Rectangle.js.map +0 -1
  389. package/dist/core/Stage.js.map +0 -1
  390. package/dist/core/Text.js.map +0 -1
  391. package/dist/core/TextureRegistry.js.map +0 -1
  392. package/dist/core/Timeline.js.map +0 -1
  393. package/dist/core/TimelineBuilder.js.map +0 -1
  394. package/dist/core/TimelineChild.js.map +0 -1
  395. package/dist/core/Tweener.js.map +0 -1
  396. package/dist/core/atlas.js.map +0 -1
  397. package/dist/core/atlasPlan.js.map +0 -1
  398. package/dist/core/eases.js.map +0 -1
  399. package/dist/core/gameObject.js.map +0 -1
  400. package/dist/core/pixiPatches.js.map +0 -1
  401. package/dist/core/timelinePlace.js.map +0 -1
  402. package/dist/core/tweenProps.js.map +0 -1
  403. package/dist/debug/DebugOverlay.js.map +0 -1
  404. package/dist/debug/DrawCallCounter.js.map +0 -1
  405. package/dist/debug/ErrorLog.js.map +0 -1
  406. package/dist/debug/FrameStats.js.map +0 -1
  407. package/dist/debug/inspectWorld.js.map +0 -1
  408. package/dist/diagnostics/ErrorDeduper.js.map +0 -1
  409. package/dist/diagnostics/FrameSampler.js.map +0 -1
  410. package/dist/diagnostics/bootWatch.js.map +0 -1
  411. package/dist/diagnostics/captureErrors.js.map +0 -1
  412. package/dist/diagnostics/contextLoss.js.map +0 -1
  413. package/dist/diagnostics/frameStats.js.map +0 -1
  414. package/dist/diagnostics/gpuInfo.js.map +0 -1
  415. package/dist/diagnostics/renderGuard.js.map +0 -1
  416. package/dist/ecs/SparseSet.js.map +0 -1
  417. package/dist/ecs/World.js.map +0 -1
  418. package/dist/ecs/fields.js.map +0 -1
  419. package/dist/engine/Engine.js.map +0 -1
  420. package/dist/engine/FixedLoop.js.map +0 -1
  421. package/dist/engine/Scene.js.map +0 -1
  422. package/dist/engine/SceneManager.js.map +0 -1
  423. package/dist/events/EventBus.js.map +0 -1
  424. package/dist/fx/FloatingText.js.map +0 -1
  425. package/dist/fx/hitStop.js.map +0 -1
  426. package/dist/fx/viewCull.js.map +0 -1
  427. package/dist/i18n/Translator.js.map +0 -1
  428. package/dist/i18n/extractStrings.js.map +0 -1
  429. package/dist/i18n/formatMessage.js.map +0 -1
  430. package/dist/input/Actions.js.map +0 -1
  431. package/dist/input/AimGesture.js.map +0 -1
  432. package/dist/input/Keyboard.js.map +0 -1
  433. package/dist/input/Keymap.js.map +0 -1
  434. package/dist/input/TargetLock.js.map +0 -1
  435. package/dist/input/aimAxis.js.map +0 -1
  436. package/dist/input/keyChord.js.map +0 -1
  437. package/dist/input/longPress.js.map +0 -1
  438. package/dist/input/stickAxis.js.map +0 -1
  439. package/dist/input/touchDetect.js.map +0 -1
  440. package/dist/light/LightLayer.js.map +0 -1
  441. package/dist/nav/MinHeap.js.map +0 -1
  442. package/dist/nav/findPath.js.map +0 -1
  443. package/dist/nav/navGrid.js.map +0 -1
  444. package/dist/nav/nearestOpen.js.map +0 -1
  445. package/dist/nav/straightenPath.js.map +0 -1
  446. package/dist/net/Connection.js.map +0 -1
  447. package/dist/net/InterpolationBuffer.js.map +0 -1
  448. package/dist/net/PredictedMover.js.map +0 -1
  449. package/dist/net/Room.js.map +0 -1
  450. package/dist/net/RoomHost.js.map +0 -1
  451. package/dist/net/cadence.js.map +0 -1
  452. package/dist/net/constants.js.map +0 -1
  453. package/dist/net/lobby/LobbyClient.js.map +0 -1
  454. package/dist/net/lobby/LobbyHost.js.map +0 -1
  455. package/dist/net/lobby/LobbyRooms.js.map +0 -1
  456. package/dist/net/lobby/Matchmaker.js.map +0 -1
  457. package/dist/net/movement.js.map +0 -1
  458. package/dist/net/protocol.js.map +0 -1
  459. package/dist/net/serverClock.js.map +0 -1
  460. package/dist/net/snapshotCodec.js.map +0 -1
  461. package/dist/parallax/Parallax.js.map +0 -1
  462. package/dist/parallax/ParallaxLayer.js.map +0 -1
  463. package/dist/parallax/parallaxMath.js.map +0 -1
  464. package/dist/particles/Emitter.js.map +0 -1
  465. package/dist/particles/ParticleBudget.js.map +0 -1
  466. package/dist/particles/ParticleSim.js.map +0 -1
  467. package/dist/particles/particleCurves.js.map +0 -1
  468. package/dist/particles/particleSampling.js.map +0 -1
  469. package/dist/physics/Body.js.map +0 -1
  470. package/dist/physics/BroadPhase.js.map +0 -1
  471. package/dist/physics/Contact.js.map +0 -1
  472. package/dist/physics/ContactSolver.js.map +0 -1
  473. package/dist/physics/PhysicsWorld.js.map +0 -1
  474. package/dist/physics/SpatialHash.js.map +0 -1
  475. package/dist/physics/collide.js.map +0 -1
  476. package/dist/physics/collidePolygon.js.map +0 -1
  477. package/dist/physics/contactReport.js.map +0 -1
  478. package/dist/physics/drawColliders.js.map +0 -1
  479. package/dist/physics/physicsSystem.js.map +0 -1
  480. package/dist/physics/polygon.js.map +0 -1
  481. package/dist/physics/raycast.js.map +0 -1
  482. package/dist/physics/syncToBody.js.map +0 -1
  483. package/dist/physics/tileBodies.js.map +0 -1
  484. package/dist/physics/types.js.map +0 -1
  485. package/dist/pixel/Darkness.js.map +0 -1
  486. package/dist/pixel/DitherVignette.js.map +0 -1
  487. package/dist/pixel/Evaporation.js.map +0 -1
  488. package/dist/pixel/NightShade.js.map +0 -1
  489. package/dist/pixel/PixelLayer.js.map +0 -1
  490. package/dist/pixel/SwayProp.js.map +0 -1
  491. package/dist/pixel/lights.js.map +0 -1
  492. package/dist/pixel/nineSlice.js.map +0 -1
  493. package/dist/pixel/paintLayer.js.map +0 -1
  494. package/dist/pixel/palette.js.map +0 -1
  495. package/dist/pixel/pixel.js.map +0 -1
  496. package/dist/pixel/pixelPaint.js.map +0 -1
  497. package/dist/pixel/pixelTone.js.map +0 -1
  498. package/dist/pixel/propKit.js.map +0 -1
  499. package/dist/pixel/ramp.js.map +0 -1
  500. package/dist/pixel/selout.js.map +0 -1
  501. package/dist/pixel/spritePixels.js.map +0 -1
  502. package/dist/pixel/swayRig.js.map +0 -1
  503. package/dist/pixel/vignetteMask.js.map +0 -1
  504. package/dist/pixel/weatherArt.js.map +0 -1
  505. package/dist/pixel.js.map +0 -1
  506. package/dist/platform/touch.js.map +0 -1
  507. package/dist/postfx/BloomFilter.js.map +0 -1
  508. package/dist/postfx/ChromaticAberrationFilter.js.map +0 -1
  509. package/dist/postfx/ColorAdjustFilter.js.map +0 -1
  510. package/dist/postfx/CrtFilter.js.map +0 -1
  511. package/dist/postfx/PixelateFilter.js.map +0 -1
  512. package/dist/postfx/PostFx.js.map +0 -1
  513. package/dist/postfx/ShockwaveFilter.js.map +0 -1
  514. package/dist/postfx/VignetteFilter.js.map +0 -1
  515. package/dist/postfx/fxAnimator.js.map +0 -1
  516. package/dist/postfx/fxShader.js.map +0 -1
  517. package/dist/postfx.js.map +0 -1
  518. package/dist/react/ChoiceDialog.js.map +0 -1
  519. package/dist/react/ConfirmDialog.js.map +0 -1
  520. package/dist/react/Glyph.js.map +0 -1
  521. package/dist/react/Modal.js.map +0 -1
  522. package/dist/react/Panel.js.map +0 -1
  523. package/dist/react/PixelImage.js.map +0 -1
  524. package/dist/react/Select.js.map +0 -1
  525. package/dist/react/Slider.js.map +0 -1
  526. package/dist/react/SplitPane.js.map +0 -1
  527. package/dist/react/TabStrip.js.map +0 -1
  528. package/dist/react/TitleTips.js.map +0 -1
  529. package/dist/react/Tooltip.js.map +0 -1
  530. package/dist/react/UiProvider.js.map +0 -1
  531. package/dist/react/baseCss.js.map +0 -1
  532. package/dist/react/choiceStore.js.map +0 -1
  533. package/dist/react/classNames.js.map +0 -1
  534. package/dist/react/confirmStore.js.map +0 -1
  535. package/dist/react/labels.js.map +0 -1
  536. package/dist/react/placement.js.map +0 -1
  537. package/dist/react/useFillSheet.js.map +0 -1
  538. package/dist/react/useFitToViewport.js.map +0 -1
  539. package/dist/react/usePicked.js.map +0 -1
  540. package/dist/react/useStore.js.map +0 -1
  541. package/dist/react/useViewport.js.map +0 -1
  542. package/dist/react.js.map +0 -1
  543. package/dist/rig/PosePlayer.js.map +0 -1
  544. package/dist/rig/RigView.js.map +0 -1
  545. package/dist/rig/Skeleton.js.map +0 -1
  546. package/dist/rig/humanoid.js.map +0 -1
  547. package/dist/rig/humanoid.json.js.map +0 -1
  548. package/dist/rig/humanoidPoses.js.map +0 -1
  549. package/dist/rig/poseMath.js.map +0 -1
  550. package/dist/rig/poses.json.js.map +0 -1
  551. package/dist/save/Autosaver.js.map +0 -1
  552. package/dist/save/MemoryBackend.js.map +0 -1
  553. package/dist/save/SaveStore.js.map +0 -1
  554. package/dist/save/WebStorageBackend.js.map +0 -1
  555. package/dist/save/checksum.js.map +0 -1
  556. package/dist/save/migrateSave.js.map +0 -1
  557. package/dist/settings.js.map +0 -1
  558. package/dist/tilemap/TilemapView.js.map +0 -1
  559. package/dist/tilemap/collision.js.map +0 -1
  560. package/dist/tilemap/tiled.js.map +0 -1
  561. package/dist/transitions/CrossfadeTransition.js.map +0 -1
  562. package/dist/transitions/DitherWipeTransition.js.map +0 -1
  563. package/dist/transitions/FadeTransition.js.map +0 -1
  564. package/dist/transitions/Letterbox.js.map +0 -1
  565. package/dist/transitions/ditherMask.js.map +0 -1
  566. package/dist/transitions/transitionTo.js.map +0 -1
  567. package/dist/transitions/tweenDone.js.map +0 -1
  568. package/dist/ui/Bar.js.map +0 -1
  569. package/dist/ui/Button.js.map +0 -1
  570. package/dist/ui/Dialog.js.map +0 -1
  571. package/dist/ui/FocusManager.js.map +0 -1
  572. package/dist/ui/Label.js.map +0 -1
  573. package/dist/ui/List.js.map +0 -1
  574. package/dist/ui/Panel.js.map +0 -1
  575. package/dist/ui/ScrollView.js.map +0 -1
  576. package/dist/ui/Slider.js.map +0 -1
  577. package/dist/ui/Stack.js.map +0 -1
  578. package/dist/ui/Toggle.js.map +0 -1
  579. package/dist/ui/UiHost.js.map +0 -1
  580. package/dist/ui/UiPointerGate.js.map +0 -1
  581. package/dist/ui/UiRoot.js.map +0 -1
  582. package/dist/ui/Widget.js.map +0 -1
  583. package/dist/ui/dom/DomOverlay.js.map +0 -1
  584. package/dist/ui/dom/DomWorldAnchors.js.map +0 -1
  585. package/dist/ui/dom/InputShield.js.map +0 -1
  586. package/dist/ui/dom/createStore.js.map +0 -1
  587. package/dist/ui/dom/shieldDecision.js.map +0 -1
  588. package/dist/ui/dom/worldToScreen.js.map +0 -1
  589. package/dist/ui/layout/anchor.js.map +0 -1
  590. package/dist/ui/layout/barDrain.js.map +0 -1
  591. package/dist/ui/layout/fitToViewport.js.map +0 -1
  592. package/dist/ui/layout/focusNav.js.map +0 -1
  593. package/dist/ui/layout/geometry.js.map +0 -1
  594. package/dist/ui/layout/listWidth.js.map +0 -1
  595. package/dist/ui/layout/placeTooltip.js.map +0 -1
  596. package/dist/ui/layout/scroll.js.map +0 -1
  597. package/dist/ui/layout/slider.js.map +0 -1
  598. package/dist/ui/layout/stack.js.map +0 -1
  599. package/dist/ui/layout/wrapRow.js.map +0 -1
  600. package/dist/ui.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { type DestroyOptions } from 'pixi.js';
2
+ import type { TextureRegistry } from '../../core/TextureRegistry.js';
3
+ import { Widget } from '../Widget.js';
4
+ import type { RichFont } from './richFonts.js';
5
+ import { type RichAlign, type RichLayout, type RichLayoutOptions } from './richLayout.js';
6
+ import { type RichMarkupOptions } from './richMarkup.js';
7
+ export interface RichTextOptions extends RichLayoutOptions, RichMarkupOptions {
8
+ /** What the runs are drawn with: `CanvasRichFont`, `BitmapRichFont`, or a game's own. */
9
+ font: RichFont;
10
+ /** Where `[icon=…]` keys are looked up; without it icons take no room and draw nothing. */
11
+ textures?: TextureRegistry;
12
+ }
13
+ /**
14
+ * Text with inline markup — colour, bold, italic, size and icons (see `parseRichText`) — wrapped to a width and
15
+ * aligned. A `Widget`, so it stacks and pins like a `Label`, and a plain Pixi container in the world too.
16
+ *
17
+ * It does its work only when the text or the layout options change: no per-frame cost. Its runs and icons are kept
18
+ * and reused when the text changes, so a log line rewritten keeps its display objects. Under a pixel-perfect UI root
19
+ * (or with `pixelPerfect`) every run and icon lands on a whole pixel and icons scale by whole multiples.
20
+ */
21
+ export declare class RichText extends Widget {
22
+ private source;
23
+ private last;
24
+ private readonly runs;
25
+ private readonly icons;
26
+ private readonly measure;
27
+ private readonly options;
28
+ /** Whether the last layout was on whole pixels. */
29
+ private snapped;
30
+ constructor(markup: string, options: RichTextOptions);
31
+ /** The markup shown. */
32
+ get markup(): string;
33
+ /** Where every line, run and icon was placed, for hit-testing a word or drawing behind one. */
34
+ get layout(): RichLayout;
35
+ /** Changes the text; the same markup again costs nothing. */
36
+ setText(markup: string): this;
37
+ /** Wraps to a new width (undefined: only at `\n`). */
38
+ setWrapWidth(width: number | undefined): this;
39
+ setAlign(align: RichAlign): this;
40
+ /** Lays out and draws again: after the font's colours or the icons' textures were swapped under it. */
41
+ relayout(): void;
42
+ destroy(options?: DestroyOptions): void;
43
+ protected redraw(): void;
44
+ private pixelPerfect;
45
+ private addRun;
46
+ private addIcon;
47
+ }
48
+ //# sourceMappingURL=RichText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichText.d.ts","sourceRoot":"","sources":["../../../../src/ui/rich/RichText.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAoB,MAAM,cAAc,CAAC;AACzH,OAAO,EAAiB,KAAK,iBAAiB,EAAkB,MAAM,cAAc,CAAC;AAErF,MAAM,WAAW,eAAgB,SAAQ,iBAAiB,EAAE,iBAAiB;IAC3E,yFAAyF;IACzF,IAAI,EAAE,QAAQ,CAAC;IACf,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,qBAAa,QAAS,SAAQ,MAAM;IAClC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,IAAI,CAAkD;IAC9D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,mDAAmD;IACnD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe;IAmBpD,wBAAwB;IACxB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,+FAA+F;IAC/F,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED,6DAA6D;IAC7D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO7B,sDAAsD;IACtD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ7C,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAOhC,uGAAuG;IACvG,QAAQ,IAAI,IAAI;IAoCP,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI;IAKhD,SAAS,CAAC,MAAM,IAAI,IAAI;IAIxB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;CAOhB"}
@@ -0,0 +1,70 @@
1
+ import { type Container } from 'pixi.js';
2
+ import type { RichMeasure } from './richLayout.js';
3
+ import type { RichStyle } from './richMarkup.js';
4
+ /**
5
+ * What `RichText` draws its runs with: it measures text for the layout and makes and updates one display object a
6
+ * run. Two come with the engine — `CanvasRichFont` (any font, bold and italic) and `BitmapRichFont` (glyphs baked
7
+ * once, cheap to change) — and a game may write its own.
8
+ */
9
+ export interface RichFont extends Omit<RichMeasure, 'iconSize'> {
10
+ /** A fresh, empty run. */
11
+ createRun(): Container;
12
+ /** Shows `text` in `style` on a run made by `createRun`; cheap when neither changed. */
13
+ updateRun(run: Container, text: string, style: RichStyle): void;
14
+ }
15
+ export interface RichFontOptions {
16
+ /** Must already be loaded (`document.fonts.load`), or the text measures and bakes in the fallback. */
17
+ fontFamily: string;
18
+ /** The size of text with no `[size]`. */
19
+ fontSize: number;
20
+ /** The colour of text with no `[color]`. */
21
+ color?: string;
22
+ stroke?: string;
23
+ strokeWidth?: number;
24
+ /** Texture pixels per pixel: text in the world is zoomed by the camera, so it is rasterised finer. */
25
+ resolution?: number;
26
+ }
27
+ /**
28
+ * Runs as canvas `Text`: any font the page has, with bold and italic. Every style used gets one Pixi `TextStyle`,
29
+ * shared by every run in it. Changing a run's text repaints and uploads its canvas, so text rewritten every frame
30
+ * belongs in a `BitmapRichFont`.
31
+ */
32
+ export declare class CanvasRichFont implements RichFont {
33
+ private readonly options;
34
+ private readonly styles;
35
+ private readonly metrics;
36
+ constructor(options: RichFontOptions);
37
+ textWidth(text: string, style: RichStyle): number;
38
+ lineHeight(style: RichStyle): number;
39
+ ascent(style: RichStyle): number;
40
+ createRun(): Container;
41
+ updateRun(run: Container, text: string, style: RichStyle): void;
42
+ private metricsOf;
43
+ private pixiStyle;
44
+ }
45
+ export interface BitmapRichFontOptions extends RichFontOptions {
46
+ /** Letters beyond ASCII the text prints (see `installLabelFont`). */
47
+ glyphs?: string;
48
+ }
49
+ /**
50
+ * Runs as `BitmapText` from label fonts (`installLabelFont`): changing the text costs no canvas and no upload, and the
51
+ * runs batch. Each colour × size is a font of its own, baked the first time it is used — keep to a few and print each
52
+ * once while loading, or the first line to use one bakes it on that frame. Bitmap fonts have no bold or italic: those
53
+ * tags change nothing here.
54
+ */
55
+ export declare class BitmapRichFont implements RichFont {
56
+ private readonly options;
57
+ private readonly styles;
58
+ private readonly metrics;
59
+ constructor(options: BitmapRichFontOptions);
60
+ textWidth(text: string, style: RichStyle): number;
61
+ lineHeight(style: RichStyle): number;
62
+ ascent(style: RichStyle): number;
63
+ createRun(): Container;
64
+ updateRun(run: Container, text: string, style: RichStyle): void;
65
+ private metricsOf;
66
+ /** Bold and italic do not reach a bitmap font: styles differing only by them share one. */
67
+ private fontKey;
68
+ private pixiStyle;
69
+ }
70
+ //# sourceMappingURL=richFonts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"richFonts.d.ts","sourceRoot":"","sources":["../../../../src/ui/rich/richFonts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAE5G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IAC7D,0BAA0B;IAC1B,SAAS,IAAI,SAAS,CAAC;IACvB,wFAAwF;IACxF,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACjE;AAED,MAAM,WAAW,eAAe;IAC9B,sGAAsG;IACtG,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sGAAsG;IACtG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAWD;;;;GAIG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAIjC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;gBAEzB,OAAO,EAAE,eAAe;IAErD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM;IAKjD,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAIpC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAIhC,SAAS,IAAI,SAAS;IAItB,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAO/D,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;CAiBlB;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAIjC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;gBAEzB,OAAO,EAAE,qBAAqB;IAE3D,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM;IAKjD,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAIpC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAIhC,SAAS,IAAI,SAAS;IAItB,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAO/D,OAAO,CAAC,SAAS;IAajB,2FAA2F;IAC3F,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;CAYlB"}
@@ -0,0 +1,76 @@
1
+ import type { RichSpan, RichStyle } from './richMarkup.js';
2
+ /**
3
+ * Line breaking and placement for `RichText`, pure: every width and height comes from a `RichMeasure` the caller
4
+ * hands in, so the same layout runs under node in a test, with a canvas font, or with a bitmap font.
5
+ *
6
+ * Lines break only at spaces and `\n`; a word wider than the whole line is broken between letters. Text and icons
7
+ * with no space between them (`[icon=coin]50`) stay together. Text of one style that ends up side by side on a line
8
+ * is one item, so a paragraph in one colour costs one display object a line.
9
+ */
10
+ export interface RichMeasure {
11
+ /** Advance width of `text` in `style` (spaces included: they are measured on their own). */
12
+ textWidth(text: string, style: RichStyle): number;
13
+ /** Height of a line of text in `style`. */
14
+ lineHeight(style: RichStyle): number;
15
+ /** Baseline from the top of such a line; 0.8 of the line height when not given. */
16
+ ascent?(style: RichStyle): number;
17
+ /** Size of an icon's frame in texture pixels. */
18
+ iconSize(key: string, frame: string | undefined): {
19
+ width: number;
20
+ height: number;
21
+ };
22
+ }
23
+ export type RichAlign = 'left' | 'center' | 'right';
24
+ export interface RichLayoutOptions {
25
+ /** Wrap lines to this width; unset, lines break only at `\n`. */
26
+ wrapWidth?: number;
27
+ align?: RichAlign;
28
+ /** Extra pixels between lines. */
29
+ lineSpacing?: number;
30
+ /**
31
+ * `'line'` (default): an icon is as tall as its style's line — on a pixel-perfect layout the largest whole multiple
32
+ * of its frame that fits, never below 1×, so its texels stay square. A number: that scale, whatever the line.
33
+ */
34
+ iconScale?: 'line' | number;
35
+ /** Whole-pixel positions and icon scales (a pixel-art game). */
36
+ pixelPerfect?: boolean;
37
+ }
38
+ export interface RichTextItem {
39
+ kind: 'text';
40
+ text: string;
41
+ style: RichStyle;
42
+ x: number;
43
+ /** Top of the text's own line box. */
44
+ y: number;
45
+ width: number;
46
+ height: number;
47
+ }
48
+ export interface RichIconItem {
49
+ kind: 'icon';
50
+ key: string;
51
+ frame?: string;
52
+ style: RichStyle;
53
+ x: number;
54
+ y: number;
55
+ width: number;
56
+ height: number;
57
+ }
58
+ export type RichItem = RichTextItem | RichIconItem;
59
+ export interface RichLine {
60
+ y: number;
61
+ width: number;
62
+ height: number;
63
+ /** Baseline from the line's top. */
64
+ baseline: number;
65
+ items: RichItem[];
66
+ }
67
+ export interface RichLayout {
68
+ /** The box: `wrapWidth` when wrapping, else the widest line. */
69
+ width: number;
70
+ height: number;
71
+ lines: RichLine[];
72
+ }
73
+ /** Breaks spans into lines and places every run and icon. */
74
+ export declare function layoutRichText(spans: readonly RichSpan[], measure: RichMeasure, options?: RichLayoutOptions): RichLayout;
75
+ export declare function sameStyle(a: RichStyle, b: RichStyle): boolean;
76
+ //# sourceMappingURL=richLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"richLayout.d.ts","sourceRoot":"","sources":["../../../../src/ui/rich/richLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;;;GAOG;AAEH,MAAM,WAAW,WAAW;IAC1B,4FAA4F;IAC5F,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAClD,2CAA2C;IAC3C,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,mFAAmF;IACnF,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAClC,iDAAiD;IACjD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,sCAAsC;IACtC,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEnD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAaD,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,iBAAsB,GAAG,UAAU,CA+D5H;AA4HD,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAE7D"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * The markup `RichText` reads: square-bracket tags, like BBCode, chosen because a translator can type them, a chat
3
+ * line can carry them, and nothing in ordinary prose looks like one.
4
+ *
5
+ * | Markup | Means |
6
+ * |---|---|
7
+ * | `[color=#f0c060]…[/color]` | colour: `#rgb`, `#rrggbb`, or a name the caller defines (`colors: { gold: '#f0c060' }`) |
8
+ * | `[b]…[/b]`, `[i]…[/i]` | bold, italic (where the font has them) |
9
+ * | `[size=16]…[/size]` | font size in pixels |
10
+ * | `[icon=coin]`, `[icon=items:12]` | an inline icon: a texture key, and after the last `:` a frame of it |
11
+ * | `[[` | a literal `[` |
12
+ *
13
+ * Anything else in brackets — an unknown tag, a bad value, a close with nothing open — is printed as written, so a
14
+ * typo shows on screen instead of swallowing the text after it. Tags still open at the end are closed there; closing
15
+ * an outer tag closes the ones opened inside it. Text from players (names, chat) goes through `escapeRichText` first.
16
+ * Pure: no Pixi, no DOM.
17
+ */
18
+ /** How a run of text is drawn. Unset fields fall back to the font's own. */
19
+ export interface RichStyle {
20
+ color?: string;
21
+ bold: boolean;
22
+ italic: boolean;
23
+ size?: number;
24
+ }
25
+ export interface RichTextSpan {
26
+ kind: 'text';
27
+ text: string;
28
+ style: RichStyle;
29
+ }
30
+ export interface RichIconSpan {
31
+ kind: 'icon';
32
+ key: string;
33
+ frame?: string;
34
+ /** The style around it: its size decides the icon's height. */
35
+ style: RichStyle;
36
+ }
37
+ export type RichSpan = RichTextSpan | RichIconSpan;
38
+ export interface RichMarkupOptions {
39
+ /** Colour names the markup may use besides hex (`[color=gold]`). */
40
+ colors?: Readonly<Record<string, string>>;
41
+ }
42
+ /** Makes text safe to put inside markup: every `[` doubled, so a player named `[b]` prints as typed. */
43
+ export declare function escapeRichText(text: string): string;
44
+ /** Parses markup into spans; adjacent text of one style is one span. */
45
+ export declare function parseRichText(source: string, options?: RichMarkupOptions): RichSpan[];
46
+ /** Plain text of markup: tags gone, icons gone, escapes undone (for measuring, logs, screen readers). */
47
+ export declare function stripRichText(source: string, options?: RichMarkupOptions): string;
48
+ //# sourceMappingURL=richMarkup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"richMarkup.d.ts","sourceRoot":"","sources":["../../../../src/ui/rich/richMarkup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3C;AAMD,wGAAwG;AACxG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,QAAQ,EAAE,CAwCzF;AAED,yGAAyG;AACzG,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAIrF"}
package/dist/ui/Bar.js CHANGED
@@ -51,4 +51,3 @@ class v extends d {
51
51
  export {
52
52
  v as Bar
53
53
  };
54
- //# sourceMappingURL=Bar.js.map
package/dist/ui/Button.js CHANGED
@@ -55,4 +55,3 @@ class v extends d {
55
55
  export {
56
56
  v as Button
57
57
  };
58
- //# sourceMappingURL=Button.js.map
package/dist/ui/Dialog.js CHANGED
@@ -53,4 +53,3 @@ class H extends p {
53
53
  export {
54
54
  H as Dialog
55
55
  };
56
- //# sourceMappingURL=Dialog.js.map
@@ -94,4 +94,3 @@ export {
94
94
  f as DEFAULT_NAV,
95
95
  x as FocusManager
96
96
  };
97
- //# sourceMappingURL=FocusManager.js.map
package/dist/ui/Label.js CHANGED
@@ -33,4 +33,3 @@ class i extends c {
33
33
  export {
34
34
  i as Label
35
35
  };
36
- //# sourceMappingURL=Label.js.map
package/dist/ui/List.js CHANGED
@@ -42,4 +42,3 @@ class m extends c {
42
42
  export {
43
43
  m as List
44
44
  };
45
- //# sourceMappingURL=List.js.map
package/dist/ui/Panel.js CHANGED
@@ -35,4 +35,3 @@ class x extends f {
35
35
  export {
36
36
  x as Panel
37
37
  };
38
- //# sourceMappingURL=Panel.js.map
@@ -93,4 +93,3 @@ class w extends n {
93
93
  export {
94
94
  w as ScrollView
95
95
  };
96
- //# sourceMappingURL=ScrollView.js.map
package/dist/ui/Slider.js CHANGED
@@ -52,4 +52,3 @@ class b extends l {
52
52
  export {
53
53
  b as Slider
54
54
  };
55
- //# sourceMappingURL=Slider.js.map
package/dist/ui/Stack.js CHANGED
@@ -25,4 +25,3 @@ class f extends h {
25
25
  export {
26
26
  f as Stack
27
27
  };
28
- //# sourceMappingURL=Stack.js.map
package/dist/ui/Toggle.js CHANGED
@@ -34,4 +34,3 @@ class o extends a {
34
34
  export {
35
35
  o as Toggle
36
36
  };
37
- //# sourceMappingURL=Toggle.js.map
package/dist/ui/UiHost.js CHANGED
@@ -6,4 +6,3 @@ function e(r) {
6
6
  export {
7
7
  e as uiHostOf
8
8
  };
9
- //# sourceMappingURL=UiHost.js.map
@@ -22,4 +22,3 @@ const u = {
22
22
  export {
23
23
  u as UiPointerGate
24
24
  };
25
- //# sourceMappingURL=UiPointerGate.js.map
package/dist/ui/UiRoot.js CHANGED
@@ -90,4 +90,3 @@ class y extends h {
90
90
  export {
91
91
  y as UiRoot
92
92
  };
93
- //# sourceMappingURL=UiRoot.js.map
package/dist/ui/Widget.js CHANGED
@@ -87,4 +87,3 @@ export {
87
87
  n as Widget,
88
88
  b as sizeOf
89
89
  };
90
- //# sourceMappingURL=Widget.js.map
@@ -56,4 +56,3 @@ class r {
56
56
  export {
57
57
  r as DomOverlay
58
58
  };
59
- //# sourceMappingURL=DomOverlay.js.map
@@ -56,4 +56,3 @@ class m {
56
56
  export {
57
57
  m as DomWorldAnchors
58
58
  };
59
- //# sourceMappingURL=DomWorldAnchors.js.map
@@ -24,4 +24,3 @@ class a {
24
24
  export {
25
25
  a as InputShield
26
26
  };
27
- //# sourceMappingURL=InputShield.js.map
@@ -39,4 +39,3 @@ function l(f) {
39
39
  export {
40
40
  l as createStore
41
41
  };
42
- //# sourceMappingURL=createStore.js.map
@@ -33,4 +33,3 @@ export {
33
33
  i as isInside,
34
34
  u as shouldShield
35
35
  };
36
- //# sourceMappingURL=shieldDecision.js.map
@@ -8,4 +8,3 @@ export {
8
8
  f as onScreen,
9
9
  x as worldToScreen
10
10
  };
11
- //# sourceMappingURL=worldToScreen.js.map
@@ -17,4 +17,3 @@ function b(e, t, o, g = 0, n = !1) {
17
17
  export {
18
18
  b as anchorPosition
19
19
  };
20
- //# sourceMappingURL=anchor.js.map
@@ -22,4 +22,3 @@ export {
22
22
  d as setDrainValue,
23
23
  f as stepDrain
24
24
  };
25
- //# sourceMappingURL=barDrain.js.map
@@ -14,4 +14,3 @@ function W(h, a, n = {}) {
14
14
  export {
15
15
  W as fitToViewport
16
16
  };
17
- //# sourceMappingURL=fitToViewport.js.map
@@ -39,4 +39,3 @@ export {
39
39
  G as linearFocus,
40
40
  F as nextFocus
41
41
  };
42
- //# sourceMappingURL=focusNav.js.map
@@ -18,4 +18,3 @@ export {
18
18
  i as snapPx,
19
19
  u as snapRect
20
20
  };
21
- //# sourceMappingURL=geometry.js.map
@@ -7,4 +7,3 @@ function m(i, n, t = {}) {
7
7
  export {
8
8
  m as listWidth
9
9
  };
10
- //# sourceMappingURL=listWidth.js.map
@@ -25,4 +25,3 @@ function a(e, t, s, h = {}) {
25
25
  export {
26
26
  a as placeTooltip
27
27
  };
28
- //# sourceMappingURL=placeTooltip.js.map
@@ -21,4 +21,3 @@ export {
21
21
  a as scrollIntoView,
22
22
  p as stepFling
23
23
  };
24
- //# sourceMappingURL=scroll.js.map
@@ -17,4 +17,3 @@ export {
17
17
  i as sliderFraction,
18
18
  s as sliderValueAt
19
19
  };
20
- //# sourceMappingURL=slider.js.map
@@ -24,4 +24,3 @@ function M(h, s = {}) {
24
24
  export {
25
25
  M as stackLayout
26
26
  };
27
- //# sourceMappingURL=stack.js.map
@@ -10,4 +10,3 @@ function p(s, h, u = 0) {
10
10
  export {
11
11
  p as wrapRow
12
12
  };
13
- //# sourceMappingURL=wrapRow.js.map
@@ -0,0 +1,87 @@
1
+ import { Sprite as a } from "pixi.js";
2
+ import { Widget as c } from "../Widget.js";
3
+ import { layoutRichText as d } from "./richLayout.js";
4
+ import { parseRichText as p } from "./richMarkup.js";
5
+ class b extends c {
6
+ source = "";
7
+ last = { width: 0, height: 0, lines: [] };
8
+ runs = [];
9
+ icons = [];
10
+ measure;
11
+ options;
12
+ /** Whether the last layout was on whole pixels. */
13
+ snapped = !1;
14
+ constructor(t, h) {
15
+ super(), this.options = { ...h };
16
+ const s = h.font;
17
+ this.measure = {
18
+ textWidth: (i, o) => s.textWidth(i, o),
19
+ lineHeight: (i) => s.lineHeight(i),
20
+ ascent: (i) => s.ascent?.(i) ?? s.lineHeight(i) * 0.8,
21
+ iconSize: (i, o) => {
22
+ const r = h.textures?.get(i, o);
23
+ return r ? { width: r.orig.width, height: r.orig.height } : { width: 0, height: 0 };
24
+ }
25
+ }, this.source = t, this.relayout(), h.pixelPerfect === void 0 && this.on("added", () => this.pixelPerfect() !== this.snapped && this.relayout());
26
+ }
27
+ /** The markup shown. */
28
+ get markup() {
29
+ return this.source;
30
+ }
31
+ /** Where every line, run and icon was placed, for hit-testing a word or drawing behind one. */
32
+ get layout() {
33
+ return this.last;
34
+ }
35
+ /** Changes the text; the same markup again costs nothing. */
36
+ setText(t) {
37
+ return t === this.source ? this : (this.source = t, this.relayout(), this);
38
+ }
39
+ /** Wraps to a new width (undefined: only at `\n`). */
40
+ setWrapWidth(t) {
41
+ return t === this.options.wrapWidth ? this : (t === void 0 ? delete this.options.wrapWidth : this.options.wrapWidth = t, this.relayout(), this);
42
+ }
43
+ setAlign(t) {
44
+ return t === (this.options.align ?? "left") ? this : (this.options.align = t, this.relayout(), this);
45
+ }
46
+ /** Lays out and draws again: after the font's colours or the icons' textures were swapped under it. */
47
+ relayout() {
48
+ const t = this.snapped = this.pixelPerfect(), h = p(this.source, this.options);
49
+ this.last = d(h, this.measure, { ...this.options, pixelPerfect: t });
50
+ let s = 0, i = 0;
51
+ for (const l of this.last.lines)
52
+ for (const e of l.items) {
53
+ if (e.kind === "text") {
54
+ const u = this.runs[s] ?? this.addRun();
55
+ s++, this.options.font.updateRun(u, e.text, e.style), u.position.set(e.x, e.y), u.visible = !0;
56
+ continue;
57
+ }
58
+ if (!this.options.textures || e.width === 0) continue;
59
+ const n = this.icons[i] ?? this.addIcon();
60
+ i++, n.texture = this.options.textures.get(e.key, e.frame), n.position.set(e.x, e.y), n.setSize(e.width, e.height), n.visible = !0;
61
+ }
62
+ for (; s < this.runs.length; s++) this.runs[s].visible = !1;
63
+ for (; i < this.icons.length; i++) this.icons[i].visible = !1;
64
+ const o = this.boxW, r = this.boxH;
65
+ this.boxW = Math.ceil(this.last.width), this.boxH = Math.ceil(this.last.height), (this.boxW !== o || this.boxH !== r) && this.notifyResized();
66
+ }
67
+ destroy(t) {
68
+ super.destroy(typeof t == "object" ? { ...t, children: !0, texture: !1 } : { children: !0 });
69
+ }
70
+ redraw() {
71
+ this.alpha = this.enabled ? 1 : 0.5;
72
+ }
73
+ pixelPerfect() {
74
+ return this.options.pixelPerfect ?? this.host?.pixelPerfect ?? !1;
75
+ }
76
+ addRun() {
77
+ const t = this.options.font.createRun();
78
+ return this.runs.push(t), this.addChild(t), t;
79
+ }
80
+ addIcon() {
81
+ const t = new a();
82
+ return t.roundPixels = !0, this.icons.push(t), this.addChild(t), t;
83
+ }
84
+ }
85
+ export {
86
+ b as RichText
87
+ };