@league-of-foundry-developers/foundry-vtt-types 12.331.3-beta → 13.340.0

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 (690) hide show
  1. package/README.md +13 -17
  2. package/package.json +85 -41
  3. package/src/configuration/configuration.d.mts +315 -0
  4. package/src/configuration/globals.d.mts +349 -0
  5. package/src/configuration/index.d.mts +4 -0
  6. package/src/foundry/client/apps/app.d.mts +10 -5
  7. package/src/foundry/client/apps/av/av-config.d.mts +2 -2
  8. package/src/foundry/client/apps/av/cameras.d.mts +7 -2
  9. package/src/foundry/client/apps/dice/dice-config.d.mts +45 -0
  10. package/src/foundry/client/apps/dice/index.d.mts +1 -0
  11. package/src/foundry/client/apps/form.d.mts +13 -4
  12. package/src/foundry/client/apps/forms/actor.d.mts +4 -4
  13. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +1 -1
  14. package/src/foundry/client/apps/forms/adventure-importer.d.mts +1 -1
  15. package/src/foundry/client/apps/forms/base-sheet.d.mts +7 -6
  16. package/src/foundry/client/apps/forms/card-config.d.mts +8 -8
  17. package/src/foundry/client/apps/forms/cards-config.d.mts +5 -4
  18. package/src/foundry/client/apps/forms/combat-config.d.mts +1 -1
  19. package/src/foundry/client/apps/forms/combatant-config.d.mts +1 -1
  20. package/src/foundry/client/apps/forms/effect-config.d.mts +1 -1
  21. package/src/foundry/client/apps/forms/folder-config.d.mts +1 -1
  22. package/src/foundry/client/apps/forms/fonts.d.mts +1 -1
  23. package/src/foundry/client/apps/forms/grid-config.d.mts +2 -3
  24. package/src/foundry/client/apps/forms/image-popout.d.mts +1 -1
  25. package/src/foundry/client/apps/forms/item.d.mts +8 -8
  26. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +1 -1
  27. package/src/foundry/client/apps/forms/journal-sheet.d.mts +4 -3
  28. package/src/foundry/client/apps/forms/macro-config.d.mts +2 -2
  29. package/src/foundry/client/apps/forms/measure-template.d.mts +8 -10
  30. package/src/foundry/client/apps/forms/ownership.d.mts +1 -1
  31. package/src/foundry/client/apps/forms/playlist-config.d.mts +1 -1
  32. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +1 -1
  33. package/src/foundry/client/apps/forms/roll-table-config.d.mts +5 -3
  34. package/src/foundry/client/apps/forms/scene-config.d.mts +5 -6
  35. package/src/foundry/client/apps/forms/sheet-config.d.mts +6 -18
  36. package/src/foundry/client/apps/forms/user-config.d.mts +6 -5
  37. package/src/foundry/client/apps/hud/chatbubble.d.mts +7 -0
  38. package/src/foundry/client/apps/hud/container.d.mts +1 -1
  39. package/src/foundry/client/apps/hud/controls.d.mts +6 -1
  40. package/src/foundry/client/apps/hud/hotbar.d.mts +9 -4
  41. package/src/foundry/client/apps/hud/hud.d.mts +1 -1
  42. package/src/foundry/client/apps/hud/menu.d.mts +8 -1
  43. package/src/foundry/client/apps/hud/navigation.d.mts +8 -3
  44. package/src/foundry/client/apps/hud/pause.d.mts +7 -2
  45. package/src/foundry/client/apps/hud/players.d.mts +8 -3
  46. package/src/foundry/client/apps/i18n.d.mts +2 -2
  47. package/src/foundry/client/apps/index.d.mts +1 -0
  48. package/src/foundry/client/apps/placeables/drawing-config.d.mts +1 -1
  49. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +1 -1
  50. package/src/foundry/client/apps/placeables/light-config.d.mts +4 -4
  51. package/src/foundry/client/apps/placeables/note-config.d.mts +3 -3
  52. package/src/foundry/client/apps/placeables/sound-config.d.mts +4 -3
  53. package/src/foundry/client/apps/placeables/tile-config.d.mts +2 -2
  54. package/src/foundry/client/apps/placeables/tile-hud.d.mts +7 -2
  55. package/src/foundry/client/apps/placeables/token-config.d.mts +16 -4
  56. package/src/foundry/client/apps/placeables/token-hud.d.mts +7 -2
  57. package/src/foundry/client/apps/placeables/wall-config.d.mts +4 -3
  58. package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +1 -1
  59. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +6 -7
  60. package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +2 -1
  61. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +1 -1
  62. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +1 -1
  63. package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +1 -1
  64. package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +1 -1
  65. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +1 -1
  66. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +12 -5
  67. package/src/foundry/client/apps/sidebar/document-directory.d.mts +12 -5
  68. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +1 -1
  69. package/src/foundry/client/apps/sidebar/sidebar.d.mts +7 -2
  70. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +10 -1
  71. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +10 -1
  72. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +8 -1
  73. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +10 -1
  74. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +15 -9
  75. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +10 -1
  76. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +10 -1
  77. package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +9 -0
  78. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +16 -8
  79. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +10 -1
  80. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +11 -2
  81. package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +19 -1
  82. package/src/foundry/client/av/client.d.mts +1 -1
  83. package/src/foundry/client/av/clients/simplepeer.d.mts +11 -1
  84. package/src/foundry/client/av/master.d.mts +2 -2
  85. package/src/foundry/client/av/settings.d.mts +1 -2
  86. package/src/foundry/client/config.d.mts +201 -196
  87. package/src/foundry/client/core/hooks.d.mts +2 -2
  88. package/src/foundry/client/core/image.d.mts +1 -2
  89. package/src/foundry/client/core/keybindings.d.mts +2 -2
  90. package/src/foundry/client/core/packages.d.mts +9 -2
  91. package/src/foundry/client/core/settings.d.mts +34 -31
  92. package/src/foundry/client/core/socket.d.mts +1 -1
  93. package/src/foundry/client/core/sorting.d.mts +1 -1
  94. package/src/foundry/client/core/tooltip.d.mts +1 -1
  95. package/src/foundry/client/core/tour.d.mts +1 -1
  96. package/src/foundry/client/core/utils.d.mts +33 -10
  97. package/src/foundry/client/core/video.d.mts +1 -1
  98. package/src/foundry/client/core/workers.d.mts +1 -1
  99. package/src/foundry/client/data/abstract/canvas-document.d.mts +25 -14
  100. package/src/foundry/client/data/abstract/client-document.d.mts +47 -38
  101. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +18 -12
  102. package/src/foundry/client/data/abstract/document-collection.d.mts +8 -8
  103. package/src/foundry/client/data/abstract/world-collection.d.mts +2 -4
  104. package/src/foundry/client/data/collections/actors.d.mts +10 -1
  105. package/src/foundry/client/data/collections/cards.d.mts +9 -0
  106. package/src/foundry/client/data/collections/combats.d.mts +10 -1
  107. package/src/foundry/client/data/collections/compendium-collection.d.mts +3 -34
  108. package/src/foundry/client/data/collections/compendium-packs.d.mts +1 -1
  109. package/src/foundry/client/data/collections/fog.d.mts +9 -0
  110. package/src/foundry/client/data/collections/folder.d.mts +9 -0
  111. package/src/foundry/client/data/collections/items.d.mts +9 -0
  112. package/src/foundry/client/data/collections/journal.d.mts +10 -1
  113. package/src/foundry/client/data/collections/macros.d.mts +10 -1
  114. package/src/foundry/client/data/collections/messages.d.mts +9 -0
  115. package/src/foundry/client/data/collections/playlists.d.mts +10 -1
  116. package/src/foundry/client/data/collections/scenes.d.mts +10 -1
  117. package/src/foundry/client/data/collections/settings.d.mts +9 -0
  118. package/src/foundry/client/data/collections/tables.d.mts +10 -1
  119. package/src/foundry/client/data/collections/users.d.mts +10 -1
  120. package/src/foundry/client/data/documents/active-effect.d.mts +43 -14
  121. package/src/foundry/client/data/documents/actor-delta.d.mts +4 -4
  122. package/src/foundry/client/data/documents/actor.d.mts +4 -10
  123. package/src/foundry/client/data/documents/adventure.d.mts +9 -8
  124. package/src/foundry/client/data/documents/ambient-light.d.mts +3 -2
  125. package/src/foundry/client/data/documents/ambient-sound.d.mts +3 -2
  126. package/src/foundry/client/data/documents/card.d.mts +4 -3
  127. package/src/foundry/client/data/documents/cards.d.mts +12 -19
  128. package/src/foundry/client/data/documents/chat-message.d.mts +4 -3
  129. package/src/foundry/client/data/documents/combat.d.mts +5 -4
  130. package/src/foundry/client/data/documents/combatant.d.mts +5 -4
  131. package/src/foundry/client/data/documents/drawing.d.mts +3 -2
  132. package/src/foundry/client/data/documents/fog-exploration.d.mts +13 -3
  133. package/src/foundry/client/data/documents/folder.d.mts +21 -8
  134. package/src/foundry/client/data/documents/index.d.mts +2 -0
  135. package/src/foundry/client/data/documents/item.d.mts +6 -2
  136. package/src/foundry/client/data/documents/journal-entry-page.d.mts +5 -4
  137. package/src/foundry/client/data/documents/journal-entry.d.mts +5 -4
  138. package/src/foundry/client/data/documents/macro.d.mts +5 -6
  139. package/src/foundry/client/data/documents/measured-template.d.mts +3 -2
  140. package/src/foundry/client/data/documents/note.d.mts +3 -2
  141. package/src/foundry/client/data/documents/playlist-sound.d.mts +4 -3
  142. package/src/foundry/client/data/documents/playlist.d.mts +13 -13
  143. package/src/foundry/client/data/documents/region-behavior.d.mts +78 -0
  144. package/src/foundry/client/data/documents/region.d.mts +160 -0
  145. package/src/foundry/client/data/documents/scene.d.mts +4 -3
  146. package/src/foundry/client/data/documents/setting.d.mts +3 -2
  147. package/src/foundry/client/data/documents/table-result.d.mts +3 -2
  148. package/src/foundry/client/data/documents/table.d.mts +5 -4
  149. package/src/foundry/client/data/documents/tile.d.mts +3 -2
  150. package/src/foundry/client/data/documents/token.d.mts +6 -11
  151. package/src/foundry/client/data/documents/user.d.mts +4 -3
  152. package/src/foundry/client/data/documents/wall.d.mts +3 -2
  153. package/src/foundry/client/game.d.mts +24 -22
  154. package/src/foundry/client/head.d.mts +12 -7
  155. package/src/foundry/client/hooks.d.mts +59 -40
  156. package/src/foundry/client/pixi/board.d.mts +12 -6
  157. package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +95 -24
  158. package/src/foundry/client/pixi/core/containers/cached-container.d.mts +36 -18
  159. package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +7 -10
  160. package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +24 -14
  161. package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +15 -5
  162. package/src/foundry/client/pixi/core/containers/quadtree.d.mts +107 -50
  163. package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +66 -23
  164. package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +20 -2
  165. package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +158 -99
  166. package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +61 -22
  167. package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +119 -52
  168. package/src/foundry/client/pixi/core/interaction/ping.d.mts +51 -28
  169. package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +16 -8
  170. package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +84 -33
  171. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +16 -6
  172. package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +35 -5
  173. package/src/foundry/client/pixi/core/interaction/targets.d.mts +19 -16
  174. package/src/foundry/client/pixi/core/loader.d.mts +85 -75
  175. package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +36 -16
  176. package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +92 -64
  177. package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +28 -10
  178. package/src/foundry/client/pixi/core/shapes/ray.d.mts +27 -9
  179. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +162 -72
  180. package/src/foundry/client/pixi/extensions/circle.d.mts +128 -125
  181. package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
  182. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +3 -2
  183. package/src/foundry/client/pixi/extensions/polygon.d.mts +154 -134
  184. package/src/foundry/client/pixi/extensions/rectangle.d.mts +242 -259
  185. package/src/foundry/client/pixi/groups/effects.d.mts +75 -24
  186. package/src/foundry/client/pixi/groups/environment.d.mts +68 -19
  187. package/src/foundry/client/pixi/groups/hidden.d.mts +27 -11
  188. package/src/foundry/client/pixi/groups/interface.d.mts +62 -38
  189. package/src/foundry/client/pixi/groups/overlay.d.mts +18 -6
  190. package/src/foundry/client/pixi/groups/primary.d.mts +64 -42
  191. package/src/foundry/client/pixi/groups/rendered.d.mts +18 -6
  192. package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +9 -13
  193. package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +18 -17
  194. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +86 -98
  195. package/src/foundry/client/pixi/layers/controls/cursor.d.mts +1 -1
  196. package/src/foundry/client/pixi/layers/controls/door.d.mts +9 -0
  197. package/src/foundry/client/pixi/layers/controls/layer.d.mts +10 -8
  198. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +1 -1
  199. package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +6 -8
  200. package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +4 -7
  201. package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +3 -6
  202. package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +4 -7
  203. package/src/foundry/client/pixi/layers/effects/visibility.d.mts +11 -8
  204. package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +1 -1
  205. package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +5 -8
  206. package/src/foundry/client/pixi/layers/grid/highlight.d.mts +1 -1
  207. package/src/foundry/client/pixi/layers/grid/layer.d.mts +6 -8
  208. package/src/foundry/client/pixi/layers/grid/mesh.d.mts +1 -1
  209. package/src/foundry/client/pixi/layers/masks/depth.d.mts +11 -6
  210. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +18 -11
  211. package/src/foundry/client/pixi/layers/masks/vision.d.mts +100 -14
  212. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +3 -6
  213. package/src/foundry/client/pixi/layers/placeables/index.d.mts +1 -0
  214. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +4 -7
  215. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +4 -6
  216. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +100 -0
  217. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +4 -8
  218. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +3 -6
  219. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +3 -5
  220. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +6 -10
  221. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +9 -11
  222. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +53 -24
  223. package/src/foundry/client/pixi/perception/detection-mode.d.mts +4 -2
  224. package/src/foundry/client/pixi/perception/fog.d.mts +9 -0
  225. package/src/foundry/client/pixi/perception/vision-mode.d.mts +7 -4
  226. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +42 -14
  227. package/src/foundry/client/pixi/placeable.d.mts +15 -7
  228. package/src/foundry/client/pixi/placeables/drawing.d.mts +10 -9
  229. package/src/foundry/client/pixi/placeables/index.d.mts +1 -0
  230. package/src/foundry/client/pixi/placeables/light.d.mts +8 -6
  231. package/src/foundry/client/pixi/placeables/note.d.mts +8 -7
  232. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +29 -8
  233. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +41 -11
  234. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +59 -18
  235. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +120 -37
  236. package/src/foundry/client/pixi/placeables/region.d.mts +177 -0
  237. package/src/foundry/client/pixi/placeables/sound.d.mts +7 -6
  238. package/src/foundry/client/pixi/placeables/template.d.mts +10 -10
  239. package/src/foundry/client/pixi/placeables/tile.d.mts +12 -10
  240. package/src/foundry/client/pixi/placeables/token.d.mts +147 -18
  241. package/src/foundry/client/pixi/placeables/wall.d.mts +11 -9
  242. package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +50 -33
  243. package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +9 -8
  244. package/src/foundry/client/pixi/webgl/helpers/{framebugger-snapshot.d.mts → framebuffer-snapshot.d.mts} +9 -8
  245. package/src/foundry/client/pixi/webgl/helpers/index.d.mts +1 -1
  246. package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +30 -23
  247. package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +82 -53
  248. package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +10 -10
  249. package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +45 -28
  250. package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +11 -10
  251. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +11 -9
  252. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +21 -19
  253. package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +33 -32
  254. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +9 -8
  255. package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +11 -10
  256. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +9 -8
  257. package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +11 -10
  258. package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +65 -58
  259. package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +20 -16
  260. package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +13 -10
  261. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +9 -8
  262. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +9 -8
  263. package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +20 -14
  264. package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +11 -10
  265. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +9 -8
  266. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +32 -32
  267. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +9 -8
  268. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +9 -8
  269. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +18 -16
  270. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +9 -8
  271. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +9 -8
  272. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +9 -8
  273. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +9 -8
  274. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +18 -16
  275. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +18 -16
  276. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +9 -8
  277. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +9 -7
  278. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +18 -16
  279. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +9 -8
  280. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +9 -8
  281. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +9 -8
  282. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +18 -16
  283. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +9 -8
  284. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +9 -8
  285. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +9 -8
  286. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +18 -16
  287. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +19 -17
  288. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +9 -8
  289. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +18 -16
  290. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +9 -9
  291. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +18 -16
  292. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +18 -16
  293. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +18 -16
  294. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +9 -8
  295. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +70 -28
  296. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +52 -8
  297. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +68 -8
  298. package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +23 -24
  299. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +9 -8
  300. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +37 -28
  301. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +20 -16
  302. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +9 -8
  303. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +19 -17
  304. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +9 -0
  305. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +29 -1
  306. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +9 -8
  307. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +10 -8
  308. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +9 -8
  309. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +9 -8
  310. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +18 -16
  311. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +9 -8
  312. package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +37 -32
  313. package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +15 -14
  314. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +16 -15
  315. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +18 -17
  316. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +14 -13
  317. package/src/foundry/client/pixi/workers/texture-worker.d.mts +33 -53
  318. package/src/foundry/client/ui/dialog.d.mts +136 -125
  319. package/src/foundry/client/ui/drag.d.mts +1 -1
  320. package/src/foundry/client/ui/dragdrop.d.mts +1 -1
  321. package/src/foundry/client/ui/editor.d.mts +3 -3
  322. package/src/foundry/client/ui/filepicker.d.mts +1 -1
  323. package/src/foundry/client/ui/filter.d.mts +2 -2
  324. package/src/foundry/client/ui/index.d.mts +0 -2
  325. package/src/foundry/client-esm/_module.d.mts +112 -0
  326. package/src/foundry/client-esm/_types.d.mts +8 -0
  327. package/src/foundry/client-esm/applications/_module.d.mts +10 -5
  328. package/src/foundry/client-esm/applications/_types.d.mts +2 -2
  329. package/src/foundry/client-esm/applications/api/_module.d.mts +6 -5
  330. package/src/foundry/client-esm/applications/api/application.d.mts +207 -36
  331. package/src/foundry/client-esm/applications/api/category-browser.d.mts +40 -0
  332. package/src/foundry/client-esm/applications/api/dialog.d.mts +152 -74
  333. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +21 -8
  334. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +161 -131
  335. package/src/foundry/client-esm/applications/apps/_module.d.mts +9 -2
  336. package/src/foundry/client-esm/applications/apps/av/_module.d.mts +7 -0
  337. package/src/foundry/client-esm/applications/apps/av/camera-popout.d.mts +23 -0
  338. package/src/foundry/client-esm/applications/apps/av/cameras.d.mts +95 -0
  339. package/src/foundry/client-esm/applications/apps/combat-tracker-config.d.mts +21 -0
  340. package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +6 -5
  341. package/src/foundry/client-esm/applications/apps/document-ownership.d.mts +21 -0
  342. package/src/foundry/client-esm/applications/apps/document-sheet-config.d.mts +24 -0
  343. package/src/foundry/client-esm/applications/apps/file-picker.d.mts +410 -0
  344. package/src/foundry/client-esm/applications/apps/grid-config.d.mts +25 -0
  345. package/src/foundry/client-esm/applications/apps/image-popout.d.mts +56 -0
  346. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +4 -4
  347. package/src/foundry/client-esm/applications/dice/_module.d.mts +2 -2
  348. package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +14 -2
  349. package/src/foundry/client-esm/applications/elements/_module.d.mts +5 -2
  350. package/src/foundry/client-esm/applications/elements/codemirror/element.d.mts +16 -0
  351. package/src/foundry/client-esm/applications/elements/codemirror/extensions.d.mts +20 -0
  352. package/src/foundry/client-esm/applications/elements/codemirror/view.d.mts +8 -0
  353. package/src/foundry/client-esm/applications/elements/document-embed.d.mts +14 -0
  354. package/src/foundry/client-esm/applications/elements/document-tags.d.mts +2 -0
  355. package/src/foundry/client-esm/applications/elements/enriched-content.d.mts +29 -0
  356. package/src/foundry/client-esm/applications/elements/multi-select.d.mts +15 -5
  357. package/src/foundry/client-esm/applications/elements/prosemirror-editor.d.mts +1 -1
  358. package/src/foundry/client-esm/applications/elements/secret-block.d.mts +7 -0
  359. package/src/foundry/client-esm/applications/elements/string-tags.d.mts +1 -1
  360. package/src/foundry/client-esm/applications/forms/fields.d.mts +1 -1
  361. package/src/foundry/client-esm/applications/handlebars.d.mts +3 -0
  362. package/src/foundry/client-esm/applications/hud/_module.d.mts +10 -0
  363. package/src/foundry/client-esm/applications/hud/container.d.mts +15 -0
  364. package/src/foundry/client-esm/applications/hud/drawing-hud.d.mts +19 -0
  365. package/src/foundry/client-esm/applications/hud/placeable-hud.d.mts +41 -0
  366. package/src/foundry/client-esm/applications/hud/tile-hud.d.mts +19 -0
  367. package/src/foundry/client-esm/applications/hud/token-hud.d.mts +20 -0
  368. package/src/foundry/client-esm/applications/quickstart.d.mts +20 -0
  369. package/src/foundry/client-esm/applications/settings/_module.d.mts +7 -0
  370. package/src/foundry/client-esm/applications/settings/config.d.mts +21 -0
  371. package/src/foundry/client-esm/applications/settings/dependency-resolution.d.mts +19 -0
  372. package/src/foundry/client-esm/applications/settings/menus/_module.d.mts +11 -0
  373. package/src/foundry/client-esm/applications/settings/menus/av-config.d.mts +27 -0
  374. package/src/foundry/client-esm/applications/settings/menus/default-sheets-config.d.mts +19 -0
  375. package/src/foundry/client-esm/applications/settings/menus/dice-config.d.mts +18 -0
  376. package/src/foundry/client-esm/applications/settings/menus/font-config.d.mts +43 -0
  377. package/src/foundry/client-esm/applications/settings/menus/prototype-overrides.d.mts +21 -0
  378. package/src/foundry/client-esm/applications/settings/menus/ui-config.d.mts +26 -0
  379. package/src/foundry/client-esm/applications/sheets/_module.d.mts +30 -5
  380. package/src/foundry/client-esm/applications/sheets/active-effect-config.d.mts +25 -0
  381. package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +1 -1
  382. package/src/foundry/client-esm/applications/sheets/adventure-exporter.d.mts +25 -0
  383. package/src/foundry/client-esm/applications/sheets/adventure-importer.d.mts +25 -0
  384. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +3 -3
  385. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +3 -3
  386. package/src/foundry/client-esm/applications/sheets/base-sheet.d.mts +23 -0
  387. package/src/foundry/client-esm/applications/sheets/card-config.d.mts +25 -0
  388. package/src/foundry/client-esm/applications/sheets/cards-config.d.mts +49 -0
  389. package/src/foundry/client-esm/applications/sheets/combatant-config.d.mts +25 -0
  390. package/src/foundry/client-esm/applications/sheets/drawing-config.d.mts +25 -0
  391. package/src/foundry/client-esm/applications/sheets/folder-config.d.mts +25 -0
  392. package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +1 -1
  393. package/src/foundry/client-esm/applications/sheets/journal/_module.d.mts +16 -0
  394. package/src/foundry/client-esm/applications/sheets/journal/dialog-show.d.mts +19 -0
  395. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-category-config.d.mts +25 -0
  396. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-hbs-sheet.d.mts +19 -0
  397. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-image-sheet.d.mts +18 -0
  398. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-markdown-sheet.d.mts +18 -0
  399. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-pdf-sheet.d.mts +18 -0
  400. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-prose-mirror-sheet.d.mts +18 -0
  401. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-sheet.d.mts +28 -0
  402. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-text-sheet.d.mts +18 -0
  403. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-video-sheet.d.mts +18 -0
  404. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-sheet.d.mts +35 -0
  405. package/src/foundry/client-esm/applications/sheets/macro-config.d.mts +25 -0
  406. package/src/foundry/client-esm/applications/sheets/note-config.d.mts +25 -0
  407. package/src/foundry/client-esm/applications/sheets/playlist-config.d.mts +25 -0
  408. package/src/foundry/client-esm/applications/sheets/playlist-sound-config.d.mts +25 -0
  409. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +29 -5
  410. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +35 -5
  411. package/src/foundry/client-esm/applications/sheets/roll-table-config.d.mts +25 -0
  412. package/src/foundry/client-esm/applications/sheets/roll-table-sheet.d.mts +25 -0
  413. package/src/foundry/client-esm/applications/sheets/scene-config.d.mts +25 -0
  414. package/src/foundry/client-esm/applications/sheets/table-result-config.d.mts +25 -0
  415. package/src/foundry/client-esm/applications/sheets/template-config.d.mts +25 -0
  416. package/src/foundry/client-esm/applications/sheets/tile-config.d.mts +25 -0
  417. package/src/foundry/client-esm/applications/sheets/token/_module.d.mts +7 -0
  418. package/src/foundry/client-esm/applications/sheets/token/mixin.d.mts +27 -0
  419. package/src/foundry/client-esm/applications/sheets/token/prototype-config.d.mts +18 -0
  420. package/src/foundry/client-esm/applications/sheets/token/token-config.d.mts +25 -0
  421. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +3 -3
  422. package/src/foundry/client-esm/applications/sheets/wall-config.d.mts +25 -0
  423. package/src/foundry/client-esm/applications/sidebar/_module.d.mts +10 -0
  424. package/src/foundry/client-esm/applications/sidebar/apps/_module.d.mts +15 -0
  425. package/src/foundry/client-esm/applications/sidebar/apps/chat-popout.d.mts +22 -0
  426. package/src/foundry/client-esm/applications/sidebar/apps/compendium.d.mts +21 -0
  427. package/src/foundry/client-esm/applications/sidebar/apps/controls-config.d.mts +20 -0
  428. package/src/foundry/client-esm/applications/sidebar/apps/folder-export.d.mts +18 -0
  429. package/src/foundry/client-esm/applications/sidebar/apps/frame-viewer.d.mts +22 -0
  430. package/src/foundry/client-esm/applications/sidebar/apps/invitation-links.d.mts +17 -0
  431. package/src/foundry/client-esm/applications/sidebar/apps/module-management.d.mts +21 -0
  432. package/src/foundry/client-esm/applications/sidebar/apps/support-details.d.mts +17 -0
  433. package/src/foundry/client-esm/applications/sidebar/apps/tours-management.d.mts +20 -0
  434. package/src/foundry/client-esm/applications/sidebar/apps/world-config.d.mts +19 -0
  435. package/src/foundry/client-esm/applications/sidebar/document-directory.d.mts +30 -0
  436. package/src/foundry/client-esm/applications/sidebar/sidebar-tab.d.mts +86 -0
  437. package/src/foundry/client-esm/applications/sidebar/sidebar.d.mts +18 -0
  438. package/src/foundry/client-esm/applications/sidebar/tabs/_module.d.mts +17 -0
  439. package/src/foundry/client-esm/applications/sidebar/tabs/actor-directory.d.mts +20 -0
  440. package/src/foundry/client-esm/applications/sidebar/tabs/cards-directory.d.mts +20 -0
  441. package/src/foundry/client-esm/applications/sidebar/tabs/chat.d.mts +19 -0
  442. package/src/foundry/client-esm/applications/sidebar/tabs/combat-tracker.d.mts +19 -0
  443. package/src/foundry/client-esm/applications/sidebar/tabs/compendium-directory.d.mts +19 -0
  444. package/src/foundry/client-esm/applications/sidebar/tabs/item-directory.d.mts +20 -0
  445. package/src/foundry/client-esm/applications/sidebar/tabs/journal-directory.d.mts +20 -0
  446. package/src/foundry/client-esm/applications/sidebar/tabs/macro-directory.d.mts +20 -0
  447. package/src/foundry/client-esm/applications/sidebar/tabs/playlist-directory.d.mts +20 -0
  448. package/src/foundry/client-esm/applications/sidebar/tabs/roll-table-directory.d.mts +20 -0
  449. package/src/foundry/client-esm/applications/sidebar/tabs/scene-directory.d.mts +20 -0
  450. package/src/foundry/client-esm/applications/sidebar/tabs/settings.d.mts +18 -0
  451. package/src/foundry/client-esm/applications/ui/_module.d.mts +9 -2
  452. package/src/foundry/client-esm/applications/ui/game-pause.d.mts +22 -0
  453. package/src/foundry/client-esm/applications/ui/hotbar.d.mts +29 -0
  454. package/src/foundry/client-esm/applications/ui/main-menu.d.mts +27 -0
  455. package/src/foundry/client-esm/applications/ui/notifications.d.mts +208 -0
  456. package/src/foundry/client-esm/applications/ui/players.d.mts +26 -0
  457. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +48 -3
  458. package/src/foundry/client-esm/applications/ui/scene-controls.d.mts +20 -0
  459. package/src/foundry/client-esm/applications/ui/scene-navigation.d.mts +28 -0
  460. package/src/foundry/client-esm/applications/ux/_module.d.mts +14 -0
  461. package/src/foundry/client-esm/applications/ux/context-menu.d.mts +359 -0
  462. package/src/foundry/client-esm/applications/ux/drag-drop.d.mts +21 -0
  463. package/src/foundry/client-esm/applications/ux/draggable.d.mts +9 -0
  464. package/src/foundry/client-esm/applications/ux/form-data-extended.d.mts +17 -0
  465. package/src/foundry/client-esm/applications/ux/html-secret.d.mts +21 -0
  466. package/src/foundry/client-esm/applications/ux/prosemirror-editor.d.mts +9 -0
  467. package/src/foundry/client-esm/applications/ux/search-filter.d.mts +9 -0
  468. package/src/foundry/client-esm/applications/ux/tabs.d.mts +29 -0
  469. package/src/foundry/client-esm/applications/ux/text-editor.d.mts +9 -0
  470. package/src/foundry/client-esm/appv1/_module.d.mts +7 -0
  471. package/src/foundry/client-esm/appv1/api/_module.d.mts +9 -0
  472. package/src/foundry/client-esm/appv1/api/application-v1.d.mts +5 -0
  473. package/src/foundry/client-esm/appv1/api/dialog-v1.d.mts +5 -0
  474. package/src/foundry/client-esm/appv1/api/document-sheet-v1.d.mts +5 -0
  475. package/src/foundry/client-esm/appv1/api/form-application-v1.d.mts +5 -0
  476. package/src/foundry/client-esm/appv1/sheets/_module.d.mts +10 -0
  477. package/src/foundry/client-esm/appv1/sheets/actor-sheet.d.mts +5 -0
  478. package/src/foundry/client-esm/appv1/sheets/adventure-importer.d.mts +5 -0
  479. package/src/foundry/client-esm/appv1/sheets/item-sheet.d.mts +5 -0
  480. package/src/foundry/client-esm/appv1/sheets/journal-page-sheet.d.mts +7 -0
  481. package/src/foundry/client-esm/appv1/sheets/journal-sheet.d.mts +5 -0
  482. package/src/foundry/client-esm/audio/_module.d.mts +2 -3
  483. package/src/foundry/client-esm/audio/biquad.d.mts +1 -1
  484. package/src/foundry/client-esm/audio/convolver.d.mts +1 -1
  485. package/src/foundry/client-esm/audio/helper.d.mts +1 -1
  486. package/src/foundry/client-esm/audio/sound.d.mts +2 -2
  487. package/src/foundry/client-esm/av/_module.d.mts +10 -0
  488. package/src/foundry/client-esm/av/client.d.mts +18 -0
  489. package/src/foundry/client-esm/av/clients/_module.d.mts +6 -0
  490. package/src/foundry/client-esm/av/clients/simplepeer.d.mts +11 -0
  491. package/src/foundry/client-esm/av/master.d.mts +12 -0
  492. package/src/foundry/client-esm/av/settings.d.mts +30 -0
  493. package/src/foundry/client-esm/canvas/_module.d.mts +2 -2
  494. package/src/foundry/client-esm/canvas/edges/_module.d.mts +2 -2
  495. package/src/foundry/client-esm/canvas/edges/collision.d.mts +61 -18
  496. package/src/foundry/client-esm/canvas/edges/edge.d.mts +106 -42
  497. package/src/foundry/client-esm/canvas/edges/edges.d.mts +9 -0
  498. package/src/foundry/client-esm/canvas/edges/vertex.d.mts +51 -23
  499. package/src/foundry/client-esm/canvas/regions/_module.d.mts +6 -11
  500. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +31 -0
  501. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +61 -0
  502. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +101 -0
  503. package/src/foundry/client-esm/canvas/regions/shape.d.mts +118 -0
  504. package/src/foundry/client-esm/canvas/scene-manager.d.mts +9 -0
  505. package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +2 -3
  506. package/src/foundry/client-esm/canvas/sources/_module.d.mts +2 -2
  507. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +32 -18
  508. package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +53 -15
  509. package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +18 -3
  510. package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +47 -20
  511. package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +17 -7
  512. package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +26 -14
  513. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +20 -4
  514. package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +26 -8
  515. package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +26 -25
  516. package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +89 -52
  517. package/src/foundry/client-esm/canvas/tokens/_module.d.mts +2 -3
  518. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +113 -2
  519. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +170 -3
  520. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +189 -2
  521. package/src/foundry/client-esm/client.d.mts +56 -63
  522. package/src/foundry/client-esm/config.d.mts +1 -0
  523. package/src/foundry/client-esm/data/_module.d.mts +8 -3
  524. package/src/foundry/client-esm/data/_types.d.mts +10 -0
  525. package/src/foundry/client-esm/data/calendar.d.mts +213 -0
  526. package/src/foundry/client-esm/data/client-backend.d.mts +17 -18
  527. package/src/foundry/client-esm/data/combat-config.d.mts +53 -0
  528. package/src/foundry/client-esm/data/region-behaviors/_module.d.mts +11 -14
  529. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +57 -0
  530. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +59 -0
  531. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +64 -0
  532. package/src/foundry/client-esm/data/region-behaviors/execute-macro.d.mts +27 -0
  533. package/src/foundry/client-esm/data/region-behaviors/execute-script.d.mts +23 -0
  534. package/src/foundry/client-esm/data/region-behaviors/pause-game.d.mts +23 -0
  535. package/src/foundry/client-esm/data/region-behaviors/suppress-weather.d.mts +17 -0
  536. package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +32 -0
  537. package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +31 -0
  538. package/src/foundry/client-esm/data/terrain-data.d.mts +22 -0
  539. package/src/foundry/client-esm/dice/_module.d.mts +2 -3
  540. package/src/foundry/client-esm/dice/parser.d.mts +8 -0
  541. package/src/foundry/client-esm/dice/roll.d.mts +64 -30
  542. package/src/foundry/client-esm/dice/terms/_module.d.mts +2 -3
  543. package/src/foundry/client-esm/dice/terms/coin.d.mts +8 -1
  544. package/src/foundry/client-esm/dice/terms/dice.d.mts +11 -2
  545. package/src/foundry/client-esm/dice/terms/die.d.mts +9 -2
  546. package/src/foundry/client-esm/dice/terms/fate.d.mts +9 -2
  547. package/src/foundry/client-esm/dice/terms/function.d.mts +5 -2
  548. package/src/foundry/client-esm/dice/terms/numeric.d.mts +1 -1
  549. package/src/foundry/client-esm/dice/terms/operator.d.mts +1 -1
  550. package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +1 -1
  551. package/src/foundry/client-esm/dice/terms/pool.d.mts +15 -6
  552. package/src/foundry/client-esm/dice/terms/string.d.mts +1 -1
  553. package/src/foundry/client-esm/dice/terms/term.d.mts +12 -3
  554. package/src/foundry/client-esm/documents/_module.d.mts +11 -0
  555. package/src/foundry/client-esm/documents/_types.d.mts +8 -0
  556. package/src/foundry/client-esm/documents/abstract/_module.d.mts +6 -0
  557. package/src/foundry/client-esm/documents/collections/_module.d.mts +6 -0
  558. package/src/foundry/client-esm/game.d.mts +7 -0
  559. package/src/foundry/client-esm/helpers/_module.d.mts +2 -2
  560. package/src/foundry/client-esm/helpers/_types.d.mts +1 -1
  561. package/src/foundry/client-esm/hooks.d.mts +1 -0
  562. package/src/foundry/client-esm/nue/_module.d.mts +9 -0
  563. package/src/foundry/client-esm/nue/nue-manager.d.mts +18 -0
  564. package/src/foundry/client-esm/nue/tour.d.mts +9 -0
  565. package/src/foundry/client-esm/nue/tours/_module.d.mts +8 -0
  566. package/src/foundry/client-esm/nue/tours/canvas-tour.d.mts +12 -0
  567. package/src/foundry/client-esm/nue/tours/setup-tour.d.mts +11 -0
  568. package/src/foundry/client-esm/nue/tours/sidebar-tour.d.mts +11 -0
  569. package/src/foundry/client-esm/nue/tours-collection.d.mts +25 -0
  570. package/src/foundry/client-esm/packages/_module.d.mts +22 -0
  571. package/src/foundry/client-esm/packages/_types.d.mts +11 -0
  572. package/src/foundry/client-esm/packages/client-package.d.mts +11 -0
  573. package/src/foundry/client-esm/packages/module.d.mts +8 -0
  574. package/src/foundry/client-esm/packages/system.d.mts +8 -0
  575. package/src/foundry/client-esm/packages/world.d.mts +8 -0
  576. package/src/foundry/client-esm/ui.d.mts +1 -0
  577. package/src/foundry/client-esm/utils/_module.d.mts +7 -0
  578. package/src/foundry/client-esm/utils/_types.d.mts +2 -0
  579. package/src/foundry/client-esm/utils/helpers.d.mts +6 -0
  580. package/src/foundry/common/{types.d.mts → _types.d.mts} +3 -3
  581. package/src/foundry/common/abstract/{module.d.mts → _module.d.mts} +2 -2
  582. package/src/foundry/common/abstract/backend.d.mts +38 -44
  583. package/src/foundry/common/abstract/data.d.mts +9 -46
  584. package/src/foundry/common/abstract/document.d.mts +214 -139
  585. package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
  586. package/src/foundry/common/abstract/embedded-collection.d.mts +37 -7
  587. package/src/foundry/common/abstract/socket.d.mts +1 -1
  588. package/src/foundry/common/abstract/type-data.d.mts +36 -25
  589. package/src/foundry/common/config.d.mts +3 -1
  590. package/src/foundry/common/constants.d.mts +234 -205
  591. package/src/foundry/common/data/{module.d.mts → _module.d.mts} +2 -2
  592. package/src/foundry/common/data/_types.d.mts +47 -0
  593. package/src/foundry/common/data/data.d.mts +25 -19
  594. package/src/foundry/common/data/fields.d.mts +366 -425
  595. package/src/foundry/common/data/validation-failure.d.mts +4 -6
  596. package/src/foundry/common/documents/_module.d.mts +4 -2
  597. package/src/foundry/common/documents/_types.d.mts +10 -45
  598. package/src/foundry/common/documents/active-effect.d.mts +5 -4
  599. package/src/foundry/common/documents/actor-delta.d.mts +7 -5
  600. package/src/foundry/common/documents/actor.d.mts +6 -19
  601. package/src/foundry/common/documents/adventure.d.mts +13 -2
  602. package/src/foundry/common/documents/ambient-light.d.mts +3 -1
  603. package/src/foundry/common/documents/ambient-sound.d.mts +3 -1
  604. package/src/foundry/common/documents/card.d.mts +6 -4
  605. package/src/foundry/common/documents/cards.d.mts +3 -1
  606. package/src/foundry/common/documents/chat-message.d.mts +10 -8
  607. package/src/foundry/common/documents/combat.d.mts +3 -1
  608. package/src/foundry/common/documents/combatant.d.mts +4 -12
  609. package/src/foundry/common/documents/drawing.d.mts +6 -4
  610. package/src/foundry/common/documents/fog-exploration.d.mts +3 -1
  611. package/src/foundry/common/documents/folder.d.mts +9 -1
  612. package/src/foundry/common/documents/item.d.mts +5 -3
  613. package/src/foundry/common/documents/journal-entry-page.d.mts +3 -2
  614. package/src/foundry/common/documents/journal-entry.d.mts +3 -1
  615. package/src/foundry/common/documents/macro.d.mts +5 -3
  616. package/src/foundry/common/documents/measured-template.d.mts +6 -8
  617. package/src/foundry/common/documents/module.d.mts +2 -2
  618. package/src/foundry/common/documents/note.d.mts +4 -2
  619. package/src/foundry/common/documents/playlist-sound.d.mts +4 -2
  620. package/src/foundry/common/documents/playlist.d.mts +3 -1
  621. package/src/foundry/common/documents/region-behavior.d.mts +88 -0
  622. package/src/foundry/common/documents/region.d.mts +108 -0
  623. package/src/foundry/common/documents/roll-table.d.mts +3 -1
  624. package/src/foundry/common/documents/scene.d.mts +9 -1
  625. package/src/foundry/common/documents/setting.d.mts +3 -2
  626. package/src/foundry/common/documents/table-result.d.mts +4 -2
  627. package/src/foundry/common/documents/tile.d.mts +3 -1
  628. package/src/foundry/common/documents/token.d.mts +15 -7
  629. package/src/foundry/common/documents/user.d.mts +7 -5
  630. package/src/foundry/common/documents/wall.d.mts +3 -1
  631. package/src/foundry/common/grid/_module.d.mts +3 -3
  632. package/src/foundry/common/grid/_types.d.mts +47 -0
  633. package/src/foundry/common/grid/base.d.mts +10 -14
  634. package/src/foundry/common/grid/gridless.d.mts +2 -2
  635. package/src/foundry/common/grid/hexagonal.d.mts +16 -9
  636. package/src/foundry/common/grid/square.d.mts +2 -2
  637. package/src/foundry/common/packages/{module.d.mts → _module.d.mts} +2 -2
  638. package/src/foundry/common/packages/_types.d.mts +25 -0
  639. package/src/foundry/common/packages/base-package.d.mts +6 -6
  640. package/src/foundry/common/packages/base-system.d.mts +19 -4
  641. package/src/foundry/common/packages/base-world.d.mts +2 -2
  642. package/src/foundry/common/packages/sub-types.d.mts +1 -1
  643. package/src/foundry/common/primitives/array.d.mts +1 -1
  644. package/src/foundry/common/primitives/number.d.mts +1 -1
  645. package/src/foundry/common/primitives/string.d.mts +1 -1
  646. package/src/foundry/common/prosemirror/_module.d.mts +15 -15
  647. package/src/foundry/common/prosemirror/_types.d.mts +29 -0
  648. package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
  649. package/src/foundry/common/prosemirror/dom-parser.d.mts +2 -1
  650. package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +1 -1
  651. package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
  652. package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
  653. package/src/foundry/common/prosemirror/plugin.d.mts +1 -1
  654. package/src/foundry/common/prosemirror/schema/index.d.mts +1 -1
  655. package/src/foundry/common/prosemirror/schema/lists.d.mts +2 -0
  656. package/src/foundry/common/utils/{module.d.mts → _module.d.mts} +2 -2
  657. package/src/foundry/common/utils/_types.d.mts +1 -0
  658. package/src/foundry/common/utils/bitmask.d.mts +20 -11
  659. package/src/foundry/common/utils/collection.d.mts +7 -19
  660. package/src/foundry/common/utils/color.d.mts +20 -2
  661. package/src/foundry/common/utils/event-emitter.d.mts +1 -1
  662. package/src/foundry/common/utils/helpers.d.mts +23 -13
  663. package/src/foundry/common/utils/string-tree.d.mts +1 -1
  664. package/src/foundry/common/utils/word-tree.d.mts +1 -1
  665. package/src/foundry/index.d.mts +0 -1
  666. package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +58 -16
  667. package/src/foundry/public/scripts/index.d.mts +1 -0
  668. package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
  669. package/src/foundry/public/scripts/workers/index.d.mts +1 -0
  670. package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
  671. package/src/index.d.mts +6 -0
  672. package/src/tsconfig.json +19 -0
  673. package/src/types/augments/particles.d.mts +29 -0
  674. package/src/types/augments/pixi.d.mts +1013 -10
  675. package/src/types/augments/smooth.d.mts +31 -0
  676. package/src/types/augments/tinyMCE.d.mts +1 -1
  677. package/src/types/config.d.mts +20 -312
  678. package/src/types/documentConfiguration.d.mts +91 -32
  679. package/src/types/index.d.mts +1 -1
  680. package/src/types/lib.d.mts +12 -0
  681. package/src/types/workers/image-compressor.d.mts +176 -0
  682. package/src/utils/index.d.mts +1091 -0
  683. package/index.d.mts +0 -5
  684. package/src/foundry/client/ui/context.d.mts +0 -213
  685. package/src/foundry/client/ui/notifications.d.mts +0 -136
  686. package/src/foundry/common/primitives/regex.d.mts +0 -12
  687. package/src/types/helperTypes.d.mts +0 -583
  688. package/src/types/utils.d.mts +0 -539
  689. /package/src/foundry/common/primitives/{module.d.mts → _module.d.mts} +0 -0
  690. /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,4 +1,4 @@
1
- import type { InexactPartial } from "../../../../../types/utils.d.mts";
1
+ import type { IntentionalPartial } from "fvtt-types/utils";
2
2
 
3
3
  declare global {
4
4
  /**
@@ -10,14 +10,13 @@ declare global {
10
10
  * @param poly - Closed polygon to be processed and converted to a mesh
11
11
  * (array of points or PIXI Polygon)
12
12
  * @param options - Various options : normalizing, offsetting, add depth, ...
13
+ * @remarks `options` is `IntentionalPartial`'d because the constructor immediately does
14
+ * `this.options = {...this.constructor._defaultOptions, ...options}`, so explicit `undefined` would break things
13
15
  */
14
- constructor(poly: number[] | PIXI.Polygon, options?: InexactPartial<PolygonMesherOptions>);
15
-
16
- /** Contains options to apply during the meshing process */
17
- options: PolygonMesherOptions;
16
+ constructor(poly: PIXI.Polygon.OrPointsFlat, options?: IntentionalPartial<PolygonMesher.Options>);
18
17
 
19
18
  /** Default options values */
20
- static _defaultOptions: PolygonMesherOptions;
19
+ static _defaultOptions: PolygonMesher.Options;
21
20
 
22
21
  /**
23
22
  * Polygon mesh vertices
@@ -29,14 +28,20 @@ declare global {
29
28
  */
30
29
  indices: number[];
31
30
 
31
+ /** Contains options to apply during the meshing process */
32
+ options: PolygonMesher.Options;
33
+
32
34
  /**
33
35
  * Convert a flat points array into a 2 dimensional ClipperLib path
34
36
  * @param poly - PIXI.Polygon or points flat array.
35
37
  * @param dimension - Dimension.
36
38
  * (default 2)
37
39
  * @returns The clipper lib path.
40
+ * @throws If `dimension < 2`
41
+ * @privateRemarks Foundry types this return as `number[] | undefined`, but it cannot return either of those;
42
+ * Either it will throw or return a (possibly empty) `ClipperLib.Path` (an array-like of `ClipperLib.IntPoint`s)
38
43
  */
39
- static getClipperPathFromPoints(poly: number[] | PIXI.Polygon, dimension?: number): number[] | undefined;
44
+ static getClipperPathFromPoints(poly: PIXI.Polygon.OrPointsFlat, dimension?: number): ClipperLib.Path;
40
45
 
41
46
  /**
42
47
  * Execute the triangulation to create indices
@@ -46,65 +51,88 @@ declare global {
46
51
  triangulate(geometry: PIXI.Geometry): PIXI.Geometry;
47
52
  }
48
53
 
49
- interface PolygonMesherOptions {
50
- /**
51
- * The position value in pixels
52
- * @defaultValue `0`
53
- */
54
- offset: number;
55
-
56
- /**
57
- * Should the vertices be normalized?
58
- * @defaultValue `false`
59
- */
60
- normalize: boolean;
61
-
62
- /**
63
- * The x origin
64
- * @defaultValue `0`
65
- */
66
- x: number;
67
-
68
- /**
69
- * The y origin
70
- * @defaultValue `0`
71
- */
72
- y: number;
73
-
74
- /**
75
- * The radius
76
- * @defaultValue `0`
77
- */
78
- radius: number;
79
-
80
- /**
81
- * The depth value on the outer polygon
82
- * @defaultValue `0`
83
- */
84
- depthOuter: number;
85
-
86
- /**
87
- * The depth value on the inner polygon
88
- * @defaultValue `1`
89
- */
90
- depthInner: number;
54
+ namespace PolygonMesher {
55
+ interface Any extends AnyPolygonMesher {}
56
+ type AnyConstructor = typeof AnyPolygonMesher;
91
57
 
92
58
  /**
93
- * Constant multiplier to avoid floating point imprecision with ClipperLib
94
- * @defaultValue `10e8`
59
+ * @remarks These properties all have non-nullish values in `_defaultOptions`, and explicit `undefined` breaks
60
+ * things that aren't `boolean` due to math and object spread syntax in the constructor. `null` has been allowed
61
+ * where its casting to `0` or `false` doesn't break things.
95
62
  */
96
- scale: number;
97
-
98
- /**
99
- * Distance of the miter limit, when sharp angles are cut during offsetting.
100
- * @defaultValue `7`
101
- */
102
- miterLimit: number;
103
-
104
- /**
105
- * Should the vertex data be interleaved into one VBO?
106
- * @defaultValue `false`
107
- */
108
- interleaved: boolean;
63
+ interface Options {
64
+ /**
65
+ * The position value in pixels
66
+ * @defaultValue `0`
67
+ * @remarks Can't be `undefined` because the default is provided by spread operator and the value is used directly in math
68
+ */
69
+ offset: number | null;
70
+
71
+ /**
72
+ * Should the vertices be normalized?
73
+ * @defaultValue `false`
74
+ */
75
+ normalize: boolean | undefined | null;
76
+
77
+ /**
78
+ * The x origin
79
+ * @defaultValue `0`
80
+ * @remarks Can't be `undefined` because the default is provided by spread operator and the value is used directly in math
81
+ */
82
+ x: number | null;
83
+
84
+ /**
85
+ * The y origin
86
+ * @defaultValue `0`
87
+ * @remarks Can't be `undefined` because the default is provided by spread operator and the value is used directly in math
88
+ */
89
+ y: number | null;
90
+
91
+ /**
92
+ * The radius
93
+ * @defaultValue `0`
94
+ * @remarks Can't be `null` because of an `=== 0` check, nor `undefined` because the default is provided by spread operator and the value is used directly in math
95
+ */
96
+ radius: number;
97
+
98
+ /**
99
+ * The depth value on the outer polygon
100
+ * @defaultValue `0`
101
+ * @remarks Can't be `null` as it can be pushed directly into a `number[]`, nor `undefined` because the default is provided by spread operator and the value is used directly in math
102
+ */
103
+ depthOuter: number;
104
+
105
+ /**
106
+ * The depth value on the inner polygon
107
+ * @defaultValue `1`
108
+ * @remarks Can't be `undefined` because the default is provided by spread operator and the value is used directly in math
109
+ */
110
+ depthInner: number | null;
111
+
112
+ /**
113
+ * Constant multiplier to avoid floating point imprecision with ClipperLib
114
+ * @defaultValue `10e8`
115
+ * @remarks Not allowing `null` because a zero value here defeats the purpose, and `undefined` because the default is provided by spread operator and the value is used directly in math
116
+ */
117
+ scale: number;
118
+
119
+ /**
120
+ * Distance of the miter limit, when sharp angles are cut during offsetting.
121
+ * @defaultValue `7`
122
+ * @remarks Allowed to be `undefined` but not `null` because it is passed to
123
+ * `new ClipperLib.ClipperOffset()`, which provides its own default if `=== undefined`
124
+ */
125
+ miterLimit: number | undefined;
126
+
127
+ /**
128
+ * Should the vertex data be interleaved into one VBO?
129
+ * @defaultValue `false`
130
+ */
131
+ interleaved: boolean | undefined | null;
132
+ }
109
133
  }
110
134
  }
135
+
136
+ declare abstract class AnyPolygonMesher extends PolygonMesher {
137
+ constructor(arg0: never, ...args: never[]);
138
+ }
@@ -1,4 +1,4 @@
1
- export {};
1
+ import type { InexactPartial, NullishProps } from "fvtt-types/utils";
2
2
 
3
3
  declare global {
4
4
  /**
@@ -6,22 +6,40 @@ declare global {
6
6
  * At default resolution Text often looks blurry or fuzzy.
7
7
  */
8
8
  class PreciseText extends PIXI.Text {
9
- /**
10
- * @param options - Additional options merged with the default TextStyle
11
- */
12
9
  constructor(...args: ConstructorParameters<typeof PIXI.Text>);
13
10
 
11
+ /** @defaultValue `false` */
12
+ override _autoResolution: boolean;
13
+
14
+ /** @defaultValue `2` */
15
+ override _resolution: number;
14
16
  /**
15
17
  * Prepare a TextStyle object which merges the canvas defaults with user-provided options
16
18
  * @param anchor - A text anchor point from CONST.TEXT_ANCHOR_POINTS
17
19
  * @param options - Additional options merged with the default TextStyle
18
20
  * @returns The prepared TextStyle
19
21
  */
20
- static getTextStyle({
21
- anchor,
22
- ...options
23
- }?: { anchor?: foundry.CONST.TEXT_ANCHOR_POINTS } & ConstructorParameters<
24
- typeof PIXI.TextStyle
25
- >[0]): PIXI.TextStyle;
22
+ static getTextStyle({ anchor, ...options }?: PreciseText.GetTextStyleOptions): PIXI.TextStyle;
26
23
  }
24
+
25
+ namespace PreciseText {
26
+ interface Any extends AnyPreciseText {}
27
+ type AnyConstructor = typeof AnyPreciseText;
28
+
29
+ /** @internal */
30
+ type _GetTextStyleOptions = NullishProps<{
31
+ /**
32
+ * A text anchor point from CONST.TEXT_ANCHOR_POINTS
33
+ * @remarks Only checked againt `.RIGHT` and `.LEFT`, and only if an `align` key is omitted
34
+ */
35
+ anchor: foundry.CONST.TEXT_ANCHOR_POINTS;
36
+ }> &
37
+ // Can't be NullishProps because keys are only checked for `!== undefined` in PIXI
38
+ InexactPartial<PIXI.ITextStyle>;
39
+ interface GetTextStyleOptions extends _GetTextStyleOptions {}
40
+ }
41
+ }
42
+
43
+ declare abstract class AnyPreciseText extends PreciseText {
44
+ constructor(arg0: never, ...args: never[]);
27
45
  }
@@ -71,14 +71,14 @@ declare global {
71
71
  /**
72
72
  * The cached angle, computed lazily in Ray#angle
73
73
  * @defaultValue `undefined`
74
- * @internal
74
+ * @privateRemarks Foundry marked `@private` and doesn't type the `| undefined`
75
75
  */
76
76
  protected _angle: number | undefined;
77
77
 
78
78
  /**
79
79
  * The cached distance, computed lazily in Ray#distance
80
80
  * @defaultValue `undefined`
81
- * @internal
81
+ * @privateRemarks Foundry marked `@private` and doesn't type the `| undefined`
82
82
  */
83
83
  protected _distance: number | undefined;
84
84
 
@@ -87,10 +87,11 @@ declare global {
87
87
  * The angle is computed lazily (only if required) and cached.
88
88
  */
89
89
  get angle(): number;
90
- set angle(value: number);
90
+
91
+ set angle(value);
91
92
 
92
93
  /**
93
- * A bounding rectangle that encompasses the Ray
94
+ * A normalized bounding rectangle that encompasses the Ray
94
95
  */
95
96
  get bounds(): PIXI.Rectangle;
96
97
 
@@ -99,7 +100,8 @@ declare global {
99
100
  * The distance is computed lazily (only if required) and cached.
100
101
  */
101
102
  get distance(): number;
102
- set distance(value: number);
103
+
104
+ set distance(value);
103
105
 
104
106
  /**
105
107
  * A factory method to construct a Ray from an origin point, an angle, and a distance
@@ -117,7 +119,7 @@ declare global {
117
119
  * @param B - The destination point [x,y]
118
120
  * @returns The constructed Ray instance
119
121
  */
120
- static fromArrays(A: Canvas.PointArray, B: Canvas.PointArray): Ray;
122
+ static fromArrays(A: Canvas.PointTuple, B: Canvas.PointTuple): Ray;
121
123
 
122
124
  /**
123
125
  * Project the Array by some proportion of it's initial distance.
@@ -125,7 +127,7 @@ declare global {
125
127
  * @param t - The distance along the Ray
126
128
  * @returns The coordinates of the projected point
127
129
  */
128
- project(t: number): { x: number; y: number };
130
+ project(t: number): PIXI.IPointData;
129
131
 
130
132
  /**
131
133
  * Create a Ray by projecting a certain distance towards a known point.
@@ -154,12 +156,28 @@ declare global {
154
156
  * @param distance - A distance the new ray should project, otherwise uses the same distance.
155
157
  * @returns A new Ray with an offset angle
156
158
  */
157
- shiftAngle(angleOffset: number, distance?: number): Ray;
159
+ shiftAngle(
160
+ offset: number,
161
+ /**
162
+ * @defaultValue `this.distance`
163
+ * @remarks Default provided by `||`, so `0` is effectively `this.distance`
164
+ */
165
+ distance?: number | null,
166
+ ): Ray;
158
167
 
159
168
  /**
160
169
  * Find the point I[x,y] and distance t* on ray R(t) which intersects another ray
161
170
  * @see foundry.utils.lineLineIntersection
162
171
  */
163
- intersectSegment(coords: [x0: number, y0: number, x1: number, y1: number]): LineIntersection | null;
172
+ intersectSegment(coords: Canvas.PairOfPointsTuple): LineIntersection | null;
173
+ }
174
+
175
+ namespace Ray {
176
+ interface Any extends AnyRay {}
177
+ type AnyConstructor = typeof AnyRay;
164
178
  }
165
179
  }
180
+
181
+ declare abstract class AnyRay extends Ray {
182
+ constructor(arg0: never, ...args: never[]);
183
+ }
@@ -1,24 +1,20 @@
1
- import type { ConstructorOf, InexactPartial } from "../../../../../types/utils.d.mts";
1
+ import type { Brand, Coalesce, InexactPartial, NullishProps } from "fvtt-types/utils";
2
2
  import type PointEffectSourceMixin from "../../../../client-esm/canvas/sources/point-effect-source.d.mts";
3
3
 
4
4
  declare global {
5
- interface PointSourcePolygonConfig extends PointSourcePolygon._Config {
6
- /** The type of polygon being computed */
7
- type: PointSourcePolygon.PolygonType;
8
- }
9
-
10
5
  /**
11
6
  * An extension of the default PIXI.Polygon which is used to represent the line of sight for a point source.
12
7
  */
13
8
  abstract class PointSourcePolygon extends PIXI.Polygon {
9
+ /**
10
+ * @remarks This is protected because `new PointSourcePolygon` does not sufficiently initalize the class; Use the static `create` method instead.
11
+ */
12
+ protected constructor(...args: ConstructorParameters<typeof PIXI.Polygon>);
13
+
14
14
  /**
15
15
  * Customize how wall direction of one-way walls is applied
16
16
  */
17
- static readonly WALL_DIRECTION_MODES: Readonly<{
18
- NORMAL: 0;
19
- REVERSED: 1;
20
- BOTH: 2;
21
- }>;
17
+ static WALL_DIRECTION_MODES: PointSourcePolygon.WallDirectionModes;
22
18
 
23
19
  /**
24
20
  * The rectangular bounds of this polygon
@@ -28,14 +24,15 @@ declare global {
28
24
 
29
25
  /**
30
26
  * The origin point of the source polygon.
27
+ * @remarks Not initalized to any value, but immediately set by `PointSourcePolygon#initalize`
31
28
  */
32
29
  origin: Canvas.Point;
33
30
 
34
31
  /**
35
32
  * The configuration of this polygon.
36
- * @defaultValue `{}`
33
+ * @remarks Initialized as `{}` but immediately filled by `PointSourcePolygon#initalize`
37
34
  */
38
- config: PointSourcePolygonConfig;
35
+ config: PointSourcePolygon.StoredConfig;
39
36
 
40
37
  /**
41
38
  * An indicator for whether this polygon is constrained by some boundary shape?
@@ -48,20 +45,18 @@ declare global {
48
45
  * @param origin - The origin point to benchmark
49
46
  * @param config - The polygon configuration to benchmark
50
47
  */
51
- static benchmark(iterations: number, origin: Canvas.Point, config: PointSourcePolygonConfig): Promise<void>;
48
+ static benchmark(iterations: number, origin: Canvas.Point, config: PointSourcePolygon.Config): Promise<void>;
52
49
 
53
50
  /**
54
51
  * Compute the polygon given a point origin and radius
55
52
  * @param origin - The origin source point
56
53
  * @param config - Configuration options which customize the polygon computation
57
- * (default: `{}`)
58
54
  * @returns The computed polygon instance
55
+ * @remarks Subclasses must implement a `.create` override to accurately type the return.
56
+ *
57
+ * Despite being a `={}` parameter, a `config` object with a valid `type` property must be passed
59
58
  */
60
- static create<T extends ConstructorOf<PointSourcePolygon>>(
61
- this: T,
62
- origin: Canvas.Point,
63
- config?: Parameters<InstanceType<NoInfer<T>>["initialize"]>[1],
64
- ): InstanceType<T>;
59
+ static create(origin: Canvas.Point, config: PointSourcePolygon.Config): unknown;
65
60
 
66
61
  /**
67
62
  * Create a clone of this polygon.
@@ -86,7 +81,7 @@ declare global {
86
81
  * @param origin - The provided polygon origin
87
82
  * @param config - The provided configuration object
88
83
  */
89
- initialize(origin: Canvas.Point, config: PointSourcePolygonConfig): void;
84
+ initialize(origin: Canvas.Point, config: PointSourcePolygon.Config): void;
90
85
 
91
86
  /**
92
87
  * Apply a constraining boundary shape to an existing PointSourcePolygon.
@@ -96,12 +91,16 @@ declare global {
96
91
  * @param intersectionOptions - Options passed to the shape intersection method
97
92
  * @returns A new constrained polygon
98
93
  */
94
+ applyConstraint(constraint: PIXI.Polygon, intersectionOptions?: PIXI.Polygon.IntersectPolygonOptions): this;
95
+ applyConstraint(constraint: PIXI.Circle, intersectionOptions?: PIXI.Circle.WACIntersectPolygonOptions): this;
96
+ applyConstraint(constraint: PIXI.Circle, intersectionOptions?: PIXI.Circle.ClipperLibIntersectPolygonOptions): this;
97
+ applyConstraint(constraint: PIXI.Rectangle, intersectionOptions?: PIXI.Rectangle.WACIntersectPolygonOptions): this;
99
98
  applyConstraint(
100
- constraint: PIXI.Circle | PIXI.Rectangle | PIXI.Polygon,
101
- intersectionOptions?: Record<string, unknown>,
102
- ): PointSourcePolygon;
99
+ constraint: PIXI.Rectangle,
100
+ intersectionOptions?: PIXI.Rectangle.ClipperLibIntersectPolygonOptions,
101
+ ): this;
103
102
 
104
- contains(x: number, y: number): boolean;
103
+ override contains(x: number, y: number): boolean;
105
104
 
106
105
  /**
107
106
  * Constrain polygon points by applying boundary shapes.
@@ -121,23 +120,11 @@ declare global {
121
120
  * * all: returns a sorted array of PolygonVertex instances
122
121
  * * closest: returns a PolygonVertex instance or null
123
122
  */
124
- static testCollision<Mode extends PointSourcePolygon.CollisionModes>(
123
+ static testCollision<Mode extends PointSourcePolygon.CollisionModes | undefined = undefined>(
125
124
  origin: Canvas.Point,
126
125
  destination: Canvas.Point,
127
- {
128
- mode,
129
- ...config
130
- }: {
131
- /**
132
- * The collision mode to test: "any", "all", or "closest"
133
- * (default: "all")
134
- */
135
- mode?: Mode;
136
-
137
- /** The configuration that defines a certain Polygon type */
138
- config?: PointSourcePolygonConfig;
139
- },
140
- ): PointSourcePolygon.TestCollision<Mode>;
126
+ { mode, ...config }: PointSourcePolygon.TestCollisionConfig<Mode>,
127
+ ): PointSourcePolygon.TestCollision<Coalesce<Mode, "all">>;
141
128
 
142
129
  /**
143
130
  * Determine the set of collisions which occurs for a Ray.
@@ -166,8 +153,9 @@ declare global {
166
153
  * Augment a PointSourcePolygon by adding additional coverage for shapes permitted by threshold walls.
167
154
  * @param polygon - The computed polygon
168
155
  * @returns The augmented polygon
156
+ * @remarks Mutates and returns the same reference it's passed, not a new polygon
169
157
  */
170
- static applyThresholdAttenuation(polygon: PointSourcePolygon): PointSourcePolygon;
158
+ static applyThresholdAttenuation<PolyType extends PointSourcePolygon>(polygon: PolyType): PolyType;
171
159
 
172
160
  /**
173
161
  * @deprecated since v11, will be removed in v13
@@ -180,22 +168,109 @@ declare global {
180
168
  }
181
169
 
182
170
  namespace PointSourcePolygon {
171
+ interface Any extends AnyPointSourcePolygon {}
172
+ type AnyConstructor = typeof AnyPointSourcePolygon;
173
+
174
+ type WALL_DIRECTION_MODES = Brand<number, "PointSourcePolygon.WALL_DIRECTION_MODES">;
175
+
176
+ interface WallDirectionModes {
177
+ readonly NORMAL: 0 & WALL_DIRECTION_MODES;
178
+ readonly REVERSED: 1 & WALL_DIRECTION_MODES;
179
+ readonly BOTH: 2 & WALL_DIRECTION_MODES;
180
+ }
181
+
183
182
  /** @internal */
184
- type _Config = InexactPartial<{
185
- /** The angle of emission, if limited */
186
- angle: number;
183
+ type _TestCollisionConfig<Mode> = InexactPartial<{
184
+ /**
185
+ * The collision mode to test: "any", "all", or "closest"
186
+ * @defaultValue `"all"`
187
+ * @remarks Can't be `null` as it only has a parameter default
188
+ */
189
+ mode: Mode;
190
+ }>;
187
191
 
188
- /** The desired density of padding rays, a number per PI */
189
- density: number;
192
+ interface TestCollisionConfig<Mode> extends _TestCollisionConfig<Mode>, Config {}
193
+
194
+ /**
195
+ * @internal
196
+ * @privateRemarks Properties of the config that get set in `#initialize` or elsewhere with no respect to their passed value
197
+ */
198
+ interface _ComputedConfig {
199
+ /**
200
+ * Does this polygon have a limited radius?
201
+ * @remarks `true` if `(cfg.radius > 0) && (cfg.radius < canvas.dimensions.maxR)`
202
+ */
203
+ hasLimitedRadius: boolean;
204
+
205
+ /**
206
+ * Does this polygon have a limited angle?
207
+ * @remarks `true` if `cfg.angle !== 360`
208
+ */
209
+ hasLimitedAngle: boolean;
210
+ }
211
+
212
+ /**
213
+ * @internal
214
+ * @privateRemarks Properties of the config that might be omitted but can't be explicitly `undefined`
215
+ */
216
+ interface _OptionalOnlyConfig {
217
+ /**
218
+ * The object (if any) that spawned this polygon.
219
+ * @remarks Not guaranteed by `PointSourcePolygon#initalize` but will exist in all configs created by `PointEffectSourceMixin` subclasses. No default provided
220
+ * @privateRemarks Foundry types this as `PointSource` which is neither a typedef nor a class, not even a mixin class name. The type here matches usage and tracks with what they probably meant.
221
+ */
222
+ source?: PointEffectSourceMixin.AnyMixed;
223
+
224
+ /**
225
+ * The external radius of the source
226
+ * @remarks Can't be `undefined` or `null` or its use in math would produce `NaN`s.
227
+ *
228
+ * Not guaranteed by `PointSourcePolygon#initalize` but will exist in all configs created by `PointEffectSourceMixin` subclasses.
229
+ */
230
+ externalRadius?: number;
231
+ }
190
232
 
191
- /** A limited radius of the resulting polygon */
233
+ /**
234
+ * @internal
235
+ * @privateRemarks Properties of the config that have defaults for nullish values in `#initialize`, and thus are guaranteed in the stored config
236
+ */
237
+ interface _BaseConfig {
238
+ /**
239
+ * A limited radius of the resulting polygon
240
+ * @defaultValue `canvas.dimensions.maxR`
241
+ */
192
242
  radius: number;
193
243
 
194
- /** The direction of facing, required if the angle is limited */
244
+ /**
245
+ * The desired density of padding rays, a number per PI
246
+ * @defaultValue `PIXI.Circle.approximateVertexDensity(cfg.radius)`
247
+ */
248
+ density: number;
249
+
250
+ /**
251
+ * The angle of emission, if limited
252
+ * @defaultValue `360`
253
+ */
254
+ angle: number;
255
+
256
+ /**
257
+ * The direction of facing, required if the angle is limited
258
+ * @defaultValue `0`
259
+ */
195
260
  rotation: number;
196
261
 
197
- /** Customize how wall direction of one-way walls is applied */
198
- wallDirectionMode: number;
262
+ /**
263
+ * Does this polygon use the Scene inner or outer bounding rectangle
264
+ * @defaultValue `true` if `type === "sight"` and the origin point is inside `canvas.dimensions.sceneRect` else `false`
265
+ * @remarks Computed if not provided or passed nullish.
266
+ */
267
+ useInnerBounds: boolean;
268
+
269
+ /**
270
+ * Customize how wall direction of one-way walls is applied
271
+ * @defaultValue `PointSourcePolygon.WALL_DIRECTION_MODES.NORMAL`
272
+ */
273
+ wallDirectionMode: PointSourcePolygon.WALL_DIRECTION_MODES;
199
274
 
200
275
  /**
201
276
  * Compute the polygon with threshold wall constraints applied
@@ -209,41 +284,56 @@ declare global {
209
284
  */
210
285
  includeDarkness: boolean;
211
286
 
212
- /** Priority when it comes to ignore edges from darkness sources */
213
- priority: number;
214
-
215
- /** Display debugging visualization and logging for the polygon */
216
- debug: boolean;
287
+ /**
288
+ * Limiting polygon boundary shapes
289
+ * @defaultValue `[]`
290
+ * @remarks Never passed in Foundry practice
291
+ */
292
+ boundaryShapes: Array<BoundaryShapes>;
217
293
 
218
- /** The object (if any) that spawned this polygon. */
219
- source: PointEffectSourceMixin.AnyMixed;
294
+ /**
295
+ * Display debugging visualization and logging for the polygon
296
+ * @remarks Overriden `true` if `CONFIG.debug.polygons` is truthy
297
+ */
298
+ debug?: boolean;
220
299
 
221
- /** Limiting polygon boundary shapes */
222
- boundaryShapes: Array<PIXI.Rectangle | PIXI.Circle | PIXI.Polygon>;
300
+ /**
301
+ * Priority when it comes to ignore edges from darkness sources
302
+ * @remarks This is listed in the typedef, but is not in use by Foundry in 12.331
303
+ */
304
+ priority?: number;
305
+ }
223
306
 
224
- /** Does this polygon use the Scene inner or outer bounding rectangle */
225
- readonly useInnerBounds: boolean;
307
+ /**
308
+ * @internal
309
+ * @privateRemarks The only property required in all configs
310
+ */
311
+ interface _RequiredConfig {
312
+ /** The type of polygon being computed */
313
+ type: PolygonType;
314
+ }
226
315
 
227
- /** Does this polygon have a limited radius? */
228
- readonly hasLimitedRadius: boolean;
316
+ interface StoredConfig extends _RequiredConfig, _BaseConfig, _OptionalOnlyConfig, _ComputedConfig {}
229
317
 
230
- /** Does this polygon have a limited angle? */
231
- readonly hasLimitedAngle: boolean;
318
+ interface Config extends _RequiredConfig, NullishProps<_BaseConfig>, _OptionalOnlyConfig {}
232
319
 
233
- /** The computed bounding box for the polygon */
234
- readonly boundingBox: PIXI.Rectangle;
235
- }>;
320
+ type BoundaryShapes = PIXI.Rectangle | PIXI.Circle | PIXI.Polygon;
236
321
 
237
322
  type PolygonType = "light" | "sight" | "sound" | "move" | "universal";
238
323
 
239
324
  type CollisionModes = "any" | "all" | "closest";
240
325
 
241
- interface CollisionTypes {
326
+ /** @internal */
327
+ interface _CollisionTypesReturnMap {
242
328
  any: boolean;
243
- closest: foundry.canvas.edges.PolygonVertex;
244
- all: foundry.canvas.edges.PolygonVertex[] | null;
329
+ closest: foundry.canvas.edges.PolygonVertex | null;
330
+ all: foundry.canvas.edges.PolygonVertex[];
245
331
  }
246
332
 
247
- type TestCollision<Mode extends CollisionModes> = CollisionTypes[Mode];
333
+ type TestCollision<Mode extends CollisionModes> = _CollisionTypesReturnMap[Mode];
248
334
  }
249
335
  }
336
+
337
+ declare abstract class AnyPointSourcePolygon extends PointSourcePolygon {
338
+ constructor(arg0: never, ...args: never[]);
339
+ }