@league-of-foundry-developers/foundry-vtt-types 13.346.0-beta.20250718083608 → 13.346.0-beta.20250719181625

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 (26) hide show
  1. package/package.json +1 -1
  2. package/src/foundry/client/canvas/containers/advanced/cached-container.d.mts +15 -15
  3. package/src/foundry/client/canvas/containers/advanced/full-canvas-mixin.d.mts +2 -2
  4. package/src/foundry/client/canvas/containers/elements/control-icon.d.mts +12 -32
  5. package/src/foundry/client/canvas/containers/elements/cursor.d.mts +14 -1
  6. package/src/foundry/client/canvas/containers/elements/door-control.d.mts +2 -2
  7. package/src/foundry/client/canvas/containers/elements/door-mesh.d.mts +215 -3
  8. package/src/foundry/client/canvas/containers/elements/grid-highlight.d.mts +3 -3
  9. package/src/foundry/client/canvas/containers/elements/grid-mesh.d.mts +4 -4
  10. package/src/foundry/client/canvas/containers/elements/particles/leaves.d.mts +7 -6
  11. package/src/foundry/client/canvas/containers/elements/particles/particle-effect.d.mts +4 -5
  12. package/src/foundry/client/canvas/containers/elements/point-source-mesh.d.mts +18 -23
  13. package/src/foundry/client/canvas/containers/elements/precise-text.d.mts +9 -10
  14. package/src/foundry/client/canvas/containers/elements/quad-mesh.d.mts +1 -2
  15. package/src/foundry/client/canvas/containers/elements/resize-handle.d.mts +37 -11
  16. package/src/foundry/client/canvas/containers/elements/sprite-mesh.d.mts +34 -26
  17. package/src/foundry/client/canvas/layers/masks/depth.d.mts +1 -1
  18. package/src/foundry/client/canvas/layers/masks/occlusion.d.mts +1 -1
  19. package/src/foundry/client/canvas/primary/primary-canvas-container.d.mts +32 -0
  20. package/src/foundry/client/canvas/primary/primary-canvas-object.d.mts +39 -38
  21. package/src/foundry/client/canvas/primary/primary-graphics.d.mts +22 -18
  22. package/src/foundry/client/canvas/primary/primary-occludable-object.d.mts +59 -29
  23. package/src/foundry/client/canvas/primary/primary-particle-effect.d.mts +51 -0
  24. package/src/foundry/client/canvas/primary/primary-sprite-mesh.d.mts +72 -66
  25. package/src/foundry/client/config.d.mts +444 -311
  26. package/src/foundry/client/documents/wall.d.mts +13 -2
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@league-of-foundry-developers/foundry-vtt-types",
4
- "version": "13.346.0-beta.20250718083608",
4
+ "version": "13.346.0-beta.20250719181625",
5
5
  "description": "TypeScript type definitions for Foundry VTT",
6
6
  "type": "module",
7
7
  "types": "./src/index.d.mts",
@@ -1,20 +1,20 @@
1
- import type { Identity, NullishProps } from "#utils";
1
+ import type { Identity, InexactPartial } from "#utils";
2
2
  import { SpriteMesh } from "#client/canvas/containers/_module.mjs";
3
3
 
4
4
  /**
5
- * A special type of PIXI.Container which draws its contents to a cached RenderTexture.
6
- * This is accomplished by overriding the Container#render method to draw to our own special RenderTexture.
5
+ * A special type of {@linkcode PIXI.Container} which draws its contents to a cached {@linkcode PIXI.RenderTexture | RenderTexture}.
6
+ * This is accomplished by overriding the {@linkcode PIXI.Container.render | Container#render} method to draw to our own special `RenderTexture`.
7
7
  */
8
8
  declare class CachedContainer extends PIXI.Container {
9
9
  /**
10
10
  * Construct a CachedContainer.
11
- * @param sprite - A specific sprite to bind to this CachedContainer and its renderTexture.
11
+ * @param sprite - A specific sprite to bind to this `CachedContainer` and its renderTexture.
12
12
  */
13
13
  constructor(sprite?: PIXI.Sprite | SpriteMesh);
14
14
 
15
15
  /**
16
16
  * The texture configuration to use for this cached container
17
- * @remarks Foundry marked as `@abstract`
17
+ * @abstract
18
18
  */
19
19
  static textureConfiguration: CachedContainer.TextureConfiguration;
20
20
 
@@ -37,7 +37,7 @@ declare class CachedContainer extends PIXI.Container {
37
37
 
38
38
  /**
39
39
  * If true, the Container is rendered every frame.
40
- * If false, the Container is rendered only if {@link CachedContainer.renderDirty | `CachedContainer#renderDirty`} is true.
40
+ * If false, the Container is rendered only if {@linkcode CachedContainer.renderDirty | CachedContainer#renderDirty} is true.
41
41
  * @defaultValue `true`
42
42
  */
43
43
  autoRender: boolean;
@@ -79,18 +79,17 @@ declare class CachedContainer extends PIXI.Container {
79
79
  /**
80
80
  * Remove a previously created render texture.
81
81
  * @param renderTexture - The render texture to remove.
82
- * @param destroy - Should the render texture be destroyed?
83
- * (default: `true`)
82
+ * @param destroy - Should the render texture be destroyed? (default: `true`)
84
83
  */
85
- removeRenderTexture(renderTexture: PIXI.RenderTexture, destroy?: boolean | null): void;
84
+ removeRenderTexture(renderTexture: PIXI.RenderTexture, destroy?: boolean): void;
86
85
 
87
86
  /**
88
87
  * Clear the cached container, removing its current contents.
89
- * @param destroy - Tell children that we should destroy texture as well.
88
+ * @param destroy - Tell children that we should destroy texture as well. (default: `true`)
90
89
  * @returns A reference to the cleared container for chaining.
91
90
  * @remarks Added possibility of void return due to child classes
92
91
  */
93
- clear(destroy?: boolean): CachedContainer | void;
92
+ clear(destroy?: boolean): this;
94
93
 
95
94
  override destroy(options?: PIXI.IDestroyOptions | boolean): void;
96
95
 
@@ -102,6 +101,8 @@ declare class CachedContainer extends PIXI.Container {
102
101
  * @param rt - The render texture to resize.
103
102
  */
104
103
  static resizeRenderTexture(renderer: PIXI.Renderer, rt: PIXI.RenderTexture): void;
104
+
105
+ #CachedContainer: true;
105
106
  }
106
107
 
107
108
  declare namespace CachedContainer {
@@ -109,25 +110,24 @@ declare namespace CachedContainer {
109
110
  interface AnyConstructor extends Identity<typeof AnyCachedContainer> {}
110
111
 
111
112
  /** @internal */
112
- type _TextureConfiguration = NullishProps<{
113
+ type _TextureConfiguration = InexactPartial<{
113
114
  multisample: PIXI.MSAA_QUALITY;
114
115
  scaleMode: PIXI.SCALE_MODES;
115
116
  format: PIXI.FORMATS;
116
-
117
- /** @remarks Only exists on DarknessLevelContainer and is seemingly unused there */
118
117
  mipmap: PIXI.MIPMAP_MODES;
119
118
  }>;
120
119
 
121
120
  interface TextureConfiguration extends _TextureConfiguration {}
122
121
 
123
122
  /** @internal */
124
- type _RenderOptions = NullishProps<{
123
+ type _RenderOptions = InexactPartial<{
125
124
  /** Render function that will be called to render into the RT. */
126
125
  renderFunction: (renderer: PIXI.Renderer) => void;
127
126
 
128
127
  /** An optional clear color to clear the RT before rendering into it. */
129
128
  clearColor: Color.RGBAColorVector;
130
129
  }>;
130
+
131
131
  interface RenderOptions extends _RenderOptions {}
132
132
  }
133
133
 
@@ -5,12 +5,12 @@ declare class FullCanvasObject {
5
5
  /** @privateRemarks All mixin classes should accept anything for its constructor. */
6
6
  constructor(...args: any[]);
7
7
 
8
- /** @remarks Overrides the mixed PIXI class's method, @see {@link PIXI.DisplayObject.calculateBounds | `PIXI.DisplayObject#calculateBounds`} */
8
+ /** @remarks Overrides the mixed PIXI class's method, see {@linkcode PIXI.DisplayObject.calculateBounds | PIXI.DisplayObject#calculateBounds} */
9
9
  calculateBounds(): void;
10
10
  }
11
11
 
12
12
  /**
13
- * Augment any PIXI.DisplayObject to assume bounds that are always aligned with the full visible screen.
13
+ * Augment any {@linkcode PIXI.DisplayObject} to assume bounds that are always aligned with the full visible screen.
14
14
  * The bounds of this container do not depend on its children but always fill the entire canvas.
15
15
  * @param Base - Any PIXI DisplayObject subclass
16
16
  */
@@ -25,18 +25,15 @@ declare class ControlIcon extends PIXI.Container {
25
25
  */
26
26
  tintColor: number | null;
27
27
 
28
- /**
29
- * @defaultValue `static`
30
- */
28
+ /** @defaultValue `"static"` */
31
29
  override eventMode: PIXI.EventMode;
32
30
 
33
- /**
34
- * @defaultValue `false`
35
- */
31
+ /** @defaultValue `false` */
36
32
  override interactiveChildren: boolean;
37
33
 
38
34
  override hitArea: PIXI.Rectangle;
39
35
 
36
+ /** @defaultValue `"pointer"` */
40
37
  override cursor: string;
41
38
 
42
39
  bg: PIXI.Graphics;
@@ -48,22 +45,23 @@ declare class ControlIcon extends PIXI.Container {
48
45
  tooltip: PreciseText;
49
46
 
50
47
  /**
51
- * The elevation of the ControlIcon, which is displayed in its tooltip text.
52
- * @throws If a set is attempted with anything but a finite number
48
+ * The elevation of the `ControlIcon`, which is displayed in its tooltip text.
49
+ * @remarks
50
+ * @throws If passed `NaN` or `+`/`-Infinity`
53
51
  */
54
52
  get elevation(): number;
55
53
 
56
54
  set elevation(value);
57
55
 
58
56
  /**
59
- * Initial drawing of the ControlIcon
57
+ * Initial drawing of the `ControlIcon`
60
58
  */
61
59
  draw(): Promise<this>;
62
60
 
63
61
  /**
64
- * Incremental refresh for ControlIcon appearance.
62
+ * Incremental refresh for `ControlIcon` appearance.
65
63
  */
66
- refresh({ visible, iconColor, borderColor, borderVisible }?: ControlIcon.RefreshOptions): this;
64
+ refresh(options?: ControlIcon.RefreshOptions): this;
67
65
  }
68
66
 
69
67
  declare namespace ControlIcon {
@@ -72,17 +70,10 @@ declare namespace ControlIcon {
72
70
 
73
71
  /** @internal */
74
72
  type _Options = InexactPartial<{
75
- /**
76
- * @defaultValue `40`
77
- * @remarks Can't be `null` as it only has a parameter default, and `null` coerced to `0` is a nonsensical size value
78
- */
73
+ /** @defaultValue `40` */
79
74
  size: number;
80
75
 
81
- /**
82
- * @defaultValue `0xFF5500`
83
- * @remarks Can't be `null` as that's not a valid value for the `PIXI.Color` constructor,
84
- * and it only has a parameter default
85
- */
76
+ /** @defaultValue `0xFF5500` */
86
77
  borderColor: number;
87
78
 
88
79
  /**
@@ -91,11 +82,7 @@ declare namespace ControlIcon {
91
82
  */
92
83
  tint: number | null;
93
84
 
94
- /**
95
- * @defaultValue `number`
96
- * @remarks Can't be null as the `ControlIcon#elevation` setter throws if passed anything but a finite number,
97
- * and it only has a parameter default
98
- */
85
+ /** @defaultValue `number` */
99
86
  elevation: number;
100
87
  }>;
101
88
 
@@ -106,16 +93,9 @@ declare namespace ControlIcon {
106
93
 
107
94
  /** @internal */
108
95
  type _RefreshOptions = InexactPartial<{
109
- /** @remarks Can't be `null` because of an explicit `!== undefined` check */
110
96
  visible: boolean;
111
-
112
- /** @remarks Can't be `null` because of an explicit `!== undefined` check */
113
97
  iconColor: number;
114
-
115
- /** @remarks Can't be `null` because of an explicit `!== undefined` check */
116
98
  borderColor: number;
117
-
118
- /** @remarks Can't be `null` because of an explicit `!== undefined` check */
119
99
  borderVisible: boolean;
120
100
  }>;
121
101
 
@@ -7,10 +7,20 @@ declare class Cursor extends PIXI.Container {
7
7
  constructor(user: User.Implementation);
8
8
 
9
9
  /**
10
+ * The target cursor position.
10
11
  * @defaultValue `{x: 0, y: 0}`
11
12
  */
12
13
  target: PIXI.IPointData;
13
14
 
15
+ /**
16
+ * Update the position of this cursor based on the current position?
17
+ * @defaultValue `true`
18
+ * @internal
19
+ */
20
+ protected _updatePosition: boolean;
21
+
22
+ override updateTransform(): void;
23
+
14
24
  /**
15
25
  * Update visibility and animations
16
26
  * @param user - The user
@@ -24,10 +34,13 @@ declare class Cursor extends PIXI.Container {
24
34
 
25
35
  /**
26
36
  * Move an existing cursor to a new position smoothly along the animation loop
37
+ * @deprecated Made hard private in v13 (this warning will be removed in v14)
27
38
  */
28
- protected _animate(): void;
39
+ protected _animate(): never;
29
40
 
30
41
  override destroy(options?: PIXI.IDestroyOptions | boolean): void;
42
+
43
+ #Cursor: true;
31
44
  }
32
45
 
33
46
  declare namespace Cursor {
@@ -11,7 +11,7 @@ declare class DoorControl extends PIXI.Container {
11
11
 
12
12
  /**
13
13
  * @defaultValue `false`
14
- * @remarks "Door controls are not visible by default"
14
+ * @remarks Foundry comments "Door controls are not visible by default"
15
15
  */
16
16
  override visible: boolean;
17
17
 
@@ -44,7 +44,7 @@ declare class DoorControl extends PIXI.Container {
44
44
  /**
45
45
  * Determine whether the DoorControl is visible to the calling user's perspective.
46
46
  * The control is always visible if the user is a GM and no Tokens are controlled.
47
- * @see {@link foundry.canvas.groups.CanvasVisibility.testVisibility | `CanvasVisibility#testVisibility`}
47
+ * @see {@linkcode foundry.canvas.groups.CanvasVisibility.testVisibility | CanvasVisibility#testVisibility}
48
48
  */
49
49
  get isVisible(): boolean;
50
50
 
@@ -1,12 +1,224 @@
1
- import type { Identity } from "#utils";
1
+ import type { ConcreteKeys, Identity, InexactPartial, ValueOf } from "#utils";
2
2
  import type { PrimarySpriteMesh } from "#client/canvas/primary/_module.d.mts";
3
+ import type { CanvasAnimation } from "#client/canvas/animation/_module.d.mts";
4
+ import type { Wall } from "#client/canvas/placeables/_module.d.mts";
3
5
 
4
- // TODO: whole class
5
- declare class DoorMesh extends PrimarySpriteMesh {}
6
+ /**
7
+ * A special subclass of {@linkcode PrimarySpriteMesh} used to render an interactive door.
8
+ */
9
+ declare class DoorMesh extends PrimarySpriteMesh {
10
+ /**
11
+ * Construct a DoorMesh by providing {@linkcode PrimarySpriteMesh} constructor options and specific door configuration.
12
+ * @remarks `options` is required, `texture` and `object` must be passed or construction will throw.
13
+ *
14
+ * If no door configuration options are passed, the `"swing"` animation config will be loaded
15
+ */
16
+ constructor(options: DoorMesh.ConstructorOptions);
17
+
18
+ /**
19
+ * The possible rendering styles for a door mesh.
20
+ * @remarks Frozen.
21
+ */
22
+ static DOOR_STYLES: Readonly<DoorMesh.DoorStyles>;
23
+
24
+ /**
25
+ * The original position of the door in its resting CLOSED state.
26
+ * @internal
27
+ */
28
+ protected _closedPosition: DoorMesh.StateSnapshot;
29
+
30
+ /**
31
+ * The currently rendered position of the door.
32
+ * @internal
33
+ */
34
+ protected _animatedPosition: DoorMesh.StateSnapshot;
35
+
36
+ /**
37
+ * An amount of pixel padding surrounding the door texture.
38
+ */
39
+ texturePadding: number;
40
+
41
+ /**
42
+ * The identifier for this door animation.
43
+ */
44
+ get animationId(): string;
45
+
46
+ /**
47
+ * Configure and initialize the DoorMesh.
48
+ * This is called automatically upon construction, but may be called manually later to update the DoorMesh.
49
+ * @remarks Despite all properties of {@linkcode DoorMesh.AnimationConfiguration} being optional, `options`
50
+ * lacks a `={}` default, so you must pass at least an empty object
51
+ */
52
+ initialize(animation: DoorMesh.AnimationConfiguration): void;
53
+
54
+ /**
55
+ * Animate the door to its current rendered state.
56
+ * @param open - Is the door now open or closed? (default: {@linkcode Wall.isOpen | this.object.isOpen})
57
+ */
58
+ animate(open?: boolean): Promise<void>;
59
+
60
+ /**
61
+ * Configure the `"swing"` animation.
62
+ * @remarks A valid {@linkcode CONFIG.Wall.DoorAnimationFunction}
63
+ */
64
+ static animateSwing(this: DoorMesh, open: boolean): CanvasAnimation.Attribute[];
65
+
66
+ /**
67
+ * Configure the `"ascend"` animation.
68
+ * @remarks A valid {@linkcode CONFIG.Wall.DoorAnimationFunction}
69
+ */
70
+ static animateAscend(this: DoorMesh, open: boolean): CanvasAnimation.Attribute[];
71
+
72
+ /**
73
+ * Special initialization needed for descending door types.
74
+ * @remarks A valid {@linkcode CONFIG.Wall.DoorAnimationHook}
75
+ */
76
+ static initializeDescend(this: DoorMesh, open: boolean): void;
77
+
78
+ /**
79
+ * When closing a descending door, shift its elevation to the foreground before animation.
80
+ * @remarks A valid {@linkcode CONFIG.Wall.DoorAnimationHook}
81
+ */
82
+ static preAnimateDescend(this: DoorMesh, open: boolean): Promise<void>;
83
+
84
+ /**
85
+ * Configure the `"descend"` animation.
86
+ * @remarks A valid {@linkcode CONFIG.Wall.DoorAnimationFunction}
87
+ */
88
+ static animateDescend(this: DoorMesh, open: boolean): CanvasAnimation.Attribute[];
89
+
90
+ /**
91
+ * When opening a descending door, shift its elevation to the background after animation.
92
+ * @remarks A valid {@linkcode CONFIG.Wall.DoorAnimationHook}
93
+ */
94
+ static postAnimateDescend(this: DoorMesh, open: boolean): Promise<void>;
95
+
96
+ /**
97
+ * Configure the `"slide"` animation.
98
+ * @remarks A valid {@linkcode CONFIG.Wall.DoorAnimationFunction}
99
+ */
100
+ static animateSlide(this: DoorMesh, open: boolean): CanvasAnimation.Attribute[];
101
+
102
+ #DoorMesh: true;
103
+ }
6
104
 
7
105
  declare namespace DoorMesh {
8
106
  interface Any extends AnyDoorMesh {}
9
107
  interface AnyConstructor extends Identity<typeof AnyDoorMesh> {}
108
+
109
+ /**
110
+ * @remarks Foundry types {@linkcode AnimationConfiguration.style | style} as required at construction, but it gets passed
111
+ * to `##configure` via {@linkcode DoorMesh.initialize | #initialize}, where it has a default applied
112
+ */
113
+ interface ConstructorOptions
114
+ extends Omit<PrimarySpriteMesh.ConstructorOptions, "object" | "texture">,
115
+ AnimationConfiguration {
116
+ /**
117
+ * Texture passed to the SpriteMesh.
118
+ * @remarks Required for {@linkcode DoorMesh}, as the constructor calls `##configure` which calls `##getClosedPosition`
119
+ * which assumes a valid {@linkcode DoorMesh.texture | this.texture}
120
+ */
121
+ texture: PIXI.Texture;
122
+
123
+ /**
124
+ * @remarks This is technically inherited from {@linkcode PrimarySpriteMesh.ConstructorOptions.object}, which is much wider,
125
+ * but by usage this class requires {@linkcode Wall}s. Required because `##configure` assumes it can call its
126
+ * {@linkcode Wall.isOpen | isOpen} method.
127
+ *
128
+ * See {@linkcode foundry.canvas.primary.PrimaryCanvasObjectMixin.AnyMixed.object | PrimaryCanvasObject#object}
129
+ */
130
+ object: Wall.Implementation;
131
+ }
132
+
133
+ type ConfiguredAnimationType = ConcreteKeys<typeof CONFIG.Wall.animationTypes>;
134
+
135
+ /** @internal */
136
+ type _AnimationConfiguration = InexactPartial<{
137
+ /**
138
+ * @defaultValue `1`
139
+ * @remarks
140
+ * - For `swing` and `swivel` this is rotation direction: `1` for clockwise, `-1` counter-clockwise (pivoting from the
141
+ * {@linkcode Wall.edge.a | a} endpoint of the edge for `swing`, and the midpoint for `swivel`)
142
+ * - For `slide`, `1` slides towards `a` , `-1` away
143
+ * - For `ascend` and `descend` it has no effect
144
+ */
145
+ direction: -1 | 1;
146
+
147
+ /**
148
+ * @defaultValue `false`
149
+ * @remarks Is this mesh part of a double door pair?
150
+ */
151
+ double: boolean;
152
+
153
+ /**
154
+ * @defaultValue `500`
155
+ * @remarks Animation time in milliseconds
156
+ *
157
+ * The claimed default is the value in the configs for `swivel`, `slide`, and `swing` in {@linkcode CONFIG.Wall.animationTypes},
158
+ * but the default of the {@linkcode WallDocument.AnimationData.duration | WallDocument#animation#duration} field is `750`
159
+ */
160
+ duration: number;
161
+
162
+ /**
163
+ * @defaultValue `false`
164
+ * @remarks Flip the texture along the axis of the door?
165
+ */
166
+ flip: boolean;
167
+
168
+ /**
169
+ * A multiplier between 0 and 2 that modifies how much the door moves when animating.
170
+ * For example for a swinging door, more strength produces a wider open angle. For a
171
+ * sliding door, more strength causes the door to slide farther.
172
+ * @defaultValue `1.0`
173
+ * @remarks
174
+ * - For `swing` and `swivel` it's a linear scale from 0 (no movement) to 2 (180 degrees)
175
+ * - For `slide` it's door-lengths shifted
176
+ * - For `ascend` and `descend` it affects how much the texture grows/shrinks. For `ascend` there's also code in place that implies it should
177
+ * affect the texture `alpha` (down to a minimum of `0.6` at strength `2.0`), but it's non-functional as of 13.346: {@link https://github.com/foundryvtt/foundryvtt/issues/13157}
178
+ */
179
+ strength: number;
180
+
181
+ /**
182
+ * @defaultValue `"swing"`
183
+ * @remarks Will also use `"swing"` as fallback if an invalid value is passed at runtime; {@linkcode WallDocument.AnimationData.type | Wall#animation#type}
184
+ * is not constrained by `choices`, so it will persist currently-invalid `type`s until updated
185
+ */
186
+ type: ConfiguredAnimationType;
187
+
188
+ /** @remarks Default depends on the value of `double`; `"doubleL"` if truthy, `"single"` otherwise */
189
+ style: DoorStyle;
190
+ }>;
191
+
192
+ /**
193
+ * @remarks The Foundry typedef has `config` and `style` as required properties, but that is for the type of `DoorMesh##animation`,
194
+ * after the object's passed through `##configure` and had defaults applied. Since there's no public access to that property, this
195
+ * interface is typed for input, with everything optional.
196
+ *
197
+ * `config` always gets set to {@linkcode CONFIG.Wall.animationTypes | CONFIG.Wall.animationTypes[type]}, regardless of input, so it
198
+ * is not included here.
199
+ *
200
+ * See {@linkcode WallDocument.AnimationData}
201
+ */
202
+ interface AnimationConfiguration extends _AnimationConfiguration {}
203
+
204
+ interface DoorStyles {
205
+ SINGLE: "single";
206
+ DOUBLE_LEFT: "doubleL";
207
+ DOUBLE_RIGHT: "doubleR";
208
+ }
209
+
210
+ type DoorStyle = ValueOf<DoorStyles>;
211
+
212
+ interface StateSnapshot {
213
+ x: number;
214
+ y: number;
215
+ elevation: number;
216
+ sort: number;
217
+ rotation: number;
218
+ scaleX: number;
219
+ scaleY: number;
220
+ tint: number;
221
+ }
10
222
  }
11
223
 
12
224
  export default DoorMesh;
@@ -3,13 +3,13 @@ import type { Identity } from "#utils";
3
3
  /**
4
4
  * A special Graphics class which handles Grid layer highlighting
5
5
  */
6
- declare class GridHighlight extends PIXI.Graphics {
7
- constructor(name: string, ...args: ConstructorParameters<typeof PIXI.Graphics>);
6
+ declare class GridHighlight extends PIXI.smooth.SmoothGraphics {
7
+ constructor(name: string, ...args: ConstructorParameters<typeof PIXI.smooth.SmoothGraphics>);
8
8
 
9
9
  /**
10
10
  * Track the Grid Highlight name
11
11
  */
12
- name: string;
12
+ override name: string;
13
13
 
14
14
  /**
15
15
  * Track distinct positions which have already been highlighted
@@ -8,9 +8,9 @@ import { QuadMesh } from "#client/canvas/containers/_module.mjs";
8
8
  declare class GridMesh extends QuadMesh {
9
9
  /**
10
10
  * The grid mesh constructor.
11
- * @param shaderClass - The shader class
11
+ * @param shaderClass - The shader class (default: {@linkcode GridShader})
12
12
  */
13
- constructor(shaderClass: GridShader.AnyConstructor);
13
+ constructor(shaderClass?: GridShader.AnyConstructor);
14
14
 
15
15
  /**
16
16
  * The data of this mesh.
@@ -52,9 +52,9 @@ declare namespace GridMesh {
52
52
  interface MeshData {
53
53
  /**
54
54
  * The type of the grid (see {@linkcode CONST.GRID_TYPES})
55
- * @defaultValue `CONST.GRID_TYPES.GRIDLESS`
55
+ * @defaultValue {@linkcode CONST.GRID_TYPES.GRIDLESS}
56
56
  */
57
- type: foundry.CONST.GRID_TYPES;
57
+ type: CONST.GRID_TYPES;
58
58
 
59
59
  /**
60
60
  * The width of the grid in pixels
@@ -6,9 +6,10 @@ import { ParticleEffect } from "#client/canvas/containers/_module.mjs";
6
6
  */
7
7
  declare class AutumnLeavesWeatherEffect extends ParticleEffect {
8
8
  /**
9
- * @remarks `options` is completely unused in this subclass, as it gets passed to `#getParticleEmitters`, which, unlike super's method, takes no arguments
9
+ * @remarks `options` is completely unused in this subclass, as it gets passed to {@linkcode AutumnLeavesWeatherEffect.getParticleEmitters | #getParticleEmitters},
10
+ * which, unlike {@linkcode ParticleEffect | super}'s method, takes no arguments
10
11
  */
11
- constructor(options?: PIXI.particles.EmitterConfigV3 | null);
12
+ constructor(options?: PIXI.particles.EmitterConfigV3);
12
13
 
13
14
  /**
14
15
  * @defaultValue `"WEATHER.AutumnLeaves"`
@@ -19,13 +20,13 @@ declare class AutumnLeavesWeatherEffect extends ParticleEffect {
19
20
 
20
21
  /**
21
22
  * Configuration for the particle emitter for falling leaves
22
- * @remarks Not a complete EmitterConfigV3; the `frequency` and `pos` required keys are omitted. `frequency` is set
23
- * up in `#getParticleEmitters`, but `pos` is not; it is erroneously marked as required in the interface,
24
- * see https://github.com/pixijs-userland/particle-emitter/issues/219
23
+ * @remarks Not a complete {@linkcode PIXI.particles.EmitterConfigV3}; the `frequency` and `pos` required keys are omitted. `frequency` is set
24
+ * up in {@linkcode AutumnLeavesWeatherEffect.getParticleEmitters | #getParticleEmitters}, but `pos` is not; it is erroneously marked as required
25
+ * in the interface, see https://github.com/pixijs-userland/particle-emitter/issues/219
25
26
  */
26
27
  static LEAF_CONFIG: AutumnLeavesWeatherEffect.LeafConfig;
27
28
 
28
- /** @remarks This does not take a config paramater, unlike its parent class; uses `static LEAF_CONFIG` on this class instead */
29
+ /** @remarks This does not take a config parameter, unlike its parent class; uses {@linkcode AutumnLeavesWeatherEffect.LEAF_CONFIG} instead */
29
30
  override getParticleEmitters(): PIXI.particles.Emitter[];
30
31
  }
31
32
 
@@ -6,8 +6,7 @@ import { FullCanvasObjectMixin } from "#client/canvas/containers/_module.mjs";
6
6
  */
7
7
  declare class ParticleEffect extends FullCanvasObjectMixin(PIXI.Container) {
8
8
  /**
9
- * @param options - Options passed to the getParticleEmitters method which can be used to customize values of the emitter configuration.
10
- * (default: `{}`)
9
+ * @param options - Options passed to the getParticleEmitters method which can be used to customize values of the emitter configuration. (default: `{}`)
11
10
  * @remarks Despite being an `={}` parameter, construction will throw if it is passed (or defaults to via omission) an empty object
12
11
  */
13
12
  constructor(options: PIXI.particles.EmitterConfigV3);
@@ -15,7 +14,7 @@ declare class ParticleEffect extends FullCanvasObjectMixin(PIXI.Container) {
15
14
  emitters: PIXI.particles.Emitter[];
16
15
 
17
16
  /**
18
- * Create an emitter instance which automatically updates using the shared PIXI.Ticker
17
+ * Create an emitter instance which automatically updates using the shared {@linkcode PIXI.Ticker}
19
18
  * @param config - The emitter configuration
20
19
  * @returns The created Emitter instance
21
20
  */
@@ -26,9 +25,9 @@ declare class ParticleEffect extends FullCanvasObjectMixin(PIXI.Container) {
26
25
  * This base class creates a single emitter using the explicitly provided configuration.
27
26
  * Subclasses can override this method for more advanced configurations.
28
27
  * @param options - Options provided to the ParticleEffect constructor which can be used to customize
29
- * configuration values for created emitters. (default: `{}`)
30
- * @throws If `options` is passed as (or defaults to via omission) an empty object
28
+ * configuration values for created emitters. (default: `{}`)
31
29
  * @remarks Despite its name, this method only takes a single config object and only returns a single-element array.
30
+ * @throws If `options` is passed as (or defaults to via omission) an empty object
32
31
  */
33
32
  getParticleEmitters(options: PIXI.particles.EmitterConfigV3): PIXI.particles.Emitter[];
34
33