@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.
- package/package.json +1 -1
- package/src/foundry/client/canvas/containers/advanced/cached-container.d.mts +15 -15
- package/src/foundry/client/canvas/containers/advanced/full-canvas-mixin.d.mts +2 -2
- package/src/foundry/client/canvas/containers/elements/control-icon.d.mts +12 -32
- package/src/foundry/client/canvas/containers/elements/cursor.d.mts +14 -1
- package/src/foundry/client/canvas/containers/elements/door-control.d.mts +2 -2
- package/src/foundry/client/canvas/containers/elements/door-mesh.d.mts +215 -3
- package/src/foundry/client/canvas/containers/elements/grid-highlight.d.mts +3 -3
- package/src/foundry/client/canvas/containers/elements/grid-mesh.d.mts +4 -4
- package/src/foundry/client/canvas/containers/elements/particles/leaves.d.mts +7 -6
- package/src/foundry/client/canvas/containers/elements/particles/particle-effect.d.mts +4 -5
- package/src/foundry/client/canvas/containers/elements/point-source-mesh.d.mts +18 -23
- package/src/foundry/client/canvas/containers/elements/precise-text.d.mts +9 -10
- package/src/foundry/client/canvas/containers/elements/quad-mesh.d.mts +1 -2
- package/src/foundry/client/canvas/containers/elements/resize-handle.d.mts +37 -11
- package/src/foundry/client/canvas/containers/elements/sprite-mesh.d.mts +34 -26
- package/src/foundry/client/canvas/layers/masks/depth.d.mts +1 -1
- package/src/foundry/client/canvas/layers/masks/occlusion.d.mts +1 -1
- package/src/foundry/client/canvas/primary/primary-canvas-container.d.mts +32 -0
- package/src/foundry/client/canvas/primary/primary-canvas-object.d.mts +39 -38
- package/src/foundry/client/canvas/primary/primary-graphics.d.mts +22 -18
- package/src/foundry/client/canvas/primary/primary-occludable-object.d.mts +59 -29
- package/src/foundry/client/canvas/primary/primary-particle-effect.d.mts +51 -0
- package/src/foundry/client/canvas/primary/primary-sprite-mesh.d.mts +72 -66
- package/src/foundry/client/config.d.mts +444 -311
- 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.
|
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,
|
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
|
-
* @
|
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 {@
|
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
|
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):
|
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 =
|
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 =
|
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,
|
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
|
52
|
-
* @
|
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(
|
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():
|
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 {@
|
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
|
-
|
5
|
-
|
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.
|
7
|
-
constructor(name: string, ...args: ConstructorParameters<typeof PIXI.
|
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
|
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
|
55
|
+
* @defaultValue {@linkcode CONST.GRID_TYPES.GRIDLESS}
|
56
56
|
*/
|
57
|
-
type:
|
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
|
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
|
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
|
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
|
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
|
-
*
|
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
|
|