@pretty-chitty/core 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (779) hide show
  1. package/LICENSE.md +51 -0
  2. package/README.md +152 -0
  3. package/dist/0e0a96423fd742218c61.woff2 +0 -0
  4. package/dist/1e28c9f184923aacc181.woff +0 -0
  5. package/dist/37f3b2ddcbe588b2aaa5.jpg +0 -0
  6. package/dist/3f0fb9058a03e14ad2fa.jpg +0 -0
  7. package/dist/4482e08504d544757971.woff2 +0 -0
  8. package/dist/5212361bfd059a27e2da.woff2 +0 -0
  9. package/dist/699b459f21e39ca4b8df.woff2 +0 -0
  10. package/dist/7e339dfbea59fe54f2e3.png +0 -0
  11. package/dist/a3e6d4ebd8f859f0f1dc.woff +0 -0
  12. package/dist/b8b0d3bc0d26444e4a5a.woff2 +0 -0
  13. package/dist/bce9a6fcc5b3da9a086a.woff +0 -0
  14. package/dist/components/ActionLogDisplay.d.ts +4 -0
  15. package/dist/components/ActionLogDisplay.d.ts.map +1 -0
  16. package/dist/components/ActionLogDisplay.js +144 -0
  17. package/dist/components/ActionLogDisplay.js.map +1 -0
  18. package/dist/components/ActionLogHistory.d.ts +6 -0
  19. package/dist/components/ActionLogHistory.d.ts.map +1 -0
  20. package/dist/components/ActionLogHistory.js +81 -0
  21. package/dist/components/ActionLogHistory.js.map +1 -0
  22. package/dist/components/ActionLogHistoryDisplay.d.ts +2 -0
  23. package/dist/components/ActionLogHistoryDisplay.d.ts.map +1 -0
  24. package/dist/components/ActionLogHistoryDisplay.js +17 -0
  25. package/dist/components/ActionLogHistoryDisplay.js.map +1 -0
  26. package/dist/components/ActionLogSidebar.d.ts +2 -0
  27. package/dist/components/ActionLogSidebar.d.ts.map +1 -0
  28. package/dist/components/ActionLogSidebar.js +9 -0
  29. package/dist/components/ActionLogSidebar.js.map +1 -0
  30. package/dist/components/BottomBar.d.ts +2 -0
  31. package/dist/components/BottomBar.d.ts.map +1 -0
  32. package/dist/components/BottomBar.js +33 -0
  33. package/dist/components/BottomBar.js.map +1 -0
  34. package/dist/components/BottomBarBreak.d.ts +2 -0
  35. package/dist/components/BottomBarBreak.d.ts.map +1 -0
  36. package/dist/components/BottomBarBreak.js +8 -0
  37. package/dist/components/BottomBarBreak.js.map +1 -0
  38. package/dist/components/BottomBarButton.d.ts +16 -0
  39. package/dist/components/BottomBarButton.d.ts.map +1 -0
  40. package/dist/components/BottomBarButton.js +123 -0
  41. package/dist/components/BottomBarButton.js.map +1 -0
  42. package/dist/components/CanvasLibraryViewer.d.ts +8 -0
  43. package/dist/components/CanvasLibraryViewer.d.ts.map +1 -0
  44. package/dist/components/CanvasLibraryViewer.js +29 -0
  45. package/dist/components/CanvasLibraryViewer.js.map +1 -0
  46. package/dist/components/ChitLibraryViewer.d.ts +8 -0
  47. package/dist/components/ChitLibraryViewer.d.ts.map +1 -0
  48. package/dist/components/ChitLibraryViewer.js +101 -0
  49. package/dist/components/ChitLibraryViewer.js.map +1 -0
  50. package/dist/components/ClientTrustMatchViewer.d.ts +11 -0
  51. package/dist/components/ClientTrustMatchViewer.d.ts.map +1 -0
  52. package/dist/components/ClientTrustMatchViewer.js +53 -0
  53. package/dist/components/ClientTrustMatchViewer.js.map +1 -0
  54. package/dist/components/ContextGalleryDisplay.d.ts +4 -0
  55. package/dist/components/ContextGalleryDisplay.d.ts.map +1 -0
  56. package/dist/components/ContextGalleryDisplay.js +49 -0
  57. package/dist/components/ContextGalleryDisplay.js.map +1 -0
  58. package/dist/components/GalleryDisplay.d.ts +2 -0
  59. package/dist/components/GalleryDisplay.d.ts.map +1 -0
  60. package/dist/components/GalleryDisplay.js +42 -0
  61. package/dist/components/GalleryDisplay.js.map +1 -0
  62. package/dist/components/GalleryPlayground.d.ts +14 -0
  63. package/dist/components/GalleryPlayground.d.ts.map +1 -0
  64. package/dist/components/GalleryPlayground.js +36 -0
  65. package/dist/components/GalleryPlayground.js.map +1 -0
  66. package/dist/components/GalleryViewer.d.ts +48 -0
  67. package/dist/components/GalleryViewer.d.ts.map +1 -0
  68. package/dist/components/GalleryViewer.js +567 -0
  69. package/dist/components/GalleryViewer.js.map +1 -0
  70. package/dist/components/GameDesigner.d.ts +5 -0
  71. package/dist/components/GameDesigner.d.ts.map +1 -0
  72. package/dist/components/GameDesigner.js +14 -0
  73. package/dist/components/GameDesigner.js.map +1 -0
  74. package/dist/components/GameDialog.d.ts +7 -0
  75. package/dist/components/GameDialog.d.ts.map +1 -0
  76. package/dist/components/GameDialog.js +24 -0
  77. package/dist/components/GameDialog.js.map +1 -0
  78. package/dist/components/GameModalBackdrop.d.ts +10 -0
  79. package/dist/components/GameModalBackdrop.d.ts.map +1 -0
  80. package/dist/components/GameModalBackdrop.js +33 -0
  81. package/dist/components/GameModalBackdrop.js.map +1 -0
  82. package/dist/components/GameModalDialog.d.ts +11 -0
  83. package/dist/components/GameModalDialog.d.ts.map +1 -0
  84. package/dist/components/GameModalDialog.js +42 -0
  85. package/dist/components/GameModalDialog.js.map +1 -0
  86. package/dist/components/LiveButton.d.ts +4 -0
  87. package/dist/components/LiveButton.d.ts.map +1 -0
  88. package/dist/components/LiveButton.js +17 -0
  89. package/dist/components/LiveButton.js.map +1 -0
  90. package/dist/components/MatchEndDisplay.d.ts +2 -0
  91. package/dist/components/MatchEndDisplay.d.ts.map +1 -0
  92. package/dist/components/MatchEndDisplay.js +67 -0
  93. package/dist/components/MatchEndDisplay.js.map +1 -0
  94. package/dist/components/MatchViewer.d.ts +5 -0
  95. package/dist/components/MatchViewer.d.ts.map +1 -0
  96. package/dist/components/MatchViewer.js +59 -0
  97. package/dist/components/MatchViewer.js.map +1 -0
  98. package/dist/components/ObjectWithPropsEditor.d.ts +5 -0
  99. package/dist/components/ObjectWithPropsEditor.d.ts.map +1 -0
  100. package/dist/components/ObjectWithPropsEditor.js +88 -0
  101. package/dist/components/ObjectWithPropsEditor.js.map +1 -0
  102. package/dist/components/Panel/MultiPanel.d.ts +13 -0
  103. package/dist/components/Panel/MultiPanel.d.ts.map +1 -0
  104. package/dist/components/Panel/MultiPanel.js +196 -0
  105. package/dist/components/Panel/MultiPanel.js.map +1 -0
  106. package/dist/components/Panel/PanelContents.d.ts +27 -0
  107. package/dist/components/Panel/PanelContents.d.ts.map +1 -0
  108. package/dist/components/Panel/PanelContents.js +202 -0
  109. package/dist/components/Panel/PanelContents.js.map +1 -0
  110. package/dist/components/Panel/PanelTabStack.d.ts +9 -0
  111. package/dist/components/Panel/PanelTabStack.d.ts.map +1 -0
  112. package/dist/components/Panel/PanelTabStack.js +56 -0
  113. package/dist/components/Panel/PanelTabStack.js.map +1 -0
  114. package/dist/components/Panel/SinglePanel.d.ts +13 -0
  115. package/dist/components/Panel/SinglePanel.d.ts.map +1 -0
  116. package/dist/components/Panel/SinglePanel.js +44 -0
  117. package/dist/components/Panel/SinglePanel.js.map +1 -0
  118. package/dist/components/Panel/ViewerWrapper.d.ts +17 -0
  119. package/dist/components/Panel/ViewerWrapper.d.ts.map +1 -0
  120. package/dist/components/Panel/ViewerWrapper.js +70 -0
  121. package/dist/components/Panel/ViewerWrapper.js.map +1 -0
  122. package/dist/components/Panel/ViewerZoomControls.d.ts +8 -0
  123. package/dist/components/Panel/ViewerZoomControls.d.ts.map +1 -0
  124. package/dist/components/Panel/ViewerZoomControls.js +152 -0
  125. package/dist/components/Panel/ViewerZoomControls.js.map +1 -0
  126. package/dist/components/Panel/util.d.ts +3 -0
  127. package/dist/components/Panel/util.d.ts.map +1 -0
  128. package/dist/components/Panel/util.js +5 -0
  129. package/dist/components/Panel/util.js.map +1 -0
  130. package/dist/components/PanelSpark.d.ts +7 -0
  131. package/dist/components/PanelSpark.d.ts.map +1 -0
  132. package/dist/components/PanelSpark.js +84 -0
  133. package/dist/components/PanelSpark.js.map +1 -0
  134. package/dist/components/PersistentCanvas.d.ts +12 -0
  135. package/dist/components/PersistentCanvas.d.ts.map +1 -0
  136. package/dist/components/PersistentCanvas.js +44 -0
  137. package/dist/components/PersistentCanvas.js.map +1 -0
  138. package/dist/components/PlayerImage.d.ts +9 -0
  139. package/dist/components/PlayerImage.d.ts.map +1 -0
  140. package/dist/components/PlayerImage.js +21 -0
  141. package/dist/components/PlayerImage.js.map +1 -0
  142. package/dist/components/Playground.d.ts +9 -0
  143. package/dist/components/Playground.d.ts.map +1 -0
  144. package/dist/components/Playground.js +129 -0
  145. package/dist/components/Playground.js.map +1 -0
  146. package/dist/components/PromptControls.d.ts +4 -0
  147. package/dist/components/PromptControls.d.ts.map +1 -0
  148. package/dist/components/PromptControls.js +87 -0
  149. package/dist/components/PromptControls.js.map +1 -0
  150. package/dist/components/SelectableItemAndStage.d.ts +8 -0
  151. package/dist/components/SelectableItemAndStage.d.ts.map +1 -0
  152. package/dist/components/SelectableItemAndStage.js +16 -0
  153. package/dist/components/SelectableItemAndStage.js.map +1 -0
  154. package/dist/components/SettingsDisplay.d.ts +2 -0
  155. package/dist/components/SettingsDisplay.d.ts.map +1 -0
  156. package/dist/components/SettingsDisplay.js +62 -0
  157. package/dist/components/SettingsDisplay.js.map +1 -0
  158. package/dist/components/SparkLineChart.d.ts +21 -0
  159. package/dist/components/SparkLineChart.d.ts.map +1 -0
  160. package/dist/components/SparkLineChart.js +143 -0
  161. package/dist/components/SparkLineChart.js.map +1 -0
  162. package/dist/components/StageAndEditor.d.ts +5 -0
  163. package/dist/components/StageAndEditor.d.ts.map +1 -0
  164. package/dist/components/StageAndEditor.js +12 -0
  165. package/dist/components/StageAndEditor.js.map +1 -0
  166. package/dist/components/TimeControlBar.d.ts +5 -0
  167. package/dist/components/TimeControlBar.d.ts.map +1 -0
  168. package/dist/components/TimeControlBar.js +38 -0
  169. package/dist/components/TimeControlBar.js.map +1 -0
  170. package/dist/components/TokenizedMessage.d.ts +13 -0
  171. package/dist/components/TokenizedMessage.d.ts.map +1 -0
  172. package/dist/components/TokenizedMessage.js +102 -0
  173. package/dist/components/TokenizedMessage.js.map +1 -0
  174. package/dist/components/TopBar.d.ts +4 -0
  175. package/dist/components/TopBar.d.ts.map +1 -0
  176. package/dist/components/TopBar.js +47 -0
  177. package/dist/components/TopBar.js.map +1 -0
  178. package/dist/components/TopBarDropdown.d.ts +6 -0
  179. package/dist/components/TopBarDropdown.d.ts.map +1 -0
  180. package/dist/components/TopBarDropdown.js +69 -0
  181. package/dist/components/TopBarDropdown.js.map +1 -0
  182. package/dist/components/TopBarPlayers.d.ts +2 -0
  183. package/dist/components/TopBarPlayers.d.ts.map +1 -0
  184. package/dist/components/TopBarPlayers.js +70 -0
  185. package/dist/components/TopBarPlayers.js.map +1 -0
  186. package/dist/components/UpdatingCanvasImage.d.ts +7 -0
  187. package/dist/components/UpdatingCanvasImage.d.ts.map +1 -0
  188. package/dist/components/UpdatingCanvasImage.js +22 -0
  189. package/dist/components/UpdatingCanvasImage.js.map +1 -0
  190. package/dist/components/UpdatingCanvasViewer.d.ts +7 -0
  191. package/dist/components/UpdatingCanvasViewer.d.ts.map +1 -0
  192. package/dist/components/UpdatingCanvasViewer.js +50 -0
  193. package/dist/components/UpdatingCanvasViewer.js.map +1 -0
  194. package/dist/components/Viewer.d.ts +16 -0
  195. package/dist/components/Viewer.d.ts.map +1 -0
  196. package/dist/components/Viewer.js +289 -0
  197. package/dist/components/Viewer.js.map +1 -0
  198. package/dist/components/index.d.ts +1 -0
  199. package/dist/components/index.d.ts.map +1 -0
  200. package/dist/components/index.js +2 -0
  201. package/dist/components/index.js.map +1 -0
  202. package/dist/e085acb5e467d8e85d21.woff +0 -0
  203. package/dist/e65dff62134b8879e792.woff +0 -0
  204. package/dist/game/Chit.d.ts +64 -0
  205. package/dist/game/Chit.d.ts.map +1 -0
  206. package/dist/game/Chit.js +524 -0
  207. package/dist/game/Chit.js.map +1 -0
  208. package/dist/game/ClientTimeState.d.ts +16 -0
  209. package/dist/game/ClientTimeState.d.ts.map +1 -0
  210. package/dist/game/ClientTimeState.js +38 -0
  211. package/dist/game/ClientTimeState.js.map +1 -0
  212. package/dist/game/ClockDetails.d.ts +9 -0
  213. package/dist/game/ClockDetails.d.ts.map +1 -0
  214. package/dist/game/ClockDetails.js +19 -0
  215. package/dist/game/ClockDetails.js.map +1 -0
  216. package/dist/game/Connection.d.ts +26 -0
  217. package/dist/game/Connection.d.ts.map +1 -0
  218. package/dist/game/Connection.js +99 -0
  219. package/dist/game/Connection.js.map +1 -0
  220. package/dist/game/ConnectionObject.d.ts +7 -0
  221. package/dist/game/ConnectionObject.d.ts.map +1 -0
  222. package/dist/game/ConnectionObject.js +16 -0
  223. package/dist/game/ConnectionObject.js.map +1 -0
  224. package/dist/game/ConnectionTransport.d.ts +17 -0
  225. package/dist/game/ConnectionTransport.d.ts.map +1 -0
  226. package/dist/game/ConnectionTransport.js +39 -0
  227. package/dist/game/ConnectionTransport.js.map +1 -0
  228. package/dist/game/DropdownChit.d.ts +7 -0
  229. package/dist/game/DropdownChit.d.ts.map +1 -0
  230. package/dist/game/DropdownChit.js +29 -0
  231. package/dist/game/DropdownChit.js.map +1 -0
  232. package/dist/game/GalleryItemChitChildrenSource.d.ts +12 -0
  233. package/dist/game/GalleryItemChitChildrenSource.d.ts.map +1 -0
  234. package/dist/game/GalleryItemChitChildrenSource.js +25 -0
  235. package/dist/game/GalleryItemChitChildrenSource.js.map +1 -0
  236. package/dist/game/GalleryItemRawSource.d.ts +9 -0
  237. package/dist/game/GalleryItemRawSource.d.ts.map +1 -0
  238. package/dist/game/GalleryItemRawSource.js +13 -0
  239. package/dist/game/GalleryItemRawSource.js.map +1 -0
  240. package/dist/game/Game.d.ts +51 -0
  241. package/dist/game/Game.d.ts.map +1 -0
  242. package/dist/game/Game.js +2 -0
  243. package/dist/game/Game.js.map +1 -0
  244. package/dist/game/GameBagChit.d.ts +16 -0
  245. package/dist/game/GameBagChit.d.ts.map +1 -0
  246. package/dist/game/GameBagChit.js +51 -0
  247. package/dist/game/GameBagChit.js.map +1 -0
  248. package/dist/game/GameButton.d.ts +30 -0
  249. package/dist/game/GameButton.d.ts.map +1 -0
  250. package/dist/game/GameButton.js +115 -0
  251. package/dist/game/GameButton.js.map +1 -0
  252. package/dist/game/GameDeckChit.d.ts +23 -0
  253. package/dist/game/GameDeckChit.d.ts.map +1 -0
  254. package/dist/game/GameDeckChit.js +79 -0
  255. package/dist/game/GameDeckChit.js.map +1 -0
  256. package/dist/game/GameTheme.d.ts +75 -0
  257. package/dist/game/GameTheme.d.ts.map +1 -0
  258. package/dist/game/GameTheme.js +103 -0
  259. package/dist/game/GameTheme.js.map +1 -0
  260. package/dist/game/Match.d.ts +34 -0
  261. package/dist/game/Match.d.ts.map +1 -0
  262. package/dist/game/Match.js +151 -0
  263. package/dist/game/Match.js.map +1 -0
  264. package/dist/game/MatchConnection.d.ts +8 -0
  265. package/dist/game/MatchConnection.d.ts.map +1 -0
  266. package/dist/game/MatchConnection.js +6 -0
  267. package/dist/game/MatchConnection.js.map +1 -0
  268. package/dist/game/MatchStorage.d.ts +17 -0
  269. package/dist/game/MatchStorage.d.ts.map +1 -0
  270. package/dist/game/MatchStorage.js +32 -0
  271. package/dist/game/MatchStorage.js.map +1 -0
  272. package/dist/game/ModalState.d.ts +9 -0
  273. package/dist/game/ModalState.d.ts.map +1 -0
  274. package/dist/game/ModalState.js +27 -0
  275. package/dist/game/ModalState.js.map +1 -0
  276. package/dist/game/OrderedOutlet.d.ts +50 -0
  277. package/dist/game/OrderedOutlet.d.ts.map +1 -0
  278. package/dist/game/OrderedOutlet.js +164 -0
  279. package/dist/game/OrderedOutlet.js.map +1 -0
  280. package/dist/game/Pick.d.ts +26 -0
  281. package/dist/game/Pick.d.ts.map +1 -0
  282. package/dist/game/Pick.js +239 -0
  283. package/dist/game/Pick.js.map +1 -0
  284. package/dist/game/PlayerChit.d.ts +16 -0
  285. package/dist/game/PlayerChit.d.ts.map +1 -0
  286. package/dist/game/PlayerChit.js +56 -0
  287. package/dist/game/PlayerChit.js.map +1 -0
  288. package/dist/game/PlayerInfo.d.ts +12 -0
  289. package/dist/game/PlayerInfo.d.ts.map +1 -0
  290. package/dist/game/PlayerInfo.js +20 -0
  291. package/dist/game/PlayerInfo.js.map +1 -0
  292. package/dist/game/PlayerPromptStatusChit.d.ts +5 -0
  293. package/dist/game/PlayerPromptStatusChit.d.ts.map +1 -0
  294. package/dist/game/PlayerPromptStatusChit.js +35 -0
  295. package/dist/game/PlayerPromptStatusChit.js.map +1 -0
  296. package/dist/game/Prompt.d.ts +94 -0
  297. package/dist/game/Prompt.d.ts.map +1 -0
  298. package/dist/game/Prompt.js +229 -0
  299. package/dist/game/Prompt.js.map +1 -0
  300. package/dist/game/RootChit.d.ts +15 -0
  301. package/dist/game/RootChit.d.ts.map +1 -0
  302. package/dist/game/RootChit.js +62 -0
  303. package/dist/game/RootChit.js.map +1 -0
  304. package/dist/game/SparkChit.d.ts +27 -0
  305. package/dist/game/SparkChit.d.ts.map +1 -0
  306. package/dist/game/SparkChit.js +97 -0
  307. package/dist/game/SparkChit.js.map +1 -0
  308. package/dist/game/StaticChitTypeRegistry.d.ts +5 -0
  309. package/dist/game/StaticChitTypeRegistry.d.ts.map +1 -0
  310. package/dist/game/StaticChitTypeRegistry.js +3 -0
  311. package/dist/game/StaticChitTypeRegistry.js.map +1 -0
  312. package/dist/game/Turn.d.ts +169 -0
  313. package/dist/game/Turn.d.ts.map +1 -0
  314. package/dist/game/Turn.js +1031 -0
  315. package/dist/game/Turn.js.map +1 -0
  316. package/dist/game/TurnState.d.ts +30 -0
  317. package/dist/game/TurnState.d.ts.map +1 -0
  318. package/dist/game/TurnState.js +170 -0
  319. package/dist/game/TurnState.js.map +1 -0
  320. package/dist/game/clientTransport/ClientPrompts.d.ts +23 -0
  321. package/dist/game/clientTransport/ClientPrompts.d.ts.map +1 -0
  322. package/dist/game/clientTransport/ClientPrompts.js +85 -0
  323. package/dist/game/clientTransport/ClientPrompts.js.map +1 -0
  324. package/dist/game/clientTransport/ClientStatus.d.ts +19 -0
  325. package/dist/game/clientTransport/ClientStatus.d.ts.map +1 -0
  326. package/dist/game/clientTransport/ClientStatus.js +25 -0
  327. package/dist/game/clientTransport/ClientStatus.js.map +1 -0
  328. package/dist/game/clientTransport/ClientTime.d.ts +42 -0
  329. package/dist/game/clientTransport/ClientTime.d.ts.map +1 -0
  330. package/dist/game/clientTransport/ClientTime.js +197 -0
  331. package/dist/game/clientTransport/ClientTime.js.map +1 -0
  332. package/dist/game/index.d.ts +1 -0
  333. package/dist/game/index.d.ts.map +1 -0
  334. package/dist/game/index.js +2 -0
  335. package/dist/game/index.js.map +1 -0
  336. package/dist/game/serverTransport/ServerPrompts.d.ts +17 -0
  337. package/dist/game/serverTransport/ServerPrompts.d.ts.map +1 -0
  338. package/dist/game/serverTransport/ServerPrompts.js +51 -0
  339. package/dist/game/serverTransport/ServerPrompts.js.map +1 -0
  340. package/dist/game/serverTransport/ServerStatus.d.ts +12 -0
  341. package/dist/game/serverTransport/ServerStatus.d.ts.map +1 -0
  342. package/dist/game/serverTransport/ServerStatus.js +16 -0
  343. package/dist/game/serverTransport/ServerStatus.js.map +1 -0
  344. package/dist/game/serverTransport/ServerTime.d.ts +39 -0
  345. package/dist/game/serverTransport/ServerTime.d.ts.map +1 -0
  346. package/dist/game/serverTransport/ServerTime.js +57 -0
  347. package/dist/game/serverTransport/ServerTime.js.map +1 -0
  348. package/dist/hooks/useChits.d.ts +4 -0
  349. package/dist/hooks/useChits.d.ts.map +1 -0
  350. package/dist/hooks/useChits.js +24 -0
  351. package/dist/hooks/useChits.js.map +1 -0
  352. package/dist/hooks/useConnection.d.ts +8 -0
  353. package/dist/hooks/useConnection.d.ts.map +1 -0
  354. package/dist/hooks/useConnection.js +14 -0
  355. package/dist/hooks/useConnection.js.map +1 -0
  356. package/dist/hooks/useEventChannelState.d.ts +4 -0
  357. package/dist/hooks/useEventChannelState.d.ts.map +1 -0
  358. package/dist/hooks/useEventChannelState.js +25 -0
  359. package/dist/hooks/useEventChannelState.js.map +1 -0
  360. package/dist/hooks/useGame.d.ts +8 -0
  361. package/dist/hooks/useGame.d.ts.map +1 -0
  362. package/dist/hooks/useGame.js +14 -0
  363. package/dist/hooks/useGame.js.map +1 -0
  364. package/dist/hooks/useGameTheme.d.ts +8 -0
  365. package/dist/hooks/useGameTheme.d.ts.map +1 -0
  366. package/dist/hooks/useGameTheme.js +11 -0
  367. package/dist/hooks/useGameTheme.js.map +1 -0
  368. package/dist/hooks/useModalState.d.ts +7 -0
  369. package/dist/hooks/useModalState.d.ts.map +1 -0
  370. package/dist/hooks/useModalState.js +12 -0
  371. package/dist/hooks/useModalState.js.map +1 -0
  372. package/dist/hooks/usePanelPositioning.d.ts +22 -0
  373. package/dist/hooks/usePanelPositioning.d.ts.map +1 -0
  374. package/dist/hooks/usePanelPositioning.js +10 -0
  375. package/dist/hooks/usePanelPositioning.js.map +1 -0
  376. package/dist/hooks/usePanelScale.d.ts +7 -0
  377. package/dist/hooks/usePanelScale.d.ts.map +1 -0
  378. package/dist/hooks/usePanelScale.js +22 -0
  379. package/dist/hooks/usePanelScale.js.map +1 -0
  380. package/dist/hooks/usePanelStates.d.ts +9 -0
  381. package/dist/hooks/usePanelStates.d.ts.map +1 -0
  382. package/dist/hooks/usePanelStates.js +19 -0
  383. package/dist/hooks/usePanelStates.js.map +1 -0
  384. package/dist/hooks/usePlayer.d.ts +7 -0
  385. package/dist/hooks/usePlayer.d.ts.map +1 -0
  386. package/dist/hooks/usePlayer.js +14 -0
  387. package/dist/hooks/usePlayer.js.map +1 -0
  388. package/dist/hooks/useSmartDebouncedState.d.ts +27 -0
  389. package/dist/hooks/useSmartDebouncedState.d.ts.map +1 -0
  390. package/dist/hooks/useSmartDebouncedState.js +109 -0
  391. package/dist/hooks/useSmartDebouncedState.js.map +1 -0
  392. package/dist/hooks/useTimeController.d.ts +22 -0
  393. package/dist/hooks/useTimeController.d.ts.map +1 -0
  394. package/dist/hooks/useTimeController.js +89 -0
  395. package/dist/hooks/useTimeController.js.map +1 -0
  396. package/dist/hooks/useTokenMap.d.ts +5 -0
  397. package/dist/hooks/useTokenMap.d.ts.map +1 -0
  398. package/dist/hooks/useTokenMap.js +16 -0
  399. package/dist/hooks/useTokenMap.js.map +1 -0
  400. package/dist/hooks/useWebGlRenderer.d.ts +34 -0
  401. package/dist/hooks/useWebGlRenderer.d.ts.map +1 -0
  402. package/dist/hooks/useWebGlRenderer.js +167 -0
  403. package/dist/hooks/useWebGlRenderer.js.map +1 -0
  404. package/dist/index.d.ts +97 -0
  405. package/dist/index.d.ts.map +1 -0
  406. package/dist/index.html +12 -0
  407. package/dist/index.js +62 -0
  408. package/dist/index.js.map +1 -0
  409. package/dist/pretty-chitty.js +190767 -0
  410. package/dist/pretty-chitty.js.map +1 -0
  411. package/dist/rendering/CameraSpec.d.ts +22 -0
  412. package/dist/rendering/CameraSpec.d.ts.map +1 -0
  413. package/dist/rendering/CameraSpec.js +25 -0
  414. package/dist/rendering/CameraSpec.js.map +1 -0
  415. package/dist/rendering/CameraWrapperPerspective.d.ts +44 -0
  416. package/dist/rendering/CameraWrapperPerspective.d.ts.map +1 -0
  417. package/dist/rendering/CameraWrapperPerspective.js +481 -0
  418. package/dist/rendering/CameraWrapperPerspective.js.map +1 -0
  419. package/dist/rendering/ChitGalleryItemInstance.d.ts +31 -0
  420. package/dist/rendering/ChitGalleryItemInstance.d.ts.map +1 -0
  421. package/dist/rendering/ChitGalleryItemInstance.js +75 -0
  422. package/dist/rendering/ChitGalleryItemInstance.js.map +1 -0
  423. package/dist/rendering/ChitRenderInstance.d.ts +104 -0
  424. package/dist/rendering/ChitRenderInstance.d.ts.map +1 -0
  425. package/dist/rendering/ChitRenderInstance.js +902 -0
  426. package/dist/rendering/ChitRenderInstance.js.map +1 -0
  427. package/dist/rendering/ChitRenderSpec.d.ts +80 -0
  428. package/dist/rendering/ChitRenderSpec.d.ts.map +1 -0
  429. package/dist/rendering/ChitRenderSpec.js +152 -0
  430. package/dist/rendering/ChitRenderSpec.js.map +1 -0
  431. package/dist/rendering/HighlightSpec.d.ts +6 -0
  432. package/dist/rendering/HighlightSpec.d.ts.map +1 -0
  433. package/dist/rendering/HighlightSpec.js +6 -0
  434. package/dist/rendering/HighlightSpec.js.map +1 -0
  435. package/dist/rendering/LightSpec.d.ts +17 -0
  436. package/dist/rendering/LightSpec.d.ts.map +1 -0
  437. package/dist/rendering/LightSpec.js +37 -0
  438. package/dist/rendering/LightSpec.js.map +1 -0
  439. package/dist/rendering/LightWrapper.d.ts +19 -0
  440. package/dist/rendering/LightWrapper.d.ts.map +1 -0
  441. package/dist/rendering/LightWrapper.js +114 -0
  442. package/dist/rendering/LightWrapper.js.map +1 -0
  443. package/dist/rendering/RootChitRenderInstance.d.ts +81 -0
  444. package/dist/rendering/RootChitRenderInstance.d.ts.map +1 -0
  445. package/dist/rendering/RootChitRenderInstance.js +372 -0
  446. package/dist/rendering/RootChitRenderInstance.js.map +1 -0
  447. package/dist/rendering/Splay.d.ts +23 -0
  448. package/dist/rendering/Splay.d.ts.map +1 -0
  449. package/dist/rendering/Splay.js +89 -0
  450. package/dist/rendering/Splay.js.map +1 -0
  451. package/dist/rendering/SplayCounter.d.ts +19 -0
  452. package/dist/rendering/SplayCounter.d.ts.map +1 -0
  453. package/dist/rendering/SplayCounter.js +18 -0
  454. package/dist/rendering/SplayCounter.js.map +1 -0
  455. package/dist/rendering/TextureReferenceCounter.d.ts +12 -0
  456. package/dist/rendering/TextureReferenceCounter.d.ts.map +1 -0
  457. package/dist/rendering/TextureReferenceCounter.js +76 -0
  458. package/dist/rendering/TextureReferenceCounter.js.map +1 -0
  459. package/dist/rendering/index.d.ts +1 -0
  460. package/dist/rendering/index.d.ts.map +1 -0
  461. package/dist/rendering/index.js +2 -0
  462. package/dist/rendering/index.js.map +1 -0
  463. package/dist/rendering/outline/DepthVisualizationPass.d.ts +12 -0
  464. package/dist/rendering/outline/DepthVisualizationPass.d.ts.map +1 -0
  465. package/dist/rendering/outline/DepthVisualizationPass.js +93 -0
  466. package/dist/rendering/outline/DepthVisualizationPass.js.map +1 -0
  467. package/dist/rendering/outline/EffectComposer.d.ts +24 -0
  468. package/dist/rendering/outline/EffectComposer.d.ts.map +1 -0
  469. package/dist/rendering/outline/EffectComposer.js +118 -0
  470. package/dist/rendering/outline/EffectComposer.js.map +1 -0
  471. package/dist/rendering/outline/FullScreenQuad.d.ts +12 -0
  472. package/dist/rendering/outline/FullScreenQuad.d.ts.map +1 -0
  473. package/dist/rendering/outline/FullScreenQuad.js +21 -0
  474. package/dist/rendering/outline/FullScreenQuad.js.map +1 -0
  475. package/dist/rendering/outline/IDBasedOutlinePass.d.ts +49 -0
  476. package/dist/rendering/outline/IDBasedOutlinePass.d.ts.map +1 -0
  477. package/dist/rendering/outline/IDBasedOutlinePass.js +597 -0
  478. package/dist/rendering/outline/IDBasedOutlinePass.js.map +1 -0
  479. package/dist/rendering/outline/OutputPass.d.ts +13 -0
  480. package/dist/rendering/outline/OutputPass.d.ts.map +1 -0
  481. package/dist/rendering/outline/OutputPass.js +57 -0
  482. package/dist/rendering/outline/OutputPass.js.map +1 -0
  483. package/dist/rendering/outline/RenderPass.d.ts +13 -0
  484. package/dist/rendering/outline/RenderPass.d.ts.map +1 -0
  485. package/dist/rendering/outline/RenderPass.js +54 -0
  486. package/dist/rendering/outline/RenderPass.js.map +1 -0
  487. package/dist/rendering/outline/SceneWrapper.d.ts +39 -0
  488. package/dist/rendering/outline/SceneWrapper.d.ts.map +1 -0
  489. package/dist/rendering/outline/SceneWrapper.js +522 -0
  490. package/dist/rendering/outline/SceneWrapper.js.map +1 -0
  491. package/dist/rendering/outline/ShaderPass.d.ts +12 -0
  492. package/dist/rendering/outline/ShaderPass.d.ts.map +1 -0
  493. package/dist/rendering/outline/ShaderPass.js +43 -0
  494. package/dist/rendering/outline/ShaderPass.js.map +1 -0
  495. package/dist/rendering/outline/index.d.ts +8 -0
  496. package/dist/rendering/outline/index.d.ts.map +1 -0
  497. package/dist/rendering/outline/index.js +8 -0
  498. package/dist/rendering/outline/index.js.map +1 -0
  499. package/dist/rendering/outline/passes/DebugIDMappingPass.d.ts +20 -0
  500. package/dist/rendering/outline/passes/DebugIDMappingPass.d.ts.map +1 -0
  501. package/dist/rendering/outline/passes/DebugIDMappingPass.js +131 -0
  502. package/dist/rendering/outline/passes/DebugIDMappingPass.js.map +1 -0
  503. package/dist/rendering/outline/passes/DepthOcclusionPass.d.ts +24 -0
  504. package/dist/rendering/outline/passes/DepthOcclusionPass.d.ts.map +1 -0
  505. package/dist/rendering/outline/passes/DepthOcclusionPass.js +95 -0
  506. package/dist/rendering/outline/passes/DepthOcclusionPass.js.map +1 -0
  507. package/dist/rendering/outline/passes/InterMeshEdgeDetectionPass.d.ts +32 -0
  508. package/dist/rendering/outline/passes/InterMeshEdgeDetectionPass.d.ts.map +1 -0
  509. package/dist/rendering/outline/passes/InterMeshEdgeDetectionPass.js +208 -0
  510. package/dist/rendering/outline/passes/InterMeshEdgeDetectionPass.js.map +1 -0
  511. package/dist/rendering/outline/shaders.d.ts +20 -0
  512. package/dist/rendering/outline/shaders.d.ts.map +1 -0
  513. package/dist/rendering/outline/shaders.js +103 -0
  514. package/dist/rendering/outline/shaders.js.map +1 -0
  515. package/dist/rendering/outline/types.d.ts +14 -0
  516. package/dist/rendering/outline/types.d.ts.map +1 -0
  517. package/dist/rendering/outline/types.js +16 -0
  518. package/dist/rendering/outline/types.js.map +1 -0
  519. package/dist/utilities/Annotations.d.ts +60 -0
  520. package/dist/utilities/Annotations.d.ts.map +1 -0
  521. package/dist/utilities/Annotations.js +171 -0
  522. package/dist/utilities/Annotations.js.map +1 -0
  523. package/dist/utilities/BaseTable.d.ts +8 -0
  524. package/dist/utilities/BaseTable.d.ts.map +1 -0
  525. package/dist/utilities/BaseTable.js +35 -0
  526. package/dist/utilities/BaseTable.js.map +1 -0
  527. package/dist/utilities/BboxUtils.d.ts +3 -0
  528. package/dist/utilities/BboxUtils.d.ts.map +1 -0
  529. package/dist/utilities/BboxUtils.js +19 -0
  530. package/dist/utilities/BboxUtils.js.map +1 -0
  531. package/dist/utilities/CanvasStack/CanvasOperations.d.ts +140 -0
  532. package/dist/utilities/CanvasStack/CanvasOperations.d.ts.map +1 -0
  533. package/dist/utilities/CanvasStack/CanvasOperations.js +403 -0
  534. package/dist/utilities/CanvasStack/CanvasOperations.js.map +1 -0
  535. package/dist/utilities/CanvasStack/CanvasStack.d.ts +42 -0
  536. package/dist/utilities/CanvasStack/CanvasStack.d.ts.map +1 -0
  537. package/dist/utilities/CanvasStack/CanvasStack.js +128 -0
  538. package/dist/utilities/CanvasStack/CanvasStack.js.map +1 -0
  539. package/dist/utilities/CanvasStack/IconCanvas.d.ts +10 -0
  540. package/dist/utilities/CanvasStack/IconCanvas.d.ts.map +1 -0
  541. package/dist/utilities/CanvasStack/IconCanvas.js +15 -0
  542. package/dist/utilities/CanvasStack/IconCanvas.js.map +1 -0
  543. package/dist/utilities/CanvasStack/ImageCache.d.ts +8 -0
  544. package/dist/utilities/CanvasStack/ImageCache.d.ts.map +1 -0
  545. package/dist/utilities/CanvasStack/ImageCache.js +29 -0
  546. package/dist/utilities/CanvasStack/ImageCache.js.map +1 -0
  547. package/dist/utilities/CanvasStack/ImageColorOverlayer.d.ts +2 -0
  548. package/dist/utilities/CanvasStack/ImageColorOverlayer.d.ts.map +1 -0
  549. package/dist/utilities/CanvasStack/ImageColorOverlayer.js +31 -0
  550. package/dist/utilities/CanvasStack/ImageColorOverlayer.js.map +1 -0
  551. package/dist/utilities/CanvasStack/PlayerCanvas.d.ts +10 -0
  552. package/dist/utilities/CanvasStack/PlayerCanvas.d.ts.map +1 -0
  553. package/dist/utilities/CanvasStack/PlayerCanvas.js +15 -0
  554. package/dist/utilities/CanvasStack/PlayerCanvas.js.map +1 -0
  555. package/dist/utilities/CanvasStack/ReactCanvas.d.ts +133 -0
  556. package/dist/utilities/CanvasStack/ReactCanvas.d.ts.map +1 -0
  557. package/dist/utilities/CanvasStack/ReactCanvas.js +161 -0
  558. package/dist/utilities/CanvasStack/ReactCanvas.js.map +1 -0
  559. package/dist/utilities/CanvasStack/RichTextRenderer.d.ts +63 -0
  560. package/dist/utilities/CanvasStack/RichTextRenderer.d.ts.map +1 -0
  561. package/dist/utilities/CanvasStack/RichTextRenderer.js +523 -0
  562. package/dist/utilities/CanvasStack/RichTextRenderer.js.map +1 -0
  563. package/dist/utilities/CardMesh.d.ts +17 -0
  564. package/dist/utilities/CardMesh.d.ts.map +1 -0
  565. package/dist/utilities/CardMesh.js +44 -0
  566. package/dist/utilities/CardMesh.js.map +1 -0
  567. package/dist/utilities/Dice.d.ts +24 -0
  568. package/dist/utilities/Dice.d.ts.map +1 -0
  569. package/dist/utilities/Dice.js +148 -0
  570. package/dist/utilities/Dice.js.map +1 -0
  571. package/dist/utilities/EventChannel.d.ts +13 -0
  572. package/dist/utilities/EventChannel.d.ts.map +1 -0
  573. package/dist/utilities/EventChannel.js +47 -0
  574. package/dist/utilities/EventChannel.js.map +1 -0
  575. package/dist/utilities/GalleryItemConversion.d.ts +4 -0
  576. package/dist/utilities/GalleryItemConversion.d.ts.map +1 -0
  577. package/dist/utilities/GalleryItemConversion.js +28 -0
  578. package/dist/utilities/GalleryItemConversion.js.map +1 -0
  579. package/dist/utilities/IUpdatingCanvas.d.ts +19 -0
  580. package/dist/utilities/IUpdatingCanvas.d.ts.map +1 -0
  581. package/dist/utilities/IUpdatingCanvas.js +2 -0
  582. package/dist/utilities/IUpdatingCanvas.js.map +1 -0
  583. package/dist/utilities/LayoutHelper.d.ts +34 -0
  584. package/dist/utilities/LayoutHelper.d.ts.map +1 -0
  585. package/dist/utilities/LayoutHelper.js +451 -0
  586. package/dist/utilities/LayoutHelper.js.map +1 -0
  587. package/dist/utilities/ObjectWithProps.d.ts +5 -0
  588. package/dist/utilities/ObjectWithProps.d.ts.map +1 -0
  589. package/dist/utilities/ObjectWithProps.js +65 -0
  590. package/dist/utilities/ObjectWithProps.js.map +1 -0
  591. package/dist/utilities/OutlineCanvas.d.ts +12 -0
  592. package/dist/utilities/OutlineCanvas.d.ts.map +1 -0
  593. package/dist/utilities/OutlineCanvas.js +31 -0
  594. package/dist/utilities/OutlineCanvas.js.map +1 -0
  595. package/dist/utilities/OutlineGeometry.d.ts +3 -0
  596. package/dist/utilities/OutlineGeometry.d.ts.map +1 -0
  597. package/dist/utilities/OutlineGeometry.js +57 -0
  598. package/dist/utilities/OutlineGeometry.js.map +1 -0
  599. package/dist/utilities/ParameterizedCanvas.d.ts +13 -0
  600. package/dist/utilities/ParameterizedCanvas.d.ts.map +1 -0
  601. package/dist/utilities/ParameterizedCanvas.js +85 -0
  602. package/dist/utilities/ParameterizedCanvas.js.map +1 -0
  603. package/dist/utilities/RequestSharedAnimationFrame.d.ts +2 -0
  604. package/dist/utilities/RequestSharedAnimationFrame.d.ts.map +1 -0
  605. package/dist/utilities/RequestSharedAnimationFrame.js +16 -0
  606. package/dist/utilities/RequestSharedAnimationFrame.js.map +1 -0
  607. package/dist/utilities/StaticImage.d.ts +19 -0
  608. package/dist/utilities/StaticImage.d.ts.map +1 -0
  609. package/dist/utilities/StaticImage.js +38 -0
  610. package/dist/utilities/StaticImage.js.map +1 -0
  611. package/dist/utilities/SvgExtruder.d.ts +20 -0
  612. package/dist/utilities/SvgExtruder.d.ts.map +1 -0
  613. package/dist/utilities/SvgExtruder.js +238 -0
  614. package/dist/utilities/SvgExtruder.js.map +1 -0
  615. package/dist/utilities/ThreeDisposer.d.ts +11 -0
  616. package/dist/utilities/ThreeDisposer.d.ts.map +1 -0
  617. package/dist/utilities/ThreeDisposer.js +53 -0
  618. package/dist/utilities/ThreeDisposer.js.map +1 -0
  619. package/dist/utilities/zIndex.d.ts +14 -0
  620. package/dist/utilities/zIndex.d.ts.map +1 -0
  621. package/dist/utilities/zIndex.js +14 -0
  622. package/dist/utilities/zIndex.js.map +1 -0
  623. package/package.json +138 -0
  624. package/src/library/assets/checker.svg +4 -0
  625. package/src/library/assets/cutout.svg +22 -0
  626. package/src/library/components/ActionLogDisplay.tsx +183 -0
  627. package/src/library/components/ActionLogHistory.tsx +127 -0
  628. package/src/library/components/ActionLogHistoryDisplay.tsx +21 -0
  629. package/src/library/components/ActionLogSidebar.tsx +17 -0
  630. package/src/library/components/BottomBar.tsx +78 -0
  631. package/src/library/components/BottomBarBreak.tsx +12 -0
  632. package/src/library/components/BottomBarButton.tsx +181 -0
  633. package/src/library/components/CanvasLibraryViewer.tsx +86 -0
  634. package/src/library/components/ChitLibraryViewer.tsx +168 -0
  635. package/src/library/components/ClientTrustMatchViewer.tsx +83 -0
  636. package/src/library/components/ContextGalleryDisplay.tsx +72 -0
  637. package/src/library/components/GalleryDisplay.tsx +57 -0
  638. package/src/library/components/GalleryPlayground.tsx +50 -0
  639. package/src/library/components/GalleryViewer.tsx +773 -0
  640. package/src/library/components/GameDesigner.tsx +39 -0
  641. package/src/library/components/GameDialog.tsx +43 -0
  642. package/src/library/components/GameModalBackdrop.tsx +47 -0
  643. package/src/library/components/GameModalDialog.tsx +77 -0
  644. package/src/library/components/LiveButton.tsx +26 -0
  645. package/src/library/components/MatchEndDisplay.tsx +120 -0
  646. package/src/library/components/MatchViewer.tsx +111 -0
  647. package/src/library/components/ObjectWithPropsEditor.tsx +169 -0
  648. package/src/library/components/Panel/MultiPanel.tsx +276 -0
  649. package/src/library/components/Panel/PanelContents.tsx +359 -0
  650. package/src/library/components/Panel/PanelTabStack.tsx +103 -0
  651. package/src/library/components/Panel/SinglePanel.tsx +75 -0
  652. package/src/library/components/Panel/ViewerWrapper.tsx +131 -0
  653. package/src/library/components/Panel/ViewerZoomControls.tsx +216 -0
  654. package/src/library/components/Panel/util.ts +7 -0
  655. package/src/library/components/PanelSpark.tsx +112 -0
  656. package/src/library/components/PersistentCanvas.tsx +81 -0
  657. package/src/library/components/PlayerImage.tsx +40 -0
  658. package/src/library/components/Playground.tsx +285 -0
  659. package/src/library/components/PromptControls.tsx +132 -0
  660. package/src/library/components/SelectableItemAndStage.tsx +49 -0
  661. package/src/library/components/SettingsDisplay.tsx +142 -0
  662. package/src/library/components/SparkLineChart.tsx +307 -0
  663. package/src/library/components/StageAndEditor.tsx +28 -0
  664. package/src/library/components/TimeControlBar.tsx +71 -0
  665. package/src/library/components/TokenizedMessage.tsx +206 -0
  666. package/src/library/components/TopBar.tsx +90 -0
  667. package/src/library/components/TopBarDropdown.tsx +94 -0
  668. package/src/library/components/TopBarPlayers.tsx +163 -0
  669. package/src/library/components/UpdatingCanvasImage.tsx +25 -0
  670. package/src/library/components/UpdatingCanvasViewer.tsx +62 -0
  671. package/src/library/components/Viewer.tsx +360 -0
  672. package/src/library/components/index.ts +0 -0
  673. package/src/library/game/Chit.test.ts +66 -0
  674. package/src/library/game/Chit.ts +575 -0
  675. package/src/library/game/ClientTimeState.ts +42 -0
  676. package/src/library/game/ClockDetails.ts +24 -0
  677. package/src/library/game/Connection.test.ts +50 -0
  678. package/src/library/game/Connection.ts +122 -0
  679. package/src/library/game/ConnectionObject.ts +13 -0
  680. package/src/library/game/ConnectionTransport.ts +52 -0
  681. package/src/library/game/DropdownChit.tsx +17 -0
  682. package/src/library/game/GalleryItemChitChildrenSource.ts +31 -0
  683. package/src/library/game/GalleryItemRawSource.ts +15 -0
  684. package/src/library/game/Game.ts +55 -0
  685. package/src/library/game/GameBagChit.ts +42 -0
  686. package/src/library/game/GameButton.ts +127 -0
  687. package/src/library/game/GameDeckChit.ts +77 -0
  688. package/src/library/game/GameTheme.ts +122 -0
  689. package/src/library/game/Match.ts +187 -0
  690. package/src/library/game/MatchConnection.ts +5 -0
  691. package/src/library/game/MatchStorage.ts +51 -0
  692. package/src/library/game/ModalState.ts +29 -0
  693. package/src/library/game/OrderedOutlet.ts +198 -0
  694. package/src/library/game/Pick.ts +314 -0
  695. package/src/library/game/PlayerChit.ts +43 -0
  696. package/src/library/game/PlayerInfo.ts +30 -0
  697. package/src/library/game/PlayerPromptStatusChit.ts +20 -0
  698. package/src/library/game/Prompt.ts +292 -0
  699. package/src/library/game/RootChit.ts +54 -0
  700. package/src/library/game/SparkChit.ts +97 -0
  701. package/src/library/game/StaticChitTypeRegistry.ts +3 -0
  702. package/src/library/game/Turn.test.ts +611 -0
  703. package/src/library/game/Turn.ts +1249 -0
  704. package/src/library/game/TurnState.ts +187 -0
  705. package/src/library/game/clientTransport/ClientPrompts.ts +102 -0
  706. package/src/library/game/clientTransport/ClientStatus.ts +36 -0
  707. package/src/library/game/clientTransport/ClientTime.ts +256 -0
  708. package/src/library/game/index.ts +0 -0
  709. package/src/library/game/serverTransport/ServerPrompts.ts +76 -0
  710. package/src/library/game/serverTransport/ServerStatus.ts +31 -0
  711. package/src/library/game/serverTransport/ServerTime.ts +74 -0
  712. package/src/library/hooks/useChits.ts +32 -0
  713. package/src/library/hooks/useConnection.tsx +16 -0
  714. package/src/library/hooks/useEventChannelState.ts +33 -0
  715. package/src/library/hooks/useGame.tsx +16 -0
  716. package/src/library/hooks/useGameTheme.tsx +12 -0
  717. package/src/library/hooks/useModalState.tsx +13 -0
  718. package/src/library/hooks/usePanelPositioning.tsx +31 -0
  719. package/src/library/hooks/usePanelScale.tsx +23 -0
  720. package/src/library/hooks/usePanelStates.ts +30 -0
  721. package/src/library/hooks/usePlayer.tsx +15 -0
  722. package/src/library/hooks/useSmartDebouncedState.ts +161 -0
  723. package/src/library/hooks/useTimeController.tsx +108 -0
  724. package/src/library/hooks/useTokenMap.ts +20 -0
  725. package/src/library/hooks/useWebGlRenderer.tsx +227 -0
  726. package/src/library/index.ts +116 -0
  727. package/src/library/rendering/CameraSpec.ts +25 -0
  728. package/src/library/rendering/CameraWrapperPerspective.ts +612 -0
  729. package/src/library/rendering/ChitGalleryItemInstance.ts +108 -0
  730. package/src/library/rendering/ChitRenderInstance.ts +1141 -0
  731. package/src/library/rendering/ChitRenderSpec.ts +213 -0
  732. package/src/library/rendering/HighlightSpec.ts +5 -0
  733. package/src/library/rendering/LightSpec.ts +41 -0
  734. package/src/library/rendering/LightWrapper.ts +152 -0
  735. package/src/library/rendering/RootChitRenderInstance.ts +460 -0
  736. package/src/library/rendering/Splay.ts +118 -0
  737. package/src/library/rendering/SplayCounter.tsx +37 -0
  738. package/src/library/rendering/TextureReferenceCounter.ts +86 -0
  739. package/src/library/rendering/index.ts +0 -0
  740. package/src/library/rendering/outline/DepthVisualizationPass.ts +117 -0
  741. package/src/library/rendering/outline/EffectComposer.ts +187 -0
  742. package/src/library/rendering/outline/FullScreenQuad.ts +32 -0
  743. package/src/library/rendering/outline/IDBasedOutlinePass.ts +741 -0
  744. package/src/library/rendering/outline/OutputPass.ts +88 -0
  745. package/src/library/rendering/outline/RenderPass.ts +72 -0
  746. package/src/library/rendering/outline/SceneWrapper.ts +617 -0
  747. package/src/library/rendering/outline/ShaderPass.ts +50 -0
  748. package/src/library/rendering/outline/index.ts +8 -0
  749. package/src/library/rendering/outline/passes/DebugIDMappingPass.ts +154 -0
  750. package/src/library/rendering/outline/passes/DepthOcclusionPass.ts +106 -0
  751. package/src/library/rendering/outline/passes/InterMeshEdgeDetectionPass.ts +244 -0
  752. package/src/library/rendering/outline/shaders.ts +110 -0
  753. package/src/library/rendering/outline/types.ts +25 -0
  754. package/src/library/utilities/Annotations.ts +188 -0
  755. package/src/library/utilities/BaseTable.tsx +58 -0
  756. package/src/library/utilities/BboxUtils.ts +23 -0
  757. package/src/library/utilities/CanvasStack/CanvasOperations.tsx +630 -0
  758. package/src/library/utilities/CanvasStack/CanvasStack.ts +191 -0
  759. package/src/library/utilities/CanvasStack/IconCanvas.tsx +17 -0
  760. package/src/library/utilities/CanvasStack/ImageCache.ts +38 -0
  761. package/src/library/utilities/CanvasStack/ImageColorOverlayer.ts +36 -0
  762. package/src/library/utilities/CanvasStack/PlayerCanvas.tsx +17 -0
  763. package/src/library/utilities/CanvasStack/ReactCanvas.tsx +293 -0
  764. package/src/library/utilities/CanvasStack/RichTextRenderer.ts +719 -0
  765. package/src/library/utilities/CardMesh.ts +55 -0
  766. package/src/library/utilities/Dice.tsx +183 -0
  767. package/src/library/utilities/EventChannel.ts +52 -0
  768. package/src/library/utilities/GalleryItemConversion.ts +30 -0
  769. package/src/library/utilities/IUpdatingCanvas.ts +14 -0
  770. package/src/library/utilities/LayoutHelper.ts +586 -0
  771. package/src/library/utilities/ObjectWithProps.ts +52 -0
  772. package/src/library/utilities/OutlineCanvas.tsx +45 -0
  773. package/src/library/utilities/OutlineGeometry.ts +69 -0
  774. package/src/library/utilities/ParameterizedCanvas.ts +78 -0
  775. package/src/library/utilities/RequestSharedAnimationFrame.ts +16 -0
  776. package/src/library/utilities/StaticImage.tsx +58 -0
  777. package/src/library/utilities/SvgExtruder.ts +330 -0
  778. package/src/library/utilities/ThreeDisposer.ts +66 -0
  779. package/src/library/utilities/zIndex.ts +15 -0
@@ -0,0 +1,50 @@
1
+ import { Chit } from "./Chit";
2
+ /**
3
+ * OrderedOutlets are ways to maintain a list of ordered chits on another (parent) chit. Adding
4
+ * or removing chits from the outlet will automatically update the parent/child relationships.
5
+ *
6
+ * This should only be used in conjunction with the `@Ordered` annotation.
7
+ *
8
+ * Preferred syntax:
9
+ * ```
10
+ * class MyChit extends Chit {
11
+ *
12
+ * @Ordered(new Vector3(1,2,-3))
13
+ * public tokens = new OrderedOutlet<Token>();
14
+ *
15
+ * }
16
+ * ```
17
+ *
18
+ * @group Chit Annotations
19
+ */
20
+ export declare class OrderedOutlet<C extends Chit> {
21
+ private chits;
22
+ constructor(outletName?: string, parent?: Chit);
23
+ toJSON(): {
24
+ ___orderedOutlet: {
25
+ __chit_id: string;
26
+ }[];
27
+ };
28
+ last(): C | undefined;
29
+ add(c: C): void;
30
+ addAll(c: OrderedOutlet<C> | C[]): void;
31
+ shuffle(): Promise<void>;
32
+ copy(): C[];
33
+ find(cb: (c: C) => boolean): C | undefined;
34
+ map<D>(cb: (c: C) => D): D[];
35
+ some(cb: (c: C) => boolean): boolean;
36
+ every(cb: (c: C) => boolean): boolean;
37
+ reduce<D>(cb: (acc: D, c: C) => D, initial: D): D;
38
+ findIndex(cb: (c: C) => boolean): number;
39
+ flatMap<D>(cb: (c: C) => D[]): D[];
40
+ filter(cb: (c: C) => boolean): C[];
41
+ forEach(cb: (c: C) => void): void;
42
+ get(i: number): C;
43
+ tryGet(i: number): C | undefined;
44
+ remove(c: C | C[]): void;
45
+ get length(): number;
46
+ pop(): C | undefined;
47
+ private fixOrder;
48
+ private fixSort;
49
+ }
50
+ //# sourceMappingURL=OrderedOutlet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderedOutlet.d.ts","sourceRoot":"","sources":["../../src/library/game/OrderedOutlet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAa,CAAC,CAAC,SAAS,IAAI;IAOvC,OAAO,CAAC,KAAK,CAAW;gBAEZ,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IAKvC,MAAM;;;;;IAWN,IAAI,IAAI,CAAC,GAAG,SAAS;IAIrB,GAAG,CAAC,CAAC,EAAE,CAAC;IAWR,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;IAgB1B,OAAO;IAeb,IAAI,IAAI,CAAC,EAAE;IAIX,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO;IAI1B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IAI5B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO;IAIpC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO;IAIrC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;IAIjD,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM;IAIxC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE;IAIlC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,EAAE;IAIlC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI;IAI1B,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC;IAQjB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIhC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;IAiCxB,IAAW,MAAM,WAEhB;IAEM,GAAG;IAQV,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,OAAO;CAGhB"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * OrderedOutlets are ways to maintain a list of ordered chits on another (parent) chit. Adding
3
+ * or removing chits from the outlet will automatically update the parent/child relationships.
4
+ *
5
+ * This should only be used in conjunction with the `@Ordered` annotation.
6
+ *
7
+ * Preferred syntax:
8
+ * ```
9
+ * class MyChit extends Chit {
10
+ *
11
+ * @Ordered(new Vector3(1,2,-3))
12
+ * public tokens = new OrderedOutlet<Token>();
13
+ *
14
+ * }
15
+ * ```
16
+ *
17
+ * @group Chit Annotations
18
+ */
19
+ export class OrderedOutlet {
20
+ constructor(outletName, parent) {
21
+ this.chits = [];
22
+ this.outletName = outletName ?? "no_name_set";
23
+ this.parent = parent;
24
+ }
25
+ toJSON() {
26
+ return {
27
+ ___orderedOutlet: this.chits.map((c) => c.toJSON()),
28
+ };
29
+ }
30
+ /** @internal */
31
+ deserialize(chits) {
32
+ this.chits = chits;
33
+ }
34
+ last() {
35
+ return this.chits[this.chits.length - 1];
36
+ }
37
+ add(c) {
38
+ if (this.parent?.isDeserializing) {
39
+ return;
40
+ }
41
+ c.setParent();
42
+ this.chits.push(c);
43
+ this.fixSort();
44
+ this.fixOrder();
45
+ }
46
+ addAll(c) {
47
+ if (this.parent?.isDeserializing) {
48
+ return;
49
+ }
50
+ if (c instanceof OrderedOutlet) {
51
+ c.chits.forEach((c) => c.setParent());
52
+ c.chits.forEach((c) => this.chits.push(c));
53
+ }
54
+ else {
55
+ c.forEach((c) => c.setParent());
56
+ c.forEach((c) => this.chits.push(c));
57
+ }
58
+ this.fixSort();
59
+ this.fixOrder();
60
+ }
61
+ async shuffle() {
62
+ if (this.parent) {
63
+ const from = await this.parent.currentTurn.takeRng(this.length);
64
+ const to = await this.parent.currentTurn.takeRng(this.length);
65
+ for (let i = 0; i < this.chits.length; i++) {
66
+ const j = Math.floor(from() * this.chits.length);
67
+ const k = Math.floor(to() * this.chits.length);
68
+ const temp = this.chits[j];
69
+ this.chits[j] = this.chits[k];
70
+ this.chits[k] = temp;
71
+ }
72
+ }
73
+ this.fixOrder();
74
+ }
75
+ copy() {
76
+ return this.chits.concat();
77
+ }
78
+ find(cb) {
79
+ return this.chits.find(cb);
80
+ }
81
+ map(cb) {
82
+ return this.chits.map(cb);
83
+ }
84
+ some(cb) {
85
+ return this.chits.some(cb);
86
+ }
87
+ every(cb) {
88
+ return this.chits.every(cb);
89
+ }
90
+ reduce(cb, initial) {
91
+ return this.chits.reduce(cb, initial);
92
+ }
93
+ findIndex(cb) {
94
+ return this.chits.findIndex(cb);
95
+ }
96
+ flatMap(cb) {
97
+ return this.chits.flatMap(cb);
98
+ }
99
+ filter(cb) {
100
+ return this.chits.filter(cb);
101
+ }
102
+ forEach(cb) {
103
+ this.chits.forEach(cb);
104
+ }
105
+ get(i) {
106
+ const result = this.chits[i];
107
+ if (!result) {
108
+ throw new Error("Index out of bounds");
109
+ }
110
+ return result;
111
+ }
112
+ tryGet(i) {
113
+ return this.chits[i];
114
+ }
115
+ remove(c) {
116
+ if (this.parent?.isDeserializing) {
117
+ return;
118
+ }
119
+ const removedChits = [];
120
+ if (Array.isArray(c)) {
121
+ const s = new Set(c);
122
+ this.chits = this.chits.filter((chit) => {
123
+ const found = s.has(chit);
124
+ if (found) {
125
+ removedChits.push(chit);
126
+ }
127
+ return !found;
128
+ });
129
+ }
130
+ else {
131
+ this.chits = this.chits.filter((chit) => {
132
+ if (chit !== c) {
133
+ return true;
134
+ }
135
+ removedChits.push(chit);
136
+ return false;
137
+ });
138
+ }
139
+ if (removedChits.length > 0) {
140
+ removedChits.forEach((c) => c.setParent());
141
+ // TODO: depending on order of deserialization this might be misbehaving
142
+ this.fixOrder();
143
+ }
144
+ }
145
+ get length() {
146
+ return this.chits.length;
147
+ }
148
+ pop() {
149
+ const result = this.chits.pop();
150
+ if (result) {
151
+ this.remove(result);
152
+ }
153
+ return result;
154
+ }
155
+ fixOrder() {
156
+ this.chits.forEach((c, i) => {
157
+ c.setParent(this.parent, this.outletName, i);
158
+ });
159
+ }
160
+ fixSort() {
161
+ // do nothing by default?
162
+ }
163
+ }
164
+ //# sourceMappingURL=OrderedOutlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderedOutlet.js","sourceRoot":"","sources":["../../src/library/game/OrderedOutlet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Chit } from "./Chit";
2
+ import { GameButton, ToggleGalleryButton } from "./GameButton";
3
+ export type FindChit = (id: string) => Chit;
4
+ export type PickType = "ChitPick" | "ButtonPick";
5
+ export type PickSerialization = {
6
+ type: PickType;
7
+ message?: string;
8
+ help?: string;
9
+ details: any;
10
+ context?: string;
11
+ };
12
+ export declare abstract class Pick {
13
+ message(message?: string): this;
14
+ help(help?: string): this;
15
+ focus(chit: Chit | Chit[]): this;
16
+ context(chit: Chit | undefined): this;
17
+ }
18
+ export declare class ChitPick<T extends Chit> extends Pick {
19
+ button?: ToggleGalleryButton;
20
+ focus(chit?: Chit | Chit[]): this;
21
+ toggleButton(button: ToggleGalleryButton): this;
22
+ }
23
+ export declare class ButtonPick extends Pick {
24
+ button?: GameButton;
25
+ }
26
+ //# sourceMappingURL=Pick.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pick.d.ts","sourceRoot":"","sources":["../../src/library/game/Pick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAW,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxE,MAAM,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AACjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,8BAAsB,IAAI;IAwCxB,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAK/B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAyCzB,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI;IAShC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI;CAoBtC;AAED,qBAAa,QAAQ,CAAC,CAAC,SAAS,IAAI,CAAE,SAAQ,IAAI;IAUzC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAiBpC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI;IA6EjC,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;CAIhD;AAED,qBAAa,UAAW,SAAQ,IAAI;IAI3B,MAAM,CAAC,EAAE,UAAU,CAAC;CAiE5B"}
@@ -0,0 +1,239 @@
1
+ import { GalleryItemChitChildrenSource } from "./GalleryItemChitChildrenSource";
2
+ import { Confirm, ToggleGalleryButton } from "./GameButton";
3
+ import { MismatchError } from "./Turn";
4
+ export class Pick {
5
+ constructor() {
6
+ /** @internal */
7
+ this.focusChits = [];
8
+ }
9
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
+ /** @internal */
11
+ confirmLock(_turn) {
12
+ // do nothing
13
+ }
14
+ /** @internal */
15
+ canAutoResolve() {
16
+ return this.numberOfChoices() === 1;
17
+ }
18
+ message(message) {
19
+ this.messageContents = message;
20
+ return this;
21
+ }
22
+ help(help) {
23
+ this.helpContents = help;
24
+ return this;
25
+ }
26
+ /** @internal */
27
+ serialize() {
28
+ return {
29
+ type: this.type,
30
+ help: this.helpContents,
31
+ message: this.messageContents,
32
+ details: this.serializeDetails(),
33
+ context: this.contextChit ? this.contextChit.id : undefined,
34
+ };
35
+ }
36
+ /** @internal */
37
+ static deserialize(pick, findChit, buttonLibrary) {
38
+ let p = undefined;
39
+ switch (pick.type) {
40
+ case "ChitPick": {
41
+ p = new ChitPick();
42
+ break;
43
+ }
44
+ case "ButtonPick": {
45
+ p = new ButtonPick();
46
+ break;
47
+ }
48
+ }
49
+ if (p) {
50
+ p.contextChit = pick.context ? findChit(pick.context) : undefined;
51
+ p.messageContents = pick.message;
52
+ p.helpContents = pick.help;
53
+ p.deserializeDetails(pick.details, findChit, buttonLibrary);
54
+ return p;
55
+ }
56
+ throw new Error(`Pick type ${pick.type} not known`);
57
+ }
58
+ focus(chit) {
59
+ if (Array.isArray(chit)) {
60
+ this.focusChits.push(...chit);
61
+ }
62
+ else {
63
+ this.focusChits.push(chit);
64
+ }
65
+ return this;
66
+ }
67
+ context(chit) {
68
+ this.contextChit = chit;
69
+ return this;
70
+ }
71
+ /** @internal */
72
+ processFocus() {
73
+ // show it?
74
+ this.focusChits.forEach((c) => {
75
+ if (c.renderInstance) {
76
+ c.renderInstance.rootRenderInstance.markHasChitsEntering();
77
+ if (c.renderInstance.absorbsClickEventsForChildren) {
78
+ this.closeGallery = c.renderInstance.rootRenderInstance.showGallery(new GalleryItemChitChildrenSource(c));
79
+ }
80
+ }
81
+ });
82
+ }
83
+ }
84
+ export class ChitPick extends Pick {
85
+ constructor() {
86
+ super(...arguments);
87
+ /** @internal */
88
+ this.type = "ChitPick";
89
+ /** @internal */
90
+ this.chits = [];
91
+ /** @internal */
92
+ this.cb = () => { };
93
+ }
94
+ /** @internal */
95
+ serializeDetails() {
96
+ const result = {
97
+ c: this.chits.map((chit) => chit.id),
98
+ f: this.focusChits.map((chit) => chit.id),
99
+ };
100
+ if (this.button) {
101
+ result.b = this.button.serialize();
102
+ result.b.__buttonType = Object.getPrototypeOf(this.button).constructor.name;
103
+ }
104
+ return result;
105
+ }
106
+ focus(chit) {
107
+ if (!chit) {
108
+ this.focusChits.push(...this.chits);
109
+ }
110
+ else if (Array.isArray(chit)) {
111
+ this.focusChits.push(...chit);
112
+ }
113
+ else {
114
+ this.focusChits.push(chit);
115
+ }
116
+ return this;
117
+ }
118
+ /** @internal */
119
+ deserializeDetails({ c, f, b }, findChit, buttonLibrary) {
120
+ this.chits = c.map((chitId) => findChit(chitId)).filter((d) => d);
121
+ this.focusChits = f.map((chitId) => findChit(chitId)).filter((d) => d);
122
+ if (b) {
123
+ const HARDCODED_BUTTON_LIBRARY = { Confirm };
124
+ const buttonType = b.__buttonType;
125
+ const ButtonType = buttonLibrary[buttonType] ?? HARDCODED_BUTTON_LIBRARY[buttonType];
126
+ if (!ButtonType) {
127
+ throw new Error(`Cannot find button type ${buttonType}`);
128
+ }
129
+ this.button = new ButtonType();
130
+ this.button.deserialize(b, findChit);
131
+ }
132
+ }
133
+ /** @internal */
134
+ resolveDetails(chitId) {
135
+ const selectedChit = this.chits.find((chit) => chit.id === chitId);
136
+ if (!selectedChit) {
137
+ throw new MismatchError();
138
+ }
139
+ return Promise.resolve(this.cb(selectedChit));
140
+ }
141
+ /** @internal */
142
+ stageIn(prompt) {
143
+ this.chits.forEach((c) => (c.onClick = () => prompt.resolvePick(this, c.id)));
144
+ this.processFocus();
145
+ this.button?.computeItemSource(this);
146
+ if (this.button?.autoShow && this.button?.galleryItemSource) {
147
+ this.closeGallery = this.chits[0]?.renderInstance?.rootRenderInstance.showGallery(this.button.galleryItemSource);
148
+ }
149
+ }
150
+ /** @internal */
151
+ stageOut() {
152
+ this.chits.forEach((c) => (c.onClick = undefined));
153
+ if (this.closeGallery) {
154
+ this.closeGallery();
155
+ }
156
+ if (this.button instanceof ToggleGalleryButton && this.button?.galleryItemSource) {
157
+ this.chits[0]?.renderInstance?.rootRenderInstance.hideGallery(this.button.galleryItemSource);
158
+ }
159
+ }
160
+ /** @internal */
161
+ confirmLock(turn) {
162
+ this.chits.forEach((chit) => chit.confirmLock(turn));
163
+ }
164
+ /** @internal */
165
+ numberOfChoices() {
166
+ return this.chits.length;
167
+ }
168
+ /** @internal */
169
+ autoResolve() {
170
+ return Promise.resolve(this.cb(this.chits[0]));
171
+ }
172
+ toggleButton(button) {
173
+ this.button = button;
174
+ return this;
175
+ }
176
+ }
177
+ export class ButtonPick extends Pick {
178
+ constructor() {
179
+ super(...arguments);
180
+ /** @internal */
181
+ this.type = "ButtonPick";
182
+ }
183
+ /** @internal */
184
+ numberOfChoices() {
185
+ return 1;
186
+ }
187
+ /** @internal */
188
+ autoResolve() {
189
+ return Promise.resolve(this.button && this.button.cb && this.button.cb());
190
+ }
191
+ /** @internal */
192
+ canAutoResolve() {
193
+ return this.button?.canAutoResolve ?? true;
194
+ }
195
+ /** @internal */
196
+ serializeDetails() {
197
+ if (!this.button) {
198
+ throw new Error("Cannot resolve without a button defined");
199
+ }
200
+ const details = this.button.serialize();
201
+ details.__buttonType = Object.getPrototypeOf(this.button).constructor.name;
202
+ details.__f = this.focusChits.map((chit) => chit.id);
203
+ return details;
204
+ }
205
+ /** @internal */
206
+ deserializeDetails(state, findChit, buttonLibrary) {
207
+ const HARDCODED_BUTTON_LIBRARY = { Confirm };
208
+ const buttonType = state.__buttonType;
209
+ this.focusChits = state.__f.map((chitId) => findChit(chitId)).filter((d) => d);
210
+ const ButtonType = buttonLibrary[buttonType] ?? HARDCODED_BUTTON_LIBRARY[buttonType];
211
+ if (!ButtonType) {
212
+ throw new Error(`Cannot find button type ${buttonType}`);
213
+ }
214
+ this.button = new ButtonType();
215
+ this.button.deserialize(state, findChit);
216
+ }
217
+ /** @internal */
218
+ resolveDetails() {
219
+ if (!this.button) {
220
+ throw new Error("Cannot resolve without a button defined");
221
+ }
222
+ return Promise.resolve(this.button && this.button.cb && this.button.cb());
223
+ }
224
+ /** @internal */
225
+ stageIn(prompt) {
226
+ if (this.button) {
227
+ this.button.cb = () => {
228
+ if (this.button) {
229
+ this.button.cb = () => { };
230
+ }
231
+ prompt.resolvePick(this, null);
232
+ };
233
+ }
234
+ this.processFocus();
235
+ }
236
+ /** @internal */
237
+ stageOut() { }
238
+ }
239
+ //# sourceMappingURL=Pick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pick.js","sourceRoot":"","sources":["../../src/library/game/Pick.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Chit } from "./Chit";
2
+ import { PlayerPromptStatusChit } from "./PlayerPromptStatusChit";
3
+ export declare class PlayerChit extends Chit {
4
+ playerId: string;
5
+ name: string;
6
+ imageUrl?: string;
7
+ color: string;
8
+ promptStatus: PlayerPromptStatusChit;
9
+ get panelTab(): {
10
+ color: string;
11
+ icon: import("..").IUpdatingCanvas;
12
+ };
13
+ get icon(): import("..").IUpdatingCanvas;
14
+ get logKey(): string;
15
+ }
16
+ //# sourceMappingURL=PlayerChit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerChit.d.ts","sourceRoot":"","sources":["../../src/library/game/PlayerChit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,qBAAa,UAAW,SAAQ,IAAI;IAI3B,QAAQ,EAAE,MAAM,CAAW;IAC3B,IAAI,EAAE,MAAM,CAAa;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAa;IAKpB,YAAY,yBAAgC;IAEzD,IAAW,QAAQ;;;MAKlB;IAED,IAAW,IAAI,iCAEd;IAED,IAAW,MAAM,WAEhB;CASF"}
@@ -0,0 +1,56 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { ChildOutlet, NonEditable } from "../utilities/Annotations";
11
+ import { PlayerCanvas } from "../utilities/CanvasStack/PlayerCanvas";
12
+ import { Chit } from "./Chit";
13
+ import { PlayerPromptStatusChit } from "./PlayerPromptStatusChit";
14
+ export class PlayerChit extends Chit {
15
+ constructor() {
16
+ super(...arguments);
17
+ /** @internal */
18
+ this.type = "player";
19
+ this.playerId = "no id";
20
+ this.name = "no name";
21
+ this.color = "#000000";
22
+ this.promptStatus = new PlayerPromptStatusChit();
23
+ }
24
+ get panelTab() {
25
+ return {
26
+ color: this.color,
27
+ icon: new PlayerCanvas(this).get(),
28
+ };
29
+ }
30
+ get icon() {
31
+ return new PlayerCanvas(this).get();
32
+ }
33
+ get logKey() {
34
+ return `:${this.playerId}:`;
35
+ }
36
+ /** @internal */
37
+ setPlayerInfo(playerInfo) {
38
+ this.playerId = playerInfo.id;
39
+ this.name = playerInfo.name;
40
+ this.id = playerInfo.id;
41
+ this.imageUrl = playerInfo.imageUrl;
42
+ }
43
+ }
44
+ __decorate([
45
+ NonEditable,
46
+ __metadata("design:type", Object)
47
+ ], PlayerChit.prototype, "type", void 0);
48
+ __decorate([
49
+ NonEditable,
50
+ __metadata("design:type", Number)
51
+ ], PlayerChit.prototype, "matchScoreNumber", void 0);
52
+ __decorate([
53
+ ChildOutlet,
54
+ __metadata("design:type", Object)
55
+ ], PlayerChit.prototype, "promptStatus", void 0);
56
+ //# sourceMappingURL=PlayerChit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerChit.js","sourceRoot":"","sources":["../../src/library/game/PlayerChit.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,OAAO,UAAW,SAAQ,IAAI;IAApC;;QACE,gBAAgB;QACH,SAAI,GAAG,QAAQ,CAAC;QAEtB,aAAQ,GAAW,OAAO,CAAC;QAC3B,SAAI,GAAW,SAAS,CAAC;QAEzB,UAAK,GAAW,SAAS,CAAC;QAKpB,iBAAY,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAwB3D,CAAC;IAtBC,IAAW,QAAQ;QACjB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE;SACnC,CAAC;IACJ,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IACtC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;IAC9B,CAAC;IAED,gBAAgB;IAChB,aAAa,CAAC,UAAsB;QAClC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,CAAC;CACF;AAlCc;IAAZ,WAAW;;wCAAiB;AAQT;IAAnB,WAAW;;oDAAkC;AAEjC;IAAZ,WAAW;;gDAA6C"}
@@ -0,0 +1,12 @@
1
+ export interface IPlayerInfo {
2
+ id: string;
3
+ name: string;
4
+ imageUrl?: string;
5
+ }
6
+ export declare class PlayerInfo {
7
+ imageUrl?: string;
8
+ id: string;
9
+ name: string;
10
+ constructor(idOrPlayerInfo: string | IPlayerInfo, name?: string);
11
+ }
12
+ //# sourceMappingURL=PlayerInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerInfo.d.ts","sourceRoot":"","sources":["../../src/library/game/PlayerInfo.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,UAAU;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;gBAER,cAAc,EAAE,MAAM,GAAG,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM;CAehE"}
@@ -0,0 +1,20 @@
1
+ import multiavatar from "@multiavatar/multiavatar";
2
+ import base64 from "base-64";
3
+ export class PlayerInfo {
4
+ constructor(idOrPlayerInfo, name) {
5
+ if (typeof idOrPlayerInfo === "string") {
6
+ this.id = idOrPlayerInfo;
7
+ this.name = name;
8
+ }
9
+ else {
10
+ this.id = idOrPlayerInfo.id;
11
+ this.name = idOrPlayerInfo.name;
12
+ this.imageUrl = idOrPlayerInfo.imageUrl;
13
+ }
14
+ if (!this.imageUrl && window?.URL) {
15
+ const data = multiavatar(`${this.name} ${this.id}`, true).replace("<svg", '<svg width="231" height="231"');
16
+ this.imageUrl = `data:image/svg+xml;base64,${base64.encode(data)}`;
17
+ }
18
+ }
19
+ }
20
+ //# sourceMappingURL=PlayerInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerInfo.js","sourceRoot":"","sources":["../../src/library/game/PlayerInfo.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,MAAM,MAAM,SAAS,CAAC;AAQ7B,MAAM,OAAO,UAAU;IAKrB,YAAY,cAAoC,EAAE,IAAa;QAC7D,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,IAAK,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;YAC3G,IAAI,CAAC,QAAQ,GAAG,6BAA6B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import { Chit } from "./Chit";
2
+ export declare class PlayerPromptStatusChit extends Chit {
3
+ canRender(): boolean;
4
+ }
5
+ //# sourceMappingURL=PlayerPromptStatusChit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerPromptStatusChit.d.ts","sourceRoot":"","sources":["../../src/library/game/PlayerPromptStatusChit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAI9B,qBAAa,sBAAuB,SAAQ,IAAI;IAQvC,SAAS,IAAI,OAAO;CAG5B"}