@league-of-foundry-developers/foundry-vtt-types 13.346.0-beta.20250803190002 → 13.346.0-beta.20250804213559

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 (53) hide show
  1. package/package.json +1 -1
  2. package/src/configuration/configuration.d.mts +3 -3
  3. package/src/configuration/hooks.d.mts +6 -4
  4. package/src/foundry/client/canvas/board.d.mts +1 -1
  5. package/src/foundry/client/canvas/containers/elements/door-control.d.mts +12 -4
  6. package/src/foundry/client/canvas/groups/canvas-group-mixin.d.mts +45 -23
  7. package/src/foundry/client/canvas/groups/effects.d.mts +136 -41
  8. package/src/foundry/client/canvas/groups/environment.d.mts +191 -48
  9. package/src/foundry/client/canvas/groups/hidden.d.mts +43 -15
  10. package/src/foundry/client/canvas/groups/interface.d.mts +38 -27
  11. package/src/foundry/client/canvas/groups/overlay.d.mts +17 -4
  12. package/src/foundry/client/canvas/groups/primary.d.mts +57 -30
  13. package/src/foundry/client/canvas/groups/rendered.d.mts +17 -4
  14. package/src/foundry/client/canvas/groups/visibility.d.mts +17 -6
  15. package/src/foundry/client/canvas/interaction/ruler/ruler.d.mts +10 -2
  16. package/src/foundry/client/canvas/layers/controls.d.mts +13 -5
  17. package/src/foundry/client/canvas/layers/sounds.d.mts +1 -1
  18. package/src/foundry/client/canvas/perception/detection-mode.d.mts +9 -6
  19. package/src/foundry/client/canvas/perception/detection-modes/darkvision.d.mts +1 -1
  20. package/src/foundry/client/canvas/perception/detection-modes/invisibility-perception.d.mts +1 -1
  21. package/src/foundry/client/canvas/perception/detection-modes/light-perception.d.mts +2 -2
  22. package/src/foundry/client/canvas/perception/detection-modes/super-perception.d.mts +1 -1
  23. package/src/foundry/client/canvas/perception/detection-modes/tremor-perception.d.mts +1 -1
  24. package/src/foundry/client/canvas/perception/fog.d.mts +13 -5
  25. package/src/foundry/client/canvas/perception/vision-mode.d.mts +4 -4
  26. package/src/foundry/client/canvas/placeables/tokens/ring.d.mts +10 -2
  27. package/src/foundry/client/canvas/primary/primary-canvas-object.d.mts +1 -1
  28. package/src/foundry/client/canvas/rendering/filters/effects-masking.d.mts +11 -4
  29. package/src/foundry/client/canvas/rendering/filters/visibility.d.mts +11 -4
  30. package/src/foundry/client/canvas/sources/base-effect-source.d.mts +2 -3
  31. package/src/foundry/client/canvas/sources/point-darkness-source.d.mts +10 -2
  32. package/src/foundry/client/canvas/sources/point-light-source.d.mts +10 -2
  33. package/src/foundry/client/canvas/sources/point-sound-source.d.mts +10 -2
  34. package/src/foundry/client/canvas/sources/point-vision-source.d.mts +10 -2
  35. package/src/foundry/client/config.d.mts +142 -86
  36. package/src/foundry/client/dice/roll.d.mts +18 -7
  37. package/src/foundry/client/documents/chat-message.d.mts +2 -2
  38. package/src/foundry/client/documents/collections/actors.d.mts +10 -2
  39. package/src/foundry/client/documents/collections/card-stacks.d.mts +10 -2
  40. package/src/foundry/client/documents/collections/chat-messages.d.mts +11 -3
  41. package/src/foundry/client/documents/collections/combat-encounters.d.mts +10 -2
  42. package/src/foundry/client/documents/collections/fog-explorations.d.mts +10 -2
  43. package/src/foundry/client/documents/collections/folders.d.mts +10 -2
  44. package/src/foundry/client/documents/collections/items.d.mts +10 -2
  45. package/src/foundry/client/documents/collections/journal.d.mts +10 -2
  46. package/src/foundry/client/documents/collections/macros.d.mts +10 -2
  47. package/src/foundry/client/documents/collections/playlists.d.mts +10 -2
  48. package/src/foundry/client/documents/collections/roll-tables.d.mts +10 -2
  49. package/src/foundry/client/documents/collections/scenes.d.mts +10 -2
  50. package/src/foundry/client/documents/collections/users.d.mts +10 -2
  51. package/src/foundry/client/documents/collections/world-settings.d.mts +10 -2
  52. package/src/foundry/client/documents/scene.d.mts +45 -37
  53. package/src/foundry/client/hooks.d.mts +41 -19
@@ -29,8 +29,16 @@ declare class Actors extends foundry.documents.abstract.WorldCollection<"Actor",
29
29
  }
30
30
 
31
31
  declare namespace Actors {
32
- interface Any extends AnyActors {}
33
- interface AnyConstructor extends Identity<typeof AnyActors> {}
32
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
33
+ type Any = Internal.Any;
34
+
35
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
36
+ type AnyConstructor = Internal.AnyConstructor;
37
+
38
+ namespace Internal {
39
+ interface Any extends AnyActors {}
40
+ interface AnyConstructor extends Identity<typeof AnyActors> {}
41
+ }
34
42
 
35
43
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"Actor"> {}
36
44
  interface Implementation extends Document.Internal.ConfiguredCollection<"Actor"> {}
@@ -11,8 +11,16 @@ declare class CardStacks extends foundry.documents.abstract.WorldCollection<"Car
11
11
  }
12
12
 
13
13
  declare namespace CardStacks {
14
- interface Any extends AnyCardStacks {}
15
- interface AnyConstructor extends Identity<typeof AnyCardStacks> {}
14
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
15
+ type Any = Internal.Any;
16
+
17
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
18
+ type AnyConstructor = Internal.AnyConstructor;
19
+
20
+ namespace Internal {
21
+ interface Any extends AnyCardStacks {}
22
+ interface AnyConstructor extends Identity<typeof AnyCardStacks> {}
23
+ }
16
24
 
17
25
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"Cards"> {}
18
26
  interface Implementation extends Document.Internal.ConfiguredCollection<"Cards"> {}
@@ -34,8 +34,16 @@ declare class ChatMessages extends foundry.documents.abstract.WorldCollection<"C
34
34
  }
35
35
 
36
36
  declare namespace ChatMessages {
37
- interface Any extends AnyMessages {}
38
- interface AnyConstructor extends Identity<typeof AnyMessages> {}
37
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
38
+ type Any = Internal.Any;
39
+
40
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
41
+ type AnyConstructor = Internal.AnyConstructor;
42
+
43
+ namespace Internal {
44
+ interface Any extends AnyChatMessages {}
45
+ interface AnyConstructor extends Identity<typeof AnyChatMessages> {}
46
+ }
39
47
 
40
48
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"ChatMessage"> {}
41
49
  interface Implementation extends Document.Internal.ConfiguredCollection<"ChatMessage"> {}
@@ -51,7 +59,7 @@ declare namespace ChatMessages {
51
59
  type Configured = Implementation;
52
60
  }
53
61
 
54
- declare abstract class AnyMessages extends ChatMessages {
62
+ declare abstract class AnyChatMessages extends ChatMessages {
55
63
  constructor(...args: never);
56
64
  }
57
65
 
@@ -42,8 +42,16 @@ declare class CombatEncounters extends foundry.documents.abstract.WorldCollectio
42
42
  }
43
43
 
44
44
  declare namespace CombatEncounters {
45
- interface Any extends AnyCombatEncounters {}
46
- interface AnyConstructor extends Identity<typeof AnyCombatEncounters> {}
45
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
46
+ type Any = Internal.Any;
47
+
48
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
49
+ type AnyConstructor = Internal.AnyConstructor;
50
+
51
+ namespace Internal {
52
+ interface Any extends AnyCombatEncounters {}
53
+ interface AnyConstructor extends Identity<typeof AnyCombatEncounters> {}
54
+ }
47
55
 
48
56
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"Combat"> {}
49
57
  interface Implementation extends Document.Internal.ConfiguredCollection<"Combat"> {}
@@ -18,8 +18,16 @@ declare class FogExplorations extends foundry.documents.abstract.WorldCollection
18
18
  }
19
19
 
20
20
  declare namespace FogExplorations {
21
- interface Any extends AnyFogExplorations {}
22
- interface AnyConstructor extends Identity<typeof AnyFogExplorations> {}
21
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
22
+ type Any = Internal.Any;
23
+
24
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
25
+ type AnyConstructor = Internal.AnyConstructor;
26
+
27
+ namespace Internal {
28
+ interface Any extends AnyFogExplorations {}
29
+ interface AnyConstructor extends Identity<typeof AnyFogExplorations> {}
30
+ }
23
31
 
24
32
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"FogExploration"> {}
25
33
  interface Implementation extends Document.Internal.ConfiguredCollection<"FogExploration"> {}
@@ -35,8 +35,16 @@ declare class Folders extends foundry.documents.abstract.WorldCollection<"Folder
35
35
  }
36
36
 
37
37
  declare namespace Folders {
38
- interface Any extends AnyFolders {}
39
- interface AnyConstructor extends Identity<typeof AnyFolders> {}
38
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
39
+ type Any = Internal.Any;
40
+
41
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
42
+ type AnyConstructor = Internal.AnyConstructor;
43
+
44
+ namespace Internal {
45
+ interface Any extends AnyFolders {}
46
+ interface AnyConstructor extends Identity<typeof AnyFolders> {}
47
+ }
40
48
 
41
49
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"Folder"> {}
42
50
  interface Implementation extends Document.Internal.ConfiguredCollection<"Folder"> {}
@@ -13,8 +13,16 @@ declare class Items extends foundry.documents.abstract.WorldCollection<"Item", "
13
13
  }
14
14
 
15
15
  declare namespace Items {
16
- interface Any extends AnyItems {}
17
- interface AnyConstructor extends Identity<typeof AnyItems> {}
16
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
17
+ type Any = Internal.Any;
18
+
19
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
20
+ type AnyConstructor = Internal.AnyConstructor;
21
+
22
+ namespace Internal {
23
+ interface Any extends AnyItems {}
24
+ interface AnyConstructor extends Identity<typeof AnyItems> {}
25
+ }
18
26
 
19
27
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"Item"> {}
20
28
  interface Implementation extends Document.Internal.ConfiguredCollection<"Item"> {}
@@ -64,8 +64,16 @@ declare class Journal extends foundry.documents.abstract.WorldCollection<"Journa
64
64
  }
65
65
 
66
66
  declare namespace Journal {
67
- interface Any extends AnyJournal {}
68
- interface AnyConstructor extends Identity<typeof AnyJournal> {}
67
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
68
+ type Any = Internal.Any;
69
+
70
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
71
+ type AnyConstructor = Internal.AnyConstructor;
72
+
73
+ namespace Internal {
74
+ interface Any extends AnyJournal {}
75
+ interface AnyConstructor extends Identity<typeof AnyJournal> {}
76
+ }
69
77
 
70
78
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"JournalEntry"> {}
71
79
  interface Implementation extends Document.Internal.ConfiguredCollection<"JournalEntry"> {}
@@ -20,8 +20,16 @@ declare class Macros extends foundry.documents.abstract.WorldCollection<"Macro",
20
20
  }
21
21
 
22
22
  declare namespace Macros {
23
- interface Any extends AnyMacros {}
24
- interface AnyConstructor extends Identity<typeof AnyMacros> {}
23
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
24
+ type Any = Internal.Any;
25
+
26
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
27
+ type AnyConstructor = Internal.AnyConstructor;
28
+
29
+ namespace Internal {
30
+ interface Any extends AnyMacros {}
31
+ interface AnyConstructor extends Identity<typeof AnyMacros> {}
32
+ }
25
33
 
26
34
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"Macro"> {}
27
35
  interface Implementation extends Document.Internal.ConfiguredCollection<"Macro"> {}
@@ -31,8 +31,16 @@ declare class Playlists extends foundry.documents.abstract.WorldCollection<"Play
31
31
  }
32
32
 
33
33
  declare namespace Playlists {
34
- interface Any extends AnyPlaylists {}
35
- interface AnyConstructor extends Identity<typeof AnyPlaylists> {}
34
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
35
+ type Any = Internal.Any;
36
+
37
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
38
+ type AnyConstructor = Internal.AnyConstructor;
39
+
40
+ namespace Internal {
41
+ interface Any extends AnyPlaylists {}
42
+ interface AnyConstructor extends Identity<typeof AnyPlaylists> {}
43
+ }
36
44
 
37
45
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"Playlist"> {}
38
46
  interface Implementation extends Document.Internal.ConfiguredCollection<"Playlist"> {}
@@ -20,8 +20,16 @@ declare class RollTables extends foundry.documents.abstract.WorldCollection<"Rol
20
20
  }
21
21
 
22
22
  declare namespace RollTables {
23
- interface Any extends AnyRollTables {}
24
- interface AnyConstructor extends Identity<typeof AnyRollTables> {}
23
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
24
+ type Any = Internal.Any;
25
+
26
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
27
+ type AnyConstructor = Internal.AnyConstructor;
28
+
29
+ namespace Internal {
30
+ interface Any extends AnyRollTables {}
31
+ interface AnyConstructor extends Identity<typeof AnyRollTables> {}
32
+ }
25
33
 
26
34
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"RollTable"> {}
27
35
  interface Implementation extends Document.Internal.ConfiguredCollection<"RollTable"> {}
@@ -49,8 +49,16 @@ declare class Scenes extends foundry.documents.abstract.WorldCollection<"Scene",
49
49
  }
50
50
 
51
51
  declare namespace Scenes {
52
- interface Any extends AnyScenes {}
53
- interface AnyConstructor extends Identity<typeof AnyScenes> {}
52
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
53
+ type Any = Internal.Any;
54
+
55
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
56
+ type AnyConstructor = Internal.AnyConstructor;
57
+
58
+ namespace Internal {
59
+ interface Any extends AnyScenes {}
60
+ interface AnyConstructor extends Identity<typeof AnyScenes> {}
61
+ }
54
62
 
55
63
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"Scene"> {}
56
64
  interface Implementation extends Document.Internal.ConfiguredCollection<"Scene"> {}
@@ -58,8 +58,16 @@ declare class Users extends foundry.documents.abstract.WorldCollection<"User", "
58
58
  }
59
59
 
60
60
  declare namespace Users {
61
- interface Any extends AnyUsers {}
62
- interface AnyConstructor extends Identity<typeof AnyUsers> {}
61
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
62
+ type Any = Internal.Any;
63
+
64
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
65
+ type AnyConstructor = Internal.AnyConstructor;
66
+
67
+ namespace Internal {
68
+ interface Any extends AnyUsers {}
69
+ interface AnyConstructor extends Identity<typeof AnyUsers> {}
70
+ }
63
71
 
64
72
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"User"> {}
65
73
  interface Implementation extends Document.Internal.ConfiguredCollection<"User"> {}
@@ -30,8 +30,16 @@ declare class WorldSettings extends foundry.documents.abstract.WorldCollection<"
30
30
  }
31
31
 
32
32
  declare namespace WorldSettings {
33
- interface Any extends AnyWorldSettings {}
34
- interface AnyConstructor extends Identity<typeof AnyWorldSettings> {}
33
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode Implementation} instead */
34
+ type Any = Internal.Any;
35
+
36
+ /** @deprecated There should only be a single implementation of this class in use at one time, use {@linkcode ImplementationClass} instead */
37
+ type AnyConstructor = Internal.AnyConstructor;
38
+
39
+ namespace Internal {
40
+ interface Any extends AnyWorldSettings {}
41
+ interface AnyConstructor extends Identity<typeof AnyWorldSettings> {}
42
+ }
35
43
 
36
44
  interface ImplementationClass extends Document.Internal.ConfiguredCollectionClass<"Setting"> {}
37
45
  interface Implementation extends Document.Internal.ConfiguredCollection<"Setting"> {}
@@ -528,42 +528,7 @@ declare namespace Scene {
528
528
  /**
529
529
  * Fog-exploration settings and other data
530
530
  */
531
- fog: fields.SchemaField<{
532
- /**
533
- * Should fog exploration progress be tracked for this Scene?
534
- * @defaultValue `true`
535
- */
536
- exploration: fields.BooleanField<{ initial: true }>;
537
-
538
- /**
539
- * The timestamp at which fog of war was last reset for this Scene.
540
- * @defaultValue `undefined`
541
- */
542
- reset: fields.NumberField<{ required: false; initial: undefined }>;
543
-
544
- /**
545
- * A special overlay image or video texture which is used for fog of war
546
- * @defaultValue `null`
547
- */
548
- overlay: fields.FilePathField<{ categories: ["IMAGE", "VIDEO"]; virtual: true }>;
549
-
550
- /**
551
- * Fog-exploration coloration data
552
- */
553
- colors: fields.SchemaField<{
554
- /**
555
- * A color tint applied to explored regions of fog of war
556
- * @defaultValue `null`
557
- */
558
- explored: fields.ColorField;
559
-
560
- /**
561
- * A color tint applied to unexplored regions of fog of war
562
- * @defaultValue `null`
563
- */
564
- unexplored: fields.ColorField;
565
- }>;
566
- }>;
531
+ fog: fields.SchemaField<FogSchema>;
567
532
 
568
533
  /**
569
534
  * The environment data applied to the Scene.
@@ -689,6 +654,49 @@ declare namespace Scene {
689
654
  _stats: fields.DocumentStatsField;
690
655
  }
691
656
 
657
+ interface FogSchema extends DataSchema {
658
+ /**
659
+ * Should fog exploration progress be tracked for this Scene?
660
+ * @defaultValue `true`
661
+ */
662
+ exploration: fields.BooleanField<{ initial: true }>;
663
+
664
+ /**
665
+ * The timestamp at which fog of war was last reset for this Scene.
666
+ * @defaultValue `undefined`
667
+ */
668
+ reset: fields.NumberField<{ required: false; initial: undefined }>;
669
+
670
+ /**
671
+ * A special overlay image or video texture which is used for fog of war
672
+ * @defaultValue `null`
673
+ */
674
+ overlay: fields.FilePathField<{ categories: ["IMAGE", "VIDEO"]; virtual: true }>;
675
+
676
+ /**
677
+ * Fog-exploration coloration data
678
+ */
679
+ colors: fields.SchemaField<FogColorSchema>;
680
+ }
681
+
682
+ interface FogData extends fields.SchemaField.InitializedData<FogSchema> {}
683
+
684
+ interface FogColorSchema extends DataSchema {
685
+ /**
686
+ * A color tint applied to explored regions of fog of war
687
+ * @defaultValue `null`
688
+ */
689
+ explored: fields.ColorField;
690
+
691
+ /**
692
+ * A color tint applied to unexplored regions of fog of war
693
+ * @defaultValue `null`
694
+ */
695
+ unexplored: fields.ColorField;
696
+ }
697
+
698
+ interface FogColorData extends fields.SchemaField.InitializedData<FogColorSchema> {}
699
+
692
700
  interface EnvironmentSchema extends DataSchema {
693
701
  /**
694
702
  * The environment darkness level.
@@ -794,7 +802,7 @@ declare namespace Scene {
794
802
  interface GridSchema extends DataSchema {
795
803
  /**
796
804
  * The type of grid, a number from CONST.GRID_TYPES.
797
- * @defaultValue `game.system.grid.type`
805
+ * @defaultValue {@linkcode foundry.packages.BaseSystem.grid | game.system.grid.type}
798
806
  */
799
807
  type: fields.NumberField<
800
808
  {
@@ -3,15 +3,18 @@ import type { AnyMutableObject, DeepPartial, EmptyObject, ValueOf } from "#utils
3
3
  import type Document from "#common/abstract/document.d.mts";
4
4
  import type { ProseMirrorDropDown } from "#common/prosemirror/_module.d.mts";
5
5
  import type ProseMirrorMenu from "#common/prosemirror/menu.d.mts";
6
- import type PointVisionSource from "#client/canvas/sources/point-vision-source.d.mts";
7
6
  import type RenderedEffectSource from "#client/canvas/sources/rendered-effect-source.d.mts";
8
7
  import type { DatabaseUpdateOperation } from "#common/abstract/_types.d.mts";
9
8
  import type CompendiumArt from "#client/helpers/media/compendium-art.d.mts";
10
9
  import type { Hooks as HookConfigs } from "#configuration";
11
10
  import type Hooks from "./helpers/hooks.d.mts";
12
- import type { Canvas } from "#client/canvas/_module.d.mts";
13
- import type { CanvasGroupMixin, CanvasVisibility, EffectsCanvasGroup } from "#client/canvas/groups/_module.d.mts";
14
- import type * as layers from "#client/canvas/layers/_module.d.mts";
11
+ import type { Canvas, layers } from "#client/canvas/_module.d.mts";
12
+ import type {
13
+ CanvasGroupMixin,
14
+ CanvasVisibility,
15
+ EffectsCanvasGroup,
16
+ EnvironmentCanvasGroup,
17
+ } from "#client/canvas/groups/_module.d.mts";
15
18
 
16
19
  import type { Note, PlaceableObject, Token } from "#client/canvas/placeables/_module.d.mts";
17
20
  import type { TokenRingConfig } from "#client/canvas/placeables/tokens/_module.d.mts";
@@ -633,6 +636,26 @@ export interface AllHooks extends DynamicHooks {
633
636
  data: foundry.appv1.sheets.ActorSheet.DropData,
634
637
  ) => boolean | void;
635
638
 
639
+ /** EnvironmentCanvasGroup */
640
+
641
+ /**
642
+ * A hook event that fires at the beginning of {@linkcode EnvironmentCanvasGroup.initialize | EnvironmentCanvasGroup#initialize} which
643
+ * allows the environment configuration to be altered by hook functions.
644
+ * The provided config param should be mutated to make any desired changes.
645
+ * A method subscribing to this hook may return false to prevent further configuration.
646
+ * @remarks This is called by {@linkcode Hooks.call}.
647
+ */
648
+ configureCanvasEnvironment: (config: EnvironmentCanvasGroup.Config) => boolean | void;
649
+
650
+ /* -------------------------------------------- */
651
+
652
+ /**
653
+ * A hook event that fires at the end of {@linkcode EnvironmentCanvasGroup.initialize | EnvironmentCanvasGroup#initialize} which
654
+ * allows the environment configuration to be altered by hook functions.
655
+ * @remarks This is called by {@linkcode Hooks.callAll}.
656
+ */
657
+ initializeCanvasEnvironment: () => void;
658
+
636
659
  /** CanvasVisibility */
637
660
 
638
661
  /**
@@ -640,46 +663,45 @@ export interface AllHooks extends DynamicHooks {
640
663
  * @param visibility - The CanvasVisibility instance
641
664
  * @remarks This is called by {@linkcode Hooks.callAll}.
642
665
  */
643
- initializeVisionMode: (visibility: CanvasVisibility.Any) => void;
666
+ initializeVisionMode: (visibility: CanvasVisibility.Implementation) => void;
644
667
 
645
668
  /**
646
669
  * A hook event that fires when the set of vision sources are initialized.
647
670
  * @param sources - The collection of current vision sources
648
671
  * @remarks This is called by {@linkcode Hooks.call}.
649
672
  */
650
- initializeVisionSources: (sources: Collection<PointVisionSource.Any>) => void;
673
+ initializeVisionSources: (sources: EffectsCanvasGroup.Implementation["visionSources"]) => void;
651
674
 
652
675
  /**
653
676
  * A hook event that fires when the LightingLayer is refreshed.
654
- * @param layer - the LightingLayer
677
+ * @param group - The EffectsCanvasGroup instance
655
678
  * @remarks This is called by {@linkcode Hooks.callAll}.
656
- * @see {@link LightingLayer.refresh | `LightingLayer#refresh`}
657
679
  */
658
- lightingRefresh: (layer: layers.LightingLayer) => void;
680
+ lightingRefresh: (group: EffectsCanvasGroup.Implementation) => void;
659
681
 
660
682
  /**
661
683
  * A hook event that fires when visibility is refreshed.
662
- * @param visibility - The CanvasVisibility instance
684
+ * @param visibility - The {@linkcode CanvasVisibility} instance
663
685
  * @remarks This is called by {@linkcode Hooks.callAll}.
664
686
  */
665
- visibilityRefresh: (visibility: CanvasVisibility) => void;
687
+ visibilityRefresh: (visibility: CanvasVisibility.Implementation) => void;
666
688
 
667
689
  /**
668
690
  * A hook event that fires during light source initialization.
669
691
  * This hook can be used to add programmatic light sources to the Scene.
670
- * @param source - The EffectsCanvasGroup where light sources are initialized
692
+ * @param source - The {@linkcode EffectsCanvasGroup} where light sources are initialized
671
693
  * @remarks This is called by {@linkcode Hooks.callAll}.
672
- * @see {@link EffectsCanvasGroup.initializeLightSources | `EffectsCanvasGroup#initializeLightSources`}
694
+ * @see {@link EffectsCanvasGroup.Implementation.initializeLightSources | `EffectsCanvasGroup#initializeLightSources`}
673
695
  */
674
- initializeLightSources: (group: EffectsCanvasGroup) => void;
696
+ initializeLightSources: (group: EffectsCanvasGroup.Implementation) => void;
675
697
 
676
698
  /**
677
- * A hook event that fires during darkness source initialization.
678
- * This hook can be used to add programmatic darkness sources to the Scene.
679
- * @param group - The EffectsCanvasGroup where darkness sources are initialized
699
+ * A hook event that fires after priority light sources initialization.
700
+ * This hook can be used to add specific behaviors when for edges sources to the Scene.
701
+ * @param group - The {@linkcode EffectsCanvasGroup} where priority sources are initialized
680
702
  * @remarks This is called by {@linkcode Hooks.callAll}.
681
703
  */
682
- initializeDarknessSources: (group: EffectsCanvasGroup) => void;
704
+ initializePriorityLightSources: (group: EffectsCanvasGroup.Implementation) => void;
683
705
 
684
706
  /**
685
707
  * A hook event that fires when the CanvasVisibility layer has been refreshed.
@@ -687,7 +709,7 @@ export interface AllHooks extends DynamicHooks {
687
709
  * @remarks This is called by {@linkcode Hooks.callAll}.
688
710
  * @see {@link CanvasVisibility.restrictVisibility | `CanvasVisibility#restrictVisibility`}
689
711
  */
690
- sightRefresh: (visibility: CanvasVisibility) => void;
712
+ sightRefresh: (visibility: CanvasVisibility.Implementation) => void;
691
713
 
692
714
  /** Weather */
693
715