@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,15 +1,14 @@
|
|
1
1
|
import type {
|
2
|
-
|
3
|
-
InexactPartial,
|
4
|
-
NullishProps,
|
5
|
-
ValueOf,
|
2
|
+
Brand,
|
6
3
|
FixedInstanceType,
|
7
4
|
HandleEmptyObject,
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
Identity,
|
6
|
+
InexactPartial,
|
7
|
+
IntentionalPartial,
|
8
|
+
NullishProps,
|
9
|
+
} from "fvtt-types/utils";
|
10
|
+
import type Document from "#common/abstract/document.d.mts";
|
11
|
+
import type EmbeddedCollection from "#common/abstract/embedded-collection.d.mts";
|
13
12
|
|
14
13
|
declare global {
|
15
14
|
/**
|
@@ -18,24 +17,26 @@ declare global {
|
|
18
17
|
* @typeParam DocumentName - The key of the configuration which defines the object and document class.
|
19
18
|
* @typeParam Options - The type of the options in this layer.
|
20
19
|
*/
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
// TODO(LukeAbby): Make `DocumentName` covariant.
|
21
|
+
class PlaceablesLayer<DocumentName extends PlaceablesLayer.DocumentNames> extends InteractionLayer {
|
24
22
|
/**
|
25
23
|
* Sort order for placeables belonging to this layer
|
26
24
|
* @defaultValue `0`
|
25
|
+
* @remarks Unused in v12.331
|
27
26
|
*/
|
28
27
|
static SORT_ORDER: number;
|
29
28
|
|
30
29
|
/**
|
31
30
|
* Placeable Layer Objects
|
32
31
|
* @defaultValue `null`
|
32
|
+
* @remarks Set to `new PIXI.Container()` on draw, `null` on tearDown
|
33
33
|
*/
|
34
34
|
objects: PIXI.Container | null;
|
35
35
|
|
36
36
|
/**
|
37
37
|
* Preview Object Placement
|
38
38
|
* @defaultValue `null`
|
39
|
+
* @remarks Only `null` prior to first draw, does not get reset on tearDown
|
39
40
|
*/
|
40
41
|
preview: PIXI.Container | null;
|
41
42
|
|
@@ -43,20 +44,21 @@ declare global {
|
|
43
44
|
* Keep track of history so that CTRL+Z can undo changes
|
44
45
|
* @defaultValue `[]`
|
45
46
|
*/
|
46
|
-
history:
|
47
|
+
history: PlaceablesLayer.HistoryEntry<DocumentName>[];
|
47
48
|
|
48
49
|
/**
|
49
50
|
* Keep track of an object copied with CTRL+C which can be pasted later
|
50
51
|
* @defaultValue `[]`
|
52
|
+
* @privateRemarks Accessed externally in `ClientKeybinds#_onPaste`, which is marked `@private`
|
51
53
|
*/
|
52
|
-
protected _copy:
|
54
|
+
protected _copy: Document.ObjectFor<DocumentName>[];
|
53
55
|
|
54
56
|
/**
|
55
57
|
* A Quadtree which partitions and organizes Walls into quadrants for efficient target identification.
|
58
|
+
* @remarks Is `new CanvasQuadtree()` if `quadtree` is truthy in `this.constructor.layerOptions`, else `null`
|
56
59
|
*/
|
57
|
-
|
58
|
-
|
59
|
-
> | null;
|
60
|
+
// TODO: If dynamic static stuff can be worked out, this can be conditional on `options.quadtree`
|
61
|
+
quadtree: CanvasQuadtree<Document.ObjectFor<DocumentName>> | null;
|
60
62
|
|
61
63
|
/**
|
62
64
|
* @remarks Override not in foundry docs but implicit from layerOptions
|
@@ -80,72 +82,73 @@ declare global {
|
|
80
82
|
|
81
83
|
/**
|
82
84
|
* A reference to the named Document type which is contained within this Canvas Layer.
|
83
|
-
* @
|
85
|
+
* @defaultValue `undefined`
|
86
|
+
* @abstract
|
84
87
|
*/
|
85
|
-
static documentName: PlaceablesLayer.
|
88
|
+
static documentName: PlaceablesLayer.DocumentNames;
|
86
89
|
|
87
90
|
/**
|
88
91
|
* Creation states affected to placeables during their construction.
|
89
92
|
*/
|
90
|
-
static CREATION_STATES: PlaceablesLayer.
|
93
|
+
static CREATION_STATES: PlaceablesLayer.CreationStates;
|
91
94
|
|
92
95
|
/**
|
93
96
|
* Obtain a reference to the Collection of embedded Document instances within the currently viewed Scene
|
97
|
+
* @remarks Returns `null` if `canvas.scene` does not have an EmbeddedCollection for the layer's `static documentName`
|
94
98
|
*/
|
95
|
-
get documentCollection(): EmbeddedCollection<
|
96
|
-
Document.ConfiguredInstanceForName<DocumentName>,
|
97
|
-
Scene.ConfiguredInstance
|
98
|
-
> | null;
|
99
|
+
get documentCollection(): EmbeddedCollection<Document.ImplementationFor<DocumentName>, Scene.Implementation> | null;
|
99
100
|
|
100
101
|
/**
|
101
102
|
* Define a Container implementation used to render placeable objects contained in this layer
|
103
|
+
* @privateRemarks Would be `Document.ConfiguredObjectInstanceForName<DocumentName>` if statics could see type params
|
102
104
|
*/
|
103
105
|
static get placeableClass(): PlaceableObject.AnyConstructor;
|
104
106
|
|
105
107
|
/**
|
106
108
|
* If objects on this PlaceablesLayer have a HUD UI, provide a reference to its instance
|
107
|
-
* @remarks Returns `null` unless overridden
|
109
|
+
* @remarks Returns `null` unless overridden by subclass
|
108
110
|
*/
|
109
|
-
get hud(): BasePlaceableHUD<Document.
|
111
|
+
get hud(): BasePlaceableHUD<Document.ObjectFor<DocumentName>> | null;
|
110
112
|
|
111
113
|
/**
|
112
114
|
* A convenience method for accessing the placeable object instances contained in this layer
|
113
115
|
*/
|
114
|
-
get placeables(): Document.
|
116
|
+
get placeables(): Document.ObjectFor<DocumentName>[];
|
115
117
|
|
116
118
|
/**
|
117
119
|
* An Array of placeable objects in this layer which have the _controlled attribute
|
118
120
|
*/
|
119
|
-
get controlled(): Document.
|
121
|
+
get controlled(): Document.ObjectFor<DocumentName>[];
|
120
122
|
|
121
123
|
/**
|
122
124
|
* Iterates over placeable objects that are eligible for control/select.
|
123
|
-
* @
|
125
|
+
* @yields A placeable object
|
124
126
|
*/
|
125
|
-
// TODO: Update remark with proper @yields tag https://github.com/microsoft/tsdoc/issues/234
|
126
127
|
controllableObjects(): Generator<PlaceableObject.Any>;
|
127
128
|
|
128
129
|
/**
|
129
130
|
* Track the set of PlaceableObjects on this layer which are currently controlled.
|
130
131
|
*/
|
131
|
-
get controlledObjects(): Map<string,
|
132
|
+
get controlledObjects(): Map<string, Document.ObjectFor<DocumentName>>;
|
132
133
|
|
133
134
|
/**
|
134
135
|
* Track the PlaceableObject on this layer which is currently hovered upon.
|
135
136
|
*/
|
136
|
-
get hover():
|
137
|
+
get hover(): Document.ObjectFor<DocumentName> | null;
|
137
138
|
|
138
139
|
set hover(object);
|
139
140
|
|
140
141
|
/**
|
141
142
|
* Track whether "highlight all objects" is currently active
|
142
143
|
* @defaultValue `false`
|
144
|
+
* @remarks Set by {@link Canvas.highlightObjects | `Canvas#highlightObjects`}
|
143
145
|
*/
|
144
146
|
highlightObjects: boolean;
|
145
147
|
|
146
148
|
/**
|
147
149
|
* Get the maximum sort value of all placeables.
|
148
150
|
* @returns The maximum sort value (-Infinity if there are no objects)
|
151
|
+
* @remarks Despite the above comment, returns `-Infinity` if the schema of the layer's document lacks a `sort` field, object count is not relevant
|
149
152
|
*/
|
150
153
|
getMaxSort(): number;
|
151
154
|
|
@@ -153,8 +156,9 @@ declare global {
|
|
153
156
|
* Send the controlled objects of this layer to the back or bring them to the front.
|
154
157
|
* @param front - Bring to front instead of send to back?
|
155
158
|
* @returns Returns true if the layer has sortable object, and false otherwise
|
159
|
+
* @remarks Same check as {@link PlaceablesLayer.getMaxSort | `PlaceablesLayer#getMaxSort`}
|
156
160
|
*/
|
157
|
-
protected
|
161
|
+
protected _sendToBackOrBringToFront(front?: boolean | null): boolean;
|
158
162
|
|
159
163
|
/**
|
160
164
|
* Snaps the given point to grid. The layer defines the snapping behavior.
|
@@ -165,10 +169,9 @@ declare global {
|
|
165
169
|
|
166
170
|
/**
|
167
171
|
* Obtain an iterable of objects which should be added to this PlaceableLayer
|
172
|
+
* @remarks Returns the EmbeddedCollection for this layer's associated Document on the currently viewed scene, or an empty array if not found
|
168
173
|
*/
|
169
|
-
getDocuments():
|
170
|
-
| Exclude<this["documentCollection"], null>
|
171
|
-
| FixedInstanceType<Document.ConfiguredClassForName<DocumentName>>[];
|
174
|
+
getDocuments(): NonNullable<this["documentCollection"]> | [];
|
172
175
|
|
173
176
|
protected override _draw(options: HandleEmptyObject<PlaceablesLayer.DrawOptions>): Promise<void>;
|
174
177
|
|
@@ -176,9 +179,7 @@ declare global {
|
|
176
179
|
* Draw a single placeable object
|
177
180
|
* @param document - The Document instance used to create the placeable object
|
178
181
|
*/
|
179
|
-
createObject(
|
180
|
-
document: Document.ConfiguredInstanceForName<DocumentName>,
|
181
|
-
): Document.ConfiguredObjectInstanceForName<DocumentName>;
|
182
|
+
createObject(document: Document.ImplementationFor<DocumentName>): Document.ObjectFor<DocumentName>;
|
182
183
|
|
183
184
|
protected override _tearDown(options: HandleEmptyObject<PlaceablesLayer.TearDownOptions>): Promise<void>;
|
184
185
|
|
@@ -197,7 +198,7 @@ declare global {
|
|
197
198
|
* @param objectId - The ID of the contained object to retrieve
|
198
199
|
* @returns The object instance, or undefined
|
199
200
|
*/
|
200
|
-
get(objectId: string): Document.
|
201
|
+
get(objectId: string): Document.ObjectFor<DocumentName> | undefined;
|
201
202
|
|
202
203
|
/**
|
203
204
|
* Acquire control over all PlaceableObject instances which are visible and controllable within the layer.
|
@@ -206,7 +207,9 @@ declare global {
|
|
206
207
|
* (default: `{}`)
|
207
208
|
* @returns An array of objects that were controlled
|
208
209
|
*/
|
209
|
-
controlAll(
|
210
|
+
controlAll(
|
211
|
+
options?: PlaceableObject.ControlOptions, // not:null (property set on it without checks)
|
212
|
+
): Document.ObjectFor<DocumentName>[];
|
210
213
|
|
211
214
|
/**
|
212
215
|
* Release all controlled PlaceableObject instance from this layer.
|
@@ -215,7 +218,9 @@ declare global {
|
|
215
218
|
* (default: `{}`)
|
216
219
|
* @returns The number of PlaceableObject instances which were released
|
217
220
|
*/
|
218
|
-
releaseAll(
|
221
|
+
releaseAll(
|
222
|
+
options?: PlaceableObject.ReleaseOptions, // not:null (`Placeable#release` behaviour depends on subclasses, cannot assume null allowed)
|
223
|
+
): number;
|
219
224
|
|
220
225
|
/**
|
221
226
|
* Simultaneously rotate multiple PlaceableObjects using a provided angle or incremental.
|
@@ -225,12 +230,11 @@ declare global {
|
|
225
230
|
* @param options - Options which configure how multiple objects are rotated
|
226
231
|
* (default: `{}`)
|
227
232
|
* @returns An array of objects which were rotated
|
228
|
-
* @throws
|
229
|
-
* @remarks Overload is necessary to ensure that one of `angle` or `delta` are numeric in `options
|
233
|
+
* @throws If both `options.angle` and `options.delta` are nullish
|
234
|
+
* @remarks Overload is necessary to ensure that one of `angle` or `delta` are numeric in `options`, as neither has a parameter default
|
230
235
|
*/
|
231
|
-
rotateMany(
|
232
|
-
|
233
|
-
): Promise<Document.ConfiguredObjectInstanceForName<DocumentName>[]>;
|
236
|
+
rotateMany(options: PlaceablesLayer.RotateManyOptionsWithAngle): Promise<Document.ObjectFor<DocumentName>[]>;
|
237
|
+
rotateMany(options: PlaceablesLayer.RotateManyOptionsWithDelta): Promise<Document.ObjectFor<DocumentName>[]>;
|
234
238
|
|
235
239
|
/**
|
236
240
|
* Simultaneously move multiple PlaceableObjects via keyboard movement offsets.
|
@@ -239,37 +243,37 @@ declare global {
|
|
239
243
|
* @param options - Options which configure how multiple objects are moved
|
240
244
|
* (default: `{}`)
|
241
245
|
* @returns An array of objects which were moved during the operation
|
242
|
-
* @throws
|
246
|
+
* @throws If an array is passed for `ids` and any of its contents are not a valid ID for a placeable on this layer
|
243
247
|
*/
|
244
248
|
moveMany(
|
245
|
-
options?: PlaceablesLayer.
|
246
|
-
): Promise<Document.
|
249
|
+
options?: PlaceablesLayer.MoveManyOptions, // not:null (destructured)
|
250
|
+
): Promise<Document.ObjectFor<DocumentName>[]> | undefined;
|
247
251
|
|
248
252
|
/**
|
249
253
|
* An internal helper method to identify the array of PlaceableObjects which can be moved or rotated.
|
250
254
|
* @param ids - An explicit array of IDs requested.
|
251
255
|
* @param includeLocked - Include locked objects which would otherwise be ignored?
|
252
256
|
* @returns An array of objects which can be moved or rotated
|
253
|
-
* @throws
|
254
|
-
* @remarks Any non-array input for `ids` will default to using currently controlled objects
|
255
|
-
* allowing you to provide `true` to the includeLocked
|
257
|
+
* @throws If an array is passed for `ids` and any of its contents are not a valid ID for a placeable on this layer
|
258
|
+
* @remarks Any non-array input for `ids` will default to using currently controlled objects
|
256
259
|
*/
|
257
|
-
protected _getMovableObjects
|
258
|
-
ids?:
|
259
|
-
includeLocked?: boolean,
|
260
|
-
): Document.
|
260
|
+
protected _getMovableObjects(
|
261
|
+
ids?: string[] | null,
|
262
|
+
includeLocked?: boolean | null,
|
263
|
+
): Document.ObjectFor<DocumentName>[];
|
261
264
|
|
262
265
|
/**
|
263
266
|
* Undo a change to the objects in this layer
|
264
267
|
* This method is typically activated using CTRL+Z while the layer is active
|
265
268
|
*/
|
266
|
-
undoHistory(): Promise<Document.
|
269
|
+
undoHistory(): Promise<Document.ImplementationFor<DocumentName>[]>;
|
267
270
|
|
268
271
|
/**
|
269
272
|
* A helper method to prompt for deletion of all PlaceableObject instances within the Scene
|
270
273
|
* Renders a confirmation dialogue to confirm with the requester that all objects will be deleted
|
271
274
|
* @returns An array of Document objects which were deleted by the operation
|
272
|
-
* @throws
|
275
|
+
* @throws If `!game.user.isGM`
|
276
|
+
* @remarks Returns `null` if the dialog spawned is closed by header button, `false` if cancelled by button, `undefined` if confirmed
|
273
277
|
*/
|
274
278
|
deleteAll(): Promise<undefined | false | null>;
|
275
279
|
|
@@ -279,13 +283,17 @@ declare global {
|
|
279
283
|
* @param data - The object data
|
280
284
|
* @throws An error if any of the objects in the `data` array lack an `_id` key
|
281
285
|
*/
|
282
|
-
storeHistory
|
286
|
+
storeHistory<Operation extends Document.Database.Operation>(
|
287
|
+
type: Operation,
|
288
|
+
data: PlaceablesLayer.HistoryDataFor<Operation, DocumentName>,
|
289
|
+
): void;
|
283
290
|
|
284
291
|
/**
|
285
292
|
* Copy currently controlled PlaceableObjects to a temporary Array, ready to paste back into the scene later
|
286
293
|
* @returns The Array of copied PlaceableObject instances
|
294
|
+
* @remarks If the current layer doesn't allow objects to be controlled, copies the hovered object.
|
287
295
|
*/
|
288
|
-
copyObjects(): Document.
|
296
|
+
copyObjects(): Document.ObjectFor<DocumentName>[];
|
289
297
|
|
290
298
|
/**
|
291
299
|
* Paste currently copied PlaceableObjects back to the layer by creating new copies
|
@@ -295,79 +303,34 @@ declare global {
|
|
295
303
|
*/
|
296
304
|
pasteObjects(
|
297
305
|
position: Canvas.Point,
|
298
|
-
options?:
|
299
|
-
|
300
|
-
* Paste data in a hidden state, if applicable. Default is false.
|
301
|
-
* @defaultValue `false`
|
302
|
-
*/
|
303
|
-
hidden: boolean;
|
304
|
-
|
305
|
-
/**
|
306
|
-
* Snap the resulting objects to the grid. Default is true.
|
307
|
-
* @defaultValue `true`
|
308
|
-
*/
|
309
|
-
snap: boolean;
|
310
|
-
}>,
|
311
|
-
): Promise<Document.ConfiguredInstanceForName<DocumentName>[]>;
|
306
|
+
options?: PlaceablesLayer.PasteOptions, // not:null (destructured)
|
307
|
+
): Promise<Document.ImplementationFor<DocumentName>[]>;
|
312
308
|
|
313
309
|
/**
|
314
310
|
* Get the data of the copied object pasted at the position given by the offset.
|
315
|
-
* Called by {@link PlaceablesLayer#pasteObjects} for each copied object.
|
311
|
+
* Called by {@link PlaceablesLayer.pasteObjects | `PlaceablesLayer#pasteObjects`} for each copied object.
|
316
312
|
* @param copy - The copied object that is pasted
|
317
313
|
* @param offset - The offset relative from the current position to the destination
|
318
|
-
* @param options - Options of {@link PlaceablesLayer#pasteObjects}
|
314
|
+
* @param options - Options of {@link PlaceablesLayer.pasteObjects | `PlaceablesLayer#pasteObjects`}
|
319
315
|
* @returns The update data
|
320
316
|
*/
|
321
|
-
_pasteObject(
|
322
|
-
copy: Document.
|
317
|
+
protected _pasteObject(
|
318
|
+
copy: Document.ObjectFor<DocumentName>,
|
323
319
|
offset: Canvas.Point,
|
324
|
-
options?:
|
325
|
-
|
326
|
-
* Paste in a hidden state, if applicable.
|
327
|
-
* @defaultValue `false`
|
328
|
-
*/
|
329
|
-
hidden: boolean;
|
330
|
-
|
331
|
-
/**
|
332
|
-
* Snap to the grid.
|
333
|
-
* @defaultValue `true`
|
334
|
-
*/
|
335
|
-
snap: boolean;
|
336
|
-
}>,
|
337
|
-
): Document.ConfiguredSourceForName<DocumentName>;
|
320
|
+
options?: PlaceablesLayer.PasteOptions, // not:null (destructured)
|
321
|
+
): Omit<Document.ImplementationFor<DocumentName>["_source"], "_id">;
|
338
322
|
|
339
323
|
/**
|
340
324
|
* Select all PlaceableObject instances which fall within a coordinate rectangle.
|
341
|
-
* @param options
|
325
|
+
* @param options - (default: `{}`)
|
326
|
+
* @param additionalOptions - (default: `{}`)
|
342
327
|
* @returns A boolean for whether the controlled set was changed in the operation
|
328
|
+
* @remarks Despite being a `={}` parameter, an `options` object with positive `width` and `height` properties
|
329
|
+
* is required for reasonable operation
|
343
330
|
*/
|
344
331
|
selectObjects(
|
345
|
-
|
346
|
-
|
347
|
-
* which provides a default of `{}` and then checks for `.releaseOthers` without further checks
|
348
|
-
* */
|
349
|
-
options?: InexactPartial<
|
350
|
-
Canvas.Rectangle & {
|
351
|
-
/**
|
352
|
-
* Optional arguments provided to any called release() method
|
353
|
-
* @defaultValue `{}`
|
354
|
-
*/
|
355
|
-
releaseOptions: PlaceableObject.ReleaseOptions;
|
356
|
-
|
357
|
-
/**
|
358
|
-
* Optional arguments provided to any called control() method
|
359
|
-
* @defaultValue `{ releaseOthers: false }`
|
360
|
-
*/
|
361
|
-
controlOptions: PlaceableObject.ControlOptions;
|
362
|
-
}
|
363
|
-
>,
|
364
|
-
secondOptions?: NullishProps<{
|
365
|
-
/**
|
366
|
-
* Whether to release other selected objects.
|
367
|
-
* @defaultValue `true`
|
368
|
-
*/
|
369
|
-
releaseOthers: boolean;
|
370
|
-
}>,
|
332
|
+
options: PlaceablesLayer.SelectObjectsOptions,
|
333
|
+
additionalOptions?: PlaceablesLayer.SelectObjectsAdditionalOptions, // not:null (destructured)
|
371
334
|
): boolean;
|
372
335
|
|
373
336
|
/**
|
@@ -379,17 +342,15 @@ declare global {
|
|
379
342
|
* @param options - Additional options passed to Document.update
|
380
343
|
* (default: `{}`)
|
381
344
|
* @returns An array of updated data once the operation is complete
|
382
|
-
* @throws An error if the `transformation`
|
345
|
+
* @throws An error if the `transformation` parameter is neither a function nor a plain object
|
383
346
|
*/
|
384
347
|
updateAll(
|
385
348
|
transformation:
|
386
|
-
| ((
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
options?: Document.OnUpdateOptions<DocumentName>,
|
392
|
-
): Promise<Array<Document.ConfiguredInstanceForName<DocumentName>>>;
|
349
|
+
| ((placeable: Document.ObjectFor<DocumentName>) => Document.UpdateDataForName<DocumentName>)
|
350
|
+
| Document.UpdateDataForName<DocumentName>,
|
351
|
+
condition?: ((placeable: Document.ObjectFor<DocumentName>) => boolean) | null,
|
352
|
+
options?: PlaceablesLayer.UpdateAllOptions<DocumentName>, // not:null (updateEmbeddedDocuments tries to set `parent` on it)
|
353
|
+
): Promise<Array<Document.ImplementationFor<DocumentName>>>;
|
393
354
|
|
394
355
|
/**
|
395
356
|
* Get the world-transformed drop position.
|
@@ -397,47 +358,24 @@ declare global {
|
|
397
358
|
*/
|
398
359
|
protected _canvasCoordinatesFromDrop(
|
399
360
|
event: DragEvent,
|
400
|
-
options?:
|
401
|
-
|
402
|
-
* Return the co-ordinates of the center of the nearest grid element.
|
403
|
-
* @defaultValue `true`
|
404
|
-
*/
|
405
|
-
center: boolean;
|
406
|
-
}>,
|
407
|
-
): [tx: number, ty: number] | false;
|
361
|
+
options?: PlaceablesLayer.CanvasCoordinatesFromDropOptions, // not:null (destructured)
|
362
|
+
): Canvas.PointTuple | false;
|
408
363
|
|
409
364
|
/**
|
410
365
|
* Create a preview of this layer's object type from a world document and show its sheet to be finalized.
|
411
366
|
* @param createData - The data to create the object with.
|
412
367
|
* @param options - Options which configure preview creation
|
413
368
|
* @returns The created preview object
|
369
|
+
* @remarks Returns a temporary (`new PlaceableDocument()`) document
|
414
370
|
*/
|
415
371
|
protected _createPreview(
|
416
|
-
createData: Document.
|
417
|
-
options?:
|
418
|
-
|
419
|
-
* Render the preview object config sheet?
|
420
|
-
* @defaultValue `true`
|
421
|
-
*/
|
422
|
-
renderSheet: boolean;
|
423
|
-
|
424
|
-
/**
|
425
|
-
* The offset-top position where the sheet should be rendered
|
426
|
-
* @defaultValue `0`
|
427
|
-
*/
|
428
|
-
top: number;
|
429
|
-
|
430
|
-
/**
|
431
|
-
* The offset-left position where the sheet should be rendered
|
432
|
-
* @defaultValue `0`
|
433
|
-
*/
|
434
|
-
left: number;
|
435
|
-
}>,
|
436
|
-
): Promise<Document.ConfiguredObjectInstanceForName<DocumentName>>;
|
372
|
+
createData: Document.CreateDataForName<DocumentName>,
|
373
|
+
options?: PlaceablesLayer.CreatePreviewOptions, // not:null (destructured)
|
374
|
+
): Promise<Document.ObjectFor<DocumentName>>;
|
437
375
|
|
438
376
|
protected override _onClickLeft(event: PIXI.FederatedEvent): void;
|
439
377
|
|
440
|
-
protected override _canDragLeftStart(user: User.
|
378
|
+
protected override _canDragLeftStart(user: User.Implementation, event: PIXI.FederatedEvent): boolean;
|
441
379
|
|
442
380
|
protected override _onDragLeftStart(event: PIXI.FederatedEvent): void;
|
443
381
|
|
@@ -449,8 +387,9 @@ declare global {
|
|
449
387
|
|
450
388
|
protected override _onClickRight(event: PIXI.FederatedEvent): void;
|
451
389
|
|
390
|
+
/** @privateRemarks `void` added to return union for TokenLayer reasons */
|
452
391
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
453
|
-
protected override _onMouseWheel(event: WheelEvent):
|
392
|
+
protected override _onMouseWheel(event: WheelEvent): Promise<Document.ObjectFor<DocumentName>[] | void>;
|
454
393
|
|
455
394
|
protected override _onDeleteKey(event: KeyboardEvent): Promise<void>;
|
456
395
|
|
@@ -473,49 +412,36 @@ declare global {
|
|
473
412
|
set _highlight(state);
|
474
413
|
}
|
475
414
|
|
476
|
-
|
477
|
-
|
478
|
-
* The type of operation stored as history (create, update, delete)
|
479
|
-
*/
|
480
|
-
type: PlaceablesLayer.HistoryEventType;
|
481
|
-
|
482
|
-
/**
|
483
|
-
* The data corresponding to the action which may later be un-done
|
484
|
-
*/
|
485
|
-
data: FixedInstanceType<Document.ConfiguredClassForName<DocumentName>>["_source"][];
|
486
|
-
}
|
487
|
-
|
488
|
-
type PlaceablesLayerOptions<DocumentName extends Document.PlaceableType> = PlaceablesLayer.LayerOptions<DocumentName>;
|
415
|
+
/** @deprecated {@link PlaceablesLayer.LayerOptions | `PlaceablesLayer.LayerOptions`} */
|
416
|
+
export import PlaceablesLayerOptions = PlaceablesLayer.LayerOptions;
|
489
417
|
|
490
418
|
namespace PlaceablesLayer {
|
491
|
-
|
492
|
-
|
493
|
-
type AnyConstructor = typeof AnyPlaceablesLayer;
|
494
|
-
|
495
|
-
type Type = Document.PlaceableType;
|
496
|
-
|
497
|
-
type HistoryEventType = "create" | "update" | "delete";
|
419
|
+
interface Any extends AnyPlaceablesLayer {}
|
420
|
+
interface AnyConstructor extends Identity<typeof AnyPlaceablesLayer> {}
|
498
421
|
|
499
|
-
type
|
422
|
+
type DocumentNames = Document.PlaceableType;
|
500
423
|
|
501
|
-
type
|
424
|
+
type ImplementationClassFor<Name extends DocumentNames> = CONFIG[Name]["layerClass"];
|
425
|
+
type ImplementationFor<Name extends DocumentNames> = FixedInstanceType<CONFIG[Name]["layerClass"]>;
|
502
426
|
|
503
427
|
interface DrawOptions extends InteractionLayer.DrawOptions {}
|
504
428
|
|
505
429
|
interface TearDownOptions extends CanvasLayer.DrawOptions {}
|
506
430
|
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
431
|
+
type CREATION_STATES = Brand<number, "PlaceablesLayer.CREATION_STATES">;
|
432
|
+
|
433
|
+
/** Creation states affected to placeables during their construction. */
|
434
|
+
interface CreationStates {
|
435
|
+
NONE: 0 & CREATION_STATES;
|
436
|
+
POTENTIAL: 1 & CREATION_STATES;
|
437
|
+
CONFIRMED: 2 & CREATION_STATES;
|
438
|
+
COMPLETED: 3 & CREATION_STATES;
|
512
439
|
}
|
513
440
|
|
514
|
-
|
515
|
-
|
516
|
-
*/
|
517
|
-
interface LayerOptions<DocumentName extends Type> extends InteractionLayer.LayerOptions {
|
441
|
+
interface LayerOptions<ConcretePlaceable extends PlaceableObject.AnyConstructor>
|
442
|
+
extends InteractionLayer.LayerOptions {
|
518
443
|
baseClass: typeof PlaceablesLayer;
|
444
|
+
|
519
445
|
/**
|
520
446
|
* Can placeable objects in this layer be controlled?
|
521
447
|
* @defaultValue `false`
|
@@ -538,7 +464,7 @@ declare global {
|
|
538
464
|
* The class used to represent an object on this layer.
|
539
465
|
* @defaultValue `CONFIG[this.documentName]?.objectClass`
|
540
466
|
*/
|
541
|
-
objectClass:
|
467
|
+
objectClass: ConcretePlaceable;
|
542
468
|
|
543
469
|
/**
|
544
470
|
* Does this layer use a quadtree to track object positions?
|
@@ -548,84 +474,204 @@ declare global {
|
|
548
474
|
}
|
549
475
|
|
550
476
|
namespace LayerOptions {
|
551
|
-
|
477
|
+
interface Any extends LayerOptions<any> {}
|
552
478
|
}
|
553
479
|
|
554
|
-
|
480
|
+
/** @internal */
|
481
|
+
type _RotateManyOptions = NullishProps<{
|
555
482
|
/**
|
556
|
-
*
|
557
|
-
*
|
558
|
-
* @remarks If both `angle` and `delta` are provided then `angle` is used.
|
483
|
+
* Snap the resulting angle to a multiple of some increment (in degrees)
|
484
|
+
* @remarks Passed to {@link PlaceableObject._updateRotation | `PlaceableObject#_updateRotation`} where it is checked for `> 0` before being passed to the non-null-safe `Number#toNearest`
|
559
485
|
*/
|
560
|
-
|
561
|
-
|
486
|
+
snap: number;
|
562
487
|
/**
|
563
|
-
* An
|
564
|
-
*
|
565
|
-
* @remarks If both `angle` and `delta` are provided then `angle` is used.
|
488
|
+
* An Array of object IDs to target for rotation
|
489
|
+
* @remarks Passed to {@link PlaceablesLayer._getMovableObjects | `PlaceablesLayer#_getMovableObjects`}
|
566
490
|
*/
|
567
|
-
|
568
|
-
|
491
|
+
ids: string[];
|
569
492
|
/**
|
570
|
-
*
|
493
|
+
* Rotate objects whose documents are locked?
|
494
|
+
* @defaultValue `false`
|
571
495
|
*/
|
572
|
-
|
496
|
+
includeLocked: boolean;
|
497
|
+
}>;
|
573
498
|
|
499
|
+
/** @internal */
|
500
|
+
interface _RotateManyOptionsAngle {
|
574
501
|
/**
|
575
|
-
*
|
502
|
+
* A target angle of rotation (in degrees) where zero faces "south"
|
576
503
|
*/
|
577
|
-
|
504
|
+
angle: number;
|
505
|
+
}
|
578
506
|
|
507
|
+
/** @internal */
|
508
|
+
interface _RotateManyOptionsDelta {
|
579
509
|
/**
|
580
|
-
*
|
581
|
-
* @defaultValue `false`
|
510
|
+
* An incremental angle of rotation (in degrees)
|
582
511
|
*/
|
583
|
-
|
512
|
+
delta: number;
|
584
513
|
}
|
585
514
|
|
586
|
-
interface
|
515
|
+
interface RotateManyOptionsWithAngle
|
516
|
+
extends _RotateManyOptions,
|
517
|
+
NullishProps<_RotateManyOptionsDelta>,
|
518
|
+
_RotateManyOptionsAngle {}
|
519
|
+
|
520
|
+
interface RotateManyOptionsWithDelta
|
521
|
+
extends _RotateManyOptions,
|
522
|
+
NullishProps<_RotateManyOptionsAngle>,
|
523
|
+
_RotateManyOptionsDelta {}
|
524
|
+
|
525
|
+
/** @internal */
|
526
|
+
type _MoveManyOptions = InexactPartial<{
|
587
527
|
/**
|
588
528
|
* Horizontal movement direction
|
589
529
|
* @defaultValue `0`
|
590
|
-
*
|
591
|
-
* @remarks dx cannot be `null` because it must be in `[-1, 0, 1]`. However it may be
|
592
|
-
* `undefined` because it has a parameter default of `0`.
|
530
|
+
* @remarks Can't be `null` because it only has a parameter default
|
593
531
|
*/
|
594
|
-
dx
|
532
|
+
dx: -1 | 0 | 1;
|
595
533
|
|
596
534
|
/**
|
597
535
|
* Vertical movement direction
|
598
536
|
* @defaultValue `0`
|
599
|
-
*
|
600
|
-
* @remarks dx cannot be `null` because it must be in `[-1, 0, 1]`. However it may be
|
601
|
-
* `undefined` because it has a parameter default of `0`.
|
537
|
+
* @remarks Can't be `null` because it only has a parameter default
|
602
538
|
*/
|
603
|
-
dy
|
539
|
+
dy: -1 | 0 | 1;
|
540
|
+
}> &
|
541
|
+
NullishProps<{
|
542
|
+
/**
|
543
|
+
* Rotate the placeable to the keyboard direction instead of moving
|
544
|
+
* @defaultValue `false`
|
545
|
+
*/
|
546
|
+
rotate: boolean;
|
547
|
+
|
548
|
+
/**
|
549
|
+
* An Array of object IDs to target for movement. The default is the IDs of controlled objects.
|
550
|
+
* @defaultValue `this.controlled.filter(o => !o.data.locked).map(o => o.id)`
|
551
|
+
*/
|
552
|
+
ids: string[];
|
604
553
|
|
554
|
+
/**
|
555
|
+
* Move objects whose documents are locked?
|
556
|
+
* @defaultValue `false`
|
557
|
+
*/
|
558
|
+
includeLocked: boolean;
|
559
|
+
}>;
|
560
|
+
|
561
|
+
interface MoveManyOptions extends _MoveManyOptions {}
|
562
|
+
|
563
|
+
/** @privateRemarks Handled like this rather than an interface mapping to avoid extraneous type calculation */
|
564
|
+
type HistoryDataFor<Operation extends Document.Database.Operation, DocumentName extends DocumentNames> =
|
565
|
+
| (Operation extends "create" ? { _id: string } : never)
|
566
|
+
| (Operation extends "update" ? Document.UpdateDataForName<DocumentName> & { _id: string } : never)
|
567
|
+
| (Operation extends "delete" ? Document.CreateDataForName<DocumentName> & { _id: string } : never);
|
568
|
+
|
569
|
+
type HistoryEntry<DocumentName extends DocumentNames> =
|
570
|
+
| { type: "create"; data: HistoryDataFor<"create", DocumentName>[] }
|
571
|
+
| {
|
572
|
+
type: "update";
|
573
|
+
data: HistoryDataFor<"update", DocumentName>[];
|
574
|
+
}
|
575
|
+
| {
|
576
|
+
type: "delete";
|
577
|
+
data: HistoryDataFor<"delete", DocumentName>[];
|
578
|
+
};
|
579
|
+
|
580
|
+
/** @internal */
|
581
|
+
type _PasteOptions = NullishProps<{
|
605
582
|
/**
|
606
|
-
*
|
607
|
-
* @defaultValue
|
583
|
+
* Paste data in a hidden state, if applicable. Default is false.
|
584
|
+
* @defaultValue `false`
|
608
585
|
*/
|
609
|
-
|
586
|
+
hidden: boolean;
|
610
587
|
|
611
588
|
/**
|
612
|
-
*
|
613
|
-
* @defaultValue `
|
589
|
+
* Snap the resulting objects to the grid. Default is true.
|
590
|
+
* @defaultValue `true`
|
614
591
|
*/
|
615
|
-
|
592
|
+
snap: boolean;
|
593
|
+
}>;
|
616
594
|
|
595
|
+
interface PasteOptions extends _PasteOptions {}
|
596
|
+
|
597
|
+
/**
|
598
|
+
* @internal
|
599
|
+
* @privateRemarks Only marking `x` and `y` from `Canvas.Rectangle` optional, as the `PIXI.Rectangle` defaults of `0` make no sense for `width` or `height` in this context
|
600
|
+
*/
|
601
|
+
type _SelectObjectsOptions = NullishProps<Canvas.Rectangle, "x" | "y"> &
|
602
|
+
InexactPartial<{
|
603
|
+
/**
|
604
|
+
* Optional arguments provided to any called release() method
|
605
|
+
* @defaultValue `{}`
|
606
|
+
* @remarks Can't be null as it only has a parameter default
|
607
|
+
*/
|
608
|
+
releaseOptions: PlaceableObject.ReleaseOptions;
|
609
|
+
|
610
|
+
/**
|
611
|
+
* Optional arguments provided to any called control() method
|
612
|
+
* @defaultValue `{}`
|
613
|
+
* @remarks Can't be null as it only has a parameter default
|
614
|
+
*/
|
615
|
+
controlOptions: PlaceableObject.ControlOptions;
|
616
|
+
}>;
|
617
|
+
|
618
|
+
interface SelectObjectsOptions extends _SelectObjectsOptions {}
|
619
|
+
|
620
|
+
/**
|
621
|
+
* @internal
|
622
|
+
* @privateRemarks This is functionally identical to `PlaceableObject.ControlOptions`, but only the one key gets checked,
|
623
|
+
* and it's not passed on anywhere, so it gets its own type to not cause confusion with `SelectObjectsOptions["controlOptions"]`
|
624
|
+
*/
|
625
|
+
type _SelectObjectAdditionalOptions = NullishProps<{
|
617
626
|
/**
|
618
|
-
*
|
619
|
-
* @defaultValue `
|
627
|
+
* Whether to release other selected objects.
|
628
|
+
* @defaultValue `true`
|
620
629
|
*/
|
621
|
-
|
622
|
-
}
|
630
|
+
releaseOthers: boolean;
|
631
|
+
}>;
|
632
|
+
|
633
|
+
interface SelectObjectsAdditionalOptions extends _SelectObjectAdditionalOptions {}
|
634
|
+
|
635
|
+
type UpdateAllOptions<DocumentName extends DocumentNames> = IntentionalPartial<
|
636
|
+
Document.UpdateDataForName<DocumentName>
|
637
|
+
>;
|
638
|
+
|
639
|
+
/** @internal */
|
640
|
+
type _CanvasCoordinatesFromDropOptions = NullishProps<{
|
641
|
+
/**
|
642
|
+
* Return the co-ordinates of the center of the nearest grid element.
|
643
|
+
* @defaultValue `true`
|
644
|
+
*/
|
645
|
+
center: boolean;
|
646
|
+
}>;
|
647
|
+
|
648
|
+
interface CanvasCoordinatesFromDropOptions extends _CanvasCoordinatesFromDropOptions {}
|
649
|
+
|
650
|
+
/** @internal */
|
651
|
+
type _CreatePreviewOptions = NullishProps<{
|
652
|
+
/**
|
653
|
+
* Render the preview object config sheet?
|
654
|
+
* @defaultValue `true`
|
655
|
+
*/
|
656
|
+
renderSheet: boolean;
|
657
|
+
|
658
|
+
/**
|
659
|
+
* The offset-top position where the sheet should be rendered
|
660
|
+
* @defaultValue `0`
|
661
|
+
*/
|
662
|
+
top: number;
|
663
|
+
|
664
|
+
/**
|
665
|
+
* The offset-left position where the sheet should be rendered
|
666
|
+
* @defaultValue `0`
|
667
|
+
*/
|
668
|
+
left: number;
|
669
|
+
}>;
|
623
670
|
|
624
|
-
|
625
|
-
interface MovementOptions extends InexactPartial<_MovementOptions> {}
|
671
|
+
interface CreatePreviewOptions extends _CreatePreviewOptions {}
|
626
672
|
}
|
627
673
|
}
|
628
674
|
|
629
|
-
declare abstract class AnyPlaceablesLayer extends PlaceablesLayer<
|
630
|
-
constructor(
|
675
|
+
declare abstract class AnyPlaceablesLayer extends PlaceablesLayer<PlaceablesLayer.DocumentNames> {
|
676
|
+
constructor(...args: never);
|
631
677
|
}
|