ttpg-darrell 1.0.37 → 1.0.39

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 (272) hide show
  1. package/build/cjs/lib/event/on-card-became-singleton-or-deck/on-card-became-singleton-or-deck.d.ts +2 -2
  2. package/build/cjs/lib/event/on-card-became-singleton-or-deck/on-card-became-singleton-or-deck.js +2 -2
  3. package/build/cjs/lib/event/throttle-click-handler.d.ts +1 -1
  4. package/build/cjs/lib/event/throttle-click-handler.js +1 -1
  5. package/build/cjs/lib/game-object/cardholder-player-name/cardholder-player-name.js +1 -1
  6. package/build/cjs/lib/game-object/cardholder-player-name/cardholder-player-name.js.map +1 -1
  7. package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js +6 -0
  8. package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js.map +1 -0
  9. package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation.d.ts +7 -0
  10. package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation.js +27 -0
  11. package/build/cjs/lib/game-object/dice-snap-rotation/dice-snap-rotation.js.map +1 -0
  12. package/build/cjs/lib/nsid/nsid.js +4 -4
  13. package/build/cjs/lib/nsid/nsid.js.map +1 -1
  14. package/build/cjs/lib/parse/parse-color/parse-color.js +2 -4
  15. package/build/cjs/lib/parse/parse-color/parse-color.js.map +1 -1
  16. package/build/cjs/lib/polygon/polygon.d.ts +57 -0
  17. package/build/cjs/lib/polygon/polygon.js +256 -0
  18. package/build/cjs/lib/polygon/polygon.js.map +1 -0
  19. package/build/cjs/lib/ui/window/player-window.d.ts +6 -2
  20. package/build/cjs/lib/ui/window/player-window.js +45 -9
  21. package/build/cjs/lib/ui/window/player-window.js.map +1 -1
  22. package/build/cjs/lib/ui/window/window-params.d.ts +6 -1
  23. package/build/cjs/lib/ui/window/window.d.ts +14 -2
  24. package/build/cjs/lib/ui/window/window.js +33 -8
  25. package/build/cjs/lib/ui/window/window.js.map +1 -1
  26. package/build/cjs/lib/ui/window/window.testp.js +4 -2
  27. package/build/cjs/lib/ui/window/window.testp.js.map +1 -1
  28. package/build/cjs/lib-ext/create-assets/create-cardsheets/create-cardsheet-params.js +1 -1
  29. package/build/cjs/lib-ext/create-assets/create-cardsheets/create-cardsheet-params.js.map +1 -1
  30. package/build/cjs/lib-ext/create-assets/create-cardsheets/create-cardsheet.js +3 -2
  31. package/build/cjs/lib-ext/create-assets/create-cardsheets/create-cardsheet.js.map +1 -1
  32. package/build/esm/lib/event/on-card-became-singleton-or-deck/on-card-became-singleton-or-deck.d.ts +2 -2
  33. package/build/esm/lib/event/on-card-became-singleton-or-deck/on-card-became-singleton-or-deck.js +2 -2
  34. package/build/esm/lib/game-object/cardholder-player-name/cardholder-player-name.js +1 -1
  35. package/build/esm/lib/game-object/cardholder-player-name/cardholder-player-name.js.map +1 -1
  36. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.d.ts +1 -0
  37. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js +4 -0
  38. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.js.map +1 -0
  39. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation.d.ts +4 -0
  40. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation.js +20 -0
  41. package/build/esm/lib/game-object/dice-snap-rotation/dice-snap-rotation.js.map +1 -0
  42. package/build/esm/lib/nsid/nsid.js +4 -4
  43. package/build/esm/lib/nsid/nsid.js.map +1 -1
  44. package/build/esm/lib/parse/parse-color/parse-color.js +2 -4
  45. package/build/esm/lib/parse/parse-color/parse-color.js.map +1 -1
  46. package/build/esm/lib/polygon/polygon.d.ts +57 -0
  47. package/build/esm/lib/polygon/polygon.js +252 -0
  48. package/build/esm/lib/polygon/polygon.js.map +1 -0
  49. package/build/esm/lib/ui/window/player-window.d.ts +6 -2
  50. package/build/esm/lib/ui/window/player-window.js +45 -9
  51. package/build/esm/lib/ui/window/player-window.js.map +1 -1
  52. package/build/esm/lib/ui/window/window-params.d.ts +6 -1
  53. package/build/esm/lib/ui/window/window.d.ts +14 -2
  54. package/build/esm/lib/ui/window/window.js +33 -8
  55. package/build/esm/lib/ui/window/window.js.map +1 -1
  56. package/build/esm/lib/ui/window/window.testp.js +4 -2
  57. package/build/esm/lib/ui/window/window.testp.js.map +1 -1
  58. package/build/esm/lib-ext/create-assets/create-cardsheets/create-cardsheet-params.js +1 -1
  59. package/build/esm/lib-ext/create-assets/create-cardsheets/create-cardsheet-params.js.map +1 -1
  60. package/build/esm/lib-ext/create-assets/create-cardsheets/create-cardsheet.js +3 -2
  61. package/build/esm/lib-ext/create-assets/create-cardsheets/create-cardsheet.js.map +1 -1
  62. package/build/module_type_should_override_this/index.d.ts +54 -0
  63. package/build/module_type_should_override_this/index.js +55 -0
  64. package/build/module_type_should_override_this/index.js.map +1 -0
  65. package/build/module_type_should_override_this/lib/adjacency/adjacency.d.ts +61 -0
  66. package/build/module_type_should_override_this/lib/adjacency/adjacency.js +212 -0
  67. package/build/module_type_should_override_this/lib/adjacency/adjacency.js.map +1 -0
  68. package/build/module_type_should_override_this/lib/broadcast/broadcast.d.ts +9 -0
  69. package/build/module_type_should_override_this/lib/broadcast/broadcast.js +42 -0
  70. package/build/module_type_should_override_this/lib/broadcast/broadcast.js.map +1 -0
  71. package/build/module_type_should_override_this/lib/bug-workarounds/bug-card-holder-assignment.d.ts +8 -0
  72. package/build/module_type_should_override_this/lib/bug-workarounds/bug-card-holder-assignment.js +10 -0
  73. package/build/module_type_should_override_this/lib/bug-workarounds/bug-card-holder-assignment.js.map +1 -0
  74. package/build/module_type_should_override_this/lib/bug-workarounds/bug-unique-cards.d.ts +8 -0
  75. package/build/module_type_should_override_this/lib/bug-workarounds/bug-unique-cards.js +10 -0
  76. package/build/module_type_should_override_this/lib/bug-workarounds/bug-unique-cards.js.map +1 -0
  77. package/build/module_type_should_override_this/lib/card-util/card-util.d.ts +45 -0
  78. package/build/module_type_should_override_this/lib/card-util/card-util.js +173 -0
  79. package/build/module_type_should_override_this/lib/card-util/card-util.js.map +1 -0
  80. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-card.d.ts +17 -0
  81. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-card.js +36 -0
  82. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-card.js.map +1 -0
  83. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-deck.d.ts +19 -0
  84. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-deck.js +42 -0
  85. package/build/module_type_should_override_this/lib/context-menu/abstract-right-click-deck.js.map +1 -0
  86. package/build/module_type_should_override_this/lib/context-menu/leave-seat.d.ts +19 -0
  87. package/build/module_type_should_override_this/lib/context-menu/leave-seat.js +47 -0
  88. package/build/module_type_should_override_this/lib/context-menu/leave-seat.js.map +1 -0
  89. package/build/module_type_should_override_this/lib/data-store/data-store.d.ts +104 -0
  90. package/build/module_type_should_override_this/lib/data-store/data-store.js +392 -0
  91. package/build/module_type_should_override_this/lib/data-store/data-store.js.map +1 -0
  92. package/build/module_type_should_override_this/lib/dice-group/dice-group-testp.d.ts +1 -0
  93. package/build/module_type_should_override_this/lib/dice-group/dice-group-testp.js +37 -0
  94. package/build/module_type_should_override_this/lib/dice-group/dice-group-testp.js.map +1 -0
  95. package/build/module_type_should_override_this/lib/dice-group/dice-group.d.ts +83 -0
  96. package/build/module_type_should_override_this/lib/dice-group/dice-group.js +247 -0
  97. package/build/module_type_should_override_this/lib/dice-group/dice-group.js.map +1 -0
  98. package/build/module_type_should_override_this/lib/error-handler/bugsplat-remote-reporter.d.ts +21 -0
  99. package/build/module_type_should_override_this/lib/error-handler/bugsplat-remote-reporter.js +54 -0
  100. package/build/module_type_should_override_this/lib/error-handler/bugsplat-remote-reporter.js.map +1 -0
  101. package/build/module_type_should_override_this/lib/error-handler/error-batcher.d.ts +11 -0
  102. package/build/module_type_should_override_this/lib/error-handler/error-batcher.js +50 -0
  103. package/build/module_type_should_override_this/lib/error-handler/error-batcher.js.map +1 -0
  104. package/build/module_type_should_override_this/lib/error-handler/error-handler.d.ts +43 -0
  105. package/build/module_type_should_override_this/lib/error-handler/error-handler.js +234 -0
  106. package/build/module_type_should_override_this/lib/error-handler/error-handler.js.map +1 -0
  107. package/build/module_type_should_override_this/lib/error-handler/error-handler.testp.d.ts +4 -0
  108. package/build/module_type_should_override_this/lib/error-handler/error-handler.testp.js +13 -0
  109. package/build/module_type_should_override_this/lib/error-handler/error-handler.testp.js.map +1 -0
  110. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.d.ts +30 -0
  111. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.js +99 -0
  112. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.js.map +1 -0
  113. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.testp.d.ts +1 -0
  114. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.testp.js +13 -0
  115. package/build/module_type_should_override_this/lib/event/on-card-became-singleton-or-deck.testp.js.map +1 -0
  116. package/build/module_type_should_override_this/lib/event/throttle-click-handler.d.ts +9 -0
  117. package/build/module_type_should_override_this/lib/event/throttle-click-handler.js +24 -0
  118. package/build/module_type_should_override_this/lib/event/throttle-click-handler.js.map +1 -0
  119. package/build/module_type_should_override_this/lib/event/triggerable-multicast-delegate.d.ts +30 -0
  120. package/build/module_type_should_override_this/lib/event/triggerable-multicast-delegate.js +53 -0
  121. package/build/module_type_should_override_this/lib/event/triggerable-multicast-delegate.js.map +1 -0
  122. package/build/module_type_should_override_this/lib/facing/facing.d.ts +4 -0
  123. package/build/module_type_should_override_this/lib/facing/facing.js +15 -0
  124. package/build/module_type_should_override_this/lib/facing/facing.js.map +1 -0
  125. package/build/module_type_should_override_this/lib/find/find.d.ts +19 -0
  126. package/build/module_type_should_override_this/lib/find/find.js +152 -0
  127. package/build/module_type_should_override_this/lib/find/find.js.map +1 -0
  128. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name-obj.d.ts +1 -0
  129. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name-obj.js +10 -0
  130. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name-obj.js.map +1 -0
  131. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name.d.ts +19 -0
  132. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name.js +101 -0
  133. package/build/module_type_should_override_this/lib/game-object/cardholder-player-name/cardholder-player-name.js.map +1 -0
  134. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container-obj.d.ts +1 -0
  135. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container-obj.js +5 -0
  136. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container-obj.js.map +1 -0
  137. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container.d.ts +24 -0
  138. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container.js +91 -0
  139. package/build/module_type_should_override_this/lib/game-object/deleted-items-container/deleted-items-container.js.map +1 -0
  140. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container-obj.d.ts +1 -0
  141. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container-obj.js +4 -0
  142. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container-obj.js.map +1 -0
  143. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container.d.ts +43 -0
  144. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container.js +116 -0
  145. package/build/module_type_should_override_this/lib/game-object/garbage/garbage-container.js.map +1 -0
  146. package/build/module_type_should_override_this/lib/game-object/garbage/simple-card-garbage-handler.d.ts +20 -0
  147. package/build/module_type_should_override_this/lib/game-object/garbage/simple-card-garbage-handler.js +100 -0
  148. package/build/module_type_should_override_this/lib/game-object/garbage/simple-card-garbage-handler.js.map +1 -0
  149. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-container-handler.d.ts +16 -0
  150. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-container-handler.js +44 -0
  151. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-container-handler.js.map +1 -0
  152. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-snap-point-handler.d.ts +19 -0
  153. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-snap-point-handler.js +50 -0
  154. package/build/module_type_should_override_this/lib/game-object/garbage/simple-to-snap-point-handler.js.map +1 -0
  155. package/build/module_type_should_override_this/lib/global/global-init.d.ts +10 -0
  156. package/build/module_type_should_override_this/lib/global/global-init.js +20 -0
  157. package/build/module_type_should_override_this/lib/global/global-init.js.map +1 -0
  158. package/build/module_type_should_override_this/lib/global/i-global.d.ts +3 -0
  159. package/build/module_type_should_override_this/lib/global/i-global.js +2 -0
  160. package/build/module_type_should_override_this/lib/global/i-global.js.map +1 -0
  161. package/build/module_type_should_override_this/lib/heap/heap.d.ts +8 -0
  162. package/build/module_type_should_override_this/lib/heap/heap.js +109 -0
  163. package/build/module_type_should_override_this/lib/heap/heap.js.map +1 -0
  164. package/build/module_type_should_override_this/lib/layout-objects/layout-objects.d.ts +49 -0
  165. package/build/module_type_should_override_this/lib/layout-objects/layout-objects.js +257 -0
  166. package/build/module_type_should_override_this/lib/layout-objects/layout-objects.js.map +1 -0
  167. package/build/module_type_should_override_this/lib/locale/locale.d.ts +8 -0
  168. package/build/module_type_should_override_this/lib/locale/locale.js +48 -0
  169. package/build/module_type_should_override_this/lib/locale/locale.js.map +1 -0
  170. package/build/module_type_should_override_this/lib/namespace-id/namespace-id.d.ts +1 -0
  171. package/build/module_type_should_override_this/lib/namespace-id/namespace-id.js +2 -0
  172. package/build/module_type_should_override_this/lib/namespace-id/namespace-id.js.map +1 -0
  173. package/build/module_type_should_override_this/lib/nsid/nsid.d.ts +54 -0
  174. package/build/module_type_should_override_this/lib/nsid/nsid.js +86 -0
  175. package/build/module_type_should_override_this/lib/nsid/nsid.js.map +1 -0
  176. package/build/module_type_should_override_this/lib/parse/parse-color.d.ts +7 -0
  177. package/build/module_type_should_override_this/lib/parse/parse-color.js +43 -0
  178. package/build/module_type_should_override_this/lib/parse/parse-color.js.map +1 -0
  179. package/build/module_type_should_override_this/lib/perf/perf.d.ts +29 -0
  180. package/build/module_type_should_override_this/lib/perf/perf.js +93 -0
  181. package/build/module_type_should_override_this/lib/perf/perf.js.map +1 -0
  182. package/build/module_type_should_override_this/lib/setup/abstract-setup.d.ts +18 -0
  183. package/build/module_type_should_override_this/lib/setup/abstract-setup.js +22 -0
  184. package/build/module_type_should_override_this/lib/setup/abstract-setup.js.map +1 -0
  185. package/build/module_type_should_override_this/lib/shuffle/shuffle.d.ts +7 -0
  186. package/build/module_type_should_override_this/lib/shuffle/shuffle.js +26 -0
  187. package/build/module_type_should_override_this/lib/shuffle/shuffle.js.map +1 -0
  188. package/build/module_type_should_override_this/lib/spawn/spawn.d.ts +21 -0
  189. package/build/module_type_should_override_this/lib/spawn/spawn.js +116 -0
  190. package/build/module_type_should_override_this/lib/spawn/spawn.js.map +1 -0
  191. package/build/module_type_should_override_this/lib/svg/svg-sparkline.d.ts +12 -0
  192. package/build/module_type_should_override_this/lib/svg/svg-sparkline.js +40 -0
  193. package/build/module_type_should_override_this/lib/svg/svg-sparkline.js.map +1 -0
  194. package/build/module_type_should_override_this/lib/turn-order/turn-order.d.ts +51 -0
  195. package/build/module_type_should_override_this/lib/turn-order/turn-order.js +200 -0
  196. package/build/module_type_should_override_this/lib/turn-order/turn-order.js.map +1 -0
  197. package/build/module_type_should_override_this/lib/ui/screen-test.d.ts +1 -0
  198. package/build/module_type_should_override_this/lib/ui/screen-test.js +20 -0
  199. package/build/module_type_should_override_this/lib/ui/screen-test.js.map +1 -0
  200. package/build/module_type_should_override_this/lib/ui-visibility/ui-visibility.d.ts +17 -0
  201. package/build/module_type_should_override_this/lib/ui-visibility/ui-visibility.js +65 -0
  202. package/build/module_type_should_override_this/lib/ui-visibility/ui-visibility.js.map +1 -0
  203. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter-locale.data.d.ts +3 -0
  204. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter-locale.data.js +4 -0
  205. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter-locale.data.js.map +1 -0
  206. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter.d.ts +5 -0
  207. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter.js +25 -0
  208. package/build/module_type_should_override_this/lib/whisper-reporter/whisper-reporter.js.map +1 -0
  209. package/build/module_type_should_override_this/lib/widget/confirm-button/confirm-button.d.ts +2 -0
  210. package/build/module_type_should_override_this/lib/widget/confirm-button/confirm-button.js +3 -0
  211. package/build/module_type_should_override_this/lib/widget/confirm-button/confirm-button.js.map +1 -0
  212. package/build/module_type_should_override_this/lib/widget/d6widget/d6widget.d.ts +48 -0
  213. package/build/module_type_should_override_this/lib/widget/d6widget/d6widget.js +84 -0
  214. package/build/module_type_should_override_this/lib/widget/d6widget/d6widget.js.map +1 -0
  215. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.d.ts +35 -0
  216. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.js +109 -0
  217. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.js.map +1 -0
  218. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.testp.d.ts +1 -0
  219. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.testp.js +10 -0
  220. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-button.testp.js.map +1 -0
  221. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-locale.data.d.ts +3 -0
  222. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-locale.data.js +4 -0
  223. package/build/module_type_should_override_this/lib/widget/end-turn-button/end-turn-locale.data.js.map +1 -0
  224. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.d.ts +28 -0
  225. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.js +99 -0
  226. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.js.map +1 -0
  227. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.testp.d.ts +1 -0
  228. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.testp.js +10 -0
  229. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-button.testp.js.map +1 -0
  230. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-locale.data.d.ts +3 -0
  231. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-locale.data.js +5 -0
  232. package/build/module_type_should_override_this/lib/widget/hot-seat-button/hot-seat-locale.data.js.map +1 -0
  233. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget-locale.data.d.ts +3 -0
  234. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget-locale.data.js +4 -0
  235. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget-locale.data.js.map +1 -0
  236. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.d.ts +19 -0
  237. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.js +74 -0
  238. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.js.map +1 -0
  239. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.testp.d.ts +1 -0
  240. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.testp.js +5 -0
  241. package/build/module_type_should_override_this/lib/widget/perf-widget/perf-widget.testp.js.map +1 -0
  242. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-clicked-widget.d.ts +22 -0
  243. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-clicked-widget.js +136 -0
  244. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-clicked-widget.js.map +1 -0
  245. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-wart.d.ts +16 -0
  246. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-wart.js +7 -0
  247. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-wart.js.map +1 -0
  248. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-widget.d.ts +29 -0
  249. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-widget.js +131 -0
  250. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-entry-widget.js.map +1 -0
  251. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-locale.data.d.ts +3 -0
  252. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-locale.data.js +13 -0
  253. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-locale.data.js.map +1 -0
  254. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget-params.d.ts +33 -0
  255. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget-params.js +6 -0
  256. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget-params.js.map +1 -0
  257. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.d.ts +25 -0
  258. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.js +99 -0
  259. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.js.map +1 -0
  260. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.testp.d.ts +1 -0
  261. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.testp.js +58 -0
  262. package/build/module_type_should_override_this/lib/widget/turn-order-widget/turn-order-widget.testp.js.map +1 -0
  263. package/build/module_type_should_override_this/lib-ext/image-table.d.ts +1 -0
  264. package/build/module_type_should_override_this/lib-ext/image-table.js +9 -0
  265. package/build/module_type_should_override_this/lib-ext/image-table.js.map +1 -0
  266. package/build/module_type_should_override_this/locale.data.d.ts +4 -0
  267. package/build/module_type_should_override_this/locale.data.js +5 -0
  268. package/build/module_type_should_override_this/locale.data.js.map +1 -0
  269. package/package.json +1 -1
  270. package/build/cjs/test.js +0 -12
  271. package/build/cjs/test.js.map +0 -1
  272. /package/build/cjs/{test.d.ts → lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.d.ts} +0 -0
@@ -3,11 +3,11 @@
3
3
  *
4
4
  * 1. A singleton card gets added to a deck/second card.
5
5
  *
6
- * 2. A singleton card gets fromved from a deck.
6
+ * 2. A singleton card gets removed from a deck.
7
7
  *
8
8
  * 3. A deck has its second-last card removed, making that deck a singleton.
9
9
  *
10
- * Scripts may wish to offer content menu items for singleton cards, but
10
+ * Scripts may wish to offer context menu items for singleton cards, but
11
11
  * not when they become a deck (or vice versa).
12
12
  *
13
13
  * If one adds a listener during global init, it will be called next frame with
@@ -4,11 +4,11 @@
4
4
  *
5
5
  * 1. A singleton card gets added to a deck/second card.
6
6
  *
7
- * 2. A singleton card gets fromved from a deck.
7
+ * 2. A singleton card gets removed from a deck.
8
8
  *
9
9
  * 3. A deck has its second-last card removed, making that deck a singleton.
10
10
  *
11
- * Scripts may wish to offer content menu items for singleton cards, but
11
+ * Scripts may wish to offer context menu items for singleton cards, but
12
12
  * not when they become a deck (or vice versa).
13
13
  *
14
14
  * If one adds a listener during global init, it will be called next frame with
@@ -1,6 +1,6 @@
1
1
  import { Player } from "@tabletop-playground/api";
2
2
  export declare class ThrottleClickHandler<T> {
3
- static readonly THROTTLE_MSECS = 200;
3
+ static readonly THROTTLE_MSECS = 500;
4
4
  private readonly _playerSlotToLastClickMsecs;
5
5
  private readonly _clickHandler;
6
6
  private readonly _throttledHandler;
@@ -24,5 +24,5 @@ class ThrottleClickHandler {
24
24
  }
25
25
  }
26
26
  exports.ThrottleClickHandler = ThrottleClickHandler;
27
- ThrottleClickHandler.THROTTLE_MSECS = 200;
27
+ ThrottleClickHandler.THROTTLE_MSECS = 500;
28
28
  //# sourceMappingURL=throttle-click-handler.js.map
@@ -77,7 +77,7 @@ class CardHolderPlayerName {
77
77
  this._takeSeatButton.setFontSize(fontSize);
78
78
  // UI position.
79
79
  const x = (this._cardHolder.getPosition().x >= 0 ? 1 : -1) * 15;
80
- const z = fontSize / 5;
80
+ const z = Math.ceil(fontSize * 0.15);
81
81
  this._ui.position = new api_1.Vector(x, 0, z);
82
82
  this._cardHolder.updateUI(this._ui);
83
83
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"cardholder-player-name.js","sourceRoot":"","sources":["../../../../../src/lib/game-object/cardholder-player-name/cardholder-player-name.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cardholder-player-name.js","sourceRoot":"","sources":["../../../../../src/lib/game-object/cardholder-player-name/cardholder-player-name.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const api_1 = require("@tabletop-playground/api");
4
+ const dice_snap_rotation_1 = require("./dice-snap-rotation");
5
+ new dice_snap_rotation_1.DiceSnapRotation(api_1.refDice);
6
+ //# sourceMappingURL=dice-snap-rotation-obj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dice-snap-rotation-obj.js","sourceRoot":"","sources":["../../../../../src/lib/game-object/dice-snap-rotation/dice-snap-rotation-obj.ts"],"names":[],"mappings":";;AAAA,kDAAmD;AACnD,6DAAwD;AAExD,IAAI,qCAAgB,CAAC,aAAO,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Dice } from "@tabletop-playground/api";
2
+ /**
3
+ * Preserve current face while applying snap point rotation.
4
+ */
5
+ export declare class DiceSnapRotation {
6
+ constructor(dice: Dice);
7
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DiceSnapRotation = void 0;
4
+ const api_1 = require("@tabletop-playground/api");
5
+ const snappedHandler = (dice, player, snapPoint, grabPosition, grabRotation) => {
6
+ // Snap point flipped to first face, get yaw.
7
+ const yaw = dice.getRotation().yaw;
8
+ // Read face value from what it was when grabbed.
9
+ dice.setRotation(grabRotation);
10
+ const faceIndex = dice.getCurrentFaceIndex();
11
+ // Set face (resets rotation to native), rotate yaw in that face axis.
12
+ dice.setCurrentFace(faceIndex);
13
+ dice.setRotation(dice.getRotation().compose([0, yaw, 0]));
14
+ };
15
+ /**
16
+ * Preserve current face while applying snap point rotation.
17
+ */
18
+ class DiceSnapRotation {
19
+ constructor(dice) {
20
+ if (!dice || !(dice instanceof api_1.Dice)) {
21
+ throw new Error("not Dice");
22
+ }
23
+ dice.onSnapped.add(snappedHandler);
24
+ }
25
+ }
26
+ exports.DiceSnapRotation = DiceSnapRotation;
27
+ //# sourceMappingURL=dice-snap-rotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dice-snap-rotation.js","sourceRoot":"","sources":["../../../../../src/lib/game-object/dice-snap-rotation/dice-snap-rotation.ts"],"names":[],"mappings":";;;AAAA,kDAMkC;AAElC,MAAM,cAAc,GAAG,CACnB,IAAU,EACV,MAAc,EACd,SAAoB,EACpB,YAAwD,EACxD,YAAkE,EAC9D,EAAE;IACN,6CAA6C;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC;IAEnC,iDAAiD;IACjD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAE7C,sEAAsE;IACtE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF;;GAEG;AACH,MAAa,gBAAgB;IACzB,YAAY,IAAU;QAClB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,UAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;CACJ;AAPD,4CAOC"}
@@ -70,13 +70,13 @@ class NSID {
70
70
  static parse(nsid) {
71
71
  var _a, _b, _c, _d;
72
72
  const m = nsid.match(/^([^:]+):([^/]+)\/([^|]+)\|?(.*)$/);
73
+ const type = (_a = m === null || m === void 0 ? void 0 : m[1]) !== null && _a !== void 0 ? _a : "";
74
+ const source = (_b = m === null || m === void 0 ? void 0 : m[2]) !== null && _b !== void 0 ? _b : "";
75
+ const name = (_c = m === null || m === void 0 ? void 0 : m[3]) !== null && _c !== void 0 ? _c : "";
76
+ const extra = (_d = m === null || m === void 0 ? void 0 : m[4]) !== null && _d !== void 0 ? _d : "";
73
77
  if (!m) {
74
78
  return undefined;
75
79
  }
76
- const type = (_a = m[1]) !== null && _a !== void 0 ? _a : "";
77
- const source = (_b = m[2]) !== null && _b !== void 0 ? _b : "";
78
- const name = (_c = m[3]) !== null && _c !== void 0 ? _c : "";
79
- const extra = (_d = m[4]) !== null && _d !== void 0 ? _d : "";
80
80
  return {
81
81
  nsid: nsid,
82
82
  typeParts: type.split("."),
@@ -1 +1 @@
1
- {"version":3,"file":"nsid.js","sourceRoot":"","sources":["../../../../src/lib/nsid/nsid.ts"],"names":[],"mappings":";;;AAAA,kDAA2E;AAU9D,QAAA,SAAS,GAAG,UAAU,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAsB,IAAI;IACtB;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,KAAmB;QAC1B,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,YAAY,UAAI,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC7B,yCAAyC;gBACzC,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACJ,6CAA6C;gBAC7C,QAAQ,GAAG,iBAAS,CAAC;YACzB,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,YAAY,kBAAY,EAAE,CAAC;YACvC,yDAAyD;YACzD,QAAQ,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,KAAW;QACtB,OAAO,KAAK,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,WAAwB,EAAE,EAAE;YAC9D,OAAO,WAAW,CAAC,QAAQ,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAAY;;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAW,MAAA,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;QAChC,MAAM,MAAM,GAAW,MAAA,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;QAClC,MAAM,IAAI,GAAW,MAAA,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;QAChC,MAAM,KAAK,GAAW,MAAA,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;QACjC,OAAO;YACH,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1B,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YAC9B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAC7C,CAAC;IACN,CAAC;CACJ;AA3DD,oBA2DC"}
1
+ {"version":3,"file":"nsid.js","sourceRoot":"","sources":["../../../../src/lib/nsid/nsid.ts"],"names":[],"mappings":";;;AAAA,kDAA2E;AAU9D,QAAA,SAAS,GAAG,UAAU,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAsB,IAAI;IACtB;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,KAAmB;QAC1B,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,YAAY,UAAI,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC7B,yCAAyC;gBACzC,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACJ,6CAA6C;gBAC7C,QAAQ,GAAG,iBAAS,CAAC;YACzB,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,YAAY,kBAAY,EAAE,CAAC;YACvC,yDAAyD;YACzD,QAAQ,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,KAAW;QACtB,OAAO,KAAK,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,WAAwB,EAAE,EAAE;YAC9D,OAAO,WAAW,CAAC,QAAQ,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAAY;;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAW,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;QAClC,MAAM,MAAM,GAAW,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;QACpC,MAAM,IAAI,GAAW,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;QAClC,MAAM,KAAK,GAAW,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO;YACH,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1B,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YAC9B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAC7C,CAAC;IACN,CAAC;CACJ;AA3DD,oBA2DC"}
@@ -8,14 +8,12 @@ class ParseColor {
8
8
  this._hexColorRegex = new RegExp(exports.HEX_COLOR_REGEX);
9
9
  }
10
10
  parseColor(hexColor) {
11
+ var _a;
11
12
  const m = hexColor.match(this._hexColorRegex);
13
+ const hexStr = (_a = m === null || m === void 0 ? void 0 : m[1]) !== null && _a !== void 0 ? _a : "";
12
14
  if (!m) {
13
15
  return undefined;
14
16
  }
15
- const hexStr = m[1];
16
- if (hexStr === undefined) {
17
- return undefined;
18
- }
19
17
  if (hexStr.length !== 3 && hexStr.length !== 6 && hexStr.length !== 8) {
20
18
  return undefined;
21
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse-color.js","sourceRoot":"","sources":["../../../../../src/lib/parse/parse-color/parse-color.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AAEpC,QAAA,eAAe,GAAG,2CAA2C,CAAC;AAE3E,MAAa,UAAU;IAAvB;QACqB,mBAAc,GAAW,IAAI,MAAM,CAAC,uBAAe,CAAC,CAAC;IAyC1E,CAAC;IAvCG,UAAU,CAAC,QAAgB;QACvB,MAAM,CAAC,GAA4B,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvE,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;YACrD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;YACrD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;YACtD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;YACtD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QAC1D,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,iBAAiB,CAAC,QAAgB;QAC9B,MAAM,KAAK,GAAsB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA1CD,gCA0CC"}
1
+ {"version":3,"file":"parse-color.js","sourceRoot":"","sources":["../../../../../src/lib/parse/parse-color/parse-color.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AAEpC,QAAA,eAAe,GAAG,2CAA2C,CAAC;AAE3E,MAAa,UAAU;IAAvB;QACqB,mBAAc,GAAW,IAAI,MAAM,CAAC,uBAAe,CAAC,CAAC;IAsC1E,CAAC;IApCG,UAAU,CAAC,QAAgB;;QACvB,MAAM,CAAC,GAA4B,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,MAAM,GAAW,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;YACrD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;YACrD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;YACtD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;YACtD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QAC1D,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,iBAAiB,CAAC,QAAgB;QAC9B,MAAM,KAAK,GAAsB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAvCD,gCAuCC"}
@@ -0,0 +1,57 @@
1
+ import { Vector } from "@tabletop-playground/api";
2
+ export type PolygonBoundingBox = {
3
+ left: number;
4
+ top: number;
5
+ right: number;
6
+ bottom: number;
7
+ };
8
+ export type PolygonLineSegment = {
9
+ a: Vector;
10
+ b: Vector;
11
+ };
12
+ /**
13
+ * Manage a polygon in the XY plane.
14
+ */
15
+ export declare class Polygon {
16
+ private readonly _polygon;
17
+ private _boundingBox;
18
+ /**
19
+ * Join two-point segments sharing the tail of one with the head of another.
20
+ * Useful for "faction borders" connecting a set of line segments.
21
+ *
22
+ * @param segments
23
+ * @returns
24
+ */
25
+ static conjoin(segments: Array<PolygonLineSegment>): Array<Polygon>;
26
+ constructor(points: Array<Vector>);
27
+ /**
28
+ * Briefly draw the polygon assuming world space coordinates.
29
+ */
30
+ drawDebug(): void;
31
+ /**
32
+ * Get polygon vertices.
33
+ *
34
+ * @returns {Array.<Vector>} List of vertices.
35
+ */
36
+ getPoints(): Array<Vector>;
37
+ /**
38
+ * Get polygon bounding box.
39
+ *
40
+ * @returns {Object} Dictionary from { left, top, right, bottom } to numbers.
41
+ */
42
+ getBoundingBox(): PolygonBoundingBox;
43
+ /**
44
+ * Is the point within the polygon's XY frame?
45
+ *
46
+ * @param {Vector} point
47
+ * @returns {boolean} True if point inside polygon
48
+ */
49
+ contains(point: Vector): boolean;
50
+ /**
51
+ * Create a new polygon with an inset version of this one.
52
+ *
53
+ * @param {number} amount
54
+ * @returns {Polygon} Inset polygon
55
+ */
56
+ inset(amount: number): Polygon;
57
+ }
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Polygon = void 0;
4
+ const api_1 = require("@tabletop-playground/api");
5
+ /**
6
+ * Manage a polygon in the XY plane.
7
+ */
8
+ class Polygon {
9
+ /**
10
+ * Join two-point segments sharing the tail of one with the head of another.
11
+ * Useful for "faction borders" connecting a set of line segments.
12
+ *
13
+ * @param segments
14
+ * @returns
15
+ */
16
+ static conjoin(segments) {
17
+ const result = [];
18
+ let watchdog = 0;
19
+ let grow = [];
20
+ let found = false;
21
+ while (segments.length > 0) {
22
+ watchdog += 1;
23
+ if (watchdog > 10000) {
24
+ throw new Error("stuck?");
25
+ }
26
+ // If the last loop failed, start a new segment.
27
+ if (!found) {
28
+ const next = segments.shift();
29
+ if (!next) {
30
+ throw new Error("no head (cannot happen)");
31
+ }
32
+ grow = [next.a, next.b];
33
+ result.push(grow);
34
+ }
35
+ if (!grow) {
36
+ throw new Error("no grow (cannot happen)");
37
+ }
38
+ found = false;
39
+ const growHead = grow[0];
40
+ const growTail = grow[grow.length - 1];
41
+ if (!growHead || !growTail) {
42
+ throw new Error("no grow head or tail (cannot happen)");
43
+ }
44
+ // Keep growing.
45
+ for (let i = 0; i < segments.length; i++) {
46
+ const segment = segments[i];
47
+ if (!segment) {
48
+ throw new Error("no segment (cannot happen)");
49
+ }
50
+ const { a, b } = segment;
51
+ let d = growHead.subtract(b).magnitudeSquared();
52
+ if (d < 0.1) {
53
+ // Prepend
54
+ grow.unshift(a);
55
+ found = true;
56
+ segments.splice(i, 1);
57
+ break;
58
+ }
59
+ d = growHead.subtract(a).magnitudeSquared();
60
+ if (d < 0.1) {
61
+ // Prepend
62
+ grow.unshift(b);
63
+ found = true;
64
+ segments.splice(i, 1);
65
+ break;
66
+ }
67
+ d = growTail.subtract(a).magnitudeSquared();
68
+ if (d < 0.1) {
69
+ // Append
70
+ grow.push(b);
71
+ found = true;
72
+ segments.splice(i, 1);
73
+ break;
74
+ }
75
+ d = growTail.subtract(b).magnitudeSquared();
76
+ if (d < 0.1) {
77
+ // Append
78
+ grow.push(a);
79
+ found = true;
80
+ segments.splice(i, 1);
81
+ break;
82
+ }
83
+ }
84
+ }
85
+ return result.map((points) => new Polygon(points));
86
+ }
87
+ constructor(points) {
88
+ this._polygon = points;
89
+ }
90
+ /**
91
+ * Briefly draw the polygon assuming world space coordinates.
92
+ */
93
+ drawDebug() {
94
+ var _a, _b;
95
+ const p = this._polygon;
96
+ const color = new api_1.Color(1, 0, 0);
97
+ const duration = 10;
98
+ const thickness = 0.1;
99
+ for (let i = 0; i < p.length; i++) {
100
+ api_1.world.drawDebugLine((_a = p[i]) !== null && _a !== void 0 ? _a : new api_1.Vector(0, 0, 0), (_b = p[(i + 1) % p.length]) !== null && _b !== void 0 ? _b : new api_1.Vector(0, 0, 0), color, duration, thickness);
101
+ }
102
+ }
103
+ /**
104
+ * Get polygon vertices.
105
+ *
106
+ * @returns {Array.<Vector>} List of vertices.
107
+ */
108
+ getPoints() {
109
+ return this._polygon.map((p) => p.clone());
110
+ }
111
+ /**
112
+ * Get polygon bounding box.
113
+ *
114
+ * @returns {Object} Dictionary from { left, top, right, bottom } to numbers.
115
+ */
116
+ getBoundingBox() {
117
+ if (!this._boundingBox) {
118
+ this._boundingBox = {
119
+ left: Number.MAX_VALUE,
120
+ top: Number.MAX_VALUE,
121
+ right: Number.MIN_VALUE,
122
+ bottom: Number.MIN_VALUE,
123
+ };
124
+ for (const point of this._polygon) {
125
+ this._boundingBox.left = Math.min(point.x, this._boundingBox.left);
126
+ this._boundingBox.top = Math.min(point.y, this._boundingBox.top);
127
+ this._boundingBox.right = Math.max(point.x, this._boundingBox.right);
128
+ this._boundingBox.bottom = Math.max(point.y, this._boundingBox.bottom);
129
+ }
130
+ }
131
+ return this._boundingBox;
132
+ }
133
+ /**
134
+ * Is the point within the polygon's XY frame?
135
+ *
136
+ * @param {Vector} point
137
+ * @returns {boolean} True if point inside polygon
138
+ */
139
+ contains(point) {
140
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
141
+ const bb = this.getBoundingBox();
142
+ // Fast-reject based on bounding box.
143
+ if (point.x < bb.left ||
144
+ point.y < bb.top ||
145
+ point.x > bb.right ||
146
+ point.y > bb.bottom) {
147
+ return false;
148
+ }
149
+ // Ray-casting method. A point is in a polygon if a line from the
150
+ // point to infinity crosses the polygon an odd number of times.
151
+ // @see https://www.algorithms-and-technologies.com/point_in_polygon/javascript
152
+ let odd = false;
153
+ // For each edge (In this case for each point of the polygon and the previous one)
154
+ for (let i = 0, j = this._polygon.length - 1; i < this._polygon.length; i++) {
155
+ // If a line from the point into infinity crosses this edge (one point above, one below)
156
+ if (((_b = (_a = this._polygon[i]) === null || _a === void 0 ? void 0 : _a.y) !== null && _b !== void 0 ? _b : 0) > point.y !==
157
+ ((_d = (_c = this._polygon[j]) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 0) > point.y &&
158
+ // ...and the edge does not cross our Y corrdinate before our x coordinate (but between our x coordinate and infinity)
159
+ point.x <
160
+ ((((_f = (_e = this._polygon[j]) === null || _e === void 0 ? void 0 : _e.x) !== null && _f !== void 0 ? _f : 0) - ((_h = (_g = this._polygon[i]) === null || _g === void 0 ? void 0 : _g.x) !== null && _h !== void 0 ? _h : 0)) *
161
+ (point.y - ((_k = (_j = this._polygon[i]) === null || _j === void 0 ? void 0 : _j.y) !== null && _k !== void 0 ? _k : 0))) /
162
+ (((_m = (_l = this._polygon[j]) === null || _l === void 0 ? void 0 : _l.y) !== null && _m !== void 0 ? _m : 0) -
163
+ ((_p = (_o = this._polygon[i]) === null || _o === void 0 ? void 0 : _o.y) !== null && _p !== void 0 ? _p : 0)) +
164
+ ((_r = (_q = this._polygon[i]) === null || _q === void 0 ? void 0 : _q.x) !== null && _r !== void 0 ? _r : 0)) {
165
+ // Invert odd
166
+ odd = !odd;
167
+ }
168
+ j = i;
169
+ }
170
+ // If the number of crossings was odd, the point is in the polygon
171
+ return odd;
172
+ }
173
+ /**
174
+ * Create a new polygon with an inset version of this one.
175
+ *
176
+ * @param {number} amount
177
+ * @returns {Polygon} Inset polygon
178
+ */
179
+ inset(amount) {
180
+ var _a, _b;
181
+ // Math requires prev/next be different from each point.
182
+ // If the polygon is closed, temporarily remove the last point,
183
+ // and add it back at the end (both in the inset and original polygons).
184
+ const head = this._polygon[0];
185
+ const tail = this._polygon[this._polygon.length - 1];
186
+ const closed = head && tail && head.subtract(tail).magnitudeSquared() < 0.01
187
+ ? true
188
+ : false;
189
+ if (closed) {
190
+ this._polygon.pop();
191
+ }
192
+ const lineIntersection = function (a, b, c, d) {
193
+ // Translate so A is at the origin.
194
+ //A = { x : 0, y : 0 }
195
+ const B = b.subtract(a);
196
+ let C = c.subtract(a);
197
+ let D = d.subtract(a);
198
+ const distAB = Math.hypot(B.x, B.y);
199
+ // Rotate so B is on the positive X axis.
200
+ const cos = B.x / distAB;
201
+ const sin = B.y / distAB;
202
+ //B = { x : distAB, y : 0 }
203
+ C = new api_1.Vector(C.x * cos + C.y * sin, C.y * cos - C.x * sin, c.z);
204
+ D = new api_1.Vector(D.x * cos + D.y * sin, D.y * cos - D.x * sin, d.z);
205
+ // Get intersection on the AB x axis line.
206
+ const ABx = D.x + ((C.x - D.x) * D.y) / (D.y - C.y);
207
+ // Reverse rotation, translation.
208
+ return new api_1.Vector(a.x + ABx * cos, a.y + ABx * sin, a.z);
209
+ };
210
+ const insetCorner = function (prev, cur, next) {
211
+ var _a, _b;
212
+ // Get line segments (preserve winding direction) and distances.
213
+ const d1 = cur.subtract(prev);
214
+ const dist1 = Math.hypot(d1.x, d1.y);
215
+ const d2 = next.subtract(cur);
216
+ const dist2 = Math.hypot(d2.x, d2.y);
217
+ if (dist1 <= 0 || dist2 <= 0) {
218
+ return cur; // require non-zero edges
219
+ }
220
+ // Inset line segments prev->cur and cur->next.
221
+ const inset1 = new api_1.Vector((d1.y * amount) / dist1, (-d1.x * amount) / dist1, cur.z);
222
+ const prev1 = new api_1.Vector(((_a = prev === null || prev === void 0 ? void 0 : prev.x) !== null && _a !== void 0 ? _a : 0) + inset1.x, ((_b = prev === null || prev === void 0 ? void 0 : prev.y) !== null && _b !== void 0 ? _b : 0) + inset1.y, cur.z);
223
+ const prev2 = new api_1.Vector(cur.x + inset1.x, cur.y + inset1.y, cur.z);
224
+ const inset2 = new api_1.Vector((d2.y * amount) / dist2, (-d2.x * amount) / dist2, cur.z);
225
+ const next1 = new api_1.Vector(cur.x + inset2.x, cur.y + inset2.y, cur.z);
226
+ const next2 = new api_1.Vector(next.x + inset2.x, next.y + inset2.y, cur.z);
227
+ // If both inset line segments share an endpoint, lines are colinear.
228
+ if (prev2.x == next1.x && prev2.y == next1.y) {
229
+ return next1;
230
+ }
231
+ // Otherwise get intersection point.
232
+ return lineIntersection(prev1, prev2, next1, next2);
233
+ };
234
+ // Copy the first Z everywhere.
235
+ const z = (_b = (_a = this._polygon[0]) === null || _a === void 0 ? void 0 : _a.z) !== null && _b !== void 0 ? _b : 0;
236
+ const insetPoints = [];
237
+ const numVertices = this._polygon.length;
238
+ for (let i = 0; i < numVertices; i++) {
239
+ const prevPt = this._polygon[(i + numVertices - 1) % numVertices];
240
+ const curPt = this._polygon[i];
241
+ const nextPt = this._polygon[(i + 1) % numVertices];
242
+ if (prevPt && curPt && nextPt) {
243
+ const xy = insetCorner(prevPt, curPt, nextPt);
244
+ insetPoints.push(new api_1.Vector(xy.x, xy.y, z));
245
+ }
246
+ }
247
+ const insetHead = insetPoints[0];
248
+ if (closed && head && insetHead) {
249
+ this._polygon.push(head.clone());
250
+ insetPoints.push(insetHead.clone());
251
+ }
252
+ return new Polygon(insetPoints);
253
+ }
254
+ }
255
+ exports.Polygon = Polygon;
256
+ //# sourceMappingURL=polygon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polygon.js","sourceRoot":"","sources":["../../../../src/lib/polygon/polygon.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,9 @@ import { TriggerableMulticastDelegate } from "../../event/triggerable-multicast-
8
8
  export declare class PlayerWindow {
9
9
  private static readonly WORLD_SCALE_DELTA;
10
10
  private static readonly TITLE_HEIGHT;
11
+ private static readonly TITLE_FONT_SIZE;
11
12
  private static readonly WORLD_SCALE;
13
+ private static readonly PLAYER_SLOT_TO_SCALE_KEY;
12
14
  private readonly _params;
13
15
  private readonly _playerSlot;
14
16
  private _scale;
@@ -17,6 +19,8 @@ export declare class PlayerWindow {
17
19
  private _screenUi;
18
20
  private _worldUi;
19
21
  readonly onStateChanged: TriggerableMulticastDelegate<() => void>;
22
+ static _saveScale(playerSlot: number, scale: number): void;
23
+ static _loadScale(playerSlot: number): number;
20
24
  private readonly _onClickClose;
21
25
  private readonly _onClickCollapse;
22
26
  private readonly _onClickExpand;
@@ -25,8 +29,8 @@ export declare class PlayerWindow {
25
29
  private readonly _onClickToScreen;
26
30
  private readonly _onClickToWorld;
27
31
  constructor(params: WindowParams, playerSlot: number);
28
- getState(): string;
29
- applyState(state: string): void;
32
+ _getState(): string | undefined;
33
+ _applyState(state: string): void;
30
34
  getPlayerSlot(): number;
31
35
  private _getLayoutSizes;
32
36
  _createWidget(): Widget;