@league-of-foundry-developers/foundry-vtt-types 12.331.2-beta → 12.331.4-beta

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 (560) hide show
  1. package/README.md +17 -18
  2. package/package.json +73 -32
  3. package/src/configuration/configuration.d.mts +316 -0
  4. package/src/configuration/documents.d.mts +295 -0
  5. package/src/configuration/globals.d.mts +357 -0
  6. package/src/configuration/index.d.mts +5 -0
  7. package/src/foundry/client/apps/app.d.mts +129 -122
  8. package/src/foundry/client/apps/av/av-config.d.mts +12 -7
  9. package/src/foundry/client/apps/av/cameras.d.mts +12 -7
  10. package/src/foundry/client/apps/dice/dice-config.d.mts +59 -0
  11. package/src/foundry/client/apps/dice/index.d.mts +1 -0
  12. package/src/foundry/client/apps/form.d.mts +114 -86
  13. package/src/foundry/client/apps/forms/actor.d.mts +21 -11
  14. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +12 -7
  15. package/src/foundry/client/apps/forms/adventure-importer.d.mts +14 -6
  16. package/src/foundry/client/apps/forms/base-sheet.d.mts +16 -8
  17. package/src/foundry/client/apps/forms/card-config.d.mts +16 -8
  18. package/src/foundry/client/apps/forms/cards-config.d.mts +15 -14
  19. package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
  20. package/src/foundry/client/apps/forms/combatant-config.d.mts +3 -3
  21. package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
  22. package/src/foundry/client/apps/forms/effect-config.d.mts +7 -7
  23. package/src/foundry/client/apps/forms/folder-config.d.mts +5 -5
  24. package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
  25. package/src/foundry/client/apps/forms/grid-config.d.mts +12 -17
  26. package/src/foundry/client/apps/forms/image-popout.d.mts +29 -23
  27. package/src/foundry/client/apps/forms/item.d.mts +9 -9
  28. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +16 -14
  29. package/src/foundry/client/apps/forms/journal-sheet.d.mts +48 -38
  30. package/src/foundry/client/apps/forms/macro-config.d.mts +7 -7
  31. package/src/foundry/client/apps/forms/measure-template.d.mts +10 -12
  32. package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
  33. package/src/foundry/client/apps/forms/playlist-config.d.mts +8 -10
  34. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +7 -7
  35. package/src/foundry/client/apps/forms/roll-table-config.d.mts +11 -10
  36. package/src/foundry/client/apps/forms/scene-config.d.mts +40 -41
  37. package/src/foundry/client/apps/forms/sheet-config.d.mts +9 -21
  38. package/src/foundry/client/apps/forms/user-config.d.mts +13 -12
  39. package/src/foundry/client/apps/hud/chatbubble.d.mts +18 -6
  40. package/src/foundry/client/apps/hud/container.d.mts +4 -4
  41. package/src/foundry/client/apps/hud/controls.d.mts +126 -81
  42. package/src/foundry/client/apps/hud/hotbar.d.mts +17 -12
  43. package/src/foundry/client/apps/hud/hud.d.mts +5 -5
  44. package/src/foundry/client/apps/hud/menu.d.mts +10 -3
  45. package/src/foundry/client/apps/hud/navigation.d.mts +14 -9
  46. package/src/foundry/client/apps/hud/pause.d.mts +9 -4
  47. package/src/foundry/client/apps/hud/players.d.mts +14 -9
  48. package/src/foundry/client/apps/i18n.d.mts +34 -27
  49. package/src/foundry/client/apps/index.d.mts +1 -0
  50. package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
  51. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +5 -5
  52. package/src/foundry/client/apps/placeables/index.d.mts +0 -2
  53. package/src/foundry/client/apps/placeables/note-config.d.mts +28 -18
  54. package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
  55. package/src/foundry/client/apps/placeables/tile-hud.d.mts +10 -5
  56. package/src/foundry/client/apps/placeables/token-config.d.mts +91 -58
  57. package/src/foundry/client/apps/placeables/token-hud.d.mts +12 -7
  58. package/src/foundry/client/apps/placeables/wall-config.d.mts +21 -17
  59. package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
  60. package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +3 -3
  61. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +15 -13
  62. package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
  63. package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +3 -2
  64. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +6 -6
  65. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +6 -6
  66. package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +34 -29
  67. package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +2 -2
  68. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +13 -10
  69. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +50 -35
  70. package/src/foundry/client/apps/sidebar/document-directory.d.mts +52 -38
  71. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +4 -4
  72. package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
  73. package/src/foundry/client/apps/sidebar/sidebar.d.mts +9 -4
  74. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +11 -2
  75. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +11 -2
  76. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +39 -27
  77. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +21 -12
  78. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +30 -15
  79. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +11 -2
  80. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +11 -2
  81. package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +14 -5
  82. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +30 -22
  83. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +11 -2
  84. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +14 -5
  85. package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +23 -5
  86. package/src/foundry/client/apps/templates.d.mts +6 -2
  87. package/src/foundry/client/av/client.d.mts +1 -1
  88. package/src/foundry/client/av/clients/simplepeer.d.mts +11 -1
  89. package/src/foundry/client/av/master.d.mts +2 -2
  90. package/src/foundry/client/av/settings.d.mts +17 -15
  91. package/src/foundry/client/config.d.mts +444 -314
  92. package/src/foundry/client/core/document-index.d.mts +11 -3
  93. package/src/foundry/client/core/hooks.d.mts +2 -4
  94. package/src/foundry/client/core/image.d.mts +92 -42
  95. package/src/foundry/client/core/issues.d.mts +9 -4
  96. package/src/foundry/client/core/keybindings.d.mts +5 -5
  97. package/src/foundry/client/core/nue.d.mts +1 -1
  98. package/src/foundry/client/core/packages.d.mts +397 -61
  99. package/src/foundry/client/core/settings.d.mts +62 -38
  100. package/src/foundry/client/core/socket.d.mts +2 -2
  101. package/src/foundry/client/core/sorting.d.mts +6 -6
  102. package/src/foundry/client/core/time.d.mts +6 -3
  103. package/src/foundry/client/core/tooltip.d.mts +2 -2
  104. package/src/foundry/client/core/tour.d.mts +59 -50
  105. package/src/foundry/client/core/tours.d.mts +1 -1
  106. package/src/foundry/client/core/utils.d.mts +33 -10
  107. package/src/foundry/client/core/video.d.mts +1 -1
  108. package/src/foundry/client/core/workers.d.mts +24 -17
  109. package/src/foundry/client/data/abstract/canvas-document.d.mts +21 -17
  110. package/src/foundry/client/data/abstract/client-document.d.mts +153 -183
  111. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +23 -39
  112. package/src/foundry/client/data/abstract/document-collection.d.mts +96 -68
  113. package/src/foundry/client/data/abstract/world-collection.d.mts +48 -56
  114. package/src/foundry/client/data/collections/actors.d.mts +30 -28
  115. package/src/foundry/client/data/collections/cards.d.mts +16 -3
  116. package/src/foundry/client/data/collections/combats.d.mts +18 -5
  117. package/src/foundry/client/data/collections/compendium-collection.d.mts +85 -101
  118. package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
  119. package/src/foundry/client/data/collections/compendium-packs.d.mts +6 -6
  120. package/src/foundry/client/data/collections/fog.d.mts +16 -3
  121. package/src/foundry/client/data/collections/folder.d.mts +20 -6
  122. package/src/foundry/client/data/collections/items.d.mts +17 -4
  123. package/src/foundry/client/data/collections/journal.d.mts +22 -7
  124. package/src/foundry/client/data/collections/macros.d.mts +21 -19
  125. package/src/foundry/client/data/collections/messages.d.mts +19 -6
  126. package/src/foundry/client/data/collections/playlists.d.mts +17 -5
  127. package/src/foundry/client/data/collections/scenes.d.mts +24 -27
  128. package/src/foundry/client/data/collections/settings.d.mts +16 -3
  129. package/src/foundry/client/data/collections/tables.d.mts +18 -5
  130. package/src/foundry/client/data/collections/users.d.mts +19 -7
  131. package/src/foundry/client/data/documents/active-effect.d.mts +677 -85
  132. package/src/foundry/client/data/documents/actor-delta.d.mts +670 -27
  133. package/src/foundry/client/data/documents/actor.d.mts +718 -55
  134. package/src/foundry/client/data/documents/adventure.d.mts +480 -46
  135. package/src/foundry/client/data/documents/ambient-light.d.mts +423 -19
  136. package/src/foundry/client/data/documents/ambient-sound.d.mts +473 -14
  137. package/src/foundry/client/data/documents/card.d.mts +567 -36
  138. package/src/foundry/client/data/documents/cards.d.mts +744 -85
  139. package/src/foundry/client/data/documents/chat-message.d.mts +574 -42
  140. package/src/foundry/client/data/documents/combat.d.mts +699 -69
  141. package/src/foundry/client/data/documents/combatant.d.mts +504 -24
  142. package/src/foundry/client/data/documents/drawing.d.mts +540 -14
  143. package/src/foundry/client/data/documents/fog-exploration.d.mts +416 -21
  144. package/src/foundry/client/data/documents/folder.d.mts +468 -30
  145. package/src/foundry/client/data/documents/index.d.mts +2 -0
  146. package/src/foundry/client/data/documents/item.d.mts +677 -20
  147. package/src/foundry/client/data/documents/journal-entry-page.d.mts +585 -19
  148. package/src/foundry/client/data/documents/journal-entry.d.mts +619 -18
  149. package/src/foundry/client/data/documents/macro.d.mts +528 -25
  150. package/src/foundry/client/data/documents/measured-template.d.mts +478 -14
  151. package/src/foundry/client/data/documents/note.d.mts +491 -15
  152. package/src/foundry/client/data/documents/playlist-sound.d.mts +426 -24
  153. package/src/foundry/client/data/documents/playlist.d.mts +665 -74
  154. package/src/foundry/client/data/documents/region-behavior.d.mts +507 -0
  155. package/src/foundry/client/data/documents/region.d.mts +784 -0
  156. package/src/foundry/client/data/documents/scene.d.mts +983 -140
  157. package/src/foundry/client/data/documents/setting.d.mts +395 -13
  158. package/src/foundry/client/data/documents/table-result.d.mts +476 -14
  159. package/src/foundry/client/data/documents/table.d.mts +661 -78
  160. package/src/foundry/client/data/documents/tile.d.mts +499 -14
  161. package/src/foundry/client/data/documents/token.d.mts +1110 -97
  162. package/src/foundry/client/data/documents/user.d.mts +493 -25
  163. package/src/foundry/client/data/documents/wall.d.mts +548 -14
  164. package/src/foundry/client/game.d.mts +62 -89
  165. package/src/foundry/client/head.d.mts +9 -9
  166. package/src/foundry/client/hooks.d.mts +257 -237
  167. package/src/foundry/client/pixi/board.d.mts +111 -104
  168. package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +97 -25
  169. package/src/foundry/client/pixi/core/containers/cached-container.d.mts +37 -19
  170. package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +7 -10
  171. package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +25 -15
  172. package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +16 -6
  173. package/src/foundry/client/pixi/core/containers/quadtree.d.mts +113 -54
  174. package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +69 -26
  175. package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +20 -2
  176. package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +164 -99
  177. package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +61 -22
  178. package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +120 -53
  179. package/src/foundry/client/pixi/core/interaction/ping.d.mts +62 -31
  180. package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +23 -10
  181. package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +91 -34
  182. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +76 -31
  183. package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +35 -5
  184. package/src/foundry/client/pixi/core/interaction/targets.d.mts +21 -18
  185. package/src/foundry/client/pixi/core/loader.d.mts +86 -76
  186. package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +42 -17
  187. package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +92 -64
  188. package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +28 -10
  189. package/src/foundry/client/pixi/core/shapes/ray.d.mts +47 -23
  190. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +170 -75
  191. package/src/foundry/client/pixi/extensions/circle.d.mts +133 -122
  192. package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
  193. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +10 -2
  194. package/src/foundry/client/pixi/extensions/polygon.d.mts +155 -134
  195. package/src/foundry/client/pixi/extensions/rectangle.d.mts +266 -240
  196. package/src/foundry/client/pixi/groups/effects.d.mts +75 -24
  197. package/src/foundry/client/pixi/groups/environment.d.mts +68 -19
  198. package/src/foundry/client/pixi/groups/hidden.d.mts +27 -11
  199. package/src/foundry/client/pixi/groups/interface.d.mts +62 -38
  200. package/src/foundry/client/pixi/groups/overlay.d.mts +19 -7
  201. package/src/foundry/client/pixi/groups/primary.d.mts +66 -44
  202. package/src/foundry/client/pixi/groups/rendered.d.mts +19 -7
  203. package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +11 -15
  204. package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +29 -28
  205. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +306 -272
  206. package/src/foundry/client/pixi/layers/controls/cursor.d.mts +18 -9
  207. package/src/foundry/client/pixi/layers/controls/door.d.mts +32 -11
  208. package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -77
  209. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
  210. package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +9 -12
  211. package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +9 -10
  212. package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +8 -8
  213. package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +22 -22
  214. package/src/foundry/client/pixi/layers/effects/visibility.d.mts +106 -86
  215. package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +14 -5
  216. package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +31 -2
  217. package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +137 -65
  218. package/src/foundry/client/pixi/layers/grid/highlight.d.mts +14 -4
  219. package/src/foundry/client/pixi/layers/grid/layer.d.mts +92 -92
  220. package/src/foundry/client/pixi/layers/grid/mesh.d.mts +37 -16
  221. package/src/foundry/client/pixi/layers/masks/depth.d.mts +12 -7
  222. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +19 -12
  223. package/src/foundry/client/pixi/layers/masks/vision.d.mts +104 -18
  224. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +16 -15
  225. package/src/foundry/client/pixi/layers/placeables/index.d.mts +1 -0
  226. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +12 -14
  227. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +49 -32
  228. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +113 -0
  229. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -67
  230. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +11 -15
  231. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +30 -21
  232. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +66 -52
  233. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +54 -57
  234. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +62 -27
  235. package/src/foundry/client/pixi/perception/detection-mode.d.mts +121 -47
  236. package/src/foundry/client/pixi/perception/fog.d.mts +38 -15
  237. package/src/foundry/client/pixi/perception/perception-manager.d.mts +136 -136
  238. package/src/foundry/client/pixi/perception/vision-mode.d.mts +108 -66
  239. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +77 -39
  240. package/src/foundry/client/pixi/placeable.d.mts +238 -137
  241. package/src/foundry/client/pixi/placeables/drawing.d.mts +255 -133
  242. package/src/foundry/client/pixi/placeables/index.d.mts +1 -0
  243. package/src/foundry/client/pixi/placeables/light.d.mts +199 -64
  244. package/src/foundry/client/pixi/placeables/note.d.mts +145 -54
  245. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +30 -8
  246. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +41 -11
  247. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +59 -18
  248. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +120 -37
  249. package/src/foundry/client/pixi/placeables/region.d.mts +280 -0
  250. package/src/foundry/client/pixi/placeables/sound.d.mts +205 -66
  251. package/src/foundry/client/pixi/placeables/template.d.mts +181 -99
  252. package/src/foundry/client/pixi/placeables/tile.d.mts +206 -140
  253. package/src/foundry/client/pixi/placeables/token.d.mts +916 -448
  254. package/src/foundry/client/pixi/placeables/wall.d.mts +249 -129
  255. package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +72 -33
  256. package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +10 -9
  257. package/src/foundry/client/pixi/webgl/helpers/{framebugger-snapshot.d.mts → framebuffer-snapshot.d.mts} +10 -9
  258. package/src/foundry/client/pixi/webgl/helpers/index.d.mts +1 -1
  259. package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +38 -23
  260. package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +82 -53
  261. package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +12 -12
  262. package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +45 -28
  263. package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +12 -11
  264. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +12 -10
  265. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +22 -20
  266. package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +36 -32
  267. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +10 -9
  268. package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +12 -11
  269. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +10 -9
  270. package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +12 -11
  271. package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +67 -60
  272. package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +24 -17
  273. package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +13 -10
  274. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +10 -9
  275. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +11 -10
  276. package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +20 -14
  277. package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +12 -11
  278. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +10 -9
  279. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +33 -33
  280. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +10 -9
  281. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +10 -9
  282. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +19 -17
  283. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +10 -9
  284. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +10 -9
  285. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +10 -9
  286. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +10 -9
  287. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +19 -17
  288. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +19 -17
  289. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +10 -9
  290. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +10 -8
  291. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +19 -17
  292. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +10 -9
  293. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +10 -9
  294. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +10 -9
  295. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +19 -17
  296. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +10 -9
  297. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +10 -9
  298. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +10 -9
  299. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +19 -17
  300. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +20 -17
  301. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +10 -9
  302. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +19 -17
  303. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +10 -9
  304. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +19 -17
  305. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +19 -17
  306. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +19 -17
  307. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +10 -9
  308. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +71 -29
  309. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +54 -10
  310. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +69 -9
  311. package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +24 -25
  312. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +10 -9
  313. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +38 -29
  314. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +21 -17
  315. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +10 -9
  316. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +20 -18
  317. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +11 -2
  318. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +28 -2
  319. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +10 -9
  320. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +11 -9
  321. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +10 -9
  322. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +10 -9
  323. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +19 -17
  324. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +10 -9
  325. package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +40 -36
  326. package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +27 -33
  327. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +17 -16
  328. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +19 -18
  329. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +15 -14
  330. package/src/foundry/client/pixi/workers/texture-worker.d.mts +33 -53
  331. package/src/foundry/client/tours/setup-tour.d.mts +15 -10
  332. package/src/foundry/client/ui/context.d.mts +48 -40
  333. package/src/foundry/client/ui/dialog.d.mts +137 -126
  334. package/src/foundry/client/ui/drag.d.mts +1 -1
  335. package/src/foundry/client/ui/dragdrop.d.mts +34 -28
  336. package/src/foundry/client/ui/editor.d.mts +29 -21
  337. package/src/foundry/client/ui/filepicker.d.mts +43 -38
  338. package/src/foundry/client/ui/filter.d.mts +62 -50
  339. package/src/foundry/client/ui/forms.d.mts +22 -22
  340. package/src/foundry/client/ui/notifications.d.mts +10 -3
  341. package/src/foundry/client/ui/prosemirror.d.mts +15 -7
  342. package/src/foundry/client/ui/secrets.d.mts +42 -27
  343. package/src/foundry/client/ui/tabs.d.mts +40 -33
  344. package/src/foundry/client-esm/applications/_module.d.mts +3 -3
  345. package/src/foundry/client-esm/applications/_types.d.mts +0 -2
  346. package/src/foundry/client-esm/applications/api/_module.d.mts +2 -2
  347. package/src/foundry/client-esm/applications/api/application.d.mts +51 -39
  348. package/src/foundry/client-esm/applications/api/dialog.d.mts +20 -22
  349. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +26 -12
  350. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +142 -126
  351. package/src/foundry/client-esm/applications/apps/_module.d.mts +2 -2
  352. package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +10 -10
  353. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +3 -3
  354. package/src/foundry/client-esm/applications/dice/_module.d.mts +2 -2
  355. package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +14 -2
  356. package/src/foundry/client-esm/applications/elements/_module.d.mts +2 -2
  357. package/src/foundry/client-esm/applications/elements/document-tags.d.mts +2 -0
  358. package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
  359. package/src/foundry/client-esm/applications/elements/multi-select.d.mts +15 -5
  360. package/src/foundry/client-esm/applications/elements/string-tags.d.mts +1 -1
  361. package/src/foundry/client-esm/applications/forms/fields.d.mts +6 -1
  362. package/src/foundry/client-esm/applications/sheets/_module.d.mts +2 -2
  363. package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +3 -3
  364. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +16 -11
  365. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +9 -7
  366. package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +3 -3
  367. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +30 -5
  368. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +36 -5
  369. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +8 -7
  370. package/src/foundry/client-esm/applications/ui/_module.d.mts +2 -2
  371. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +45 -3
  372. package/src/foundry/client-esm/audio/_module.d.mts +2 -3
  373. package/src/foundry/client-esm/audio/_types.d.mts +3 -1
  374. package/src/foundry/client-esm/audio/biquad.d.mts +76 -26
  375. package/src/foundry/client-esm/audio/cache.d.mts +31 -20
  376. package/src/foundry/client-esm/audio/convolver.d.mts +47 -25
  377. package/src/foundry/client-esm/audio/helper.d.mts +123 -78
  378. package/src/foundry/client-esm/audio/sound.d.mts +230 -126
  379. package/src/foundry/client-esm/audio/timeout.d.mts +30 -11
  380. package/src/foundry/client-esm/canvas/_module.d.mts +2 -2
  381. package/src/foundry/client-esm/canvas/edges/_module.d.mts +2 -2
  382. package/src/foundry/client-esm/canvas/edges/collision.d.mts +69 -18
  383. package/src/foundry/client-esm/canvas/edges/edge.d.mts +110 -41
  384. package/src/foundry/client-esm/canvas/edges/edges.d.mts +10 -0
  385. package/src/foundry/client-esm/canvas/edges/vertex.d.mts +56 -26
  386. package/src/foundry/client-esm/canvas/regions/_module.d.mts +2 -3
  387. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +38 -0
  388. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +72 -0
  389. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +130 -0
  390. package/src/foundry/client-esm/canvas/regions/shape.d.mts +129 -0
  391. package/src/foundry/client-esm/canvas/scene-manager.d.mts +16 -6
  392. package/src/foundry/client-esm/canvas/smaa/blend.d.mts +14 -3
  393. package/src/foundry/client-esm/canvas/smaa/edges.d.mts +25 -3
  394. package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +121 -23
  395. package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
  396. package/src/foundry/client-esm/canvas/sources/_module.d.mts +2 -2
  397. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +84 -40
  398. package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +103 -39
  399. package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +89 -15
  400. package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +71 -30
  401. package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +49 -20
  402. package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +57 -16
  403. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +31 -4
  404. package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +45 -12
  405. package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +98 -52
  406. package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +180 -69
  407. package/src/foundry/client-esm/canvas/tokens/_module.d.mts +2 -3
  408. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +174 -2
  409. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +141 -2
  410. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +284 -2
  411. package/src/foundry/client-esm/client.d.mts +47 -54
  412. package/src/foundry/client-esm/data/_module.d.mts +2 -2
  413. package/src/foundry/client-esm/data/client-backend.d.mts +22 -23
  414. package/src/foundry/client-esm/data/region-behaviors/_module.d.mts +3 -3
  415. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +57 -0
  416. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +59 -0
  417. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +64 -0
  418. package/src/foundry/client-esm/data/region-behaviors/execute-macro.d.mts +27 -0
  419. package/src/foundry/client-esm/data/region-behaviors/execute-script.d.mts +23 -0
  420. package/src/foundry/client-esm/data/region-behaviors/pause-game.d.mts +23 -0
  421. package/src/foundry/client-esm/data/region-behaviors/suppress-weather.d.mts +17 -0
  422. package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +32 -0
  423. package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +31 -0
  424. package/src/foundry/client-esm/dice/_module.d.mts +2 -3
  425. package/src/foundry/client-esm/dice/parser.d.mts +11 -25
  426. package/src/foundry/client-esm/dice/roll.d.mts +115 -89
  427. package/src/foundry/client-esm/dice/terms/_module.d.mts +2 -3
  428. package/src/foundry/client-esm/dice/terms/coin.d.mts +8 -5
  429. package/src/foundry/client-esm/dice/terms/dice.d.mts +93 -63
  430. package/src/foundry/client-esm/dice/terms/die.d.mts +11 -4
  431. package/src/foundry/client-esm/dice/terms/fate.d.mts +9 -2
  432. package/src/foundry/client-esm/dice/terms/function.d.mts +18 -18
  433. package/src/foundry/client-esm/dice/terms/numeric.d.mts +3 -5
  434. package/src/foundry/client-esm/dice/terms/operator.d.mts +2 -2
  435. package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +9 -10
  436. package/src/foundry/client-esm/dice/terms/pool.d.mts +25 -31
  437. package/src/foundry/client-esm/dice/terms/string.d.mts +4 -4
  438. package/src/foundry/client-esm/dice/terms/term.d.mts +18 -4
  439. package/src/foundry/client-esm/dice/twister.d.mts +3 -3
  440. package/src/foundry/client-esm/helpers/_module.d.mts +2 -2
  441. package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
  442. package/src/foundry/client-esm/helpers/compendium-art.d.mts +56 -4
  443. package/src/foundry/common/abstract/_types.d.mts +60 -54
  444. package/src/foundry/common/abstract/backend.d.mts +51 -45
  445. package/src/foundry/common/abstract/data.d.mts +140 -154
  446. package/src/foundry/common/abstract/document.d.mts +1305 -421
  447. package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
  448. package/src/foundry/common/abstract/embedded-collection.d.mts +37 -7
  449. package/src/foundry/common/abstract/module.d.mts +3 -2
  450. package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
  451. package/src/foundry/common/abstract/socket.d.mts +1 -1
  452. package/src/foundry/common/abstract/type-data.d.mts +62 -54
  453. package/src/foundry/common/config.d.mts +5 -3
  454. package/src/foundry/common/constants.d.mts +261 -231
  455. package/src/foundry/common/data/data.d.mts +200 -94
  456. package/src/foundry/common/data/fields.d.mts +746 -585
  457. package/src/foundry/common/data/module.d.mts +2 -2
  458. package/src/foundry/common/data/validation-failure.d.mts +12 -9
  459. package/src/foundry/common/documents/_module.d.mts +4 -2
  460. package/src/foundry/common/documents/_types.d.mts +22 -50
  461. package/src/foundry/common/documents/active-effect.d.mts +280 -177
  462. package/src/foundry/common/documents/actor-delta.d.mts +318 -69
  463. package/src/foundry/common/documents/actor.d.mts +305 -117
  464. package/src/foundry/common/documents/adventure.d.mts +266 -141
  465. package/src/foundry/common/documents/ambient-light.d.mts +268 -75
  466. package/src/foundry/common/documents/ambient-sound.d.mts +268 -109
  467. package/src/foundry/common/documents/card.d.mts +267 -174
  468. package/src/foundry/common/documents/cards.d.mts +299 -126
  469. package/src/foundry/common/documents/chat-message.d.mts +276 -158
  470. package/src/foundry/common/documents/combat.d.mts +300 -89
  471. package/src/foundry/common/documents/combatant.d.mts +275 -88
  472. package/src/foundry/common/documents/drawing.d.mts +286 -206
  473. package/src/foundry/common/documents/fog-exploration.d.mts +258 -70
  474. package/src/foundry/common/documents/folder.d.mts +252 -81
  475. package/src/foundry/common/documents/item.d.mts +305 -99
  476. package/src/foundry/common/documents/journal-entry-page.d.mts +279 -189
  477. package/src/foundry/common/documents/journal-entry.d.mts +294 -68
  478. package/src/foundry/common/documents/macro.d.mts +254 -132
  479. package/src/foundry/common/documents/measured-template.d.mts +293 -139
  480. package/src/foundry/common/documents/note.d.mts +274 -149
  481. package/src/foundry/common/documents/playlist-sound.d.mts +260 -94
  482. package/src/foundry/common/documents/playlist.d.mts +279 -120
  483. package/src/foundry/common/documents/region-behavior.d.mts +329 -0
  484. package/src/foundry/common/documents/region.d.mts +327 -0
  485. package/src/foundry/common/documents/roll-table.d.mts +286 -102
  486. package/src/foundry/common/documents/scene.d.mts +276 -336
  487. package/src/foundry/common/documents/setting.d.mts +229 -54
  488. package/src/foundry/common/documents/table-result.d.mts +267 -96
  489. package/src/foundry/common/documents/tile.d.mts +301 -170
  490. package/src/foundry/common/documents/token.d.mts +351 -445
  491. package/src/foundry/common/documents/user.d.mts +256 -144
  492. package/src/foundry/common/documents/wall.d.mts +273 -161
  493. package/src/foundry/common/grid/_module.d.mts +3 -3
  494. package/src/foundry/common/grid/base.d.mts +66 -49
  495. package/src/foundry/common/grid/gridless.d.mts +2 -2
  496. package/src/foundry/common/grid/hexagonal.d.mts +40 -29
  497. package/src/foundry/common/grid/square.d.mts +3 -3
  498. package/src/foundry/common/packages/base-module.d.mts +6 -24
  499. package/src/foundry/common/packages/base-package.d.mts +23 -21
  500. package/src/foundry/common/packages/base-system.d.mts +6 -63
  501. package/src/foundry/common/packages/base-world.d.mts +8 -61
  502. package/src/foundry/common/packages/module.d.mts +7 -7
  503. package/src/foundry/common/packages/sub-types.d.mts +2 -2
  504. package/src/foundry/common/primitives/array.d.mts +4 -4
  505. package/src/foundry/common/primitives/math.d.mts +7 -1
  506. package/src/foundry/common/primitives/number.d.mts +2 -2
  507. package/src/foundry/common/primitives/set.d.mts +17 -14
  508. package/src/foundry/common/primitives/string.d.mts +1 -1
  509. package/src/foundry/common/prosemirror/_module.d.mts +15 -15
  510. package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
  511. package/src/foundry/common/prosemirror/dom-parser.d.mts +2 -1
  512. package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
  513. package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +2 -2
  514. package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
  515. package/src/foundry/common/prosemirror/menu.d.mts +3 -3
  516. package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
  517. package/src/foundry/common/prosemirror/plugin.d.mts +2 -2
  518. package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
  519. package/src/foundry/common/prosemirror/schema/lists.d.mts +2 -0
  520. package/src/foundry/common/prosemirror/util.d.mts +1 -1
  521. package/src/foundry/common/types.d.mts +3 -3
  522. package/src/foundry/common/utils/bitmask.d.mts +23 -11
  523. package/src/foundry/common/utils/collection.d.mts +61 -38
  524. package/src/foundry/common/utils/color.d.mts +20 -2
  525. package/src/foundry/common/utils/event-emitter.d.mts +32 -17
  526. package/src/foundry/common/utils/geometry.d.mts +12 -2
  527. package/src/foundry/common/utils/helpers.d.mts +36 -26
  528. package/src/foundry/common/utils/http.d.mts +2 -2
  529. package/src/foundry/common/utils/module.d.mts +2 -2
  530. package/src/foundry/common/utils/string-tree.d.mts +45 -39
  531. package/src/foundry/common/utils/word-tree.d.mts +10 -23
  532. package/src/foundry/index.d.mts +0 -1
  533. package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +52 -43
  534. package/src/foundry/public/scripts/index.d.mts +1 -0
  535. package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
  536. package/src/foundry/public/scripts/workers/index.d.mts +1 -0
  537. package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
  538. package/src/index.d.mts +6 -0
  539. package/src/tsconfig.json +15 -0
  540. package/src/types/augments/particles.d.mts +29 -0
  541. package/src/types/augments/pixi.d.mts +1024 -21
  542. package/src/types/augments/smooth.d.mts +31 -0
  543. package/src/types/augments/tinyMCE.d.mts +1 -1
  544. package/src/types/config.d.mts +20 -311
  545. package/src/types/documentConfiguration.d.mts +286 -542
  546. package/src/types/index.d.mts +1 -1
  547. package/src/types/lib.d.mts +12 -0
  548. package/src/types/workers/image-compressor.d.mts +176 -0
  549. package/src/utils/index.d.mts +1279 -0
  550. package/tsconfig.json +29 -0
  551. package/tsconfig.main.json +8 -0
  552. package/tsconfig.miscellaneous.json +16 -0
  553. package/index.d.mts +0 -5
  554. package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
  555. package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -43
  556. package/src/foundry/common/documents/module.d.mts +0 -35
  557. package/src/foundry/common/primitives/regex.d.mts +0 -12
  558. package/src/types/helperTypes.d.mts +0 -389
  559. package/src/types/utils.d.mts +0 -520
  560. /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,47 +1,5 @@
1
- import type { AnyObject, InexactPartial, ValueOf } from "../../../types/utils.d.mts";
2
- import type EventEmitterMixin from "../../common/utils/event-emitter.d.mts";
3
-
4
- declare namespace Sound {
5
- interface PlaybackOptions extends _PlaybackOptions {}
6
-
7
- /** @internal */
8
- type _PlaybackOptions = InexactPartial<{
9
- /**
10
- * A delay in seconds by which to delay playback
11
- * @defaultValue `0`
12
- */
13
- delay: number;
14
-
15
- /** A limited duration in seconds for which to play */
16
- duration: number;
17
-
18
- /**
19
- * A duration in milliseconds over which to fade in playback
20
- * @defaultValue `0`
21
- */
22
- fade: number;
23
-
24
- /** Should sound playback loop? */
25
- loop: boolean;
26
-
27
- /** Seconds of the AudioBuffer when looped playback should start. Only works for AudioBufferSourceNode. */
28
- loopStart: number;
29
-
30
- /** Seconds of the Audio buffer when looped playback should restart. Only works for AudioBufferSourceNode. */
31
- loopEn: number;
32
-
33
- /** An offset in seconds at which to start playback */
34
- offset: number;
35
-
36
- /** A callback function attached to the source node */
37
- onended: ((sound: Sound) => void) | null;
38
-
39
- /** The volume at which to play the sound */
40
- volume: number;
41
- }>;
42
-
43
- type ScheduleCallback = (sound: Sound) => unknown;
44
- }
1
+ import type { Brand, Identity, InexactPartial, MaybePromise, NullishProps } from "fvtt-types/utils";
2
+ import EventEmitterMixin = foundry.utils.EventEmitterMixin;
45
3
 
46
4
  /**
47
5
  * A container around an AudioNode which manages sound playback in Foundry Virtual Tabletop.
@@ -54,35 +12,13 @@ declare class Sound extends EventEmitterMixin(Object) {
54
12
  * @param src - The audio source path, either a relative path or a remote URL
55
13
  * @param options - Additional options which configure the Sound
56
14
  */
57
- constructor(
58
- src: string,
59
- options?: InexactPartial<{
60
- /**
61
- * A non-default audio context within which the sound should play
62
- */
63
- context: AudioContext;
64
-
65
- /**
66
- * Force use of an AudioBufferSourceNode even if the audio duration is long
67
- */
68
- forceBuffer: boolean;
69
- }>,
70
- );
15
+ // options: not null (destructured)
16
+ constructor(src: string, options?: Sound.ConstructorOptions);
71
17
 
72
18
  /**
73
19
  * The sequence of container loading states.
74
20
  */
75
- static readonly STATES: {
76
- FAILED: -1;
77
- NONE: 0;
78
- LOADING: 1;
79
- LOADED: 2;
80
- STARTING: 3;
81
- PLAYING: 4;
82
- PAUSED: 5;
83
- STOPPING: 6;
84
- STOPPED: 7;
85
- };
21
+ static STATES: Sound.States;
86
22
 
87
23
  /**
88
24
  * The maximum duration, in seconds, for which an AudioBufferSourceNode will be used.
@@ -98,29 +34,35 @@ declare class Sound extends EventEmitterMixin(Object) {
98
34
 
99
35
  /**
100
36
  * A unique integer identifier for this sound.
37
+ * @remarks Set via `Object.defineProperty` during construction, `writable: false, enumerable: true, configurable: false`
101
38
  */
102
- id: number;
39
+ readonly id: number;
103
40
 
104
41
  /**
105
42
  * The audio source path.
106
43
  * Either a relative path served by the running Foundry VTT game server or a remote URL.
44
+ * @remarks Set via `Object.defineProperty` during construction, `writable: false, enumerable: true, configurable: false`
107
45
  */
108
- src: string;
46
+ readonly src: string;
109
47
 
110
48
  /**
111
49
  * The audio context within which this Sound is played.
50
+ * @remarks Can return `undefined` if no context was passed at construction *and* `game.audio.music` hasn't been initialized yet,
51
+ * which doesn't happen until the first sound is played
112
52
  */
113
- get context(): AudioContext;
53
+ get context(): AudioContext | undefined;
114
54
 
115
55
  /**
116
56
  * The AudioSourceNode used to control sound playback.
57
+ * @remarks Returns `undefined` if the Sound has either not yet been played or has been stopped
117
58
  */
118
- get sourceNode(): AudioBufferSourceNode | MediaElementAudioSourceNode;
59
+ get sourceNode(): AudioBufferSourceNode | MediaElementAudioSourceNode | undefined;
119
60
 
120
61
  /**
121
62
  * The GainNode used to control volume for this sound.
63
+ * @remarks Only `undefined` prior to first `play()`
122
64
  */
123
- gainNode: GainNode;
65
+ gainNode: GainNode | undefined;
124
66
 
125
67
  /**
126
68
  * An AudioBuffer instance, if this Sound uses an AudioBufferSourceNode for playback.
@@ -134,8 +76,9 @@ declare class Sound extends EventEmitterMixin(Object) {
134
76
 
135
77
  /**
136
78
  * The life-cycle state of the sound.
79
+ * @defaultValue `Sound.STATES.NONE` (`0`)
137
80
  */
138
- _state: ValueOf<typeof Sound.STATES>;
81
+ protected _state: Sound.STATES;
139
82
 
140
83
  /**
141
84
  * Has the audio file been loaded either fully or for streaming.
@@ -160,13 +103,15 @@ declare class Sound extends EventEmitterMixin(Object) {
160
103
 
161
104
  /**
162
105
  * A convenience reference to the GainNode gain audio parameter.
106
+ * @remarks `undefined` if {@link Sound.gainNode | `Sound#gainNode`} is.
163
107
  */
164
- get gain(): AudioParam;
108
+ get gain(): AudioParam | undefined;
165
109
 
166
110
  /**
167
111
  * The AudioNode destination which is the output target for the Sound.
112
+ * @remarks Only `undefined` prior to first `play()`
168
113
  */
169
- destination: AudioNode;
114
+ destination: AudioNode | undefined;
170
115
 
171
116
  /**
172
117
  * A pipeline of AudioNode instances to be applied to Sound playback.
@@ -177,29 +122,33 @@ declare class Sound extends EventEmitterMixin(Object) {
177
122
  * The currently playing volume of the sound.
178
123
  * Undefined until playback has started for the first time.
179
124
  */
180
- get volume(): number;
125
+ get volume(): number | undefined;
181
126
 
182
- set volume(value);
127
+ set volume(value: number);
183
128
 
184
129
  /**
185
130
  * The time in seconds at which playback was started.
131
+ * @remarks `undefined` if the Sound has either not yet been played or has been stopped
186
132
  */
187
- startTime: number;
133
+ startTime: number | undefined;
188
134
 
189
135
  /**
190
136
  * The time in seconds at which playback was paused.
137
+ * @remarks `undefined` until the Sound is paused, and after the Sound is stopped or playback has been resumed
191
138
  */
192
- pausedTime: number;
139
+ pausedTime: number | undefined;
193
140
 
194
141
  /**
195
142
  * The total duration of the audio source in seconds.
143
+ * @remarks `undefined` if the sound isn't loaded yet, or if the sourceNode type is element and also doesn't exist
196
144
  */
197
- get duration(): number;
145
+ get duration(): number | undefined;
198
146
 
199
147
  /**
200
148
  * The current playback time of the sound.
149
+ * @remarks `undefined` if the Sound has either not yet been played or has been stopped
201
150
  */
202
- get currentTime(): number;
151
+ get currentTime(): number | undefined;
203
152
 
204
153
  /**
205
154
  * Is the sound looping?
@@ -210,28 +159,22 @@ declare class Sound extends EventEmitterMixin(Object) {
210
159
 
211
160
  /**
212
161
  * An internal reference to some object which is managing this Sound instance.
162
+ * @defaultValue `null`
163
+ * @remarks Foundry marked `@internal`
164
+ *
165
+ * Only ever set *or* read externally by core, so not protected
166
+ *
167
+ * @privateRemarks Foundry types this as `Object|null` but the only place in Core this gets set is in `AmbientSound`, to `this`
213
168
  */
214
- protected _manager: AnyObject | null;
169
+ _manager: AmbientSound.Object | null;
215
170
 
216
171
  /**
217
172
  * Load the audio source and prepare it for playback, either using an AudioBuffer or a streamed HTMLAudioElement.
218
173
  * @param options - Additional options which affect resource loading
219
174
  * @returns A Promise which resolves to the Sound once it is loaded
220
175
  */
221
- load(
222
- options?: InexactPartial<{
223
- /**
224
- * Automatically begin playback of the sound once loaded
225
- * @defaultValue `false`
226
- */
227
- autoplay: boolean;
228
-
229
- /**
230
- * Playback options passed to Sound#play, if autoplay
231
- */
232
- autoplayOptions: Sound.PlaybackOptions;
233
- }>,
234
- ): Promise<this>;
176
+ // options: not null (destructured)
177
+ load(options?: Sound.LoadOptions): Promise<this>;
235
178
 
236
179
  /**
237
180
  * An inner method which handles loading so that it can be de-duplicated under a single shared Promise resolution.
@@ -249,6 +192,11 @@ declare class Sound extends EventEmitterMixin(Object) {
249
192
  * @returns A Promise which resolves once playback has started (excluding fade)
250
193
  */
251
194
  play(options?: Sound.PlaybackOptions): Promise<this>;
195
+ /**
196
+ * @deprecated since v12, until v14
197
+ * @remarks "`Sound#play` now takes an object of playback options instead of positional arguments."
198
+ */
199
+ play(offset: number, onended?: Sound.ScheduleCallback | null): Promise<this>;
252
200
 
253
201
  /**
254
202
  * Begin playback for the configured pipeline and playback options.
@@ -261,6 +209,7 @@ declare class Sound extends EventEmitterMixin(Object) {
261
209
  * For AudioBufferSourceNode this stops playback after recording the current time.
262
210
  * Calling Sound#play will resume playback from the pausedTime unless some other offset is passed.
263
211
  * For a MediaElementAudioSourceNode this simply calls the HTMLAudioElement#pause method directly.
212
+ * @throws If called while the Sound isn't playing
264
213
  */
265
214
  pause(): void;
266
215
 
@@ -277,6 +226,7 @@ declare class Sound extends EventEmitterMixin(Object) {
277
226
  * @param options - Options which configure the stopping of sound playback
278
227
  * @returns A Promise which resolves once playback is fully stopped (including fade)
279
228
  */
229
+ // options: not null (parameter default only, destructured where forwarded)
280
230
  stop(options?: Sound.PlaybackOptions): Promise<this>;
281
231
 
282
232
  /**
@@ -291,27 +241,8 @@ declare class Sound extends EventEmitterMixin(Object) {
291
241
  * @param options - Additional options that configure the fade operation
292
242
  * @returns A Promise that resolves after the requested fade duration
293
243
  */
294
- fade(
295
- volume: number,
296
- options?: InexactPartial<{
297
- /**
298
- * The duration of the fade effect in milliseconds
299
- * @defaultValue `1000`
300
- */
301
- duration: number;
302
-
303
- /**
304
- * A volume level to start from, the current volume by default
305
- */
306
- from: number;
307
-
308
- /**
309
- * The type of fade easing, "linear" or "exponential"
310
- * @defaultValue `"linear"`
311
- */
312
- type: "linear" | "exponential";
313
- }>,
314
- ): Promise<void>;
244
+ // options: not null (destructured)
245
+ fade(volume: number, options?: Sound.FadeOptions): Promise<void>;
315
246
 
316
247
  /**
317
248
  * Wait a certain scheduled duration within this sound's own AudioContext.
@@ -362,40 +293,213 @@ declare class Sound extends EventEmitterMixin(Object) {
362
293
 
363
294
  /**
364
295
  * @deprecated since v12, will be removed in v14
365
- * @remarks `"AudioContainer.LOAD_STATES is deprecated in favor of Sound.STATES"`
296
+ * @remarks "`AudioContainer.LOAD_STATES` is deprecated in favor of {@link Sound.STATES | `Sound.STATES`}"
366
297
  */
367
- static get LOAD_STATES(): Record<string, number>;
298
+ static get LOAD_STATES(): Sound.States;
368
299
 
369
300
  /**
370
301
  * @deprecated since v12, will be removed in v14
371
- * @remarks `"AudioContainer#loadState is deprecated in favor of Sound#_state"`
302
+ * @remarks "`AudioContainer#loadState` is deprecated in favor of {@link Sound._state | `Sound#_state`}"
372
303
  */
373
- get loadState(): number;
304
+ get loadState(): Sound.STATES;
374
305
 
375
306
  /**
376
307
  * @deprecated since v12, will be removed in v14
308
+ * @remarks "`Sound#container` is deprecated without replacement because the `Sound` and `AudioContainer` classes are now merged"
377
309
  */
378
310
  get container(): this;
379
311
 
380
312
  /**
381
313
  * @deprecated since v12, will be removed in v14
314
+ * @remarks "`Sound#node` is renamed {@link Sound.sourceNode | `Sound#sourceNode`}"
382
315
  */
383
316
  get node(): this["sourceNode"];
384
317
 
385
318
  /**
386
319
  * @deprecated since v12, will be removed in v14
320
+ * @remarks "`Sound#on` is deprecated in favor of {@link Sound.addEventListener | `Sound#addEventListener`}"
387
321
  */
388
- on(eventName: unknown, fn: unknown, options?: unknown): number;
322
+ on(eventName: string, fn: EventEmitterMixin.EventListener, options?: EventEmitterMixin.AddListenerOptions): void;
389
323
 
390
324
  /**
391
325
  * @deprecated since v12, will be removed in v14
326
+ * @remarks "`Sound#off` is deprecated in favor of {@link Sound.removeEventListener | `Sound#removeEventListener`}"
392
327
  */
393
- off(eventName: unknown, fn: unknown): void;
328
+ off(eventName: string, fn: EventEmitterMixin.EventListener): void;
394
329
 
395
330
  /**
396
331
  * @deprecated since v12, will be removed in v14
332
+ * @remarks "`Sound#emit` is deprecated in favor of {@link Sound.dispatchEvent | `Sound#dispatchEvent`}"
333
+ *
334
+ * This method still takes a string, then creates an `Event` with it and passes that along to `dispatchEvent`
397
335
  */
398
- emit(eventName: unknown): void;
336
+ emit(eventName: string): void;
399
337
  }
400
338
 
339
+ declare namespace Sound {
340
+ interface Any extends AnySound {}
341
+ interface AnyConstructor extends Identity<typeof AnySound> {}
342
+
343
+ /** @internal */
344
+ type _ConstructorOptions = NullishProps<{
345
+ /**
346
+ * Force use of an AudioBufferSourceNode even if the audio duration is long
347
+ * @defaultValue `false`
348
+ */
349
+ forceBuffer: boolean;
350
+
351
+ /**
352
+ * A non-default audio context within which the sound should play
353
+ * @defaultValue `game.audio.music`
354
+ */
355
+ context: AudioContext;
356
+ }>;
357
+
358
+ interface ConstructorOptions extends _ConstructorOptions {}
359
+
360
+ type STATES = Brand<number, "Sound.STATES">;
361
+
362
+ interface States {
363
+ readonly FAILED: -1 & STATES;
364
+ readonly NONE: 0 & STATES;
365
+ readonly LOADING: 1 & STATES;
366
+ readonly LOADED: 2 & STATES;
367
+ readonly STARTING: 3 & STATES;
368
+ readonly PLAYING: 4 & STATES;
369
+ readonly PAUSED: 5 & STATES;
370
+ readonly STOPPING: 6 & STATES;
371
+ readonly STOPPED: 7 & STATES;
372
+ }
373
+
374
+ /** @internal */
375
+ type _LoadOptions = NullishProps<{
376
+ /**
377
+ * Automatically begin playback of the sound once loaded
378
+ * @defaultValue `false`
379
+ */
380
+ autoplay: boolean;
381
+ }> &
382
+ InexactPartial<{
383
+ /**
384
+ * Playback options passed to Sound#play, if autoplay
385
+ * @defaultValue `{}`
386
+ * @remarks Can't be `null` as it only has a parameter default
387
+ */
388
+ autoplayOptions: Sound.PlaybackOptions;
389
+ }>;
390
+
391
+ interface LoadOptions extends _LoadOptions {}
392
+
393
+ /**
394
+ * @internal
395
+ * Since `Sound##playback` isn't exposed, this interface can *just* be accurate to what's allowable to pass
396
+ * to {@link Sound.play | `Sound#play`} or {@link Sound.stop | `#stop`}, which in reality is what's allowed
397
+ * by `Sound##configurePlayback`
398
+ */
399
+ type _PlaybackOptions = NullishProps<{
400
+ /**
401
+ * A delay in seconds by which to delay playback
402
+ * @defaultValue `0`
403
+ * @remarks Unlike other properties of this interface, the above default is static.
404
+ */
405
+ delay: number;
406
+
407
+ /**
408
+ * A limited duration in seconds for which to play
409
+ * @defaultValue `undefined`
410
+ */
411
+ duration: number;
412
+
413
+ /**
414
+ * A duration in milliseconds over which to fade in playback
415
+ * @defaultValue `0`
416
+ * @remarks Unlike other properties of this interface, the above default is static.
417
+ */
418
+ fade: number;
419
+
420
+ /**
421
+ * Should sound playback loop?
422
+ * @defaultValue `false`
423
+ * @remarks The above default is true for initial calls, but the actual default
424
+ * value, if this is passed nullish or omitted, is whatever the current value is
425
+ */
426
+ loop: boolean;
427
+
428
+ /**
429
+ * Seconds of the AudioBuffer when looped playback should start. Only works for AudioBufferSourceNode.
430
+ * @defaultValue `0`
431
+ * @remarks The above default is true for initial calls, but the actual default
432
+ * value, if this is passed nullish or omitted, is whatever the current value is
433
+ */
434
+ loopStart: number;
435
+
436
+ /**
437
+ * Seconds of the Audio buffer when looped playback should restart. Only works for AudioBufferSourceNode.
438
+ * @defaultValue `undefined`
439
+ * @remarks The above default is true for initial calls, but the actual default
440
+ * value, if this is passed nullish or omitted, is whatever the current value is
441
+ */
442
+ loopEnd: number;
443
+
444
+ /**
445
+ * An offset in seconds at which to start playback
446
+ * @defaultValue `0`
447
+ * @remarks The above default is true for initial calls, but the actual default
448
+ * value, if this is passed nullish or omitted, is whatever the current value of
449
+ * `loopStart` is
450
+ */
451
+ offset: number;
452
+
453
+ /**
454
+ * A callback function attached to the source node
455
+ * @defaultValue `null`
456
+ * @remarks The above default is true for initial calls, but the actual default
457
+ * value, if this is passed nullish or omitted, is whatever the current value is
458
+ */
459
+ onended: ScheduleCallback | null;
460
+
461
+ /**
462
+ * The volume at which to play the sound
463
+ * @defaultValue `1.0`
464
+ * @remarks The above default is true for initial calls, but the actual default
465
+ * value, if this is passed nullish or omitted, is whatever the current value is
466
+ */
467
+ volume: number;
468
+ }>;
469
+
470
+ /** @remarks Default values here are what `Sound##configurePlayback` would use if passed an empty object with no prior calls */
471
+ interface PlaybackOptions extends _PlaybackOptions {}
472
+
473
+ /** @internal */
474
+ type _FadeOptions = InexactPartial<{
475
+ /**
476
+ * The duration of the fade effect in milliseconds
477
+ * @defaultValue `1000`
478
+ * @remarks Can't be `null` as it only has a parameter default
479
+ */
480
+ duration: number;
481
+
482
+ /**
483
+ * The type of fade easing, "linear" or "exponential"
484
+ * @defaultValue `"linear"`
485
+ * @remarks Can't be `null` as it only has a parameter default
486
+ */
487
+ type: "linear" | "exponential";
488
+ }> &
489
+ NullishProps<{
490
+ /**
491
+ * A volume level to start from, the current volume by default
492
+ * @defaultValue `this.gain.value`
493
+ */
494
+ from: number;
495
+ }>;
496
+
497
+ interface FadeOptions extends _FadeOptions {}
498
+
499
+ type ScheduleCallback = (sound: Sound) => MaybePromise<unknown>;
500
+ }
401
501
  export default Sound;
502
+
503
+ declare abstract class AnySound extends Sound {
504
+ constructor(...args: never);
505
+ }
@@ -1,17 +1,12 @@
1
+ import type { Identity, NullishProps } from "../../../utils/index.d.mts";
2
+
1
3
  /**
2
4
  * A special error class used for cancellation.
3
5
  * @privateRemarks Yes this is a straight up empty class extension by Foundry used exclusively internally
4
6
  */
7
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
8
  declare class AudioTimeoutCancellation extends Error {}
6
9
 
7
- declare namespace AudioTimeout {
8
- interface Options<Return> {
9
- context?: AudioContext | undefined;
10
-
11
- callback?: (() => Return) | undefined;
12
- }
13
- }
14
-
15
10
  /**
16
11
  * A framework for scheduled audio events with more precise and synchronized timing than using window.setTimeout.
17
12
  * This approach creates an empty audio buffer of the desired duration played using the shared game audio context.
@@ -45,13 +40,14 @@ declare namespace AudioTimeout {
45
40
  * }
46
41
  * ```
47
42
  */
48
- declare class AudioTimeout<CallbackReturn = unknown> {
43
+ declare class AudioTimeout<CallbackReturn = undefined> {
49
44
  /**
50
45
  * Create an AudioTimeout by providing a delay and callback.
51
46
  * @param delayMS - A desired delay timing in milliseconds
52
47
  * @param options - Additional options which modify timeout behavior
53
48
  */
54
- constructor(delayMS: number, options?: AudioTimeout.Options<CallbackReturn>)
49
+ // options: not null (destructured)
50
+ constructor(delayMS: number, options?: AudioTimeout.ConstructorOptions<CallbackReturn>);
55
51
 
56
52
  /**
57
53
  * Is the timeout complete?
@@ -76,7 +72,30 @@ declare class AudioTimeout<CallbackReturn = unknown> {
76
72
  * @param options - Additional options which modify timeout behavior
77
73
  * @returns A promise which resolves as a returned value of the callback or void
78
74
  */
79
- static wait<CallbackReturn = unknown>(delayMS: number, options?: AudioTimeout.Options<CallbackReturn>): Promise<CallbackReturn>;
75
+ // options: not null (destructured where forwarded)
76
+ static wait<CallbackReturn = undefined>(
77
+ delayMS: number,
78
+ options?: AudioTimeout.ConstructorOptions<CallbackReturn>,
79
+ ): Promise<CallbackReturn>;
80
+ }
81
+
82
+ declare namespace AudioTimeout {
83
+ interface Any extends AnyAudioTimeout {}
84
+ interface AnyConstructor extends Identity<typeof AnyAudioTimeout> {}
85
+
86
+ /** @internal */
87
+ type _ConstructorOptions<Return = undefined> = NullishProps<{
88
+ /** @defaultValue `game.audio.music` */
89
+ context: AudioContext;
90
+
91
+ callback: () => Return;
92
+ }>;
93
+
94
+ interface ConstructorOptions<Return = undefined> extends _ConstructorOptions<Return> {}
80
95
  }
81
96
 
82
97
  export default AudioTimeout;
98
+
99
+ declare abstract class AnyAudioTimeout extends AudioTimeout<unknown> {
100
+ constructor(...args: never);
101
+ }
@@ -1,7 +1,7 @@
1
1
  // In Foundry itself this file contains re-exports of these other modules.
2
2
  // Therefore it has a runtime effect and uses `.mjs` instead of `.d.mts`.
3
- // While `.mts` could work, to avoid `import/no-unresolved` from erroring `.mjs` is used.
4
- /* eslint-disable import/extensions */
3
+ // While `.mts` could work, to avoid `import-x/no-unresolved` from erroring `.mjs` is used.
4
+ /* eslint-disable import-x/extensions */
5
5
 
6
6
  export { default as SceneManager } from "./scene-manager.mjs";
7
7
  export { default as SMAAFilter } from "./smaa/smaa.mjs";
@@ -1,7 +1,7 @@
1
1
  // In Foundry itself this file contains re-exports of these other modules.
2
2
  // Therefore it has a runtime effect and uses `.mjs` instead of `.d.mts`.
3
- // While `.mts` could work, to avoid `import/no-unresolved` from erroring `.mjs` is used.
4
- /* eslint-disable import/extensions */
3
+ // While `.mts` could work, to avoid `import-x/no-unresolved` from erroring `.mjs` is used.
4
+ /* eslint-disable import-x/extensions */
5
5
 
6
6
  export { default as CanvasEdges } from "./edges.mjs";
7
7
  export { default as CollisionResult } from "./collision.mjs";