@league-of-foundry-developers/foundry-vtt-types 12.331.3-beta → 12.331.5
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 +17 -18
- package/package.json +91 -32
- package/src/configuration/configuration.d.mts +316 -0
- package/src/configuration/documents.d.mts +295 -0
- package/src/configuration/globals.d.mts +357 -0
- package/src/configuration/index.d.mts +5 -0
- package/src/foundry/client/apps/app.d.mts +129 -122
- package/src/foundry/client/apps/av/av-config.d.mts +12 -7
- package/src/foundry/client/apps/av/cameras.d.mts +12 -7
- package/src/foundry/client/apps/dice/dice-config.d.mts +59 -0
- package/src/foundry/client/apps/dice/index.d.mts +1 -0
- package/src/foundry/client/apps/form.d.mts +114 -86
- package/src/foundry/client/apps/forms/actor.d.mts +21 -11
- package/src/foundry/client/apps/forms/adventure-exporter.d.mts +12 -7
- package/src/foundry/client/apps/forms/adventure-importer.d.mts +14 -6
- package/src/foundry/client/apps/forms/base-sheet.d.mts +16 -8
- package/src/foundry/client/apps/forms/card-config.d.mts +16 -8
- package/src/foundry/client/apps/forms/cards-config.d.mts +15 -14
- package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/combatant-config.d.mts +3 -3
- package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
- package/src/foundry/client/apps/forms/effect-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/folder-config.d.mts +10 -5
- package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
- package/src/foundry/client/apps/forms/grid-config.d.mts +12 -13
- package/src/foundry/client/apps/forms/image-popout.d.mts +29 -23
- package/src/foundry/client/apps/forms/item.d.mts +9 -9
- package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +16 -14
- package/src/foundry/client/apps/forms/journal-sheet.d.mts +48 -38
- package/src/foundry/client/apps/forms/macro-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/measure-template.d.mts +10 -12
- package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
- package/src/foundry/client/apps/forms/playlist-config.d.mts +8 -10
- package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +7 -7
- package/src/foundry/client/apps/forms/roll-table-config.d.mts +11 -10
- package/src/foundry/client/apps/forms/scene-config.d.mts +40 -41
- package/src/foundry/client/apps/forms/sheet-config.d.mts +9 -21
- package/src/foundry/client/apps/forms/user-config.d.mts +13 -12
- package/src/foundry/client/apps/hud/chatbubble.d.mts +18 -6
- package/src/foundry/client/apps/hud/container.d.mts +4 -4
- package/src/foundry/client/apps/hud/controls.d.mts +126 -81
- package/src/foundry/client/apps/hud/hotbar.d.mts +17 -12
- package/src/foundry/client/apps/hud/hud.d.mts +5 -5
- package/src/foundry/client/apps/hud/menu.d.mts +10 -3
- package/src/foundry/client/apps/hud/navigation.d.mts +14 -9
- package/src/foundry/client/apps/hud/pause.d.mts +9 -4
- package/src/foundry/client/apps/hud/players.d.mts +14 -9
- package/src/foundry/client/apps/i18n.d.mts +31 -27
- package/src/foundry/client/apps/index.d.mts +1 -0
- package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
- package/src/foundry/client/apps/placeables/drawing-hud.d.mts +5 -5
- package/src/foundry/client/apps/placeables/index.d.mts +0 -2
- package/src/foundry/client/apps/placeables/note-config.d.mts +28 -18
- package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
- package/src/foundry/client/apps/placeables/tile-hud.d.mts +10 -5
- package/src/foundry/client/apps/placeables/token-config.d.mts +91 -58
- package/src/foundry/client/apps/placeables/token-hud.d.mts +12 -7
- package/src/foundry/client/apps/placeables/wall-config.d.mts +21 -17
- package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
- package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +15 -13
- package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +3 -2
- 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 +34 -29
- package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +2 -2
- package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +13 -10
- package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +50 -35
- package/src/foundry/client/apps/sidebar/document-directory.d.mts +52 -38
- package/src/foundry/client/apps/sidebar/package-configuration.d.mts +4 -4
- package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
- package/src/foundry/client/apps/sidebar/sidebar.d.mts +9 -4
- package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +39 -27
- package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +21 -12
- package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +30 -15
- package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +14 -5
- package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +30 -22
- package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +11 -2
- package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +14 -5
- package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +23 -5
- package/src/foundry/client/apps/templates.d.mts +1 -1
- package/src/foundry/client/av/client.d.mts +1 -1
- package/src/foundry/client/av/clients/simplepeer.d.mts +11 -1
- package/src/foundry/client/av/master.d.mts +2 -2
- package/src/foundry/client/av/settings.d.mts +17 -15
- package/src/foundry/client/config.d.mts +444 -312
- package/src/foundry/client/core/document-index.d.mts +11 -3
- package/src/foundry/client/core/hooks.d.mts +2 -4
- package/src/foundry/client/core/image.d.mts +14 -13
- package/src/foundry/client/core/issues.d.mts +9 -4
- package/src/foundry/client/core/keybindings.d.mts +5 -5
- package/src/foundry/client/core/nue.d.mts +1 -1
- package/src/foundry/client/core/packages.d.mts +400 -62
- package/src/foundry/client/core/settings.d.mts +62 -38
- 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 +2 -2
- package/src/foundry/client/core/tour.d.mts +59 -50
- package/src/foundry/client/core/tours.d.mts +1 -1
- package/src/foundry/client/core/utils.d.mts +33 -10
- package/src/foundry/client/core/video.d.mts +1 -1
- package/src/foundry/client/core/workers.d.mts +24 -17
- package/src/foundry/client/data/abstract/canvas-document.d.mts +22 -28
- package/src/foundry/client/data/abstract/client-document.d.mts +238 -206
- package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +24 -40
- package/src/foundry/client/data/abstract/document-collection.d.mts +96 -68
- package/src/foundry/client/data/abstract/world-collection.d.mts +53 -54
- package/src/foundry/client/data/collections/actors.d.mts +30 -28
- package/src/foundry/client/data/collections/cards.d.mts +16 -3
- package/src/foundry/client/data/collections/combats.d.mts +18 -5
- package/src/foundry/client/data/collections/compendium-collection.d.mts +84 -101
- package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
- package/src/foundry/client/data/collections/compendium-packs.d.mts +5 -5
- package/src/foundry/client/data/collections/fog.d.mts +16 -3
- package/src/foundry/client/data/collections/folder.d.mts +20 -6
- package/src/foundry/client/data/collections/items.d.mts +17 -4
- package/src/foundry/client/data/collections/journal.d.mts +22 -7
- package/src/foundry/client/data/collections/macros.d.mts +21 -19
- package/src/foundry/client/data/collections/messages.d.mts +19 -6
- package/src/foundry/client/data/collections/playlists.d.mts +17 -5
- package/src/foundry/client/data/collections/scenes.d.mts +24 -27
- package/src/foundry/client/data/collections/settings.d.mts +16 -3
- package/src/foundry/client/data/collections/tables.d.mts +18 -5
- package/src/foundry/client/data/collections/users.d.mts +22 -10
- package/src/foundry/client/data/documents/active-effect.d.mts +780 -112
- package/src/foundry/client/data/documents/actor-delta.d.mts +705 -31
- package/src/foundry/client/data/documents/actor.d.mts +806 -98
- package/src/foundry/client/data/documents/adventure.d.mts +522 -59
- package/src/foundry/client/data/documents/ambient-light.d.mts +427 -20
- package/src/foundry/client/data/documents/ambient-sound.d.mts +478 -14
- package/src/foundry/client/data/documents/card.d.mts +598 -44
- package/src/foundry/client/data/documents/cards.d.mts +862 -169
- package/src/foundry/client/data/documents/chat-message.d.mts +668 -77
- package/src/foundry/client/data/documents/combat.d.mts +757 -107
- package/src/foundry/client/data/documents/combatant.d.mts +545 -32
- package/src/foundry/client/data/documents/drawing.d.mts +545 -14
- package/src/foundry/client/data/documents/fog-exploration.d.mts +465 -30
- package/src/foundry/client/data/documents/folder.d.mts +567 -51
- package/src/foundry/client/data/documents/index.d.mts +2 -0
- package/src/foundry/client/data/documents/item.d.mts +691 -24
- package/src/foundry/client/data/documents/journal-entry-page.d.mts +654 -55
- package/src/foundry/client/data/documents/journal-entry.d.mts +631 -35
- package/src/foundry/client/data/documents/macro.d.mts +560 -31
- package/src/foundry/client/data/documents/measured-template.d.mts +484 -15
- package/src/foundry/client/data/documents/note.d.mts +498 -15
- package/src/foundry/client/data/documents/playlist-sound.d.mts +443 -45
- package/src/foundry/client/data/documents/playlist.d.mts +710 -99
- package/src/foundry/client/data/documents/region-behavior.d.mts +516 -0
- package/src/foundry/client/data/documents/region.d.mts +789 -0
- package/src/foundry/client/data/documents/scene.d.mts +1216 -159
- package/src/foundry/client/data/documents/setting.d.mts +406 -23
- package/src/foundry/client/data/documents/table-result.d.mts +488 -14
- package/src/foundry/client/data/documents/table.d.mts +667 -78
- package/src/foundry/client/data/documents/tile.d.mts +505 -14
- package/src/foundry/client/data/documents/token.d.mts +1191 -143
- package/src/foundry/client/data/documents/user.d.mts +613 -57
- package/src/foundry/client/data/documents/wall.d.mts +555 -14
- package/src/foundry/client/game.d.mts +60 -92
- package/src/foundry/client/head.d.mts +9 -9
- package/src/foundry/client/hooks.d.mts +259 -248
- package/src/foundry/client/pixi/board.d.mts +107 -94
- package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +97 -25
- package/src/foundry/client/pixi/core/containers/cached-container.d.mts +37 -19
- package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +7 -10
- package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +25 -15
- package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +16 -6
- package/src/foundry/client/pixi/core/containers/quadtree.d.mts +113 -54
- package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +69 -26
- package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +20 -2
- package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +164 -99
- package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +61 -22
- package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +120 -53
- package/src/foundry/client/pixi/core/interaction/ping.d.mts +62 -31
- package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +23 -10
- package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +91 -34
- package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +69 -30
- package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +35 -5
- package/src/foundry/client/pixi/core/interaction/targets.d.mts +21 -18
- package/src/foundry/client/pixi/core/loader.d.mts +86 -76
- package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +42 -17
- package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +92 -64
- package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +28 -10
- package/src/foundry/client/pixi/core/shapes/ray.d.mts +47 -23
- package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +170 -75
- package/src/foundry/client/pixi/extensions/circle.d.mts +128 -125
- package/src/foundry/client/pixi/extensions/graphics.d.mts +3 -1
- package/src/foundry/client/pixi/extensions/observable-transform.d.mts +5 -4
- package/src/foundry/client/pixi/extensions/polygon.d.mts +154 -134
- package/src/foundry/client/pixi/extensions/rectangle.d.mts +242 -259
- package/src/foundry/client/pixi/groups/effects.d.mts +75 -24
- package/src/foundry/client/pixi/groups/environment.d.mts +68 -19
- package/src/foundry/client/pixi/groups/hidden.d.mts +27 -11
- package/src/foundry/client/pixi/groups/interface.d.mts +62 -38
- package/src/foundry/client/pixi/groups/overlay.d.mts +19 -7
- package/src/foundry/client/pixi/groups/primary.d.mts +66 -44
- package/src/foundry/client/pixi/groups/rendered.d.mts +19 -7
- package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +11 -15
- package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +29 -28
- package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +306 -272
- package/src/foundry/client/pixi/layers/controls/cursor.d.mts +18 -9
- package/src/foundry/client/pixi/layers/controls/door.d.mts +32 -11
- package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -77
- package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
- package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +9 -12
- package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +9 -10
- package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +8 -8
- package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +22 -22
- package/src/foundry/client/pixi/layers/effects/visibility.d.mts +106 -86
- package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +14 -5
- 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 +137 -65
- package/src/foundry/client/pixi/layers/grid/highlight.d.mts +14 -4
- package/src/foundry/client/pixi/layers/grid/layer.d.mts +92 -92
- package/src/foundry/client/pixi/layers/grid/mesh.d.mts +37 -16
- package/src/foundry/client/pixi/layers/masks/depth.d.mts +12 -7
- package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +19 -12
- package/src/foundry/client/pixi/layers/masks/vision.d.mts +104 -18
- package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +16 -15
- package/src/foundry/client/pixi/layers/placeables/index.d.mts +1 -0
- package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +12 -14
- package/src/foundry/client/pixi/layers/placeables/notes.d.mts +49 -32
- package/src/foundry/client/pixi/layers/placeables/regions.d.mts +113 -0
- package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -67
- package/src/foundry/client/pixi/layers/placeables/templates.d.mts +11 -15
- package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +30 -21
- package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +66 -52
- package/src/foundry/client/pixi/layers/placeables/walls.d.mts +54 -57
- package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +62 -27
- package/src/foundry/client/pixi/perception/detection-mode.d.mts +121 -47
- package/src/foundry/client/pixi/perception/fog.d.mts +38 -15
- package/src/foundry/client/pixi/perception/perception-manager.d.mts +136 -136
- package/src/foundry/client/pixi/perception/vision-mode.d.mts +91 -64
- package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +44 -16
- package/src/foundry/client/pixi/placeable.d.mts +239 -137
- package/src/foundry/client/pixi/placeables/drawing.d.mts +255 -133
- package/src/foundry/client/pixi/placeables/index.d.mts +1 -0
- package/src/foundry/client/pixi/placeables/light.d.mts +193 -64
- package/src/foundry/client/pixi/placeables/note.d.mts +145 -54
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +30 -8
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +41 -11
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +59 -18
- package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +120 -37
- package/src/foundry/client/pixi/placeables/region.d.mts +280 -0
- package/src/foundry/client/pixi/placeables/sound.d.mts +205 -66
- package/src/foundry/client/pixi/placeables/template.d.mts +181 -100
- package/src/foundry/client/pixi/placeables/tile.d.mts +206 -140
- package/src/foundry/client/pixi/placeables/token.d.mts +916 -449
- package/src/foundry/client/pixi/placeables/wall.d.mts +249 -129
- package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +72 -33
- package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/helpers/{framebugger-snapshot.d.mts → framebuffer-snapshot.d.mts} +10 -9
- package/src/foundry/client/pixi/webgl/helpers/index.d.mts +1 -1
- package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +38 -23
- package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +82 -53
- package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +12 -12
- package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +45 -28
- package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +12 -10
- package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +22 -20
- package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +36 -32
- package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +67 -60
- package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +24 -17
- package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +13 -10
- package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +11 -10
- package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +20 -14
- package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +12 -11
- package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +33 -33
- package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +10 -8
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +20 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +71 -29
- package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +54 -10
- package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +69 -9
- package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +24 -25
- package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +38 -29
- package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +21 -17
- package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +20 -18
- package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +11 -2
- package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +28 -2
- package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +11 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +19 -17
- package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +10 -9
- package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +40 -36
- package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +27 -33
- package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +17 -16
- package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +19 -18
- package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +15 -14
- package/src/foundry/client/pixi/workers/texture-worker.d.mts +33 -53
- package/src/foundry/client/tours/setup-tour.d.mts +15 -10
- package/src/foundry/client/ui/context.d.mts +48 -40
- package/src/foundry/client/ui/dialog.d.mts +137 -126
- package/src/foundry/client/ui/drag.d.mts +1 -1
- package/src/foundry/client/ui/dragdrop.d.mts +34 -28
- package/src/foundry/client/ui/editor.d.mts +29 -21
- package/src/foundry/client/ui/filepicker.d.mts +43 -38
- package/src/foundry/client/ui/filter.d.mts +62 -50
- package/src/foundry/client/ui/forms.d.mts +22 -22
- package/src/foundry/client/ui/notifications.d.mts +10 -3
- package/src/foundry/client/ui/prosemirror.d.mts +15 -7
- package/src/foundry/client/ui/secrets.d.mts +42 -27
- package/src/foundry/client/ui/tabs.d.mts +40 -33
- package/src/foundry/client-esm/applications/_module.d.mts +3 -3
- package/src/foundry/client-esm/applications/_types.d.mts +0 -2
- package/src/foundry/client-esm/applications/api/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/api/application.d.mts +28 -19
- package/src/foundry/client-esm/applications/api/dialog.d.mts +20 -22
- package/src/foundry/client-esm/applications/api/document-sheet.d.mts +26 -12
- package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +142 -126
- package/src/foundry/client-esm/applications/apps/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +10 -10
- package/src/foundry/client-esm/applications/apps/permission-config.d.mts +3 -3
- package/src/foundry/client-esm/applications/dice/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +14 -2
- package/src/foundry/client-esm/applications/elements/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/elements/document-tags.d.mts +2 -0
- package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
- package/src/foundry/client-esm/applications/elements/multi-select.d.mts +15 -5
- package/src/foundry/client-esm/applications/elements/string-tags.d.mts +1 -1
- package/src/foundry/client-esm/applications/forms/fields.d.mts +1 -1
- package/src/foundry/client-esm/applications/sheets/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +10 -8
- package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +9 -7
- package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +3 -3
- package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +30 -5
- package/src/foundry/client-esm/applications/sheets/region-config.d.mts +36 -5
- package/src/foundry/client-esm/applications/sheets/user-config.d.mts +8 -7
- package/src/foundry/client-esm/applications/ui/_module.d.mts +2 -2
- package/src/foundry/client-esm/applications/ui/region-legend.d.mts +45 -3
- package/src/foundry/client-esm/audio/_module.d.mts +2 -3
- 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 +230 -126
- package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
- package/src/foundry/client-esm/canvas/_module.d.mts +2 -2
- package/src/foundry/client-esm/canvas/edges/_module.d.mts +2 -2
- package/src/foundry/client-esm/canvas/edges/collision.d.mts +69 -18
- package/src/foundry/client-esm/canvas/edges/edge.d.mts +110 -41
- package/src/foundry/client-esm/canvas/edges/edges.d.mts +10 -0
- package/src/foundry/client-esm/canvas/edges/vertex.d.mts +56 -26
- package/src/foundry/client-esm/canvas/regions/_module.d.mts +6 -11
- package/src/foundry/client-esm/canvas/regions/geometry.d.mts +38 -0
- package/src/foundry/client-esm/canvas/regions/mesh.d.mts +72 -0
- package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +130 -0
- package/src/foundry/client-esm/canvas/regions/shape.d.mts +129 -0
- package/src/foundry/client-esm/canvas/scene-manager.d.mts +13 -3
- 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 +121 -23
- package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
- package/src/foundry/client-esm/canvas/sources/_module.d.mts +2 -2
- package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +84 -40
- package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +103 -39
- package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +89 -15
- package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +71 -27
- package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +49 -20
- package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +57 -16
- package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +31 -4
- package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +45 -12
- package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +98 -52
- package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +180 -69
- package/src/foundry/client-esm/canvas/tokens/_module.d.mts +2 -3
- package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +175 -2
- package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +142 -2
- package/src/foundry/client-esm/canvas/tokens/ring.d.mts +284 -2
- package/src/foundry/client-esm/client.d.mts +47 -54
- package/src/foundry/client-esm/data/_module.d.mts +2 -2
- package/src/foundry/client-esm/data/client-backend.d.mts +22 -23
- package/src/foundry/client-esm/data/region-behaviors/_module.d.mts +11 -14
- package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +56 -0
- package/src/foundry/client-esm/data/region-behaviors/base.d.mts +59 -0
- package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +64 -0
- package/src/foundry/client-esm/data/region-behaviors/execute-macro.d.mts +27 -0
- package/src/foundry/client-esm/data/region-behaviors/execute-script.d.mts +23 -0
- package/src/foundry/client-esm/data/region-behaviors/pause-game.d.mts +23 -0
- package/src/foundry/client-esm/data/region-behaviors/suppress-weather.d.mts +17 -0
- package/src/foundry/client-esm/data/region-behaviors/teleport-token.d.mts +32 -0
- package/src/foundry/client-esm/data/region-behaviors/toggle-behavior.d.mts +31 -0
- package/src/foundry/client-esm/dice/_module.d.mts +2 -3
- package/src/foundry/client-esm/dice/parser.d.mts +11 -25
- package/src/foundry/client-esm/dice/roll.d.mts +112 -89
- package/src/foundry/client-esm/dice/terms/_module.d.mts +2 -3
- package/src/foundry/client-esm/dice/terms/coin.d.mts +8 -5
- package/src/foundry/client-esm/dice/terms/dice.d.mts +93 -63
- package/src/foundry/client-esm/dice/terms/die.d.mts +11 -4
- package/src/foundry/client-esm/dice/terms/fate.d.mts +9 -2
- package/src/foundry/client-esm/dice/terms/function.d.mts +18 -18
- package/src/foundry/client-esm/dice/terms/numeric.d.mts +3 -5
- package/src/foundry/client-esm/dice/terms/operator.d.mts +2 -2
- package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +9 -10
- package/src/foundry/client-esm/dice/terms/pool.d.mts +25 -31
- package/src/foundry/client-esm/dice/terms/string.d.mts +4 -4
- package/src/foundry/client-esm/dice/terms/term.d.mts +18 -4
- package/src/foundry/client-esm/dice/twister.d.mts +3 -3
- package/src/foundry/client-esm/helpers/_module.d.mts +2 -2
- package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
- package/src/foundry/client-esm/helpers/compendium-art.d.mts +56 -4
- package/src/foundry/common/abstract/_types.d.mts +60 -54
- package/src/foundry/common/abstract/backend.d.mts +51 -45
- package/src/foundry/common/abstract/data.d.mts +265 -236
- package/src/foundry/common/abstract/document.d.mts +1449 -464
- package/src/foundry/common/abstract/embedded-collection-delta.d.mts +1 -1
- package/src/foundry/common/abstract/embedded-collection.d.mts +37 -7
- package/src/foundry/common/abstract/module.d.mts +3 -2
- package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
- package/src/foundry/common/abstract/socket.d.mts +1 -1
- package/src/foundry/common/abstract/type-data.d.mts +61 -55
- package/src/foundry/common/config.d.mts +11 -3
- package/src/foundry/common/constants.d.mts +261 -231
- package/src/foundry/common/data/data.d.mts +238 -102
- package/src/foundry/common/data/fields.d.mts +1334 -874
- package/src/foundry/common/data/module.d.mts +2 -2
- package/src/foundry/common/data/validation-failure.d.mts +12 -9
- package/src/foundry/common/documents/_module.d.mts +4 -2
- package/src/foundry/common/documents/_types.d.mts +22 -56
- package/src/foundry/common/documents/active-effect.d.mts +358 -194
- package/src/foundry/common/documents/actor-delta.d.mts +403 -73
- package/src/foundry/common/documents/actor.d.mts +359 -117
- package/src/foundry/common/documents/adventure.d.mts +312 -142
- package/src/foundry/common/documents/ambient-light.d.mts +296 -75
- package/src/foundry/common/documents/ambient-sound.d.mts +296 -109
- package/src/foundry/common/documents/card.d.mts +321 -187
- package/src/foundry/common/documents/cards.d.mts +353 -125
- package/src/foundry/common/documents/chat-message.d.mts +338 -167
- package/src/foundry/common/documents/combat.d.mts +358 -94
- package/src/foundry/common/documents/combatant.d.mts +323 -92
- package/src/foundry/common/documents/drawing.d.mts +327 -206
- package/src/foundry/common/documents/fog-exploration.d.mts +303 -69
- package/src/foundry/common/documents/folder.d.mts +307 -82
- package/src/foundry/common/documents/item.d.mts +377 -100
- package/src/foundry/common/documents/journal-entry-page.d.mts +327 -187
- package/src/foundry/common/documents/journal-entry.d.mts +345 -68
- package/src/foundry/common/documents/macro.d.mts +325 -139
- package/src/foundry/common/documents/measured-template.d.mts +328 -138
- package/src/foundry/common/documents/note.d.mts +312 -151
- package/src/foundry/common/documents/playlist-sound.d.mts +309 -102
- package/src/foundry/common/documents/playlist.d.mts +341 -131
- package/src/foundry/common/documents/region-behavior.d.mts +360 -0
- package/src/foundry/common/documents/region.d.mts +355 -0
- package/src/foundry/common/documents/roll-table.d.mts +320 -102
- package/src/foundry/common/documents/scene.d.mts +437 -350
- package/src/foundry/common/documents/setting.d.mts +285 -54
- package/src/foundry/common/documents/table-result.d.mts +326 -103
- package/src/foundry/common/documents/tile.d.mts +337 -172
- package/src/foundry/common/documents/token.d.mts +396 -447
- package/src/foundry/common/documents/user.d.mts +296 -173
- package/src/foundry/common/documents/wall.d.mts +303 -156
- package/src/foundry/common/grid/_module.d.mts +3 -3
- package/src/foundry/common/grid/base.d.mts +66 -49
- package/src/foundry/common/grid/gridless.d.mts +2 -2
- package/src/foundry/common/grid/hexagonal.d.mts +35 -28
- package/src/foundry/common/grid/square.d.mts +3 -3
- package/src/foundry/common/packages/base-module.d.mts +6 -24
- package/src/foundry/common/packages/base-package.d.mts +56 -31
- package/src/foundry/common/packages/base-system.d.mts +45 -63
- package/src/foundry/common/packages/base-world.d.mts +15 -61
- package/src/foundry/common/packages/module.d.mts +7 -7
- package/src/foundry/common/packages/sub-types.d.mts +4 -6
- package/src/foundry/common/primitives/array.d.mts +4 -4
- package/src/foundry/common/primitives/math.d.mts +7 -1
- package/src/foundry/common/primitives/number.d.mts +2 -2
- package/src/foundry/common/primitives/set.d.mts +17 -14
- package/src/foundry/common/primitives/string.d.mts +1 -1
- package/src/foundry/common/prosemirror/_module.d.mts +15 -15
- package/src/foundry/common/prosemirror/dirty-plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/dom-parser.d.mts +2 -1
- package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
- package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +2 -2
- package/src/foundry/common/prosemirror/image-plugin.d.mts +1 -1
- package/src/foundry/common/prosemirror/menu.d.mts +3 -3
- package/src/foundry/common/prosemirror/paste-transformer.d.mts +1 -1
- package/src/foundry/common/prosemirror/plugin.d.mts +2 -2
- package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
- package/src/foundry/common/prosemirror/schema/lists.d.mts +2 -0
- package/src/foundry/common/prosemirror/util.d.mts +1 -1
- package/src/foundry/common/types.d.mts +3 -3
- package/src/foundry/common/utils/bitmask.d.mts +23 -11
- package/src/foundry/common/utils/collection.d.mts +61 -38
- package/src/foundry/common/utils/color.d.mts +20 -2
- package/src/foundry/common/utils/event-emitter.d.mts +32 -17
- package/src/foundry/common/utils/helpers.d.mts +36 -26
- package/src/foundry/common/utils/http.d.mts +2 -2
- package/src/foundry/common/utils/module.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/foundry/index.d.mts +0 -1
- package/src/foundry/{clipper → public/scripts/clipper}/clipper.d.mts +58 -16
- package/src/foundry/public/scripts/index.d.mts +1 -0
- package/src/foundry/public/scripts/workers/image-compressor.d.mts +23 -0
- package/src/foundry/public/scripts/workers/index.d.mts +1 -0
- package/{index-lenient.d.mts → src/index-lenient.d.mts} +2 -0
- package/src/index.d.mts +6 -0
- package/src/tsconfig.json +15 -0
- package/src/types/augments/particles.d.mts +29 -0
- package/src/types/augments/pixi.d.mts +1024 -21
- package/src/types/augments/smooth.d.mts +31 -0
- package/src/types/augments/tinyMCE.d.mts +1 -1
- package/src/types/config.d.mts +18 -313
- package/src/types/documentConfiguration.d.mts +286 -542
- package/src/types/index.d.mts +1 -1
- package/src/types/lib.d.mts +12 -0
- package/src/types/workers/image-compressor.d.mts +176 -0
- package/src/utils/index.d.mts +1279 -0
- package/tsconfig.json +29 -0
- package/tsconfig.main.json +8 -0
- package/tsconfig.miscellaneous.json +16 -0
- package/index.d.mts +0 -5
- package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
- package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -43
- package/src/foundry/common/documents/module.d.mts +0 -35
- package/src/foundry/common/primitives/regex.d.mts +0 -12
- package/src/types/helperTypes.d.mts +0 -583
- package/src/types/utils.d.mts +0 -539
- /package/src/foundry/{clipper → public/scripts/clipper}/index.d.mts +0 -0
@@ -1,24 +1,20 @@
|
|
1
|
-
import type {
|
1
|
+
import type { Brand, Coalesce, Identity, InexactPartial, NullishProps } from "#utils";
|
2
2
|
import type PointEffectSourceMixin from "../../../../client-esm/canvas/sources/point-effect-source.d.mts";
|
3
3
|
|
4
4
|
declare global {
|
5
|
-
interface PointSourcePolygonConfig extends PointSourcePolygon._Config {
|
6
|
-
/** The type of polygon being computed */
|
7
|
-
type: PointSourcePolygon.PolygonType;
|
8
|
-
}
|
9
|
-
|
10
5
|
/**
|
11
6
|
* An extension of the default PIXI.Polygon which is used to represent the line of sight for a point source.
|
12
7
|
*/
|
13
8
|
abstract class PointSourcePolygon extends PIXI.Polygon {
|
9
|
+
/**
|
10
|
+
* @remarks This is protected because `new PointSourcePolygon` does not sufficiently initialize the class; Use the static `create` method instead.
|
11
|
+
*/
|
12
|
+
protected constructor(...args: ConstructorParameters<typeof PIXI.Polygon>);
|
13
|
+
|
14
14
|
/**
|
15
15
|
* Customize how wall direction of one-way walls is applied
|
16
16
|
*/
|
17
|
-
static
|
18
|
-
NORMAL: 0;
|
19
|
-
REVERSED: 1;
|
20
|
-
BOTH: 2;
|
21
|
-
}>;
|
17
|
+
static WALL_DIRECTION_MODES: PointSourcePolygon.WallDirectionModes;
|
22
18
|
|
23
19
|
/**
|
24
20
|
* The rectangular bounds of this polygon
|
@@ -28,14 +24,15 @@ declare global {
|
|
28
24
|
|
29
25
|
/**
|
30
26
|
* The origin point of the source polygon.
|
27
|
+
* @remarks Not initialized to any value, but immediately set by `PointSourcePolygon#initialize`
|
31
28
|
*/
|
32
29
|
origin: Canvas.Point;
|
33
30
|
|
34
31
|
/**
|
35
32
|
* The configuration of this polygon.
|
36
|
-
* @
|
33
|
+
* @remarks Initialized as `{}` but immediately filled by `PointSourcePolygon#initialize`
|
37
34
|
*/
|
38
|
-
config:
|
35
|
+
config: PointSourcePolygon.StoredConfig;
|
39
36
|
|
40
37
|
/**
|
41
38
|
* An indicator for whether this polygon is constrained by some boundary shape?
|
@@ -48,20 +45,18 @@ declare global {
|
|
48
45
|
* @param origin - The origin point to benchmark
|
49
46
|
* @param config - The polygon configuration to benchmark
|
50
47
|
*/
|
51
|
-
static benchmark(iterations: number, origin: Canvas.Point, config:
|
48
|
+
static benchmark(iterations: number, origin: Canvas.Point, config: PointSourcePolygon.Config): Promise<void>;
|
52
49
|
|
53
50
|
/**
|
54
51
|
* Compute the polygon given a point origin and radius
|
55
52
|
* @param origin - The origin source point
|
56
53
|
* @param config - Configuration options which customize the polygon computation
|
57
|
-
* (default: `{}`)
|
58
54
|
* @returns The computed polygon instance
|
55
|
+
* @remarks Subclasses must implement a `.create` override to accurately type the return.
|
56
|
+
*
|
57
|
+
* Despite being a `={}` parameter, a `config` object with a valid `type` property must be passed
|
59
58
|
*/
|
60
|
-
static create
|
61
|
-
this: T,
|
62
|
-
origin: Canvas.Point,
|
63
|
-
config?: Parameters<InstanceType<NoInfer<T>>["initialize"]>[1],
|
64
|
-
): InstanceType<T>;
|
59
|
+
static create(origin: Canvas.Point, config: PointSourcePolygon.Config): unknown;
|
65
60
|
|
66
61
|
/**
|
67
62
|
* Create a clone of this polygon.
|
@@ -86,7 +81,7 @@ declare global {
|
|
86
81
|
* @param origin - The provided polygon origin
|
87
82
|
* @param config - The provided configuration object
|
88
83
|
*/
|
89
|
-
initialize(origin: Canvas.Point, config:
|
84
|
+
initialize(origin: Canvas.Point, config: PointSourcePolygon.Config): void;
|
90
85
|
|
91
86
|
/**
|
92
87
|
* Apply a constraining boundary shape to an existing PointSourcePolygon.
|
@@ -97,11 +92,18 @@ declare global {
|
|
97
92
|
* @returns A new constrained polygon
|
98
93
|
*/
|
99
94
|
applyConstraint(
|
100
|
-
constraint: PIXI.
|
101
|
-
intersectionOptions?:
|
102
|
-
):
|
95
|
+
constraint: PIXI.Polygon,
|
96
|
+
intersectionOptions?: PIXI.Polygon.IntersectPolygonOptions, // not:null (property set on it via `??=`)
|
97
|
+
): this;
|
98
|
+
applyConstraint(constraint: PIXI.Circle, intersectionOptions?: PIXI.Circle.WACIntersectPolygonOptions): this;
|
99
|
+
applyConstraint(constraint: PIXI.Circle, intersectionOptions?: PIXI.Circle.ClipperLibIntersectPolygonOptions): this;
|
100
|
+
applyConstraint(constraint: PIXI.Rectangle, intersectionOptions?: PIXI.Rectangle.WACIntersectPolygonOptions): this;
|
101
|
+
applyConstraint(
|
102
|
+
constraint: PIXI.Rectangle,
|
103
|
+
intersectionOptions?: PIXI.Rectangle.ClipperLibIntersectPolygonOptions,
|
104
|
+
): this;
|
103
105
|
|
104
|
-
contains(x: number, y: number): boolean;
|
106
|
+
override contains(x: number, y: number): boolean;
|
105
107
|
|
106
108
|
/**
|
107
109
|
* Constrain polygon points by applying boundary shapes.
|
@@ -117,27 +119,17 @@ declare global {
|
|
117
119
|
* @param mode - The collision mode to test: "any", "all", or "closest"
|
118
120
|
* (default: "all")
|
119
121
|
* @returns The collision result depends on the mode of the test:
|
120
|
-
*
|
121
|
-
*
|
122
|
-
*
|
122
|
+
* - any: returns a boolean for whether any collision occurred
|
123
|
+
* - all: returns a sorted array of PolygonVertex instances
|
124
|
+
* - closest: returns a PolygonVertex instance or null
|
125
|
+
* @remarks Despite being an `={}` parameter, `options` is required as it must be a valid
|
126
|
+
* `PointSourcePolygon.Config`, which has a required property (`type`)
|
123
127
|
*/
|
124
|
-
static testCollision<Mode extends PointSourcePolygon.CollisionModes>(
|
128
|
+
static testCollision<Mode extends PointSourcePolygon.CollisionModes | undefined = undefined>(
|
125
129
|
origin: Canvas.Point,
|
126
130
|
destination: Canvas.Point,
|
127
|
-
{
|
128
|
-
|
129
|
-
...config
|
130
|
-
}: {
|
131
|
-
/**
|
132
|
-
* The collision mode to test: "any", "all", or "closest"
|
133
|
-
* (default: "all")
|
134
|
-
*/
|
135
|
-
mode?: Mode;
|
136
|
-
|
137
|
-
/** The configuration that defines a certain Polygon type */
|
138
|
-
config?: PointSourcePolygonConfig;
|
139
|
-
},
|
140
|
-
): PointSourcePolygon.TestCollision<Mode>;
|
131
|
+
{ mode, ...config }: PointSourcePolygon.TestCollisionConfig<Mode>,
|
132
|
+
): PointSourcePolygon.TestCollision<Coalesce<Mode, "all">>;
|
141
133
|
|
142
134
|
/**
|
143
135
|
* Determine the set of collisions which occurs for a Ray.
|
@@ -166,8 +158,9 @@ declare global {
|
|
166
158
|
* Augment a PointSourcePolygon by adding additional coverage for shapes permitted by threshold walls.
|
167
159
|
* @param polygon - The computed polygon
|
168
160
|
* @returns The augmented polygon
|
161
|
+
* @remarks Mutates and returns the same reference it's passed, not a new polygon
|
169
162
|
*/
|
170
|
-
static applyThresholdAttenuation(polygon:
|
163
|
+
static applyThresholdAttenuation<PolyType extends PointSourcePolygon>(polygon: PolyType): PolyType;
|
171
164
|
|
172
165
|
/**
|
173
166
|
* @deprecated since v11, will be removed in v13
|
@@ -180,22 +173,109 @@ declare global {
|
|
180
173
|
}
|
181
174
|
|
182
175
|
namespace PointSourcePolygon {
|
176
|
+
interface Any extends AnyPointSourcePolygon {}
|
177
|
+
interface AnyConstructor extends Identity<typeof AnyPointSourcePolygon> {}
|
178
|
+
|
179
|
+
type WALL_DIRECTION_MODES = Brand<number, "PointSourcePolygon.WALL_DIRECTION_MODES">;
|
180
|
+
|
181
|
+
interface WallDirectionModes {
|
182
|
+
readonly NORMAL: 0 & WALL_DIRECTION_MODES;
|
183
|
+
readonly REVERSED: 1 & WALL_DIRECTION_MODES;
|
184
|
+
readonly BOTH: 2 & WALL_DIRECTION_MODES;
|
185
|
+
}
|
186
|
+
|
183
187
|
/** @internal */
|
184
|
-
type
|
185
|
-
/**
|
186
|
-
|
188
|
+
type _TestCollisionConfig<Mode> = InexactPartial<{
|
189
|
+
/**
|
190
|
+
* The collision mode to test: "any", "all", or "closest"
|
191
|
+
* @defaultValue `"all"`
|
192
|
+
* @remarks Can't be `null` as it only has a parameter default
|
193
|
+
*/
|
194
|
+
mode: Mode;
|
195
|
+
}>;
|
187
196
|
|
188
|
-
|
189
|
-
|
197
|
+
interface TestCollisionConfig<Mode> extends _TestCollisionConfig<Mode>, Config {}
|
198
|
+
|
199
|
+
/**
|
200
|
+
* @internal
|
201
|
+
* @privateRemarks Properties of the config that get set in `#initialize` or elsewhere with no respect to their passed value
|
202
|
+
*/
|
203
|
+
interface _ComputedConfig {
|
204
|
+
/**
|
205
|
+
* Does this polygon have a limited radius?
|
206
|
+
* @remarks `true` if `(cfg.radius > 0) && (cfg.radius < canvas.dimensions.maxR)`
|
207
|
+
*/
|
208
|
+
hasLimitedRadius: boolean;
|
209
|
+
|
210
|
+
/**
|
211
|
+
* Does this polygon have a limited angle?
|
212
|
+
* @remarks `true` if `cfg.angle !== 360`
|
213
|
+
*/
|
214
|
+
hasLimitedAngle: boolean;
|
215
|
+
}
|
216
|
+
|
217
|
+
/**
|
218
|
+
* @internal
|
219
|
+
* @privateRemarks Properties of the config that might be omitted but can't be explicitly `undefined`
|
220
|
+
*/
|
221
|
+
interface _OptionalOnlyConfig {
|
222
|
+
/**
|
223
|
+
* The object (if any) that spawned this polygon.
|
224
|
+
* @remarks Not guaranteed by `PointSourcePolygon#initialize` but will exist in all configs created by `PointEffectSourceMixin` subclasses. No default provided
|
225
|
+
* @privateRemarks Foundry types this as `PointSource` which is neither a typedef nor a class, not even a mixin class name. The type here matches usage and tracks with what they probably meant.
|
226
|
+
*/
|
227
|
+
source?: PointEffectSourceMixin.AnyMixed;
|
228
|
+
|
229
|
+
/**
|
230
|
+
* The external radius of the source
|
231
|
+
* @remarks Can't be `undefined` or `null` or its use in math would produce `NaN`s.
|
232
|
+
*
|
233
|
+
* Not guaranteed by `PointSourcePolygon#initialize` but will exist in all configs created by `PointEffectSourceMixin` subclasses.
|
234
|
+
*/
|
235
|
+
externalRadius?: number;
|
236
|
+
}
|
190
237
|
|
191
|
-
|
238
|
+
/**
|
239
|
+
* @internal
|
240
|
+
* @privateRemarks Properties of the config that have defaults for nullish values in `#initialize`, and thus are guaranteed in the stored config
|
241
|
+
*/
|
242
|
+
interface _BaseConfig {
|
243
|
+
/**
|
244
|
+
* A limited radius of the resulting polygon
|
245
|
+
* @defaultValue `canvas.dimensions.maxR`
|
246
|
+
*/
|
192
247
|
radius: number;
|
193
248
|
|
194
|
-
/**
|
249
|
+
/**
|
250
|
+
* The desired density of padding rays, a number per PI
|
251
|
+
* @defaultValue `PIXI.Circle.approximateVertexDensity(cfg.radius)`
|
252
|
+
*/
|
253
|
+
density: number;
|
254
|
+
|
255
|
+
/**
|
256
|
+
* The angle of emission, if limited
|
257
|
+
* @defaultValue `360`
|
258
|
+
*/
|
259
|
+
angle: number;
|
260
|
+
|
261
|
+
/**
|
262
|
+
* The direction of facing, required if the angle is limited
|
263
|
+
* @defaultValue `0`
|
264
|
+
*/
|
195
265
|
rotation: number;
|
196
266
|
|
197
|
-
/**
|
198
|
-
|
267
|
+
/**
|
268
|
+
* Does this polygon use the Scene inner or outer bounding rectangle
|
269
|
+
* @defaultValue `true` if `type === "sight"` and the origin point is inside `canvas.dimensions.sceneRect` else `false`
|
270
|
+
* @remarks Computed if not provided or passed nullish.
|
271
|
+
*/
|
272
|
+
useInnerBounds: boolean;
|
273
|
+
|
274
|
+
/**
|
275
|
+
* Customize how wall direction of one-way walls is applied
|
276
|
+
* @defaultValue `PointSourcePolygon.WALL_DIRECTION_MODES.NORMAL`
|
277
|
+
*/
|
278
|
+
wallDirectionMode: PointSourcePolygon.WALL_DIRECTION_MODES;
|
199
279
|
|
200
280
|
/**
|
201
281
|
* Compute the polygon with threshold wall constraints applied
|
@@ -209,41 +289,56 @@ declare global {
|
|
209
289
|
*/
|
210
290
|
includeDarkness: boolean;
|
211
291
|
|
212
|
-
/**
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
292
|
+
/**
|
293
|
+
* Limiting polygon boundary shapes
|
294
|
+
* @defaultValue `[]`
|
295
|
+
* @remarks Never passed in Foundry practice
|
296
|
+
*/
|
297
|
+
boundaryShapes: Array<BoundaryShapes>;
|
217
298
|
|
218
|
-
/**
|
219
|
-
|
299
|
+
/**
|
300
|
+
* Display debugging visualization and logging for the polygon
|
301
|
+
* @remarks Overridden `true` if `CONFIG.debug.polygons` is truthy
|
302
|
+
*/
|
303
|
+
debug?: boolean;
|
220
304
|
|
221
|
-
/**
|
222
|
-
|
305
|
+
/**
|
306
|
+
* Priority when it comes to ignore edges from darkness sources
|
307
|
+
* @remarks This is listed in the typedef, but is not in use by Foundry in 12.331
|
308
|
+
*/
|
309
|
+
priority?: number;
|
310
|
+
}
|
223
311
|
|
224
|
-
|
225
|
-
|
312
|
+
/**
|
313
|
+
* @internal
|
314
|
+
* @privateRemarks The only property required in all configs
|
315
|
+
*/
|
316
|
+
interface _RequiredConfig {
|
317
|
+
/** The type of polygon being computed */
|
318
|
+
type: PolygonType;
|
319
|
+
}
|
226
320
|
|
227
|
-
|
228
|
-
readonly hasLimitedRadius: boolean;
|
321
|
+
interface StoredConfig extends _RequiredConfig, _BaseConfig, _OptionalOnlyConfig, _ComputedConfig {}
|
229
322
|
|
230
|
-
|
231
|
-
readonly hasLimitedAngle: boolean;
|
323
|
+
interface Config extends _RequiredConfig, NullishProps<_BaseConfig>, _OptionalOnlyConfig {}
|
232
324
|
|
233
|
-
|
234
|
-
readonly boundingBox: PIXI.Rectangle;
|
235
|
-
}>;
|
325
|
+
type BoundaryShapes = PIXI.Rectangle | PIXI.Circle | PIXI.Polygon;
|
236
326
|
|
237
327
|
type PolygonType = "light" | "sight" | "sound" | "move" | "universal";
|
238
328
|
|
239
329
|
type CollisionModes = "any" | "all" | "closest";
|
240
330
|
|
241
|
-
|
331
|
+
/** @internal */
|
332
|
+
interface _CollisionTypesReturnMap {
|
242
333
|
any: boolean;
|
243
|
-
closest: foundry.canvas.edges.PolygonVertex;
|
244
|
-
all: foundry.canvas.edges.PolygonVertex[]
|
334
|
+
closest: foundry.canvas.edges.PolygonVertex | null;
|
335
|
+
all: foundry.canvas.edges.PolygonVertex[];
|
245
336
|
}
|
246
337
|
|
247
|
-
type TestCollision<Mode extends CollisionModes> =
|
338
|
+
type TestCollision<Mode extends CollisionModes> = _CollisionTypesReturnMap[Mode];
|
248
339
|
}
|
249
340
|
}
|
341
|
+
|
342
|
+
declare abstract class AnyPointSourcePolygon extends PointSourcePolygon {
|
343
|
+
constructor(...args: never);
|
344
|
+
}
|
@@ -1,140 +1,143 @@
|
|
1
|
-
import type { NullishProps } from "
|
1
|
+
import type { NullishProps } from "#utils";
|
2
2
|
import type { LineCircleIntersection } from "../../../common/utils/geometry.d.mts";
|
3
|
+
import * as _PIXI from "pixi.js";
|
3
4
|
|
4
|
-
declare
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
/**
|
13
|
-
* Determine if a point is on or nearly on this circle.
|
14
|
-
* @param point - Point to test
|
15
|
-
* @param epsilon - Tolerated margin of error
|
16
|
-
* (default: `1e-08`)
|
17
|
-
* @returns Is the point on the circle within the allowed tolerance?
|
18
|
-
*/
|
19
|
-
pointIsOn(point: Canvas.Point, epsilon: number): boolean;
|
20
|
-
|
21
|
-
/**
|
22
|
-
* Get all intersection points on this circle for a segment A|B
|
23
|
-
* Intersections are sorted from A to B.
|
24
|
-
* @param a - The first endpoint on segment A|B
|
25
|
-
* @param b - The second endpoint on segment A|B
|
26
|
-
* @returns Points where the segment A|B intersects the circle
|
27
|
-
*/
|
28
|
-
segmentIntersections(a: Canvas.Point, b: Canvas.Point): LineCircleIntersection["intersections"];
|
29
|
-
|
30
|
-
/**
|
31
|
-
* Calculate an x,y point on this circle's circumference given an angle
|
32
|
-
* 0: due east
|
33
|
-
* π / 2: due south
|
34
|
-
* π or -π: due west
|
35
|
-
* -π/2: due north
|
36
|
-
* @param angle - Angle of the point, in radians
|
37
|
-
* @returns The point on the circle at the given angle
|
38
|
-
*/
|
39
|
-
pointAtAngle(angle: number): Canvas.Point;
|
40
|
-
|
41
|
-
/**
|
42
|
-
* Get all the points for a polygon approximation of this circle between two points.
|
43
|
-
* The two points can be anywhere in 2d space. The intersection of this circle with the line from this circle center
|
44
|
-
* to the point will be used as the start or end point, respectively.
|
45
|
-
* This is used to draw the portion of the circle (the arc) between two intersection points on this circle.
|
46
|
-
* @param a - Point in 2d space representing the start point
|
47
|
-
* @param b - Point in 2d space representing the end point
|
48
|
-
* @param options - Options passed on to the pointsForArc method
|
49
|
-
* @returns An array of points arranged clockwise from start to end
|
50
|
-
*/
|
51
|
-
pointsBetween(a: Canvas.Point, b: Canvas.Point, options?: Circle.PointsForArcOptions): Canvas.Point[];
|
52
|
-
|
53
|
-
/**
|
54
|
-
* Get the points that would approximate a circular arc along this circle, given a starting and ending angle.
|
55
|
-
* Points returned are clockwise. If from and to are the same, a full circle will be returned.
|
56
|
-
* @param fromAngle - Starting angle, in radians. π is due north, π/2 is due east
|
57
|
-
* @param toAngle - Ending angle, in radians
|
58
|
-
* @param options - Options which affect how the circle is converted
|
59
|
-
* @returns An array of points along the requested arc
|
60
|
-
*/
|
61
|
-
pointsForArc(fromAngle: number, toAngle: number, options?: Circle.PointsForArcOptions): Canvas.Point[];
|
62
|
-
|
63
|
-
/**
|
64
|
-
* Approximate this PIXI.Circle as a PIXI.Polygon
|
65
|
-
* @param options - Options forwarded on to the pointsForArc method
|
66
|
-
* @returns The Circle expressed as a PIXI.Polygon
|
67
|
-
*/
|
68
|
-
toPolygon(options?: Circle.PointsForArcOptions): PIXI.Polygon;
|
69
|
-
|
70
|
-
/**
|
71
|
-
* The recommended vertex density for the regular polygon approximation of a circle of a given radius.
|
72
|
-
* Small radius circles have fewer vertices. The returned value will be rounded up to the nearest integer.
|
73
|
-
* See the formula described at:
|
74
|
-
* https://math.stackexchange.com/questions/4132060/compute-number-of-regular-polgy-sides-to-approximate-circle-to-defined-precision
|
75
|
-
* @param radius - Circle radius
|
76
|
-
* @param epsilon - The maximum tolerable distance between an approximated line segment and the true radius.
|
77
|
-
* A larger epsilon results in fewer points for a given radius. (default: `1`)
|
78
|
-
* @returns The number of points for the approximated polygon
|
79
|
-
*/
|
80
|
-
approximateVertexDensity(radius: number, epsilon?: number): number;
|
81
|
-
|
82
|
-
/**
|
83
|
-
* Intersect this PIXI.Circle with a PIXI.Polygon.
|
84
|
-
* @param polygon - A PIXI.Polygon
|
85
|
-
* @param options - Options which configure how the intersection is computed
|
86
|
-
* @returns The intersected polygon
|
87
|
-
*/
|
88
|
-
intersectPolygon(polygon: PIXI.Polygon, options?: PIXI.Circle.WACIntersectPolygonOptions): PIXI.Polygon;
|
89
|
-
intersectPolygon(polygon: PIXI.Polygon, options?: PIXI.Circle.ClipperLibIntersectPolygonOptions): PIXI.Polygon;
|
90
|
-
intersectPolygon(polygon: PIXI.Polygon, options?: PIXI.Circle.IntersectClipperOptions): PIXI.Polygon;
|
91
|
-
|
92
|
-
/**
|
93
|
-
* Intersect this PIXI.Circle with an array of ClipperPoints.
|
94
|
-
* Convert the circle to a Polygon approximation and use intersectPolygon.
|
95
|
-
* In the future we may replace this with more specialized logic which uses the line-circle intersection formula.
|
96
|
-
* @param clipperPoints - Array of ClipperPoints generated by PIXI.Polygon.toClipperPoints()
|
97
|
-
* @param options - Options which configure how the intersection is computed
|
98
|
-
* @returns The intersected polygon
|
99
|
-
*/
|
100
|
-
intersectClipper(
|
101
|
-
clipperPoints: PIXI.Polygon.ClipperPoint[],
|
102
|
-
options?: PIXI.Circle.IntersectClipperOptions,
|
103
|
-
): PIXI.Polygon;
|
104
|
-
}
|
5
|
+
declare global {
|
6
|
+
namespace PIXI {
|
7
|
+
interface Circle {
|
8
|
+
/**
|
9
|
+
* Determine the center of the circle.
|
10
|
+
* Trivial, but used to match center method for other shapes.
|
11
|
+
*/
|
12
|
+
get center(): PIXI.Point;
|
105
13
|
|
106
|
-
|
107
|
-
|
14
|
+
/**
|
15
|
+
* Determine if a point is on or nearly on this circle.
|
16
|
+
* @param point - Point to test
|
17
|
+
* @param epsilon - Tolerated margin of error
|
18
|
+
* (default: `1e-08`)
|
19
|
+
* @returns Is the point on the circle within the allowed tolerance?
|
20
|
+
*/
|
21
|
+
pointIsOn(point: Canvas.Point, epsilon?: number): boolean;
|
108
22
|
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
23
|
+
/**
|
24
|
+
* Get all intersection points on this circle for a segment A|B
|
25
|
+
* Intersections are sorted from A to B.
|
26
|
+
* @param a - The first endpoint on segment A|B
|
27
|
+
* @param b - The second endpoint on segment A|B
|
28
|
+
* @returns Points where the segment A|B intersects the circle
|
29
|
+
*/
|
30
|
+
segmentIntersections(a: Canvas.Point, b: Canvas.Point): LineCircleIntersection["intersections"];
|
113
31
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
32
|
+
/**
|
33
|
+
* Calculate an x,y point on this circle's circumference given an angle
|
34
|
+
* 0: due east
|
35
|
+
* π / 2: due south
|
36
|
+
* π or -π: due west
|
37
|
+
* -π/2: due north
|
38
|
+
* @param angle - Angle of the point, in radians
|
39
|
+
* @returns The point on the circle at the given angle
|
40
|
+
*/
|
41
|
+
pointAtAngle(angle: number): Canvas.Point;
|
118
42
|
|
119
|
-
/** @internal Helper type to simplify use of optionality- and nullish-permissiveness-modifying helpers */
|
120
|
-
type _PointsForArcOptions = NullishProps<{
|
121
43
|
/**
|
122
|
-
*
|
123
|
-
*
|
44
|
+
* Get all the points for a polygon approximation of this circle between two points.
|
45
|
+
* The two points can be anywhere in 2d space. The intersection of this circle with the line from this circle center
|
46
|
+
* to the point will be used as the start or end point, respectively.
|
47
|
+
* This is used to draw the portion of the circle (the arc) between two intersection points on this circle.
|
48
|
+
* @param a - Point in 2d space representing the start point
|
49
|
+
* @param b - Point in 2d space representing the end point
|
50
|
+
* @param options - Options passed on to the pointsForArc method
|
51
|
+
* @returns An array of points arranged clockwise from start to end
|
124
52
|
*/
|
125
|
-
|
53
|
+
pointsBetween(a: Canvas.Point, b: Canvas.Point, options?: Circle.PointsForArcOptions): Canvas.Point[];
|
126
54
|
|
127
55
|
/**
|
128
|
-
*
|
129
|
-
*
|
56
|
+
* Get the points that would approximate a circular arc along this circle, given a starting and ending angle.
|
57
|
+
* Points returned are clockwise. If from and to are the same, a full circle will be returned.
|
58
|
+
* @param fromAngle - Starting angle, in radians. π is due north, π/2 is due east
|
59
|
+
* @param toAngle - Ending angle, in radians
|
60
|
+
* @param options - Options which affect how the circle is converted
|
61
|
+
* @returns An array of points along the requested arc
|
130
62
|
*/
|
131
|
-
|
132
|
-
}>;
|
63
|
+
pointsForArc(fromAngle: number, toAngle: number, options?: Circle.PointsForArcOptions): Canvas.Point[];
|
133
64
|
|
134
|
-
|
65
|
+
/**
|
66
|
+
* Approximate this PIXI.Circle as a PIXI.Polygon
|
67
|
+
* @param options - Options forwarded on to the pointsForArc method
|
68
|
+
* @returns The Circle expressed as a PIXI.Polygon
|
69
|
+
*/
|
70
|
+
toPolygon(options?: Circle.PointsForArcOptions): PIXI.Polygon;
|
135
71
|
|
136
|
-
|
137
|
-
|
138
|
-
|
72
|
+
/**
|
73
|
+
* Intersect this PIXI.Circle with a PIXI.Polygon.
|
74
|
+
* @param polygon - A PIXI.Polygon
|
75
|
+
* @param options - Options which configure how the intersection is computed
|
76
|
+
* @returns The intersected polygon
|
77
|
+
* @remarks Slightly bugged in v12; if `options.weilerAtherton` is falsey, it will not pass on `options.clipType` to `PIXI.Polygon#intersectPolygon`,
|
78
|
+
* forcing the default of `ClipperLib.ClipTypes.ctIntersection`
|
79
|
+
*/
|
80
|
+
intersectPolygon(polygon: PIXI.Polygon, options?: PIXI.Circle.WACIntersectPolygonOptions): PIXI.Polygon;
|
81
|
+
intersectPolygon(polygon: PIXI.Polygon, options?: PIXI.Circle.ClipperLibIntersectPolygonOptions): PIXI.Polygon;
|
82
|
+
|
83
|
+
/**
|
84
|
+
* Intersect this PIXI.Circle with an array of ClipperPoints.
|
85
|
+
* Convert the circle to a Polygon approximation and use intersectPolygon.
|
86
|
+
* In the future we may replace this with more specialized logic which uses the line-circle intersection formula.
|
87
|
+
* @param clipperPoints - Array of ClipperPoints generated by PIXI.Polygon.toClipperPoints()
|
88
|
+
* @param options - Options which configure how the intersection is computed
|
89
|
+
* @returns The intersected polygon
|
90
|
+
*/
|
91
|
+
intersectClipper(
|
92
|
+
clipperPoints: PIXI.Polygon.ClipperPoint[],
|
93
|
+
options?: PIXI.Circle.IntersectClipperOptions,
|
94
|
+
): PIXI.Polygon;
|
95
|
+
}
|
96
|
+
|
97
|
+
namespace Circle {
|
98
|
+
/** @remarks The options for `intersectPolygon` when `weilerAtherton` is true (or not provided) */
|
99
|
+
interface WACIntersectPolygonOptions extends PIXI.Rectangle.WACIntersectPolygonOptions {}
|
100
|
+
|
101
|
+
/** @remarks The options for `intersectPolygon` when `weilerAtherton` is false. */
|
102
|
+
interface ClipperLibIntersectPolygonOptions
|
103
|
+
extends PIXI.Rectangle.ClipperLibIntersectPolygonOptions,
|
104
|
+
Pick<PIXI.Circle.PointsForArcOptions, "density"> {}
|
105
|
+
|
106
|
+
/** @internal Helper type to simplify use of optionality- and nullish-permissiveness-modifying helpers */
|
107
|
+
type _PointsForArcOptions = NullishProps<{
|
108
|
+
/**
|
109
|
+
* The number of points which defines the density of approximation
|
110
|
+
* @defaultValue `PIXI.Circle.approximateVertexDensity(this.radius)`
|
111
|
+
* @remarks Default provided by `??=` in `pointsForArc` function body
|
112
|
+
*/
|
113
|
+
density: number;
|
114
|
+
|
115
|
+
/**
|
116
|
+
* Whether to include points at the circle where the arc starts and ends
|
117
|
+
* @defaultValue `true`
|
118
|
+
*/
|
119
|
+
includeEndpoints: boolean;
|
120
|
+
}>;
|
121
|
+
|
122
|
+
interface PointsForArcOptions extends _PointsForArcOptions {}
|
123
|
+
|
124
|
+
interface IntersectClipperOptions
|
125
|
+
extends PIXI.Polygon.IntersectClipperOptions,
|
126
|
+
Pick<PIXI.Circle.PointsForArcOptions, "density"> {}
|
127
|
+
}
|
128
|
+
|
129
|
+
class Circle extends _PIXI.Circle {
|
130
|
+
/**
|
131
|
+
* The recommended vertex density for the regular polygon approximation of a circle of a given radius.
|
132
|
+
* Small radius circles have fewer vertices. The returned value will be rounded up to the nearest integer.
|
133
|
+
* See the formula described at:
|
134
|
+
* https://math.stackexchange.com/questions/4132060/compute-number-of-regular-polgy-sides-to-approximate-circle-to-defined-precision
|
135
|
+
* @param radius - Circle radius
|
136
|
+
* @param epsilon - The maximum tolerable distance between an approximated line segment and the true radius.
|
137
|
+
* A larger epsilon results in fewer points for a given radius. (default: `1`)
|
138
|
+
* @returns The number of points for the approximated polygon
|
139
|
+
*/
|
140
|
+
static approximateVertexDensity(radius: number, epsilon?: number): number;
|
141
|
+
}
|
139
142
|
}
|
140
143
|
}
|
@@ -3,7 +3,9 @@ export {};
|
|
3
3
|
declare global {
|
4
4
|
namespace PIXI {
|
5
5
|
namespace Graphics {
|
6
|
-
type Path =
|
6
|
+
type Path =
|
7
|
+
| [points: number[] | PIXI.IPointData[] | PIXI.Polygon, smoothingFactor?: number]
|
8
|
+
| Array<number | PIXI.IPointData>;
|
7
9
|
}
|
8
10
|
}
|
9
11
|
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import type {
|
1
|
+
import type { Identity } from "#utils";
|
2
2
|
|
3
3
|
declare global {
|
4
4
|
/**
|
5
5
|
* A custom Transform class allowing to observe changes with a callback.
|
6
6
|
* @privateRemarks Scope extends object is intentional; `"The scope bound to an ObservableTransform class must be a valid object/class."`
|
7
7
|
*/
|
8
|
-
class ObservableTransform<CB extends (this: Scope) => unknown, Scope extends
|
8
|
+
class ObservableTransform<CB extends (this: Scope) => unknown, Scope extends object> extends PIXI.Transform {
|
9
9
|
/**
|
10
10
|
*
|
11
11
|
* @param callback - The callback called to observe changes.
|
@@ -28,10 +28,11 @@ declare global {
|
|
28
28
|
protected override updateSkew(): void;
|
29
29
|
}
|
30
30
|
namespace ObservableTransform {
|
31
|
-
|
31
|
+
interface Any extends AnyObservableTransform {}
|
32
|
+
interface AnyConstructor extends Identity<typeof AnyObservableTransform> {}
|
32
33
|
}
|
33
34
|
}
|
34
35
|
|
35
36
|
declare abstract class AnyObservableTransform extends ObservableTransform<any, any> {
|
36
|
-
constructor(
|
37
|
+
constructor(...args: never);
|
37
38
|
}
|