@league-of-foundry-developers/foundry-vtt-types 9.238.0 → 9.249.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/README.md +3 -3
  2. package/package.json +1 -1
  3. package/src/foundry/common/constants.mjs.d.ts +1 -0
  4. package/src/foundry/common/data/data.mjs/adventureData.d.ts +21 -21
  5. package/src/foundry/common/data/data.mjs/journalEntryData.d.ts +3 -3
  6. package/src/foundry/common/data/data.mjs/userData.d.ts +10 -3
  7. package/src/foundry/common/documents.mjs/baseCombatant.d.ts +2 -4
  8. package/src/foundry/common/utils/geometry.mjs.d.ts +148 -0
  9. package/src/foundry/common/utils/helpers.mjs.d.ts +37 -37
  10. package/src/foundry/common/utils/module.mjs.d.ts +1 -0
  11. package/src/foundry/common/utils/primitives.mjs.d.ts +7 -0
  12. package/src/foundry/foundry.js/application.d.ts +138 -110
  13. package/src/foundry/foundry.js/applications/basePlaceableHUD.d.ts +2 -2
  14. package/src/foundry/foundry.js/applications/basePlaceableHUDs/drawingHUD.d.ts +2 -2
  15. package/src/foundry/foundry.js/applications/basePlaceableHUDs/tileHUD.d.ts +2 -2
  16. package/src/foundry/foundry.js/applications/basePlaceableHUDs/tokenHUD.d.ts +3 -3
  17. package/src/foundry/foundry.js/applications/cameraViews.d.ts +2 -2
  18. package/src/foundry/foundry.js/applications/chatPopout.d.ts +3 -3
  19. package/src/foundry/foundry.js/applications/compendium.d.ts +2 -2
  20. package/src/foundry/foundry.js/applications/dialog.d.ts +1 -1
  21. package/src/foundry/foundry.js/applications/filePicker.d.ts +1 -1
  22. package/src/foundry/foundry.js/applications/formApplication.d.ts +45 -14
  23. package/src/foundry/foundry.js/applications/formApplications/avConfig.d.ts +1 -1
  24. package/src/foundry/foundry.js/applications/formApplications/combatTrackerConfig.d.ts +2 -2
  25. package/src/foundry/foundry.js/applications/formApplications/defaultTokenConfig.d.ts +1 -1
  26. package/src/foundry/foundry.js/applications/formApplications/documentSheet.d.ts +20 -31
  27. package/src/foundry/foundry.js/applications/formApplications/documentSheets/activeEffectConfig.d.ts +2 -2
  28. package/src/foundry/foundry.js/applications/formApplications/documentSheets/actorSheet.d.ts +1 -1
  29. package/src/foundry/foundry.js/applications/formApplications/documentSheets/ambientLightConfig.d.ts +4 -4
  30. package/src/foundry/foundry.js/applications/formApplications/documentSheets/ambientSoundConfig.d.ts +4 -4
  31. package/src/foundry/foundry.js/applications/formApplications/documentSheets/combatantConfig.d.ts +3 -3
  32. package/src/foundry/foundry.js/applications/formApplications/documentSheets/folderConfig.d.ts +2 -2
  33. package/src/foundry/foundry.js/applications/formApplications/documentSheets/itemSheet.d.ts +1 -1
  34. package/src/foundry/foundry.js/applications/formApplications/documentSheets/journalSheet.d.ts +1 -1
  35. package/src/foundry/foundry.js/applications/formApplications/documentSheets/macroConfig.d.ts +3 -3
  36. package/src/foundry/foundry.js/applications/formApplications/documentSheets/measuredTemplateConfig.d.ts +3 -3
  37. package/src/foundry/foundry.js/applications/formApplications/documentSheets/noteConfig.d.ts +3 -3
  38. package/src/foundry/foundry.js/applications/formApplications/documentSheets/permissionControl.d.ts +2 -2
  39. package/src/foundry/foundry.js/applications/formApplications/documentSheets/playlistConfig.d.ts +3 -3
  40. package/src/foundry/foundry.js/applications/formApplications/documentSheets/playlistSoundConfig.d.ts +3 -3
  41. package/src/foundry/foundry.js/applications/formApplications/documentSheets/rollTableConfig.d.ts +2 -2
  42. package/src/foundry/foundry.js/applications/formApplications/documentSheets/sceneConfig.d.ts +4 -4
  43. package/src/foundry/foundry.js/applications/formApplications/documentSheets/tileConfig.d.ts +2 -2
  44. package/src/foundry/foundry.js/applications/formApplications/documentSheets/userConfig.d.ts +7 -7
  45. package/src/foundry/foundry.js/applications/formApplications/drawingConfig.d.ts +1 -1
  46. package/src/foundry/foundry.js/applications/formApplications/entitySheetConfig.d.ts +3 -3
  47. package/src/foundry/foundry.js/applications/formApplications/gridConfig.d.ts +1 -1
  48. package/src/foundry/foundry.js/applications/formApplications/imagePopout.d.ts +1 -1
  49. package/src/foundry/foundry.js/applications/formApplications/keybindingsConfig.d.ts +2 -2
  50. package/src/foundry/foundry.js/applications/formApplications/moduleManagement.d.ts +2 -2
  51. package/src/foundry/foundry.js/applications/formApplications/permissionConfig.d.ts +2 -2
  52. package/src/foundry/foundry.js/applications/formApplications/settingsConfig.d.ts +1 -1
  53. package/src/foundry/foundry.js/applications/formApplications/tokenConfig.d.ts +3 -3
  54. package/src/foundry/foundry.js/applications/formApplications/wallConfig.d.ts +3 -3
  55. package/src/foundry/foundry.js/applications/formApplications/worldConfig.d.ts +1 -1
  56. package/src/foundry/foundry.js/applications/frameViewer.d.ts +1 -1
  57. package/src/foundry/foundry.js/applications/headsUpDisplay.d.ts +2 -2
  58. package/src/foundry/foundry.js/applications/hotbar.d.ts +2 -2
  59. package/src/foundry/foundry.js/applications/mainMenu.d.ts +2 -2
  60. package/src/foundry/foundry.js/applications/notifications.d.ts +7 -4
  61. package/src/foundry/foundry.js/applications/pause.d.ts +2 -2
  62. package/src/foundry/foundry.js/applications/playerList.d.ts +2 -2
  63. package/src/foundry/foundry.js/applications/sceneControls.d.ts +2 -2
  64. package/src/foundry/foundry.js/applications/sceneNavigation.d.ts +3 -3
  65. package/src/foundry/foundry.js/applications/sidebar.d.ts +2 -2
  66. package/src/foundry/foundry.js/applications/sidebarTab.d.ts +4 -7
  67. package/src/foundry/foundry.js/applications/sidebarTabs/chatLog.d.ts +3 -3
  68. package/src/foundry/foundry.js/applications/sidebarTabs/combatTracker.d.ts +26 -28
  69. package/src/foundry/foundry.js/applications/sidebarTabs/compendiumDirectory.d.ts +2 -2
  70. package/src/foundry/foundry.js/applications/sidebarTabs/settings.d.ts +2 -2
  71. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectory.d.ts +1 -1
  72. package/src/foundry/foundry.js/audioContainer.d.ts +28 -10
  73. package/src/foundry/foundry.js/canvas.d.ts +5 -0
  74. package/src/foundry/foundry.js/canvasAnimation.d.ts +30 -7
  75. package/src/foundry/foundry.js/clientDocumentMixin.d.ts +2 -1
  76. package/src/foundry/foundry.js/clientDocuments/card.d.ts +2 -1
  77. package/src/foundry/foundry.js/clientDocuments/cards.d.ts +4 -18
  78. package/src/foundry/foundry.js/clientDocuments/chatMessage.d.ts +2 -2
  79. package/src/foundry/foundry.js/clientDocuments/combat.d.ts +46 -44
  80. package/src/foundry/foundry.js/clientDocuments/combatant.d.ts +14 -17
  81. package/src/foundry/foundry.js/clientDocuments/folder.d.ts +15 -9
  82. package/src/foundry/foundry.js/clientDocuments/rollTable.d.ts +2 -2
  83. package/src/foundry/foundry.js/clientKeybindings.d.ts +12 -2
  84. package/src/foundry/foundry.js/clientSettings.d.ts +2 -2
  85. package/src/foundry/foundry.js/collections/documentCollection.d.ts +1 -1
  86. package/src/foundry/foundry.js/collections/documentCollections/worldCollections/folders.d.ts +1 -1
  87. package/src/foundry/foundry.js/collisionResult.d.ts +60 -0
  88. package/src/foundry/foundry.js/config.d.ts +38 -36
  89. package/src/foundry/foundry.js/dragDrop.d.ts +27 -34
  90. package/src/foundry/foundry.js/game.d.ts +89 -43
  91. package/src/foundry/foundry.js/hooks.d.ts +154 -85
  92. package/src/foundry/foundry.js/imageHelper.d.ts +26 -2
  93. package/src/foundry/foundry.js/keyboardManager.d.ts +2 -2
  94. package/src/foundry/foundry.js/pixi/containers/placeableObject.d.ts +2 -2
  95. package/src/foundry/foundry.js/pixi/containers/placeableObjects/token.d.ts +2 -2
  96. package/src/foundry/foundry.js/pixi/index.d.ts +3 -0
  97. package/src/foundry/foundry.js/pixi/meshes/index.d.ts +1 -0
  98. package/src/foundry/foundry.js/pixi/meshes/samplerMesh.d.ts +22 -0
  99. package/src/foundry/foundry.js/pixi/points/index.d.ts +1 -0
  100. package/src/foundry/foundry.js/pixi/points/wallEndpoint.d.ts +92 -0
  101. package/src/foundry/foundry.js/pixi/polygons/index.d.ts +2 -1
  102. package/src/foundry/foundry.js/pixi/polygons/pointSourcePolygon.d.ts +98 -0
  103. package/src/foundry/foundry.js/pixi/polygons/pointSourcePolygons/clockwiseSweepPolygon.d.ts +396 -0
  104. package/src/foundry/foundry.js/pixi/polygons/pointSourcePolygons/index.d.ts +1 -0
  105. package/src/foundry/foundry.js/pixi/rectangles/normalizedRectangle.d.ts +7 -0
  106. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShader.d.ts +11 -37
  107. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShader.d.ts +114 -0
  108. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveBackgroundShader.d.ts +57 -0
  109. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShader.d.ts +47 -0
  110. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShaders/bewitchingWaveColorationShader.d.ts +6 -0
  111. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShaders/chromaColorationShader.d.ts +6 -0
  112. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShaders/emanationColorationShader.d.ts +6 -0
  113. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShaders/energyFieldColorationShader.d.ts +6 -0
  114. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShaders/fairyLightColorationShader.d.ts +6 -0
  115. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShaders/fogColorationShader.d.ts +6 -0
  116. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardColorationShaders → adaptiveLightingShaders/adaptiveColorationShaders}/ghostLightColorationShader.d.ts +1 -1
  117. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShaders/hexaDomeColorationShader.d.ts +6 -0
  118. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardColorationShaders → adaptiveLightingShaders/adaptiveColorationShaders}/index.d.ts +5 -0
  119. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShaders/lightDomeColorationShader.d.ts +6 -0
  120. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardColorationShaders → adaptiveLightingShaders/adaptiveColorationShaders}/pulseColorationShader.d.ts +1 -1
  121. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShaders/radialRainbowColorationShader.d.ts +6 -0
  122. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardColorationShaders → adaptiveLightingShaders/adaptiveColorationShaders}/sunburstColorationShader.d.ts +1 -1
  123. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShaders/swirlingRainbowColorationShader.d.ts +6 -0
  124. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardColorationShaders → adaptiveLightingShaders/adaptiveColorationShaders}/torchColorationShader.d.ts +3 -2
  125. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveColorationShaders/vortexColorationShader.d.ts +6 -0
  126. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardColorationShaders → adaptiveLightingShaders/adaptiveColorationShaders}/waveColorationShader.d.ts +1 -1
  127. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveIlluminationShader.d.ts +63 -0
  128. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveIlluminationShaders/bewitchingWaveIlluminationShader.d.ts +6 -0
  129. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardIlluminationShaders → adaptiveLightingShaders/adaptiveIlluminationShaders}/blackHoleIlluminationShader.d.ts +1 -1
  130. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveIlluminationShaders/fairyLightIlluminationShader.d.ts +6 -0
  131. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardIlluminationShaders → adaptiveLightingShaders/adaptiveIlluminationShaders}/ghostLightIlluminationShader.d.ts +1 -1
  132. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardIlluminationShaders → adaptiveLightingShaders/adaptiveIlluminationShaders}/index.d.ts +3 -0
  133. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardIlluminationShaders → adaptiveLightingShaders/adaptiveIlluminationShaders}/pulseIlluminationShader.d.ts +1 -1
  134. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardIlluminationShaders → adaptiveLightingShaders/adaptiveIlluminationShaders}/roilingIlluminationShader.d.ts +1 -1
  135. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardIlluminationShaders → adaptiveLightingShaders/adaptiveIlluminationShaders}/sunburstIlluminationShader.d.ts +1 -2
  136. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardIlluminationShaders → adaptiveLightingShaders/adaptiveIlluminationShaders}/torchIlluminationShader.d.ts +1 -1
  137. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/adaptiveIlluminationShaders/vortexIlluminationShader.d.ts +6 -0
  138. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/{standardIlluminationShaders → adaptiveLightingShaders/adaptiveIlluminationShaders}/waveIlluminationShader.d.ts +1 -1
  139. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/adaptiveLightingShaders/index.d.ts +5 -0
  140. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/baseSamplerShader.d.ts +22 -0
  141. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/index.d.ts +3 -4
  142. package/src/foundry/foundry.js/pixi/texts/preciseText.d.ts +10 -2
  143. package/src/foundry/foundry.js/pixi/transforms/index.d.ts +1 -0
  144. package/src/foundry/foundry.js/pixi/transforms/synchronizedTransform.d.ts +38 -0
  145. package/src/foundry/foundry.js/pointSource.d.ts +59 -328
  146. package/src/foundry/foundry.js/pointSources/index.d.ts +3 -0
  147. package/src/foundry/foundry.js/pointSources/lightSource.d.ts +417 -0
  148. package/src/foundry/foundry.js/pointSources/soundSource.d.ts +46 -0
  149. package/src/foundry/foundry.js/pointSources/visionSource.d.ts +125 -0
  150. package/src/foundry/foundry.js/polygonEdge.d.ts +26 -0
  151. package/src/foundry/foundry.js/polygonVertex.d.ts +89 -0
  152. package/src/foundry/foundry.js/quadtree.d.ts +2 -2
  153. package/src/foundry/foundry.js/quadtreeCulling.d.ts +11 -0
  154. package/src/foundry/foundry.js/ray.d.ts +156 -162
  155. package/src/foundry/foundry.js/rays/index.d.ts +1 -0
  156. package/src/foundry/foundry.js/rays/sightRay.d.ts +34 -0
  157. package/src/foundry/foundry.js/roll.d.ts +40 -43
  158. package/src/foundry/foundry.js/screenCulling.d.ts +19 -0
  159. package/src/foundry/foundry.js/searchFilter.d.ts +37 -33
  160. package/src/foundry/foundry.js/specialEffect.d.ts +1 -1
  161. package/src/foundry/foundry.js/textureLoader.d.ts +28 -18
  162. package/src/foundry/foundry.js/textureUtils.d.ts +5 -8
  163. package/src/foundry/foundry.js/videoHelper.d.ts +2 -1
  164. package/src/foundry/index.d.ts +26 -27
  165. package/src/foundry/foundry.js/pixi/polygons/sourcePolygon.d.ts +0 -25
  166. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/standardColorationShader.d.ts +0 -21
  167. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/standardColorationShaders/chromaColorationShader.d.ts +0 -18
  168. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/standardColorationShaders/emanationColorationShader.d.ts +0 -17
  169. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/standardColorationShaders/energyFieldColorationShader.d.ts +0 -18
  170. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/standardColorationShaders/fogColorationShader.d.ts +0 -17
  171. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/standardColorationShaders/hexaDomeColorationShader.d.ts +0 -17
  172. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/standardColorationShaders/lightDomeColorationShader.d.ts +0 -17
  173. package/src/foundry/foundry.js/pixi/shaders/abstractBaseShaders/standardIlluminationShader.d.ts +0 -22
@@ -96,6 +96,47 @@ declare global {
96
96
  ...args: Parameters<H>
97
97
  ): ReturnType<H> | undefined;
98
98
 
99
+ /**
100
+ * Notify subscribers that an error has occurred within foundry.
101
+ * @param location - The method where the error was caught.
102
+ * @param err - The error.
103
+ * @param options - Additional options to configure behaviour.
104
+ */
105
+ static onError(
106
+ location: string,
107
+ err: Error,
108
+ {
109
+ msg,
110
+ notify,
111
+ log,
112
+ ...data
113
+ }?: {
114
+ /**
115
+ * Additional data to pass to the hook subscribers.
116
+ * @defaultValue `{}`
117
+ */
118
+ [key: string]: unknown;
119
+
120
+ /**
121
+ * A message to prefix the caught error with and/or to use in the notification.
122
+ * @defaultValue `""`
123
+ */
124
+ msg?: string | undefined;
125
+
126
+ /**
127
+ * The level at which to log the error to console (if at all).
128
+ * @defaultValue `null`
129
+ */
130
+ notify?: keyof NonNullable<typeof ui['notifications']> | null | undefined;
131
+
132
+ /**
133
+ * The level at which to spawn a notification in the UI (if at all).
134
+ * @defaultValue `null`
135
+ */
136
+ log?: keyof typeof console | null | undefined;
137
+ }
138
+ ): void;
139
+
99
140
  /**
100
141
  * @defaultValue `{}`
101
142
  */
@@ -130,21 +171,27 @@ declare global {
130
171
  *
131
172
  * @example Using a callback type with a static name
132
173
  * ```typescript
133
- * Hooks.on('updateWorldTime', (worldTime, dt) => {
174
+ * Hooks.on("updateWorldTime", (worldTime, dt) => {
175
+ * worldTime; // number
176
+ * dt; // number
134
177
  * // [...]
135
178
  * })
136
179
  * ```
137
180
  *
138
- * @example Using a callback with a dynamic name
181
+ * @example Using a callback with a dynamic name and generic parameter
139
182
  * ```typescript
140
- * Hooks.on<Hooks.GetCompendiumDirectoryEntryContext>('getJournalEntryContext', (jq, entryOptions) => {
183
+ * Hooks.on<Hooks.CloseApplication<FormApplication>>("closeFormApplication", (app, jq) => {
184
+ * app; // FormApplication
185
+ * jq; // JQuery
141
186
  * // [...]
142
187
  * })
143
188
  * ```
144
189
  *
145
- * @example Using a callback with a dynamic name and generic parameter
190
+ * @example Using the `error` callback type
146
191
  * ```typescript
147
- * Hooks.on<Hooks.CloseApplication<FormApplication>>('closeFormApplication', (app, jq) => {
192
+ * Hooks.on("error", (...args) => {
193
+ * if (args[0] === "Canvas#draw")
194
+ * args[2].layer // CanvasLayer
148
195
  * // [...]
149
196
  * })
150
197
  * ```
@@ -166,6 +213,7 @@ declare global {
166
213
  /**
167
214
  * A hook event that fires immediately prior to PIXI Application construction with the configuration parameters.
168
215
  * @param canvasConfig - Canvas configuration parameters that will be used
216
+ * @remarks This is called by {@link Hooks.callAll}.
169
217
  */
170
218
  canvasConfig: (canvasConfig: {
171
219
  view: HTMLCanvasElement;
@@ -177,7 +225,7 @@ declare global {
177
225
  backgroundColor: string | null;
178
226
  antialias: boolean;
179
227
  powerPreference: string;
180
- }) => unknown;
228
+ }) => void;
181
229
 
182
230
  /**
183
231
  * A hook event that fires when the Canvas is initialized.
@@ -185,7 +233,7 @@ declare global {
185
233
  * @remarks This is called by {@link Hooks.callAll}.
186
234
  * @see {@link Canvas#draw}
187
235
  */
188
- canvasInit: (canvas: Canvas) => unknown;
236
+ canvasInit: (canvas: Canvas) => void;
189
237
 
190
238
  /**
191
239
  * A hook event that fires when the Canvas is panned.
@@ -196,7 +244,7 @@ declare global {
196
244
  * @see {@link Canvas#pan}
197
245
  * @see {@link Canvas#animatePan}
198
246
  */
199
- canvasPan: (canvas: Canvas, view: Canvas.View) => unknown;
247
+ canvasPan: (canvas: Canvas, view: Canvas.View) => void;
200
248
 
201
249
  /**
202
250
  * A hook event that fires when the Canvas is ready.
@@ -212,7 +260,7 @@ declare global {
212
260
  * @remarks This is called by {@link Hooks.callAll}.
213
261
  * @see {@link Sidebar#_onChangeTab}
214
262
  */
215
- changeSidebarTab: (app: SidebarTab) => unknown;
263
+ changeSidebarTab: (app: SidebarTab) => void;
216
264
 
217
265
  /**
218
266
  * A hook event that fires when a chat bubble is rendered.
@@ -264,7 +312,7 @@ declare global {
264
312
  * @see {@link SceneNavigation#expand}
265
313
  * @see {@link SceneNavigation#collapse}
266
314
  */
267
- collapseSceneNavigation: (nav: SceneNavigation, collapsed: boolean) => unknown;
315
+ collapseSceneNavigation: (nav: SceneNavigation, collapsed: boolean) => void;
268
316
 
269
317
  /**
270
318
  * A hook event that fires when the Sidebar is collapsed or expanded.
@@ -274,7 +322,7 @@ declare global {
274
322
  * @see {@link Sidebar#expand}
275
323
  * @see {@link Sidebar#collapse}
276
324
  */
277
- collapseSidebar: (sidebar: Sidebar, collapsed: boolean) => unknown;
325
+ collapseSidebar: (sidebar: Sidebar, collapsed: boolean) => void;
278
326
 
279
327
  /**
280
328
  * A hook event that fires when Cards are dealt from a deck to other hands
@@ -333,13 +381,25 @@ declare global {
333
381
  data: object
334
382
  ) => boolean | void;
335
383
 
384
+ /**
385
+ * A hook event that fires whenever foundry experiences an error.
386
+ *
387
+ * @param location - The method where the error was caught.
388
+ * @param err - The error.
389
+ * @param data - Additional data that might be provided, based on the nature of the error.
390
+ * (default: `{}`)
391
+ * @remarks This is called by {@link Hooks.callAll}.
392
+ * @see {@link Hooks.onError}
393
+ */
394
+ error: (...args: ValueOf<ErrorCallbackParameters>) => void;
395
+
336
396
  /**
337
397
  * A hook event that fires when the Scene controls are initialized.
338
398
  * @param controls - The SceneControl configurations
339
399
  * @remarks This is called by {@link Hooks.callAll}.
340
400
  * @see {@link SceneControls#_getControlButtons}
341
401
  */
342
- getSceneControlButtons: (controls: SceneControl[]) => unknown;
402
+ getSceneControlButtons: (controls: SceneControl[]) => void;
343
403
 
344
404
  /**
345
405
  * A hook event that fires when the context menu for a SceneNavigation entry is constructed.
@@ -376,21 +436,27 @@ declare global {
376
436
  slot: number
377
437
  ) => boolean | void;
378
438
 
439
+ /**
440
+ * A hook event that fires once Localization translations have been loaded and are ready for use.
441
+ * @remarks This is called by {@link Hooks.callAll}.
442
+ * @see {@link Localization#initialize}
443
+ */
444
+ i18nInit: () => void;
445
+
379
446
  /**
380
447
  * A hook event that fires as Foundry is initializing, right before any initialization tasks have begun.
381
448
  * @remarks This is called by {@link Hooks.callAll}.
382
449
  * @see {@link Game#initialize}
383
450
  */
384
- init: () => unknown;
451
+ init: () => void;
385
452
 
386
453
  /**
387
- * A hook event that fires after PointSource shaders have initialized.
388
- * @param source - The PointSource
389
- * @param animationType - The animation type
454
+ * A hook event that fires after LightSource shaders have initialized.
455
+ * @param source - The LightSource being initialized
390
456
  * @remarks This is called by {@link Hooks.callAll}.
391
- * @see {@link PointSource#_initializeShaders}
457
+ * @see {@link LightSource#_initializeShaders}
392
458
  */
393
- initializePointSourceShaders: (source: PointSource, animationType: string | null) => unknown;
459
+ initializeLightSourceShaders: (source: LightSource) => void;
394
460
 
395
461
  /**
396
462
  * A hook event that fires when the LightingLayer is refreshed.
@@ -398,7 +464,7 @@ declare global {
398
464
  * @remarks This is called by {@link Hooks.callAll}.
399
465
  * @see {@link LightingLayer#refresh}
400
466
  */
401
- lightingRefresh: (layer: LightingLayer) => unknown;
467
+ lightingRefresh: (layer: LightingLayer) => void;
402
468
 
403
469
  /**
404
470
  * A hook event that fires when a token's resource bar attribute has been modified.
@@ -446,14 +512,14 @@ declare global {
446
512
  * @remarks This is called by {@link Hooks.callAll}.
447
513
  * @see {@link Game#togglePause}
448
514
  */
449
- pauseGame: (paused: boolean) => unknown;
515
+ pauseGame: (paused: boolean) => void;
450
516
 
451
517
  /**
452
518
  * A hook event that fires when the game is fully ready.
453
519
  * @remarks This is called by {@link Hooks.callAll}.
454
520
  * @see {@link Game#setupGame}
455
521
  */
456
- ready: () => unknown;
522
+ ready: () => void;
457
523
 
458
524
  /**
459
525
  * A hook event that fires for each ChatMessage which is rendered for addition to the ChatLog.
@@ -498,7 +564,7 @@ declare global {
498
564
  * @remarks This is called by {@link Hooks.callAll}.
499
565
  * @see {@link AVSettings#_onSettingsChanged}
500
566
  */
501
- rtcSettingsChanged: (settings: AVSettings, changed: DeepPartial<AVSettings.Settings>) => unknown;
567
+ rtcSettingsChanged: (settings: AVSettings, changed: DeepPartial<AVSettings.Settings>) => void;
502
568
 
503
569
  /**
504
570
  * A hook event that fires when Foundry has finished initializing but
@@ -507,7 +573,7 @@ declare global {
507
573
  * @remarks This is called by {@link Hooks.callAll}.
508
574
  * @see {@link Game#setupGame}
509
575
  */
510
- setup: () => unknown;
576
+ setup: () => void;
511
577
 
512
578
  /**
513
579
  * A hook event that fires when the SightLayer has been refreshed.
@@ -515,7 +581,7 @@ declare global {
515
581
  * @remarks This is called by {@link Hooks.callAll}.
516
582
  * @see {@link SightLayer#restrictVisibility}
517
583
  */
518
- sightRefresh: (layer: SightLayer) => unknown;
584
+ sightRefresh: (layer: SightLayer) => void;
519
585
 
520
586
  /**
521
587
  * A hook event that fires when a token is targeted or un-targeted.
@@ -529,7 +595,7 @@ declare global {
529
595
  user: InstanceType<ConfiguredDocumentClass<typeof User>>,
530
596
  token: ConfiguredObjectClassForName<'Token'>,
531
597
  targeted: boolean
532
- ) => unknown;
598
+ ) => void;
533
599
 
534
600
  /**
535
601
  * A hook event that fires whenever the contents of a Compendium pack were modified.
@@ -547,7 +613,7 @@ declare global {
547
613
  documents: foundry.abstract.Document<any, any>[],
548
614
  options: DocumentModificationOptions,
549
615
  userId: string
550
- ) => unknown;
616
+ ) => void;
551
617
 
552
618
  /**
553
619
  * A hook event that fires when the World time has been updated.
@@ -556,7 +622,7 @@ declare global {
556
622
  * @remarks This is called by {@link Hooks.callAll}.
557
623
  * @see {@link GameTime#onUpdateWorldTime}
558
624
  */
559
- updateWorldTime: (worldTime: number, delta: number) => unknown;
625
+ updateWorldTime: (worldTime: number, delta: number) => void;
560
626
  }
561
627
 
562
628
  /**
@@ -583,10 +649,7 @@ declare global {
583
649
  * @see {@link PlaceableObject#control}
584
650
  * @see {@link PlaceableObject#release}
585
651
  */
586
- type ControlPlaceableObject<P extends PlaceableObject = PlaceableObject> = (
587
- object: P,
588
- controlled: boolean
589
- ) => unknown;
652
+ type ControlPlaceableObject<P extends PlaceableObject = PlaceableObject> = (object: P, controlled: boolean) => void;
590
653
 
591
654
  /**
592
655
  * A hook event that fires for every embedded Document type after conclusion of a creation workflow.
@@ -606,7 +669,7 @@ declare global {
606
669
  document: InstanceType<ConfiguredDocumentClass<D>>,
607
670
  options: DocumentModificationOptions,
608
671
  userId: string
609
- ) => unknown;
672
+ ) => void;
610
673
 
611
674
  /**
612
675
  * A hook event that fires for every Document type after conclusion of an deletion workflow.
@@ -626,7 +689,7 @@ declare global {
626
689
  document: InstanceType<ConfiguredDocumentClass<D>>,
627
690
  options: DocumentModificationOptions,
628
691
  userId: string
629
- ) => unknown;
692
+ ) => void;
630
693
 
631
694
  /**
632
695
  * A hook event that fires whenever this Application is first rendered to add buttons to its header.
@@ -644,40 +707,15 @@ declare global {
644
707
  ) => boolean | void;
645
708
 
646
709
  /**
647
- * @remarks This is called after getting the {@link ContextMenu} options for a {@link ChatLog}, but before creating
648
- * the ContextMenu.
649
- * @param jq - the JQuery of the ContextMenu parent element
650
- * @param entryOptions - the already created ContextMenuOptions
651
- * @remarks The name for this hook is dynamically created by joining 'get' with the type name of the ChatLog and
652
- * 'EntryContext'.
653
- * @remarks This is called by {@link Hooks.call}.
654
- * @see {@link ChatLog#_contextMenu}
655
- */
656
- type GetChatLogEntryContext = (jq: JQuery, entryOptions: ContextMenuEntry[]) => boolean | void;
657
-
658
- /**
659
- * @remarks This is called after getting the {@link ContextMenu} options for a {@link CombatTracker} entry, but before
660
- * creating the ContextMenu.
661
- * @param jq - the JQuery of the ContextMenu parent element
662
- * @param entryOptions - the already created ContextMenuOptions
663
- * @remarks The name for this hook is dynamically created by joining 'get' with the type name of the CombatTracker and
664
- * 'EntryContext'.
665
- * @remarks This is called by {@link Hooks.call}.
666
- * @see {@link CombatTracker#_contextMenu}
667
- */
668
- type GetCombatTrackerEntryContext = (jq: JQuery, entryOptions: ContextMenuEntry[]) => boolean | void;
669
-
670
- /**
671
- * @remarks This is called after getting the {@link ContextMenu} options for a {@link CompendiumDirectory} entry, but
672
- * before creating the ContextMenu.
673
- * @param jq - the JQuery of the ContextMenu parent element
674
- * @param entryOptions - the already created ContextMenuOptions
675
- * @remarks The name for this hook is dynamically created by joining 'get' with the type name of the
676
- * CompendiumDirectory and 'EntryContext'.
710
+ * A hook event that fires when the context menu for entries in an Application is constructed. Substitute the
711
+ * Application name in the hook event to target a specific Application, for example
712
+ * "getActorDirectoryEntryContext".
713
+ * @param html - The HTML element to which the context options are attached
714
+ * @param entryOptions - The context menu entries
677
715
  * @remarks This is called by {@link Hooks.call}.
678
- * @see {@link CompendiumDirectory#_contextMenu}
716
+ * @see {@link ContextMenu.create}
679
717
  */
680
- type GetCompendiumDirectoryEntryContext = (jq: JQuery, entryOptions: ContextMenuEntry[]) => boolean | void;
718
+ type GetEntryContext = (html: JQuery, entryOptions: ContextMenuEntry[]) => boolean | void;
681
719
 
682
720
  /**
683
721
  * A hook event that fires when the context menu for a Sound in the PlaylistDirectory is constructed.
@@ -690,19 +728,6 @@ declare global {
690
728
  */
691
729
  type GetPlaylistDirectorySoundContext = (html: JQuery, entryOptions: ContextMenuEntry[]) => boolean | void;
692
730
 
693
- /**
694
- * A hook event that fires when the context menu for entries in a SidebarTab
695
- * is constructed. Substitute the SidebarTab name in the hook event to target
696
- * a specific SidebarTab, for example "getActorDirectoryEntryContext".
697
- * @param html - The HTML element to which the context options are attached
698
- * @param entryOptions - The context menu entries
699
- * @remarks The name for this hook is dynamically created by joining 'get' with the type name of the SidebarDirectory
700
- * and 'EntryContext'.
701
- * @remarks This is called by {@link Hooks.call}.
702
- * @see {@link SidebarDirectory#_contextMenu}
703
- */
704
- type GetSidebarDirectoryEntryContext = (html: JQuery, entryOptions: ContextMenuEntry[]) => boolean | void;
705
-
706
731
  /**
707
732
  * A hook event that fires when the context menu for folders in a SidebarTab
708
733
  * is constructed. Substitute the SidebarTab name in the hook event to target
@@ -725,7 +750,7 @@ declare global {
725
750
  * @remarks This is called by {@link Hooks.callAll}.
726
751
  * @see {@link AudioHelper#_onChangeGlobalVolume}
727
752
  */
728
- type GlobalVolumeChanged = (volume: number) => unknown;
753
+ type GlobalVolumeChanged = (volume: number) => void;
729
754
 
730
755
  /**
731
756
  * A hook event that fires when any PlaceableObject is hovered over or out.
@@ -739,7 +764,7 @@ declare global {
739
764
  * @see {@link PlaceableObject#_onHoverIn}
740
765
  * @see {@link PlaceableObject#_onHoverOut}
741
766
  */
742
- type HoverPlaceableObject<P extends PlaceableObject = PlaceableObject> = (object: P, hover: boolean) => unknown;
767
+ type HoverPlaceableObject<P extends PlaceableObject = PlaceableObject> = (object: P, hover: boolean) => void;
743
768
 
744
769
  /**
745
770
  * A hook event that fires when any PlaceableObject is pasted onto the
@@ -873,7 +898,7 @@ declare global {
873
898
  change: DeepPartial<ConstructorParameters<D>[0]>,
874
899
  options: DocumentModificationOptions,
875
900
  userId: string
876
- ) => unknown;
901
+ ) => void;
877
902
 
878
903
  type DynamicCallbacks =
879
904
  | CloseApplication
@@ -881,11 +906,8 @@ declare global {
881
906
  | CreateDocument
882
907
  | DeleteDocument
883
908
  | GetApplicationHeaderButtons
884
- | GetChatLogEntryContext
885
- | GetCombatTrackerEntryContext
886
- | GetCompendiumDirectoryEntryContext
909
+ | GetEntryContext
887
910
  | GetPlaylistDirectorySoundContext
888
- | GetSidebarDirectoryEntryContext
889
911
  | GetSidebarDirectoryFolderContext
890
912
  | HoverPlaceableObject
891
913
  | PastePlaceableObject
@@ -894,5 +916,52 @@ declare global {
894
916
  | PreUpdateDocument
895
917
  | RenderApplication
896
918
  | UpdateDocument;
919
+
920
+ interface ErrorCallbackParameters {
921
+ 'Canvas#draw': [location: 'Canvas#draw', err: Error, data: { layer: CanvasLayer }];
922
+ 'Application#render': [location: 'Application#render', err: Error, data: Application.RenderOptions];
923
+ 'Localization#_loadTranslationFile': [
924
+ location: 'Localization#_loadTranslationFile',
925
+ err: Error,
926
+ data: { src: string }
927
+ ];
928
+ 'ClientDatabaseBackend#_preCreateDocumentArray': [
929
+ location: 'ClientDatabaseBackend#_preCreateDocumentArray',
930
+ err: Error,
931
+ data: { id: string }
932
+ ];
933
+ 'ClientDatabaseBackend#_preUpdateDocumentArray': [
934
+ location: 'ClientDatabaseBackend#_preUpdateDocumentArray',
935
+ err: Error,
936
+ data: { id: string }
937
+ ];
938
+ 'WorldCollection#_initialize': [location: 'WorldCollection#_initialize', err: Error, data: { id: string }];
939
+ 'ClientDocumentMixin#_initialize': [
940
+ location: 'ClientDocumentMixin#_initialize',
941
+ err: Error,
942
+ data: { id: string }
943
+ ];
944
+ 'Actor#getTokenImages': [location: 'Actor#getTokenImages', err: Error, data: Record<string, never>];
945
+ 'Macro#executeChat': [location: 'Macro#executeChat', err: Error, data: { command: string }];
946
+ 'ChatMessage#roll': [location: 'ChatMessage#roll', err: Error, data: { command: string }];
947
+ 'DefaultTokenConfig#_updateObject': [
948
+ location: 'DefaultTokenConfig#_updateObject',
949
+ err: Error,
950
+ data: Record<string, never>
951
+ ];
952
+ 'SceneConfig#_updateObject': [location: 'SceneConfig#_updateObject', err: Error, data: { scene: string }];
953
+ 'SidebarDirectory.setupFolders': [
954
+ location: 'SidebarDirectory.setupFolders',
955
+ err: Error,
956
+ data: Record<string, never>
957
+ ];
958
+ 'Sidebar#_render': [location: 'Sidebar#_render', err: Error, data: { name: string }];
959
+ 'Game#initializeCanvas': [location: 'Game#initializeCanvas', err: Error, data: Record<string, never>];
960
+ 'EmbeddedCollection#_initialize': [
961
+ location: 'EmbeddedCollection#_initialize',
962
+ err: Error,
963
+ data: { id: string; documentName: string }
964
+ ];
965
+ }
897
966
  }
898
967
  }
@@ -12,7 +12,7 @@ declare class ImageHelper {
12
12
  */
13
13
  static createThumbnail(
14
14
  src: string | PIXI.DisplayObject,
15
- options?: ImageHelper.CompositeOptions
15
+ options?: ImageHelper.CompositeOptions & ImageHelper.TextureToImageOptions
16
16
  ): Promise<ImageHelper.ThumbnailReturn>;
17
17
 
18
18
  /* -------------------------------------------- */
@@ -31,9 +31,19 @@ declare class ImageHelper {
31
31
  /**
32
32
  * Extract a texture to a base64 PNG string
33
33
  * @param texture - The Texture object to extract
34
+ * @param options - (default: `{}`)
34
35
  * @returns A base64 png string of the texture
35
36
  */
36
- static textureToImage(texture: PIXI.Texture): string;
37
+ static textureToImage(texture: PIXI.Texture, { format, quality }?: ImageHelper.TextureToImageOptions): string;
38
+
39
+ /**
40
+ * Asynchronously convert a DisplayObject container to base64 using Canvas#toBlob and FileReader
41
+ * @param target - A PIXI display object to convert
42
+ * @param type - The requested mime type of the output, default is image/png
43
+ * @param quality - A number between 0 and 1 for image quality if image/jpeg or image/webp
44
+ * @returns A processed base64 string
45
+ */
46
+ static pixiToBase64(target: PIXI.DisplayObject, type: string, quality: number): Promise<string>;
37
47
  }
38
48
 
39
49
  declare namespace ImageHelper {
@@ -73,6 +83,20 @@ declare namespace ImageHelper {
73
83
  width?: number;
74
84
  }
75
85
 
86
+ interface TextureToImageOptions {
87
+ /**
88
+ * Image format, e.g. "image/jpeg" or "image/webp".
89
+ * @defaultValue `"image/png"`
90
+ */
91
+ format?: string;
92
+
93
+ /**
94
+ * JPEG or WEBP compression from 0 to 1. Default is 0.92.
95
+ * @defaultValue `0.92`
96
+ */
97
+ quality?: number;
98
+ }
99
+
76
100
  /**
77
101
  * An interface for return values of the {@link ImageHelper.createThumbnail} method.
78
102
  */
@@ -67,7 +67,7 @@ declare class KeyboardManager {
67
67
  };
68
68
 
69
69
  /**
70
- * Test whether an input currently has focus
70
+ * Test whether a Form Element currently has focus
71
71
  */
72
72
  get hasFocus(): boolean;
73
73
 
@@ -93,7 +93,7 @@ declare class KeyboardManager {
93
93
  shiftKey,
94
94
  repeat
95
95
  }?: { altKey?: boolean; ctrlKey?: boolean; shiftKey?: boolean; repeat?: boolean }
96
- ): void;
96
+ ): KeyboardEventContext;
97
97
 
98
98
  /**
99
99
  * Format a KeyboardEvent#code into a displayed string.
@@ -445,13 +445,13 @@ interface Vision {
445
445
  * @remarks
446
446
  * This is required but has been set to optional because of PointSource
447
447
  */
448
- fov?: PIXI.Polygon | null;
448
+ fov?: PIXI.Circle | undefined;
449
449
 
450
450
  /**
451
451
  * @remarks
452
452
  * This is required but has been set to optional because of PointSource
453
453
  */
454
- los?: PIXI.Polygon | null;
454
+ los?: PointSourcePolygon | undefined;
455
455
  }
456
456
 
457
457
  interface RotationOptions {
@@ -32,12 +32,12 @@ declare global {
32
32
  /**
33
33
  * A reference to the PointSource object which defines this vision source area of effect
34
34
  */
35
- vision: PointSource;
35
+ vision: VisionSource;
36
36
 
37
37
  /**
38
38
  * A reference to the PointSource object which defines this light source area of effect
39
39
  */
40
- light: PointSource;
40
+ light: LightSource;
41
41
 
42
42
  /** @override */
43
43
  static get embeddedName(): 'Token';
@@ -2,7 +2,10 @@ import './blendModes';
2
2
  import './containers';
3
3
  import './filters';
4
4
  import './graphics';
5
+ import './meshes';
6
+ import './points';
5
7
  import './polygons';
6
8
  import './rectangles';
7
9
  import './shaders';
8
10
  import './texts';
11
+ import './transforms';
@@ -0,0 +1 @@
1
+ import './samplerMesh';
@@ -0,0 +1,22 @@
1
+ /**
2
+ * A Mesh subclass used to render a texture with faster performance than a PIXI.Sprite.
3
+ */
4
+ declare class SamplerMesh extends PIXI.Mesh {
5
+ /**
6
+ * The basic quad geometry used for the Mesh
7
+ * @defaultValue
8
+ * ```javascript
9
+ * new PIXI.Geometry()
10
+ * .addAttribute('aVertexPosition', [0, 0, 1, 0, 1, 1, 0, 1], 2)
11
+ * .addAttribute('aUvs', [0, 0, 1, 0, 1, 1, 0, 1], 2)
12
+ * .addIndex([0, 1, 2, 0, 2, 3])
13
+ * ```
14
+ */
15
+ static QUAD: PIXI.Geometry;
16
+
17
+ /**
18
+ * Create a SamplerMesh using a provided RenderTexture
19
+ * @param texture - The texture to render using a Mesh
20
+ */
21
+ static create(texture: PIXI.RenderTexture): SamplerMesh;
22
+ }
@@ -0,0 +1 @@
1
+ import './wallEndpoint';