@7h3laughingman/foundry-types 13.351.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +3 -0
  3. package/package.json +76 -0
  4. package/src/client/_module.d.mts +103 -0
  5. package/src/client/_types.d.mts +900 -0
  6. package/src/client/applications/_module.d.mts +27 -0
  7. package/src/client/applications/_types.d.mts +192 -0
  8. package/src/client/applications/api/_module.d.mts +8 -0
  9. package/src/client/applications/api/application.d.mts +456 -0
  10. package/src/client/applications/api/category-browser.d.mts +78 -0
  11. package/src/client/applications/api/dialog.d.mts +213 -0
  12. package/src/client/applications/api/document-sheet.d.mts +148 -0
  13. package/src/client/applications/api/handlebars-application.d.mts +120 -0
  14. package/src/client/applications/apps/_module.d.mts +10 -0
  15. package/src/client/applications/apps/av/_module.d.mts +2 -0
  16. package/src/client/applications/apps/av/camera-popout.d.mts +53 -0
  17. package/src/client/applications/apps/av/cameras.d.mts +235 -0
  18. package/src/client/applications/apps/combat-tracker-config.d.mts +27 -0
  19. package/src/client/applications/apps/compendium-art-config.d.mts +17 -0
  20. package/src/client/applications/apps/document-ownership.d.mts +17 -0
  21. package/src/client/applications/apps/document-sheet-config.d.mts +144 -0
  22. package/src/client/applications/apps/file-picker.d.mts +321 -0
  23. package/src/client/applications/apps/grid-config.d.mts +33 -0
  24. package/src/client/applications/apps/image-popout.d.mts +92 -0
  25. package/src/client/applications/apps/permission-config.d.mts +24 -0
  26. package/src/client/applications/dice/_module.d.mts +1 -0
  27. package/src/client/applications/dice/roll-resolver.d.mts +92 -0
  28. package/src/client/applications/elements/_module.d.mts +19 -0
  29. package/src/client/applications/elements/codemirror/element.d.mts +73 -0
  30. package/src/client/applications/elements/color-picker.d.mts +14 -0
  31. package/src/client/applications/elements/document-embed.d.mts +14 -0
  32. package/src/client/applications/elements/document-tags.d.mts +50 -0
  33. package/src/client/applications/elements/enriched-content.d.mts +31 -0
  34. package/src/client/applications/elements/file-picker.d.mts +59 -0
  35. package/src/client/applications/elements/form-element.d.mts +105 -0
  36. package/src/client/applications/elements/hue-slider.d.mts +35 -0
  37. package/src/client/applications/elements/multi-select.d.mts +89 -0
  38. package/src/client/applications/elements/prosemirror-editor.d.mts +32 -0
  39. package/src/client/applications/elements/range-picker.d.mts +23 -0
  40. package/src/client/applications/elements/secret-block.d.mts +28 -0
  41. package/src/client/applications/elements/string-tags.d.mts +50 -0
  42. package/src/client/applications/forms/fields.d.mts +132 -0
  43. package/src/client/applications/handlebars.d.mts +303 -0
  44. package/src/client/applications/hud/_module.d.mts +5 -0
  45. package/src/client/applications/hud/container.d.mts +38 -0
  46. package/src/client/applications/hud/drawing-hud.d.mts +14 -0
  47. package/src/client/applications/hud/placeable-hud.d.mts +72 -0
  48. package/src/client/applications/hud/tile-hud.d.mts +21 -0
  49. package/src/client/applications/hud/token-hud.d.mts +69 -0
  50. package/src/client/applications/settings/_module.d.mts +2 -0
  51. package/src/client/applications/settings/config.d.mts +38 -0
  52. package/src/client/applications/settings/menus/_module.d.mts +6 -0
  53. package/src/client/applications/settings/menus/av-config.d.mts +37 -0
  54. package/src/client/applications/settings/menus/default-sheets-config.d.mts +23 -0
  55. package/src/client/applications/settings/menus/dice-config.d.mts +23 -0
  56. package/src/client/applications/settings/menus/font-config.d.mts +145 -0
  57. package/src/client/applications/settings/menus/prototype-overrides.d.mts +20 -0
  58. package/src/client/applications/settings/menus/ui-config.d.mts +40 -0
  59. package/src/client/applications/sheets/_module.d.mts +9 -0
  60. package/src/client/applications/sheets/combatant-config.d.mts +21 -0
  61. package/src/client/applications/sheets/item-sheet.d.mts +13 -0
  62. package/src/client/applications/sheets/scene-config.d.mts +50 -0
  63. package/src/client/applications/sheets/template-config.d.mts +19 -0
  64. package/src/client/applications/sheets/token/mixin.mts +182 -0
  65. package/src/client/applications/sheets/token/prototype-config.d.mts +75 -0
  66. package/src/client/applications/sheets/token/token-config.d.mts +62 -0
  67. package/src/client/applications/sheets/user-config.d.mts +27 -0
  68. package/src/client/applications/sidebar/_module.d.mts +5 -0
  69. package/src/client/applications/sidebar/apps/_module.d.mts +9 -0
  70. package/src/client/applications/sidebar/apps/chat-popout.d.mts +45 -0
  71. package/src/client/applications/sidebar/apps/compendium.d.mts +65 -0
  72. package/src/client/applications/sidebar/apps/controls-config.d.mts +29 -0
  73. package/src/client/applications/sidebar/apps/folder-export.d.mts +11 -0
  74. package/src/client/applications/sidebar/apps/invitation-links.d.mts +10 -0
  75. package/src/client/applications/sidebar/apps/module-management.d.mts +65 -0
  76. package/src/client/applications/sidebar/apps/support-details.d.mts +72 -0
  77. package/src/client/applications/sidebar/apps/tours-management.d.mts +16 -0
  78. package/src/client/applications/sidebar/apps/world-config.d.mts +38 -0
  79. package/src/client/applications/sidebar/document-directory.d.mts +327 -0
  80. package/src/client/applications/sidebar/sidebar-tab.d.mts +89 -0
  81. package/src/client/applications/sidebar/sidebar.d.mts +93 -0
  82. package/src/client/applications/sidebar/tabs/_module.d.mts +14 -0
  83. package/src/client/applications/sidebar/tabs/actor-directory.d.mts +26 -0
  84. package/src/client/applications/sidebar/tabs/cards-directory.d.mts +19 -0
  85. package/src/client/applications/sidebar/tabs/chat.d.mts +271 -0
  86. package/src/client/applications/sidebar/tabs/combat-tracker.d.mts +198 -0
  87. package/src/client/applications/sidebar/tabs/compendium-directory.d.mts +289 -0
  88. package/src/client/applications/sidebar/tabs/item-directory.d.mts +24 -0
  89. package/src/client/applications/sidebar/tabs/journal-directory.d.mts +19 -0
  90. package/src/client/applications/sidebar/tabs/macro-directory.d.mts +12 -0
  91. package/src/client/applications/sidebar/tabs/playlist-directory.d.mts +267 -0
  92. package/src/client/applications/sidebar/tabs/roll-table-directory.d.mts +19 -0
  93. package/src/client/applications/sidebar/tabs/scene-directory.d.mts +26 -0
  94. package/src/client/applications/sidebar/tabs/settings.d.mts +16 -0
  95. package/src/client/applications/ui/_module.d.mts +9 -0
  96. package/src/client/applications/ui/game-pause.d.mts +15 -0
  97. package/src/client/applications/ui/hotbar.d.mts +86 -0
  98. package/src/client/applications/ui/main-menu.d.mts +48 -0
  99. package/src/client/applications/ui/notifications.d.mts +168 -0
  100. package/src/client/applications/ui/players.d.mts +92 -0
  101. package/src/client/applications/ui/region-legend.d.mts +47 -0
  102. package/src/client/applications/ui/scene-controls.d.mts +138 -0
  103. package/src/client/applications/ui/scene-navigation.d.mts +61 -0
  104. package/src/client/applications/ux/_module.d.mts +11 -0
  105. package/src/client/applications/ux/context-menu.d.mts +202 -0
  106. package/src/client/applications/ux/drag-drop.d.mts +131 -0
  107. package/src/client/applications/ux/draggable.d.mts +108 -0
  108. package/src/client/applications/ux/form-data-extended.d.mts +76 -0
  109. package/src/client/applications/ux/html-secret.d.mts +61 -0
  110. package/src/client/applications/ux/prosemirror-editor.d.mts +173 -0
  111. package/src/client/applications/ux/search-filter.d.mts +119 -0
  112. package/src/client/applications/ux/tabs.d.mts +94 -0
  113. package/src/client/applications/ux/text-editor.d.mts +329 -0
  114. package/src/client/appv1/_module.d.mts +2 -0
  115. package/src/client/appv1/api/_module.d.mts +8 -0
  116. package/src/client/appv1/api/application-v1.d.mts +388 -0
  117. package/src/client/appv1/api/dialog-v1.d.mts +191 -0
  118. package/src/client/appv1/api/document-sheet-v1.d.mts +96 -0
  119. package/src/client/appv1/api/form-application-v1.d.mts +203 -0
  120. package/src/client/appv1/sheets/_module.d.mts +9 -0
  121. package/src/client/appv1/sheets/actor-sheet.d.mts +129 -0
  122. package/src/client/appv1/sheets/adventure-importer.d.mts +43 -0
  123. package/src/client/appv1/sheets/item-sheet.d.mts +42 -0
  124. package/src/client/appv1/sheets/journal-page-sheet.d.mts +100 -0
  125. package/src/client/appv1/sheets/journal-sheet.d.mts +262 -0
  126. package/src/client/audio/_module.d.mts +9 -0
  127. package/src/client/audio/_types.d.mts +121 -0
  128. package/src/client/audio/biquad.d.mts +29 -0
  129. package/src/client/audio/cache.d.mts +58 -0
  130. package/src/client/audio/convolver.d.mts +50 -0
  131. package/src/client/audio/helper.d.mts +306 -0
  132. package/src/client/audio/sound.d.mts +289 -0
  133. package/src/client/audio/timeout.d.mts +71 -0
  134. package/src/client/av/_module.d.mts +7 -0
  135. package/src/client/av/client.d.mts +167 -0
  136. package/src/client/av/clients/_module.d.mts +1 -0
  137. package/src/client/av/clients/simplepeer.d.mts +123 -0
  138. package/src/client/av/master.d.mts +128 -0
  139. package/src/client/av/settings.d.mts +100 -0
  140. package/src/client/canvas/_module.d.mts +20 -0
  141. package/src/client/canvas/animation/_module.d.mts +5 -0
  142. package/src/client/canvas/animation/_types.d.mts +73 -0
  143. package/src/client/canvas/animation/canvas-animation.d.mts +114 -0
  144. package/src/client/canvas/animation/chat-bubbles.d.mts +58 -0
  145. package/src/client/canvas/animation/smooth-noise.d.mts +34 -0
  146. package/src/client/canvas/board.d.mts +413 -0
  147. package/src/client/canvas/containers/_module.d.mts +20 -0
  148. package/src/client/canvas/containers/_types.d.mts +21 -0
  149. package/src/client/canvas/containers/advanced/cached-container.d.mts +108 -0
  150. package/src/client/canvas/containers/advanced/full-canvas-mixin.d.mts +12 -0
  151. package/src/client/canvas/containers/advanced/full-container-mixin.d.mts +12 -0
  152. package/src/client/canvas/containers/advanced/unbound-container.d.mts +12 -0
  153. package/src/client/canvas/containers/elements/control-icon.d.mts +40 -0
  154. package/src/client/canvas/containers/elements/cursor.d.mts +37 -0
  155. package/src/client/canvas/containers/elements/door-control.d.mts +66 -0
  156. package/src/client/canvas/containers/elements/door-mesh.d.mts +127 -0
  157. package/src/client/canvas/containers/elements/grid-highlight.d.mts +25 -0
  158. package/src/client/canvas/containers/elements/grid-mesh.d.mts +34 -0
  159. package/src/client/canvas/containers/elements/particles/leaves.d.mts +15 -0
  160. package/src/client/canvas/containers/elements/particles/particle-effect.d.mts +45 -0
  161. package/src/client/canvas/containers/elements/point-source-mesh.d.mts +29 -0
  162. package/src/client/canvas/containers/elements/precise-text.d.mts +18 -0
  163. package/src/client/canvas/containers/elements/quad-mesh.d.mts +41 -0
  164. package/src/client/canvas/containers/elements/resize-handle.d.mts +61 -0
  165. package/src/client/canvas/containers/elements/sprite-mesh.d.mts +319 -0
  166. package/src/client/canvas/extensions/_module.d.mts +4 -0
  167. package/src/client/canvas/extensions/circle-extension.d.mts +4 -0
  168. package/src/client/canvas/extensions/graphics-extension.d.mts +5 -0
  169. package/src/client/canvas/extensions/polygon-extension.d.mts +4 -0
  170. package/src/client/canvas/extensions/rectangle-extension.d.mts +4 -0
  171. package/src/client/canvas/framebuffer-snapshot.d.mts +20 -0
  172. package/src/client/canvas/geometry/_module.d.mts +12 -0
  173. package/src/client/canvas/geometry/_types.d.mts +90 -0
  174. package/src/client/canvas/geometry/clockwise-sweep.d.mts +129 -0
  175. package/src/client/canvas/geometry/edges/_module.d.mts +5 -0
  176. package/src/client/canvas/geometry/edges/collision.d.mts +58 -0
  177. package/src/client/canvas/geometry/edges/edge.d.mts +144 -0
  178. package/src/client/canvas/geometry/edges/edges.d.mts +14 -0
  179. package/src/client/canvas/geometry/edges/vertex.d.mts +85 -0
  180. package/src/client/canvas/geometry/observable-transform.d.mts +28 -0
  181. package/src/client/canvas/geometry/quad-tree.d.mts +150 -0
  182. package/src/client/canvas/geometry/shapes/limited-angle-polygon.d.mts +69 -0
  183. package/src/client/canvas/geometry/shapes/polygon-mesher.d.mts +50 -0
  184. package/src/client/canvas/geometry/shapes/ray.d.mts +126 -0
  185. package/src/client/canvas/geometry/shapes/source-polygon.d.mts +161 -0
  186. package/src/client/canvas/geometry/unbound-transform.d.mts +9 -0
  187. package/src/client/canvas/geometry/weiler-atherton-clipping.d.mts +120 -0
  188. package/src/client/canvas/groups/_module.d.mts +10 -0
  189. package/src/client/canvas/groups/canvas-group-mixin.mts +95 -0
  190. package/src/client/canvas/groups/effects.d.mts +118 -0
  191. package/src/client/canvas/groups/environment.d.mts +79 -0
  192. package/src/client/canvas/groups/hidden.d.mts +42 -0
  193. package/src/client/canvas/groups/interface.d.mts +31 -0
  194. package/src/client/canvas/groups/overlay.d.mts +11 -0
  195. package/src/client/canvas/groups/primary.d.mts +223 -0
  196. package/src/client/canvas/groups/rendered.d.mts +7 -0
  197. package/src/client/canvas/groups/visibility.d.mts +154 -0
  198. package/src/client/canvas/interaction/_module.d.mts +15 -0
  199. package/src/client/canvas/interaction/_types.d.mts +67 -0
  200. package/src/client/canvas/interaction/mouse-handler.d.mts +231 -0
  201. package/src/client/canvas/interaction/ping/alert.d.mts +16 -0
  202. package/src/client/canvas/interaction/ping/arrow.d.mts +16 -0
  203. package/src/client/canvas/interaction/ping/chevron.d.mts +25 -0
  204. package/src/client/canvas/interaction/ping/ping.d.mts +35 -0
  205. package/src/client/canvas/interaction/ping/pulse.d.mts +28 -0
  206. package/src/client/canvas/interaction/render-flags.d.mts +69 -0
  207. package/src/client/canvas/interaction/ruler/base-ruler.d.mts +179 -0
  208. package/src/client/canvas/interaction/ruler/ruler.d.mts +56 -0
  209. package/src/client/canvas/layers/_module.d.mts +31 -0
  210. package/src/client/canvas/layers/_types.d.mts +89 -0
  211. package/src/client/canvas/layers/base/canvas-layer.d.mts +71 -0
  212. package/src/client/canvas/layers/base/interaction-layer.d.mts +176 -0
  213. package/src/client/canvas/layers/base/placeables-layer.d.mts +410 -0
  214. package/src/client/canvas/layers/controls.d.mts +181 -0
  215. package/src/client/canvas/layers/drawings.d.mts +75 -0
  216. package/src/client/canvas/layers/effects/background-effects.d.mts +32 -0
  217. package/src/client/canvas/layers/effects/coloration-effects.d.mts +23 -0
  218. package/src/client/canvas/layers/effects/darkness-effects.d.mts +14 -0
  219. package/src/client/canvas/layers/effects/illumination-effects.d.mts +72 -0
  220. package/src/client/canvas/layers/effects/weather-effects.d.mts +137 -0
  221. package/src/client/canvas/layers/grid.d.mts +112 -0
  222. package/src/client/canvas/layers/lighting.d.mts +59 -0
  223. package/src/client/canvas/layers/masks/depth.d.mts +53 -0
  224. package/src/client/canvas/layers/masks/occlusion.d.mts +84 -0
  225. package/src/client/canvas/layers/masks/vision.d.mts +44 -0
  226. package/src/client/canvas/layers/notes.d.mts +59 -0
  227. package/src/client/canvas/layers/regions.d.mts +70 -0
  228. package/src/client/canvas/layers/sounds.d.mts +190 -0
  229. package/src/client/canvas/layers/templates.d.mts +41 -0
  230. package/src/client/canvas/layers/tiles.d.mts +66 -0
  231. package/src/client/canvas/layers/tokens.d.mts +171 -0
  232. package/src/client/canvas/layers/walls.d.mts +99 -0
  233. package/src/client/canvas/loader.d.mts +135 -0
  234. package/src/client/canvas/perception/_module.d.mts +13 -0
  235. package/src/client/canvas/perception/_types.d.mts +61 -0
  236. package/src/client/canvas/perception/detection-mode.d.mts +122 -0
  237. package/src/client/canvas/perception/detection-modes/darkvision.d.mts +11 -0
  238. package/src/client/canvas/perception/detection-modes/invisibility-perception.d.mts +15 -0
  239. package/src/client/canvas/perception/detection-modes/light-perception.d.mts +18 -0
  240. package/src/client/canvas/perception/detection-modes/super-perception.d.mts +13 -0
  241. package/src/client/canvas/perception/detection-modes/tremor-perception.d.mts +13 -0
  242. package/src/client/canvas/perception/fog.d.mts +65 -0
  243. package/src/client/canvas/perception/perception-manager.d.mts +72 -0
  244. package/src/client/canvas/perception/vision-mode.d.mts +133 -0
  245. package/src/client/canvas/placeables/_module.d.mts +15 -0
  246. package/src/client/canvas/placeables/_types.d.mts +29 -0
  247. package/src/client/canvas/placeables/drawing.d.mts +106 -0
  248. package/src/client/canvas/placeables/light.d.mts +155 -0
  249. package/src/client/canvas/placeables/note.d.mts +61 -0
  250. package/src/client/canvas/placeables/placeable-object.d.mts +415 -0
  251. package/src/client/canvas/placeables/region.d.mts +129 -0
  252. package/src/client/canvas/placeables/regions/_module.d.mts +2 -0
  253. package/src/client/canvas/placeables/regions/geometry.d.mts +19 -0
  254. package/src/client/canvas/placeables/regions/mesh.d.mts +72 -0
  255. package/src/client/canvas/placeables/sound.d.mts +93 -0
  256. package/src/client/canvas/placeables/template.d.mts +164 -0
  257. package/src/client/canvas/placeables/tile.d.mts +189 -0
  258. package/src/client/canvas/placeables/token.d.mts +675 -0
  259. package/src/client/canvas/placeables/tokens/_module.d.mts +8 -0
  260. package/src/client/canvas/placeables/tokens/base-ruler.d.mts +68 -0
  261. package/src/client/canvas/placeables/tokens/ring-config.d.mts +201 -0
  262. package/src/client/canvas/placeables/tokens/ring-data.d.mts +56 -0
  263. package/src/client/canvas/placeables/tokens/ring.d.mts +194 -0
  264. package/src/client/canvas/placeables/tokens/ruler.d.mts +96 -0
  265. package/src/client/canvas/placeables/tokens/targets.d.mts +22 -0
  266. package/src/client/canvas/placeables/tokens/turn-marker-data.d.mts +52 -0
  267. package/src/client/canvas/placeables/tokens/turn-marker.d.mts +45 -0
  268. package/src/client/canvas/placeables/wall.d.mts +155 -0
  269. package/src/client/canvas/primary/_module.d.mts +7 -0
  270. package/src/client/canvas/primary/primary-canvas-container.d.mts +40 -0
  271. package/src/client/canvas/primary/primary-canvas-object.mts +215 -0
  272. package/src/client/canvas/primary/primary-graphics.d.mts +22 -0
  273. package/src/client/canvas/primary/primary-occludable-object.mts +139 -0
  274. package/src/client/canvas/primary/primary-particle-effect.d.mts +50 -0
  275. package/src/client/canvas/primary/primary-sprite-mesh.d.mts +127 -0
  276. package/src/client/canvas/rendering/_module.d.mts +5 -0
  277. package/src/client/canvas/rendering/batching/_module.d.mts +2 -0
  278. package/src/client/canvas/rendering/batching/batch-renderer.d.mts +71 -0
  279. package/src/client/canvas/rendering/batching/batch-shader-generator.d.mts +13 -0
  280. package/src/client/canvas/rendering/blend-modes.d.mts +37 -0
  281. package/src/client/canvas/rendering/filters/_module.d.mts +13 -0
  282. package/src/client/canvas/rendering/filters/base-filter.d.mts +28 -0
  283. package/src/client/canvas/rendering/filters/base-mask-filter.d.mts +14 -0
  284. package/src/client/canvas/rendering/filters/blur.d.mts +152 -0
  285. package/src/client/canvas/rendering/filters/effects-masking.d.mts +84 -0
  286. package/src/client/canvas/rendering/filters/environment.d.mts +22 -0
  287. package/src/client/canvas/rendering/filters/glow-overlay.d.mts +41 -0
  288. package/src/client/canvas/rendering/filters/invisibility.d.mts +11 -0
  289. package/src/client/canvas/rendering/filters/outline-overlay.d.mts +43 -0
  290. package/src/client/canvas/rendering/filters/smaa/_module.d.mts +4 -0
  291. package/src/client/canvas/rendering/filters/smaa/blend.d.mts +6 -0
  292. package/src/client/canvas/rendering/filters/smaa/edges.d.mts +11 -0
  293. package/src/client/canvas/rendering/filters/smaa/smaa.d.mts +102 -0
  294. package/src/client/canvas/rendering/filters/smaa/weights.d.mts +11 -0
  295. package/src/client/canvas/rendering/filters/transition.d.mts +97 -0
  296. package/src/client/canvas/rendering/filters/visibility.d.mts +46 -0
  297. package/src/client/canvas/rendering/filters/vision-mask-filter.d.mts +15 -0
  298. package/src/client/canvas/rendering/filters/void.d.mts +6 -0
  299. package/src/client/canvas/rendering/filters/weather-occlusion-mask.d.mts +30 -0
  300. package/src/client/canvas/rendering/mixins/_module.d.mts +2 -0
  301. package/src/client/canvas/rendering/mixins/base-shader-mixin.d.mts +118 -0
  302. package/src/client/canvas/rendering/mixins/fragment-channel-mixin.d.mts +21 -0
  303. package/src/client/canvas/rendering/shaders/_module.d.mts +80 -0
  304. package/src/client/canvas/rendering/shaders/_types.d.mts +98 -0
  305. package/src/client/canvas/rendering/shaders/base-shader.d.mts +58 -0
  306. package/src/client/canvas/rendering/shaders/graphics/dash-line.d.mts +13 -0
  307. package/src/client/canvas/rendering/shaders/grid/grid.d.mts +99 -0
  308. package/src/client/canvas/rendering/shaders/lighting/background-lighting.d.mts +50 -0
  309. package/src/client/canvas/rendering/shaders/lighting/base-lighting.d.mts +164 -0
  310. package/src/client/canvas/rendering/shaders/lighting/coloration-lighting.d.mts +48 -0
  311. package/src/client/canvas/rendering/shaders/lighting/darkness-lighting.d.mts +45 -0
  312. package/src/client/canvas/rendering/shaders/lighting/effects/bewitching-wave.d.mts +10 -0
  313. package/src/client/canvas/rendering/shaders/lighting/effects/black-hole.d.mts +5 -0
  314. package/src/client/canvas/rendering/shaders/lighting/effects/chroma.d.mts +5 -0
  315. package/src/client/canvas/rendering/shaders/lighting/effects/emanation.d.mts +5 -0
  316. package/src/client/canvas/rendering/shaders/lighting/effects/energy-field.d.mts +5 -0
  317. package/src/client/canvas/rendering/shaders/lighting/effects/fairy-light.d.mts +10 -0
  318. package/src/client/canvas/rendering/shaders/lighting/effects/flame.d.mts +75 -0
  319. package/src/client/canvas/rendering/shaders/lighting/effects/fog.d.mts +5 -0
  320. package/src/client/canvas/rendering/shaders/lighting/effects/force-grid.d.mts +5 -0
  321. package/src/client/canvas/rendering/shaders/lighting/effects/ghost-light.d.mts +10 -0
  322. package/src/client/canvas/rendering/shaders/lighting/effects/hexa-dome.d.mts +5 -0
  323. package/src/client/canvas/rendering/shaders/lighting/effects/light-dome.d.mts +5 -0
  324. package/src/client/canvas/rendering/shaders/lighting/effects/magical-gloom.d.mts +5 -0
  325. package/src/client/canvas/rendering/shaders/lighting/effects/pulse.d.mts +41 -0
  326. package/src/client/canvas/rendering/shaders/lighting/effects/radial-rainbow.d.mts +5 -0
  327. package/src/client/canvas/rendering/shaders/lighting/effects/revolving-light.d.mts +38 -0
  328. package/src/client/canvas/rendering/shaders/lighting/effects/roiling-mass.d.mts +5 -0
  329. package/src/client/canvas/rendering/shaders/lighting/effects/siren-light.d.mts +80 -0
  330. package/src/client/canvas/rendering/shaders/lighting/effects/smoke-patch.d.mts +10 -0
  331. package/src/client/canvas/rendering/shaders/lighting/effects/star-light.d.mts +5 -0
  332. package/src/client/canvas/rendering/shaders/lighting/effects/sunburst.d.mts +10 -0
  333. package/src/client/canvas/rendering/shaders/lighting/effects/swirling-rainbow.d.mts +5 -0
  334. package/src/client/canvas/rendering/shaders/lighting/effects/torch.d.mts +41 -0
  335. package/src/client/canvas/rendering/shaders/lighting/effects/vortex.d.mts +10 -0
  336. package/src/client/canvas/rendering/shaders/lighting/effects/wave.d.mts +10 -0
  337. package/src/client/canvas/rendering/shaders/lighting/illumination-lighting.d.mts +51 -0
  338. package/src/client/canvas/rendering/shaders/region/adjust-darkness-level.d.mts +58 -0
  339. package/src/client/canvas/rendering/shaders/region/base.d.mts +20 -0
  340. package/src/client/canvas/rendering/shaders/region/highlight.d.mts +18 -0
  341. package/src/client/canvas/rendering/shaders/samplers/amplification.d.mts +30 -0
  342. package/src/client/canvas/rendering/shaders/samplers/base-sampler.d.mts +141 -0
  343. package/src/client/canvas/rendering/shaders/samplers/baseline-illumination.d.mts +15 -0
  344. package/src/client/canvas/rendering/shaders/samplers/color-adjustments.d.mts +36 -0
  345. package/src/client/canvas/rendering/shaders/samplers/colorize-brightness.d.mts +17 -0
  346. package/src/client/canvas/rendering/shaders/samplers/fog-of-war.d.mts +9 -0
  347. package/src/client/canvas/rendering/shaders/samplers/primary/depth.d.mts +66 -0
  348. package/src/client/canvas/rendering/shaders/samplers/primary/occlusion.d.mts +77 -0
  349. package/src/client/canvas/rendering/shaders/samplers/primary/primary.d.mts +28 -0
  350. package/src/client/canvas/rendering/shaders/samplers/primary/token-ring.d.mts +33 -0
  351. package/src/client/canvas/rendering/shaders/vision/background-vision.d.mts +47 -0
  352. package/src/client/canvas/rendering/shaders/vision/base-vision.d.mts +11 -0
  353. package/src/client/canvas/rendering/shaders/vision/coloration-vision.d.mts +43 -0
  354. package/src/client/canvas/rendering/shaders/vision/effects/amplification.d.mts +35 -0
  355. package/src/client/canvas/rendering/shaders/vision/effects/wave.d.mts +10 -0
  356. package/src/client/canvas/rendering/shaders/vision/illumination-vision.d.mts +45 -0
  357. package/src/client/canvas/rendering/shaders/weather/base-weather.d.mts +87 -0
  358. package/src/client/canvas/rendering/shaders/weather/effect.d.mts +27 -0
  359. package/src/client/canvas/rendering/shaders/weather/fog.d.mts +26 -0
  360. package/src/client/canvas/rendering/shaders/weather/rain.d.mts +16 -0
  361. package/src/client/canvas/rendering/shaders/weather/snow.d.mts +12 -0
  362. package/src/client/canvas/scene-manager.d.mts +101 -0
  363. package/src/client/canvas/sources/_module.d.mts +10 -0
  364. package/src/client/canvas/sources/base-effect-source.d.mts +179 -0
  365. package/src/client/canvas/sources/base-light-source.d.mts +141 -0
  366. package/src/client/canvas/sources/global-light-source.d.mts +36 -0
  367. package/src/client/canvas/sources/point-darkness-source.d.mts +87 -0
  368. package/src/client/canvas/sources/point-effect-source.d.mts +105 -0
  369. package/src/client/canvas/sources/point-light-source.d.mts +54 -0
  370. package/src/client/canvas/sources/point-movement-source.d.mts +10 -0
  371. package/src/client/canvas/sources/point-sound-source.d.mts +29 -0
  372. package/src/client/canvas/sources/point-vision-source.d.mts +151 -0
  373. package/src/client/canvas/sources/rendered-effect-source.d.mts +214 -0
  374. package/src/client/canvas/texture-extractor.d.mts +98 -0
  375. package/src/client/canvas/workers/_module.d.mts +1 -0
  376. package/src/client/canvas/workers/texture-worker.d.mts +73 -0
  377. package/src/client/client.d.mts +15 -0
  378. package/src/client/config.d.mts +868 -0
  379. package/src/client/data/_module.d.mts +11 -0
  380. package/src/client/data/_types.d.mts +97 -0
  381. package/src/client/data/calendar.d.mts +175 -0
  382. package/src/client/data/client-backend.d.mts +82 -0
  383. package/src/client/data/combat-config.d.mts +84 -0
  384. package/src/client/data/region-behaviors/_module.d.mts +9 -0
  385. package/src/client/data/region-behaviors/adjust-darkness-level.d.mts +29 -0
  386. package/src/client/data/region-behaviors/base.d.mts +70 -0
  387. package/src/client/data/region-behaviors/execute-macro.d.mts +17 -0
  388. package/src/client/data/region-behaviors/execute-script.d.mts +15 -0
  389. package/src/client/data/region-behaviors/increase-movement-cost.d.mts +36 -0
  390. package/src/client/data/region-behaviors/pause-game.d.mts +15 -0
  391. package/src/client/data/region-behaviors/suppress-weather.d.mts +13 -0
  392. package/src/client/data/region-behaviors/teleport-token.d.mts +27 -0
  393. package/src/client/data/region-behaviors/toggle-behavior.d.mts +19 -0
  394. package/src/client/data/region-shapes/_module.d.mts +2 -0
  395. package/src/client/data/region-shapes/polygon-tree.d.mts +101 -0
  396. package/src/client/data/region-shapes/shape.d.mts +97 -0
  397. package/src/client/data/terrain-data.d.mts +70 -0
  398. package/src/client/dice/_module.d.mts +14 -0
  399. package/src/client/dice/_types.d.mts +89 -0
  400. package/src/client/dice/parser.d.mts +83 -0
  401. package/src/client/dice/roll.d.mts +542 -0
  402. package/src/client/dice/terms/_module.d.mts +16 -0
  403. package/src/client/dice/terms/_types.d.mts +10 -0
  404. package/src/client/dice/terms/coin.d.mts +35 -0
  405. package/src/client/dice/terms/dice.d.mts +263 -0
  406. package/src/client/dice/terms/die.d.mts +199 -0
  407. package/src/client/dice/terms/fate.d.mts +22 -0
  408. package/src/client/dice/terms/function.d.mts +60 -0
  409. package/src/client/dice/terms/numeric.d.mts +39 -0
  410. package/src/client/dice/terms/operator.d.mts +28 -0
  411. package/src/client/dice/terms/parenthetical.d.mts +70 -0
  412. package/src/client/dice/terms/pool.d.mts +170 -0
  413. package/src/client/dice/terms/string.d.mts +23 -0
  414. package/src/client/dice/terms/term.d.mts +135 -0
  415. package/src/client/dice/twister.d.mts +87 -0
  416. package/src/client/documents/_module.d.mts +70 -0
  417. package/src/client/documents/_types.d.mts +736 -0
  418. package/src/client/documents/abstract/_module.d.mts +6 -0
  419. package/src/client/documents/abstract/canvas-document.d.mts +65 -0
  420. package/src/client/documents/abstract/client-document.d.mts +545 -0
  421. package/src/client/documents/abstract/directory-collection-mixin.d.mts +79 -0
  422. package/src/client/documents/abstract/document-collection.d.mts +124 -0
  423. package/src/client/documents/abstract/world-collection.d.mts +157 -0
  424. package/src/client/documents/active-effect.d.mts +203 -0
  425. package/src/client/documents/actor-delta.d.mts +76 -0
  426. package/src/client/documents/actor.d.mts +269 -0
  427. package/src/client/documents/adventure.d.mts +38 -0
  428. package/src/client/documents/ambient-light.d.mts +34 -0
  429. package/src/client/documents/ambient-sound.d.mts +16 -0
  430. package/src/client/documents/card.d.mts +102 -0
  431. package/src/client/documents/cards.d.mts +38 -0
  432. package/src/client/documents/chat-message.d.mts +190 -0
  433. package/src/client/documents/collections/_module.d.mts +19 -0
  434. package/src/client/documents/collections/actors.d.mts +28 -0
  435. package/src/client/documents/collections/card-stacks.d.mts +14 -0
  436. package/src/client/documents/collections/chat-messages.d.mts +29 -0
  437. package/src/client/documents/collections/combat-encounters.d.mts +32 -0
  438. package/src/client/documents/collections/compendium-collection.d.mts +170 -0
  439. package/src/client/documents/collections/compendium-folders.d.mts +30 -0
  440. package/src/client/documents/collections/compendium-packs.d.mts +23 -0
  441. package/src/client/documents/collections/fog-explorations.d.mts +19 -0
  442. package/src/client/documents/collections/folders.d.mts +20 -0
  443. package/src/client/documents/collections/items.d.mts +13 -0
  444. package/src/client/documents/collections/journal.d.mts +24 -0
  445. package/src/client/documents/collections/macros.d.mts +15 -0
  446. package/src/client/documents/collections/playlists.d.mts +28 -0
  447. package/src/client/documents/collections/roll-tables.d.mts +20 -0
  448. package/src/client/documents/collections/scenes.d.mts +60 -0
  449. package/src/client/documents/collections/users.d.mts +57 -0
  450. package/src/client/documents/collections/world-settings.d.mts +34 -0
  451. package/src/client/documents/combat.d.mts +371 -0
  452. package/src/client/documents/combatant-group.d.mts +42 -0
  453. package/src/client/documents/combatant.d.mts +125 -0
  454. package/src/client/documents/drawing.d.mts +27 -0
  455. package/src/client/documents/fog-exploration.d.mts +30 -0
  456. package/src/client/documents/folder.d.mts +124 -0
  457. package/src/client/documents/item.d.mts +73 -0
  458. package/src/client/documents/journal-entry-category.d.mts +15 -0
  459. package/src/client/documents/journal-entry-page.d.mts +77 -0
  460. package/src/client/documents/journal-entry.d.mts +78 -0
  461. package/src/client/documents/macro.d.mts +56 -0
  462. package/src/client/documents/measured-template.d.mts +41 -0
  463. package/src/client/documents/note.d.mts +28 -0
  464. package/src/client/documents/playlist-sound.d.mts +107 -0
  465. package/src/client/documents/playlist.d.mts +163 -0
  466. package/src/client/documents/region-behavior.d.mts +55 -0
  467. package/src/client/documents/region.d.mts +98 -0
  468. package/src/client/documents/roll-table.d.mts +172 -0
  469. package/src/client/documents/scene.d.mts +282 -0
  470. package/src/client/documents/setting.d.mts +35 -0
  471. package/src/client/documents/table-result.d.mts +35 -0
  472. package/src/client/documents/tile.d.mts +22 -0
  473. package/src/client/documents/token.d.mts +621 -0
  474. package/src/client/documents/user.d.mts +148 -0
  475. package/src/client/documents/wall.d.mts +20 -0
  476. package/src/client/game.d.mts +231 -0
  477. package/src/client/global.d.mts +28 -0
  478. package/src/client/helpers/_module.d.mts +13 -0
  479. package/src/client/helpers/_types.d.mts +26 -0
  480. package/src/client/helpers/client-issues.d.mts +90 -0
  481. package/src/client/helpers/client-settings.d.mts +191 -0
  482. package/src/client/helpers/document-index.d.mts +81 -0
  483. package/src/client/helpers/hooks.d.mts +210 -0
  484. package/src/client/helpers/interaction/_module.d.mts +6 -0
  485. package/src/client/helpers/interaction/client-keybindings.d.mts +143 -0
  486. package/src/client/helpers/interaction/clipboard-helper.d.mts +14 -0
  487. package/src/client/helpers/interaction/gamepad-manager.d.mts +15 -0
  488. package/src/client/helpers/interaction/keyboard-manager.d.mts +189 -0
  489. package/src/client/helpers/interaction/mouse-manager.d.mts +20 -0
  490. package/src/client/helpers/interaction/tooltip-manager.d.mts +227 -0
  491. package/src/client/helpers/localization.d.mts +143 -0
  492. package/src/client/helpers/media/_module.d.mts +3 -0
  493. package/src/client/helpers/media/compendium-art.d.mts +29 -0
  494. package/src/client/helpers/media/image-helper.d.mts +116 -0
  495. package/src/client/helpers/media/video-helper.d.mts +113 -0
  496. package/src/client/helpers/socket-interface.d.mts +14 -0
  497. package/src/client/helpers/time.d.mts +92 -0
  498. package/src/client/helpers/workers.d.mts +92 -0
  499. package/src/client/nue/_module.d.mts +13 -0
  500. package/src/client/nue/nue-manager.d.mts +13 -0
  501. package/src/client/nue/tour.d.mts +283 -0
  502. package/src/client/nue/tours/_module.d.mts +1 -0
  503. package/src/client/nue/tours-collection.d.mts +23 -0
  504. package/src/client/packages/_module.d.mts +19 -0
  505. package/src/client/packages/_types.d.mts +12 -0
  506. package/src/client/packages/client-package.mts +145 -0
  507. package/src/client/packages/module.d.mts +12 -0
  508. package/src/client/packages/system.d.mts +9 -0
  509. package/src/client/packages/world.d.mts +28 -0
  510. package/src/client/ui.d.mts +86 -0
  511. package/src/client/utils/_module.d.mts +4 -0
  512. package/src/client/utils/helpers.d.mts +148 -0
  513. package/src/common/_types.d.mts +151 -0
  514. package/src/common/abstract/_module.d.mts +8 -0
  515. package/src/common/abstract/_types.d.mts +187 -0
  516. package/src/common/abstract/backend.d.mts +159 -0
  517. package/src/common/abstract/data.d.mts +213 -0
  518. package/src/common/abstract/document.d.mts +700 -0
  519. package/src/common/abstract/embedded-collection.d.mts +141 -0
  520. package/src/common/abstract/socket.d.mts +35 -0
  521. package/src/common/abstract/type-data.d.mts +163 -0
  522. package/src/common/config.d.mts +147 -0
  523. package/src/common/constants.d.mts +2184 -0
  524. package/src/common/data/_module.d.mts +6 -0
  525. package/src/common/data/_types.d.mts +329 -0
  526. package/src/common/data/data.d.mts +390 -0
  527. package/src/common/data/fields.d.mts +1377 -0
  528. package/src/common/data/validation-failure.d.mts +127 -0
  529. package/src/common/data/validators.d.mts +35 -0
  530. package/src/common/documents/_module.d.mts +64 -0
  531. package/src/common/documents/_types.d.mts +1 -0
  532. package/src/common/documents/active-effect.d.mts +87 -0
  533. package/src/common/documents/actor-delta.d.mts +81 -0
  534. package/src/common/documents/actor.d.mts +105 -0
  535. package/src/common/documents/adventure.d.mts +105 -0
  536. package/src/common/documents/ambient-light.d.mts +49 -0
  537. package/src/common/documents/ambient-sound.d.mts +72 -0
  538. package/src/common/documents/card.d.mts +98 -0
  539. package/src/common/documents/cards.d.mts +89 -0
  540. package/src/common/documents/chat-message.d.mts +107 -0
  541. package/src/common/documents/combat.d.mts +55 -0
  542. package/src/common/documents/combatant-group.d.mts +45 -0
  543. package/src/common/documents/combatant.d.mts +48 -0
  544. package/src/common/documents/drawing.d.mts +101 -0
  545. package/src/common/documents/fog-exploration.d.mts +50 -0
  546. package/src/common/documents/folder.d.mts +65 -0
  547. package/src/common/documents/item.d.mts +86 -0
  548. package/src/common/documents/journal-entry-category.d.mts +32 -0
  549. package/src/common/documents/journal-entry-page.d.mts +76 -0
  550. package/src/common/documents/journal-entry.d.mts +50 -0
  551. package/src/common/documents/macro.d.mts +87 -0
  552. package/src/common/documents/measured-template.d.mts +72 -0
  553. package/src/common/documents/note.d.mts +82 -0
  554. package/src/common/documents/playlist-sound.d.mts +53 -0
  555. package/src/common/documents/playlist.d.mts +48 -0
  556. package/src/common/documents/region-behavior.d.mts +49 -0
  557. package/src/common/documents/region.d.mts +61 -0
  558. package/src/common/documents/roll-table.d.mts +70 -0
  559. package/src/common/documents/scene.d.mts +237 -0
  560. package/src/common/documents/setting.d.mts +49 -0
  561. package/src/common/documents/table-result.d.mts +61 -0
  562. package/src/common/documents/tile.d.mts +88 -0
  563. package/src/common/documents/token.d.mts +213 -0
  564. package/src/common/documents/user.d.mts +82 -0
  565. package/src/common/documents/wall.d.mts +72 -0
  566. package/src/common/grid/_module.d.mts +6 -0
  567. package/src/common/grid/_types.d.mts +250 -0
  568. package/src/common/grid/base.d.mts +266 -0
  569. package/src/common/grid/grid-hex.d.mts +53 -0
  570. package/src/common/grid/gridless.d.mts +85 -0
  571. package/src/common/grid/hexagonal.d.mts +191 -0
  572. package/src/common/grid/square.d.mts +90 -0
  573. package/src/common/packages/_module.d.mts +6 -0
  574. package/src/common/packages/_types.d.mts +7 -0
  575. package/src/common/packages/base-module.d.mts +32 -0
  576. package/src/common/packages/base-package.d.mts +297 -0
  577. package/src/common/packages/base-system.d.mts +42 -0
  578. package/src/common/packages/base-world.d.mts +51 -0
  579. package/src/common/packages/sub-types.d.mts +12 -0
  580. package/src/common/primitives/_module.d.mts +10 -0
  581. package/src/common/primitives/array.d.mts +58 -0
  582. package/src/common/primitives/date.d.mts +24 -0
  583. package/src/common/primitives/math.d.mts +70 -0
  584. package/src/common/primitives/number.d.mts +79 -0
  585. package/src/common/primitives/regexp.d.mts +12 -0
  586. package/src/common/primitives/set.d.mts +129 -0
  587. package/src/common/primitives/string.d.mts +24 -0
  588. package/src/common/primitives/url.d.mts +12 -0
  589. package/src/common/prosemirror/_module.d.mts +77 -0
  590. package/src/common/prosemirror/_types.d.mts +75 -0
  591. package/src/common/prosemirror/click-handler.d.mts +24 -0
  592. package/src/common/prosemirror/content-link-plugin.d.mts +34 -0
  593. package/src/common/prosemirror/dirty-plugin.d.mts +10 -0
  594. package/src/common/prosemirror/dom-parser.d.mts +7 -0
  595. package/src/common/prosemirror/dropdown.d.mts +50 -0
  596. package/src/common/prosemirror/highlight-matches-plugin.d.mts +38 -0
  597. package/src/common/prosemirror/image-plugin.d.mts +70 -0
  598. package/src/common/prosemirror/input-rules.d.mts +24 -0
  599. package/src/common/prosemirror/keymaps.d.mts +27 -0
  600. package/src/common/prosemirror/menu.d.mts +206 -0
  601. package/src/common/prosemirror/paste-transformer.d.mts +10 -0
  602. package/src/common/prosemirror/plugin.d.mts +21 -0
  603. package/src/common/prosemirror/schema/_types.d.mts +15 -0
  604. package/src/common/prosemirror/schema/attribute-capture.d.mts +13 -0
  605. package/src/common/prosemirror/schema/core.d.mts +58 -0
  606. package/src/common/prosemirror/schema/image-link-node.d.mts +27 -0
  607. package/src/common/prosemirror/schema/image-node.d.mts +17 -0
  608. package/src/common/prosemirror/schema/link-mark.d.mts +29 -0
  609. package/src/common/prosemirror/schema/lists.d.mts +71 -0
  610. package/src/common/prosemirror/schema/marks.d.mts +49 -0
  611. package/src/common/prosemirror/schema/other.d.mts +161 -0
  612. package/src/common/prosemirror/schema/schema-definition.d.mts +43 -0
  613. package/src/common/prosemirror/schema/secret-node.d.mts +25 -0
  614. package/src/common/prosemirror/schema/tables.d.mts +161 -0
  615. package/src/common/prosemirror/schema/utils.d.mts +37 -0
  616. package/src/common/prosemirror/schema.d.mts +7 -0
  617. package/src/common/prosemirror/string-serializer.d.mts +84 -0
  618. package/src/common/prosemirror/util.d.mts +32 -0
  619. package/src/common/utils/_module.d.mts +19 -0
  620. package/src/common/utils/_types.d.mts +83 -0
  621. package/src/common/utils/bitmask.d.mts +122 -0
  622. package/src/common/utils/collection.d.mts +148 -0
  623. package/src/common/utils/color.d.mts +308 -0
  624. package/src/common/utils/event-emitter.d.mts +36 -0
  625. package/src/common/utils/geometry.d.mts +94 -0
  626. package/src/common/utils/helpers.d.mts +396 -0
  627. package/src/common/utils/http.d.mts +40 -0
  628. package/src/common/utils/iterable-weak-map.d.mts +26 -0
  629. package/src/common/utils/iterable-weak-set.d.mts +1 -0
  630. package/src/common/utils/logging.d.mts +25 -0
  631. package/src/common/utils/semaphore.d.mts +59 -0
  632. package/src/common/utils/string-tree.d.mts +60 -0
  633. package/src/common/utils/word-tree.d.mts +34 -0
  634. package/src/global-external.d.mts +48 -0
  635. package/src/index.d.ts +87 -0
  636. package/src/public/scripts/clipper.d.mts +920 -0
  637. package/src/tinymce-stub.d.mts +123 -0
  638. package/src/util.d.mts +67 -0
@@ -0,0 +1,167 @@
1
+ import { AVMaster, AVSettings } from "./_module.mjs";
2
+
3
+ /**
4
+ * An interface for an Audio/Video client which is extended to provide broadcasting functionality.
5
+ */
6
+ export default abstract class AVClient {
7
+ /**
8
+ * @param master The master orchestration instance
9
+ * @param settings The audio/video settings being used
10
+ */
11
+ constructor(master: AVMaster, settings: AVSettings);
12
+
13
+ /**
14
+ * The master orchestration instance
15
+ */
16
+ master: AVMaster;
17
+
18
+ /**
19
+ * The active audio/video settings being used
20
+ */
21
+ settings: AVSettings;
22
+
23
+ /**
24
+ * Is audio broadcasting push-to-talk enabled?
25
+ */
26
+ get isVoicePTT(): boolean;
27
+
28
+ /**
29
+ * Is audio broadcasting always enabled?
30
+ */
31
+ get isVoiceAlways(): boolean;
32
+
33
+ /**
34
+ * Is audio broadcasting voice-activation enabled?
35
+ */
36
+ get isVoiceActivated(): boolean;
37
+
38
+ /**
39
+ * Is the current user muted?
40
+ */
41
+ get isMuted(): boolean;
42
+
43
+ /* -------------------------------------------- */
44
+ /* Connection */
45
+ /* -------------------------------------------- */
46
+
47
+ /**
48
+ * One-time initialization actions that should be performed for this client implementation.
49
+ * This will be called only once when the Game object is first set-up.
50
+ */
51
+ abstract initialize(): Promise<void>;
52
+
53
+ /**
54
+ * Connect to any servers or services needed in order to provide audio/video functionality.
55
+ * Any parameters needed in order to establish the connection should be drawn from the settings object.
56
+ * This function should return a boolean for whether the connection attempt was successful.
57
+ * @returns Was the connection attempt successful?
58
+ */
59
+ abstract connect(): Promise<boolean>;
60
+
61
+ /**
62
+ * Disconnect from any servers or services which are used to provide audio/video functionality.
63
+ * This function should return a boolean for whether a valid disconnection occurred.
64
+ * @returns Did a disconnection occur?
65
+ */
66
+ abstract disconnect(): Promise<boolean>;
67
+
68
+ /* -------------------------------------------- */
69
+ /* Device Discovery */
70
+ /* -------------------------------------------- */
71
+
72
+ /**
73
+ * Provide an Object of available audio sources which can be used by this implementation.
74
+ * Each object key should be a device id and the key should be a human-readable label.
75
+ */
76
+ getAudioSinks(): Promise<Record<string, string>>;
77
+
78
+ /**
79
+ * Provide an Object of available audio sources which can be used by this implementation.
80
+ * Each object key should be a device id and the key should be a human-readable label.
81
+ */
82
+ getAudioSources(): Promise<Record<string, string>>;
83
+
84
+ /**
85
+ * Provide an Object of available video sources which can be used by this implementation.
86
+ * Each object key should be a device id and the key should be a human-readable label.
87
+ */
88
+ getVideoSources(): Promise<Record<string, string>>;
89
+
90
+ /* -------------------------------------------- */
91
+ /* Track Manipulation */
92
+ /* -------------------------------------------- */
93
+
94
+ /**
95
+ * Return an array of Foundry User IDs which are currently connected to A/V.
96
+ * The current user should also be included as a connected user in addition to all peers.
97
+ * @returns The connected User IDs
98
+ */
99
+ abstract getConnectedUsers(): string[];
100
+
101
+ /**
102
+ * Provide a MediaStream instance for a given user ID
103
+ * @param userId The User id
104
+ * @returns The MediaStream for the user, or null if the user does not have one
105
+ */
106
+ abstract getMediaStreamForUser(userId: string): MediaStream | null | undefined;
107
+
108
+ /**
109
+ * Provide a MediaStream for monitoring a given user's voice volume levels.
110
+ * @param userId The User ID.
111
+ * @returns The MediaStream for the user, or null if the user does not have one.
112
+ */
113
+ abstract getLevelsStreamForUser(userId: string): MediaStream | null | undefined;
114
+
115
+ /**
116
+ * Is outbound audio enabled for the current user?
117
+ */
118
+ abstract isAudioEnabled(): boolean;
119
+
120
+ /**
121
+ * Is outbound video enabled for the current user?
122
+ */
123
+ abstract isVideoEnabled(): boolean;
124
+
125
+ /**
126
+ * Set whether the outbound audio feed for the current game user is enabled.
127
+ * This method should be used when the user marks themselves as muted or if the gamemaster globally mutes them.
128
+ * @param enable Whether the outbound audio track should be enabled (true) or disabled (false)
129
+ */
130
+ abstract toggleAudio(enable: boolean): void;
131
+
132
+ /**
133
+ * Set whether the outbound audio feed for the current game user is actively broadcasting.
134
+ * This can only be true if audio is enabled, but may be false if using push-to-talk or voice activation modes.
135
+ * @param broadcast Whether outbound audio should be sent to connected peers or not?
136
+ */
137
+ abstract toggleBroadcast(broadcast: boolean): void;
138
+
139
+ /**
140
+ * Set whether the outbound video feed for the current game user is enabled.
141
+ * This method should be used when the user marks themselves as hidden or if the gamemaster globally hides them.
142
+ * @param enable Whether the outbound video track should be enabled (true) or disabled (false)
143
+ */
144
+ abstract toggleVideo(enable: boolean): void;
145
+
146
+ /**
147
+ * Set the Video Track for a given User ID to a provided VideoElement
148
+ * @param userId The User ID to set to the element
149
+ * @param videoElement The HTMLVideoElement to which the video should be set
150
+ */
151
+ abstract setUserVideo(userId: string, videoElement: HTMLVideoElement): Promise<void>;
152
+
153
+ /* -------------------------------------------- */
154
+ /* Settings and Configuration */
155
+ /* -------------------------------------------- */
156
+
157
+ /**
158
+ * Handle changes to A/V configuration settings.
159
+ * @param changed The settings which have changed
160
+ */
161
+ onSettingsChanged(changed: object): void;
162
+
163
+ /**
164
+ * Replace the local stream for each connected peer with a re-generated MediaStream.
165
+ */
166
+ abstract updateLocalStream(): Promise<void>;
167
+ }
@@ -0,0 +1 @@
1
+ export { default as SimplePeerAVClient } from "./simplepeer.mjs";
@@ -0,0 +1,123 @@
1
+ import { SimplePeer } from "simple-peer";
2
+ import AVClient from "../client.mjs";
3
+
4
+ /**
5
+ * An implementation of the AVClient which uses the simple-peer library and the Foundry socket server for signaling.
6
+ * Credit to bekit#4213 for identifying simple-peer as a viable technology and providing a POC implementation.
7
+ * @extends {AVClient}
8
+ */
9
+ export default class SimplePeerAVClient extends AVClient {
10
+ /**
11
+ * The local Stream which captures input video and audio
12
+ */
13
+ localStream: MediaStream | null;
14
+
15
+ /**
16
+ * The dedicated audio stream used to measure volume levels for voice activity detection.
17
+ */
18
+ levelsStream: MediaStream | null;
19
+
20
+ /**
21
+ * A mapping of connected peers
22
+ */
23
+ peers: Map<string, SimplePeer>;
24
+
25
+ /**
26
+ * A mapping of connected remote streams
27
+ */
28
+ remoteStreams: Map<string, MediaStream>;
29
+
30
+ /**
31
+ * Is outbound broadcast of local audio enabled?
32
+ */
33
+ audioBroadcastEnabled: boolean;
34
+
35
+ /* -------------------------------------------- */
36
+ /* Required AVClient Methods */
37
+ /* -------------------------------------------- */
38
+
39
+ override connect(): Promise<true>;
40
+
41
+ override disconnect(): Promise<true>;
42
+
43
+ override initialize(): Promise<void>;
44
+
45
+ override getConnectedUsers(): string[];
46
+
47
+ override getMediaStreamForUser(userId: string): MediaStream | null | undefined;
48
+
49
+ override getLevelsStreamForUser(userId: string): MediaStream | null | undefined;
50
+
51
+ override isAudioEnabled(): boolean;
52
+
53
+ override isVideoEnabled(): boolean;
54
+
55
+ override toggleAudio(enabled: boolean): void;
56
+
57
+ override toggleBroadcast(enabled: boolean): void;
58
+
59
+ override toggleVideo(enabled: boolean): void;
60
+
61
+ override setUserVideo(userId: string, videoElement: HTMLVideoElement): Promise<void>;
62
+
63
+ /* -------------------------------------------- */
64
+ /* Local Stream Management */
65
+ /* -------------------------------------------- */
66
+
67
+ /**
68
+ * Initialize a local media stream for the current user
69
+ */
70
+ initializeLocalStream(): Promise<MediaStream>;
71
+
72
+ /* -------------------------------------------- */
73
+ /* Peer Stream Management */
74
+ /* -------------------------------------------- */
75
+
76
+ /**
77
+ * Listen for Audio/Video updates on the av socket to broker connections between peers
78
+ */
79
+ activateSocketListeners(): void;
80
+
81
+ /**
82
+ * Initialize a stream connection with a new peer
83
+ * @param userId The Foundry user ID for which the peer stream should be established
84
+ * @returns A Promise which resolves once the peer stream is initialized
85
+ */
86
+ initializePeerStream(userId: string): Promise<SimplePeer>;
87
+
88
+ /**
89
+ * Receive a request to establish a peer signal with some other User id
90
+ * @param userId The Foundry user ID who is requesting to establish a connection
91
+ * @param data The connection details provided by SimplePeer
92
+ */
93
+ receiveSignal(userId: string, data: object): void;
94
+
95
+ /**
96
+ * Connect to a peer directly, either as the initiator or as the receiver
97
+ * @param userId The Foundry user ID with whom we are connecting
98
+ * @param isInitiator Is the current user initiating the connection, or responding to it?
99
+ * @returns The constructed and configured SimplePeer instance
100
+ */
101
+ connectPeer(userId: string, isInitiator?: boolean): SimplePeer;
102
+
103
+ /**
104
+ * Disconnect from a peer by stopping current stream tracks and destroying the SimplePeer instance
105
+ * @param {string} userId The Foundry user ID from whom we are disconnecting
106
+ * @returns {Promise<void>} A Promise which resolves once the disconnection is complete
107
+ */
108
+ disconnectPeer(userId: string): Promise<void>;
109
+
110
+ /**
111
+ * Disconnect from all current peer streams
112
+ * @returns A Promise which resolves once all peers have been disconnected
113
+ */
114
+ disconnectAll(): Promise<unknown[]>;
115
+
116
+ /* -------------------------------------------- */
117
+ /* Settings and Configuration */
118
+ /* -------------------------------------------- */
119
+
120
+ override onSettingsChanged(changed: object): Promise<void>;
121
+
122
+ override updateLocalStream(): Promise<void>;
123
+ }
@@ -0,0 +1,128 @@
1
+ import { KeyboardEventContext } from "./../_types.mjs";
2
+
3
+ /**
4
+ * The master Audio/Video controller instance.
5
+ * This is available as the singleton game.webrtc
6
+ */
7
+ export default class AVMaster {
8
+ constructor();
9
+
10
+ get mode(): string;
11
+
12
+ /* -------------------------------------------- */
13
+ /* Initialization */
14
+ /* -------------------------------------------- */
15
+
16
+ /**
17
+ * Connect to the Audio/Video client.
18
+ * @returns Was the connection attempt successful?
19
+ */
20
+ connect(): Promise<boolean>;
21
+
22
+ /**
23
+ * Disconnect from the Audio/Video client.
24
+ * @returns Whether an existing connection was terminated?
25
+ */
26
+ disconnect(): Promise<boolean>;
27
+ /**
28
+ * Callback actions to take when the user becomes disconnected from the server.
29
+ */
30
+ reestablish(): Promise<void>;
31
+
32
+ /* -------------------------------------------- */
33
+ /* Permissions */
34
+ /* -------------------------------------------- */
35
+
36
+ /**
37
+ * A user can broadcast audio if the AV mode is compatible and if they are allowed to broadcast.
38
+ * @param userId
39
+ */
40
+ canUserBroadcastAudio(userId: string): boolean | undefined;
41
+
42
+ /**
43
+ * A user can share audio if they are allowed to broadcast and if they have not muted themselves or been blocked.
44
+ * @param userId
45
+ */
46
+ canUserShareAudio(userId: string): boolean;
47
+
48
+ /**
49
+ * A user can broadcast video if the AV mode is compatible and if they are allowed to broadcast.
50
+ * @param userId
51
+ */
52
+ canUserBroadcastVideo(userId: string): boolean | undefined;
53
+
54
+ /* -------------------------------------------- */
55
+
56
+ /**
57
+ * A user can share video if they are allowed to broadcast and if they have not hidden themselves or been blocked.
58
+ */
59
+ canUserShareVideo(userId: string): boolean | undefined;
60
+
61
+ /* -------------------------------------------- */
62
+ /* Broadcasting */
63
+ /* -------------------------------------------- */
64
+
65
+ /**
66
+ * Trigger a change in the audio broadcasting state when using a push-to-talk workflow.
67
+ * @param intent The user's intent to broadcast. Whether an actual broadcast occurs will depend on whether or not
68
+ * the user has muted their audio feed.
69
+ */
70
+ broadcast(intent: boolean): void;
71
+
72
+ /**
73
+ * Set up audio level listeners to handle voice activation detection workflow.
74
+ * @param mode The currently selected voice broadcasting mode
75
+ * @internal
76
+ */
77
+ _initializeUserVoiceDetection(mode: string): void;
78
+
79
+ /**
80
+ * Activate voice detection tracking for a userId on a provided MediaStream.
81
+ * Currently only a MediaStream is supported because MediaStreamTrack processing is not yet supported cross-browser.
82
+ * @param stream The MediaStream which corresponds to that User
83
+ * @param ms A number of milliseconds which represents the voice activation volume interval
84
+ */
85
+ activateVoiceDetection(stream: MediaStream, ms: number): void;
86
+
87
+ /**
88
+ * Actions which the orchestration layer should take when a peer user disconnects from the audio/video service.
89
+ */
90
+ deactivateVoiceDetection(): void;
91
+
92
+ /* -------------------------------------------- */
93
+ /* Push-To-Talk Controls */
94
+ /* -------------------------------------------- */
95
+
96
+ /**
97
+ * Handle activation of a push-to-talk key or button.
98
+ * @param context The context data of the event
99
+ * @internal
100
+ */
101
+ _onPTTStart(context: KeyboardEventContext): boolean;
102
+
103
+ /**
104
+ * Handle deactivation of a push-to-talk key or button.
105
+ * @param context The context data of the event
106
+ * @internal
107
+ */
108
+ _onPTTEnd(context: KeyboardEventContext): boolean;
109
+
110
+ /* -------------------------------------------- */
111
+ /* User Interface Controls */
112
+ /* -------------------------------------------- */
113
+
114
+ render(): Promise<this>;
115
+
116
+ /* -------------------------------------------- */
117
+ /* Events Handlers and Callbacks */
118
+ /* -------------------------------------------- */
119
+
120
+ /**
121
+ * Respond to changes which occur to AV Settings.
122
+ * Changes are handled in descending order of impact.
123
+ * @param changed The object of changed AV settings
124
+ */
125
+ onSettingsChanged(changed: Record<string, unknown>): void;
126
+
127
+ debug(message: string): void;
128
+ }
@@ -0,0 +1,100 @@
1
+ import * as fields from "./../../common/data/fields.mjs";
2
+
3
+ interface AVSettingsData {
4
+ /** Whether this user has muted themselves. */
5
+ muted?: boolean;
6
+ /** Whether this user has hidden their video. */
7
+ hidden?: boolean;
8
+ /** Whether the user is broadcasting audio. */
9
+ speaking?: boolean;
10
+ }
11
+
12
+ export default class AVSettings {
13
+ constructor();
14
+
15
+ /**
16
+ * WebRTC Mode, Disabled, Audio only, Video only, Audio & Video
17
+ */
18
+ static AV_MODES: {
19
+ DISABLED: 0;
20
+ AUDIO: 1;
21
+ VIDEO: 2;
22
+ AUDIO_VIDEO: 3;
23
+ };
24
+
25
+ /**
26
+ * Voice modes: Always-broadcasting, voice-level triggered, push-to-talk.
27
+ */
28
+ static VOICE_MODES: {
29
+ ALWAYS: "always";
30
+ ACTIVITY: "activity";
31
+ PTT: "ptt";
32
+ };
33
+
34
+ /**
35
+ * Displayed nameplate options: Off entirely, animate between player and character name, player name only, character
36
+ * name only.
37
+ */
38
+ static NAMEPLATE_MODES: {
39
+ OFF: 0;
40
+ BOTH: 1;
41
+ PLAYER_ONLY: 2;
42
+ CHAR_ONLY: 3;
43
+ };
44
+
45
+ /**
46
+ * AV dock positions.
47
+ */
48
+ static DOCK_POSITIONS: {
49
+ TOP: "top";
50
+ RIGHT: "right";
51
+ BOTTOM: "bottom";
52
+ LEFT: "left";
53
+ };
54
+
55
+ /**
56
+ * Schemas for world and client settings
57
+ */
58
+ static get schemaFields(): { world: fields.SchemaField; client: fields.SchemaField };
59
+
60
+ /**
61
+ * Default client settings for each connected user.
62
+ */
63
+ static get DEFAULT_USER_SETTINGS(): object;
64
+
65
+ /**
66
+ * Register world and client WebRTC settings.
67
+ */
68
+ static register(): void;
69
+
70
+ /**
71
+ * A debounce callback for when either the world or client settings change.
72
+ */
73
+ changed: () => void;
74
+
75
+ /**
76
+ * Stores the transient AV activity data received from other users.
77
+ */
78
+ activity: Record<string, AVSettingsData>;
79
+
80
+ get(scope: string, setting: string): unknown;
81
+
82
+ getUser(userId: string): object | null;
83
+
84
+ set(scope: string, setting: string, value: unknown): void;
85
+
86
+ /**
87
+ * Return a mapping of AV settings for each game User.
88
+ */
89
+ get users(): Record<string, object>;
90
+
91
+ /**
92
+ * A helper to determine if the dock is configured in a vertical position.
93
+ */
94
+ get verticalDock(): boolean;
95
+
96
+ /**
97
+ * Handle another connected user changing their AV settings.
98
+ */
99
+ handleUserActivity(userId: string, settings: AVSettingsData): void;
100
+ }
@@ -0,0 +1,20 @@
1
+ /** @module canvas */
2
+
3
+ export * as animation from "./animation/_module.mjs";
4
+ export { default as Canvas } from "./board.mjs";
5
+ export * as containers from "./containers/_module.mjs";
6
+ export * as extensions from "./extensions/_module.mjs";
7
+ export { default as FramebufferSnapshot } from "./framebuffer-snapshot.mjs";
8
+ export * as geometry from "./geometry/_module.mjs";
9
+ export * as groups from "./groups/_module.mjs";
10
+ export * as interaction from "./interaction/_module.mjs";
11
+ export * as layers from "./layers/_module.mjs";
12
+ export { default as TextureLoader, getTexture, loadTexture, srcExists } from "./loader.mjs";
13
+ export * as perception from "./perception/_module.mjs";
14
+ export * as placeables from "./placeables/_module.mjs";
15
+ export * as primary from "./primary/_module.mjs";
16
+ export * as rendering from "./rendering/_module.mjs";
17
+ export { default as SceneManager } from "./scene-manager.mjs";
18
+ export * as sources from "./sources/_module.mjs";
19
+ export { default as TextureExtractor } from "./texture-extractor.mjs";
20
+ export * as workers from "./workers/_module.mjs";
@@ -0,0 +1,5 @@
1
+ export * from "./_types.mjs";
2
+ export { default as CanvasAnimation } from "./canvas-animation.mjs";
3
+ export * from "./chat-bubbles.mjs";
4
+ export { default as ChatBubbles } from "./chat-bubbles.mjs";
5
+ export { default as SmoothNoise } from "./smooth-noise.mjs";
@@ -0,0 +1,73 @@
1
+ import Color from "./../../../common/utils/color.mjs";
2
+ import { TokenAnimationData } from "./../../_types.mjs";
3
+
4
+ export interface CanvasAnimationAttribute {
5
+ /** The attribute name being animated */
6
+ attribute: string;
7
+
8
+ /** The object within which the attribute is stored */
9
+ parent: object;
10
+
11
+ /** The destination value of the attribute */
12
+ to: number | Color;
13
+
14
+ /** An initial value of the attribute, otherwise `parent[attribute]` is used */
15
+ from?: number | Color | undefined;
16
+
17
+ /** The computed delta between to and from */
18
+ delta?: number | undefined;
19
+
20
+ /** The amount of the total delta which has been animated */
21
+ done?: number | undefined;
22
+
23
+ /** Is this a color animation that applies to RGB channels */
24
+ color?: boolean | undefined;
25
+ }
26
+
27
+ export type CanvasAnimationEasingFunction = "easeInOutCosine" | "easeOutCircle" | "easeInCircle" | ((percentage: number) => number);
28
+
29
+ export interface CanvasAnimationOptions {
30
+ /** A DisplayObject which defines context to the PIXI.Ticker function */
31
+ context?: PIXI.DisplayObject | undefined;
32
+
33
+ /** A unique name which can be used to reference the in-progress animation */
34
+ name?: string | symbol | undefined;
35
+
36
+ /** A duration in milliseconds over which the animation should occur */
37
+ duration?: number | undefined;
38
+
39
+ /** The current time of the animation, in milliseconds */
40
+ time?: number | undefined;
41
+
42
+ /** A priority in PIXI.UPDATE_PRIORITY which defines when the animation should be evaluated related to others */
43
+ priority?: number | undefined;
44
+
45
+ /** An easing function used to translate animation time or the string name of a static member of CanvasAnimation */
46
+ easing?: CanvasAnimationEasingFunction | undefined;
47
+
48
+ /** A callback function which fires after every frame */
49
+ ontick?: ((elapsedMS: number, animation: CanvasAnimationData, data: TokenAnimationData) => void) | undefined;
50
+
51
+ /** The animation isn't started until this promise resolves */
52
+ wait?: Promise<any> | undefined;
53
+ }
54
+
55
+ export interface CanvasAnimationData extends CanvasAnimationOptions {
56
+ /** The animation function being executed each frame */
57
+ fn: () => void;
58
+
59
+ /** The attributes being animated */
60
+ attributes: CanvasAnimationAttribute[];
61
+
62
+ /** The current state of the animation (see {@link CanvasAnimation.STATES}) */
63
+ state: number;
64
+
65
+ /** A Promise which resolves once the animation is complete */
66
+ promise: Promise<boolean>;
67
+
68
+ /** The resolution function, allowing animation to be ended early */
69
+ resolve: (completed: boolean) => void;
70
+
71
+ /** The rejection function, allowing animation to be ended early */
72
+ reject: (error: Error) => void;
73
+ }