@league-of-foundry-developers/foundry-vtt-types 0.8.9-6 → 9.238.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 (211) hide show
  1. package/README.md +44 -27
  2. package/index-lenient.d.ts +10 -0
  3. package/index.d.ts +2 -2
  4. package/package.json +43 -15
  5. package/src/foundry/common/abstract/backend.mjs.d.ts +14 -15
  6. package/src/foundry/common/abstract/document.mjs.d.ts +30 -12
  7. package/src/foundry/common/config.mjs/index.d.ts +1 -0
  8. package/src/foundry/common/config.mjs/releaseData.d.ts +98 -0
  9. package/src/foundry/common/constants.mjs.d.ts +402 -213
  10. package/src/foundry/common/data/data.mjs/activeEffectData.d.ts +36 -29
  11. package/src/foundry/common/data/data.mjs/actorData.d.ts +32 -21
  12. package/src/foundry/common/data/data.mjs/adventureData.d.ts +165 -0
  13. package/src/foundry/common/data/data.mjs/ambientLightData.d.ts +45 -124
  14. package/src/foundry/common/data/data.mjs/ambientSoundData.d.ts +49 -77
  15. package/src/foundry/common/data/data.mjs/animationData.d.ts +17 -9
  16. package/src/foundry/common/data/data.mjs/cardData.d.ts +265 -0
  17. package/src/foundry/common/data/data.mjs/cardFaceData.d.ts +66 -0
  18. package/src/foundry/common/data/data.mjs/cardsData.d.ts +238 -0
  19. package/src/foundry/common/data/data.mjs/chatMessageData.d.ts +51 -39
  20. package/src/foundry/common/data/data.mjs/chatSpeakerData.d.ts +18 -11
  21. package/src/foundry/common/data/data.mjs/combatData.d.ts +51 -25
  22. package/src/foundry/common/data/data.mjs/combatantData.d.ts +48 -30
  23. package/src/foundry/common/data/data.mjs/darknessActivation.d.ts +8 -7
  24. package/src/foundry/common/data/data.mjs/drawingData.d.ts +72 -66
  25. package/src/foundry/common/data/data.mjs/effectChangeData.d.ts +21 -25
  26. package/src/foundry/common/data/data.mjs/effectDurationData.d.ts +24 -23
  27. package/src/foundry/common/data/data.mjs/fogExplorationData.d.ts +23 -16
  28. package/src/foundry/common/data/data.mjs/folderData.d.ts +28 -25
  29. package/src/foundry/common/data/data.mjs/index.d.ts +5 -0
  30. package/src/foundry/common/data/data.mjs/itemData.d.ts +26 -18
  31. package/src/foundry/common/data/data.mjs/journalEntryData.d.ts +21 -20
  32. package/src/foundry/common/data/data.mjs/lightData.d.ts +228 -0
  33. package/src/foundry/common/data/data.mjs/macroData.d.ts +52 -35
  34. package/src/foundry/common/data/data.mjs/measuredTemplateData.d.ts +41 -38
  35. package/src/foundry/common/data/data.mjs/noteData.d.ts +47 -37
  36. package/src/foundry/common/data/data.mjs/playlistData.d.ts +55 -26
  37. package/src/foundry/common/data/data.mjs/playlistSoundData.d.ts +32 -16
  38. package/src/foundry/common/data/data.mjs/prototypeTokenData.d.ts +7 -11
  39. package/src/foundry/common/data/data.mjs/rollTableData.d.ts +30 -24
  40. package/src/foundry/common/data/data.mjs/sceneData.d.ts +132 -111
  41. package/src/foundry/common/data/data.mjs/settingData.d.ts +11 -8
  42. package/src/foundry/common/data/data.mjs/tableResultData.d.ts +30 -26
  43. package/src/foundry/common/data/data.mjs/tileData.d.ts +43 -36
  44. package/src/foundry/common/data/data.mjs/tileOcclusion.d.ts +10 -9
  45. package/src/foundry/common/data/data.mjs/tokenBarData.d.ts +6 -3
  46. package/src/foundry/common/data/data.mjs/tokenData.d.ts +105 -157
  47. package/src/foundry/common/data/data.mjs/userData.d.ts +111 -33
  48. package/src/foundry/common/data/data.mjs/videoData.d.ts +9 -8
  49. package/src/foundry/common/data/data.mjs/wallData.d.ts +67 -39
  50. package/src/foundry/common/data/fields.mjs.d.ts +180 -83
  51. package/src/foundry/common/documents.mjs/baseActiveEffect.d.ts +9 -3
  52. package/src/foundry/common/documents.mjs/baseActor.d.ts +17 -45
  53. package/src/foundry/common/documents.mjs/baseAdventure.d.ts +38 -0
  54. package/src/foundry/common/documents.mjs/baseAmbientLight.d.ts +3 -0
  55. package/src/foundry/common/documents.mjs/baseAmbientSound.d.ts +3 -1
  56. package/src/foundry/common/documents.mjs/baseCard.d.ts +62 -0
  57. package/src/foundry/common/documents.mjs/baseCards.d.ts +39 -0
  58. package/src/foundry/common/documents.mjs/baseChatMessage.d.ts +3 -0
  59. package/src/foundry/common/documents.mjs/baseCombat.d.ts +5 -2
  60. package/src/foundry/common/documents.mjs/baseCombatant.d.ts +10 -1
  61. package/src/foundry/common/documents.mjs/baseDrawing.d.ts +11 -1
  62. package/src/foundry/common/documents.mjs/baseFogExploration.d.ts +4 -3
  63. package/src/foundry/common/documents.mjs/baseFolder.d.ts +10 -1
  64. package/src/foundry/common/documents.mjs/baseItem.d.ts +11 -29
  65. package/src/foundry/common/documents.mjs/baseJournalEntry.d.ts +3 -0
  66. package/src/foundry/common/documents.mjs/baseMacro.d.ts +16 -14
  67. package/src/foundry/common/documents.mjs/baseMeasuredTemplate.d.ts +4 -1
  68. package/src/foundry/common/documents.mjs/baseNote.d.ts +2 -2
  69. package/src/foundry/common/documents.mjs/basePlaylist.d.ts +1 -0
  70. package/src/foundry/common/documents.mjs/basePlaylistSound.d.ts +2 -1
  71. package/src/foundry/common/documents.mjs/baseRollTable.d.ts +3 -0
  72. package/src/foundry/common/documents.mjs/baseScene.d.ts +1 -0
  73. package/src/foundry/common/documents.mjs/baseSetting.d.ts +1 -0
  74. package/src/foundry/common/documents.mjs/baseTableResult.d.ts +10 -3
  75. package/src/foundry/common/documents.mjs/baseTile.d.ts +1 -0
  76. package/src/foundry/common/documents.mjs/baseToken.d.ts +3 -0
  77. package/src/foundry/common/documents.mjs/baseUser.d.ts +7 -1
  78. package/src/foundry/common/documents.mjs/baseWall.d.ts +7 -10
  79. package/src/foundry/common/documents.mjs/index.d.ts +3 -0
  80. package/src/foundry/common/module.mjs.d.ts +3 -0
  81. package/src/foundry/common/packages.mjs/moduleData.d.ts +12 -9
  82. package/src/foundry/common/packages.mjs/packageAuthorData.d.ts +24 -24
  83. package/src/foundry/common/packages.mjs/packageCompendiumData.d.ts +27 -21
  84. package/src/foundry/common/packages.mjs/packageData.d.ts +108 -82
  85. package/src/foundry/common/packages.mjs/packageDependencyData.d.ts +18 -11
  86. package/src/foundry/common/packages.mjs/packageLanguageData.d.ts +16 -15
  87. package/src/foundry/common/packages.mjs/systemData.d.ts +21 -20
  88. package/src/foundry/common/packages.mjs/tagPackageAvailability.d.ts +3 -3
  89. package/src/foundry/common/packages.mjs/worldData.d.ts +29 -18
  90. package/src/foundry/common/types.mjs.d.ts +100 -0
  91. package/src/foundry/common/utils/helpers.mjs.d.ts +27 -2
  92. package/src/foundry/common/utils/primitives.mjs.d.ts +99 -16
  93. package/src/foundry/foundry.js/application.d.ts +4 -7
  94. package/src/foundry/foundry.js/applications/cameraViews.d.ts +36 -31
  95. package/src/foundry/foundry.js/applications/compendium.d.ts +5 -2
  96. package/src/foundry/foundry.js/applications/filePicker.d.ts +116 -116
  97. package/src/foundry/foundry.js/applications/formApplication.d.ts +2 -2
  98. package/src/foundry/foundry.js/applications/formApplications/combatTrackerConfig.d.ts +20 -27
  99. package/src/foundry/foundry.js/applications/formApplications/defaultTokenConfig.d.ts +66 -0
  100. package/src/foundry/foundry.js/applications/formApplications/documentSheet.d.ts +1 -1
  101. package/src/foundry/foundry.js/applications/formApplications/documentSheets/activeEffectConfig.d.ts +2 -2
  102. package/src/foundry/foundry.js/applications/formApplications/documentSheets/actorSheet.d.ts +6 -3
  103. package/src/foundry/foundry.js/applications/formApplications/documentSheets/ambientLightConfig.d.ts +104 -0
  104. package/src/foundry/foundry.js/applications/formApplications/documentSheets/ambientSoundConfig.d.ts +1 -1
  105. package/src/foundry/foundry.js/applications/formApplications/{folderConfig.d.ts → documentSheets/folderConfig.d.ts} +3 -3
  106. package/src/foundry/foundry.js/applications/formApplications/documentSheets/index.d.ts +4 -0
  107. package/src/foundry/foundry.js/applications/formApplications/documentSheets/lightConfig.d.ts +5 -79
  108. package/src/foundry/foundry.js/applications/formApplications/documentSheets/measuredTemplateConfig.d.ts +60 -0
  109. package/src/foundry/foundry.js/applications/formApplications/documentSheets/noteConfig.d.ts +72 -0
  110. package/src/foundry/foundry.js/applications/formApplications/documentSheets/permissionControl.d.ts +5 -5
  111. package/src/foundry/foundry.js/applications/formApplications/documentSheets/playlistConfig.d.ts +1 -1
  112. package/src/foundry/foundry.js/applications/formApplications/documentSheets/rollTableConfig.d.ts +187 -148
  113. package/src/foundry/foundry.js/applications/formApplications/documentSheets/sceneConfig.d.ts +133 -110
  114. package/src/foundry/foundry.js/applications/formApplications/documentSheets/tileConfig.d.ts +1 -1
  115. package/src/foundry/foundry.js/applications/formApplications/drawingConfig.d.ts +93 -95
  116. package/src/foundry/foundry.js/applications/formApplications/entitySheetConfig.d.ts +163 -147
  117. package/src/foundry/foundry.js/applications/formApplications/gridConfig.d.ts +1 -1
  118. package/src/foundry/foundry.js/applications/formApplications/imagePopout.d.ts +1 -1
  119. package/src/foundry/foundry.js/applications/formApplications/index.d.ts +2 -3
  120. package/src/foundry/foundry.js/applications/formApplications/keybindingsConfig.d.ts +257 -0
  121. package/src/foundry/foundry.js/applications/formApplications/moduleManagement.d.ts +41 -23
  122. package/src/foundry/foundry.js/applications/formApplications/settingsConfig.d.ts +95 -86
  123. package/src/foundry/foundry.js/applications/formApplications/tokenConfig.d.ts +142 -155
  124. package/src/foundry/foundry.js/applications/formApplications/wallConfig.d.ts +60 -70
  125. package/src/foundry/foundry.js/applications/formApplications/worldConfig.d.ts +25 -17
  126. package/src/foundry/foundry.js/applications/hotbar.d.ts +5 -4
  127. package/src/foundry/foundry.js/applications/sceneControls.d.ts +13 -3
  128. package/src/foundry/foundry.js/applications/sceneNavigation.d.ts +90 -71
  129. package/src/foundry/foundry.js/applications/sidebarTab.d.ts +1 -1
  130. package/src/foundry/foundry.js/applications/sidebarTabs/chatLog.d.ts +7 -6
  131. package/src/foundry/foundry.js/applications/sidebarTabs/compendiumDirectory.d.ts +2 -2
  132. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/actorDirectory.d.ts +13 -56
  133. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/cardsDirectory.d.ts +7 -0
  134. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/index.d.ts +1 -0
  135. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/itemDirectory.d.ts +7 -30
  136. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/journalDirectory.d.ts +14 -34
  137. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/macroDirectory.d.ts +6 -52
  138. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/playlistDirectory.d.ts +2 -2
  139. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/sceneDirectory.d.ts +6 -23
  140. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectory.d.ts +4 -6
  141. package/src/foundry/foundry.js/avSettings.d.ts +7 -7
  142. package/src/foundry/foundry.js/cameraPopoutAppWrapper.d.ts +12 -7
  143. package/src/foundry/foundry.js/canvas.d.ts +150 -47
  144. package/src/foundry/foundry.js/canvasAnimation.d.ts +1 -1
  145. package/src/foundry/foundry.js/canvasDocumentMixin.d.ts +7 -0
  146. package/src/foundry/foundry.js/clientDatabaseBackend.d.ts +210 -0
  147. package/src/foundry/foundry.js/clientDocumentMixin.d.ts +45 -91
  148. package/src/foundry/foundry.js/clientDocuments/activeEffect.d.ts +3 -2
  149. package/src/foundry/foundry.js/clientDocuments/actor.d.ts +3 -7
  150. package/src/foundry/foundry.js/clientDocuments/canvasDocuments/ambientSoundDocument.d.ts +1 -6
  151. package/src/foundry/foundry.js/clientDocuments/canvasDocuments/tokenDocument.d.ts +1 -1
  152. package/src/foundry/foundry.js/clientDocuments/card.d.ts +133 -0
  153. package/src/foundry/foundry.js/clientDocuments/cards.d.ts +384 -0
  154. package/src/foundry/foundry.js/clientDocuments/chatMessage.d.ts +11 -10
  155. package/src/foundry/foundry.js/clientDocuments/combat.d.ts +4 -8
  156. package/src/foundry/foundry.js/clientDocuments/combatant.d.ts +1 -1
  157. package/src/foundry/foundry.js/clientDocuments/folder.d.ts +4 -6
  158. package/src/foundry/foundry.js/clientDocuments/index.d.ts +3 -0
  159. package/src/foundry/foundry.js/clientDocuments/item.d.ts +3 -4
  160. package/src/foundry/foundry.js/clientDocuments/playlist.d.ts +4 -3
  161. package/src/foundry/foundry.js/clientDocuments/prototypeToken.d.ts +15 -0
  162. package/src/foundry/foundry.js/clientDocuments/rollTable.d.ts +1 -1
  163. package/src/foundry/foundry.js/clientDocuments/scene.d.ts +30 -23
  164. package/src/foundry/foundry.js/clientKeybindings.d.ts +299 -0
  165. package/src/foundry/foundry.js/clientSettings.d.ts +21 -6
  166. package/src/foundry/foundry.js/collections/documentCollections/compendiumCollection.d.ts +45 -12
  167. package/src/foundry/foundry.js/collections/documentCollections/worldCollections/cardStacks.d.ts +9 -0
  168. package/src/foundry/foundry.js/collections/documentCollections/worldCollections/index.d.ts +1 -0
  169. package/src/foundry/foundry.js/collections/documentCollections/worldCollections/playlists.d.ts +3 -2
  170. package/src/foundry/foundry.js/config.d.ts +494 -902
  171. package/src/foundry/foundry.js/dragDrop.d.ts +17 -14
  172. package/src/foundry/foundry.js/game.d.ts +86 -11
  173. package/src/foundry/foundry.js/gamepadManager.d.ts +41 -0
  174. package/src/foundry/foundry.js/globalVariables.d.ts +7 -4
  175. package/src/foundry/foundry.js/handlebarsHelpers.d.ts +4 -4
  176. package/src/foundry/foundry.js/hooks.d.ts +57 -0
  177. package/src/foundry/foundry.js/keyboardManager.d.ts +165 -213
  178. package/src/foundry/foundry.js/mouseInteractionManager.d.ts +78 -34
  179. package/src/foundry/foundry.js/mouseManager.d.ts +18 -0
  180. package/src/foundry/foundry.js/newUserExperience.d.ts +34 -0
  181. package/src/foundry/foundry.js/pixi/containers/cachedContainer.d.ts +8 -0
  182. package/src/foundry/foundry.js/pixi/containers/cachedContainers/index.d.ts +1 -0
  183. package/src/foundry/foundry.js/pixi/containers/cachedContainers/primaryCanvasGroup.d.ts +42 -0
  184. package/src/foundry/foundry.js/pixi/containers/canvasLayer.d.ts +2 -1
  185. package/src/foundry/foundry.js/pixi/containers/canvasLayers/gridLayer.d.ts +2 -2
  186. package/src/foundry/foundry.js/pixi/containers/canvasLayers/index.d.ts +1 -1
  187. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayer.d.ts +10 -19
  188. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/mapLayers/backgroundLayer.d.ts +6 -2
  189. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/mapLayers/foregroundLayer.d.ts +2 -2
  190. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/wallsLayer.d.ts +4 -4
  191. package/src/foundry/foundry.js/pixi/containers/canvasLayers/{effectsLayer.d.ts → weatherLayer.d.ts} +7 -7
  192. package/src/foundry/foundry.js/pixi/containers/effectsCanvasGroup.d.ts +29 -0
  193. package/src/foundry/foundry.js/pixi/containers/index.d.ts +3 -0
  194. package/src/foundry/foundry.js/pixi/containers/interfaceCanvasGroup.d.ts +27 -0
  195. package/src/foundry/foundry.js/pixi/containers/placeableObject.d.ts +4 -1
  196. package/src/foundry/foundry.js/pixi/containers/placeableObjects/token.d.ts +1 -1
  197. package/src/foundry/foundry.js/pixi/containers/placeableObjects/wall.d.ts +1 -1
  198. package/src/foundry/foundry.js/pointSource.d.ts +174 -86
  199. package/src/foundry/foundry.js/roll.d.ts +25 -36
  200. package/src/foundry/foundry.js/rollTerm.d.ts +7 -4
  201. package/src/foundry/foundry.js/rollTerms/diceTerm.d.ts +4 -22
  202. package/src/foundry/foundry.js/rollTerms/mathTerm.d.ts +3 -0
  203. package/src/foundry/foundry.js/rollTerms/parentheticalTerm.d.ts +3 -0
  204. package/src/foundry/foundry.js/rollTerms/poolTerm.d.ts +3 -5
  205. package/src/foundry/foundry.js/rollTerms/stringTerm.d.ts +4 -1
  206. package/src/foundry/foundry.js/searchFilter.d.ts +1 -1
  207. package/src/foundry/foundry.js/textEditor.d.ts +40 -9
  208. package/src/foundry/index.d.ts +5 -0
  209. package/src/types/utils.d.ts +11 -3
  210. package/src/foundry/foundry.js/applications/formApplications/measuredTemplateConfig.d.ts +0 -61
  211. package/src/foundry/foundry.js/applications/formApplications/noteConfig.d.ts +0 -77
@@ -1,11 +1,14 @@
1
1
  import './baseGrid';
2
2
  import './baseGrids';
3
3
  import './cachedContainer';
4
+ import './cachedContainers';
4
5
  import './canvasLayer';
5
6
  import './canvasLayers';
6
7
  import './controlIcon';
7
8
  import './cursor';
8
9
  import './doorControl';
10
+ import './effectsCanvasGroup';
11
+ import './interfaceCanvasGroup';
9
12
  import './placeableObject';
10
13
  import './placeableObjects';
11
14
  import './ruler';
@@ -0,0 +1,27 @@
1
+ /**
2
+ * A container group which displays interface elements rendered above other canvas groups.
3
+ */
4
+ declare class InterfaceCanvasGroup extends PIXI.Container {
5
+ constructor();
6
+
7
+ sounds: SoundsLayer;
8
+
9
+ notes: NotesLayer;
10
+
11
+ controls: ControlsLayer;
12
+
13
+ /** @defaultValue `true` */
14
+ sortableChildren: boolean;
15
+
16
+ /**
17
+ * The name of this canvas group
18
+ * @defaultValue `"interface"`
19
+ */
20
+ static groupName: string;
21
+
22
+ /**
23
+ * Create the member layers of the scene container
24
+ * @internal
25
+ */
26
+ protected _createLayers(): void;
27
+ }
@@ -17,6 +17,9 @@ declare global {
17
17
  */
18
18
  constructor(document: D);
19
19
 
20
+ /** @internal */
21
+ protected _original?: this | undefined;
22
+
20
23
  /**
21
24
  * Retain a reference to the Scene within which this Placeable Object resides
22
25
  */
@@ -50,7 +53,7 @@ declare global {
50
53
  * A mouse interaction manager instance which handles mouse workflows related to this object.
51
54
  * @defaultValue `null`
52
55
  */
53
- mouseInteractionManager: MouseInteractionManager<this, ControlIcon | this> | null;
56
+ mouseInteractionManager: MouseInteractionManager<this> | null;
54
57
 
55
58
  /**
56
59
  * An indicator for whether the object is currently controlled
@@ -258,7 +258,7 @@ declare global {
258
258
  * @param mode - The mode from CONST.TOKEN_DISPLAY_MODES
259
259
  * @returns Is the attribute viewable?
260
260
  */
261
- protected _canViewMode(mode: foundry.CONST.TokenDisplayMode): boolean;
261
+ protected _canViewMode(mode: foundry.CONST.TOKEN_DISPLAY_MODES): boolean;
262
262
 
263
263
  /**
264
264
  * Animate Token movement along a certain path which is defined by a Ray object
@@ -22,7 +22,7 @@ declare global {
22
22
  /**
23
23
  * @remarks Type is `MouseInteractionManager<this, this['endpoints']>`
24
24
  */
25
- mouseInteractionManager: MouseInteractionManager<this, any> | null;
25
+ mouseInteractionManager: MouseInteractionManager<this> | null;
26
26
 
27
27
  constructor(document: ConcreteWallDocument);
28
28
 
@@ -2,7 +2,20 @@
2
2
  * A helper class used by the Sight Layer to represent a source of vision or illumination.
3
3
  */
4
4
  declare class PointSource {
5
- constructor();
5
+ /**
6
+ * @param object - The object responsible for the PointSource
7
+ */
8
+ constructor(object: PlaceableObject, sourceType: PointSource.SourceType);
9
+
10
+ /**
11
+ * The object responsible for the PointSource
12
+ */
13
+ object: PlaceableObject;
14
+
15
+ /**
16
+ * The type of source
17
+ */
18
+ sourceType: PointSource.SourceType;
6
19
 
7
20
  /**
8
21
  * The light or darkness container for this source
@@ -20,11 +33,17 @@ declare class PointSource {
20
33
  */
21
34
  active: boolean;
22
35
 
36
+ /**
37
+ * The range of Scene darkness values for which this Source should be active
38
+ * @defaultValue `{ min: 0, max: 0 }`
39
+ */
40
+ darkness: { min: number; max: number };
41
+
23
42
  /**
24
43
  * Internal flag for whether this is a darkness source
25
44
  * @defaultValue `false`
26
45
  */
27
- darkness: boolean;
46
+ isDarkness: boolean;
28
47
 
29
48
  /**
30
49
  * Is the light source limited by an angle of emission?
@@ -41,27 +60,66 @@ declare class PointSource {
41
60
  /**
42
61
  * Internal flag for animation throttling time
43
62
  * @defaultValue `0`
63
+ * @internal
44
64
  */
45
65
  protected _animateTime: number;
46
66
 
47
67
  /**
48
68
  * An integer seed which de-synchronizes otherwise similar animations
49
69
  * @defaultValue `null`
70
+ * @internal
50
71
  */
51
72
  protected _animateSeed: number | null;
52
73
 
74
+ /**
75
+ * A flag for the lighting channels version that this source is using.
76
+ * @defaultValue `0`
77
+ * @internal
78
+ */
79
+ protected _lightingVersion: number;
80
+
53
81
  /**
54
82
  * A flag for whether to re-initialize illumination shader uniforms the next time the light is rendered.
55
83
  * @defaultValue `true`
84
+ * @internal
56
85
  */
57
86
  protected _resetIlluminationUniforms: boolean;
58
87
 
59
88
  /**
60
89
  * A flag for whether to re-initialize coloration shader uniforms the next time the light is rendered.
61
90
  * @defaultValue `true`
91
+ *@internal
62
92
  */
63
93
  protected _resetColorationUniforms: boolean;
64
94
 
95
+ /**
96
+ * An internal flag for whether to render coloration for this source
97
+ * @defaultValue `false`
98
+ * @internal
99
+ */
100
+ protected _hasColor: boolean;
101
+
102
+ /**
103
+ * The default Geometry stored in the GPU for all Point Source meshes.
104
+ */
105
+ static GEOMETRY: PIXI.Geometry;
106
+
107
+ /**
108
+ * Create the structure of a source Container which can be rendered to the sight layer shadow-map
109
+ * @returns The constructed light source container
110
+ * @internal
111
+ */
112
+ protected _createContainer(shaderCls: ConstructorOf<AbstractBaseShader>): PIXI.Container;
113
+
114
+ /**
115
+ * Initialize the source with provided object data.
116
+ *
117
+ * @param data - Input data which configures the source.
118
+ *
119
+ * @returns A reference to the initialized source
120
+ */
121
+ initialize(data?: PointSource.Data): PointSource.Initialized<this>;
122
+
65
123
  /**
66
124
  * The x-coordinate of the source location
67
125
  * @defaultValue `undefined`
@@ -117,16 +175,10 @@ declare class PointSource {
117
175
  alpha?: number;
118
176
 
119
177
  /**
120
- * A level of darkness beyond which this light is active
178
+ * The source type from CONST.SOURCE_TYPES
121
179
  * @defaultValue `undefined`
122
180
  */
123
- darknessThreshold?: number;
124
-
125
- /**
126
- * The source type from {@link SOURCE_TYPES}
127
- * @defaultValue `undefined`
128
- */
129
- type?: foundry.CONST.SourceType;
181
+ type?: foundry.CONST.SOURCE_TYPES;
130
182
 
131
183
  /**
132
184
  * An animation configuration for the source
@@ -143,7 +195,7 @@ declare class PointSource {
143
195
  /**
144
196
  * @defaultValue `undefined`
145
197
  */
146
- colorRGB?: [number, number, number];
198
+ colorRGB?: [r: number, g: number, b: number];
147
199
 
148
200
  /**
149
201
  * @defaultValue `undefined`
@@ -160,92 +212,25 @@ declare class PointSource {
160
212
  */
161
213
  los?: PIXI.Polygon;
162
214
 
163
- /**
164
- * Create the structure of a source Container which can be rendered to the sight layer shadow-map
165
- * @returns The constructed light source container
166
- */
167
- protected _createContainer(shaderCls: ConstructorOf<AbstractBaseShader>): PIXI.Container;
168
-
169
- /**
170
- * Initialize the source with provided object data.
171
- *
172
- * @param x - The x-coordinate of the source location
173
- * (default: `0`)
174
- * @param y - The y-coordinate of the source location
175
- * (default: `0`)
176
- * @param z - An optional z-index sorting for the source
177
- * (default: `null`)
178
- * @param dim - The allowed radius of dim vision or illumination
179
- * (default: `0`)
180
- * @param bright - The allowed radius of bright vision or illumination
181
- * (default: `0`)
182
- * @param angle - The angle of emission for this point source
183
- * (default: `360`)
184
- * @param rotation - The angle of rotation for this point source
185
- * (default: `0`)
186
- * @param color - A tint color for the emitted light, if any
187
- * (default: `null`)
188
- * @param alpha - An opacity for the emitted light, if any
189
- * (default: `0.5`)
190
- * @param darknessThreshold - A level of darkness beyond which this light is active
191
- * (default: `0`)
192
- * @param type - The source type from SOURCE_TYPES
193
- * (default: `SOURCE_TYPES.LOCAL`)
194
- * @param animation - An animation configuration for the source
195
- * (default: `{type: null}`)
196
- * @param seed - An integer seed to synchronize (or de-synchronize) animations
197
- * (default: `undefined`)
198
- *
199
- * @returns A reference to the initialized source
200
- */
201
- initialize({
202
- x,
203
- y,
204
- z,
205
- dim,
206
- bright,
207
- angle,
208
- rotation,
209
- color,
210
- alpha,
211
- darknessThreshold,
212
- type,
213
- animation,
214
- seed
215
- }?: {
216
- x?: number;
217
- y?: number;
218
- z?: number | null;
219
- dim?: number;
220
- bright?: number;
221
- angle?: number;
222
- rotation?: number;
223
- color?: number | string | null;
224
- alpha?: number;
225
- darknessThreshold?: number;
226
- type?: string;
227
- animation?: PointSource.Animation;
228
- seed?: number;
229
- }): this;
230
-
231
215
  /**
232
216
  * Initialize the shaders used for this animation.
233
217
  * Reset the current shader values back to defaults.
234
218
  * Swap to a different Shader instance if necessary.
219
+ * @internal
235
220
  */
236
221
  protected _initializeShaders(): void;
237
222
 
238
223
  /**
239
224
  * Initialize the blend mode and vertical sorting of this source relative to others in the container.
225
+ * @internal
240
226
  */
241
227
  protected _initializeBlending(): void;
242
228
 
243
229
  /**
244
230
  * Draw the display of this source for the darkness/light container of the SightLayer.
245
- * @param updateChannels - Is this drawing initiated because lighting channels have changed?
246
231
  * @returns The rendered light container
247
232
  */
248
- drawLight({ updateChannels }?: { updateChannels?: boolean }): PIXI.Container;
233
+ drawLight(): PIXI.Container;
249
234
 
250
235
  /**
251
236
  * Draw and return a container used to depict the visible color tint of the light source on the LightingLayer
@@ -256,6 +241,7 @@ declare class PointSource {
256
241
  /**
257
242
  * A common helper function for updating the display of a source container.
258
243
  * Assign the container position, dimensions, and polygons.
244
+ * @internal
259
245
  */
260
246
  protected _drawContainer(c: PIXI.Container): PIXI.Container;
261
247
 
@@ -269,25 +255,31 @@ declare class PointSource {
269
255
  * A torch animation where the luminosity and coloration decays each frame and is revitalized by flashes
270
256
  * @param dt - Delta time
271
257
  * @param speed - The animation speed, from 1 to 10
258
+ * (default: `5`)
272
259
  * @param intensity - The animation intensity, from 1 to 10
260
+ * (default: `5`)
273
261
  */
274
- animateTorch: PointSource.AnimationFunction;
262
+ animateTorch(dt: number, { speed, intensity }?: PointSource.AnimationProperties): void;
275
263
 
276
264
  /**
277
265
  * A basic "pulse" animation which expands and contracts.
278
266
  * @param dt - Delta time
279
267
  * @param speed - The animation speed, from 1 to 10
268
+ * (default: `5`)
280
269
  * @param intensity - The animation intensity, from 1 to 10
270
+ * (default: `5`)
281
271
  */
282
- animatePulse: PointSource.AnimationFunction;
272
+ animatePulse(dt: number, { speed, intensity }?: PointSource.AnimationProperties): void;
283
273
 
284
274
  /**
285
275
  * Emanate waves of light from the source origin point
286
276
  * @param dt - Delta time
287
277
  * @param speed - The animation speed, from 1 to 10
278
+ * (default: `5`)
288
279
  * @param intensity - The animation intensity, from 1 to 10
280
+ * (default: `5`)
289
281
  */
290
- animateTime: PointSource.AnimationFunction;
282
+ animateTime(dt: number, { speed, intensity }?: PointSource.AnimationProperties): void;
291
283
 
292
284
  /**
293
285
  * Evolve a value using a stochastic AR(1) process
@@ -298,6 +290,7 @@ declare class PointSource {
298
290
  * @param max - The maximum allowed outcome, or null
299
291
  * @param min - The minimum allowed outcome, or null
300
292
  * @returns The new value of the process
293
+ * @internal
301
294
  */
302
295
  protected _ar1(
303
296
  y: number,
@@ -309,11 +302,106 @@ declare class PointSource {
309
302
  min
310
303
  }: { phi?: number; center?: number; sigma?: number; max?: number | null; min?: number | null }
311
304
  ): number;
312
-
313
- static GEOMETRY: PIXI.Geometry;
314
305
  }
315
306
 
316
307
  declare namespace PointSource {
308
+ type SourceType = 'light' | 'sight';
309
+
310
+ interface Data {
311
+ /**
312
+ * The x-coordinate of the source location
313
+ * @defaultValue `0`
314
+ */
315
+ x?: number;
316
+
317
+ /** The y-coordinate of the source location
318
+ * @defaultValue `0`
319
+ */
320
+ y?: number;
321
+
322
+ /** An optional z-index sorting for the source
323
+ * @defaultValue `null`
324
+ */
325
+ z?: number | null;
326
+
327
+ /** The allowed radius of dim vision or illumination
328
+ * @defaultValue `0`
329
+ */
330
+ dim?: number;
331
+
332
+ /** The allowed radius of bright vision or illumination
333
+ * @defaultValue `0`
334
+ */
335
+ bright?: number;
336
+
337
+ /** The angle of emission for this point source
338
+ * @defaultValue `360`
339
+ */
340
+ angle?: number;
341
+
342
+ /**
343
+ * The angle of rotation for this point source
344
+ * @defaultValue `0`
345
+ */
346
+ rotation?: number;
347
+
348
+ /**
349
+ * A tint color for the emitted light, if any
350
+ * @defaultValue `null`
351
+ */
352
+ color?: number | string | null;
353
+
354
+ /** An opacity for the emitted light, if any
355
+ * @defaultValue `0.5`
356
+ */
357
+ alpha: number;
358
+
359
+ /**
360
+ * A darkness range (min and max) for which the source should be active
361
+ * @defaultValue `{ min: 0, max: 1 }`
362
+ */
363
+ darkness?: { min: number; max: number };
364
+
365
+ /**
366
+ * The source type from CONST.SOURCE_TYPES
367
+ * @defaultValue `CONST.SOURCE_TYPES.LOCAL`
368
+ */
369
+ type?: foundry.CONST.SOURCE_TYPES;
370
+
371
+ /**
372
+ * An animation configuration for the source
373
+ * @defaultValue `{ type: null }`
374
+ */
375
+ animation?: PointSource.Animation;
376
+
377
+ /**
378
+ * An integer seed to synchronize (or de-synchronize) animations
379
+ */
380
+ seed?: number;
381
+ }
382
+
383
+ type Initialized<P extends PointSource> = P &
384
+ Required<
385
+ Pick<
386
+ P,
387
+ | 'animation'
388
+ | 'angle'
389
+ | 'alpha'
390
+ | 'bright'
391
+ | 'color'
392
+ | 'dim'
393
+ | 'rotation'
394
+ | 'type'
395
+ | 'x'
396
+ | 'y'
397
+ | 'z'
398
+ | 'colorRGB'
399
+ | 'ratio'
400
+ | 'fov'
401
+ | 'los'
402
+ >
403
+ >;
404
+
317
405
  interface AnimationProperties {
318
406
  speed?: number;
319
407
  intensity?: number;
@@ -42,7 +42,7 @@ declare global {
42
42
  /**
43
43
  * Options which modify or describe the Roll
44
44
  */
45
- options: Partial<Options>;
45
+ options: InexactPartial<Options>;
46
46
 
47
47
  /**
48
48
  * The identified terms of the Roll
@@ -72,10 +72,8 @@ declare global {
72
72
  */
73
73
  protected _total: number | undefined;
74
74
 
75
- /**
76
- * A Proxy environment for safely evaluating a string using only available Math functions
77
- */
78
- static MATH_PROXY: MathProxy;
75
+ /** A Proxy environment for safely evaluating a string using only available Math functions */
76
+ static MATH_PROXY: Math;
79
77
 
80
78
  /**
81
79
  * The HTML template path used to render a complete Roll object to the chat log
@@ -117,6 +115,9 @@ declare global {
117
115
  */
118
116
  get total(): number | undefined;
119
117
 
118
+ /** Whether this Roll contains entirely deterministic terms or whether there is some randomness. */
119
+ get isDeterministic(): boolean;
120
+
120
121
  /**
121
122
  * Alter the Roll expression by adding or multiplying the number of dice which are rolled
122
123
  * @param multiply - A factor to multiply. Dice are multiplied before any additions.
@@ -146,21 +147,21 @@ declare global {
146
147
  * console.log(r.total); // 11
147
148
  * ```
148
149
  */
149
- evaluate(options?: Partial<Options & { async: false }>): this;
150
- evaluate(options: Partial<Options> & { async: true }): Promise<this>;
151
- evaluate(options?: Partial<Options>): this | Promise<this>;
150
+ evaluate(options?: InexactPartial<Options & { async: false }>): this;
151
+ evaluate(options: InexactPartial<Options> & { async: true }): Promise<this>;
152
+ evaluate(options?: InexactPartial<Options>): this | Promise<this>;
152
153
 
153
154
  /**
154
155
  * Evaluate the roll asynchronously.
155
156
  * A temporary helper method used to migrate behavior from 0.7.x (sync by default) to 0.9.x (async by default).
156
157
  */
157
- protected _evaluate(options?: Partial<Omit<Options, 'async'>>): Promise<this>;
158
+ protected _evaluate(options?: InexactPartial<Omit<Options, 'async'>>): Promise<this>;
158
159
 
159
160
  /**
160
161
  * Evaluate the roll synchronously.
161
162
  * A temporary helper method used to migrate behavior from 0.7.x (sync by default) to 0.9.x (async by default).
162
163
  */
163
- protected _evaluateSync(options?: Partial<Omit<Options, 'async'>>): this;
164
+ protected _evaluateSync(options?: InexactPartial<Omit<Options, 'async'>>): this;
164
165
 
165
166
  /**
166
167
  * Safely evaluate the final total result for the Roll using its component terms.
@@ -172,9 +173,9 @@ declare global {
172
173
  * Alias for evaluate.
173
174
  * @see Roll#evaluate
174
175
  */
175
- roll(options?: Partial<Options & { async: false }>): this;
176
- roll(options: Partial<Options> & { async: true }): Promise<this>;
177
- roll(options?: Partial<Options>): this | Promise<this>;
176
+ roll(options?: InexactPartial<Options & { async: false }>): this;
177
+ roll(options: InexactPartial<Options> & { async: true }): Promise<this>;
178
+ roll(options?: InexactPartial<Options>): this | Promise<this>;
178
179
 
179
180
  /**
180
181
  * Create a new Roll object using the original provided formula and data.
@@ -182,9 +183,9 @@ declare global {
182
183
  * @param options - Evaluation options passed to Roll#evaluate
183
184
  * @returns A new Roll object, rolled using the same formula and data
184
185
  */
185
- reroll(options?: Partial<Options & { async: false }>): this;
186
- reroll(options: Partial<Options> & { async: true }): Promise<this>;
187
- reroll(options?: Partial<Options>): this | Promise<this>;
186
+ reroll(options?: InexactPartial<Options & { async: false }>): this;
187
+ reroll(options: InexactPartial<Options> & { async: true }): Promise<this>;
188
+ reroll(options?: InexactPartial<Options>): this | Promise<this>;
188
189
 
189
190
  /**
190
191
  * A factory method which constructs a Roll instance using the default configured Roll class.
@@ -197,7 +198,7 @@ declare global {
197
198
  static create<D extends Record<string, unknown> = {}>(
198
199
  formula: string,
199
200
  data?: D,
200
- options?: Partial<Options>
201
+ options?: InexactPartial<Options>
201
202
  ): typeof CONFIG.Dice.rolls extends [infer T] ? T : Roll<D>;
202
203
 
203
204
  /**
@@ -229,7 +230,7 @@ declare global {
229
230
  * (default: `10000`)
230
231
  * @returns The rolled totals
231
232
  */
232
- static simulate(formula: string, n?: number): number[];
233
+ static simulate(formula: string, n?: number): Promise<number[]>;
233
234
 
234
235
  /**
235
236
  * Parse a formula by following an order of operations:
@@ -302,7 +303,7 @@ declare global {
302
303
  * (default: `{}`)
303
304
  * @returns An array of terms, split on dice pool terms
304
305
  */
305
- protected _splitGroup(_formula: string, options?: Partial<SplitGroupOptions>): string[];
306
+ protected _splitGroup(_formula: string, options?: InexactPartial<SplitGroupOptions>): string[];
306
307
 
307
308
  /**
308
309
  * Split a formula by identifying arithmetic terms
@@ -373,15 +374,15 @@ declare global {
373
374
  */
374
375
  toMessage<T extends DeepPartial<ConstructorParameters<ConfiguredDocumentClass<typeof ChatMessage>>[0]> = {}>(
375
376
  messageData?: T,
376
- { rollMode, create }?: { rollMode?: foundry.CONST.DiceRollMode; create?: true }
377
+ { rollMode, create }?: { rollMode?: foundry.CONST.DICE_ROLL_MODES; create?: true }
377
378
  ): Promise<InstanceType<ConfiguredDocumentClass<typeof ChatMessage>> | undefined>;
378
379
  toMessage<T extends DeepPartial<ConstructorParameters<ConfiguredDocumentClass<typeof ChatMessage>>[0]> = {}>(
379
380
  messageData: T,
380
- { rollMode, create }: { rollMode?: foundry.CONST.DiceRollMode; create: false }
381
+ { rollMode, create }: { rollMode?: foundry.CONST.DICE_ROLL_MODES; create: false }
381
382
  ): MessageData<T>;
382
383
  toMessage<T extends DeepPartial<ConstructorParameters<ConfiguredDocumentClass<typeof ChatMessage>>[0]> = {}>(
383
384
  messageData: T,
384
- { rollMode, create }: { rollMode?: foundry.CONST.DiceRollMode; create: boolean }
385
+ { rollMode, create }: { rollMode?: foundry.CONST.DICE_ROLL_MODES; create: boolean }
385
386
  ): Promise<InstanceType<ConfiguredDocumentClass<typeof ChatMessage>> | undefined> | MessageData<T>;
386
387
 
387
388
  /**
@@ -441,13 +442,8 @@ declare global {
441
442
  */
442
443
  static fromTerms(
443
444
  terms: RollTerm[],
444
- options?: Partial<Options>
445
+ options?: InexactPartial<Options>
445
446
  ): typeof CONFIG.Dice.rolls extends [infer T] ? T : Roll<{}>;
446
-
447
- /**
448
- * @deprecated since 0.8.1
449
- */
450
- get _rolled(): boolean;
451
447
  }
452
448
  }
453
449
 
@@ -488,19 +484,12 @@ interface SplitGroupOptions {
488
484
  interface Data {
489
485
  formula: string;
490
486
  results: Array<number | string>;
491
- terms: Array<(PoolTerm.TermData & { class: 'DicePool' }) | DiceTerm.Data>;
487
+ terms: Array<PoolTerm.TermData | DiceTerm.Data>;
492
488
  total: number | null;
493
489
  }
494
490
 
495
491
  type Flavor = Record<`%F${number}%`, string>;
496
492
 
497
- /**
498
- * @deprecated since 0.8.1
499
- */
500
- interface MathProxy extends Math {
501
- safeEval: (arg: Parameters<typeof Roll['safeEval']>) => ReturnType<typeof Roll['safeEval']>;
502
- }
503
-
504
493
  type MessageData<T extends DeepPartial<ConstructorParameters<typeof ChatMessage>[0]>> = {
505
494
  user: string;
506
495
  type: typeof foundry.CONST.CHAT_MESSAGE_TYPES['ROLL'];
@@ -41,14 +41,17 @@ declare abstract class RollTerm {
41
41
  /** Optional flavor text which modifies and describes this term. */
42
42
  get flavor(): string;
43
43
 
44
+ /** Whether this term is entirely deterministic or contains some randomness. */
45
+ get isDeterministic(): boolean;
46
+
44
47
  /**
45
48
  * Evaluate the roll term, populating the results Array.
46
49
  * @param options - (default: `{}`)
47
50
  * @returns The evaluated dice term
48
51
  */
49
- evaluate(options?: Partial<RollTerm.EvaluationOptions & { async: false }>): this;
50
- evaluate(options: Partial<RollTerm.EvaluationOptions> & { async: true }): Promise<this>;
51
- evaluate(options?: Partial<RollTerm.EvaluationOptions>): this | Promise<this>;
52
+ evaluate(options?: InexactPartial<RollTerm.EvaluationOptions & { async: false }>): this;
53
+ evaluate(options: InexactPartial<RollTerm.EvaluationOptions> & { async: true }): Promise<this>;
54
+ evaluate(options?: InexactPartial<RollTerm.EvaluationOptions>): this | Promise<this>;
52
55
 
53
56
  protected _evaluate({ minimize, maximize }?: { minimize?: boolean; maximize?: boolean }): Promise<this>;
54
57
 
@@ -107,7 +110,7 @@ declare namespace RollTerm {
107
110
  /**
108
111
  * Evaluate the roll asynchronously, receiving a Promise as the returned value.
109
112
  * This will become the default behavior in version 10.x
110
- * @defaultValue `false`
113
+ * @defaultValue `true`
111
114
  */
112
115
  async: boolean;
113
116
  }