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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/README.md +17 -18
  2. package/package.json +74 -32
  3. package/src/configuration/configuration.d.mts +316 -0
  4. package/src/configuration/documents.d.mts +295 -0
  5. package/src/configuration/globals.d.mts +357 -0
  6. package/src/configuration/index.d.mts +5 -0
  7. package/src/foundry/client/apps/app.d.mts +129 -122
  8. package/src/foundry/client/apps/av/av-config.d.mts +12 -7
  9. package/src/foundry/client/apps/av/cameras.d.mts +12 -7
  10. package/src/foundry/client/apps/dice/dice-config.d.mts +59 -0
  11. package/src/foundry/client/apps/dice/index.d.mts +1 -0
  12. package/src/foundry/client/apps/form.d.mts +114 -86
  13. package/src/foundry/client/apps/forms/actor.d.mts +21 -11
  14. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +12 -7
  15. package/src/foundry/client/apps/forms/adventure-importer.d.mts +14 -6
  16. package/src/foundry/client/apps/forms/base-sheet.d.mts +16 -8
  17. package/src/foundry/client/apps/forms/card-config.d.mts +16 -8
  18. package/src/foundry/client/apps/forms/cards-config.d.mts +15 -14
  19. package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
  20. package/src/foundry/client/apps/forms/combatant-config.d.mts +3 -3
  21. package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
  22. package/src/foundry/client/apps/forms/effect-config.d.mts +7 -7
  23. package/src/foundry/client/apps/forms/folder-config.d.mts +5 -5
  24. package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
  25. package/src/foundry/client/apps/forms/grid-config.d.mts +12 -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 +397 -61
  99. package/src/foundry/client/core/settings.d.mts +62 -38
  100. package/src/foundry/client/core/socket.d.mts +2 -2
  101. package/src/foundry/client/core/sorting.d.mts +6 -6
  102. package/src/foundry/client/core/time.d.mts +6 -3
  103. package/src/foundry/client/core/tooltip.d.mts +2 -2
  104. package/src/foundry/client/core/tour.d.mts +59 -50
  105. package/src/foundry/client/core/tours.d.mts +1 -1
  106. package/src/foundry/client/core/utils.d.mts +33 -10
  107. package/src/foundry/client/core/video.d.mts +1 -1
  108. package/src/foundry/client/core/workers.d.mts +24 -17
  109. package/src/foundry/client/data/abstract/canvas-document.d.mts +21 -16
  110. package/src/foundry/client/data/abstract/client-document.d.mts +153 -183
  111. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +23 -39
  112. package/src/foundry/client/data/abstract/document-collection.d.mts +96 -68
  113. package/src/foundry/client/data/abstract/world-collection.d.mts +47 -55
  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 +81 -99
  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 +19 -7
  131. package/src/foundry/client/data/documents/active-effect.d.mts +677 -85
  132. package/src/foundry/client/data/documents/actor-delta.d.mts +670 -27
  133. package/src/foundry/client/data/documents/actor.d.mts +718 -64
  134. package/src/foundry/client/data/documents/adventure.d.mts +480 -46
  135. package/src/foundry/client/data/documents/ambient-light.d.mts +423 -19
  136. package/src/foundry/client/data/documents/ambient-sound.d.mts +473 -14
  137. package/src/foundry/client/data/documents/card.d.mts +567 -36
  138. package/src/foundry/client/data/documents/cards.d.mts +744 -87
  139. package/src/foundry/client/data/documents/chat-message.d.mts +574 -42
  140. package/src/foundry/client/data/documents/combat.d.mts +699 -69
  141. package/src/foundry/client/data/documents/combatant.d.mts +504 -24
  142. package/src/foundry/client/data/documents/drawing.d.mts +540 -14
  143. package/src/foundry/client/data/documents/fog-exploration.d.mts +416 -21
  144. package/src/foundry/client/data/documents/folder.d.mts +468 -35
  145. package/src/foundry/client/data/documents/index.d.mts +2 -0
  146. package/src/foundry/client/data/documents/item.d.mts +677 -20
  147. package/src/foundry/client/data/documents/journal-entry-page.d.mts +585 -19
  148. package/src/foundry/client/data/documents/journal-entry.d.mts +619 -18
  149. package/src/foundry/client/data/documents/macro.d.mts +528 -25
  150. package/src/foundry/client/data/documents/measured-template.d.mts +478 -14
  151. package/src/foundry/client/data/documents/note.d.mts +491 -15
  152. package/src/foundry/client/data/documents/playlist-sound.d.mts +426 -24
  153. package/src/foundry/client/data/documents/playlist.d.mts +665 -74
  154. package/src/foundry/client/data/documents/region-behavior.d.mts +507 -0
  155. package/src/foundry/client/data/documents/region.d.mts +784 -0
  156. package/src/foundry/client/data/documents/scene.d.mts +983 -147
  157. package/src/foundry/client/data/documents/setting.d.mts +395 -13
  158. package/src/foundry/client/data/documents/table-result.d.mts +476 -14
  159. package/src/foundry/client/data/documents/table.d.mts +661 -78
  160. package/src/foundry/client/data/documents/tile.d.mts +499 -14
  161. package/src/foundry/client/data/documents/token.d.mts +1111 -94
  162. package/src/foundry/client/data/documents/user.d.mts +493 -25
  163. package/src/foundry/client/data/documents/wall.d.mts +548 -14
  164. package/src/foundry/client/game.d.mts +60 -92
  165. package/src/foundry/client/head.d.mts +9 -9
  166. package/src/foundry/client/hooks.d.mts +257 -237
  167. package/src/foundry/client/pixi/board.d.mts +106 -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 +76 -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 +238 -137
  241. package/src/foundry/client/pixi/placeables/drawing.d.mts +255 -133
  242. package/src/foundry/client/pixi/placeables/index.d.mts +1 -0
  243. package/src/foundry/client/pixi/placeables/light.d.mts +199 -64
  244. package/src/foundry/client/pixi/placeables/note.d.mts +145 -54
  245. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +30 -8
  246. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +41 -11
  247. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +59 -18
  248. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +120 -37
  249. package/src/foundry/client/pixi/placeables/region.d.mts +280 -0
  250. package/src/foundry/client/pixi/placeables/sound.d.mts +205 -66
  251. package/src/foundry/client/pixi/placeables/template.d.mts +181 -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 +36 -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 +141 -2
  410. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +284 -2
  411. package/src/foundry/client-esm/client.d.mts +47 -54
  412. package/src/foundry/client-esm/data/_module.d.mts +2 -2
  413. package/src/foundry/client-esm/data/client-backend.d.mts +22 -23
  414. package/src/foundry/client-esm/data/region-behaviors/_module.d.mts +11 -14
  415. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +57 -0
  416. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +59 -0
  417. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +64 -0
  418. package/src/foundry/client-esm/data/region-behaviors/execute-macro.d.mts +27 -0
  419. package/src/foundry/client-esm/data/region-behaviors/execute-script.d.mts +23 -0
  420. package/src/foundry/client-esm/data/region-behaviors/pause-game.d.mts +23 -0
  421. package/src/foundry/client-esm/data/region-behaviors/suppress-weather.d.mts +17 -0
  422. package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +32 -0
  423. package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +31 -0
  424. package/src/foundry/client-esm/dice/_module.d.mts +2 -3
  425. package/src/foundry/client-esm/dice/parser.d.mts +11 -25
  426. package/src/foundry/client-esm/dice/roll.d.mts +115 -89
  427. package/src/foundry/client-esm/dice/terms/_module.d.mts +2 -3
  428. package/src/foundry/client-esm/dice/terms/coin.d.mts +8 -5
  429. package/src/foundry/client-esm/dice/terms/dice.d.mts +93 -63
  430. package/src/foundry/client-esm/dice/terms/die.d.mts +11 -4
  431. package/src/foundry/client-esm/dice/terms/fate.d.mts +9 -2
  432. package/src/foundry/client-esm/dice/terms/function.d.mts +18 -18
  433. package/src/foundry/client-esm/dice/terms/numeric.d.mts +3 -5
  434. package/src/foundry/client-esm/dice/terms/operator.d.mts +2 -2
  435. package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +9 -10
  436. package/src/foundry/client-esm/dice/terms/pool.d.mts +25 -31
  437. package/src/foundry/client-esm/dice/terms/string.d.mts +4 -4
  438. package/src/foundry/client-esm/dice/terms/term.d.mts +18 -4
  439. package/src/foundry/client-esm/dice/twister.d.mts +3 -3
  440. package/src/foundry/client-esm/helpers/_module.d.mts +2 -2
  441. package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
  442. package/src/foundry/client-esm/helpers/compendium-art.d.mts +56 -4
  443. package/src/foundry/common/abstract/_types.d.mts +60 -54
  444. package/src/foundry/common/abstract/backend.d.mts +51 -45
  445. package/src/foundry/common/abstract/data.d.mts +132 -154
  446. package/src/foundry/common/abstract/document.d.mts +1306 -438
  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 +58 -55
  453. package/src/foundry/common/config.d.mts +5 -3
  454. package/src/foundry/common/constants.d.mts +261 -231
  455. package/src/foundry/common/data/data.d.mts +200 -94
  456. package/src/foundry/common/data/fields.d.mts +700 -644
  457. package/src/foundry/common/data/module.d.mts +2 -2
  458. package/src/foundry/common/data/validation-failure.d.mts +12 -9
  459. package/src/foundry/common/documents/_module.d.mts +4 -2
  460. package/src/foundry/common/documents/_types.d.mts +22 -50
  461. package/src/foundry/common/documents/active-effect.d.mts +280 -179
  462. package/src/foundry/common/documents/actor-delta.d.mts +318 -69
  463. package/src/foundry/common/documents/actor.d.mts +305 -117
  464. package/src/foundry/common/documents/adventure.d.mts +266 -141
  465. package/src/foundry/common/documents/ambient-light.d.mts +268 -75
  466. package/src/foundry/common/documents/ambient-sound.d.mts +268 -109
  467. package/src/foundry/common/documents/card.d.mts +267 -174
  468. package/src/foundry/common/documents/cards.d.mts +299 -126
  469. package/src/foundry/common/documents/chat-message.d.mts +276 -158
  470. package/src/foundry/common/documents/combat.d.mts +300 -89
  471. package/src/foundry/common/documents/combatant.d.mts +275 -88
  472. package/src/foundry/common/documents/drawing.d.mts +286 -206
  473. package/src/foundry/common/documents/fog-exploration.d.mts +258 -70
  474. package/src/foundry/common/documents/folder.d.mts +252 -81
  475. package/src/foundry/common/documents/item.d.mts +305 -99
  476. package/src/foundry/common/documents/journal-entry-page.d.mts +279 -189
  477. package/src/foundry/common/documents/journal-entry.d.mts +294 -68
  478. package/src/foundry/common/documents/macro.d.mts +254 -132
  479. package/src/foundry/common/documents/measured-template.d.mts +293 -139
  480. package/src/foundry/common/documents/note.d.mts +274 -149
  481. package/src/foundry/common/documents/playlist-sound.d.mts +260 -94
  482. package/src/foundry/common/documents/playlist.d.mts +279 -120
  483. package/src/foundry/common/documents/region-behavior.d.mts +329 -0
  484. package/src/foundry/common/documents/region.d.mts +327 -0
  485. package/src/foundry/common/documents/roll-table.d.mts +286 -102
  486. package/src/foundry/common/documents/scene.d.mts +276 -336
  487. package/src/foundry/common/documents/setting.d.mts +229 -54
  488. package/src/foundry/common/documents/table-result.d.mts +267 -94
  489. package/src/foundry/common/documents/tile.d.mts +301 -170
  490. package/src/foundry/common/documents/token.d.mts +351 -445
  491. package/src/foundry/common/documents/user.d.mts +256 -144
  492. package/src/foundry/common/documents/wall.d.mts +273 -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 +23 -21
  500. package/src/foundry/common/packages/base-system.d.mts +6 -63
  501. package/src/foundry/common/packages/base-world.d.mts +8 -61
  502. package/src/foundry/common/packages/module.d.mts +7 -7
  503. package/src/foundry/common/packages/sub-types.d.mts +2 -2
  504. package/src/foundry/common/primitives/array.d.mts +4 -4
  505. package/src/foundry/common/primitives/math.d.mts +7 -1
  506. package/src/foundry/common/primitives/number.d.mts +2 -2
  507. package/src/foundry/common/primitives/set.d.mts +17 -14
  508. package/src/foundry/common/primitives/string.d.mts +1 -1
  509. package/src/foundry/common/prosemirror/_module.d.mts +15 -15
  510. package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
  511. package/src/foundry/common/prosemirror/dom-parser.d.mts +2 -1
  512. package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
  513. package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +2 -2
  514. package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
  515. package/src/foundry/common/prosemirror/menu.d.mts +3 -3
  516. package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
  517. package/src/foundry/common/prosemirror/plugin.d.mts +2 -2
  518. package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
  519. package/src/foundry/common/prosemirror/schema/lists.d.mts +2 -0
  520. package/src/foundry/common/prosemirror/util.d.mts +1 -1
  521. package/src/foundry/common/types.d.mts +3 -3
  522. package/src/foundry/common/utils/bitmask.d.mts +23 -11
  523. package/src/foundry/common/utils/collection.d.mts +61 -38
  524. package/src/foundry/common/utils/color.d.mts +20 -2
  525. package/src/foundry/common/utils/event-emitter.d.mts +32 -17
  526. package/src/foundry/common/utils/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 +20 -312
  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,167 +1,167 @@
1
- export {};
1
+ import type { InterfaceToObject, NullishProps } from "fvtt-types/utils";
2
2
 
3
3
  declare global {
4
- interface PerceptionManagerFlags {
5
- /**
6
- * Re-initialize the entire lighting configuration. An aggregate behavior
7
- * which does no work directly but propagates to set several other flags.
8
- */
9
- initializeLighting: boolean;
10
-
11
- /** Re-initialize the entire vision configuration. See {@link CanvasVisibility#initializeSources}. */
12
- initializeVision: boolean;
13
-
14
- /** Re-initialize the entire vision modes. See {@link CanvasVisibility#initializeVisionMode}. */
15
- initializeVisionModes: boolean;
16
-
17
- /** Re-initialize the entire ambient sound configuration. See {@link SoundsLayer#initializeSources}. */
18
- initializeSounds: boolean;
19
-
20
- /** Recompute intersections between all registered edges. See {@link CanvasEdges#refresh}. */
21
- refreshEdges: boolean;
22
-
23
- /** Refresh the rendered appearance of lighting */
24
- refreshLighting: boolean;
25
-
26
- /** Update the configuration of light sources */
27
- refreshLightSources: boolean;
28
-
29
- /** Refresh occlusion */
30
- refreshOcclusion: boolean;
31
-
32
- /** Refresh the contents of the PrimaryCanvasGroup mesh */
33
- refreshPrimary: boolean;
34
-
35
- /** Refresh the audio state of ambient sounds */
36
- refreshSounds: boolean;
37
-
38
- /** Refresh the rendered appearance of vision */
39
- refreshVision: boolean;
40
-
41
- /** Update the configuration of vision sources */
42
- refreshVisionSources: boolean;
43
-
44
- /** Apply a fade duration to sound refresh workflow */
45
- soundFadeDuration: boolean;
46
- }
4
+ /**
5
+ * @deprecated {@link PerceptionManager.RenderFlags | `PerceptionManager.RenderFlags`}
6
+ */
7
+ type PerceptionManagerFlags = PerceptionManager.RenderFlags;
47
8
 
48
9
  /**
49
10
  * A helper class which manages the refresh workflow for perception layers on the canvas.
50
11
  * This controls the logic which batches multiple requested updates to minimize the amount of work required.
51
- * A singleton instance is available as {@link Canvas#perception}.
12
+ * A singleton instance is available as {@link Canvas.perception | `Canvas#perception`}.
52
13
  */
53
14
  class PerceptionManager extends RenderFlagsMixin(Object) {
54
- static RENDER_FLAGS: {
55
- /** @defaultValue `{}` */
56
- refreshEdges: RenderFlag<PerceptionManagerFlags>;
57
-
58
- /** @defaultValue `{propagate: ["refreshLighting", "refreshVision"]}` */
59
- initializeLighting: RenderFlag<PerceptionManagerFlags>;
60
-
61
- /** @defaultValue `{propagate: ["refreshLighting", "refreshVision", "refreshEdges"]}` */
62
- initializeDarknessSources: RenderFlag<PerceptionManagerFlags>;
63
-
64
- /** @defaultValue `{propagate: ["refreshLighting", "refreshVision"]}` */
65
- initializeLightSources: RenderFlag<PerceptionManagerFlags>;
66
-
67
- /** @defaultValue `{propagate: ["refreshLightSources"]}` */
68
- refreshLighting: RenderFlag<PerceptionManagerFlags>;
69
-
70
- /** @defaultValue `{}` */
71
- refreshLightSources: RenderFlag<PerceptionManagerFlags>;
72
-
73
- /** @defaultValue `{propagate: ["refreshVisionSources", "refreshLighting", "refreshPrimary"]}` */
74
- initializeVisionModes: RenderFlag<PerceptionManagerFlags>;
75
-
76
- /** @defaultValue `{propagate: ["refreshVision", "refreshTiles", "refreshLighting", "refreshLightSources", "refreshPrimary"]}` */
77
- initializeVision: RenderFlag<PerceptionManagerFlags>;
78
-
79
- /** @defaultValue `{propagate: ["refreshVisionSources", "refreshOcclusionMask"]}` */
80
- refreshVision: RenderFlag<PerceptionManagerFlags>;
81
-
82
- /** @defaultValue `{}` */
83
- refreshVisionSources: RenderFlag<PerceptionManagerFlags>;
84
-
85
- /** @defaultValue `{}` */
86
- refreshPrimary: RenderFlag<PerceptionManagerFlags>;
87
-
88
- /** `{propagate: ["refreshOcclusionStates", "refreshOcclusionMask"]}` */
89
- refreshOcclusion: RenderFlag<PerceptionManagerFlags>;
90
-
91
- /** @defaultValue `{}` */
92
- refreshOcclusionStates: RenderFlag<PerceptionManagerFlags>;
93
-
94
- /** @defaultValue `{}` */
95
- refreshOcclusionMask: RenderFlag<PerceptionManagerFlags>;
96
-
97
- /** @defaultValue `{ propagate: ["refreshSounds"] }` */
98
- initializeSounds: RenderFlag<PerceptionManagerFlags>;
99
-
100
- /** @defaultValue `{}` */
101
- refreshSounds: RenderFlag<PerceptionManagerFlags>;
102
-
103
- /** @defaultValue `{}` */
104
- soundFadeDuration: RenderFlag<PerceptionManagerFlags>;
105
-
106
- /** @deprecated since v12, will be removed in v14 */
107
- refreshTiles: RenderFlag<PerceptionManagerFlags>;
108
-
109
- /** @deprecated since v12, will be removed in v14 */
110
- identifyInteriorWalls: RenderFlag<PerceptionManagerFlags>;
111
-
112
- /** @deprecated since v12, will be removed in v14 */
113
- forceUpdateFog: RenderFlag<PerceptionManagerFlags>;
114
- };
15
+ static RENDER_FLAGS: InterfaceToObject<PerceptionManager.RENDER_FLAGS>;
115
16
 
116
17
  static RENDER_FLAG_PRIORITY: "PERCEPTION";
117
18
 
19
+ // Note: This isn't a "real" override but `renderFlags` is set corresponding to the
20
+ // `RENDER_FLAGS` and so it has to be adjusted here.
21
+ renderFlags: RenderFlags<PerceptionManager.RENDER_FLAGS>;
22
+
118
23
  applyRenderFlags(): void;
119
24
 
120
25
  /**
121
26
  * Update perception manager flags which configure which behaviors occur on the next frame render.
122
27
  * @param flags - Flag values (true) to assign where the keys belong to PerceptionManager.FLAGS
123
28
  */
124
- update(flags: Partial<PerceptionManagerFlags>): void;
29
+ update(flags: PerceptionManager.PassableFlags): void;
125
30
 
126
31
  /**
127
32
  * A helper function to perform an immediate initialization plus incremental refresh.
128
33
  */
129
- initialize(): ReturnType<this["update"]>;
34
+ initialize(): void;
130
35
 
131
36
  /**
132
37
  * @deprecated since v12, will be removed in v14
133
- * @remarks `"PerceptionManager#refresh is deprecated in favor of assigning granular "refresh flags"`
134
- */
135
- refresh(): ReturnType<this["update"]>;
136
-
137
- /**
138
- * @deprecated since v11, will be removed in v13
139
- * @remarks forceUpdateFog flag is now obsolete and has no replacement. The fog is now always updated when the visibility is refreshed
38
+ * @remarks "PerceptionManager#refresh is deprecated in favor of assigning granular \"refresh flags\""
140
39
  */
141
- static forceUpdateFog(): void;
40
+ refresh(): void;
142
41
  }
143
42
 
144
43
  namespace PerceptionManager {
145
- /** @deprecated Old flag structure */
146
- interface Options {
147
- lighting: {
148
- initialize: boolean;
149
- refresh: boolean;
150
- };
151
- sight: {
152
- initialize: boolean;
153
- refresh: boolean;
154
- skipUpdateFog: boolean;
155
- forceUpdateFog: boolean;
156
- };
157
- sounds: {
158
- initialize: boolean;
159
- refresh: boolean;
160
- fade: boolean;
161
- };
162
- foreground: {
163
- refresh: boolean;
164
- };
44
+ interface Any extends AnyPerceptionManager {}
45
+ type AnyConstructor = typeof AnyPerceptionManager;
46
+
47
+ type PassableFlags = NullishProps<RenderFlags>;
48
+
49
+ type RenderFlags = RenderFlagsMixin.ToBooleanFlags<RENDER_FLAGS>;
50
+
51
+ interface RENDER_FLAGS {
52
+ /**
53
+ * Recompute intersections between all registered edges. See {@link CanvasEdges#refresh}.
54
+ * @defaultValue `{}`
55
+ */
56
+ refreshEdges: RenderFlag<this, "refreshEdges">;
57
+
58
+ /**
59
+ * Re-initialize the entire lighting configuration. An aggregate behavior
60
+ * which does no work directly but propagates to set several other flags.
61
+ * @defaultValue `{ propagate: ["initializeDarknessSources", "initializeLightSources"] }`
62
+ */
63
+ initializeLighting: RenderFlag<this, "initializeLighting">;
64
+
65
+ /** @defaultValue `{ propagate: ["refreshLighting", "refreshVision", "refreshEdges"] }` */
66
+ initializeDarknessSources: RenderFlag<this, "initializeDarknessSources">;
67
+
68
+ /** @defaultValue `{ propagate: ["refreshLighting", "refreshVision"] }` */
69
+ initializeLightSources: RenderFlag<this, "initializeLightSources">;
70
+
71
+ /**
72
+ * Refresh the rendered appearance of lighting
73
+ * @defaultValue `{ propagate: ["refreshLightSources"] }`
74
+ */
75
+ refreshLighting: RenderFlag<this, "refreshLighting">;
76
+
77
+ /**
78
+ * Update the configuration of light sources
79
+ * @defaultValue `{}`
80
+ */
81
+ refreshLightSources: RenderFlag<this, "refreshLightSources">;
82
+
83
+ /**
84
+ * Re-initialize the entire vision modes. See {@link CanvasVisibility#initializeVisionMode}.
85
+ * @defaultValue `{ propagate: ["refreshVisionSources", "refreshLighting", "refreshPrimary"] }`
86
+ */
87
+ initializeVisionModes: RenderFlag<this, "initializeVisionModes">;
88
+
89
+ /**
90
+ * Re-initialize the entire vision configuration. See {@link CanvasVisibility#initializeSources}.
91
+ * @defaultValue `{ propagate: ["initializeVisionModes", "refreshVision"] }`
92
+ */
93
+ initializeVision: RenderFlag<this, "initializeVision">;
94
+
95
+ /**
96
+ * Refresh the rendered appearance of vision
97
+ * @defaultValue `{ propagate: ["refreshVisionSources", "refreshOcclusionMask"] }`
98
+ */
99
+ refreshVision: RenderFlag<this, "refreshVision">;
100
+
101
+ /**
102
+ * Update the configuration of vision sources
103
+ * @defaultValue `{}`
104
+ */
105
+ refreshVisionSources: RenderFlag<this, "refreshVisionSources">;
106
+
107
+ /**
108
+ * Refresh the contents of the PrimaryCanvasGroup mesh
109
+ * @defaultValue `{}`
110
+ */
111
+ refreshPrimary: RenderFlag<this, "refreshPrimary">;
112
+
113
+ /**
114
+ * Refresh occlusion
115
+ * @defaultValue `{propagate: ["refreshOcclusionStates", "refreshOcclusionMask"] }`
116
+ */
117
+ refreshOcclusion: RenderFlag<this, "refreshOcclusion">;
118
+
119
+ /** @defaultValue `{}` */
120
+ refreshOcclusionStates: RenderFlag<this, "refreshOcclusionStates">;
121
+
122
+ /** @defaultValue `{}` */
123
+ refreshOcclusionMask: RenderFlag<this, "refreshOcclusionMask">;
124
+
125
+ /**
126
+ * Re-initialize the entire ambient sound configuration. See {@link SoundsLayer#initializeSources}.
127
+ * @defaultValue `{ propagate: ["refreshSounds"] }`
128
+ */
129
+ initializeSounds: RenderFlag<this, "initializeSounds">;
130
+
131
+ /**
132
+ * Refresh the audio state of ambient sounds
133
+ * @defaultValue `{}`
134
+ */
135
+ refreshSounds: RenderFlag<this, "refreshSounds">;
136
+
137
+ /**
138
+ * Apply a fade duration to sound refresh workflow
139
+ * @defaultValue `{}`
140
+ */
141
+ soundFadeDuration: RenderFlag<this, "soundFadeDuration">;
142
+
143
+ /**
144
+ * @defaultValue `{ propagate: ["refreshOcclusion"] }`
145
+ * @deprecated since v12, will be removed in v14
146
+ */
147
+ refreshTiles: RenderFlag<this, "refreshTiles">;
148
+
149
+ /**
150
+ * @defaultValue `{ propagate: ["initializeLighting", "initializeVision"] }`
151
+ * @deprecated since v12, will be removed in v14
152
+ */
153
+ identifyInteriorWalls: RenderFlag<this, "identifyInteriorWalls">;
154
+
155
+ /**
156
+ * @defaultValue `{ propagate: ["refreshVision"] }`
157
+ * @deprecated since v11, will be removed in v13
158
+ * @remarks In v12 the flag remains, but the static method it would have triggered was removed prematurely (was listed as until v13 in v11)
159
+ */
160
+ forceUpdateFog: RenderFlag<this, "forceUpdateFog">;
165
161
  }
166
162
  }
167
163
  }
164
+
165
+ declare abstract class AnyPerceptionManager extends PerceptionManager {
166
+ constructor(...args: never);
167
+ }
@@ -1,5 +1,9 @@
1
- import type { AnyObject, InexactPartial, SimpleMerge, ValueOf } from "../../../../types/utils.d.mts";
1
+ import type { Brand, InterfaceToObject, RemoveIndexSignatures, SimpleMerge } from "fvtt-types/utils";
2
2
  import type { fields } from "../../../common/data/module.d.mts";
3
+ import type { DataSchema } from "../../../common/data/fields.d.mts";
4
+ import DataField = foundry.data.fields.DataField;
5
+ import type DataModel from "../../../common/abstract/data.d.mts";
6
+ import type PointVisionSource from "../../../client-esm/canvas/sources/point-vision-source.d.mts";
3
7
 
4
8
  declare global {
5
9
  class ShaderField<
@@ -21,25 +25,60 @@ declare global {
21
25
 
22
26
  // TODO: _cast blatantly breaks inheritance so this is difficult to work with
23
27
  /** @remarks The value provided to a ShaderField must be an AbstractBaseShader subclass. */
24
- override _cast(value: any): Exclude<InitializedType, undefined | null>; // typeof AbstractBaseShader;
28
+ override _cast(value: any): NonNullable<InitializedType>; // typeof AbstractBaseShader;
29
+ }
30
+
31
+ namespace ShaderField {
32
+ type Options = DataField.Options<typeof AbstractBaseShader>;
33
+
34
+ type DefaultOptions = SimpleMerge<
35
+ DataField.DefaultOptions,
36
+ {
37
+ nullable: true;
38
+ initial: undefined;
39
+ }
40
+ >;
41
+
42
+ /**
43
+ * A helper type for the given options type merged into the default options of the BooleanField class.
44
+ * @typeParam Opts - the options that override the default options
45
+ */
46
+ type MergedOptions<Opts extends Options> = SimpleMerge<DefaultOptions, Opts>;
47
+
48
+ /**
49
+ * A shorthand for the assignment type of a BooleanField class.
50
+ * @typeParam Opts - the options that override the default options
51
+ */
52
+ type AssignmentType<Opts extends Options> = DataField.DerivedAssignmentType<
53
+ typeof AbstractBaseShader,
54
+ MergedOptions<Opts>
55
+ >;
56
+
57
+ /**
58
+ * A shorthand for the initialized type of a BooleanField class.
59
+ * @typeParam Opts - the options that override the default options
60
+ */
61
+ type InitializedType<Opts extends Options> = DataField.DerivedInitializedType<
62
+ typeof AbstractBaseShader,
63
+ MergedOptions<Opts>
64
+ >;
25
65
  }
26
66
 
27
67
  /**
28
68
  * A Vision Mode which can be selected for use by a Token.
29
69
  * The selected Vision Mode alters the appearance of various aspects of the canvas while that Token is the POV.
30
70
  */
31
- class VisionMode extends foundry.abstract.DataModel<VisionMode.Schema> {
32
- /**
33
- * Construct a Vision Mode using provided configuration parameters and callback functions.
34
- * @param data - Data which fulfills the model defined by the VisionMode schema.
35
- * @param options - Additional options passed to the DataModel constructor.
36
- */
37
- constructor(data: InexactPartial<any>, options?: AnyObject);
71
+ class VisionMode extends foundry.abstract.DataModel<
72
+ VisionMode.Schema,
73
+ DataModel.Any | null,
74
+ InterfaceToObject<VisionMode.ExtraConstructorOptions>
75
+ > {
76
+ // A constructor override has been omitted as there are no typing changes
38
77
 
39
78
  static defineSchema(): VisionMode.Schema;
40
79
 
41
80
  /** The lighting illumination levels which are supported. */
42
- static LIGHTING_LEVELS: typeof CONST.LIGHTING_LEVELS;
81
+ static LIGHTING_LEVELS: typeof foundry.CONST.LIGHTING_LEVELS;
43
82
 
44
83
  /**
45
84
  * Flags for how each lighting channel should be rendered for the currently active vision modes:
@@ -47,11 +86,7 @@ declare global {
47
86
  * - Enabled: this lighting layer is rendered normally, and the shaders can choose if they should be rendered or not.
48
87
  * - Required: the lighting layer is rendered, the shaders does not decide.
49
88
  */
50
- static LIGHTING_VISIBILITY: {
51
- DISABLED: 0;
52
- ENABLED: 1;
53
- REQUIRED: 2;
54
- };
89
+ static LIGHTING_VISIBILITY: VisionMode.LightingVisibility;
55
90
 
56
91
  /**
57
92
  * A flag for whether this vision source is animated
@@ -69,83 +104,71 @@ declare global {
69
104
  * Special activation handling that could be implemented by VisionMode subclasses
70
105
  * @param source - Activate this VisionMode for a specific source
71
106
  */
72
- _activate(source: foundry.canvas.sources.PointVisionSource.Any): void;
107
+ _activate(source: PointVisionSource.Any): void;
73
108
 
74
109
  /**
75
110
  * Special deactivation handling that could be implemented by VisionMode subclasses
76
111
  * @param source - Deactivate this VisionMode for a specific source
77
112
  */
78
- _deactivate(source: foundry.canvas.sources.PointVisionSource.Any): void;
113
+ _deactivate(source: PointVisionSource.Any): void;
79
114
 
80
115
  /**
81
116
  * Special handling which is needed when this Vision Mode is activated for a VisionSource.
82
117
  * @param source - Activate this VisionMode for a specific source
83
118
  */
84
- activate(source: foundry.canvas.sources.PointVisionSource.Any): void;
119
+ activate(source: PointVisionSource.Any): void;
85
120
 
86
121
  /**
87
122
  * Special handling which is needed when this Vision Mode is deactivated for a VisionSource.
88
123
  * @param source - Deactivate this VisionMode for a specific source
89
124
  */
90
- deactivate(source: foundry.canvas.sources.PointVisionSource.Any): void;
125
+ deactivate(source: PointVisionSource.Any): void;
91
126
 
92
127
  /**
93
128
  * An animation function which runs every frame while this Vision Mode is active.
94
129
  * @param dt - The deltaTime passed by the PIXI Ticker
130
+ * @remarks Calls `RenderedEffectSource#animateTime` with `this` set to this `VisionMode`
95
131
  */
96
132
  animate(dt: number): void;
97
133
  }
98
134
 
99
- namespace ShaderField {
100
- type Options = DataFieldOptions<typeof AbstractBaseShader>;
135
+ namespace VisionMode {
136
+ interface Any extends AnyVisionMode {}
137
+ type AnyConstructor = typeof AnyVisionMode;
101
138
 
102
- type DefaultOptions = SimpleMerge<
103
- foundry.data.fields.DataField.DefaultOptions,
104
- {
105
- nullable: true;
106
- initial: undefined;
107
- }
108
- >;
139
+ type ConfiguredModes = keyof RemoveIndexSignatures<CONFIG["Canvas"]["visionModes"]>;
109
140
 
110
- /**
111
- * A helper type for the given options type merged into the default options of the BooleanField class.
112
- * @typeParam Opts - the options that override the default options
113
- */
114
- type MergedOptions<Opts extends Options> = SimpleMerge<DefaultOptions, Opts>;
141
+ type LIGHTING_VISIBILITY = Brand<number, "VisionMode.LIGHTING_VISIBILITY">;
115
142
 
116
- /**
117
- * A shorthand for the assignment type of a BooleanField class.
118
- * @typeParam Opts - the options that override the default options
119
- */
120
- type AssignmentType<Opts extends Options> = foundry.data.fields.DataField.DerivedAssignmentType<
121
- typeof AbstractBaseShader,
122
- MergedOptions<Opts>
123
- >;
143
+ interface ExtraConstructorOptions {
144
+ animated?: boolean | undefined | null;
145
+ }
124
146
 
125
- /**
126
- * A shorthand for the initialized type of a BooleanField class.
127
- * @typeParam Opts - the options that override the default options
128
- */
129
- type InitializedType<Opts extends Options> = foundry.data.fields.DataField.DerivedInitializedType<
130
- typeof AbstractBaseShader,
131
- MergedOptions<Opts>
132
- >;
133
- }
147
+ interface LightingVisibility {
148
+ /** Disabled: this lighting layer is not rendered, the shaders does not decide. */
149
+ DISABLED: 0 & LIGHTING_VISIBILITY;
150
+ /** Enabled: this lighting layer is rendered normally, and the shaders can choose if they should be rendered or not. */
151
+ ENABLED: 1 & LIGHTING_VISIBILITY;
152
+ /** Required: the lighting layer is rendered, the shaders does not decide. */
153
+ REQUIRED: 2 & LIGHTING_VISIBILITY;
154
+ }
134
155
 
135
- namespace VisionMode {
136
156
  type ShaderSchema = fields.SchemaField<{
137
157
  shader: ShaderField;
138
158
  uniforms: fields.ObjectField;
139
159
  }>;
140
160
 
141
- type LightingSchema = fields.SchemaField<{
161
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
162
+ type LightingSchema = {
142
163
  visibility: fields.NumberField;
143
164
  postProcessingModes: fields.ArrayField<fields.StringField>;
144
165
  uniforms: fields.ObjectField;
145
- }>;
166
+ };
167
+
168
+ type LightingSchemaField = fields.SchemaField<LightingSchema>;
146
169
 
147
- type LightingLevels = Record<ValueOf<typeof CONST.LIGHTING_LEVELS>, ValueOf<typeof CONST.LIGHTING_LEVELS>>;
148
- type LightingMultipliers = Record<ValueOf<typeof VisionMode.LIGHTING_LEVELS>, number>;
170
+ type LightingLevels = Record<foundry.CONST.LIGHTING_LEVELS, foundry.CONST.LIGHTING_LEVELS>;
171
+ type LightingMultipliers = Record<foundry.CONST.LIGHTING_LEVELS, number>;
149
172
 
150
173
  interface Schema extends DataSchema {
151
174
  id: fields.StringField<{ blank: false }>;
@@ -156,9 +179,9 @@ declare global {
156
179
  uniforms: fields.ObjectField;
157
180
  }>;
158
181
  lighting: fields.SchemaField<{
159
- background: LightingSchema;
160
- coloration: LightingSchema;
161
- illumination: LightingSchema;
182
+ background: LightingSchemaField;
183
+ coloration: LightingSchemaField;
184
+ illumination: LightingSchemaField;
162
185
  levels: fields.ObjectField<
163
186
  {
164
187
  validate: (o: unknown) => boolean;
@@ -192,22 +215,22 @@ declare global {
192
215
  required: false;
193
216
  initial: undefined;
194
217
  nullable: false;
195
- min: number;
196
- max: number;
218
+ min: -1;
219
+ max: 1;
197
220
  }>;
198
221
  saturation: fields.NumberField<{
199
222
  required: false;
200
223
  initial: undefined;
201
224
  nullable: false;
202
- min: number;
203
- max: number;
225
+ min: -1;
226
+ max: 1;
204
227
  }>;
205
228
  contrast: fields.NumberField<{
206
229
  required: false;
207
230
  initial: undefined;
208
231
  nullable: false;
209
- min: number;
210
- max: number;
232
+ min: -1;
233
+ max: 1;
211
234
  }>;
212
235
  }>;
213
236
  preferred: fields.BooleanField<{ initial: false }>;
@@ -215,3 +238,7 @@ declare global {
215
238
  }
216
239
  }
217
240
  }
241
+
242
+ declare class AnyVisionMode extends VisionMode {
243
+ constructor(...args: never);
244
+ }
@@ -1,5 +1,4 @@
1
- import type { Brand } from "../../../../types/helperTypes.d.mts";
2
- import type { NullishProps } from "../../../../types/utils.d.mts";
1
+ import type { Brand, Identity, NullishProps } from "fvtt-types/utils";
3
2
 
4
3
  declare global {
5
4
  /**
@@ -16,6 +15,9 @@ declare global {
16
15
  * https://en.wikipedia.org/wiki/Weiler%E2%80%93Atherton_clipping_algorithm
17
16
  * https://www.geeksforgeeks.org/weiler-atherton-polygon-clipping-algorithm
18
17
  * https://h-educate.in/weiler-atherton-polygon-clipping-algorithm/
18
+ *
19
+ * @throws If `!Polygon.isPositive`
20
+ * @remarks In practice the only thing that uses the constructor is the class's static methods
19
21
  */
20
22
  class WeilerAthertonClipper {
21
23
  /**
@@ -38,14 +40,12 @@ declare global {
38
40
  * The supported clip types.
39
41
  * Values are equivalent to those in ClipperLib.ClipType.
40
42
  */
41
- static CLIP_TYPES: Readonly<Record<"INTERSECT" | "UNION", WeilerAthertonClipper.CLIP_TYPES>>;
43
+ static CLIP_TYPES: WeilerAthertonClipper.ClipTypes;
42
44
 
43
45
  /**
44
46
  * The supported intersection types.
45
47
  */
46
- static INTERSECTION_TYPES: Readonly<
47
- Record<"OUT_IN" | "IN_OUT" | "TANGENT", WeilerAthertonClipper.INTERSECTION_TYPES>
48
- >;
48
+ static INTERSECTION_TYPES: WeilerAthertonClipper.IntersectionTypes;
49
49
 
50
50
  polygon: PIXI.Polygon;
51
51
 
@@ -53,14 +53,8 @@ declare global {
53
53
 
54
54
  /**
55
55
  * Configuration settings
56
- * @param clipType - One of CLIP_TYPES (default: `WeilerAthertonClipper.CLIP_TYPES.INTERSECT`)
57
- * @param clipOpts - Object passed to the clippingObject methods toPolygon and pointsBetween
58
- * (default: `{}`)
59
56
  */
60
- config: {
61
- clipType: WeilerAthertonClipper.CLIP_TYPES;
62
- clipOpts: WeilerAthertonClipper.ClipOpts;
63
- };
57
+ config: WeilerAthertonClipper.Config;
64
58
 
65
59
  /**
66
60
  * Union a polygon and clipObject using the Weiler Atherton algorithm.
@@ -127,13 +121,47 @@ declare global {
127
121
  }
128
122
 
129
123
  namespace WeilerAthertonClipper {
130
- type AnyConstructor = typeof AnyWeilerAthertonClipper;
124
+ interface Any extends AnyWeilerAthertonClipper {}
125
+ interface AnyConstructor extends Identity<typeof AnyWeilerAthertonClipper> {}
131
126
 
132
127
  type CLIP_TYPES = Brand<number, "WeilerAthertonClipper.CLIP_TYPES">;
133
128
 
129
+ interface ClipTypes {
130
+ readonly INTERSECT: 0 & CLIP_TYPES;
131
+ readonly UNION: 1 & CLIP_TYPES;
132
+ }
133
+
134
134
  type INTERSECTION_TYPES = Brand<number, "WeilerAthertonClipper.INTERSECTION_TYPES">;
135
135
 
136
- /** @internal Helper type to simplify use of optionality- and nullish-permissiveness-modifying helpers */
136
+ interface IntersectionTypes {
137
+ readonly OUT_IN: -1 & INTERSECTION_TYPES;
138
+ readonly IN_OUT: 1 & INTERSECTION_TYPES;
139
+ readonly TANGENT: 0 & INTERSECTION_TYPES;
140
+ }
141
+
142
+ /** Configuration settings */
143
+ interface Config {
144
+ /**
145
+ * One of CLIP_TYPES
146
+ * @defaultValue `WeilerAthertonClipper.CLIP_TYPES.INTERSECT`
147
+ * @remarks Set to the value of the equivalent constructor parameter. Default provided by `??=` in the constructor body
148
+ */
149
+ clipType: WeilerAthertonClipper.CLIP_TYPES;
150
+
151
+ /**
152
+ * Object passed to the clippingObject methods `toPolygon` and `pointsBetween`
153
+ * @defaultValue `{}`
154
+ * @remarks Set to the value of the equivalent constructor parameter. Default provided by `??=` in the constructor body
155
+ */
156
+ clipOpts: WeilerAthertonClipper.ClipOpts;
157
+ }
158
+
159
+ /**
160
+ * @internal
161
+ * @privateRemarks does *not* contain:
162
+ * - a `scalingFactor` property, despite one being passed in `PIXI.Rectangle#intersectPolygon` in v12
163
+ * - a `density` property, despite one being passed in `PIXI.Circle#intersectPolygon` in v12
164
+ */
137
165
  type _CombineOptions = NullishProps<{
138
166
  /**
139
167
  * If the WeilerAtherton constructor could mutate or not the subject polygon points
@@ -158,5 +186,5 @@ declare global {
158
186
  }
159
187
 
160
188
  declare abstract class AnyWeilerAthertonClipper extends WeilerAthertonClipper {
161
- constructor(arg0: never, ...args: never[]);
189
+ constructor(...args: never);
162
190
  }