ttpg-darrell 1.0.76 → 1.0.78

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 (408) hide show
  1. package/build/cjs/lib/game-object/cardholder-player-name/cardholder-player-name.js +1 -1
  2. package/build/cjs/lib/layout-objects/layout-border.d.ts +2 -2
  3. package/build/cjs/lib/layout-objects/layout-border.js +8 -13
  4. package/build/cjs/lib/layout-objects/layout-border.js.map +1 -1
  5. package/build/cjs/lib/layout-objects/layout-border.testp.js +19 -0
  6. package/build/cjs/lib/layout-objects/layout-border.testp.js.map +1 -0
  7. package/build/cjs/lib/layout-objects/layout-objects.d.ts +1 -1
  8. package/build/cjs/lib/locale/locale.d.ts +1 -1
  9. package/build/cjs/lib-ext/color-mapping/color-mapping.js +2 -2
  10. package/build/cjs/lib-ext/color-mapping/color-mapping.js.map +1 -1
  11. package/build/cjs/lib-ext/color-mapping/raw-linear.js +0 -25
  12. package/build/cjs/lib-ext/color-mapping/raw-linear.js.map +1 -1
  13. package/build/cjs/lib-ext/create-assets/abstract-create-assets/abstract-create-assets.d.ts +0 -1
  14. package/build/cjs/lib-ext/create-assets/create-board/create-board.d.ts +0 -1
  15. package/build/cjs/lib-ext/create-assets/create-cardsheets/create-cardsheet-params.d.ts +12 -160
  16. package/build/cjs/lib-ext/create-assets/create-cardsheets/create-cardsheet.d.ts +0 -1
  17. package/build/cjs/lib-ext/create-assets/create-d6/create-d6-params.d.ts +10 -158
  18. package/build/cjs/lib-ext/create-assets/create-d6/create-d6.d.ts +0 -1
  19. package/build/cjs/lib-ext/image/cell/abstract-cell/abstract-cell.d.ts +0 -1
  20. package/build/cjs/lib-ext/image/cell/bleed-cell/bleed-cell.d.ts +0 -1
  21. package/build/cjs/lib-ext/image/cell/buffer-cell/buffer-cell.d.ts +0 -1
  22. package/build/cjs/lib-ext/image/cell/canvas-cell/canvas-cell.d.ts +0 -1
  23. package/build/cjs/lib-ext/image/cell/cell-parser/cell-schema.d.ts +40 -20
  24. package/build/cjs/lib-ext/image/cell/col-cell/col-cell.d.ts +0 -1
  25. package/build/cjs/lib-ext/image/cell/grid-cell/grid-cell.d.ts +0 -1
  26. package/build/cjs/lib-ext/image/cell/image-cell/image-cell.d.ts +0 -1
  27. package/build/cjs/lib-ext/image/cell/padded-cell/padded-cell.d.ts +0 -1
  28. package/build/cjs/lib-ext/image/cell/resize-cell/resize-cell.d.ts +0 -1
  29. package/build/cjs/lib-ext/image/cell/row-cell/row-cell.d.ts +0 -1
  30. package/build/cjs/lib-ext/image/cell/solid-cell/solid-cell.d.ts +0 -1
  31. package/build/cjs/lib-ext/image/cell/text-cell/text-cell.d.ts +0 -1
  32. package/build/cjs/lib-ext/image/image-split/image-split.d.ts +0 -1
  33. package/build/cjs/lib-ext/nsid/extract-nsid-to-template-id.js +1 -1
  34. package/build/cjs/lib-ext/nsid/extract-nsid-to-template-id.js.map +1 -1
  35. package/build/cjs/lib-ext/template/cube-template/cube-template.js +4 -4
  36. package/build/cjs/lib-ext/template/cube-template/cube-template.js.map +1 -1
  37. package/build/esm/lib/game-object/cardholder-player-name/cardholder-player-name.js +1 -1
  38. package/build/esm/lib/layout-objects/layout-border.d.ts +2 -2
  39. package/build/esm/lib/layout-objects/layout-border.js +8 -13
  40. package/build/esm/lib/layout-objects/layout-border.js.map +1 -1
  41. package/build/esm/lib/layout-objects/layout-border.testp.js +17 -0
  42. package/build/esm/lib/layout-objects/layout-border.testp.js.map +1 -0
  43. package/build/esm/lib/layout-objects/layout-objects.d.ts +1 -1
  44. package/build/esm/lib/locale/locale.d.ts +1 -1
  45. package/build/esm/lib-ext/create-assets/abstract-create-assets/abstract-create-assets.d.ts +0 -1
  46. package/build/esm/lib-ext/create-assets/create-board/create-board.d.ts +0 -1
  47. package/build/esm/lib-ext/create-assets/create-cardsheets/create-cardsheet-params.d.ts +12 -160
  48. package/build/esm/lib-ext/create-assets/create-cardsheets/create-cardsheet.d.ts +0 -1
  49. package/build/esm/lib-ext/create-assets/create-d6/create-d6-params.d.ts +10 -158
  50. package/build/esm/lib-ext/create-assets/create-d6/create-d6.d.ts +0 -1
  51. package/build/esm/lib-ext/image/cell/abstract-cell/abstract-cell.d.ts +0 -1
  52. package/build/esm/lib-ext/image/cell/bleed-cell/bleed-cell.d.ts +0 -1
  53. package/build/esm/lib-ext/image/cell/buffer-cell/buffer-cell.d.ts +0 -1
  54. package/build/esm/lib-ext/image/cell/canvas-cell/canvas-cell.d.ts +0 -1
  55. package/build/esm/lib-ext/image/cell/cell-parser/cell-schema.d.ts +40 -20
  56. package/build/esm/lib-ext/image/cell/col-cell/col-cell.d.ts +0 -1
  57. package/build/esm/lib-ext/image/cell/grid-cell/grid-cell.d.ts +0 -1
  58. package/build/esm/lib-ext/image/cell/image-cell/image-cell.d.ts +0 -1
  59. package/build/esm/lib-ext/image/cell/padded-cell/padded-cell.d.ts +0 -1
  60. package/build/esm/lib-ext/image/cell/resize-cell/resize-cell.d.ts +0 -1
  61. package/build/esm/lib-ext/image/cell/row-cell/row-cell.d.ts +0 -1
  62. package/build/esm/lib-ext/image/cell/solid-cell/solid-cell.d.ts +0 -1
  63. package/build/esm/lib-ext/image/cell/text-cell/text-cell.d.ts +0 -1
  64. package/build/esm/lib-ext/image/image-split/image-split.d.ts +0 -1
  65. package/build/esm/lib-ext/nsid/extract-nsid-to-template-id.js +1 -1
  66. package/build/esm/lib-ext/nsid/extract-nsid-to-template-id.js.map +1 -1
  67. package/build/esm/lib-ext/template/cube-template/cube-template.js +4 -4
  68. package/build/esm/lib-ext/template/cube-template/cube-template.js.map +1 -1
  69. package/package.json +1 -1
  70. package/build/cjs/lib/bug-workarounds/bug-card-holder-assignment.d.ts +0 -8
  71. package/build/cjs/lib/bug-workarounds/bug-card-holder-assignment.js +0 -14
  72. package/build/cjs/lib/bug-workarounds/bug-card-holder-assignment.js.map +0 -1
  73. package/build/cjs/lib/bug-workarounds/bug-unique-cards.d.ts +0 -8
  74. package/build/cjs/lib/bug-workarounds/bug-unique-cards.js +0 -14
  75. package/build/cjs/lib/bug-workarounds/bug-unique-cards.js.map +0 -1
  76. package/build/cjs/lib/chess-clock/chess-clock-window.d.ts +0 -11
  77. package/build/cjs/lib/chess-clock/chess-clock-window.js +0 -47
  78. package/build/cjs/lib/chess-clock/chess-clock-window.js.map +0 -1
  79. package/build/cjs/lib/chess-clock/chess-clock-window.testp.d.ts +0 -1
  80. package/build/cjs/lib/chess-clock/chess-clock-window.testp.js +0 -23
  81. package/build/cjs/lib/chess-clock/chess-clock-window.testp.js.map +0 -1
  82. package/build/cjs/lib/context-menu/abstract-right-click-card.d.ts +0 -17
  83. package/build/cjs/lib/context-menu/abstract-right-click-card.js +0 -40
  84. package/build/cjs/lib/context-menu/abstract-right-click-card.js.map +0 -1
  85. package/build/cjs/lib/context-menu/abstract-right-click-deck.d.ts +0 -19
  86. package/build/cjs/lib/context-menu/abstract-right-click-deck.js +0 -46
  87. package/build/cjs/lib/context-menu/abstract-right-click-deck.js.map +0 -1
  88. package/build/cjs/lib/context-menu/leave-seat.d.ts +0 -19
  89. package/build/cjs/lib/context-menu/leave-seat.js +0 -51
  90. package/build/cjs/lib/context-menu/leave-seat.js.map +0 -1
  91. package/build/cjs/lib/event/on-card-became-singleton-or-deck.d.ts +0 -30
  92. package/build/cjs/lib/event/on-card-became-singleton-or-deck.js +0 -103
  93. package/build/cjs/lib/event/on-card-became-singleton-or-deck.js.map +0 -1
  94. package/build/cjs/lib/event/on-card-became-singleton-or-deck.testp.d.ts +0 -1
  95. package/build/cjs/lib/event/on-card-became-singleton-or-deck.testp.js +0 -15
  96. package/build/cjs/lib/event/on-card-became-singleton-or-deck.testp.js.map +0 -1
  97. package/build/cjs/lib/event/throttle-click-handler.d.ts +0 -9
  98. package/build/cjs/lib/event/throttle-click-handler.js +0 -28
  99. package/build/cjs/lib/event/throttle-click-handler.js.map +0 -1
  100. package/build/cjs/lib/event/triggerable-multicast-delegate.d.ts +0 -30
  101. package/build/cjs/lib/event/triggerable-multicast-delegate.js +0 -57
  102. package/build/cjs/lib/event/triggerable-multicast-delegate.js.map +0 -1
  103. package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.d.ts +0 -1
  104. package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js +0 -6
  105. package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js.map +0 -1
  106. package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation.d.ts +0 -7
  107. package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation.js +0 -27
  108. package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation.js.map +0 -1
  109. package/build/cjs/lib/jest-util/click-all/click-all.d.ts +0 -2
  110. package/build/cjs/lib/jest-util/click-all/click-all.js +0 -38
  111. package/build/cjs/lib/jest-util/click-all/click-all.js.map +0 -1
  112. package/build/cjs/lib/parse/parse-color.d.ts +0 -7
  113. package/build/cjs/lib/parse/parse-color.js +0 -47
  114. package/build/cjs/lib/parse/parse-color.js.map +0 -1
  115. package/build/cjs/lib/svg/svg-sparkline.d.ts +0 -12
  116. package/build/cjs/lib/svg/svg-sparkline.js +0 -44
  117. package/build/cjs/lib/svg/svg-sparkline.js.map +0 -1
  118. package/build/cjs/lib/ui-visibility/ui-visibility.d.ts +0 -17
  119. package/build/cjs/lib/ui-visibility/ui-visibility.js +0 -69
  120. package/build/cjs/lib/ui-visibility/ui-visibility.js.map +0 -1
  121. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-widget.d.ts +0 -9
  122. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-widget.js +0 -82
  123. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-widget.js.map +0 -1
  124. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-window.d.ts +0 -4
  125. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-window.js +0 -40
  126. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-config-window.js.map +0 -1
  127. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-data.d.ts +0 -46
  128. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-data.js +0 -211
  129. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-data.js.map +0 -1
  130. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-widget.d.ts +0 -15
  131. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-widget.js +0 -227
  132. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-widget.js.map +0 -1
  133. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.d.ts +0 -11
  134. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.js +0 -47
  135. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.js.map +0 -1
  136. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.testp.d.ts +0 -1
  137. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.testp.js +0 -22
  138. package/build/cjs/lib/widget/chess-clock-widget/chess-clock-window.testp.js.map +0 -1
  139. package/build/cjs/lib-ext/color-mapping/color-mapping-scikit.js +0 -140
  140. package/build/cjs/lib-ext/color-mapping/color-mapping-scikit.js.map +0 -1
  141. package/build/cjs/lib-ext/color-mapping/extracted-to-hex.js +0 -41
  142. package/build/cjs/lib-ext/color-mapping/extracted-to-hex.js.map +0 -1
  143. package/build/cjs/lib-ext/image-table.d.ts +0 -1
  144. package/build/cjs/lib-ext/image-table.js +0 -14
  145. package/build/cjs/lib-ext/image-table.js.map +0 -1
  146. package/build/esm/lib/bug-workarounds/bug-card-holder-assignment.d.ts +0 -8
  147. package/build/esm/lib/bug-workarounds/bug-card-holder-assignment.js +0 -10
  148. package/build/esm/lib/bug-workarounds/bug-card-holder-assignment.js.map +0 -1
  149. package/build/esm/lib/bug-workarounds/bug-unique-cards.d.ts +0 -8
  150. package/build/esm/lib/bug-workarounds/bug-unique-cards.js +0 -10
  151. package/build/esm/lib/bug-workarounds/bug-unique-cards.js.map +0 -1
  152. package/build/esm/lib/chess-clock/chess-clock-window.d.ts +0 -11
  153. package/build/esm/lib/chess-clock/chess-clock-window.js +0 -43
  154. package/build/esm/lib/chess-clock/chess-clock-window.js.map +0 -1
  155. package/build/esm/lib/chess-clock/chess-clock-window.testp.d.ts +0 -1
  156. package/build/esm/lib/chess-clock/chess-clock-window.testp.js +0 -21
  157. package/build/esm/lib/chess-clock/chess-clock-window.testp.js.map +0 -1
  158. package/build/esm/lib/context-menu/abstract-right-click-card.d.ts +0 -17
  159. package/build/esm/lib/context-menu/abstract-right-click-card.js +0 -36
  160. package/build/esm/lib/context-menu/abstract-right-click-card.js.map +0 -1
  161. package/build/esm/lib/context-menu/abstract-right-click-deck.d.ts +0 -19
  162. package/build/esm/lib/context-menu/abstract-right-click-deck.js +0 -42
  163. package/build/esm/lib/context-menu/abstract-right-click-deck.js.map +0 -1
  164. package/build/esm/lib/context-menu/leave-seat.d.ts +0 -19
  165. package/build/esm/lib/context-menu/leave-seat.js +0 -47
  166. package/build/esm/lib/context-menu/leave-seat.js.map +0 -1
  167. package/build/esm/lib/event/on-card-became-singleton-or-deck.d.ts +0 -30
  168. package/build/esm/lib/event/on-card-became-singleton-or-deck.js +0 -99
  169. package/build/esm/lib/event/on-card-became-singleton-or-deck.js.map +0 -1
  170. package/build/esm/lib/event/on-card-became-singleton-or-deck.testp.d.ts +0 -1
  171. package/build/esm/lib/event/on-card-became-singleton-or-deck.testp.js +0 -13
  172. package/build/esm/lib/event/on-card-became-singleton-or-deck.testp.js.map +0 -1
  173. package/build/esm/lib/event/throttle-click-handler.d.ts +0 -9
  174. package/build/esm/lib/event/throttle-click-handler.js +0 -24
  175. package/build/esm/lib/event/throttle-click-handler.js.map +0 -1
  176. package/build/esm/lib/event/triggerable-multicast-delegate.d.ts +0 -30
  177. package/build/esm/lib/event/triggerable-multicast-delegate.js +0 -53
  178. package/build/esm/lib/event/triggerable-multicast-delegate.js.map +0 -1
  179. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.d.ts +0 -1
  180. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js +0 -4
  181. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js.map +0 -1
  182. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation.d.ts +0 -4
  183. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation.js +0 -20
  184. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation.js.map +0 -1
  185. package/build/esm/lib/jest-util/click-all/click-all.d.ts +0 -2
  186. package/build/esm/lib/jest-util/click-all/click-all.js +0 -34
  187. package/build/esm/lib/jest-util/click-all/click-all.js.map +0 -1
  188. package/build/esm/lib/parse/parse-color.d.ts +0 -7
  189. package/build/esm/lib/parse/parse-color.js +0 -43
  190. package/build/esm/lib/parse/parse-color.js.map +0 -1
  191. package/build/esm/lib/svg/svg-sparkline.d.ts +0 -12
  192. package/build/esm/lib/svg/svg-sparkline.js +0 -40
  193. package/build/esm/lib/svg/svg-sparkline.js.map +0 -1
  194. package/build/esm/lib/ui-visibility/ui-visibility.d.ts +0 -17
  195. package/build/esm/lib/ui-visibility/ui-visibility.js +0 -65
  196. package/build/esm/lib/ui-visibility/ui-visibility.js.map +0 -1
  197. package/build/esm/lib-ext/image-table.d.ts +0 -1
  198. package/build/esm/lib-ext/image-table.js +0 -9
  199. package/build/esm/lib-ext/image-table.js.map +0 -1
  200. package/build/module_type_should_override_this/index.d.ts +0 -54
  201. package/build/module_type_should_override_this/index.js +0 -55
  202. package/build/module_type_should_override_this/index.js.map +0 -1
  203. package/build/module_type_should_override_this/lib/adjacency/adjacency.d.ts +0 -61
  204. package/build/module_type_should_override_this/lib/adjacency/adjacency.js +0 -212
  205. package/build/module_type_should_override_this/lib/adjacency/adjacency.js.map +0 -1
  206. package/build/module_type_should_override_this/lib/broadcast/broadcast.d.ts +0 -9
  207. package/build/module_type_should_override_this/lib/broadcast/broadcast.js +0 -42
  208. package/build/module_type_should_override_this/lib/broadcast/broadcast.js.map +0 -1
  209. package/build/module_type_should_override_this/lib/bug-workarounds/bug-card-holder-assignment.d.ts +0 -8
  210. package/build/module_type_should_override_this/lib/bug-workarounds/bug-card-holder-assignment.js +0 -10
  211. package/build/module_type_should_override_this/lib/bug-workarounds/bug-card-holder-assignment.js.map +0 -1
  212. package/build/module_type_should_override_this/lib/bug-workarounds/bug-unique-cards.d.ts +0 -8
  213. package/build/module_type_should_override_this/lib/bug-workarounds/bug-unique-cards.js +0 -10
  214. package/build/module_type_should_override_this/lib/bug-workarounds/bug-unique-cards.js.map +0 -1
  215. package/build/module_type_should_override_this/lib/card-util/card-util.d.ts +0 -45
  216. package/build/module_type_should_override_this/lib/card-util/card-util.js +0 -173
  217. package/build/module_type_should_override_this/lib/card-util/card-util.js.map +0 -1
  218. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-card.d.ts +0 -17
  219. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-card.js +0 -36
  220. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-card.js.map +0 -1
  221. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-deck.d.ts +0 -19
  222. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-deck.js +0 -42
  223. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-deck.js.map +0 -1
  224. package/build/module_type_should_override_this/lib/context-menu/leave-seat.d.ts +0 -19
  225. package/build/module_type_should_override_this/lib/context-menu/leave-seat.js +0 -47
  226. package/build/module_type_should_override_this/lib/context-menu/leave-seat.js.map +0 -1
  227. package/build/module_type_should_override_this/lib/data-store/data-store.d.ts +0 -104
  228. package/build/module_type_should_override_this/lib/data-store/data-store.js +0 -392
  229. package/build/module_type_should_override_this/lib/data-store/data-store.js.map +0 -1
  230. package/build/module_type_should_override_this/lib/dice-group/dice-group-testp.d.ts +0 -1
  231. package/build/module_type_should_override_this/lib/dice-group/dice-group-testp.js +0 -37
  232. package/build/module_type_should_override_this/lib/dice-group/dice-group-testp.js.map +0 -1
  233. package/build/module_type_should_override_this/lib/dice-group/dice-group.d.ts +0 -83
  234. package/build/module_type_should_override_this/lib/dice-group/dice-group.js +0 -247
  235. package/build/module_type_should_override_this/lib/dice-group/dice-group.js.map +0 -1
  236. package/build/module_type_should_override_this/lib/error-handler/bugsplat-remote-reporter.d.ts +0 -21
  237. package/build/module_type_should_override_this/lib/error-handler/bugsplat-remote-reporter.js +0 -54
  238. package/build/module_type_should_override_this/lib/error-handler/bugsplat-remote-reporter.js.map +0 -1
  239. package/build/module_type_should_override_this/lib/error-handler/error-batcher.d.ts +0 -11
  240. package/build/module_type_should_override_this/lib/error-handler/error-batcher.js +0 -50
  241. package/build/module_type_should_override_this/lib/error-handler/error-batcher.js.map +0 -1
  242. package/build/module_type_should_override_this/lib/error-handler/error-handler.d.ts +0 -43
  243. package/build/module_type_should_override_this/lib/error-handler/error-handler.js +0 -234
  244. package/build/module_type_should_override_this/lib/error-handler/error-handler.js.map +0 -1
  245. package/build/module_type_should_override_this/lib/error-handler/error-handler.testp.d.ts +0 -4
  246. package/build/module_type_should_override_this/lib/error-handler/error-handler.testp.js +0 -13
  247. package/build/module_type_should_override_this/lib/error-handler/error-handler.testp.js.map +0 -1
  248. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.d.ts +0 -30
  249. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.js +0 -99
  250. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.js.map +0 -1
  251. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.testp.d.ts +0 -1
  252. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.testp.js +0 -13
  253. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.testp.js.map +0 -1
  254. package/build/module_type_should_override_this/lib/event/throttle-click-handler.d.ts +0 -9
  255. package/build/module_type_should_override_this/lib/event/throttle-click-handler.js +0 -24
  256. package/build/module_type_should_override_this/lib/event/throttle-click-handler.js.map +0 -1
  257. package/build/module_type_should_override_this/lib/event/triggerable-multicast-delegate.d.ts +0 -30
  258. package/build/module_type_should_override_this/lib/event/triggerable-multicast-delegate.js +0 -53
  259. package/build/module_type_should_override_this/lib/event/triggerable-multicast-delegate.js.map +0 -1
  260. package/build/module_type_should_override_this/lib/facing/facing.d.ts +0 -4
  261. package/build/module_type_should_override_this/lib/facing/facing.js +0 -15
  262. package/build/module_type_should_override_this/lib/facing/facing.js.map +0 -1
  263. package/build/module_type_should_override_this/lib/find/find.d.ts +0 -19
  264. package/build/module_type_should_override_this/lib/find/find.js +0 -152
  265. package/build/module_type_should_override_this/lib/find/find.js.map +0 -1
  266. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name-obj.d.ts +0 -1
  267. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name-obj.js +0 -10
  268. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name-obj.js.map +0 -1
  269. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name.d.ts +0 -19
  270. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name.js +0 -101
  271. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name.js.map +0 -1
  272. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container-obj.d.ts +0 -1
  273. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container-obj.js +0 -5
  274. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container-obj.js.map +0 -1
  275. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container.d.ts +0 -24
  276. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container.js +0 -91
  277. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container.js.map +0 -1
  278. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container-obj.d.ts +0 -1
  279. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container-obj.js +0 -4
  280. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container-obj.js.map +0 -1
  281. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container.d.ts +0 -43
  282. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container.js +0 -116
  283. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container.js.map +0 -1
  284. package/build/module_type_should_override_this/lib/game-object/garbage/simple-card-garbage-handler.d.ts +0 -20
  285. package/build/module_type_should_override_this/lib/game-object/garbage/simple-card-garbage-handler.js +0 -100
  286. package/build/module_type_should_override_this/lib/game-object/garbage/simple-card-garbage-handler.js.map +0 -1
  287. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-container-handler.d.ts +0 -16
  288. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-container-handler.js +0 -44
  289. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-container-handler.js.map +0 -1
  290. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-snap-point-handler.d.ts +0 -19
  291. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-snap-point-handler.js +0 -50
  292. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-snap-point-handler.js.map +0 -1
  293. package/build/module_type_should_override_this/lib/global/global-init.d.ts +0 -10
  294. package/build/module_type_should_override_this/lib/global/global-init.js +0 -20
  295. package/build/module_type_should_override_this/lib/global/global-init.js.map +0 -1
  296. package/build/module_type_should_override_this/lib/global/i-global.d.ts +0 -3
  297. package/build/module_type_should_override_this/lib/global/i-global.js +0 -2
  298. package/build/module_type_should_override_this/lib/global/i-global.js.map +0 -1
  299. package/build/module_type_should_override_this/lib/heap/heap.d.ts +0 -8
  300. package/build/module_type_should_override_this/lib/heap/heap.js +0 -109
  301. package/build/module_type_should_override_this/lib/heap/heap.js.map +0 -1
  302. package/build/module_type_should_override_this/lib/layout-objects/layout-objects.d.ts +0 -49
  303. package/build/module_type_should_override_this/lib/layout-objects/layout-objects.js +0 -257
  304. package/build/module_type_should_override_this/lib/layout-objects/layout-objects.js.map +0 -1
  305. package/build/module_type_should_override_this/lib/locale/locale.d.ts +0 -8
  306. package/build/module_type_should_override_this/lib/locale/locale.js +0 -48
  307. package/build/module_type_should_override_this/lib/locale/locale.js.map +0 -1
  308. package/build/module_type_should_override_this/lib/namespace-id/namespace-id.d.ts +0 -1
  309. package/build/module_type_should_override_this/lib/namespace-id/namespace-id.js +0 -2
  310. package/build/module_type_should_override_this/lib/namespace-id/namespace-id.js.map +0 -1
  311. package/build/module_type_should_override_this/lib/nsid/nsid.d.ts +0 -54
  312. package/build/module_type_should_override_this/lib/nsid/nsid.js +0 -86
  313. package/build/module_type_should_override_this/lib/nsid/nsid.js.map +0 -1
  314. package/build/module_type_should_override_this/lib/parse/parse-color.d.ts +0 -7
  315. package/build/module_type_should_override_this/lib/parse/parse-color.js +0 -43
  316. package/build/module_type_should_override_this/lib/parse/parse-color.js.map +0 -1
  317. package/build/module_type_should_override_this/lib/perf/perf.d.ts +0 -29
  318. package/build/module_type_should_override_this/lib/perf/perf.js +0 -93
  319. package/build/module_type_should_override_this/lib/perf/perf.js.map +0 -1
  320. package/build/module_type_should_override_this/lib/setup/abstract-setup.d.ts +0 -18
  321. package/build/module_type_should_override_this/lib/setup/abstract-setup.js +0 -22
  322. package/build/module_type_should_override_this/lib/setup/abstract-setup.js.map +0 -1
  323. package/build/module_type_should_override_this/lib/shuffle/shuffle.d.ts +0 -7
  324. package/build/module_type_should_override_this/lib/shuffle/shuffle.js +0 -26
  325. package/build/module_type_should_override_this/lib/shuffle/shuffle.js.map +0 -1
  326. package/build/module_type_should_override_this/lib/spawn/spawn.d.ts +0 -21
  327. package/build/module_type_should_override_this/lib/spawn/spawn.js +0 -116
  328. package/build/module_type_should_override_this/lib/spawn/spawn.js.map +0 -1
  329. package/build/module_type_should_override_this/lib/svg/svg-sparkline.d.ts +0 -12
  330. package/build/module_type_should_override_this/lib/svg/svg-sparkline.js +0 -40
  331. package/build/module_type_should_override_this/lib/svg/svg-sparkline.js.map +0 -1
  332. package/build/module_type_should_override_this/lib/turn-order/turn-order.d.ts +0 -51
  333. package/build/module_type_should_override_this/lib/turn-order/turn-order.js +0 -200
  334. package/build/module_type_should_override_this/lib/turn-order/turn-order.js.map +0 -1
  335. package/build/module_type_should_override_this/lib/ui/screen-test.d.ts +0 -1
  336. package/build/module_type_should_override_this/lib/ui/screen-test.js +0 -20
  337. package/build/module_type_should_override_this/lib/ui/screen-test.js.map +0 -1
  338. package/build/module_type_should_override_this/lib/ui-visibility/ui-visibility.d.ts +0 -17
  339. package/build/module_type_should_override_this/lib/ui-visibility/ui-visibility.js +0 -65
  340. package/build/module_type_should_override_this/lib/ui-visibility/ui-visibility.js.map +0 -1
  341. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter-locale.data.d.ts +0 -3
  342. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter-locale.data.js +0 -4
  343. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter-locale.data.js.map +0 -1
  344. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter.d.ts +0 -5
  345. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter.js +0 -25
  346. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter.js.map +0 -1
  347. package/build/module_type_should_override_this/lib/widget/confirm-button/confirm-button.d.ts +0 -2
  348. package/build/module_type_should_override_this/lib/widget/confirm-button/confirm-button.js +0 -3
  349. package/build/module_type_should_override_this/lib/widget/confirm-button/confirm-button.js.map +0 -1
  350. package/build/module_type_should_override_this/lib/widget/d6widget/d6widget.d.ts +0 -48
  351. package/build/module_type_should_override_this/lib/widget/d6widget/d6widget.js +0 -84
  352. package/build/module_type_should_override_this/lib/widget/d6widget/d6widget.js.map +0 -1
  353. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.d.ts +0 -35
  354. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.js +0 -109
  355. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.js.map +0 -1
  356. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.testp.d.ts +0 -1
  357. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.testp.js +0 -10
  358. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.testp.js.map +0 -1
  359. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-locale.data.d.ts +0 -3
  360. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-locale.data.js +0 -4
  361. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-locale.data.js.map +0 -1
  362. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.d.ts +0 -28
  363. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.js +0 -99
  364. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.js.map +0 -1
  365. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.testp.d.ts +0 -1
  366. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.testp.js +0 -10
  367. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.testp.js.map +0 -1
  368. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-locale.data.d.ts +0 -3
  369. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-locale.data.js +0 -5
  370. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-locale.data.js.map +0 -1
  371. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget-locale.data.d.ts +0 -3
  372. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget-locale.data.js +0 -4
  373. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget-locale.data.js.map +0 -1
  374. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.d.ts +0 -19
  375. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.js +0 -74
  376. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.js.map +0 -1
  377. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.testp.d.ts +0 -1
  378. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.testp.js +0 -5
  379. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.testp.js.map +0 -1
  380. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-clicked-widget.d.ts +0 -22
  381. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-clicked-widget.js +0 -136
  382. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-clicked-widget.js.map +0 -1
  383. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-wart.d.ts +0 -16
  384. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-wart.js +0 -7
  385. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-wart.js.map +0 -1
  386. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-widget.d.ts +0 -29
  387. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-widget.js +0 -131
  388. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-widget.js.map +0 -1
  389. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-locale.data.d.ts +0 -3
  390. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-locale.data.js +0 -13
  391. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-locale.data.js.map +0 -1
  392. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget-params.d.ts +0 -33
  393. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget-params.js +0 -6
  394. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget-params.js.map +0 -1
  395. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.d.ts +0 -25
  396. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.js +0 -99
  397. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.js.map +0 -1
  398. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.testp.d.ts +0 -1
  399. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.testp.js +0 -58
  400. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.testp.js.map +0 -1
  401. package/build/module_type_should_override_this/lib-ext/image-table.d.ts +0 -1
  402. package/build/module_type_should_override_this/lib-ext/image-table.js +0 -9
  403. package/build/module_type_should_override_this/lib-ext/image-table.js.map +0 -1
  404. package/build/module_type_should_override_this/locale.data.d.ts +0 -4
  405. package/build/module_type_should_override_this/locale.data.js +0 -5
  406. package/build/module_type_should_override_this/locale.data.js.map +0 -1
  407. /package/build/cjs/{lib-ext/color-mapping/color-mapping-scikit.d.ts → lib/layout-objects/layout-border.testp.d.ts} +0 -0
  408. /package/build/{cjs/lib-ext/color-mapping/extracted-to-hex.d.ts → esm/lib/layout-objects/layout-border.testp.d.ts} +0 -0
@@ -1,93 +0,0 @@
1
- import { globalEvents } from "@tabletop-playground/api";
2
- export class Perf {
3
- static getInstance() {
4
- if (!Perf._instance) {
5
- Perf._instance = new Perf();
6
- }
7
- return Perf._instance;
8
- }
9
- constructor(windowSize = 50) {
10
- this._nextWindowFrameMsecsIndex = 0;
11
- this._windowFps = Array(60).fill(0);
12
- this._nextWindowFpsIndex = 0;
13
- this._lastFpsUpdateSecond = -1;
14
- this._onTickHandler = (prevTickDurationSecs) => {
15
- this._windowFrameSecs[this._nextWindowFrameMsecsIndex] =
16
- prevTickDurationSecs;
17
- this._nextWindowFrameMsecsIndex =
18
- (this._nextWindowFrameMsecsIndex + 1) %
19
- this._windowFrameSecs.length;
20
- // Store one minute of FPS values, as per-second intervals.
21
- const nowSeconds = Math.floor(Date.now() / 1000);
22
- if (nowSeconds !== this._lastFpsUpdateSecond) {
23
- this._lastFpsUpdateSecond = nowSeconds;
24
- const fps = this.getReport().fps;
25
- this._windowFps[this._nextWindowFpsIndex] = fps;
26
- this._nextWindowFpsIndex =
27
- (this._nextWindowFpsIndex + 1) % this._windowFps.length;
28
- }
29
- };
30
- this._windowFrameSecs = Array(windowSize).fill(-1);
31
- globalEvents.onTick.add(this._onTickHandler);
32
- }
33
- init() {
34
- Perf.getInstance();
35
- }
36
- destroy() {
37
- globalEvents.onTick.remove(this._onTickHandler);
38
- }
39
- getReport() {
40
- const msecs = this._windowFrameSecs
41
- .filter((seconds) => seconds > 0)
42
- .map((seconds) => seconds * 1000);
43
- if (msecs.length === 0) {
44
- msecs.push(0);
45
- }
46
- const n = msecs.length;
47
- const mean = msecs.reduce((a, b) => a + b, 0) / n;
48
- const stdDev = Math.sqrt(msecs.map((x) => Math.pow(x - mean, 2)).reduce((a, b) => a + b) / n);
49
- const sorted = msecs.sort((a, b) => b - a);
50
- const median = sorted[Math.floor(sorted.length / 2)];
51
- if (median === undefined) {
52
- throw new Error("missing median");
53
- }
54
- // Mean of values within 3x stdDev (in the unlikely event of none,
55
- // use the regular mean).
56
- const tolerance = stdDev * 3;
57
- const scrubbedArray = msecs.filter((x) => x > mean - tolerance && x < mean + tolerance);
58
- const scrubbed = scrubbedArray.length > 0
59
- ? scrubbedArray.reduce((a, b) => a + b, 0) /
60
- scrubbedArray.length
61
- : mean;
62
- const fps = scrubbed > 0 ? 1000 / scrubbed : 0;
63
- // Round to 3 decimal places for cleaner log / json.
64
- return {
65
- median: Math.floor(median * 1000) / 1000,
66
- mean: Math.floor(mean * 1000) / 1000,
67
- scrubbed: Math.floor(scrubbed * 1000) / 1000,
68
- stdDev: Math.floor(stdDev * 1000) / 1000,
69
- fps: Math.floor(fps * 1000) / 1000,
70
- };
71
- }
72
- getReportStr() {
73
- const report = this.getReport();
74
- const median = report.median.toFixed(1);
75
- const mean = report.mean.toFixed(1);
76
- const scrubbed = report.scrubbed.toFixed(1);
77
- const stdDev = report.stdDev.toFixed(2);
78
- const fps = report.fps.toFixed(1);
79
- return `frame msecs: median=${median} mean=${mean} scrubbed=${scrubbed} stdDev=${stdDev} [${fps}]`;
80
- }
81
- /**
82
- * Get per-second FPS for the last minute, in time order.
83
- *
84
- * @returns
85
- */
86
- getFpsHistory() {
87
- return [
88
- ...this._windowFps.slice(this._nextWindowFpsIndex),
89
- ...this._windowFps.slice(0, this._nextWindowFpsIndex),
90
- ];
91
- }
92
- }
93
- //# sourceMappingURL=perf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"perf.js","sourceRoot":"","sources":["../../../../src/lib/perf/perf.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { Color } from "@tabletop-playground/api";
2
- export type AbstractSetupParams = {
3
- playerSlot?: number;
4
- primaryColor?: Color;
5
- secondaryColor?: Color;
6
- };
7
- /**
8
- * Store owner information.
9
- */
10
- export declare abstract class AbstractSetup {
11
- private readonly _playerSlot;
12
- private readonly _primaryColor;
13
- private readonly _secondaryColor;
14
- constructor(params?: AbstractSetupParams);
15
- getPlayerSlot(): number;
16
- getPrimaryColor(): Color;
17
- getSecondaryColor(): Color;
18
- }
@@ -1,22 +0,0 @@
1
- import { Color } from "@tabletop-playground/api";
2
- /**
3
- * Store owner information.
4
- */
5
- export class AbstractSetup {
6
- constructor(params) {
7
- var _a, _b, _c;
8
- this._playerSlot = (_a = params === null || params === void 0 ? void 0 : params.playerSlot) !== null && _a !== void 0 ? _a : -1;
9
- this._primaryColor = (_b = params === null || params === void 0 ? void 0 : params.primaryColor) !== null && _b !== void 0 ? _b : new Color(1, 1, 1, 1);
10
- this._secondaryColor = (_c = params === null || params === void 0 ? void 0 : params.secondaryColor) !== null && _c !== void 0 ? _c : new Color(0, 0, 0, 1);
11
- }
12
- getPlayerSlot() {
13
- return this._playerSlot;
14
- }
15
- getPrimaryColor() {
16
- return this._primaryColor;
17
- }
18
- getSecondaryColor() {
19
- return this._secondaryColor;
20
- }
21
- }
22
- //# sourceMappingURL=abstract-setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract-setup.js","sourceRoot":"","sources":["../../../../src/lib/setup/abstract-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAQjD;;GAEG;AACH,MAAM,OAAgB,aAAa;IAK/B,YAAY,MAA4B;;QACpC,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,mCAAI,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,mCAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;CACJ"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Shuffle an array of objects.
3
- */
4
- export declare class Shuffle {
5
- static shuffle<T>(items: T[]): T[];
6
- static choice<T>(items: T[]): T;
7
- }
@@ -1,26 +0,0 @@
1
- /**
2
- * Shuffle an array of objects.
3
- */
4
- export class Shuffle {
5
- static shuffle(items) {
6
- // Fisher-Yates
7
- for (let i = items.length - 1; i > 0; i--) {
8
- const j = Math.floor(Math.random() * (i + 1));
9
- const a = items[i];
10
- const b = items[j];
11
- if (a !== undefined && b !== undefined) {
12
- items[i] = b;
13
- items[j] = a;
14
- }
15
- }
16
- return items;
17
- }
18
- static choice(items) {
19
- const item = items[Math.floor(Math.random() * items.length)];
20
- if (item === undefined) {
21
- throw new Error("item undefined");
22
- }
23
- return item;
24
- }
25
- }
26
- //# sourceMappingURL=shuffle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shuffle.js","sourceRoot":"","sources":["../../../../src/lib/shuffle/shuffle.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,OAAO;IAChB,MAAM,CAAC,OAAO,CAAI,KAAU;QACxB,eAAe;QACf,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAkB,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,GAAkB,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACb,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,MAAM,CAAI,KAAU;QACvB,MAAM,IAAI,GACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACpD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -1,21 +0,0 @@
1
- import { Card, GameObject, Rotator, Vector } from "@tabletop-playground/api";
2
- /**
3
- * Registry for NSID to template id.
4
- */
5
- export declare abstract class Spawn {
6
- private static _nsidToTemplateId;
7
- static spawn(nsid: string, position?: Vector | [x: number, y: number, z: number], rotation?: Rotator | [pitch: number, yaw: number, roll: number]): GameObject | undefined;
8
- static spawnOrThrow(nsid: string, position?: Vector | [x: number, y: number, z: number], rotation?: Rotator | [pitch: number, yaw: number, roll: number]): GameObject;
9
- static spawnMergeDecks(nsids: string[], position?: Vector | [x: number, y: number, z: number], rotation?: Rotator | [pitch: number, yaw: number, roll: number]): Card | undefined;
10
- static spawnMergeDecksOrThrow(nsids: string[], position?: Vector | [x: number, y: number, z: number], rotation?: Rotator | [pitch: number, yaw: number, roll: number]): Card;
11
- static inject(dict: {
12
- [key: string]: string;
13
- }): void;
14
- static has(nsid: string): boolean;
15
- static clear(): void;
16
- static getAllNsids(): string[];
17
- /**
18
- * Make sure all registered templates exist.
19
- */
20
- static validate(): void;
21
- }
@@ -1,116 +0,0 @@
1
- import { Card, world, } from "@tabletop-playground/api";
2
- /**
3
- * Registry for NSID to template id.
4
- */
5
- export class Spawn {
6
- static spawn(nsid, position, rotation) {
7
- const templateId = Spawn._nsidToTemplateId[nsid];
8
- if (!templateId) {
9
- console.log(`Spawn.spawn: unknown nsid "${nsid}"`);
10
- return undefined;
11
- }
12
- if (position === undefined) {
13
- position = [0, 0, 0];
14
- }
15
- if (rotation === undefined) {
16
- rotation = [0, 0, 0];
17
- }
18
- const obj = world.createObjectFromTemplate(templateId, position);
19
- if (obj) {
20
- const name = world.getTemplateName(templateId);
21
- obj.setName(name);
22
- obj.setRotation(rotation);
23
- }
24
- return obj;
25
- }
26
- static spawnOrThrow(nsid, position, rotation) {
27
- const obj = Spawn.spawn(nsid, position, rotation);
28
- if (!obj) {
29
- throw new Error(`spawnOrThrow failed for "${nsid}"`);
30
- }
31
- return obj;
32
- }
33
- static spawnMergeDecks(nsids, position, rotation) {
34
- if (nsids.length === 0) {
35
- console.log("Spawn.spawnMergeDecks: empty nsid array");
36
- return undefined;
37
- }
38
- let deck;
39
- for (const nsid of nsids) {
40
- const obj = Spawn.spawn(nsid, position, rotation);
41
- // If any object fails, fail the whole spawn.
42
- if (!obj) {
43
- console.log(`Spawn.spawnMergeDecks: unknown nsid "${nsid}"`);
44
- if (deck) {
45
- deck.destroy();
46
- }
47
- return undefined;
48
- }
49
- if (!(obj instanceof Card)) {
50
- console.log(`Spawn.spawnMergeDecks: nsid "${nsid}" not a Card`);
51
- if (deck) {
52
- deck.destroy();
53
- }
54
- return undefined;
55
- }
56
- if (deck) {
57
- const success = deck.addCards(obj);
58
- if (!success) {
59
- console.log(`Spawn.spawnMergeDecks: nsid "${nsid}" failed to merge with existing deck (wrong size?)`);
60
- if (deck) {
61
- deck.destroy();
62
- }
63
- return undefined;
64
- }
65
- }
66
- else {
67
- deck = obj;
68
- }
69
- }
70
- return deck;
71
- }
72
- static spawnMergeDecksOrThrow(nsids, position, rotation) {
73
- const obj = Spawn.spawnMergeDecks(nsids, position, rotation);
74
- if (!obj) {
75
- throw new Error(`spawnMergeDecksOrThrow failed for [${nsids.join(", ")}]`);
76
- }
77
- return obj;
78
- }
79
- static inject(dict) {
80
- for (const [k, v] of Object.entries(dict)) {
81
- Spawn._nsidToTemplateId[k] = v;
82
- }
83
- }
84
- static has(nsid) {
85
- return Spawn._nsidToTemplateId[nsid] ? true : false;
86
- }
87
- static clear() {
88
- Spawn._nsidToTemplateId = {};
89
- }
90
- static getAllNsids() {
91
- return Object.keys(Spawn._nsidToTemplateId);
92
- }
93
- /**
94
- * Make sure all registered templates exist.
95
- */
96
- static validate() {
97
- const templateIds = new Set();
98
- for (const pkg of world.getAllowedPackages()) {
99
- for (const templateId of pkg.getTemplateIds()) {
100
- templateIds.add(templateId);
101
- }
102
- }
103
- const missing = [];
104
- for (const [nsid, templateId] of Object.entries(Spawn._nsidToTemplateId)) {
105
- if (!templateIds.has(templateId)) {
106
- missing.push(`${templateId} ("${nsid}")`);
107
- }
108
- }
109
- if (missing.length > 0) {
110
- throw new Error(`Spawn.validate missing templateIds (${missing.length}):\n` +
111
- missing.join("\n"));
112
- }
113
- }
114
- }
115
- Spawn._nsidToTemplateId = {};
116
- //# sourceMappingURL=spawn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../../src/lib/spawn/spawn.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- export declare class SvgSparkline {
2
- static WIDTH: number;
3
- static HEIGHT: number;
4
- /**
5
- * Create a sparkline from non-negative numbers.
6
- *
7
- * @param values
8
- * @returns
9
- */
10
- static svg(values: number[]): string;
11
- static url(values: number[]): string;
12
- }
@@ -1,40 +0,0 @@
1
- export class SvgSparkline {
2
- /**
3
- * Create a sparkline from non-negative numbers.
4
- *
5
- * @param values
6
- * @returns
7
- */
8
- static svg(values) {
9
- // Get the average non-zero value.
10
- const nonZeroValues = values.filter((value) => value > 0);
11
- if (nonZeroValues.length === 0) {
12
- nonZeroValues.push(0);
13
- }
14
- const mean = nonZeroValues.reduce((a, b) => a + b, 0) / nonZeroValues.length;
15
- // Compute an upper bound, cap at a multiple of the average.
16
- let max = Math.min(Math.max(...values, 0), mean * 3);
17
- if (max === 0) {
18
- return `<svg xmlns='http://www.w3.org/2000/svg'></svg>`;
19
- }
20
- // Round up factor of 10, make sure there's some gap at top.
21
- max = Math.ceil(max / 10) * 10 + 1;
22
- // Convert to [0:100] for display.
23
- const v = values.map((value) => SvgSparkline.HEIGHT -
24
- Math.round((value * SvgSparkline.HEIGHT) / max));
25
- const path = [`M 0 ${v[0]}`];
26
- for (let i = 1; i < v.length; i++) {
27
- path.push(`L ${i * 3} ${v[i]}`);
28
- if (v[i + i] !== v[i]) {
29
- path.push(`L ${i * 3 + 3} ${v[i]}`);
30
- }
31
- }
32
- return `<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 ${SvgSparkline.WIDTH} ${SvgSparkline.HEIGHT}'><path d='${path.join(" ")}' stroke-width='2' stroke='red' fill='transparent' /></svg>`;
33
- }
34
- static url(values) {
35
- return "data:image/svg+xml," + SvgSparkline.svg(values);
36
- }
37
- }
38
- SvgSparkline.WIDTH = 180;
39
- SvgSparkline.HEIGHT = 100;
40
- //# sourceMappingURL=svg-sparkline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"svg-sparkline.js","sourceRoot":"","sources":["../../../../src/lib/svg/svg-sparkline.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IAIrB;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,MAAgB;QACvB,kCAAkC;QAClC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,IAAI,GACN,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;QAEpE,4DAA4D;QAC5D,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACZ,OAAO,gDAAgD,CAAC;QAC5D,CAAC;QAED,4DAA4D;QAC5D,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEnC,kCAAkC;QAClC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAChB,CAAC,KAAK,EAAE,EAAE,CACN,YAAY,CAAC,MAAM;YACnB,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CACtD,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;QACD,OAAO,wDAAwD,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,6DAA6D,CAAC;IACtM,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,MAAgB;QACvB,OAAO,qBAAqB,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;;AA7Ca,kBAAK,GAAW,GAAG,CAAC;AACpB,mBAAM,GAAW,GAAG,CAAC"}
@@ -1,51 +0,0 @@
1
- import { NamedspacedId } from "../namespace-id/namespace-id";
2
- import { TriggerableMulticastDelegate } from "../event/triggerable-multicast-delegate";
3
- export type Direction = "forward" | "reverse" | "snake";
4
- export type PlayerSlot = number;
5
- /**
6
- * Specify turn order with direction (forward, reverse, snake).
7
- * Provides a central, persistent state for passed and eliminiated players.
8
- */
9
- export declare class TurnOrder {
10
- static readonly onTurnStateChanged: TriggerableMulticastDelegate<(turnOrder: TurnOrder) => void>;
11
- private static readonly _idToTurnOrder;
12
- private readonly _savedDataKey;
13
- private readonly _passed;
14
- private readonly _eliminated;
15
- private _order;
16
- private _direction;
17
- private _currentTurn;
18
- private _snake;
19
- private _snakeNeedsAnotherTurn;
20
- static getInstance(savedDataKey: NamedspacedId): TurnOrder;
21
- /**
22
- * Constructor. Does NOT register with shared instance memory; ALWAYS
23
- * use getInstance if you want to find/create a shared instance.
24
- *
25
- * @param savedDataKey
26
- */
27
- constructor(savedDataKey: NamedspacedId);
28
- getId(): NamedspacedId;
29
- _saveState(): void;
30
- _restoreState(): void;
31
- nextTurn(): PlayerSlot;
32
- getCurrentTurn(): PlayerSlot;
33
- /**
34
- * Set current turn.
35
- *
36
- * Do not require it be in the current turn order: perhaps the caller is
37
- * about to chnage the order to match, or has some other wacky use in mind.
38
- *
39
- * @param playerSlot
40
- * @returns
41
- */
42
- setCurrentTurn(playerSlot: PlayerSlot): this;
43
- getTurnOrder(): PlayerSlot[];
44
- setTurnOrder(order: PlayerSlot[], direction: Direction, currentTurn: PlayerSlot): this;
45
- getDirection(): Direction;
46
- setDirection(direction: Direction): this;
47
- getEliminated(playerSlot: PlayerSlot): boolean;
48
- setEliminated(playerSlot: PlayerSlot, value: boolean): this;
49
- getPassed(playerSlot: PlayerSlot): boolean;
50
- setPassed(playerSlot: PlayerSlot, value: boolean): this;
51
- }
@@ -1,200 +0,0 @@
1
- import { world } from "@tabletop-playground/api";
2
- import { TriggerableMulticastDelegate } from "../event/triggerable-multicast-delegate";
3
- import { z } from "zod";
4
- // Compact serialized format; global saved state space is precious.
5
- // We could make some less used entries optional, but it's safer to consume
6
- // that space so the state size is mostly stable.
7
- const TURN_ORDER_STATE_SCHEMA = z
8
- .object({
9
- p: z.number().array(), // passed
10
- e: z.number().array(), // eliminated
11
- o: z.number().array(), // order
12
- d: z.number(), // direction
13
- c: z.number(), // current turn
14
- s: z.number(), // snake
15
- n: z.number(), // snake needs another turn
16
- })
17
- .strict();
18
- /**
19
- * Specify turn order with direction (forward, reverse, snake).
20
- * Provides a central, persistent state for passed and eliminiated players.
21
- */
22
- export class TurnOrder {
23
- static getInstance(savedDataKey) {
24
- let turnOrder = TurnOrder._idToTurnOrder[savedDataKey];
25
- if (!turnOrder) {
26
- turnOrder = new TurnOrder(savedDataKey);
27
- TurnOrder._idToTurnOrder[savedDataKey] = turnOrder;
28
- }
29
- return turnOrder;
30
- }
31
- /**
32
- * Constructor. Does NOT register with shared instance memory; ALWAYS
33
- * use getInstance if you want to find/create a shared instance.
34
- *
35
- * @param savedDataKey
36
- */
37
- constructor(savedDataKey) {
38
- this._passed = new Set();
39
- this._eliminated = new Set();
40
- this._order = [];
41
- this._direction = 1;
42
- this._currentTurn = -1;
43
- this._snake = false;
44
- this._snakeNeedsAnotherTurn = false;
45
- this._savedDataKey = savedDataKey;
46
- this._restoreState();
47
- }
48
- getId() {
49
- return this._savedDataKey;
50
- }
51
- _saveState() {
52
- const state = {
53
- p: Array.from(this._passed),
54
- e: Array.from(this._eliminated),
55
- o: this._order,
56
- d: this._direction,
57
- c: this._currentTurn,
58
- s: this._snake ? 1 : 0,
59
- n: this._snakeNeedsAnotherTurn ? 1 : 0,
60
- };
61
- TURN_ORDER_STATE_SCHEMA.parse(state); // validate
62
- const jsonStr = JSON.stringify(state);
63
- world.setSavedData(jsonStr, this._savedDataKey);
64
- }
65
- _restoreState() {
66
- const jsonStr = world.getSavedData(this._savedDataKey);
67
- if (!jsonStr || jsonStr.length === 0) {
68
- return;
69
- }
70
- const jsonObj = JSON.parse(jsonStr);
71
- const state = TURN_ORDER_STATE_SCHEMA.parse(jsonObj);
72
- this._passed.clear();
73
- for (const playerSlot of state.p) {
74
- this._passed.add(playerSlot);
75
- }
76
- this._eliminated.clear();
77
- for (const playerSlot of state.e) {
78
- this._eliminated.add(playerSlot);
79
- }
80
- this._order = state.o;
81
- this._direction = state.d;
82
- this._currentTurn = state.c;
83
- this._snake = state.s === 1;
84
- this._snakeNeedsAnotherTurn = state.n === 1;
85
- }
86
- nextTurn() {
87
- var _a;
88
- let cursor = this._order.indexOf(this._currentTurn);
89
- if (cursor < 0) {
90
- return -1;
91
- }
92
- let playerSlot = -1;
93
- let attempts = this._order.length * 2 + 1;
94
- while (attempts-- > 0) {
95
- // Advance to next slot.
96
- if (this._snake && this._snakeNeedsAnotherTurn) {
97
- this._snakeNeedsAnotherTurn = false;
98
- this._direction = -this._direction;
99
- }
100
- else {
101
- cursor =
102
- (cursor + this._direction + this._order.length) %
103
- this._order.length;
104
- }
105
- // If snake hit end, mark as needing another turn.
106
- if (this._snake &&
107
- ((this._direction === 1 && cursor === this._order.length - 1) ||
108
- (this._direction === -1 && cursor === 0))) {
109
- this._snakeNeedsAnotherTurn = true;
110
- }
111
- // Is the candidate available?
112
- playerSlot = (_a = this._order[cursor]) !== null && _a !== void 0 ? _a : -1;
113
- if (playerSlot >= 0 &&
114
- !this._passed.has(playerSlot) &&
115
- !this._eliminated.has(playerSlot)) {
116
- break; // use this player slot
117
- }
118
- }
119
- this._currentTurn = playerSlot;
120
- this._saveState();
121
- TurnOrder.onTurnStateChanged.trigger(this);
122
- return this._currentTurn;
123
- }
124
- getCurrentTurn() {
125
- return this._currentTurn;
126
- }
127
- /**
128
- * Set current turn.
129
- *
130
- * Do not require it be in the current turn order: perhaps the caller is
131
- * about to chnage the order to match, or has some other wacky use in mind.
132
- *
133
- * @param playerSlot
134
- * @returns
135
- */
136
- setCurrentTurn(playerSlot) {
137
- this._currentTurn = playerSlot;
138
- this._saveState();
139
- TurnOrder.onTurnStateChanged.trigger(this);
140
- return this;
141
- }
142
- getTurnOrder() {
143
- return [...this._order]; // copy
144
- }
145
- setTurnOrder(order, direction, currentTurn) {
146
- this._order = order;
147
- this._direction = direction === "reverse" ? -1 : 1;
148
- this._snake = direction === "snake";
149
- this._snakeNeedsAnotherTurn = false;
150
- this._currentTurn = currentTurn;
151
- this._saveState();
152
- TurnOrder.onTurnStateChanged.trigger(this);
153
- return this;
154
- }
155
- getDirection() {
156
- if (this._snake) {
157
- return "snake";
158
- }
159
- return this._direction === 1 ? "forward" : "reverse";
160
- }
161
- setDirection(direction) {
162
- this._direction = direction === "reverse" ? -1 : 1;
163
- this._snake = direction === "snake";
164
- this._snakeNeedsAnotherTurn = false;
165
- this._saveState();
166
- TurnOrder.onTurnStateChanged.trigger(this);
167
- return this;
168
- }
169
- getEliminated(playerSlot) {
170
- return this._eliminated.has(playerSlot);
171
- }
172
- setEliminated(playerSlot, value) {
173
- if (value) {
174
- this._eliminated.add(playerSlot);
175
- }
176
- else {
177
- this._eliminated.delete(playerSlot);
178
- }
179
- this._saveState();
180
- TurnOrder.onTurnStateChanged.trigger(this);
181
- return this;
182
- }
183
- getPassed(playerSlot) {
184
- return this._passed.has(playerSlot);
185
- }
186
- setPassed(playerSlot, value) {
187
- if (value) {
188
- this._passed.add(playerSlot);
189
- }
190
- else {
191
- this._passed.delete(playerSlot);
192
- }
193
- this._saveState();
194
- TurnOrder.onTurnStateChanged.trigger(this);
195
- return this;
196
- }
197
- }
198
- TurnOrder.onTurnStateChanged = new TriggerableMulticastDelegate();
199
- TurnOrder._idToTurnOrder = {};
200
- //# sourceMappingURL=turn-order.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"turn-order.js","sourceRoot":"","sources":["../../../../src/lib/turn-order/turn-order.ts"],"names":[],"mappings":"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"}