@league-of-foundry-developers/foundry-vtt-types 13.340.0 → 13.340.1
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/README.md +6 -3
- package/package.json +40 -18
- package/src/configuration/configuration.d.mts +24 -23
- package/src/configuration/documents.d.mts +295 -0
- package/src/configuration/globals.d.mts +8 -2
- package/src/configuration/index.d.mts +1 -0
- package/src/foundry/client/apps/app.d.mts +121 -119
- package/src/foundry/client/apps/av/av-config.d.mts +13 -8
- package/src/foundry/client/apps/av/cameras.d.mts +11 -11
- package/src/foundry/client/apps/dice/dice-config.d.mts +22 -8
- package/src/foundry/client/apps/form.d.mts +112 -94
- package/src/foundry/client/apps/forms/actor.d.mts +22 -12
- package/src/foundry/client/apps/forms/adventure-exporter.d.mts +13 -8
- package/src/foundry/client/apps/forms/adventure-importer.d.mts +15 -7
- package/src/foundry/client/apps/forms/base-sheet.d.mts +14 -7
- package/src/foundry/client/apps/forms/card-config.d.mts +17 -9
- package/src/foundry/client/apps/forms/cards-config.d.mts +13 -14
- package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/combatant-config.d.mts +4 -4
- package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/effect-config.d.mts +6 -6
- package/src/foundry/client/apps/forms/folder-config.d.mts +5 -5
- package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
- package/src/foundry/client/apps/forms/grid-config.d.mts +11 -11
- package/src/foundry/client/apps/forms/image-popout.d.mts +28 -22
- package/src/foundry/client/apps/forms/item.d.mts +6 -6
- package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +17 -15
- package/src/foundry/client/apps/forms/journal-sheet.d.mts +46 -37
- package/src/foundry/client/apps/forms/macro-config.d.mts +6 -6
- package/src/foundry/client/apps/forms/measure-template.d.mts +8 -8
- package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
- package/src/foundry/client/apps/forms/playlist-config.d.mts +7 -9
- package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +6 -6
- package/src/foundry/client/apps/forms/roll-table-config.d.mts +9 -10
- package/src/foundry/client/apps/forms/scene-config.d.mts +39 -39
- package/src/foundry/client/apps/forms/sheet-config.d.mts +8 -8
- package/src/foundry/client/apps/forms/user-config.d.mts +11 -11
- package/src/foundry/client/apps/hud/chatbubble.d.mts +14 -9
- package/src/foundry/client/apps/hud/container.d.mts +3 -3
- package/src/foundry/client/apps/hud/controls.d.mts +124 -84
- package/src/foundry/client/apps/hud/hotbar.d.mts +12 -12
- package/src/foundry/client/apps/hud/hud.d.mts +4 -4
- package/src/foundry/client/apps/hud/menu.d.mts +6 -6
- package/src/foundry/client/apps/hud/navigation.d.mts +11 -11
- package/src/foundry/client/apps/hud/pause.d.mts +7 -7
- package/src/foundry/client/apps/hud/players.d.mts +11 -11
- package/src/foundry/client/apps/i18n.d.mts +31 -27
- package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
- package/src/foundry/client/apps/placeables/drawing-hud.d.mts +4 -4
- package/src/foundry/client/apps/placeables/index.d.mts +0 -2
- package/src/foundry/client/apps/placeables/note-config.d.mts +27 -17
- package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
- package/src/foundry/client/apps/placeables/tile-hud.d.mts +8 -8
- package/src/foundry/client/apps/placeables/token-config.d.mts +84 -63
- package/src/foundry/client/apps/placeables/token-hud.d.mts +10 -10
- package/src/foundry/client/apps/placeables/wall-config.d.mts +19 -16
- package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
- package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +2 -2
- package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +13 -10
- package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +6 -6
- package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +6 -6
- package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +33 -28
- package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +1 -1
- package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +12 -9
- package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +40 -32
- package/src/foundry/client/apps/sidebar/document-directory.d.mts +44 -37
- package/src/foundry/client/apps/sidebar/package-configuration.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/sidebar.d.mts +7 -7
- package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +34 -29
- package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +15 -15
- package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +21 -12
- package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +8 -8
- package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +21 -21
- package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +6 -6
- package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +12 -12
- package/src/foundry/client/apps/templates.d.mts +2 -2
- package/src/foundry/client/av/clients/simplepeer.d.mts +4 -4
- package/src/foundry/client/av/settings.d.mts +16 -13
- package/src/foundry/client/config.d.mts +1982 -1823
- package/src/foundry/client/core/document-index.d.mts +12 -4
- package/src/foundry/client/core/hooks.d.mts +0 -2
- package/src/foundry/client/core/image.d.mts +13 -11
- package/src/foundry/client/core/issues.d.mts +11 -6
- package/src/foundry/client/core/keybindings.d.mts +3 -3
- package/src/foundry/client/core/nue.d.mts +1 -1
- package/src/foundry/client/core/packages.d.mts +393 -63
- package/src/foundry/client/core/settings.d.mts +34 -12
- package/src/foundry/client/core/socket.d.mts +2 -2
- package/src/foundry/client/core/sorting.d.mts +6 -6
- package/src/foundry/client/core/time.d.mts +6 -3
- package/src/foundry/client/core/tooltip.d.mts +1 -1
- package/src/foundry/client/core/tour.d.mts +58 -49
- package/src/foundry/client/core/tours.d.mts +1 -1
- package/src/foundry/client/core/utils.d.mts +3 -3
- package/src/foundry/client/core/workers.d.mts +24 -17
- package/src/foundry/client/data/abstract/canvas-document.d.mts +9 -15
- package/src/foundry/client/data/abstract/client-document.d.mts +133 -172
- package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +14 -36
- package/src/foundry/client/data/abstract/document-collection.d.mts +89 -65
- package/src/foundry/client/data/abstract/world-collection.d.mts +47 -53
- package/src/foundry/client/data/collections/actors.d.mts +24 -31
- package/src/foundry/client/data/collections/cards.d.mts +10 -6
- package/src/foundry/client/data/collections/combats.d.mts +12 -8
- package/src/foundry/client/data/collections/compendium-collection.d.mts +79 -66
- package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
- package/src/foundry/client/data/collections/compendium-packs.d.mts +4 -4
- package/src/foundry/client/data/collections/fog.d.mts +10 -6
- package/src/foundry/client/data/collections/folder.d.mts +15 -10
- package/src/foundry/client/data/collections/items.d.mts +11 -7
- package/src/foundry/client/data/collections/journal.d.mts +16 -10
- package/src/foundry/client/data/collections/macros.d.mts +15 -22
- package/src/foundry/client/data/collections/messages.d.mts +14 -10
- package/src/foundry/client/data/collections/playlists.d.mts +12 -9
- package/src/foundry/client/data/collections/scenes.d.mts +19 -31
- package/src/foundry/client/data/collections/settings.d.mts +10 -6
- package/src/foundry/client/data/collections/tables.d.mts +11 -7
- package/src/foundry/client/data/collections/users.d.mts +14 -11
- package/src/foundry/client/data/documents/active-effect.d.mts +652 -88
- package/src/foundry/client/data/documents/actor-delta.d.mts +672 -28
- package/src/foundry/client/data/documents/actor.d.mts +722 -60
- package/src/foundry/client/data/documents/adventure.d.mts +482 -49
- package/src/foundry/client/data/documents/ambient-light.d.mts +426 -21
- package/src/foundry/client/data/documents/ambient-sound.d.mts +474 -15
- package/src/foundry/client/data/documents/card.d.mts +570 -39
- package/src/foundry/client/data/documents/cards.d.mts +742 -78
- package/src/foundry/client/data/documents/chat-message.d.mts +578 -45
- package/src/foundry/client/data/documents/combat.d.mts +701 -71
- package/src/foundry/client/data/documents/combatant.d.mts +510 -28
- package/src/foundry/client/data/documents/drawing.d.mts +543 -16
- package/src/foundry/client/data/documents/fog-exploration.d.mts +413 -27
- package/src/foundry/client/data/documents/folder.d.mts +461 -40
- package/src/foundry/client/data/documents/item.d.mts +679 -25
- package/src/foundry/client/data/documents/journal-entry-page.d.mts +587 -21
- package/src/foundry/client/data/documents/journal-entry.d.mts +621 -20
- package/src/foundry/client/data/documents/macro.d.mts +530 -25
- package/src/foundry/client/data/documents/measured-template.d.mts +480 -16
- package/src/foundry/client/data/documents/note.d.mts +495 -18
- package/src/foundry/client/data/documents/playlist-sound.d.mts +429 -27
- package/src/foundry/client/data/documents/playlist.d.mts +666 -75
- package/src/foundry/client/data/documents/region-behavior.d.mts +468 -38
- package/src/foundry/client/data/documents/region.d.mts +661 -35
- package/src/foundry/client/data/documents/scene.d.mts +986 -149
- package/src/foundry/client/data/documents/setting.d.mts +397 -15
- package/src/foundry/client/data/documents/table-result.d.mts +479 -17
- package/src/foundry/client/data/documents/table.d.mts +663 -80
- package/src/foundry/client/data/documents/tile.d.mts +502 -16
- package/src/foundry/client/data/documents/token.d.mts +1114 -90
- package/src/foundry/client/data/documents/user.d.mts +495 -27
- package/src/foundry/client/data/documents/wall.d.mts +550 -15
- package/src/foundry/client/game.d.mts +58 -92
- package/src/foundry/client/head.d.mts +5 -6
- package/src/foundry/client/hooks.d.mts +237 -221
- package/src/foundry/client/pixi/board.d.mts +95 -89
- package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +6 -5
- package/src/foundry/client/pixi/core/containers/cached-container.d.mts +5 -5
- package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +2 -2
- package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +3 -3
- package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +3 -3
- package/src/foundry/client/pixi/core/containers/quadtree.d.mts +23 -21
- package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +5 -5
- package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +5 -5
- package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +57 -51
- package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +3 -3
- package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +7 -7
- package/src/foundry/client/pixi/core/interaction/ping.d.mts +19 -11
- package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +7 -2
- package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +29 -23
- package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +83 -38
- package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +3 -3
- package/src/foundry/client/pixi/core/interaction/targets.d.mts +9 -9
- package/src/foundry/client/pixi/core/loader.d.mts +8 -8
- package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +9 -4
- package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +3 -3
- package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +3 -3
- package/src/foundry/client/pixi/core/shapes/ray.d.mts +23 -17
- package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +19 -14
- package/src/foundry/client/pixi/extensions/circle.d.mts +1 -1
- package/src/foundry/client/pixi/extensions/observable-transform.d.mts +3 -3
- package/src/foundry/client/pixi/groups/effects.d.mts +4 -4
- package/src/foundry/client/pixi/groups/environment.d.mts +5 -5
- package/src/foundry/client/pixi/groups/hidden.d.mts +3 -3
- package/src/foundry/client/pixi/groups/interface.d.mts +6 -6
- package/src/foundry/client/pixi/groups/overlay.d.mts +3 -3
- package/src/foundry/client/pixi/groups/primary.d.mts +11 -11
- package/src/foundry/client/pixi/groups/rendered.d.mts +3 -3
- package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +3 -3
- package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +13 -13
- package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +279 -233
- package/src/foundry/client/pixi/layers/controls/cursor.d.mts +17 -8
- package/src/foundry/client/pixi/layers/controls/door.d.mts +26 -14
- package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -79
- package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
- package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +4 -5
- package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +6 -4
- package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +7 -4
- package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +19 -16
- package/src/foundry/client/pixi/layers/effects/visibility.d.mts +101 -84
- package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +13 -4
- package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +31 -2
- package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +134 -59
- package/src/foundry/client/pixi/layers/grid/highlight.d.mts +13 -3
- package/src/foundry/client/pixi/layers/grid/layer.d.mts +89 -87
- package/src/foundry/client/pixi/layers/grid/mesh.d.mts +36 -15
- package/src/foundry/client/pixi/layers/masks/depth.d.mts +3 -3
- package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +4 -4
- package/src/foundry/client/pixi/layers/masks/vision.d.mts +6 -6
- package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +15 -11
- package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +11 -10
- package/src/foundry/client/pixi/layers/placeables/notes.d.mts +47 -28
- package/src/foundry/client/pixi/layers/placeables/regions.d.mts +25 -12
- package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -63
- package/src/foundry/client/pixi/layers/placeables/templates.d.mts +10 -11
- package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +28 -17
- package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +67 -46
- package/src/foundry/client/pixi/layers/placeables/walls.d.mts +50 -51
- package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +22 -16
- package/src/foundry/client/pixi/perception/detection-mode.d.mts +123 -51
- package/src/foundry/client/pixi/perception/fog.d.mts +34 -19
- package/src/foundry/client/pixi/perception/perception-manager.d.mts +137 -137
- package/src/foundry/client/pixi/perception/vision-mode.d.mts +92 -67
- package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +3 -3
- package/src/foundry/client/pixi/placeable.d.mts +241 -146
- package/src/foundry/client/pixi/placeables/drawing.d.mts +260 -134
- package/src/foundry/client/pixi/placeables/light.d.mts +204 -66
- package/src/foundry/client/pixi/placeables/note.d.mts +150 -55
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +7 -6
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +3 -3
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +2 -2
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +4 -4
- package/src/foundry/client/pixi/placeables/region.d.mts +219 -110
- package/src/foundry/client/pixi/placeables/sound.d.mts +211 -68
- package/src/foundry/client/pixi/placeables/template.d.mts +186 -100
- package/src/foundry/client/pixi/placeables/tile.d.mts +211 -142
- package/src/foundry/client/pixi/placeables/token.d.mts +911 -568
- package/src/foundry/client/pixi/placeables/wall.d.mts +253 -130
- package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +27 -5
- package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/helpers/framebuffer-snapshot.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +13 -5
- package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +6 -6
- package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +2 -2
- package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +6 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +6 -6
- package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +8 -5
- package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +6 -6
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +6 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +4 -3
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +7 -7
- package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +4 -4
- package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +4 -6
- package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +3 -3
- package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +14 -15
- package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +20 -27
- package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +5 -5
- package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +5 -5
- package/src/foundry/client/pixi/workers/texture-worker.d.mts +5 -5
- package/src/foundry/client/tours/setup-tour.d.mts +15 -10
- package/src/foundry/client/ui/dialog.d.mts +3 -3
- package/src/foundry/client/ui/dragdrop.d.mts +33 -27
- package/src/foundry/client/ui/editor.d.mts +29 -21
- package/src/foundry/client/ui/filepicker.d.mts +42 -37
- package/src/foundry/client/ui/filter.d.mts +60 -48
- package/src/foundry/client/ui/forms.d.mts +22 -22
- package/src/foundry/client/ui/prosemirror.d.mts +15 -7
- package/src/foundry/client/ui/secrets.d.mts +43 -28
- package/src/foundry/client/ui/tabs.d.mts +40 -33
- package/src/foundry/client-esm/_module.d.mts +5 -5
- package/src/foundry/client-esm/_types.d.mts +2 -1
- package/src/foundry/client-esm/applications/api/application.d.mts +93 -31
- package/src/foundry/client-esm/applications/api/dialog.d.mts +23 -23
- package/src/foundry/client-esm/applications/api/document-sheet.d.mts +85 -32
- package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +1 -1
- package/src/foundry/client-esm/applications/apps/av/camera-popout.d.mts +1 -1
- package/src/foundry/client-esm/applications/apps/av/cameras.d.mts +2 -2
- package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +4 -5
- package/src/foundry/client-esm/applications/apps/file-picker.d.mts +2 -2
- package/src/foundry/client-esm/applications/apps/grid-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/apps/image-popout.d.mts +1 -1
- package/src/foundry/client-esm/applications/apps/permission-config.d.mts +1 -1
- package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +4 -4
- package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
- package/src/foundry/client-esm/applications/elements/prosemirror-editor.d.mts +1 -1
- package/src/foundry/client-esm/applications/hud/drawing-hud.d.mts +1 -1
- package/src/foundry/client-esm/applications/hud/tile-hud.d.mts +1 -1
- package/src/foundry/client-esm/applications/hud/token-hud.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/active-effect-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +2 -2
- package/src/foundry/client-esm/applications/sheets/adventure-exporter.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/adventure-importer.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +5 -5
- package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +4 -4
- package/src/foundry/client-esm/applications/sheets/card-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/cards-config.d.mts +2 -2
- package/src/foundry/client-esm/applications/sheets/combatant-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/drawing-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/folder-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +2 -2
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-category-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/journal/journal-entry-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/macro-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/note-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/playlist-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/playlist-sound-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/region-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/roll-table-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/roll-table-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/scene-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/table-result-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/template-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/tile-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/token/mixin.d.mts +1 -0
- package/src/foundry/client-esm/applications/sheets/token/token-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/user-config.d.mts +4 -4
- package/src/foundry/client-esm/applications/sheets/wall-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/sidebar/apps/chat-popout.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/sidebar-tab.d.mts +2 -2
- package/src/foundry/client-esm/applications/sidebar/tabs/actor-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/cards-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/combat-tracker.d.mts +242 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/item-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/journal-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/macro-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/playlist-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/roll-table-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/sidebar/tabs/scene-directory.d.mts +1 -1
- package/src/foundry/client-esm/applications/ui/region-legend.d.mts +2 -2
- package/src/foundry/client-esm/applications/ux/context-menu.d.mts +56 -36
- package/src/foundry/client-esm/audio/_types.d.mts +2 -0
- package/src/foundry/client-esm/audio/biquad.d.mts +76 -26
- package/src/foundry/client-esm/audio/cache.d.mts +31 -20
- package/src/foundry/client-esm/audio/convolver.d.mts +47 -25
- package/src/foundry/client-esm/audio/helper.d.mts +124 -80
- package/src/foundry/client-esm/audio/sound.d.mts +202 -97
- package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
- package/src/foundry/client-esm/canvas/edges/collision.d.mts +12 -4
- package/src/foundry/client-esm/canvas/edges/edge.d.mts +13 -8
- package/src/foundry/client-esm/canvas/edges/edges.d.mts +3 -2
- package/src/foundry/client-esm/canvas/edges/vertex.d.mts +12 -10
- package/src/foundry/client-esm/canvas/regions/geometry.d.mts +14 -7
- package/src/foundry/client-esm/canvas/regions/mesh.d.mts +25 -14
- package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +50 -19
- package/src/foundry/client-esm/canvas/regions/shape.d.mts +45 -34
- package/src/foundry/client-esm/canvas/scene-manager.d.mts +7 -6
- package/src/foundry/client-esm/canvas/smaa/blend.d.mts +14 -3
- package/src/foundry/client-esm/canvas/smaa/edges.d.mts +25 -3
- package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +119 -20
- package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
- package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +69 -39
- package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +66 -40
- package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +78 -19
- package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +37 -20
- package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +39 -20
- package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +41 -12
- package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +15 -4
- package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +29 -14
- package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +84 -39
- package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +115 -41
- package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +83 -21
- package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +66 -93
- package/src/foundry/client-esm/canvas/tokens/ring.d.mts +146 -51
- package/src/foundry/client-esm/client.d.mts +16 -16
- package/src/foundry/client-esm/data/_module.d.mts +1 -1
- package/src/foundry/client-esm/data/calendar.d.mts +26 -39
- package/src/foundry/client-esm/data/client-backend.d.mts +6 -6
- package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +1 -1
- package/src/foundry/client-esm/data/region-behaviors/base.d.mts +5 -5
- package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +2 -2
- package/src/foundry/client-esm/data/terrain-data.d.mts +1 -1
- package/src/foundry/client-esm/dice/parser.d.mts +5 -27
- package/src/foundry/client-esm/dice/roll.d.mts +63 -80
- package/src/foundry/client-esm/dice/terms/coin.d.mts +4 -8
- package/src/foundry/client-esm/dice/terms/dice.d.mts +85 -64
- package/src/foundry/client-esm/dice/terms/die.d.mts +7 -7
- package/src/foundry/client-esm/dice/terms/fate.d.mts +5 -5
- package/src/foundry/client-esm/dice/terms/function.d.mts +13 -16
- package/src/foundry/client-esm/dice/terms/numeric.d.mts +2 -4
- package/src/foundry/client-esm/dice/terms/operator.d.mts +1 -1
- package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +8 -9
- package/src/foundry/client-esm/dice/terms/pool.d.mts +13 -28
- package/src/foundry/client-esm/dice/terms/string.d.mts +3 -3
- package/src/foundry/client-esm/dice/terms/term.d.mts +10 -5
- package/src/foundry/client-esm/dice/twister.d.mts +3 -3
- package/src/foundry/client-esm/documents/_module.d.mts +1 -1
- package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
- package/src/foundry/client-esm/helpers/compendium-art.d.mts +57 -4
- package/src/foundry/client-esm/packages/_module.d.mts +1 -1
- package/src/foundry/client-esm/packages/_types.d.mts +2 -0
- package/src/foundry/client-esm/utils/_module.d.mts +1 -1
- package/src/foundry/client-esm/utils/_types.d.mts +2 -1
- package/src/foundry/common/_types.d.mts +1 -1
- package/src/foundry/common/abstract/_module.d.mts +1 -0
- package/src/foundry/common/abstract/_types.d.mts +60 -54
- package/src/foundry/common/abstract/backend.d.mts +28 -16
- package/src/foundry/common/abstract/data.d.mts +133 -116
- package/src/foundry/common/abstract/document.d.mts +1233 -440
- package/src/foundry/common/abstract/embedded-collection.d.mts +2 -2
- package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
- package/src/foundry/common/abstract/type-data.d.mts +35 -43
- package/src/foundry/common/config.d.mts +3 -3
- package/src/foundry/common/constants.d.mts +27 -26
- package/src/foundry/common/data/_types.d.mts +2 -0
- package/src/foundry/common/data/data.d.mts +189 -87
- package/src/foundry/common/data/fields.d.mts +579 -258
- package/src/foundry/common/data/validation-failure.d.mts +9 -4
- package/src/foundry/common/documents/_types.d.mts +16 -9
- package/src/foundry/common/documents/active-effect.d.mts +280 -180
- package/src/foundry/common/documents/actor-delta.d.mts +317 -70
- package/src/foundry/common/documents/actor.d.mts +304 -103
- package/src/foundry/common/documents/adventure.d.mts +254 -140
- package/src/foundry/common/documents/ambient-light.d.mts +267 -76
- package/src/foundry/common/documents/ambient-sound.d.mts +267 -110
- package/src/foundry/common/documents/card.d.mts +267 -176
- package/src/foundry/common/documents/cards.d.mts +299 -128
- package/src/foundry/common/documents/chat-message.d.mts +276 -160
- package/src/foundry/common/documents/combat.d.mts +300 -91
- package/src/foundry/common/documents/combatant.d.mts +283 -88
- package/src/foundry/common/documents/drawing.d.mts +286 -207
- package/src/foundry/common/documents/fog-exploration.d.mts +258 -72
- package/src/foundry/common/documents/folder.d.mts +248 -85
- package/src/foundry/common/documents/item.d.mts +305 -101
- package/src/foundry/common/documents/journal-entry-page.d.mts +279 -190
- package/src/foundry/common/documents/journal-entry.d.mts +294 -70
- package/src/foundry/common/documents/macro.d.mts +254 -134
- package/src/foundry/common/documents/measured-template.d.mts +293 -137
- package/src/foundry/common/documents/note.d.mts +274 -151
- package/src/foundry/common/documents/playlist-sound.d.mts +260 -96
- package/src/foundry/common/documents/playlist.d.mts +279 -122
- package/src/foundry/common/documents/region-behavior.d.mts +305 -64
- package/src/foundry/common/documents/region.d.mts +309 -90
- package/src/foundry/common/documents/roll-table.d.mts +286 -104
- package/src/foundry/common/documents/scene.d.mts +276 -344
- package/src/foundry/common/documents/setting.d.mts +229 -55
- package/src/foundry/common/documents/table-result.d.mts +267 -96
- package/src/foundry/common/documents/tile.d.mts +301 -172
- package/src/foundry/common/documents/token.d.mts +350 -452
- package/src/foundry/common/documents/user.d.mts +256 -146
- package/src/foundry/common/documents/wall.d.mts +272 -157
- package/src/foundry/common/grid/_types.d.mts +2 -0
- package/src/foundry/common/grid/base.d.mts +58 -37
- package/src/foundry/common/grid/hexagonal.d.mts +19 -19
- package/src/foundry/common/grid/square.d.mts +1 -1
- package/src/foundry/common/packages/_module.d.mts +5 -5
- package/src/foundry/common/packages/_types.d.mts +2 -0
- package/src/foundry/common/packages/base-module.d.mts +6 -24
- package/src/foundry/common/packages/base-package.d.mts +18 -16
- package/src/foundry/common/packages/base-system.d.mts +6 -78
- package/src/foundry/common/packages/base-world.d.mts +7 -60
- package/src/foundry/common/packages/sub-types.d.mts +1 -1
- package/src/foundry/common/primitives/array.d.mts +3 -3
- package/src/foundry/common/primitives/math.d.mts +7 -1
- package/src/foundry/common/primitives/number.d.mts +1 -1
- package/src/foundry/common/primitives/set.d.mts +17 -14
- package/src/foundry/common/prosemirror/_types.d.mts +2 -0
- package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
- package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/menu.d.mts +3 -3
- package/src/foundry/common/prosemirror/plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
- package/src/foundry/common/prosemirror/util.d.mts +1 -1
- package/src/foundry/common/utils/bitmask.d.mts +4 -1
- package/src/foundry/common/utils/collection.d.mts +59 -24
- package/src/foundry/common/utils/event-emitter.d.mts +46 -19
- package/src/foundry/common/utils/helpers.d.mts +13 -13
- package/src/foundry/common/utils/http.d.mts +2 -2
- package/src/foundry/common/utils/string-tree.d.mts +45 -39
- package/src/foundry/common/utils/word-tree.d.mts +10 -23
- package/src/tsconfig.json +1 -5
- package/src/types/augments/pixi.d.mts +28 -28
- package/src/types/config.d.mts +12 -12
- package/src/types/documentConfiguration.d.mts +282 -597
- package/src/types/lib.d.mts +4 -4
- package/src/types/workers/image-compressor.d.mts +1 -1
- package/src/utils/index.d.mts +255 -60
- package/tsconfig.json +29 -0
- package/tsconfig.main.json +8 -0
- package/tsconfig.miscellaneous.json +16 -0
- package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
- package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -44
- package/src/foundry/common/documents/module.d.mts +0 -35
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { PropertiesOfType, Brand, NullishProps, AnyObject } from "fvtt-types/utils";
|
1
|
+
import type { PropertiesOfType, Brand, NullishProps, AnyObject, Identity } from "fvtt-types/utils";
|
2
2
|
|
3
3
|
declare global {
|
4
4
|
/**
|
@@ -19,7 +19,7 @@ declare global {
|
|
19
19
|
* @privateRemarks Foundry does not account for the possibility of Symbol animation names and types the keys as simply `string`,
|
20
20
|
* despite typing `CanvasAnimationOptions.name` as `string | symbol`
|
21
21
|
*/
|
22
|
-
static animations: Record<PropertyKey,
|
22
|
+
static animations: Record<PropertyKey, CanvasAnimation.AnimationData>;
|
23
23
|
|
24
24
|
/**
|
25
25
|
* Apply an animation from the current value of some attribute to a new value
|
@@ -50,7 +50,7 @@ declare global {
|
|
50
50
|
*/
|
51
51
|
static animate(
|
52
52
|
attributes: CanvasAnimation.Attribute[],
|
53
|
-
options?:
|
53
|
+
options?: CanvasAnimation.AnimateOptions,
|
54
54
|
): CanvasAnimation.AnimateReturn;
|
55
55
|
|
56
56
|
/**
|
@@ -58,7 +58,7 @@ declare global {
|
|
58
58
|
* @param name - The animation name to retrieve
|
59
59
|
* @returns The animation data, or undefined
|
60
60
|
*/
|
61
|
-
static getAnimation(name: PropertyKey):
|
61
|
+
static getAnimation(name: PropertyKey): CanvasAnimation.AnimationData | undefined;
|
62
62
|
|
63
63
|
/**
|
64
64
|
* If an animation using a certain name already exists, terminate it
|
@@ -90,7 +90,7 @@ declare global {
|
|
90
90
|
|
91
91
|
namespace CanvasAnimation {
|
92
92
|
interface Any extends AnyCanvasAnimation {}
|
93
|
-
|
93
|
+
interface AnyConstructor extends Identity<typeof AnyCanvasAnimation> {}
|
94
94
|
|
95
95
|
/** @remarks Helper type as many things `return CanvasAnimation.animate(...)` */
|
96
96
|
type AnimateReturn = Promise<boolean | void>;
|
@@ -117,10 +117,10 @@ declare global {
|
|
117
117
|
readonly COMPLETED: 2 & CanvasAnimation.STATES;
|
118
118
|
}
|
119
119
|
|
120
|
-
type OnTickFunction = (dt: number, animation:
|
120
|
+
type OnTickFunction = (dt: number, animation: CanvasAnimation.AnimationData) => void;
|
121
121
|
|
122
122
|
/** @internal */
|
123
|
-
type
|
123
|
+
type _AnimateOptions = NullishProps<{
|
124
124
|
/**
|
125
125
|
* A DisplayObject which defines context to the PIXI.Ticker function
|
126
126
|
* @defaultValue `canvas.stage`
|
@@ -174,63 +174,69 @@ declare global {
|
|
174
174
|
/** The destination value of the attribute */
|
175
175
|
to: number | Color;
|
176
176
|
}
|
177
|
-
}
|
178
177
|
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
178
|
+
interface AnimateOptions extends CanvasAnimation._AnimateOptions {
|
179
|
+
/**
|
180
|
+
* A duration in milliseconds over which the animation should occur
|
181
|
+
* @defaultValue `1000`
|
182
|
+
* @remarks Can't be `null` because it only has a parameter default, and is used as a divisor in `CanvasAnimation.#animateFrame`
|
183
|
+
*/
|
184
|
+
duration?: number | undefined;
|
185
|
+
}
|
187
186
|
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
187
|
+
interface CanvasAnimationAttribute extends CanvasAnimation.Attribute {
|
188
|
+
/**
|
189
|
+
* The computed delta between to and from
|
190
|
+
* @remarks This key is always overwritten inside `.animate`, its passed value is irrelevant
|
191
|
+
*/
|
192
|
+
delta: number;
|
194
193
|
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
194
|
+
/**
|
195
|
+
* The amount of the total delta which has been animated
|
196
|
+
* @remarks This key is always overwritten inside `.animate`, its passed value is irrelevant
|
197
|
+
*/
|
198
|
+
done: number;
|
200
199
|
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
200
|
+
/**
|
201
|
+
* Is this a color animation that applies to RGB channels
|
202
|
+
* @remarks When true, `CanvasAnimation.#animateFrame` assumes `to` *and* `from` are
|
203
|
+
* both `Color`s. It's automatically set `true` if `to` is passed as a `Color`, so it
|
204
|
+
* should be unnecessary to set manually.
|
205
|
+
*/
|
206
|
+
color?: boolean;
|
207
|
+
}
|
209
208
|
|
210
|
-
|
211
|
-
|
212
|
-
|
209
|
+
interface AnimationData extends CanvasAnimation.AnimateOptions {
|
210
|
+
/** The animation function being executed each frame */
|
211
|
+
fn: (dt: number) => void;
|
213
212
|
|
214
|
-
|
215
|
-
|
213
|
+
/** The current time of the animation, in milliseconds */
|
214
|
+
time: number;
|
216
215
|
|
217
|
-
|
218
|
-
|
216
|
+
/** The attributes being animated */
|
217
|
+
attributes: CanvasAnimationAttribute[];
|
219
218
|
|
220
|
-
|
221
|
-
|
219
|
+
/** The current state of the animation */
|
220
|
+
state: CanvasAnimation.STATES;
|
222
221
|
|
223
|
-
|
224
|
-
|
222
|
+
/** A Promise which resolves once the animation is complete */
|
223
|
+
promise: Promise<boolean>;
|
225
224
|
|
226
|
-
|
227
|
-
|
225
|
+
/** The resolution function, allowing animation to be ended early */
|
226
|
+
resolve: (value: boolean) => void;
|
228
227
|
|
229
|
-
|
230
|
-
|
228
|
+
/** The rejection function, allowing animation to be ended early */
|
229
|
+
reject: (err: Error) => void;
|
230
|
+
}
|
231
231
|
}
|
232
|
+
|
233
|
+
/** @deprecated {@link CanvasAnimation.AnimateOptions | `CanvasAnimation.AnimateOptions`} */
|
234
|
+
type CanvasAnimationOptions = CanvasAnimation.AnimateOptions;
|
235
|
+
|
236
|
+
/** @deprecated {@link CanvasAnimation.AnimationData | `CanvasAnimation.AnimationData`} */
|
237
|
+
type CanvasAnimationData = CanvasAnimation.AnimationData;
|
232
238
|
}
|
233
239
|
|
234
240
|
declare abstract class AnyCanvasAnimation extends CanvasAnimation {
|
235
|
-
constructor(
|
241
|
+
constructor(...args: never);
|
236
242
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { InexactPartial } from "fvtt-types/utils";
|
1
|
+
import type { Identity, InexactPartial } from "fvtt-types/utils";
|
2
2
|
|
3
3
|
declare global {
|
4
4
|
/**
|
@@ -68,7 +68,7 @@ declare global {
|
|
68
68
|
|
69
69
|
namespace ControlIcon {
|
70
70
|
interface Any extends AnyControlIcon {}
|
71
|
-
|
71
|
+
interface AnyConstructor extends Identity<typeof AnyControlIcon> {}
|
72
72
|
|
73
73
|
/** @internal */
|
74
74
|
type _Options = InexactPartial<{
|
@@ -124,5 +124,5 @@ declare global {
|
|
124
124
|
}
|
125
125
|
|
126
126
|
declare abstract class AnyControlIcon extends ControlIcon {
|
127
|
-
constructor(
|
127
|
+
constructor(...args: never);
|
128
128
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { Brand, NullishProps } from "fvtt-types/utils";
|
1
|
+
import type { AnyArray, Brand, Identity, NullishProps } from "fvtt-types/utils";
|
2
2
|
|
3
3
|
declare global {
|
4
4
|
/**
|
@@ -195,7 +195,7 @@ declare global {
|
|
195
195
|
* Events which do not specify a callback are assumed to have been handled as no-op.
|
196
196
|
* @remarks
|
197
197
|
*/
|
198
|
-
callback(action: MouseInteractionManager.Action, event: Event | PIXI.FederatedEvent, ...args:
|
198
|
+
callback(action: MouseInteractionManager.Action, event: Event | PIXI.FederatedEvent, ...args: AnyArray): boolean;
|
199
199
|
|
200
200
|
/**
|
201
201
|
* A reference to the possible interaction states which can be observed
|
@@ -227,9 +227,9 @@ declare global {
|
|
227
227
|
|
228
228
|
namespace MouseInteractionManager {
|
229
229
|
interface Any extends AnyMouseInteractionManager {}
|
230
|
-
|
230
|
+
interface AnyConstructor extends Identity<typeof AnyMouseInteractionManager> {}
|
231
231
|
|
232
|
-
/** @privateRemarks The private class property is `#HANDLER_OUTCOME` singular, but the getter is `handlerOutcomes`, so the brand uses the plural*/
|
232
|
+
/** @privateRemarks The private class property is `#HANDLER_OUTCOME` singular, but the getter is `handlerOutcomes`, so the brand uses the plural */
|
233
233
|
type HANDLER_OUTCOMES = Brand<number, "MouseInteractionManager.HANDLER_OUTCOMES">;
|
234
234
|
|
235
235
|
interface HandlerOutcomes {
|
@@ -274,7 +274,7 @@ declare global {
|
|
274
274
|
| "hoverIn"
|
275
275
|
| "hoverOut";
|
276
276
|
|
277
|
-
type PermissionFunction = (user: User.
|
277
|
+
type PermissionFunction = (user: User.Implementation, event: Event | PIXI.FederatedEvent) => boolean;
|
278
278
|
|
279
279
|
type Permissions = Partial<Record<PermissionAction, PermissionFunction | boolean>>;
|
280
280
|
|
@@ -300,7 +300,7 @@ declare global {
|
|
300
300
|
* - For Regions specifically, `hoverOut` takes an `options: { updateLegend: boolean }` object, and that key is also added to Region `hoverIn` options
|
301
301
|
* - `longPress` receives `origin: PIXI.Point`
|
302
302
|
*/
|
303
|
-
type CallbackFunction = (event: Event | PIXI.FederatedEvent, ...args:
|
303
|
+
type CallbackFunction = (event: Event | PIXI.FederatedEvent, ...args: AnyArray) => boolean | null | void;
|
304
304
|
|
305
305
|
type Callbacks = Partial<Record<Action, CallbackFunction>>;
|
306
306
|
|
@@ -354,5 +354,5 @@ declare global {
|
|
354
354
|
}
|
355
355
|
|
356
356
|
declare abstract class AnyMouseInteractionManager extends MouseInteractionManager {
|
357
|
-
constructor(
|
357
|
+
constructor(...args: never);
|
358
358
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type {
|
1
|
+
import type { Identity, IntentionalPartial, RemoveIndexSignatures } from "fvtt-types/utils";
|
2
2
|
|
3
3
|
declare global {
|
4
4
|
/**
|
@@ -9,9 +9,9 @@ declare global {
|
|
9
9
|
* @param origin - The canvas coordinates of the origin of the ping.
|
10
10
|
* @param options - Additional options to configure the ping animation.
|
11
11
|
*/
|
12
|
-
constructor(origin: Canvas.Point, options?:
|
12
|
+
constructor(origin: Canvas.Point, options?: Ping.ConstructorOptions);
|
13
13
|
|
14
|
-
options:
|
14
|
+
options: Ping.ConstructorOptions;
|
15
15
|
|
16
16
|
_color: Color;
|
17
17
|
|
@@ -31,20 +31,23 @@ declare global {
|
|
31
31
|
* @param dt - The number of ms that elapsed since the previous frame.
|
32
32
|
* @param animation - The animation state.
|
33
33
|
*/
|
34
|
-
protected _animateFrame(dt: number, animation:
|
34
|
+
protected _animateFrame(dt: number, animation: CanvasAnimation.AnimationData): void;
|
35
35
|
}
|
36
36
|
|
37
37
|
namespace Ping {
|
38
38
|
interface Any extends AnyPing {}
|
39
|
-
|
39
|
+
interface AnyConstructor extends Identity<typeof AnyPing> {}
|
40
|
+
|
41
|
+
type ConfiguredStyles = keyof RemoveIndexSignatures<typeof CONFIG.Canvas.pings.styles>;
|
40
42
|
|
41
43
|
/** @internal */
|
42
|
-
type
|
44
|
+
type _ConstructorOptions = IntentionalPartial<{
|
43
45
|
/**
|
44
46
|
* The duration of the animation in milliseconds.
|
45
47
|
* @defaultValue `900`
|
46
48
|
* @remarks Can't be `null` because `options` is `mergeObject`ed with an object with this key,
|
47
|
-
* and the result is passed on to `CanvasAnimation.animate` in its options
|
49
|
+
* and the result is passed on to `CanvasAnimation.animate` in its options, which only has a
|
50
|
+
* parameter default for this property
|
48
51
|
*/
|
49
52
|
duration: number | undefined;
|
50
53
|
|
@@ -67,15 +70,20 @@ declare global {
|
|
67
70
|
color: Color.Source;
|
68
71
|
|
69
72
|
/**
|
70
|
-
* The name for the ping animation to pass to {@link CanvasAnimation.animate}.
|
73
|
+
* The name for the ping animation to pass to {@link CanvasAnimation.animate | `CanvasAnimation.animate`}.
|
71
74
|
*/
|
72
|
-
name
|
75
|
+
name: PropertyKey | undefined | null;
|
73
76
|
}>;
|
77
|
+
|
78
|
+
interface ConstructorOptions extends Ping._ConstructorOptions {}
|
74
79
|
}
|
75
80
|
|
76
|
-
|
81
|
+
/**
|
82
|
+
* @deprecated {@link Ping.ConstructorOptions | `Ping.ConstructorOptions`}
|
83
|
+
*/
|
84
|
+
type PingOptions = Ping.ConstructorOptions;
|
77
85
|
}
|
78
86
|
|
79
87
|
declare abstract class AnyPing extends Ping {
|
80
|
-
constructor(
|
88
|
+
constructor(...args: never);
|
81
89
|
}
|
@@ -10,7 +10,12 @@ declare global {
|
|
10
10
|
* @param options - Additional options to configure the ping animation.
|
11
11
|
* (default: `{duration: 900, size: 128, color: "#ff6400"}`)
|
12
12
|
*/
|
13
|
-
constructor(
|
13
|
+
constructor(
|
14
|
+
origin: Canvas.Point,
|
15
|
+
|
16
|
+
/** @privateRemarks Can't be `null` as it's directly assigned to `Ping#options` which has properties accessed null-unsafely */
|
17
|
+
options?: Ping.ConstructorOptions,
|
18
|
+
);
|
14
19
|
|
15
20
|
/** @defaultValue `(this.options.size / 2) * .75` */
|
16
21
|
_r: number;
|
@@ -57,7 +62,7 @@ declare global {
|
|
57
62
|
|
58
63
|
override animate(): Promise<boolean>;
|
59
64
|
|
60
|
-
override _animateFrame(dt: number, animation:
|
65
|
+
override _animateFrame(dt: number, animation: CanvasAnimation.AnimationData): void;
|
61
66
|
|
62
67
|
/**
|
63
68
|
* Draw the outer and inner rings.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { InexactPartial, NullishProps } from "fvtt-types/utils";
|
1
|
+
import type { Identity, InexactPartial, NullishProps } from "fvtt-types/utils";
|
2
2
|
|
3
3
|
declare global {
|
4
4
|
/**
|
@@ -9,9 +9,14 @@ declare global {
|
|
9
9
|
* @param origin - The canvas coordinates of the origin of the ping.
|
10
10
|
* @param options - Additional options to configure the ping animation.
|
11
11
|
*/
|
12
|
-
constructor(
|
12
|
+
constructor(
|
13
|
+
origin: Canvas.Point,
|
13
14
|
|
14
|
-
|
15
|
+
/** @privateRemarks Can't be `null` as it's directly assigned to `Ping#options` which has properties accessed null-unsafely */
|
16
|
+
options?: PulsePing.ConstructorOptions,
|
17
|
+
);
|
18
|
+
|
19
|
+
override options: PulsePing.ConstructorOptions;
|
15
20
|
|
16
21
|
_color2: Color;
|
17
22
|
|
@@ -43,7 +48,7 @@ declare global {
|
|
43
48
|
|
44
49
|
override animate(): Promise<boolean>;
|
45
50
|
|
46
|
-
override _animateFrame(dt: number, animation:
|
51
|
+
override _animateFrame(dt: number, animation: CanvasAnimation.AnimationData): void;
|
47
52
|
|
48
53
|
/**
|
49
54
|
* Transition linearly from one color to another.
|
@@ -68,27 +73,27 @@ declare global {
|
|
68
73
|
|
69
74
|
namespace PulsePing {
|
70
75
|
interface Any extends AnyPulsePing {}
|
71
|
-
|
76
|
+
interface AnyConstructor extends Identity<typeof AnyPulsePing> {}
|
72
77
|
|
73
78
|
/** @internal */
|
74
|
-
type
|
79
|
+
type _ConstructorOptions = InexactPartial<{
|
75
80
|
/**
|
76
81
|
* The number of rings used in the animation.
|
77
82
|
* @defaultValue `3`
|
78
83
|
* @remarks Can't be `null` as it only has a parameter default and a coerced `0` ring count is nonsensical
|
79
84
|
*/
|
80
|
-
rings
|
85
|
+
rings: number;
|
81
86
|
|
82
87
|
/**
|
83
88
|
* The alternate color that the rings begin at. Use white for a 'flashing' effect.
|
84
89
|
* @defaultValue `#ffffff`
|
85
90
|
* @remarks Can't be `null` as it only has a parameter default and `Color(NaN)`s are to be avoided
|
86
91
|
*/
|
87
|
-
color2
|
92
|
+
color2: Color.Source;
|
88
93
|
}>;
|
89
|
-
}
|
90
94
|
|
91
|
-
|
95
|
+
interface ConstructorOptions extends _ConstructorOptions, Ping.ConstructorOptions {}
|
96
|
+
}
|
92
97
|
|
93
98
|
/**
|
94
99
|
* A type of ping that produces an arrow pointing in a given direction.
|
@@ -98,20 +103,20 @@ declare global {
|
|
98
103
|
* @param origin - The canvas coordinates of the origin of the ping. This becomes the arrow's tip.
|
99
104
|
* @param options - Additional options to configure the ping animation.
|
100
105
|
*/
|
101
|
-
constructor(origin: PIXI.Point, options?: ArrowPing.
|
106
|
+
constructor(origin: PIXI.Point, options?: ArrowPing.ConstructorOptions);
|
102
107
|
|
103
|
-
// @privateRemarks `options` does not get overridden here as the `rotation` key does not
|
104
|
-
// get passed up to super, so
|
108
|
+
// @privateRemarks The `options` property does not get overridden here as the `rotation` key does not
|
109
|
+
// get passed up to super, so it's still just `PulsePing.Constructor.Options`
|
105
110
|
|
106
111
|
protected override _drawShape(g: PIXI.Graphics, color: number | Color, alpha: number, size: number): void;
|
107
112
|
}
|
108
113
|
|
109
114
|
namespace ArrowPing {
|
110
115
|
interface Any extends AnyArrowPing {}
|
111
|
-
|
116
|
+
interface AnyConstructor extends Identity<typeof AnyArrowPing> {}
|
112
117
|
|
113
118
|
/** @internal */
|
114
|
-
type
|
119
|
+
type _ConstructorOptions = NullishProps<{
|
115
120
|
/**
|
116
121
|
* The angle of the arrow in radians.
|
117
122
|
* @defaultValue `0`
|
@@ -120,7 +125,7 @@ declare global {
|
|
120
125
|
rotation: number;
|
121
126
|
}>;
|
122
127
|
|
123
|
-
interface
|
128
|
+
interface ConstructorOptions extends _ConstructorOptions, PulsePing.ConstructorOptions {}
|
124
129
|
}
|
125
130
|
|
126
131
|
/**
|
@@ -131,36 +136,37 @@ declare global {
|
|
131
136
|
* @param origin - The canvas coordinates of the origin of the ping.
|
132
137
|
* @param options - Additional options to configure the ping animation.
|
133
138
|
*/
|
134
|
-
constructor(origin: PIXI.Point, options: AlertPing.
|
139
|
+
constructor(origin: PIXI.Point, options: AlertPing.ConstructorOptions);
|
135
140
|
|
136
141
|
protected override _drawShape(g: PIXI.Graphics, color: number | Color, alpha: number, size: number): void;
|
137
142
|
}
|
138
143
|
|
139
144
|
namespace AlertPing {
|
140
145
|
interface Any extends AnyAlertPing {}
|
141
|
-
|
146
|
+
interface AnyConstructor extends Identity<typeof AnyAlertPing> {}
|
142
147
|
|
143
148
|
/** @privateRemarks Only exists to change the default value of `color` */
|
144
|
-
interface
|
149
|
+
interface ConstructorOptions extends PulsePing.ConstructorOptions {
|
145
150
|
/**
|
146
151
|
* @defaultValue `"#ff0000"`
|
147
152
|
* @remarks Can't be `null` or `undefined` because `options` is `mergeObject`ed with an object with this key,
|
148
153
|
* and passing either to `Color.from` produces a `Color(NaN)`, which may cause breakage in subclasses or when
|
149
154
|
* passed to PIXI methods
|
155
|
+
* @privateRemarks Typing this as `Ping.ConstructorOptions["color"]` breaks, because it thinks `| undefined` has snuck in for unknown reasons
|
150
156
|
*/
|
151
|
-
color?:
|
157
|
+
color?: Color.Source;
|
152
158
|
}
|
153
159
|
}
|
154
160
|
}
|
155
161
|
|
156
162
|
declare abstract class AnyPulsePing extends PulsePing {
|
157
|
-
constructor(
|
163
|
+
constructor(...args: never);
|
158
164
|
}
|
159
165
|
|
160
166
|
declare abstract class AnyArrowPing extends ArrowPing {
|
161
|
-
constructor(
|
167
|
+
constructor(...args: never);
|
162
168
|
}
|
163
169
|
|
164
170
|
declare abstract class AnyAlertPing extends AlertPing {
|
165
|
-
constructor(
|
171
|
+
constructor(...args: never);
|
166
172
|
}
|
@@ -1,5 +1,14 @@
|
|
1
|
-
import type {
|
2
|
-
|
1
|
+
import type {
|
2
|
+
AnyConstructor,
|
3
|
+
Coalesce,
|
4
|
+
ConcreteKeys,
|
5
|
+
FixedInstanceType,
|
6
|
+
InexactPartial,
|
7
|
+
MakeConform,
|
8
|
+
Mixin,
|
9
|
+
PhantomConstructor,
|
10
|
+
} from "fvtt-types/utils";
|
11
|
+
import type { LogCompatibilityWarningOptions } from "#common/utils/logging.d.mts";
|
3
12
|
|
4
13
|
declare class RenderFlagObject {
|
5
14
|
/** @privateRemarks All mixin classses should accept anything for its constructor. */
|
@@ -9,12 +18,12 @@ declare class RenderFlagObject {
|
|
9
18
|
* Configure the render flags used for this class.
|
10
19
|
* @defaultValue `{}`
|
11
20
|
*/
|
12
|
-
static RENDER_FLAGS:
|
21
|
+
static RENDER_FLAGS: RenderFlagsMixin.RENDER_FLAGS;
|
13
22
|
|
14
23
|
/**
|
15
24
|
* The ticker priority when RenderFlags of this class are handled.
|
16
25
|
* Valid values are OBJECTS or PERCEPTION.
|
17
|
-
* @defaultValue "OBJECTS"
|
26
|
+
* @defaultValue `"OBJECTS"`
|
18
27
|
*/
|
19
28
|
static RENDER_FLAG_PRIORITY: "OBJECTS" | "PERCEPTION";
|
20
29
|
|
@@ -22,7 +31,8 @@ declare class RenderFlagObject {
|
|
22
31
|
* Status flags which are applied at render-time to update the PlaceableObject.
|
23
32
|
* If an object defines RenderFlags, it should at least include flags for "redraw" and "refresh".
|
24
33
|
*/
|
25
|
-
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
35
|
+
renderFlags: RenderFlags<{}>;
|
26
36
|
|
27
37
|
/**
|
28
38
|
* Apply any current render flags, clearing the renderFlags set.
|
@@ -35,12 +45,16 @@ declare class RenderFlagObject {
|
|
35
45
|
* @privateRemarks Values are marked as optional here based on use, foundry docs incomplete
|
36
46
|
* @internal
|
37
47
|
*/
|
38
|
-
type
|
39
|
-
/**
|
40
|
-
|
48
|
+
type _RenderFlag<Keys extends string> = InexactPartial<{
|
49
|
+
/**
|
50
|
+
* Activating this flag also sets these flags to true
|
51
|
+
*/
|
52
|
+
propagate: Keys[];
|
41
53
|
|
42
|
-
/**
|
43
|
-
|
54
|
+
/**
|
55
|
+
* Activating this flag resets these flags to false
|
56
|
+
*/
|
57
|
+
reset: Keys[];
|
44
58
|
|
45
59
|
/**
|
46
60
|
* Is this flag deprecated? The deprecation options are passed to
|
@@ -60,40 +74,46 @@ type _RenderFlags<Flags> = InexactPartial<{
|
|
60
74
|
}>;
|
61
75
|
|
62
76
|
declare global {
|
63
|
-
//
|
64
|
-
//
|
65
|
-
//
|
66
|
-
interface RenderFlag<out Flags
|
77
|
+
// Note(LukeAbby): The usage of `ConcreteKeys` is a hazard; if tsc were to become smarter it might
|
78
|
+
// notice that `ConcreteKeys<Flags>` is actually contravariant and reject this type. However
|
79
|
+
// `RenderFlags` is built upon the assumption this is only used in safe ways.
|
80
|
+
interface RenderFlag<out Flags extends object, Key extends keyof Flags>
|
81
|
+
extends _RenderFlag<Exclude<Extract<ConcreteKeys<Flags>, string>, Key>> {}
|
67
82
|
|
68
83
|
namespace RenderFlag {
|
69
|
-
|
84
|
+
interface Any extends _RenderFlag<string> {}
|
85
|
+
}
|
86
|
+
|
87
|
+
namespace RenderFlags {
|
88
|
+
type ValidateFlags<Flags extends object> = {
|
89
|
+
[K in keyof Flags]: MakeConform<Flags[K], _RenderFlag<Extract<Exclude<keyof Flags, K>, string>>>;
|
90
|
+
};
|
91
|
+
|
92
|
+
interface Config {
|
93
|
+
/** The object which owns this RenderFlags instance */
|
94
|
+
object?: RenderFlagObject;
|
95
|
+
|
96
|
+
/**
|
97
|
+
* The update priority when these render flags are applied.
|
98
|
+
* Valid options are OBJECTS or PERCEPTION.
|
99
|
+
* @defaultValue `PIXI.UPDATE_PRIORITY.OBJECTS`
|
100
|
+
*/
|
101
|
+
priority?: typeof PIXI.UPDATE_PRIORITY.OBJECTS | typeof PIXI.UPDATE_PRIORITY.PERCEPTION;
|
102
|
+
}
|
70
103
|
}
|
71
104
|
|
72
105
|
/**
|
73
106
|
* A data structure for tracking a set of boolean status flags.
|
74
107
|
* This is a restricted set which can only accept flag values which are pre-defined.
|
75
108
|
*/
|
76
|
-
class RenderFlags extends Set<string> {
|
109
|
+
class RenderFlags<Flags extends RenderFlags.ValidateFlags<Flags>> extends Set<string> {
|
77
110
|
/**
|
78
111
|
* @param flags - An object which defines the flags which are supported for tracking
|
79
112
|
* @param config - Optional configuration
|
80
113
|
*/
|
81
|
-
constructor(
|
82
|
-
|
83
|
-
|
84
|
-
/** The object which owns this RenderFlags instance */
|
85
|
-
object?: RenderFlagObject;
|
86
|
-
|
87
|
-
/**
|
88
|
-
* The update priority when these render flags are applied.
|
89
|
-
* Valid options are OBJECTS or PERCEPTION.
|
90
|
-
* @defaultValue `PIXI.UPDATE_PRIORITY.OBJECTS`
|
91
|
-
*/
|
92
|
-
priority?: PIXI.UPDATE_PRIORITY;
|
93
|
-
},
|
94
|
-
);
|
95
|
-
|
96
|
-
readonly flags: Record<string, RenderFlag<Record<string, boolean>>>;
|
114
|
+
constructor(flags: Flags, config?: RenderFlags.Config);
|
115
|
+
|
116
|
+
readonly flags: Flags;
|
97
117
|
|
98
118
|
readonly object: RenderFlagObject;
|
99
119
|
|
@@ -112,24 +132,49 @@ declare global {
|
|
112
132
|
|
113
133
|
/**
|
114
134
|
* Activate certain flags, also toggling propagation and reset behaviors
|
135
|
+
* @remarks Flags are only set if `true`, nullish values are discarded
|
115
136
|
*/
|
116
|
-
set(changes: Record<string, boolean>): void;
|
137
|
+
set(changes: Record<string, boolean | undefined | null>): void;
|
117
138
|
}
|
118
139
|
|
119
140
|
/**
|
120
141
|
* Add RenderFlags functionality to some other object.
|
121
142
|
* This mixin standardizes the interface for such functionality.
|
122
|
-
* @param Base - The base class being mixed
|
143
|
+
* @param Base - The base class being mixed: defaults to an anonymous empty class.
|
123
144
|
* @returns The mixed class definition
|
145
|
+
*
|
146
|
+
* @remarks `Base` is normally a PIXI.DisplayObject
|
124
147
|
*/
|
125
|
-
|
126
|
-
|
127
|
-
|
148
|
+
// Note(LukeAbby): In theory a similar thing to what happens in `CanvasGroupMixin` could be done.
|
149
|
+
// That is passing up a generic to instantiate the generic side. However `RenderFlagsMixin` is
|
150
|
+
// only inherited directly by `PerceptionManager` and `PlaceableObject`.
|
151
|
+
// Therefore it's mostly the subclasses of `PlaceableObject` that face this problem and that can't
|
152
|
+
// be solved here unfortunately.
|
153
|
+
function RenderFlagsMixin<BaseClass extends RenderFlagsMixin.BaseClass | undefined = undefined>(
|
154
|
+
Base?: BaseClass,
|
155
|
+
): RenderFlagsMixin.Mix<BaseClass>;
|
128
156
|
|
129
157
|
namespace RenderFlagsMixin {
|
130
|
-
|
158
|
+
interface AnyMixedConstructor extends ReturnType<typeof RenderFlagsMixin<BaseClass>> {}
|
131
159
|
interface AnyMixed extends FixedInstanceType<AnyMixedConstructor> {}
|
132
160
|
|
161
|
+
type Mix<BaseClass extends RenderFlagsMixin.BaseClass | undefined> = Mixin<
|
162
|
+
typeof RenderFlagObject,
|
163
|
+
Coalesce<BaseClass, PhantomConstructor>
|
164
|
+
>;
|
165
|
+
|
133
166
|
type BaseClass = AnyConstructor;
|
167
|
+
|
168
|
+
type RENDER_FLAGS = Record<string, RenderFlag.Any>;
|
169
|
+
|
170
|
+
/**
|
171
|
+
* @internal This type exists only to make sure `ToBooleanFlags` isn't a homomorphic mapped type
|
172
|
+
* to avoid keeping documentation.
|
173
|
+
*/
|
174
|
+
type _KeyOf<T> = keyof T;
|
175
|
+
|
176
|
+
type ToBooleanFlags<RenderFlags extends object> = {
|
177
|
+
[K in _KeyOf<RenderFlags>]?: boolean | null | undefined;
|
178
|
+
};
|
134
179
|
}
|
135
180
|
}
|