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

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 (559) hide show
  1. package/README.md +17 -18
  2. package/package.json +91 -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 +10 -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 -13
  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 +31 -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 +1 -1
  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 -312
  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 +14 -13
  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 +400 -62
  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 +22 -28
  110. package/src/foundry/client/data/abstract/client-document.d.mts +238 -206
  111. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +24 -40
  112. package/src/foundry/client/data/abstract/document-collection.d.mts +96 -68
  113. package/src/foundry/client/data/abstract/world-collection.d.mts +53 -54
  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 +84 -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 +5 -5
  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 +22 -10
  131. package/src/foundry/client/data/documents/active-effect.d.mts +780 -112
  132. package/src/foundry/client/data/documents/actor-delta.d.mts +705 -31
  133. package/src/foundry/client/data/documents/actor.d.mts +806 -98
  134. package/src/foundry/client/data/documents/adventure.d.mts +522 -59
  135. package/src/foundry/client/data/documents/ambient-light.d.mts +427 -20
  136. package/src/foundry/client/data/documents/ambient-sound.d.mts +478 -14
  137. package/src/foundry/client/data/documents/card.d.mts +598 -44
  138. package/src/foundry/client/data/documents/cards.d.mts +862 -169
  139. package/src/foundry/client/data/documents/chat-message.d.mts +668 -77
  140. package/src/foundry/client/data/documents/combat.d.mts +757 -107
  141. package/src/foundry/client/data/documents/combatant.d.mts +545 -32
  142. package/src/foundry/client/data/documents/drawing.d.mts +545 -14
  143. package/src/foundry/client/data/documents/fog-exploration.d.mts +465 -30
  144. package/src/foundry/client/data/documents/folder.d.mts +567 -51
  145. package/src/foundry/client/data/documents/index.d.mts +2 -0
  146. package/src/foundry/client/data/documents/item.d.mts +691 -24
  147. package/src/foundry/client/data/documents/journal-entry-page.d.mts +654 -55
  148. package/src/foundry/client/data/documents/journal-entry.d.mts +631 -35
  149. package/src/foundry/client/data/documents/macro.d.mts +560 -31
  150. package/src/foundry/client/data/documents/measured-template.d.mts +484 -15
  151. package/src/foundry/client/data/documents/note.d.mts +498 -15
  152. package/src/foundry/client/data/documents/playlist-sound.d.mts +443 -45
  153. package/src/foundry/client/data/documents/playlist.d.mts +710 -99
  154. package/src/foundry/client/data/documents/region-behavior.d.mts +516 -0
  155. package/src/foundry/client/data/documents/region.d.mts +789 -0
  156. package/src/foundry/client/data/documents/scene.d.mts +1216 -159
  157. package/src/foundry/client/data/documents/setting.d.mts +406 -23
  158. package/src/foundry/client/data/documents/table-result.d.mts +488 -14
  159. package/src/foundry/client/data/documents/table.d.mts +667 -78
  160. package/src/foundry/client/data/documents/tile.d.mts +505 -14
  161. package/src/foundry/client/data/documents/token.d.mts +1191 -143
  162. package/src/foundry/client/data/documents/user.d.mts +613 -57
  163. package/src/foundry/client/data/documents/wall.d.mts +555 -14
  164. package/src/foundry/client/game.d.mts +60 -92
  165. package/src/foundry/client/head.d.mts +9 -9
  166. package/src/foundry/client/hooks.d.mts +259 -248
  167. package/src/foundry/client/pixi/board.d.mts +107 -94
  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 +69 -30
  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 +128 -125
  192. package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
  193. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +5 -4
  194. package/src/foundry/client/pixi/extensions/polygon.d.mts +154 -134
  195. package/src/foundry/client/pixi/extensions/rectangle.d.mts +242 -259
  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 +91 -64
  239. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +44 -16
  240. package/src/foundry/client/pixi/placeable.d.mts +239 -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 +193 -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 -100
  252. package/src/foundry/client/pixi/placeables/tile.d.mts +206 -140
  253. package/src/foundry/client/pixi/placeables/token.d.mts +916 -449
  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 +28 -19
  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 +1 -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 +10 -8
  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 +2 -0
  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 +124 -80
  378. package/src/foundry/client-esm/audio/sound.d.mts +230 -126
  379. package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
  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 +6 -11
  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 +13 -3
  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 -27
  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 +175 -2
  409. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +142 -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 +11 -14
  415. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +56 -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 +112 -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 +265 -236
  446. package/src/foundry/common/abstract/document.d.mts +1449 -464
  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 +61 -55
  453. package/src/foundry/common/config.d.mts +11 -3
  454. package/src/foundry/common/constants.d.mts +261 -231
  455. package/src/foundry/common/data/data.d.mts +238 -102
  456. package/src/foundry/common/data/fields.d.mts +1334 -874
  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 -56
  461. package/src/foundry/common/documents/active-effect.d.mts +358 -194
  462. package/src/foundry/common/documents/actor-delta.d.mts +403 -73
  463. package/src/foundry/common/documents/actor.d.mts +359 -117
  464. package/src/foundry/common/documents/adventure.d.mts +312 -142
  465. package/src/foundry/common/documents/ambient-light.d.mts +296 -75
  466. package/src/foundry/common/documents/ambient-sound.d.mts +296 -109
  467. package/src/foundry/common/documents/card.d.mts +321 -187
  468. package/src/foundry/common/documents/cards.d.mts +353 -125
  469. package/src/foundry/common/documents/chat-message.d.mts +338 -167
  470. package/src/foundry/common/documents/combat.d.mts +358 -94
  471. package/src/foundry/common/documents/combatant.d.mts +323 -92
  472. package/src/foundry/common/documents/drawing.d.mts +327 -206
  473. package/src/foundry/common/documents/fog-exploration.d.mts +303 -69
  474. package/src/foundry/common/documents/folder.d.mts +307 -82
  475. package/src/foundry/common/documents/item.d.mts +377 -100
  476. package/src/foundry/common/documents/journal-entry-page.d.mts +327 -187
  477. package/src/foundry/common/documents/journal-entry.d.mts +345 -68
  478. package/src/foundry/common/documents/macro.d.mts +325 -139
  479. package/src/foundry/common/documents/measured-template.d.mts +328 -138
  480. package/src/foundry/common/documents/note.d.mts +312 -151
  481. package/src/foundry/common/documents/playlist-sound.d.mts +309 -102
  482. package/src/foundry/common/documents/playlist.d.mts +341 -131
  483. package/src/foundry/common/documents/region-behavior.d.mts +360 -0
  484. package/src/foundry/common/documents/region.d.mts +355 -0
  485. package/src/foundry/common/documents/roll-table.d.mts +320 -102
  486. package/src/foundry/common/documents/scene.d.mts +437 -350
  487. package/src/foundry/common/documents/setting.d.mts +285 -54
  488. package/src/foundry/common/documents/table-result.d.mts +326 -103
  489. package/src/foundry/common/documents/tile.d.mts +337 -172
  490. package/src/foundry/common/documents/token.d.mts +396 -447
  491. package/src/foundry/common/documents/user.d.mts +296 -173
  492. package/src/foundry/common/documents/wall.d.mts +303 -156
  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 +35 -28
  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 +56 -31
  500. package/src/foundry/common/packages/base-system.d.mts +45 -63
  501. package/src/foundry/common/packages/base-world.d.mts +15 -61
  502. package/src/foundry/common/packages/module.d.mts +7 -7
  503. package/src/foundry/common/packages/sub-types.d.mts +4 -6
  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/helpers.d.mts +36 -26
  527. package/src/foundry/common/utils/http.d.mts +2 -2
  528. package/src/foundry/common/utils/module.d.mts +2 -2
  529. package/src/foundry/common/utils/string-tree.d.mts +45 -39
  530. package/src/foundry/common/utils/word-tree.d.mts +10 -23
  531. package/src/foundry/index.d.mts +0 -1
  532. package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +58 -16
  533. package/src/foundry/public/scripts/index.d.mts +1 -0
  534. package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
  535. package/src/foundry/public/scripts/workers/index.d.mts +1 -0
  536. package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
  537. package/src/index.d.mts +6 -0
  538. package/src/tsconfig.json +15 -0
  539. package/src/types/augments/particles.d.mts +29 -0
  540. package/src/types/augments/pixi.d.mts +1024 -21
  541. package/src/types/augments/smooth.d.mts +31 -0
  542. package/src/types/augments/tinyMCE.d.mts +1 -1
  543. package/src/types/config.d.mts +18 -313
  544. package/src/types/documentConfiguration.d.mts +286 -542
  545. package/src/types/index.d.mts +1 -1
  546. package/src/types/lib.d.mts +12 -0
  547. package/src/types/workers/image-compressor.d.mts +176 -0
  548. package/src/utils/index.d.mts +1279 -0
  549. package/tsconfig.json +29 -0
  550. package/tsconfig.main.json +8 -0
  551. package/tsconfig.miscellaneous.json +16 -0
  552. package/index.d.mts +0 -5
  553. package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
  554. package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -43
  555. package/src/foundry/common/documents/module.d.mts +0 -35
  556. package/src/foundry/common/primitives/regex.d.mts +0 -12
  557. package/src/types/helperTypes.d.mts +0 -583
  558. package/src/types/utils.d.mts +0 -539
  559. /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,291 +1,274 @@
1
- import type { UnionToIntersection, Brand } from "../../../../types/helperTypes.d.mts";
2
- import type { InexactPartial, NullishProps } from "../../../../types/utils.d.mts";
1
+ import type { Brand, InexactPartial } from "#utils";
2
+ import * as _PIXI from "pixi.js";
3
3
 
4
- /**
5
- * Typically in a mapped type TypeScript associates your type to the original.
6
- * This means you keep modifiers (`readonly` and `?`), go to definition takes you
7
- * to the original type not the mapped type, and comments are inherited.
8
- *
9
- * This utility type disables all of that by effectively tricking TypeScript into
10
- * not associating them anymore. Writing `{ [_ in string as K]: ... }` is the primary
11
- * trick used in this type.
12
- *
13
- * The reason why this type is so verbose though is because it's trying to preserve
14
- * modifiers which means it has to check for all 4 possibilities:
15
- * - mutable and optional
16
- * - mutable and required
17
- * - readonly and optional
18
- * - readonly and required
19
- */
20
- type RemoveComments<T extends object> = UnionToIntersection<
21
- {
22
- [K in keyof T]-?: T extends { [_ in string as K]: unknown }
23
- ? T extends { [_ in string as K]?: unknown }
24
- ? { [_ in string as K]?: T[K] }
25
- : { [_ in string as K]: T[K] }
26
- : T extends { readonly [_ in string as K]?: unknown }
27
- ? { readonly [_ in string as K]?: T[K] }
28
- : { readonly [_ in string as K]: T[K] };
29
- }[keyof T]
30
- >;
4
+ declare global {
5
+ namespace PIXI {
6
+ interface Rectangle {
7
+ /**
8
+ * Bit code labels splitting a rectangle into zones, based on the Cohen-Sutherland algorithm.
9
+ * See https://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland_algorithm
10
+ * left central right
11
+ * top 1001 1000 1010
12
+ * central 0001 0000 0010
13
+ * bottom 0101 0100 0110
14
+ */
15
+ CS_ZONES: PIXI.Rectangle.CS_Zones;
31
16
 
32
- declare module "pixi.js" {
33
- interface Rectangle {
34
- /**
35
- * Bit code labels splitting a rectangle into zones, based on the Cohen-Sutherland algorithm.
36
- * See https://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland_algorithm
37
- * left central right
38
- * top 1001 1000 1010
39
- * central 0001 0000 0010
40
- * bottom 0101 0100 0110
41
- */
42
- CS_ZONES: Record<
43
- "INSIDE" | "LEFT" | "RIGHT" | "TOP" | "BOTTOM" | "TOPLEFT" | "TOPRIGHT" | "BOTTOMRIGHT" | "BOTTOMLEFT",
44
- PIXI.Rectangle.CS_ZONES
45
- >;
17
+ /**
18
+ * Calculate center of this rectangle.
19
+ */
20
+ get center(): Canvas.Point;
46
21
 
47
- /**
48
- * Calculate center of this rectangle.
49
- */
50
- get center(): Canvas.Point;
22
+ /**
23
+ * Return the bounding box for a PIXI.Rectangle.
24
+ * The bounding rectangle is normalized such that the width and height are non-negative.
25
+ */
26
+ getBounds(): PIXI.Rectangle;
51
27
 
52
- /**
53
- * Return the bounding box for a PIXI.Rectangle.
54
- * The bounding rectangle is normalized such that the width and height are non-negative.
55
- */
56
- getBounds(): PIXI.Rectangle;
28
+ /**
29
+ * Determine if a point is on or nearly on this rectangle.
30
+ * @param p - Point to test
31
+ * @returns Is the point on the rectangle boundary?
32
+ */
33
+ pointIsOn(p: Canvas.Point): boolean;
57
34
 
58
- /**
59
- * Determine if a point is on or nearly on this rectangle.
60
- * @param p - Point to test
61
- * @returns Is the point on the rectangle boundary?
62
- */
63
- pointIsOn(p: Canvas.Point): boolean;
35
+ /**
36
+ * Calculate the rectangle Zone for a given point located around, on, or in the rectangle.
37
+ * See https://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland_algorithm
38
+ * This differs from _getZone in how points on the edge are treated: they are not considered inside.
39
+ * @param point - A point to test for location relative to the rectangle
40
+ * @returns Which edge zone does the point belong to?
41
+ */
42
+ _getEdgeZone(point: Canvas.Point): PIXI.Rectangle.CS_ZONES;
43
+
44
+ /**
45
+ * Get all the points (corners) for a polygon approximation of a rectangle between two points on the rectangle.
46
+ * The two points can be anywhere in 2d space on or outside the rectangle.
47
+ * The starting and ending side are based on the zone of the corresponding a and b points.
48
+ * (See PIXI.Rectangle.CS_ZONES.)
49
+ * This is the rectangular version of PIXI.Circle.prototype.pointsBetween, and is similarly used
50
+ * to draw the portion of the shape between two intersection points on that shape.
51
+ * @param a - A point on or outside the rectangle, representing the starting position.
52
+ * @param b - A point on or outside the rectangle, representing the starting position.
53
+ * @returns Points returned are clockwise from start to end.
54
+ */
55
+ pointsBetween(a: Canvas.Point, b: Canvas.Point): Canvas.Point[];
64
56
 
65
- /**
66
- * Calculate the rectangle Zone for a given point located around, on, or in the rectangle.
67
- * See https://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland_algorithm
68
- * This differs from _getZone in how points on the edge are treated: they are not considered inside.
69
- * @param point - A point to test for location relative to the rectangle
70
- * @returns Which edge zone does the point belong to?
71
- */
72
- _getEdgeZone(point: Canvas.Point): PIXI.Rectangle.CS_ZONES;
57
+ /**
58
+ * Get all intersection points for a segment A|B
59
+ * Intersections are sorted from A to B.
60
+ * @param a - Endpoint A of the segment
61
+ * @param b - Endpoint B of the segment
62
+ * @returns Array of intersections or empty if no intersection.
63
+ * If A|B is parallel to an edge of this rectangle, returns the two furthest points on
64
+ * the segment A|B that are on the edge.
65
+ * The return object's t0 property signifies the location of the intersection on segment A|B.
66
+ * This will be NaN if the segment is a point.
67
+ * The return object's t1 property signifies the location of the intersection on the rectangle edge.
68
+ * The t1 value is measured relative to the intersecting edge of the rectangle.
69
+ */
70
+ segmentIntersections(a: Canvas.Point, b: Canvas.Point): Canvas.Point[];
73
71
 
74
- /**
75
- * Get all the points (corners) for a polygon approximation of a rectangle between two points on the rectangle.
76
- * The two points can be anywhere in 2d space on or outside the rectangle.
77
- * The starting and ending side are based on the zone of the corresponding a and b points.
78
- * (See PIXI.Rectangle.CS_ZONES.)
79
- * This is the rectangular version of PIXI.Circle.prototype.pointsBetween, and is similarly used
80
- * to draw the portion of the shape between two intersection points on that shape.
81
- * @param a - A point on or outside the rectangle, representing the starting position.
82
- * @param b - A point on or outside the rectangle, representing the starting position.
83
- * @returns Points returned are clockwise from start to end.
84
- */
85
- pointsBetween(a: Canvas.Point, b: Canvas.Point): Canvas.Point[];
72
+ /**
73
+ * Compute the intersection of this Rectangle with some other Rectangle.
74
+ * @param other - Some other rectangle which intersects this one
75
+ * @returns The intersected rectangle
76
+ */
77
+ intersection(other: PIXI.Rectangle): PIXI.Rectangle;
86
78
 
87
- /**
88
- * Get all intersection points for a segment A|B
89
- * Intersections are sorted from A to B.
90
- * @param a - Endpoint A of the segment
91
- * @param b - Endpoint B of the segment
92
- * @returns Array of intersections or empty if no intersection.
93
- * If A|B is parallel to an edge of this rectangle, returns the two furthest points on
94
- * the segment A|B that are on the edge.
95
- * The return object's t0 property signifies the location of the intersection on segment A|B.
96
- * This will be NaN if the segment is a point.
97
- * The return object's t1 property signifies the location of the intersection on the rectangle edge.
98
- * The t1 value is measured relative to the intersecting edge of the rectangle.
99
- */
100
- segmentIntersections(a: Canvas.Point, b: Canvas.Point): Canvas.Point[];
79
+ /**
80
+ * Convert this PIXI.Rectangle into a PIXI.Polygon
81
+ * @returns The Rectangle expressed as a PIXI.Polygon
82
+ */
83
+ toPolygon(): PIXI.Polygon;
101
84
 
102
- /**
103
- * Compute the intersection of this Rectangle with some other Rectangle.
104
- * @param other - Some other rectangle which intersects this one
105
- * @returns The intersected rectangle
106
- */
107
- intersection(other: PIXI.Rectangle): PIXI.Rectangle;
85
+ /**
86
+ * Get the left edge of this rectangle.
87
+ * The returned edge endpoints are oriented clockwise around the rectangle.
88
+ */
89
+ get leftEdge(): PIXI.Rectangle.Edge;
108
90
 
109
- /**
110
- * Convert this PIXI.Rectangle into a PIXI.Polygon
111
- * @returns The Rectangle expressed as a PIXI.Polygon
112
- */
113
- toPolygon(): PIXI.Rectangle;
91
+ /**
92
+ * Get the right edge of this rectangle.
93
+ * The returned edge endpoints are oriented clockwise around the rectangle.
94
+ */
95
+ get rightEdge(): PIXI.Rectangle.Edge;
114
96
 
115
- /**
116
- * Get the left edge of this rectangle.
117
- * The returned edge endpoints are oriented clockwise around the rectangle.
118
- */
119
- get leftEdge(): {
120
- A: Canvas.Point;
121
- B: Canvas.Point;
122
- };
97
+ /**
98
+ * Get the top edge of this rectangle.
99
+ * The returned edge endpoints are oriented clockwise around the rectangle.
100
+ */
101
+ get topEdge(): PIXI.Rectangle.Edge;
123
102
 
124
- /**
125
- * Get the right edge of this rectangle.
126
- * The returned edge endpoints are oriented clockwise around the rectangle.
127
- */
128
- get rightEdge(): {
129
- A: Canvas.Point;
130
- B: Canvas.Point;
131
- };
103
+ /**
104
+ * Get the bottom edge of this rectangle.
105
+ * The returned edge endpoints are oriented clockwise around the rectangle.
106
+ */
107
+ get bottomEdge(): PIXI.Rectangle.Edge;
132
108
 
133
- /**
134
- * Get the top edge of this rectangle.
135
- * The returned edge endpoints are oriented clockwise around the rectangle.
136
- */
137
- get topEdge(): {
138
- A: Canvas.Point;
139
- B: Canvas.Point;
140
- };
109
+ /**
110
+ * Calculate the rectangle Zone for a given point located around or in the rectangle.
111
+ * https://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland_algorithm
112
+ *
113
+ * @param p - Point to test for location relative to the rectangle
114
+ */
115
+ _getZone(p: Canvas.Point): PIXI.Rectangle.CS_ZONES;
141
116
 
142
- /**
143
- * Get the bottom edge of this rectangle.
144
- * The returned edge endpoints are oriented clockwise around the rectangle.
145
- */
146
- get bottomEdge(): {
147
- A: Canvas.Point;
148
- B: Canvas.Point;
149
- };
117
+ /**
118
+ * Test whether a line segment AB intersects this rectangle.
119
+ * @param a - The first endpoint of segment AB
120
+ * @param b - The second endpoint of segment AB
121
+ * @param options - Options affecting the intersect test.
122
+ * @returns True if intersects.
123
+ */
124
+ lineSegmentIntersects(
125
+ a: Canvas.Point,
126
+ b: Canvas.Point,
127
+ options?: PIXI.Rectangle.LineSegmentIntersectsOptions,
128
+ ): boolean;
150
129
 
151
- /**
152
- * Calculate the rectangle Zone for a given point located around or in the rectangle.
153
- * https://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland_algorithm
154
- *
155
- * @param p - Point to test for location relative to the rectangle
156
- */
157
- _getZone(p: Canvas.Point): PIXI.Rectangle.CS_ZONES;
130
+ /**
131
+ * Intersect this PIXI.Rectangle with a PIXI.Polygon.
132
+ * @param polygon - A PIXI.Polygon
133
+ * @param options - Options which configure how the intersection is computed
134
+ * @returns The intersected polygon
135
+ */
136
+ intersectPolygon(polygon: PIXI.Polygon, options?: PIXI.Rectangle.WACIntersectPolygonOptions): PIXI.Polygon;
137
+ intersectPolygon(polygon: PIXI.Polygon, options?: PIXI.Rectangle.ClipperLibIntersectPolygonOptions): PIXI.Polygon;
158
138
 
159
- /**
160
- * Test whether a line segment AB intersects this rectangle.
161
- * @param a - The first endpoint of segment AB
162
- * @param b - The second endpoint of segment AB
163
- * @param options - Options affecting the intersect test.
164
- * @returns True if intersects.
165
- */
166
- lineSegmentIntersects(
167
- a: Canvas.Point,
168
- b: Canvas.Point,
169
- /** @remarks Can't be NullishProps because `inside` only has a default via `{inside=false}` and it can be returned directly */
170
- options?: InexactPartial<{
139
+ /**
140
+ * Intersect this PIXI.Rectangle with an array of ClipperPoints. Currently, uses the clipper library.
141
+ * In the future we may replace this with more specialized logic which uses the line-line intersection formula.
142
+ * @param clipperPoints - Array of ClipperPoints generated by PIXI.Polygon.toClipperPoints()
143
+ * @param options - Options which configure how the intersection is computed
144
+ * @returns The intersected polygon
145
+ * @remarks Foundry has this typed as returning `PIXI.Polygon | null`, but this method will actually
146
+ * return an empty array if this rectangle's width or height are 0. This is almost certainly a bug.
147
+ */
148
+ intersectClipper(
149
+ clipperPoints: PIXI.Polygon.ClipperPoint[],
150
+ options?: PIXI.Polygon.IntersectClipperOptions,
151
+ ): PIXI.Polygon | [];
152
+
153
+ /**
154
+ * Determine whether some other Rectangle overlaps with this one.
155
+ * This check differs from the parent class Rectangle#intersects test because it is true for adjacency (zero area).
156
+ * @param other - Some other rectangle against which to compare
157
+ * @returns Do the rectangles overlap?
158
+ */
159
+ overlaps(other: PIXI.Rectangle): boolean;
160
+
161
+ /**
162
+ * Normalize the width and height of the rectangle in-place, enforcing that those dimensions be positive.
163
+ */
164
+ normalize(): PIXI.Rectangle;
165
+
166
+ /**
167
+ * Fits this rectangle around this rectangle rotated around the given pivot counterclockwise by the given angle in radians.
168
+ * @param radians - The angle of rotation.
169
+ * @param pivot - An optional pivot point (normalized).
170
+ * @returns A new rotated rectangle
171
+ */
172
+ rotate(radians: number, pivot?: PIXI.Point): PIXI.Rectangle;
173
+ }
174
+
175
+ namespace Rectangle {
176
+ type CS_ZONES = Brand<number, "PIXI.Rectangle.CS_ZONES">;
177
+
178
+ interface CS_Zones {
179
+ INSIDE: 0x0000 & CS_ZONES;
180
+ LEFT: 0x0001 & CS_ZONES;
181
+ RIGHT: 0x0010 & CS_ZONES;
182
+ TOP: 0x1000 & CS_ZONES;
183
+ BOTTOM: 0x0100 & CS_ZONES;
184
+ TOPLEFT: 0x1001 & CS_ZONES;
185
+ TOPRIGHT: 0x1010 & CS_ZONES;
186
+ BOTTOMRIGHT: 0x0110 & CS_ZONES;
187
+ BOTTOMLEFT: 0x0101 & CS_ZONES;
188
+ }
189
+
190
+ interface Edge {
191
+ A: Canvas.Point;
192
+ B: Canvas.Point;
193
+ }
194
+
195
+ /** @internal */
196
+ type _LineSegmentIntersectsOptions = InexactPartial<{
171
197
  /**
172
198
  * If true, a line contained within the rectangle will return true
173
199
  * @defaultValue `false`
200
+ * @remarks Can't be `null` as it only has a parameter default
174
201
  */
175
202
  inside: boolean;
176
- }>,
177
- ): boolean;
178
-
179
- /**
180
- * Intersect this PIXI.Rectangle with a PIXI.Polygon.
181
- * @param polygon - A PIXI.Polygon
182
- * @param options - Options which configure how the intersection is computed
183
- * @returns The intersected polygon
184
- */
185
- intersectPolygon(polygon: PIXI.Polygon, options?: PIXI.Rectangle.WACIntersectPolygonOptions): PIXI.Polygon;
186
- intersectPolygon(polygon: PIXI.Polygon, options?: PIXI.Rectangle.ClipperLibIntersectPolygonOptions): PIXI.Polygon;
187
- intersectPolygon(polygon: PIXI.Polygon, options?: PIXI.Rectangle.IntersectPolygonOptions): PIXI.Polygon;
188
-
189
- /**
190
- * Intersect this PIXI.Rectangle with an array of ClipperPoints. Currently, uses the clipper library.
191
- * In the future we may replace this with more specialized logic which uses the line-line intersection formula.
192
- * @param clipperPoints - Array of ClipperPoints generated by PIXI.Polygon.toClipperPoints()
193
- * @param options - Options which configure how the intersection is computed
194
- * @returns The intersected polygon
195
- * @remarks Foundry has this typed as returning `PIXI.Polygon | null`, but this method will actually
196
- * return an empty array if this rectangle's width or height are 0. I believe this is a bug.
197
- */
198
- intersectClipper(
199
- clipperPoints: PIXI.Polygon.ClipperPoint[],
200
- options?: PIXI.Polygon.IntersectClipperOptions,
201
- ): PIXI.Polygon | [];
203
+ }>;
202
204
 
203
- /**
204
- * Determine whether some other Rectangle overlaps with this one.
205
- * This check differs from the parent class Rectangle#intersects test because it is true for adjacency (zero area).
206
- * @param other - Some other rectangle against which to compare
207
- * @returns Do the rectangles overlap?
208
- */
209
- overlaps(other: PIXI.Rectangle): boolean;
205
+ /** Options affecting the intersect test. */
206
+ interface LineSegmentIntersectsOptions extends _LineSegmentIntersectsOptions {}
210
207
 
211
- /**
212
- * Normalize the width and height of the rectangle in-place, enforcing that those dimensions be positive.
213
- */
214
- normalize(): PIXI.Rectangle;
215
-
216
- /**
217
- * Fits this rectangle around this rectangle rotated around the given pivot counterclockwise by the given angle in radians.
218
- * @param radians - The angle of rotation.
219
- * @param pivot - An optional pivot point (normalized).
220
- * @returns A new rotated rectangle
221
- */
222
- rotate(radians: number, pivot?: PIXI.Point): PIXI.Rectangle;
223
-
224
- /**
225
- * Create normalized rectangular bounds given a rectangle shape and an angle of central rotation.
226
- * @param x - The top-left x-coordinate of the un-rotated rectangle
227
- * @param y - The top-left y-coordinate of the un-rotated rectangle
228
- * @param width - The width of the un-rotated rectangle
229
- * @param height - The height of the un-rotated rectangle
230
- * @param radians - The angle of rotation about the center
231
- * @param pivot - An optional pivot point (if not provided, the pivot is the centroid)
232
- * @param _outRect - (Internal)
233
- * @returns The constructed rotated rectangle bounds
234
- */
235
- fromRotation(
236
- x: number,
237
- y: number,
238
- width: number,
239
- height: number,
240
- radians: number,
241
- pivot?: PIXI.Point,
242
- _outRect?: PIXI.Rectangle,
243
- ): PIXI.Rectangle;
244
- }
208
+ /** @remarks The options for `intersectPolygon` when `weilerAtherton` is true (or not provided) */
209
+ interface WACIntersectPolygonOptions extends WeilerAthertonClipper._CombineOptions {
210
+ /**
211
+ * One of CLIP_TYPES
212
+ * @defaultValue `WeilerAthertonClipper.CLIP_TYPES.INTERSECT`
213
+ * @remarks Default provided by `??=` in function body
214
+ *
215
+ * The default is actually `ClipperLib.ClipType.ctIntersection`, but that and `.ctUnion` are
216
+ * equivalent to `WeilerAthertonClipper.CLIP_TYPES.INTERSECT` and `.UNION` respectively at runtime
217
+ */
218
+ clipType?:
219
+ | WeilerAthertonClipper.CLIP_TYPES
220
+ | (typeof ClipperLib.ClipType)["ctIntersection" | "ctUnion"]
221
+ | undefined
222
+ | null;
245
223
 
246
- namespace Rectangle {
247
- type CS_ZONES = Brand<number, "PIXI.Rectangle.CS_ZONES">;
224
+ /**
225
+ * Use the Weiler-Atherton algorithm. Otherwise, use Clipper.
226
+ * @defaultValue `true`
227
+ */
228
+ weilerAtherton?: true;
229
+ }
248
230
 
249
- /**
250
- * @privateRemarks The options for `intersectPolygon` when `weilerAtherton` is true (or not provided)
251
- * Property descriptions have been omitted and `RemoveComments` is in use here to avoid redundant
252
- * instellisense on overloaded method.
253
- */
254
- interface WACIntersectPolygonOptions
255
- extends RemoveComments<Omit<WeilerAthertonClipper.CombineOptions, keyof WeilerAthertonClipper.ClipOpts>> {
256
- weilerAtherton?: true;
257
- }
231
+ /** @remarks The options for `intersectPolygon` when `weilerAtherton` is false. */
232
+ interface ClipperLibIntersectPolygonOptions extends PIXI.Polygon.ClipperPointsOptions {
233
+ /**
234
+ * One of CLIP_TYPES
235
+ * @defaultValue `ClipperLib.ClipType.ctIntersection`
236
+ * @remarks Default provided by `??=` in function body
237
+ *
238
+ * `WeilerAthertonClipper.CLIP_TYPES.INTERSECT` and `.UNION` are equivalent to
239
+ * `ClipperLib.ClipType.ctIntersection` and `.ctUnion` respectively at runtime
240
+ */
241
+ clipType?: ClipperLib.ClipType | WeilerAthertonClipper.CLIP_TYPES | null | undefined;
258
242
 
259
- /**
260
- * @privateRemarks The options for `intersectPolygon` when `weilerAtherton` is false.
261
- * Property descriptions have been omitted and `RemoveComments` is in use here to avoid redundant
262
- * instellisense on overloaded method.
263
- */
264
- interface ClipperLibIntersectPolygonOptions extends RemoveComments<PIXI.Polygon.IntersectClipperOptions> {
265
- weilerAtherton: false;
243
+ /**
244
+ * Use the Weiler-Atherton algorithm. Otherwise, use Clipper.
245
+ * @defaultValue `true`
246
+ */
247
+ weilerAtherton: false;
248
+ }
266
249
  }
267
250
 
268
- /** @internal Intermediary type to simplify use of optionality- and nullish-permissiveness-modifying helpers */
269
- type _IntersectPolygonOptions = NullishProps<{
251
+ class Rectangle extends _PIXI.Rectangle {
270
252
  /**
271
- * The clipper clip type
272
- * @remarks If `weilerAtherton` is truthy or not provided, this must be one of the two `WeilerAthertonClipper.CLIP_TYPES`.
273
- * However, the first two entries in `ClipperLib.ClipType` map 1:1 with the two `CLIP_TYPES`, so the main restriction is
274
- * that a combination of a truthy `weilerAtherton` and a `clipType` that is either `ClipperLib.ClipTypes.ctDifference` or
275
- * `.ctXor` is not allowed.
276
- * @defaultValue `ClipperLib.ClipType.ctIntersection` (equivalent to `WeilerAthertonClipper.CLIP_TYPES.INTERSECTION`)
253
+ * Create normalized rectangular bounds given a rectangle shape and an angle of central rotation.
254
+ * @param x - The top-left x-coordinate of the un-rotated rectangle
255
+ * @param y - The top-left y-coordinate of the un-rotated rectangle
256
+ * @param width - The width of the un-rotated rectangle
257
+ * @param height - The height of the un-rotated rectangle
258
+ * @param radians - The angle of rotation about the center
259
+ * @param pivot - An optional pivot point (if not provided, the pivot is the centroid)
260
+ * @param _outRect - (Internal)
261
+ * @returns The constructed rotated rectangle bounds
277
262
  */
278
- clipType: ClipperLib.ClipType | WeilerAthertonClipper.CLIP_TYPES;
279
-
280
- /**
281
- * Use the Weiler-Atherton algorithm. Otherwise, use Clipper.
282
- * @defaultValue `true`
283
- * */
284
- weilerAtherton: boolean;
285
- }> &
286
- Pick<PIXI.Polygon.IntersectClipperOptions, "scalingFactor"> &
287
- Pick<WeilerAthertonClipper.CombineOptions, "canMutate">;
288
-
289
- interface IntersectPolygonOptions extends _IntersectPolygonOptions {}
263
+ static fromRotation(
264
+ x: number,
265
+ y: number,
266
+ width: number,
267
+ height: number,
268
+ radians: number,
269
+ pivot?: PIXI.Point,
270
+ _outRect?: PIXI.Rectangle,
271
+ ): PIXI.Rectangle;
272
+ }
290
273
  }
291
274
  }