@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,60 +1,50 @@
1
1
  import type { ConfiguredObjectClassOrDefault } from "../../config.d.mts";
2
-
3
- // TODO: Remove when the whole class is updated
4
- type LightSource = unknown;
2
+ import type {
3
+ FixedInstanceType,
4
+ HandleEmptyObject,
5
+ IntentionalPartial,
6
+ NullishProps,
7
+ RequiredProps,
8
+ } from "fvtt-types/utils";
9
+ import PointDarknessSource = foundry.canvas.sources.PointDarknessSource;
10
+ import PointLightSource = foundry.canvas.sources.PointLightSource;
5
11
 
6
12
  declare global {
7
- namespace AmbientLight {
8
- type ConfiguredClass = ConfiguredObjectClassOrDefault<typeof AmbientLight>;
9
- type ConfiguredInstance = InstanceType<ConfiguredClass>;
10
-
11
- interface RenderFlags extends PlaceableObject.RenderFlags {
12
- refreshField: boolean;
13
-
14
- refreshPosition: boolean;
15
- }
16
- }
17
-
18
13
  /**
19
14
  * An AmbientLight is an implementation of PlaceableObject which represents a dynamic light source within the Scene.
20
- * @see {@link AmbientLightDocument}
21
- * @see {@link LightingLayer}
15
+ * @see {@link AmbientLightDocument | `AmbientLightDocument`}
16
+ * @see {@link LightingLayer | `LightingLayer`}
22
17
  */
23
- class AmbientLight extends PlaceableObject<AmbientLightDocument.ConfiguredInstance> {
24
- constructor(document: AmbientLightDocument.ConfiguredInstance);
25
-
18
+ class AmbientLight extends PlaceableObject<AmbientLightDocument.Implementation> {
26
19
  /**
27
- * A reference to the PointSource object which defines this light source area of effect
20
+ * The area that is affected by this light.
21
+ * @defaultValue `undefined`
22
+ * @remarks Only `undefined` prior to first draw.
28
23
  */
29
- source: LightSource;
24
+ field: PIXI.Graphics | undefined;
30
25
 
31
26
  /**
32
- * A reference to the ControlIcon used to configure this light
33
- * @defaultValue `undefined`
27
+ * A reference to the PointSource object which defines this light or darkness area of effect.
28
+ * This is undefined if the AmbientLight does not provide an active source of light.
29
+ * @remarks This is not initialized to a value, but {@link AmbientLight._onCreate | `AmbientLight#_onCreate`}
30
+ * calls {@link AmbientLight.initializeLightSource | `AmbientLight#initializeLightSource`}, so it could be set immediately.
31
+ *
32
+ * Set `undefined` in {@link AmbientLight._destroy | `AmbientLight#_destroy`}.
34
33
  */
35
- controlIcon: ControlIcon | undefined;
34
+ lightSource: PointLightSource.ConfiguredInstance | PointDarknessSource.ConfiguredInstance | undefined;
36
35
 
37
36
  static override embeddedName: "AmbientLight";
38
37
 
39
- static override RENDER_FLAGS: {
40
- /** @defaultValue `{ propagate: ["refresh"] }` */
41
- redraw: RenderFlag<Partial<AmbientLight.RenderFlags>>;
42
-
43
- /** @defaultValue `{ propagate: ["refreshField"], alias: true }` */
44
- refresh: RenderFlag<Partial<AmbientLight.RenderFlags>>;
38
+ static override RENDER_FLAGS: AmbientLight.RENDER_FLAGS;
45
39
 
46
- /** @defaultValue `{ propagate: ["refreshPosition", "refreshState"] }` */
47
- refreshField: RenderFlag<Partial<AmbientLight.RenderFlags>>;
48
-
49
- /** @defaultValue `{}` */
50
- refreshPosition: RenderFlag<Partial<AmbientLight.RenderFlags>>;
51
-
52
- /** @defaultValue `{}` */
53
- refreshState: RenderFlag<Partial<AmbientLight.RenderFlags>>;
54
- };
40
+ // Note: This isn't a "real" override but `renderFlags` is set corresponding to the
41
+ // `RENDER_FLAGS` and so it has to be adjusted here.
42
+ renderFlags: RenderFlags<AmbientLight.RENDER_FLAGS>;
55
43
 
56
44
  override get bounds(): PIXI.Rectangle;
57
45
 
46
+ override get sourceId(): string;
47
+
58
48
  /**
59
49
  * A convenience accessor to the LightData configuration object
60
50
  */
@@ -82,59 +72,204 @@ declare global {
82
72
 
83
73
  /**
84
74
  * Is this Ambient Light currently visible? By default, true only if the source actively emits light.
85
- * @remarks Backwards-compatible wrapper for this.emitsLight
86
75
  */
87
76
  get isVisible(): boolean;
88
77
 
89
78
  /**
90
- * Does this Ambient Light actively emit light given its properties and the current darkness level of the Scene?
79
+ * Check if the point source is a LightSource instance
80
+ * @remarks Checks via `instanceof` against the configured class, not simply PointLightSource
81
+ */
82
+ get isLightSource(): boolean;
83
+
84
+ /**
85
+ * Check if the point source is a DarknessSource instance
86
+ * @remarks Checks via `instanceof` against the configured class, not simply PointDarknessSource
87
+ */
88
+ get isDarknessSource(): boolean;
89
+
90
+ /**
91
+ * Is the source of this Ambient Light disabled?
92
+ */
93
+ protected _isLightSourceDisabled(): boolean;
94
+
95
+ /**
96
+ * Does this Ambient Light actively emit darkness light given its properties and the current darkness level of the Scene?
97
+ */
98
+ get emitsDarkness(): boolean;
99
+
100
+ /**
101
+ * Does this Ambient Light actively emit positive light given its properties and the current darkness level of the Scene?
91
102
  */
92
103
  get emitsLight(): boolean;
93
104
 
94
- protected override _destroy(options?: PIXI.IDestroyOptions | boolean): void;
105
+ protected override _destroy(options: PIXI.IDestroyOptions | boolean | undefined): void;
106
+
107
+ protected override _draw(options: HandleEmptyObject<AmbientLight.DrawOptions>): Promise<void>;
95
108
 
96
- protected override _draw(options?: Record<string, unknown>): Promise<void>;
109
+ // fake override; super has to account for misbehaving siblings returning void
110
+ override clear(): this;
97
111
 
98
112
  protected override _applyRenderFlags(flags: AmbientLight.RenderFlags): void;
99
113
 
114
+ /**
115
+ * Refresh the shape of the light field-of-effect. This is refreshed when the AmbientLight fov polygon changes.
116
+ */
117
+ protected _refreshField(): void;
118
+
119
+ /**
120
+ * Refresh the position of the AmbientLight. Called with the coordinates change.
121
+ */
122
+ protected _refreshPosition(): void;
123
+
124
+ /**
125
+ * Refresh the elevation of the control icon.
126
+ */
127
+ protected _refreshElevation(): void;
128
+
129
+ /**
130
+ * Refresh the state of the light. Called when the disabled state or darkness conditions change.
131
+ */
132
+ protected _refreshState(): void;
133
+
100
134
  /**
101
135
  * Refresh the display of the ControlIcon for this AmbientLight source
102
136
  */
103
137
  refreshControl(): void;
104
138
 
105
139
  /**
106
- * Update the source object associated with this light
140
+ * Update the LightSource associated with this AmbientLight object.
107
141
  * @param options - Options which modify how the source is updated
108
142
  */
109
- updateSource(options?: {
110
- /**
111
- * Defer updating perception to manually update it later
112
- * @defaultValue `false`
113
- */
114
- defer?: boolean;
115
-
116
- /**
117
- * Indicate that this light source has been deleted
118
- * @defaultValue `false`
119
- */
120
- deleted?: boolean;
121
- }): void;
143
+ initializeLightSource(options?: AmbientLight.InitializeLightSourceOptions): void;
122
144
 
123
145
  /**
124
- * @privateRemarks _onCreate, _onUpdate, and _onDelete are all overridden but with no signature changes.
125
- * For type simplicity they are left off. These methods historically have been the source of a large amount of computation from tsc.
146
+ * Get the light source data.
126
147
  */
148
+ protected _getLightSourceData(): AmbientLight.LightSourceData;
127
149
 
128
- protected override _canHUD(user: User.ConfiguredInstance, event?: any): boolean;
150
+ // _onCreate, _onUpdate, and _onDelete are all overridden but with no signature changes.
151
+ // For type simplicity they are left off. These methods historically have been the source of a large amount of computation from tsc.
129
152
 
130
- protected override _canConfigure(user: User.ConfiguredInstance, event?: any): boolean;
153
+ protected override _canHUD(user: User.Implementation, event: PIXI.FederatedEvent): boolean;
131
154
 
132
- protected override _onClickRight(event: PIXI.FederatedEvent): Promise<this>;
155
+ protected override _canConfigure(user: User.Implementation, event: PIXI.FederatedEvent): boolean;
133
156
 
134
- protected override _onDragLeftStart(event: PIXI.FederatedEvent): void;
157
+ protected override _canDragLeftStart(user: User.Implementation, event: DragEvent): boolean;
158
+
159
+ // fake override to narrow the type from super, which had to account for this class's misbehaving siblings
160
+ // options: not null (destructured)
161
+ protected override _onHoverIn(event: PIXI.FederatedEvent, options?: PlaceableObject.HoverInOptions): void;
162
+
163
+ protected override _onClickRight(event: PIXI.FederatedEvent): void;
135
164
 
136
165
  protected override _onDragLeftMove(event: PIXI.FederatedEvent): void;
137
166
 
138
- protected override _onDragLeftCancel(event: PIXI.FederatedEvent): void;
167
+ protected override _onDragEnd(): void;
168
+
169
+ // fake override to narrow the type from super, which had to account for this class's misbehaving siblings
170
+ protected override _prepareDragLeftDropUpdates(event: PIXI.FederatedEvent): PlaceableObject.DragLeftDropUpdate[];
171
+
172
+ /**
173
+ * @deprecated since v12, until v14
174
+ * @remarks "`AmbientLight#updateSource` has been deprecated in favor of {@link AmbientLight.initializeLightSource | `AmbientLight#initializeLightSource`}"
175
+ */
176
+ // options: not null (destructured)
177
+ updateSource(options?: AmbientLight.InitializeLightSourceOptions): void;
178
+
179
+ /**
180
+ * @deprecated since v12, until v14
181
+ * @remarks "`AmbientLight#source` has been deprecated in favor of {@link AmbientLight.lightSource | `AmbientLight#lightSource`}"
182
+ */
183
+ get source(): this["lightSource"];
184
+ }
185
+
186
+ namespace AmbientLight {
187
+ // eslint-disable-next-line no-restricted-syntax
188
+ interface ObjectClass extends ConfiguredObjectClassOrDefault<typeof AmbientLight> {}
189
+ interface Object extends FixedInstanceType<ObjectClass> {}
190
+
191
+ /**
192
+ * @deprecated {@link AmbientLight.ObjectClass | `AmbientLight.ObjectClass`}
193
+ */
194
+ type ConfiguredClass = ObjectClass;
195
+
196
+ /**
197
+ * @deprecated {@link AmbientLight.Object | `AmbientLight.Object`}
198
+ */
199
+ type ConfiguredInstance = Object;
200
+
201
+ /**
202
+ * This type will permanently exist but is marked deprecated. The reason it exists is because
203
+ * the confusion between `AmbientLight` (the `PlaceableObject` that appears on the canvas) and
204
+ * `AmbientLightDocument` (the `Document` that represents the data for a `AmbientLight`) is so common that
205
+ * it is useful to have a type to forward to `AmbientLightDocument`.
206
+ *
207
+ * @deprecated {@link AmbientLightDocument.Implementation | `AmbientLightDocument.Implementation`}
208
+ */
209
+ type Implementation = AmbientLightDocument.Implementation;
210
+
211
+ /**
212
+ * This type will permanently exist but is marked deprecated. The reason it exists is because
213
+ * the confusion between `AmbientLight` (the `PlaceableObject` that appears on the canvas) and
214
+ * `AmbientLightDocument` (the `Document` that represents the data for a `AmbientLight`) is so common that
215
+ * it is useful to have a type to forward to `AmbientLightDocument`.
216
+ *
217
+ * @deprecated {@link AmbientLightDocument.ImplementationClass | `AmbientLightDocument.ImplementationClass`}
218
+ */
219
+ type ImplementationClass = AmbientLightDocument.ImplementationClass;
220
+
221
+ interface RENDER_FLAGS extends PlaceableObject.RENDER_FLAGS {
222
+ /** @defaultValue `{ propagate: ["refresh"] }` */
223
+ redraw: RenderFlag<this, "redraw">;
224
+
225
+ /** @defaultValue `{ propagate: ["refreshState", "refreshField", "refreshElevation"], alias: true }` */
226
+ refresh: RenderFlag<this, "refresh">;
227
+
228
+ /** @defaultValue `{ propagate: ["refreshPosition"] }` */
229
+ refreshField: RenderFlag<this, "refreshField">;
230
+
231
+ /** @defaultValue `{}` */
232
+ refreshPosition: RenderFlag<this, "refreshPosition">;
233
+
234
+ /** @defaultValue `{}` */
235
+ refreshState: RenderFlag<this, "refreshState">;
236
+
237
+ /** @defaultValue `{}` */
238
+ refreshElevation: RenderFlag<this, "refreshElevation">;
239
+ }
240
+
241
+ interface RenderFlags extends RenderFlagsMixin.ToBooleanFlags<RENDER_FLAGS> {}
242
+
243
+ interface DrawOptions extends PlaceableObject.DrawOptions {}
244
+
245
+ interface RefreshOptions extends PlaceableObject.RefreshOptions {}
246
+
247
+ interface ControlOptions extends PlaceableObject.ControlOptions {}
248
+
249
+ interface ReleaseOptions extends PlaceableObject.ReleaseOptions {}
250
+
251
+ /**
252
+ * @internal */
253
+ type _InitializeLightSourceOptions = NullishProps<{
254
+ /**
255
+ * Indicate that this SoundSource has been deleted.
256
+ * @defaultValue `false`
257
+ */
258
+ deleted: boolean;
259
+ }>;
260
+
261
+ interface InitializeLightSourceOptions extends _InitializeLightSourceOptions {}
262
+
263
+ /**
264
+ * @remarks {@link AmbientLight._getLightSourceData | `AmbientLight#_getLightSourceData`} calls `mergeObject` on the return of
265
+ * {@link foundry.data.LightData.toObject | `LightData#toObject(false)`} and the enumerated properties below and
266
+ * returns the result. This gets passed to {@link foundry.canvas.sources.PointLightSource.initialize | `AmbientLight#lightSource#initialize()`},
267
+ * so this is a `RequiredProps<IntentionalPartial<>>` rather than a `Pick<>`
268
+ */
269
+ type LightSourceData = foundry.data.fields.SchemaField.InitializedData<foundry.data.LightData.Schema> &
270
+ RequiredProps<
271
+ IntentionalPartial<PointLightSource.SourceData>,
272
+ "x" | "y" | "elevation" | "rotation" | "walls" | "vision" | "dim" | "bright" | "seed" | "disabled" | "preview"
273
+ >;
139
274
  }
140
275
  }
@@ -1,69 +1,44 @@
1
1
  import type { ConfiguredObjectClassOrDefault } from "../../config.d.mts";
2
+ import type { FixedInstanceType, HandleEmptyObject } from "fvtt-types/utils";
2
3
 
3
4
  declare global {
4
- namespace Note {
5
- type ConfiguredClass = ConfiguredObjectClassOrDefault<typeof Note>;
6
- type ConfiguredInstance = InstanceType<ConfiguredClass>;
7
-
8
- interface RenderFlags extends PlaceableObject.RenderFlags {
9
- refreshPosition: boolean;
10
-
11
- refreshVisibility: boolean;
12
-
13
- refreshText: boolean;
14
- }
15
- }
16
-
17
5
  /**
18
6
  * A Note is an implementation of PlaceableObject which represents an annotated location within the Scene.
19
7
  * Each Note links to a JournalEntry document and represents its location on the map.
20
- * @see {@link NoteDocument}
21
- * @see {@link NotesLayer}
8
+ * @see {@link NoteDocument | `NoteDocument`}
9
+ * @see {@link NotesLayer | `NotesLayer`}
22
10
  */
23
- class Note extends PlaceableObject<NoteDocument.ConfiguredInstance> {
11
+ class Note extends PlaceableObject<NoteDocument.Implementation> {
24
12
  static override embeddedName: "Note";
25
13
 
26
- static override RENDER_FLAGS: {
27
- /** @defaultValue `{ propagate: ["refresh"] }` */
28
- redraw: RenderFlag<Partial<Note.RenderFlags>>;
14
+ static override RENDER_FLAGS: Note.RENDER_FLAGS;
29
15
 
30
- /** @defaultValue `{ propagate: ["refreshState", "refreshPosition", "refreshText"], alias: true }` */
31
- refresh: RenderFlag<Partial<Note.RenderFlags>>;
16
+ // Note: This isn't a "real" override but `renderFlags` is set corresponding to the
17
+ // `RENDER_FLAGS` and so it has to be adjusted here.
18
+ renderFlags: RenderFlags<Note.RENDER_FLAGS>;
32
19
 
33
- /** @defaultValue `{ propagate: ["refreshVisibility"] }` */
34
- refreshPosition: RenderFlag<Partial<Note.RenderFlags>>;
35
-
36
- /** @defaultValue `{ propagate: ["refreshVisibility"] }` */
37
- refreshState: RenderFlag<Partial<Note.RenderFlags>>;
20
+ // `controlIcon` is actually defined in the class body here (unlike in super or any of its siblings),
21
+ // but not initialized to a value. Since it's still set `null` at construction, and the Foundry
22
+ // comment here provides no additional info, it's been omitted as there's no change from PlaceableObject
38
23
 
39
- /** @defaultValue `{}` */
40
- refreshVisibility: RenderFlag<Partial<Note.RenderFlags>>;
41
-
42
- /** @defaultValue `{}` */
43
- refreshText: RenderFlag<Partial<Note.RenderFlags>>;
44
- };
24
+ /**
25
+ * The tooltip.
26
+ * @defaultValue `undefined`
27
+ * @remarks Only `undefined` prior to first draw
28
+ */
29
+ tooltip: PreciseText | undefined;
45
30
 
46
31
  override get bounds(): PIXI.Rectangle;
47
32
 
48
33
  /**
49
34
  * The associated JournalEntry which is described by this note
50
35
  */
51
- get entry(): JournalEntry.ConfiguredInstance;
36
+ get entry(): JournalEntry.Stored | undefined;
52
37
 
53
38
  /**
54
39
  * The specific JournalEntryPage within the associated JournalEntry referenced by this Note.
55
40
  */
56
- get page(): JournalEntryPage;
57
-
58
- /**
59
- * The text label used to annotate this Note
60
- */
61
- get text(): string;
62
-
63
- /**
64
- * The Map Note icon size
65
- */
66
- get size(): number;
41
+ get page(): JournalEntryPage.Stored | undefined;
67
42
 
68
43
  /**
69
44
  * Determine whether the Note is visible to the current user based on their perspective of the Scene.
@@ -72,25 +47,31 @@ declare global {
72
47
  */
73
48
  get isVisible(): boolean;
74
49
 
75
- protected override _draw(options?: Record<string, unknown>): Promise<void>;
50
+ protected override _draw(options: HandleEmptyObject<Note.DrawOptions>): Promise<void>;
76
51
 
77
52
  /**
78
- * Draw the ControlIcon for the Map Note.
79
- * This method replaces any prior controlIcon with the new one.
53
+ * Draw the control icon.
80
54
  */
81
55
  protected _drawControlIcon(): ControlIcon;
82
56
 
83
57
  /**
84
- * Draw the map note Tooltip as a Text object.
85
- * This method replaces any prior text with the new one.
58
+ * Draw the tooltip.
86
59
  */
87
60
  protected _drawTooltip(): PIXI.Text;
88
61
 
62
+ /**
63
+ * Refresh the tooltip.
64
+ */
65
+ protected _refreshTooltip(): void;
66
+
89
67
  /**
90
68
  * Define a PIXI TextStyle object which is used for the tooltip displayed for this Note
91
69
  */
92
70
  protected _getTextStyle(): PIXI.TextStyle;
93
71
 
72
+ // fake override; super has to account for misbehaving siblings returning void
73
+ override clear(): this;
74
+
94
75
  protected override _applyRenderFlags(flags: Note.RenderFlags): void;
95
76
 
96
77
  /**
@@ -99,16 +80,126 @@ declare global {
99
80
  protected _refreshVisibility(): void;
100
81
 
101
82
  /**
102
- * @privateRemarks _onUpdate is overridden but with no signature changes.
103
- * For type simplicity it is left off. These methods historically have been the source of a large amount of computation from tsc.
83
+ * Refresh the state of the Note. Called the Note enters a different interaction state.
104
84
  */
85
+ protected _refreshState(): void;
105
86
 
106
- protected override _canHover(user: User.ConfiguredInstance): true;
87
+ /**
88
+ * Refresh the position of the Note. Called with the coordinates change.
89
+ */
90
+ protected _refreshPosition(): void;
107
91
 
108
- protected override _canView(user: User.ConfiguredInstance): boolean;
92
+ /**
93
+ * Refresh the elevation of the control icon.
94
+ */
95
+ protected _refreshElevation(): void;
96
+
97
+ // `_onUpdate` is overridden but with no signature changes.
98
+ // For type simplicity it is left off. These methods historically have been the source of a large amount of computation from tsc.
99
+
100
+ /** @remarks Unconditionally returns `true` */
101
+ protected override _canHover(user: User.Implementation): boolean;
102
+
103
+ protected override _canView(user: User.Implementation): boolean;
109
104
 
110
- protected override _onHoverIn(event: PIXI.FederatedEvent, options?: PlaceableObject.HoverInOptions): false | void;
105
+ protected override _canConfigure(user: User.Implementation): boolean;
106
+
107
+ // fake override to narrow the type from super, which had to account for this class's misbehaving siblings
108
+ // options: not null (destructured)
109
+ protected override _onHoverIn(event: PIXI.FederatedEvent, options?: PlaceableObject.HoverInOptions): void;
111
110
 
112
111
  protected override _onClickLeft2(event: PIXI.FederatedEvent): void;
112
+
113
+ // fake override to narrow the type from super, which had to account for this class's misbehaving siblings
114
+ protected override _prepareDragLeftDropUpdates(event: PIXI.FederatedEvent): PlaceableObject.DragLeftDropUpdate[];
115
+
116
+ /**
117
+ * The text label used to annotate this Note
118
+ * @deprecated since v12, until v14
119
+ * @remarks "`Note#text` has been deprecated. Use {@link NoteDocument.label | `Note#document#label`} instead."
120
+ */
121
+ get text(): string;
122
+
123
+ /**
124
+ * The Map Note icon size
125
+ * @deprecated since v12, until v14
126
+ * @remarks "`Note#size` has been deprecated. Use {@link NoteDocument.iconSize | `Note#document#iconSize`} instead."
127
+ */
128
+ get size(): number;
129
+ }
130
+
131
+ namespace Note {
132
+ // eslint-disable-next-line no-restricted-syntax
133
+ interface ObjectClass extends ConfiguredObjectClassOrDefault<typeof Note> {}
134
+ interface Object extends FixedInstanceType<ObjectClass> {}
135
+
136
+ /**
137
+ * @deprecated {@link Note.ObjectClass | `Note.ObjectClass`}
138
+ */
139
+ type ConfiguredClass = ObjectClass;
140
+
141
+ /**
142
+ * @deprecated {@link Note.Object | `Note.Object`}
143
+ */
144
+ type ConfiguredInstance = Object;
145
+
146
+ /**
147
+ * This type will permanently exist but is marked deprecated. The reason it exists is because
148
+ * the confusion between `Note` (the `PlaceableObject` that appears on the canvas) and
149
+ * `NoteDocument` (the `Document` that represents the data for a `Note`) is so common that
150
+ * it is useful to have a type to forward to `NoteDocument`.
151
+ *
152
+ * @deprecated {@link NoteDocument.Implementation | `NoteDocument.Implementation`}
153
+ */
154
+ type Implementation = NoteDocument.Implementation;
155
+
156
+ /**
157
+ * This type will permanently exist but is marked deprecated. The reason it exists is because
158
+ * the confusion between `Note` (the `PlaceableObject` that appears on the canvas) and
159
+ * `NoteDocument` (the `Document` that represents the data for a `Note`) is so common that
160
+ * it is useful to have a type to forward to `NoteDocument`.
161
+ *
162
+ * @deprecated {@link NoteDocument.ImplementationClass | `NoteDocument.ImplementationClass`}
163
+ */
164
+ type ImplementationClass = NoteDocument.ImplementationClass;
165
+
166
+ interface RENDER_FLAGS extends PlaceableObject.RENDER_FLAGS {
167
+ /** @defaultValue `{ propagate: ["refresh"] }` */
168
+ redraw: RenderFlag<this, "redraw">;
169
+
170
+ /** @defaultValue `{ propagate: ["refreshState", "refreshPosition", "refreshTooltip", "refreshElevation"], alias: true }` */
171
+ refresh: RenderFlag<this, "refresh">;
172
+
173
+ /** @defaultValue `{ propagate: ["refreshVisibility"] }` */
174
+ refreshState: RenderFlag<this, "refreshState">;
175
+
176
+ /** @defaultValue `{}` */
177
+ refreshVisibility: RenderFlag<this, "refreshVisibility">;
178
+
179
+ /** @defaultValue `{}` */
180
+ refreshPosition: RenderFlag<this, "refreshPosition">;
181
+
182
+ /** @defaultValue `{}` */
183
+ refreshTooltip: RenderFlag<this, "refreshTooltip">;
184
+
185
+ /** @defaultValue `{ propagate: ["refreshVisibility"] }` */
186
+ refreshElevation: RenderFlag<this, "refreshElevation">;
187
+
188
+ /**
189
+ * @defaultValue `{ propagate: ["refreshTooltip"], deprecated: { since: 12, until: 14 }, alias: true }`
190
+ * @deprecated since v12, until v14
191
+ */
192
+ refreshText: RenderFlag<this, "refreshText">;
193
+ }
194
+
195
+ interface RenderFlags extends RenderFlagsMixin.ToBooleanFlags<RENDER_FLAGS> {}
196
+
197
+ interface DrawOptions extends PlaceableObject.DrawOptions {}
198
+
199
+ interface RefreshOptions extends PlaceableObject.RefreshOptions {}
200
+
201
+ interface ControlOptions extends PlaceableObject.ControlOptions {}
202
+
203
+ interface ReleaseOptions extends PlaceableObject.ReleaseOptions {}
113
204
  }
114
205
  }
@@ -1,16 +1,25 @@
1
- import type { Mixin } from "../../../../../types/utils.d.mts";
1
+ import type { FixedInstanceType, Mixin } from "fvtt-types/utils";
2
2
  import type Document from "../../../../common/abstract/document.d.mts";
3
3
 
4
4
  declare class PrimaryCanvasObject {
5
5
  /** @privateRemarks All mixin classses should accept anything for its constructor. */
6
6
  constructor(...args: any[]);
7
7
 
8
+ /**
9
+ * @defaultValue `true`
10
+ * @privateRemarks Actually an override of the property on `PIXI.DisplayObject`
11
+ */
12
+ cullable: boolean;
13
+
8
14
  /**
9
15
  * An optional reference to the object that owns this PCO.
10
16
  * This property does not affect the behavior of the PCO itself.
11
17
  * @defaultValue `null`
18
+ * @privateRemarks Foundry types as `*`, but in practice, it will only ever be a `Drawing` (via `PrimaryGraphics`),
19
+ * or a `Token`, `Tile`, or the `PrimaryCanvasGroup` (via `PrimarySpriteMesh`), or its default value `null`
12
20
  */
13
- object: PlaceableObject | null;
21
+ // TODO: (esheyw) Revisit the "any canvas group" type when groups are done
22
+ object: PlaceableObject.Any | CanvasGroupMixin.AnyMixed | null;
14
23
 
15
24
  /**
16
25
  * The elevation of this object.
@@ -44,6 +53,7 @@ declare class PrimaryCanvasObject {
44
53
  /**
45
54
  * Event fired when this display object is added to a parent.
46
55
  * @param parent - The new parent container.
56
+ * @throws If `parent` is not `=== canvas.primary`
47
57
  */
48
58
  protected _onAdded(parent: PIXI.Container): void;
49
59
 
@@ -53,9 +63,11 @@ declare class PrimaryCanvasObject {
53
63
  */
54
64
  protected _onRemoved(parent: PIXI.Container): void;
55
65
 
66
+ /** @see {@link CanvasTransformMixinClass.updateCanvasTransform | `CanvasTransformMixinClass#updateCanvasTransform`} */
56
67
  updateCanvasTransform(): void;
57
68
 
58
- _onCanvasBoundsUpdate(): void;
69
+ /** @see {@link CanvasTransformMixinClass._onCanvasBoundsUpdate | `CanvasTransformMixinClass#_onCanvasBoundsUpdate`} */
70
+ protected _onCanvasBoundsUpdate(): void;
59
71
 
60
72
  /**
61
73
  * Does this object render to the depth buffer?
@@ -65,7 +77,7 @@ declare class PrimaryCanvasObject {
65
77
  /**
66
78
  * Does this object render to the depth buffer?
67
79
  */
68
- _shouldRenderDepth(): boolean;
80
+ protected _shouldRenderDepth(): boolean;
69
81
 
70
82
  /**
71
83
  * Render the depth of this object.
@@ -102,6 +114,7 @@ declare class CanvasTransformMixinClass {
102
114
 
103
115
  /**
104
116
  * The update ID of canvas transform matrix.
117
+ * @privateRemarks Foundry marked `@internal`, technically accessed externally via `this.parent._convasTranformID` in `updateCanvasTransform`
105
118
  */
106
119
  protected _canvasTransformID: number;
107
120
 
@@ -153,25 +166,34 @@ declare global {
153
166
  * A mixin which decorates a DisplayObject with additional properties expected for rendering in the PrimaryCanvasGroup.
154
167
  * @param DisplayObject - The parent DisplayObject class being mixed
155
168
  * @returns A DisplayObject subclass mixed with PrimaryCanvasObject features
169
+ * @privateRemarks Despite naming the argument "DisplayObject", it's typed as only taking `PIXI.Container`s, which matches core's usage
156
170
  */
157
- function PrimaryCanvasObjectMixin<BaseClass extends PIXI.DisplayObject.AnyConstructor>(
171
+ function PrimaryCanvasObjectMixin<BaseClass extends PrimaryCanvasObjectMixin.BaseClass>(
158
172
  DisplayObject: BaseClass,
159
173
  ): Mixin<typeof PrimaryCanvasObject, ReturnType<typeof CanvasTransformMixin<BaseClass>>>;
160
174
 
161
175
  namespace PrimaryCanvasObjectMixin {
162
- type MixinClass = typeof PrimaryCanvasObject;
176
+ interface AnyMixedConstructor
177
+ extends ReturnType<typeof PrimaryCanvasObjectMixin<PrimaryCanvasObjectMixin.BaseClass>> {}
178
+ interface AnyMixed extends FixedInstanceType<AnyMixedConstructor> {}
179
+
180
+ type BaseClass = PIXI.Container.AnyConstructor;
163
181
  }
164
182
 
165
183
  /**
166
184
  * A mixin which decorates a DisplayObject with additional properties for canvas transforms and bounds.
167
185
  * @param DisplayObject - The parent DisplayObject class being mixed
168
186
  * @returns A DisplayObject subclass mixed with CanvasTransformMixin features
187
+ * @privateRemarks Despite naming the argument "DisplayObject", it's typed as only taking `PIXI.Container`s, which matches core's usage
169
188
  */
170
- function CanvasTransformMixin<BaseClass extends PIXI.DisplayObject.AnyConstructor>(
189
+ function CanvasTransformMixin<BaseClass extends CanvasTransformMixin.BaseClass>(
171
190
  DisplayObject: BaseClass,
172
191
  ): Mixin<typeof CanvasTransformMixinClass, BaseClass>;
173
192
 
174
193
  namespace CanvasTransformMixin {
175
- type MixinClass = typeof CanvasTransformMixinClass;
194
+ interface AnyMixedConstructor extends ReturnType<typeof CanvasTransformMixin<CanvasTransformMixin.BaseClass>> {}
195
+ interface AnyMixed extends FixedInstanceType<AnyMixedConstructor> {}
196
+
197
+ type BaseClass = PIXI.Container.AnyConstructor;
176
198
  }
177
199
  }