@pretty-chitty/core 1.1.2 → 1.2.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 (351) hide show
  1. package/dist/components/BottomBarButton.d.ts +2 -1
  2. package/dist/components/BottomBarButton.d.ts.map +1 -1
  3. package/dist/components/BottomBarButton.js +2 -1
  4. package/dist/components/BottomBarButton.js.map +1 -1
  5. package/dist/components/ClientTrustMatchViewer.d.ts +4 -1
  6. package/dist/components/ClientTrustMatchViewer.d.ts.map +1 -1
  7. package/dist/components/ClientTrustMatchViewer.js +11 -4
  8. package/dist/components/ClientTrustMatchViewer.js.map +1 -1
  9. package/dist/components/ContextGalleryDisplay.js +1 -1
  10. package/dist/components/ContextGalleryDisplay.js.map +1 -1
  11. package/dist/components/DemoWrapper.d.ts +9 -0
  12. package/dist/components/DemoWrapper.d.ts.map +1 -0
  13. package/dist/components/DemoWrapper.js +76 -0
  14. package/dist/components/DemoWrapper.js.map +1 -0
  15. package/dist/components/FullScreenGalleryDisplay.d.ts +2 -0
  16. package/dist/components/FullScreenGalleryDisplay.d.ts.map +1 -0
  17. package/dist/components/FullScreenGalleryDisplay.js +56 -0
  18. package/dist/components/FullScreenGalleryDisplay.js.map +1 -0
  19. package/dist/components/Gallery/AnimationController.d.ts +19 -0
  20. package/dist/components/Gallery/AnimationController.d.ts.map +1 -0
  21. package/dist/components/Gallery/AnimationController.js +82 -0
  22. package/dist/components/Gallery/AnimationController.js.map +1 -0
  23. package/dist/components/Gallery/BuiltItem.d.ts +58 -0
  24. package/dist/components/Gallery/BuiltItem.d.ts.map +1 -0
  25. package/dist/components/Gallery/BuiltItem.js +313 -0
  26. package/dist/components/Gallery/BuiltItem.js.map +1 -0
  27. package/dist/components/Gallery/CameraManager.d.ts +14 -0
  28. package/dist/components/Gallery/CameraManager.d.ts.map +1 -0
  29. package/dist/components/Gallery/CameraManager.js +43 -0
  30. package/dist/components/Gallery/CameraManager.js.map +1 -0
  31. package/dist/components/Gallery/GalleryController.d.ts +30 -0
  32. package/dist/components/Gallery/GalleryController.d.ts.map +1 -0
  33. package/dist/components/Gallery/GalleryController.js +137 -0
  34. package/dist/components/Gallery/GalleryController.js.map +1 -0
  35. package/dist/components/Gallery/GalleryViewer.d.ts +18 -0
  36. package/dist/components/Gallery/GalleryViewer.d.ts.map +1 -0
  37. package/dist/components/Gallery/GalleryViewer.js +141 -0
  38. package/dist/components/Gallery/GalleryViewer.js.map +1 -0
  39. package/dist/components/Gallery/LayoutManager.d.ts +49 -0
  40. package/dist/components/Gallery/LayoutManager.d.ts.map +1 -0
  41. package/dist/components/Gallery/LayoutManager.js +132 -0
  42. package/dist/components/Gallery/LayoutManager.js.map +1 -0
  43. package/dist/components/Gallery/constants.d.ts +13 -0
  44. package/dist/components/Gallery/constants.d.ts.map +1 -0
  45. package/dist/components/Gallery/constants.js +13 -0
  46. package/dist/components/Gallery/constants.js.map +1 -0
  47. package/dist/components/Gallery/index.d.ts +3 -0
  48. package/dist/components/Gallery/index.d.ts.map +1 -0
  49. package/dist/components/Gallery/index.js +2 -0
  50. package/dist/components/Gallery/index.js.map +1 -0
  51. package/dist/components/Gallery/types.d.ts +45 -0
  52. package/dist/components/Gallery/types.d.ts.map +1 -0
  53. package/dist/components/Gallery/types.js +2 -0
  54. package/dist/components/Gallery/types.js.map +1 -0
  55. package/dist/components/GalleryPlayground.js +1 -1
  56. package/dist/components/GalleryPlayground.js.map +1 -1
  57. package/dist/components/GalleryViewer.d.ts +2 -47
  58. package/dist/components/GalleryViewer.d.ts.map +1 -1
  59. package/dist/components/GalleryViewer.js +3 -569
  60. package/dist/components/GalleryViewer.js.map +1 -1
  61. package/dist/components/GameDesigner.d.ts.map +1 -1
  62. package/dist/components/GameDesigner.js +13 -2
  63. package/dist/components/GameDesigner.js.map +1 -1
  64. package/dist/components/InlineGalleryDisplay.d.ts +2 -0
  65. package/dist/components/InlineGalleryDisplay.d.ts.map +1 -0
  66. package/dist/components/InlineGalleryDisplay.js +69 -0
  67. package/dist/components/InlineGalleryDisplay.js.map +1 -0
  68. package/dist/components/LiveButton.d.ts.map +1 -1
  69. package/dist/components/LiveButton.js +1 -1
  70. package/dist/components/LiveButton.js.map +1 -1
  71. package/dist/components/MatchViewer.d.ts +0 -1
  72. package/dist/components/MatchViewer.d.ts.map +1 -1
  73. package/dist/components/MatchViewer.js +20 -10
  74. package/dist/components/MatchViewer.js.map +1 -1
  75. package/dist/components/Panel/MultiPanel.d.ts.map +1 -1
  76. package/dist/components/Panel/MultiPanel.js +14 -7
  77. package/dist/components/Panel/MultiPanel.js.map +1 -1
  78. package/dist/components/Panel/PanelContents.d.ts +2 -1
  79. package/dist/components/Panel/PanelContents.d.ts.map +1 -1
  80. package/dist/components/Panel/PanelContents.js +16 -11
  81. package/dist/components/Panel/PanelContents.js.map +1 -1
  82. package/dist/components/Panel/SinglePanel.d.ts.map +1 -1
  83. package/dist/components/Panel/SinglePanel.js +4 -3
  84. package/dist/components/Panel/SinglePanel.js.map +1 -1
  85. package/dist/components/Panel/ViewerWrapper.d.ts +1 -3
  86. package/dist/components/Panel/ViewerWrapper.d.ts.map +1 -1
  87. package/dist/components/Panel/ViewerWrapper.js +2 -3
  88. package/dist/components/Panel/ViewerWrapper.js.map +1 -1
  89. package/dist/components/Playground.d.ts.map +1 -1
  90. package/dist/components/Playground.js +353 -50
  91. package/dist/components/Playground.js.map +1 -1
  92. package/dist/components/PromptControls.d.ts.map +1 -1
  93. package/dist/components/PromptControls.js +39 -6
  94. package/dist/components/PromptControls.js.map +1 -1
  95. package/dist/components/ServerTrustMatchViewer.d.ts +11 -0
  96. package/dist/components/ServerTrustMatchViewer.d.ts.map +1 -0
  97. package/dist/components/ServerTrustMatchViewer.js +26 -0
  98. package/dist/components/ServerTrustMatchViewer.js.map +1 -0
  99. package/dist/components/Viewer.d.ts.map +1 -1
  100. package/dist/components/Viewer.js +54 -14
  101. package/dist/components/Viewer.js.map +1 -1
  102. package/dist/game/Chit.d.ts +6 -2
  103. package/dist/game/Chit.d.ts.map +1 -1
  104. package/dist/game/Chit.js +50 -6
  105. package/dist/game/Chit.js.map +1 -1
  106. package/dist/game/ClientTimeState.d.ts +1 -0
  107. package/dist/game/ClientTimeState.d.ts.map +1 -1
  108. package/dist/game/ClientTimeState.js +4 -1
  109. package/dist/game/ClientTimeState.js.map +1 -1
  110. package/dist/game/GalleryItemChitChildrenSource.d.ts +1 -0
  111. package/dist/game/GalleryItemChitChildrenSource.d.ts.map +1 -1
  112. package/dist/game/GalleryItemChitChildrenSource.js +1 -0
  113. package/dist/game/GalleryItemChitChildrenSource.js.map +1 -1
  114. package/dist/game/GalleryItemRawSource.d.ts +1 -0
  115. package/dist/game/GalleryItemRawSource.d.ts.map +1 -1
  116. package/dist/game/GalleryItemRawSource.js +1 -0
  117. package/dist/game/GalleryItemRawSource.js.map +1 -1
  118. package/dist/game/Game.d.ts +2 -1
  119. package/dist/game/Game.d.ts.map +1 -1
  120. package/dist/game/GameButton.d.ts +1 -0
  121. package/dist/game/GameButton.d.ts.map +1 -1
  122. package/dist/game/GameButton.js +2 -0
  123. package/dist/game/GameButton.js.map +1 -1
  124. package/dist/game/GameDeckChit.d.ts +6 -0
  125. package/dist/game/GameDeckChit.d.ts.map +1 -1
  126. package/dist/game/GameDeckChit.js +32 -5
  127. package/dist/game/GameDeckChit.js.map +1 -1
  128. package/dist/game/GameMetaData.d.ts +18 -0
  129. package/dist/game/GameMetaData.d.ts.map +1 -0
  130. package/dist/game/GameMetaData.js +2 -0
  131. package/dist/game/GameMetaData.js.map +1 -0
  132. package/dist/game/GameTheme.d.ts +11 -0
  133. package/dist/game/GameTheme.d.ts.map +1 -1
  134. package/dist/game/GameTheme.js +19 -4
  135. package/dist/game/GameTheme.js.map +1 -1
  136. package/dist/game/Match.d.ts +2 -1
  137. package/dist/game/Match.d.ts.map +1 -1
  138. package/dist/game/Match.js +4 -3
  139. package/dist/game/Match.js.map +1 -1
  140. package/dist/game/MatchStorage.d.ts +10 -0
  141. package/dist/game/MatchStorage.d.ts.map +1 -1
  142. package/dist/game/MatchStorage.js +29 -0
  143. package/dist/game/MatchStorage.js.map +1 -1
  144. package/dist/game/ModalState.d.ts +1 -0
  145. package/dist/game/ModalState.d.ts.map +1 -1
  146. package/dist/game/ModalState.js +1 -0
  147. package/dist/game/ModalState.js.map +1 -1
  148. package/dist/game/OrderedOutlet.d.ts.map +1 -1
  149. package/dist/game/OrderedOutlet.js +6 -6
  150. package/dist/game/OrderedOutlet.js.map +1 -1
  151. package/dist/game/Pick.d.ts +11 -1
  152. package/dist/game/Pick.d.ts.map +1 -1
  153. package/dist/game/Pick.js +83 -1
  154. package/dist/game/Pick.js.map +1 -1
  155. package/dist/game/PlayerChit.d.ts +2 -1
  156. package/dist/game/PlayerChit.d.ts.map +1 -1
  157. package/dist/game/PlayerChit.js +13 -1
  158. package/dist/game/PlayerChit.js.map +1 -1
  159. package/dist/game/PlayerInfo.d.ts +2 -1
  160. package/dist/game/PlayerInfo.d.ts.map +1 -1
  161. package/dist/game/PlayerInfo.js +20 -3
  162. package/dist/game/PlayerInfo.js.map +1 -1
  163. package/dist/game/Prompt.d.ts +1 -11
  164. package/dist/game/Prompt.d.ts.map +1 -1
  165. package/dist/game/Prompt.js +0 -32
  166. package/dist/game/Prompt.js.map +1 -1
  167. package/dist/game/RootChit.d.ts +4 -0
  168. package/dist/game/RootChit.d.ts.map +1 -1
  169. package/dist/game/RootChit.js +36 -1
  170. package/dist/game/RootChit.js.map +1 -1
  171. package/dist/game/Turn.d.ts +9 -8
  172. package/dist/game/Turn.d.ts.map +1 -1
  173. package/dist/game/Turn.js +34 -34
  174. package/dist/game/Turn.js.map +1 -1
  175. package/dist/game/TurnState.d.ts +3 -2
  176. package/dist/game/TurnState.d.ts.map +1 -1
  177. package/dist/game/TurnState.js +22 -2
  178. package/dist/game/TurnState.js.map +1 -1
  179. package/dist/game/badAiTransport/BadAIClientPrompts.d.ts +14 -0
  180. package/dist/game/badAiTransport/BadAIClientPrompts.d.ts.map +1 -0
  181. package/dist/game/badAiTransport/BadAIClientPrompts.js +50 -0
  182. package/dist/game/badAiTransport/BadAIClientPrompts.js.map +1 -0
  183. package/dist/game/clientTransport/ClientTime.js +1 -1
  184. package/dist/game/clientTransport/ClientTime.js.map +1 -1
  185. package/dist/game/serverTransport/ServerTime.d.ts.map +1 -1
  186. package/dist/game/serverTransport/ServerTime.js +1 -1
  187. package/dist/game/serverTransport/ServerTime.js.map +1 -1
  188. package/dist/hooks/useButtonGalleriesOptions.d.ts +4 -0
  189. package/dist/hooks/useButtonGalleriesOptions.d.ts.map +1 -0
  190. package/dist/hooks/useButtonGalleriesOptions.js +7 -0
  191. package/dist/hooks/useButtonGalleriesOptions.js.map +1 -0
  192. package/dist/hooks/useEventChannelState.js +1 -1
  193. package/dist/hooks/useEventChannelState.js.map +1 -1
  194. package/dist/hooks/useLoadingStates.d.ts +17 -0
  195. package/dist/hooks/useLoadingStates.d.ts.map +1 -0
  196. package/dist/hooks/useLoadingStates.js +44 -0
  197. package/dist/hooks/useLoadingStates.js.map +1 -0
  198. package/dist/hooks/useModalState.d.ts +2 -1
  199. package/dist/hooks/useModalState.d.ts.map +1 -1
  200. package/dist/hooks/useModalState.js +2 -2
  201. package/dist/hooks/useModalState.js.map +1 -1
  202. package/dist/hooks/usePanelPositioning.d.ts +0 -1
  203. package/dist/hooks/usePanelPositioning.d.ts.map +1 -1
  204. package/dist/hooks/usePanelPositioning.js.map +1 -1
  205. package/dist/index.d.ts +7 -5
  206. package/dist/index.d.ts.map +1 -1
  207. package/dist/index.js +17 -1
  208. package/dist/index.js.map +1 -1
  209. package/dist/rendering/CameraWrapperPerspective.d.ts.map +1 -1
  210. package/dist/rendering/CameraWrapperPerspective.js +1 -1
  211. package/dist/rendering/CameraWrapperPerspective.js.map +1 -1
  212. package/dist/rendering/ChitGalleryItemInstance.d.ts +2 -0
  213. package/dist/rendering/ChitGalleryItemInstance.d.ts.map +1 -1
  214. package/dist/rendering/ChitGalleryItemInstance.js +2 -0
  215. package/dist/rendering/ChitGalleryItemInstance.js.map +1 -1
  216. package/dist/rendering/ChitRenderInstance.d.ts +13 -2
  217. package/dist/rendering/ChitRenderInstance.d.ts.map +1 -1
  218. package/dist/rendering/ChitRenderInstance.js +95 -47
  219. package/dist/rendering/ChitRenderInstance.js.map +1 -1
  220. package/dist/rendering/ChitRenderSpec.d.ts +3 -0
  221. package/dist/rendering/ChitRenderSpec.d.ts.map +1 -1
  222. package/dist/rendering/ChitRenderSpec.js +3 -0
  223. package/dist/rendering/ChitRenderSpec.js.map +1 -1
  224. package/dist/rendering/RootChitRenderInstance.d.ts +5 -2
  225. package/dist/rendering/RootChitRenderInstance.d.ts.map +1 -1
  226. package/dist/rendering/RootChitRenderInstance.js +76 -13
  227. package/dist/rendering/RootChitRenderInstance.js.map +1 -1
  228. package/dist/rendering/SplayCounter.d.ts.map +1 -1
  229. package/dist/rendering/SplayCounter.js +1 -1
  230. package/dist/rendering/SplayCounter.js.map +1 -1
  231. package/dist/rendering/TextureReferenceCounter.d.ts +1 -1
  232. package/dist/rendering/TextureReferenceCounter.d.ts.map +1 -1
  233. package/dist/rendering/TextureReferenceCounter.js +10 -10
  234. package/dist/rendering/TextureReferenceCounter.js.map +1 -1
  235. package/dist/rendering/outline/passes/DepthOcclusionPass.js +1 -1
  236. package/dist/rendering/outline/passes/DepthOcclusionPass.js.map +1 -1
  237. package/dist/utilities/Annotations.d.ts +59 -0
  238. package/dist/utilities/Annotations.d.ts.map +1 -1
  239. package/dist/utilities/Annotations.js +63 -0
  240. package/dist/utilities/Annotations.js.map +1 -1
  241. package/dist/utilities/CanvasStack/CanvasOperations.d.ts +10 -1
  242. package/dist/utilities/CanvasStack/CanvasOperations.d.ts.map +1 -1
  243. package/dist/utilities/CanvasStack/CanvasOperations.js +8 -0
  244. package/dist/utilities/CanvasStack/CanvasOperations.js.map +1 -1
  245. package/dist/utilities/CanvasStack/ReactCanvas.d.ts +4 -2
  246. package/dist/utilities/CanvasStack/ReactCanvas.d.ts.map +1 -1
  247. package/dist/utilities/CanvasStack/ReactCanvas.js +5 -2
  248. package/dist/utilities/CanvasStack/ReactCanvas.js.map +1 -1
  249. package/dist/utilities/CanvasStack/RichTextRenderer.d.ts.map +1 -1
  250. package/dist/utilities/CanvasStack/RichTextRenderer.js +12 -4
  251. package/dist/utilities/CanvasStack/RichTextRenderer.js.map +1 -1
  252. package/dist/utilities/EventChannel.d.ts.map +1 -1
  253. package/dist/utilities/EventChannel.js +2 -3
  254. package/dist/utilities/EventChannel.js.map +1 -1
  255. package/dist/utilities/GlbLoader.d.ts +15 -0
  256. package/dist/utilities/GlbLoader.d.ts.map +1 -0
  257. package/dist/utilities/GlbLoader.js +212 -0
  258. package/dist/utilities/GlbLoader.js.map +1 -0
  259. package/dist/utilities/LayoutHelper.js +23 -2
  260. package/dist/utilities/LayoutHelper.js.map +1 -1
  261. package/dist/utilities/ObjectWithProps.d.ts.map +1 -1
  262. package/dist/utilities/ObjectWithProps.js +32 -3
  263. package/dist/utilities/ObjectWithProps.js.map +1 -1
  264. package/package.json +6 -5
  265. package/src/library/components/BottomBarButton.tsx +3 -0
  266. package/src/library/components/ClientTrustMatchViewer.tsx +23 -8
  267. package/src/library/components/ContextGalleryDisplay.tsx +2 -2
  268. package/src/library/components/DemoWrapper.tsx +113 -0
  269. package/src/library/components/{GalleryDisplay.tsx → FullScreenGalleryDisplay.tsx} +28 -2
  270. package/src/library/components/Gallery/AnimationController.ts +110 -0
  271. package/src/library/components/Gallery/BuiltItem.ts +385 -0
  272. package/src/library/components/Gallery/CameraManager.ts +54 -0
  273. package/src/library/components/Gallery/GalleryController.ts +193 -0
  274. package/src/library/components/Gallery/GalleryViewer.tsx +211 -0
  275. package/src/library/components/Gallery/LayoutManager.ts +166 -0
  276. package/src/library/components/Gallery/constants.ts +12 -0
  277. package/src/library/components/Gallery/index.ts +2 -0
  278. package/src/library/components/Gallery/types.ts +55 -0
  279. package/src/library/components/GalleryPlayground.tsx +1 -1
  280. package/src/library/components/GalleryViewer.tsx +4 -773
  281. package/src/library/components/GameDesigner.tsx +21 -4
  282. package/src/library/components/InlineGalleryDisplay.tsx +101 -0
  283. package/src/library/components/LiveButton.tsx +2 -1
  284. package/src/library/components/MatchViewer.tsx +32 -14
  285. package/src/library/components/Panel/MultiPanel.tsx +20 -8
  286. package/src/library/components/Panel/PanelContents.tsx +17 -12
  287. package/src/library/components/Panel/SinglePanel.tsx +5 -4
  288. package/src/library/components/Panel/ViewerWrapper.tsx +0 -5
  289. package/src/library/components/Playground.tsx +692 -119
  290. package/src/library/components/PromptControls.tsx +61 -8
  291. package/src/library/components/ServerTrustMatchViewer.tsx +53 -0
  292. package/src/library/components/Viewer.tsx +60 -20
  293. package/src/library/game/Chit.ts +53 -6
  294. package/src/library/game/ClientTimeState.ts +5 -1
  295. package/src/library/game/GalleryItemChitChildrenSource.ts +2 -0
  296. package/src/library/game/GalleryItemRawSource.ts +2 -0
  297. package/src/library/game/Game.ts +3 -1
  298. package/src/library/game/GameButton.ts +3 -0
  299. package/src/library/game/GameDeckChit.ts +36 -5
  300. package/src/library/game/GameMetaData.ts +19 -0
  301. package/src/library/game/GameTheme.ts +23 -5
  302. package/src/library/game/Match.ts +4 -3
  303. package/src/library/game/MatchStorage.ts +37 -0
  304. package/src/library/game/ModalState.ts +1 -0
  305. package/src/library/game/OrderedOutlet.ts +6 -6
  306. package/src/library/game/Pick.ts +98 -2
  307. package/src/library/game/PlayerChit.ts +13 -1
  308. package/src/library/game/PlayerInfo.ts +22 -3
  309. package/src/library/game/Prompt.ts +1 -36
  310. package/src/library/game/RootChit.ts +41 -1
  311. package/src/library/game/Turn.ts +37 -40
  312. package/src/library/game/TurnState.ts +22 -3
  313. package/src/library/game/badAiTransport/BadAIClientPrompts.ts +60 -0
  314. package/src/library/game/clientTransport/ClientTime.ts +1 -1
  315. package/src/library/game/serverTransport/ServerTime.ts +2 -2
  316. package/src/library/hooks/useButtonGalleriesOptions.tsx +9 -0
  317. package/src/library/hooks/useEventChannelState.ts +1 -1
  318. package/src/library/hooks/useLoadingStates.tsx +55 -0
  319. package/src/library/hooks/useModalState.tsx +2 -2
  320. package/src/library/hooks/usePanelPositioning.tsx +0 -1
  321. package/src/library/index.ts +21 -1
  322. package/src/library/rendering/CameraWrapperPerspective.ts +10 -12
  323. package/src/library/rendering/ChitGalleryItemInstance.ts +2 -0
  324. package/src/library/rendering/ChitRenderInstance.ts +119 -61
  325. package/src/library/rendering/ChitRenderSpec.ts +4 -0
  326. package/src/library/rendering/RootChitRenderInstance.ts +87 -13
  327. package/src/library/rendering/SplayCounter.tsx +2 -1
  328. package/src/library/rendering/TextureReferenceCounter.ts +9 -9
  329. package/src/library/rendering/outline/passes/DepthOcclusionPass.ts +1 -1
  330. package/src/library/utilities/Annotations.ts +99 -0
  331. package/src/library/utilities/CanvasStack/CanvasOperations.tsx +19 -1
  332. package/src/library/utilities/CanvasStack/ReactCanvas.tsx +10 -3
  333. package/src/library/utilities/CanvasStack/RichTextRenderer.ts +14 -4
  334. package/src/library/utilities/EventChannel.ts +2 -4
  335. package/src/library/utilities/GlbLoader.ts +292 -0
  336. package/src/library/utilities/LayoutHelper.ts +28 -2
  337. package/src/library/utilities/ObjectWithProps.ts +27 -3
  338. package/dist/components/GalleryDisplay.d.ts +0 -2
  339. package/dist/components/GalleryDisplay.d.ts.map +0 -1
  340. package/dist/components/GalleryDisplay.js +0 -42
  341. package/dist/components/GalleryDisplay.js.map +0 -1
  342. package/dist/utilities/OutlineCanvas.d.ts +0 -12
  343. package/dist/utilities/OutlineCanvas.d.ts.map +0 -1
  344. package/dist/utilities/OutlineCanvas.js +0 -31
  345. package/dist/utilities/OutlineCanvas.js.map +0 -1
  346. package/dist/utilities/OutlineGeometry.d.ts +0 -3
  347. package/dist/utilities/OutlineGeometry.d.ts.map +0 -1
  348. package/dist/utilities/OutlineGeometry.js +0 -57
  349. package/dist/utilities/OutlineGeometry.js.map +0 -1
  350. package/src/library/utilities/OutlineCanvas.tsx +0 -45
  351. package/src/library/utilities/OutlineGeometry.ts +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryItemRawSource.js","sourceRoot":"","sources":["../../src/library/game/GalleryItemRawSource.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,oBAAoB;IAC/B,YAAoB,YAA2B;QAA3B,iBAAY,GAAZ,YAAY,CAAe;IAAG,CAAC;IAEnD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,KAAI,CAAC;IAEV,qBAAqB;QACnB,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"GalleryItemRawSource.js","sourceRoot":"","sources":["../../src/library/game/GalleryItemRawSource.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,oBAAoB;IAC/B,YAAoB,YAA2B;QAA3B,iBAAY,GAAZ,YAAY,CAAe;QAExC,sBAAiB,GAAwB,SAAS,CAAC;IAFR,CAAC;IAInD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,KAAI,CAAC;IAEV,qBAAqB;QACnB,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;CACF"}
@@ -7,6 +7,7 @@ import { PlayerChit } from "./PlayerChit";
7
7
  import { RootChit } from "./RootChit";
8
8
  import { ChitRenderSpec } from "../rendering/ChitRenderSpec";
9
9
  import { TokenDefinition } from "../components/TokenizedMessage";
10
+ import { GameMetaData } from "./GameMetaData";
10
11
  export interface IChitLibrary<P extends PlayerChit, R extends RootChit<P>> {
11
12
  [key: string]: new () => Chit;
12
13
  Player: new () => P;
@@ -34,10 +35,10 @@ export type GameResult<P extends PlayerChit> = {
34
35
  */
35
36
  export interface Game<P extends PlayerChit, R extends RootChit<P>> {
36
37
  get theme(): GameTheme;
37
- get name(): string;
38
38
  get chitLibrary(): IChitLibrary<P, R>;
39
39
  get canvasLibrary(): ICanvasLibrary;
40
40
  get buttonLibrary(): IButtonLibrary;
41
+ get metadata(): GameMetaData;
41
42
  tokenMap?: {
42
43
  [key: string]: TokenDefinition;
43
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Game.d.ts","sourceRoot":"","sources":["../../src/library/game/Game.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC;IACvE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,IAAI,CAAC;IAC9B,MAAM,EAAE,UAAU,CAAC,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,mBAAmB,CAAC;CAC9C;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,UAAU,CAAC;CACrC;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,UAAU,IAAI;IAC7C,OAAO,EAAE,CAAC,EAAE,CAAC;CACd,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC;IAC/D,IAAI,KAAK,IAAI,SAAS,CAAC;IACvB,IAAI,IAAI,IAAI,MAAM,CAAC;IACnB,IAAI,WAAW,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,aAAa,IAAI,cAAc,CAAC;IACpC,IAAI,aAAa,IAAI,cAAc,CAAC;IACpC,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;IAE9C,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3E;;;OAGG;IACH,qBAAqB,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;CACpD"}
1
+ {"version":3,"file":"Game.d.ts","sourceRoot":"","sources":["../../src/library/game/Game.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC;IACvE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,IAAI,CAAC;IAC9B,MAAM,EAAE,UAAU,CAAC,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,mBAAmB,CAAC;CAC9C;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,UAAU,CAAC;CACrC;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,UAAU,IAAI;IAC7C,OAAO,EAAE,CAAC,EAAE,CAAC;CACd,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC;IAC/D,IAAI,KAAK,IAAI,SAAS,CAAC;IACvB,IAAI,WAAW,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,aAAa,IAAI,cAAc,CAAC;IACpC,IAAI,aAAa,IAAI,cAAc,CAAC;IACpC,IAAI,QAAQ,IAAI,YAAY,CAAC;IAE7B,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;IAE9C,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3E;;;OAGG;IACH,qBAAqB,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;CACpD"}
@@ -14,6 +14,7 @@ export declare class GameButton {
14
14
  }
15
15
  export declare class ToggleGalleryButton extends GameButton {
16
16
  autoShow: boolean;
17
+ toggleSmallSize?: number;
17
18
  setParentChit(parentChit: Chit): this;
18
19
  }
19
20
  export declare abstract class DynamicGameButton<T> extends GameButton {
@@ -1 +1 @@
1
- {"version":3,"file":"GameButton.d.ts","sourceRoot":"","sources":["../../src/library/game/GameButton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAsB,MAAM,QAAQ,CAAC;AAExD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAM9B,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAExD,qBAAa,UAAU;IAWF,EAAE,CAAC,EAAE,cAAc;IAP/B,IAAI,EAAE,mBAAmB,CAAQ;IACjC,KAAK,EAAE,MAAM,CAAa;IAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;gBAKhB,EAAE,CAAC,EAAE,cAAc,YAAA;IAEtC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAOpC,IAAI,IAAI,UAAU;IAIlB,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;CAa3C;AAED,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,QAAQ,UAAQ;IAQhB,aAAa,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI;CA6BtC;AAED,8BAAsB,iBAAiB,CAAC,CAAC,CAAE,SAAQ,UAAU;IAC3D,OAAO,CAAC,IAAI,CAAgB;IAE5B,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAMrB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;CAmBhC;AAED,qBAAa,OAAQ,SAAQ,UAAU;IACrC,KAAK,SAAa;IAClB,IAAI;;MAAS;CAGd"}
1
+ {"version":3,"file":"GameButton.d.ts","sourceRoot":"","sources":["../../src/library/game/GameButton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAsB,MAAM,QAAQ,CAAC;AAExD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAM9B,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAExD,qBAAa,UAAU;IAWF,EAAE,CAAC,EAAE,cAAc;IAP/B,IAAI,EAAE,mBAAmB,CAAQ;IACjC,KAAK,EAAE,MAAM,CAAa;IAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;gBAKhB,EAAE,CAAC,EAAE,cAAc,YAAA;IAEtC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAOpC,IAAI,IAAI,UAAU;IAIlB,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;CAa3C;AAED,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,QAAQ,UAAQ;IAEhB,eAAe,CAAC,EAAE,MAAM,CAAO;IAQ/B,aAAa,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI;CA8BtC;AAED,8BAAsB,iBAAiB,CAAC,CAAC,CAAE,SAAQ,UAAU;IAC3D,OAAO,CAAC,IAAI,CAAgB;IAE5B,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAMrB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;CAmBhC;AAED,qBAAa,OAAQ,SAAQ,UAAU;IACrC,KAAK,SAAa;IAClB,IAAI;;MAAS;CAGd"}
@@ -53,6 +53,7 @@ export class ToggleGalleryButton extends GameButton {
53
53
  constructor() {
54
54
  super(...arguments);
55
55
  this.autoShow = true;
56
+ this.toggleSmallSize = 125;
56
57
  /** @internal */
57
58
  this.parentChit = undefined;
58
59
  /** @internal */
@@ -84,6 +85,7 @@ export class ToggleGalleryButton extends GameButton {
84
85
  else {
85
86
  this.galleryItemSource = new GalleryItemRawSource(chitsToGalleryItems(chitPick.chits));
86
87
  }
88
+ this.galleryItemSource.inlineGallerySize = this.toggleSmallSize;
87
89
  }
88
90
  }
89
91
  export class DynamicGameButton extends GameButton {
@@ -1 +1 @@
1
- {"version":3,"file":"GameButton.js","sourceRoot":"","sources":["../../src/library/game/GameButton.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameButton.js","sourceRoot":"","sources":["../../src/library/game/GameButton.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,16 @@ export type Stage<T> = {
12
12
  */
13
13
  export declare class GameDeckChit<T extends Chit> extends Chit {
14
14
  type: string;
15
+ /**
16
+ * If true, the contents of chits are shuffled as they are drawn. This should only be used if
17
+ * all chits are of the same class type
18
+ */
19
+ protectSecrets: boolean;
15
20
  chitGenerator?: () => T;
16
21
  stages: Stage<T>[];
17
22
  shouldRenderChild(childChit: Chit): boolean;
18
23
  draw(message?: string): Promise<T | undefined>;
24
+ shuffle(): void;
19
25
  private isEmpty;
20
26
  private findDiscardStage;
21
27
  discard(chit: T | T[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"GameDeckChit.d.ts","sourceRoot":"","sources":["../../src/library/game/GameDeckChit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,CAAC,EAAE,CAAC;CACZ,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,IAAI,CAAE,SAAQ,IAAI;IACvC,IAAI,SAAU;IAEpB,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;IACxB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAM;IAGtB,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO;IAI9C,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA2BpD,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE;CAYtB"}
1
+ {"version":3,"file":"GameDeckChit.d.ts","sourceRoot":"","sources":["../../src/library/game/GameDeckChit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,CAAC,EAAE,CAAC;CACZ,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,IAAI,CAAE,SAAQ,IAAI;IACvC,IAAI,SAAU;IAE3B;;;OAGG;IACI,cAAc,UAAQ;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;IACxB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAM;IAGtB,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO;IAI9C,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAgD7C,OAAO;IAId,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE;CAYtB"}
@@ -20,6 +20,11 @@ export class GameDeckChit extends Chit {
20
20
  constructor() {
21
21
  super(...arguments);
22
22
  this.type = "deck";
23
+ /**
24
+ * If true, the contents of chits are shuffled as they are drawn. This should only be used if
25
+ * all chits are of the same class type
26
+ */
27
+ this.protectSecrets = true;
23
28
  this.chitGenerator = undefined;
24
29
  this.stages = [];
25
30
  }
@@ -35,11 +40,30 @@ export class GameDeckChit extends Chit {
35
40
  if (stage) {
36
41
  switch (stage.type) {
37
42
  case "draw": {
38
- const index = Math.floor(stage.chits.length * (await this.currentTurn.rng(message)));
39
- const selected = stage.chits[index];
40
- stage.chits.splice(index, 1);
41
- selected.setParent();
42
- return selected;
43
+ if (this.protectSecrets) {
44
+ const rngs = await this.currentTurn.takeRng(2, message);
45
+ const resultIndex = Math.floor(stage.chits.length * rngs());
46
+ const swapIndex = Math.floor(stage.chits.length * rngs());
47
+ const selected = stage.chits[resultIndex];
48
+ const swap = stage.chits[swapIndex];
49
+ if (selected.id) {
50
+ const selectedSerialized = selected.serialize();
51
+ const swapSerialized = swap.serialize();
52
+ selected.deserialize(swapSerialized, this.currentTurn.findChit);
53
+ swap.deserialize(selectedSerialized, this.currentTurn.findChit);
54
+ }
55
+ stage.chits.splice(resultIndex, 1);
56
+ selected.setParent();
57
+ return selected;
58
+ }
59
+ else {
60
+ const rng = await this.currentTurn.rng();
61
+ const resultIndex = Math.floor(stage.chits.length * rng);
62
+ const selected = stage.chits[resultIndex];
63
+ stage.chits.splice(resultIndex, 1);
64
+ selected.setParent();
65
+ return selected;
66
+ }
43
67
  }
44
68
  case "discard": {
45
69
  stage.type = "draw";
@@ -51,6 +75,9 @@ export class GameDeckChit extends Chit {
51
75
  return this.chitGenerator();
52
76
  }
53
77
  }
78
+ shuffle() {
79
+ this.stages = [{ type: "draw", chits: this.stages.map((stage) => stage.chits).flat() }];
80
+ }
54
81
  isEmpty(stage) {
55
82
  return stage?.chits.length === 0;
56
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GameDeckChit.js","sourceRoot":"","sources":["../../src/library/game/GameDeckChit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameDeckChit.js","sourceRoot":"","sources":["../../src/library/game/GameDeckChit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export type GameMetaData = {
2
+ name: string;
3
+ description: string;
4
+ licenseInformation?: string;
5
+ implementationNotes?: string;
6
+ publisher?: string;
7
+ designer?: string;
8
+ artist?: string;
9
+ tutorialVideoUrl?: string;
10
+ rulesPdfUrl?: string;
11
+ purchaseUrl?: string;
12
+ publisherUrl?: string;
13
+ repositoryUrl?: string;
14
+ bugReportUrl?: string;
15
+ boxArt: string;
16
+ screenshot: string;
17
+ };
18
+ //# sourceMappingURL=GameMetaData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameMetaData.d.ts","sourceRoot":"","sources":["../../src/library/game/GameMetaData.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GameMetaData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameMetaData.js","sourceRoot":"","sources":["../../src/library/game/GameMetaData.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ export declare const DEFAULT_FONT_FAMILY = "Quicksand, sans-serif";
1
2
  /**
2
3
  * Controls color scheme and layout options for all things in a pretty-chitty game. Much of
3
4
  * this can be overridden per chit, but some cannot. For example, the background color of the game
@@ -9,6 +10,10 @@
9
10
  * @group Core Game Elements
10
11
  */
11
12
  export declare class GameTheme {
13
+ static defaultFontFamily: string;
14
+ private _fontFamily;
15
+ get fontFamily(): string;
16
+ set fontFamily(value: string);
12
17
  backgroundColor: string;
13
18
  spacing: number;
14
19
  bottomBarHeight: number;
@@ -23,6 +28,7 @@ export declare class GameTheme {
23
28
  actionBarContextColor: string;
24
29
  actionBarContextAnimationDuration: number;
25
30
  actionBarContextShadow: string;
31
+ actionBarToggleSelectedColor: string;
26
32
  barTextColor: string;
27
33
  barTextHighlightColor: string;
28
34
  barBreak: string;
@@ -57,6 +63,8 @@ export declare class GameTheme {
57
63
  galleryItemWidth: number;
58
64
  galleryItemHeight: number | undefined;
59
65
  galleryItemSpacing: number;
66
+ galleryItemMinimumWidth: number;
67
+ galleryItemMinimumHeight: number;
60
68
  gallerySummaryBackgroundColor: string;
61
69
  gallerySummaryBackgroundOpacity: number;
62
70
  actionLogBackgroundColor: string;
@@ -65,6 +73,9 @@ export declare class GameTheme {
65
73
  actionLogTextColor: string;
66
74
  actionBarWidth: number;
67
75
  actionBarLinesToShow: number;
76
+ inlineGalleryBackgroundColor: string;
77
+ inlineGalleryButtonBackgroundColor: string;
78
+ inlineGalleryButtonForegroundColor: string;
68
79
  /** Reference to .png or .jpg file to show as box art in advertising the game */
69
80
  boxArt: string;
70
81
  /** Reference to .png or .jpg file to show as a screenshot in advertising the game */
@@ -1 +1 @@
1
- {"version":3,"file":"GameTheme.d.ts","sourceRoot":"","sources":["../../src/library/game/GameTheme.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,qBAAa,SAAS;IACb,eAAe,SAAa;IAE5B,OAAO,SAAK;IACZ,eAAe,SAAM;IACrB,YAAY,SAAM;IAClB,QAAQ,SAAa;IACrB,kBAAkB,SAAQ;IAC1B,gBAAgB,SAAO;IAEvB,yBAAyB,SAAO;IAChC,uBAAuB,SAAO;IAE9B,cAAc,SAAa;IAC3B,0BAA0B,SAAO;IACjC,qBAAqB,SAAa;IAClC,iCAAiC,SAAO;IACxC,sBAAsB,SAAqB;IAE3C,YAAY,SAA2B;IACvC,qBAAqB,SAA2B;IAChD,QAAQ,SAA2B;IACnC,kBAAkB,SAA2B;IAC7C,qBAAqB,SAAa;IAClC,oBAAoB,SAA2B;IAC/C,cAAc,SAAa;IAC3B,sBAAsB,SAAa;IACnC,cAAc,SAAa;IAC3B,mBAAmB,SAAa;IAChC,eAAe,SAA2B;IAE1C,sBAAsB,SAAa;IACnC,gBAAgB,SAAyB;IAEzC,kBAAkB,SAAa;IAC/B,gBAAgB,SAAK;IACrB,mBAAmB,SAAQ;IAE3B,8BAA8B,SAAa;IAC3C,4BAA4B,SAAa;IAEzC,qBAAqB,SAAqB;IAC1C,qBAAqB,SAAa;IAClC,cAAc,SAAM;IAEpB,oBAAoB,SAAU;IAC9B,aAAa,SAAO;IACpB,gBAAgB,SAAK;IACrB,YAAY,SAAK;IACjB,gBAAgB,SAAqB;IACrC,eAAe,SAAU;IACzB,SAAS,SAAM;IACf,aAAa,SAAM;IACnB,qBAAqB,SAAqB;IAC1C,2BAA2B,SAAqB;IAEhD,gBAAgB,SAAO;IACvB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,kBAAkB,SAAM;IAExB,6BAA6B,SAAa;IAC1C,+BAA+B,SAAO;IAEtC,wBAAwB,SAA4B;IACpD,8BAA8B,SAAa;IAC3C,uCAAuC,SAA2B;IAClE,kBAAkB,SAAa;IAC/B,cAAc,SAAO;IACrB,oBAAoB,SAAK;IAEhC,gFAAgF;IACzE,MAAM,SAAM;IACnB,qFAAqF;IAC9E,UAAU,SAAM;IAEvB,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB;IA+B1F,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ;CAGzD"}
1
+ {"version":3,"file":"GameTheme.d.ts","sourceRoot":"","sources":["../../src/library/game/GameTheme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAE3D;;;;;;;;;GASG;AACH,qBAAa,SAAS;IACpB,OAAc,iBAAiB,SAAuB;IAEtD,OAAO,CAAC,WAAW,CAAuB;IAC1C,IAAW,UAAU,IAGQ,MAAM,CADlC;IACD,IAAW,UAAU,CAAC,KAAK,EAAE,MAAM,EAGlC;IAEM,eAAe,SAAa;IAE5B,OAAO,SAAK;IACZ,eAAe,SAAM;IACrB,YAAY,SAAM;IAClB,QAAQ,SAAa;IACrB,kBAAkB,SAAQ;IAC1B,gBAAgB,SAAO;IAEvB,yBAAyB,SAAO;IAChC,uBAAuB,SAAO;IAE9B,cAAc,SAAa;IAC3B,0BAA0B,SAAO;IACjC,qBAAqB,SAAa;IAClC,iCAAiC,SAAO;IACxC,sBAAsB,SAAqB;IAC3C,4BAA4B,SAA2B;IAEvD,YAAY,SAA2B;IACvC,qBAAqB,SAA2B;IAChD,QAAQ,SAA2B;IACnC,kBAAkB,SAA2B;IAC7C,qBAAqB,SAAa;IAClC,oBAAoB,SAA2B;IAC/C,cAAc,SAAa;IAC3B,sBAAsB,SAAa;IACnC,cAAc,SAAa;IAC3B,mBAAmB,SAAa;IAChC,eAAe,SAA2B;IAE1C,sBAAsB,SAAa;IACnC,gBAAgB,SAAyB;IAEzC,kBAAkB,SAAa;IAC/B,gBAAgB,SAAK;IACrB,mBAAmB,SAAQ;IAE3B,8BAA8B,SAAa;IAC3C,4BAA4B,SAAa;IAEzC,qBAAqB,SAAqB;IAC1C,qBAAqB,SAAa;IAClC,cAAc,SAAM;IAEpB,oBAAoB,SAAU;IAC9B,aAAa,SAAO;IACpB,gBAAgB,SAAK;IACrB,YAAY,SAAK;IACjB,gBAAgB,SAAqB;IACrC,eAAe,SAAU;IACzB,SAAS,SAAM;IACf,aAAa,SAAM;IACnB,qBAAqB,SAAqB;IAC1C,2BAA2B,SAAqB;IAEhD,gBAAgB,SAAO;IACvB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,kBAAkB,SAAM;IACxB,uBAAuB,SAAM;IAC7B,wBAAwB,SAAM;IAE9B,6BAA6B,SAAa;IAC1C,+BAA+B,SAAO;IAEtC,wBAAwB,SAA4B;IACpD,8BAA8B,SAAa;IAC3C,uCAAuC,SAA2B;IAClE,kBAAkB,SAAa;IAC/B,cAAc,SAAO;IACrB,oBAAoB,SAAK;IACzB,4BAA4B,SAA2B;IACvD,kCAAkC,SAAa;IAC/C,kCAAkC,SAA2B;IAEpE,gFAAgF;IACzE,MAAM,SAAM;IACnB,qFAAqF;IAC9E,UAAU,SAAM;IAEvB,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB;IA8B1F,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ;CAGzD"}
@@ -1,4 +1,5 @@
1
1
  import Color from "color";
2
+ export const DEFAULT_FONT_FAMILY = "Quicksand, sans-serif";
2
3
  /**
3
4
  * Controls color scheme and layout options for all things in a pretty-chitty game. Much of
4
5
  * this can be overridden per chit, but some cannot. For example, the background color of the game
@@ -11,6 +12,7 @@ import Color from "color";
11
12
  */
12
13
  export class GameTheme {
13
14
  constructor() {
15
+ this._fontFamily = DEFAULT_FONT_FAMILY;
14
16
  this.backgroundColor = "#0f0119";
15
17
  this.spacing = 8;
16
18
  this.bottomBarHeight = 80;
@@ -25,12 +27,13 @@ export class GameTheme {
25
27
  this.actionBarContextColor = "#3a1957";
26
28
  this.actionBarContextAnimationDuration = 0.3;
27
29
  this.actionBarContextShadow = "rgba(0,0,0,0.2)";
30
+ this.actionBarToggleSelectedColor = "rgba(255,255,255,0.6)";
28
31
  this.barTextColor = "rgba(255,255,255,0.6)";
29
32
  this.barTextHighlightColor = "rgba(255,255,255,0.6)";
30
33
  this.barBreak = "rgba(255,255,255,0.3)";
31
34
  this.barActiveTextColor = "rgba(255,255,255,0.9)";
32
35
  this.barHighlightTextColor = "#66d5c1";
33
- this.barDisabledTextColor = "rgba(255,255,255,0.2)";
36
+ this.barDisabledTextColor = "rgba(255,255,255,0.3)";
34
37
  this.panelSlotColor = "#858b99";
35
38
  this.panelSlotSelectedColor = "#66d5c1";
36
39
  this.fullResetColor = "#66d5c1";
@@ -59,6 +62,8 @@ export class GameTheme {
59
62
  this.galleryItemWidth = 150;
60
63
  this.galleryItemHeight = undefined;
61
64
  this.galleryItemSpacing = 20;
65
+ this.galleryItemMinimumWidth = 75;
66
+ this.galleryItemMinimumHeight = 50;
62
67
  this.gallerySummaryBackgroundColor = "#000000";
63
68
  this.gallerySummaryBackgroundOpacity = 0.7;
64
69
  this.actionLogBackgroundColor = "rgba(255,255,255,0.05)";
@@ -67,11 +72,21 @@ export class GameTheme {
67
72
  this.actionLogTextColor = "#ffffff";
68
73
  this.actionBarWidth = 600;
69
74
  this.actionBarLinesToShow = 2;
75
+ this.inlineGalleryBackgroundColor = "rgba(255,255,255,0.1)";
76
+ this.inlineGalleryButtonBackgroundColor = "#000000";
77
+ this.inlineGalleryButtonForegroundColor = "rgba(255,255,255,0.5)";
70
78
  /** Reference to .png or .jpg file to show as box art in advertising the game */
71
79
  this.boxArt = "";
72
80
  /** Reference to .png or .jpg file to show as a screenshot in advertising the game */
73
81
  this.screenshot = "";
74
82
  }
83
+ get fontFamily() {
84
+ return this._fontFamily;
85
+ }
86
+ set fontFamily(value) {
87
+ this._fontFamily = value;
88
+ GameTheme.defaultFontFamily = value;
89
+ }
75
90
  static withDefaults(primaryColor, highlight, textColor = "#ffffff") {
76
91
  const result = new GameTheme();
77
92
  result.chitHighlightColor = highlight;
@@ -83,6 +98,8 @@ export class GameTheme {
83
98
  result.barHighlightTextColor = highlight;
84
99
  result.barTopDropdownColor = Color(primaryColor).mix(Color(highlight), 0.1).alpha(0.9).hexa();
85
100
  result.barTextHighlightColor = highlight;
101
+ result.actionBarToggleSelectedColor = primaryColor;
102
+ result.inlineGalleryButtonBackgroundColor = primaryColor;
86
103
  result.endGameBackgroundColor = result.barTopDropdownColor;
87
104
  result.barTextColor = Color(textColor).alpha(0.9).hexa();
88
105
  result.barTextHighlightColor = Color(textColor).mix(Color(highlight), 0.5).alpha(0.9).hexa();
@@ -90,9 +107,6 @@ export class GameTheme {
90
107
  result.barActiveTextColor = Color(textColor).alpha(0.9).hexa();
91
108
  result.barTopLineColor = Color(textColor).alpha(0.1).hexa();
92
109
  result.endGameTextColor = Color(textColor).alpha(1).hexa();
93
- result.barDisabledTextColor = Color(result.barColor).isLight()
94
- ? Color(result.barColor).darken(0.75).hexa()
95
- : Color(result.barColor).lighten(0.75).hexa();
96
110
  result.actionLogTextColor = result.barActiveTextColor;
97
111
  result.actionLogDialogBackgroundColor = result.backgroundColor;
98
112
  return result;
@@ -101,4 +115,5 @@ export class GameTheme {
101
115
  return width >= this.actionBarWidth * 2 ? "large" : width >= this.actionBarWidth * 1.3 ? "medium" : "mobile";
102
116
  }
103
117
  }
118
+ GameTheme.defaultFontFamily = DEFAULT_FONT_FAMILY;
104
119
  //# sourceMappingURL=GameTheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GameTheme.js","sourceRoot":"","sources":["../../src/library/game/GameTheme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameTheme.js","sourceRoot":"","sources":["../../src/library/game/GameTheme.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,13 @@ export declare class Match<P extends PlayerChit, R extends RootChit<P>> {
12
12
  game: Game<P, R>;
13
13
  players: PlayerInfo[];
14
14
  private matchStorage;
15
+ private matchOptions?;
15
16
  state: TurnState;
16
17
  result: EventChannel<GameResult<P> | undefined>;
17
18
  turn: EventChannel<Turn<GameResult<P>, P, R> | undefined>;
18
19
  errorState: EventChannel<string | undefined>;
19
20
  private onChangeCallbacks;
20
- constructor(game: Game<P, R>, players: PlayerInfo[], matchStorage: IMatchStorage);
21
+ constructor(game: Game<P, R>, players: PlayerInfo[], matchStorage: IMatchStorage, matchOptions?: any | undefined);
21
22
  load(): Promise<void>;
22
23
  findPlayer(playerId: string): PlayerInfo;
23
24
  start(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Match.d.ts","sourceRoot":"","sources":["../../src/library/game/Match.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAA6B,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC;IAQnD,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,EAAE,UAAU,EAAE;IAC5B,OAAO,CAAC,YAAY;IATf,KAAK,EAAE,SAAS,CAAmB;IACnC,MAAM,0CAA0D;IAChE,IAAI,sDAAsE;IAC1E,UAAU,mCAAmD;IACpE,OAAO,CAAC,iBAAiB,CAAsB;gBAGtC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAChB,OAAO,EAAE,UAAU,EAAE,EACpB,YAAY,EAAE,aAAa;IAG/B,IAAI;IA2BH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAQzC,KAAK;IAgEX,OAAO,CAAC,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM;IASxD,OAAO,CAAC,QAAQ,CAAC,CAAsC;IACvD,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAsBjB,OAAO;IAIP,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,OAAO,UAAO;CAO/C"}
1
+ {"version":3,"file":"Match.d.ts","sourceRoot":"","sources":["../../src/library/game/Match.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAA6B,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC;IAQnD,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,EAAE,UAAU,EAAE;IAC5B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY,CAAC;IAVhB,KAAK,EAAE,SAAS,CAAmB;IACnC,MAAM,0CAA0D;IAChE,IAAI,sDAAsE;IAC1E,UAAU,mCAAmD;IACpE,OAAO,CAAC,iBAAiB,CAAsB;gBAGtC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAChB,OAAO,EAAE,UAAU,EAAE,EACpB,YAAY,EAAE,aAAa,EAC3B,YAAY,CAAC,EAAE,GAAG,YAAA;IAGtB,IAAI;IA2BH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAQzC,KAAK;IAiEX,OAAO,CAAC,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM;IASxD,OAAO,CAAC,QAAQ,CAAC,CAAsC;IACvD,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAsBjB,OAAO;IAIP,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,OAAO,UAAO;CAO/C"}
@@ -2,15 +2,15 @@ import { Connection } from "./Connection";
2
2
  import { ServerTime } from "./serverTransport/ServerTime";
3
3
  import { MismatchError, RerunError, Turn } from "./Turn";
4
4
  import { TurnState } from "./TurnState";
5
- import nextTick from "next-tick";
6
5
  import { ServerPrompts } from "./serverTransport/ServerPrompts";
7
6
  import { EventChannel } from "../utilities/EventChannel";
8
7
  import { ServerStatus } from "./serverTransport/ServerStatus";
9
8
  export class Match {
10
- constructor(game, players, matchStorage) {
9
+ constructor(game, players, matchStorage, matchOptions) {
11
10
  this.game = game;
12
11
  this.players = players;
13
12
  this.matchStorage = matchStorage;
13
+ this.matchOptions = matchOptions;
14
14
  this.state = new TurnState();
15
15
  this.result = new EventChannel(undefined);
16
16
  this.turn = new EventChannel(undefined);
@@ -67,6 +67,7 @@ export class Match {
67
67
  const rootChit = new this.game.chitLibrary.Root();
68
68
  rootChit.id = "root";
69
69
  rootChit.game = this.game;
70
+ rootChit.processMatchOptions(this.matchOptions ?? {});
70
71
  this.players.forEach((p) => {
71
72
  const Player = this.game.chitLibrary.Player;
72
73
  const player = new Player();
@@ -142,7 +143,7 @@ export class Match {
142
143
  }
143
144
  onChange(cb, callNow = true) {
144
145
  this.onChangeCallbacks.push(cb);
145
- callNow && nextTick(cb);
146
+ callNow && queueMicrotask(cb);
146
147
  return () => {
147
148
  this.onChangeCallbacks = this.onChangeCallbacks.filter((c) => c !== cb);
148
149
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Match.js","sourceRoot":"","sources":["../../src/library/game/Match.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Match.js","sourceRoot":"","sources":["../../src/library/game/Match.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,14 @@ export declare class LocalMatchStorage implements IMatchStorage {
14
14
  registerNewStateCallback(cb: (newState: any) => void): () => void;
15
15
  private notify;
16
16
  }
17
+ export declare class EphemeralMatchStorage implements IMatchStorage {
18
+ private matchId;
19
+ constructor(matchId: string);
20
+ private onChangeCallbacks;
21
+ private state;
22
+ readState(): Promise<any>;
23
+ saveState(newState: any, players: PlayerChit[], matchState: "active" | "finished", winners?: PlayerChit[], notify?: boolean): Promise<void>;
24
+ registerNewStateCallback(cb: (newState: any) => void): () => void;
25
+ private notify;
26
+ }
17
27
  //# sourceMappingURL=MatchStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MatchStorage.d.ts","sourceRoot":"","sources":["../../src/library/game/MatchStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,SAAS,CACP,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,UAAU,EAAE,EACrB,UAAU,EAAE,QAAQ,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,UAAU,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,wBAAwB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACnE;AAED,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IACnC,OAAO,CAAC,iBAAiB,CAAgC;IAEzD,OAAO,KAAK,eAAe,GAE1B;IAEK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAOzB,SAAS,CACb,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,UAAU,EAAE,EACrB,UAAU,EAAE,QAAQ,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,UAAU,EAAE,EACtB,MAAM,UAAQ,GACb,OAAO,CAAC,IAAI,CAAC;IAMhB,wBAAwB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAOjE,OAAO,CAAC,MAAM;CAGf"}
1
+ {"version":3,"file":"MatchStorage.d.ts","sourceRoot":"","sources":["../../src/library/game/MatchStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,SAAS,CACP,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,UAAU,EAAE,EACrB,UAAU,EAAE,QAAQ,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,UAAU,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,wBAAwB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACnE;AAED,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IACnC,OAAO,CAAC,iBAAiB,CAAgC;IAEzD,OAAO,KAAK,eAAe,GAE1B;IAEK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAOzB,SAAS,CACb,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,UAAU,EAAE,EACrB,UAAU,EAAE,QAAQ,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,UAAU,EAAE,EACtB,MAAM,UAAQ,GACb,OAAO,CAAC,IAAI,CAAC;IAMhB,wBAAwB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAOjE,OAAO,CAAC,MAAM;CAGf;AAED,qBAAa,qBAAsB,YAAW,aAAa;IAC7C,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IACnC,OAAO,CAAC,iBAAiB,CAAgC;IAEzD,OAAO,CAAC,KAAK,CAAgB;IAEvB,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAOzB,SAAS,CACb,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,UAAU,EAAE,EACrB,UAAU,EAAE,QAAQ,GAAG,UAAU,EACjC,OAAO,CAAC,EAAE,UAAU,EAAE,EACtB,MAAM,UAAQ,GACb,OAAO,CAAC,IAAI,CAAC;IAMhB,wBAAwB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAOjE,OAAO,CAAC,MAAM;CAGf"}
@@ -29,4 +29,33 @@ export class LocalMatchStorage {
29
29
  this.onChangeCallbacks.forEach((cb) => cb(state));
30
30
  }
31
31
  }
32
+ export class EphemeralMatchStorage {
33
+ constructor(matchId) {
34
+ this.matchId = matchId;
35
+ this.onChangeCallbacks = [];
36
+ this.state = "{}";
37
+ }
38
+ async readState() {
39
+ const result = this.state;
40
+ if (result) {
41
+ return JSON.parse(result);
42
+ }
43
+ return null;
44
+ }
45
+ async saveState(newState, players, matchState, winners, notify = false) {
46
+ this.state = JSON.stringify(newState);
47
+ if (notify) {
48
+ this.notify(newState);
49
+ }
50
+ }
51
+ registerNewStateCallback(cb) {
52
+ this.onChangeCallbacks.push(cb);
53
+ return () => {
54
+ this.onChangeCallbacks = this.onChangeCallbacks.filter((c) => c !== cb);
55
+ };
56
+ }
57
+ notify(state) {
58
+ this.onChangeCallbacks.forEach((cb) => cb(state));
59
+ }
60
+ }
32
61
  //# sourceMappingURL=MatchStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MatchStorage.js","sourceRoot":"","sources":["../../src/library/game/MatchStorage.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,iBAAiB;IAC5B,YAAoB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QAC3B,sBAAiB,GAA6B,EAAE,CAAC;IADnB,CAAC;IAGvC,IAAY,eAAe;QACzB,OAAO,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,SAAS,CACb,QAAa,EACb,OAAqB,EACrB,UAAiC,EACjC,OAAsB,EACtB,MAAM,GAAG,KAAK;QAEd,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,wBAAwB,CAAC,EAA2B;QAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAU;QACvB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;CACF"}
1
+ {"version":3,"file":"MatchStorage.js","sourceRoot":"","sources":["../../src/library/game/MatchStorage.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,iBAAiB;IAC5B,YAAoB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QAC3B,sBAAiB,GAA6B,EAAE,CAAC;IADnB,CAAC;IAGvC,IAAY,eAAe;QACzB,OAAO,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,SAAS,CACb,QAAa,EACb,OAAqB,EACrB,UAAiC,EACjC,OAAsB,EACtB,MAAM,GAAG,KAAK;QAEd,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,wBAAwB,CAAC,EAA2B;QAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAU;QACvB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IAChC,YAAoB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QAC3B,sBAAiB,GAA6B,EAAE,CAAC;QAEjD,UAAK,GAAW,IAAI,CAAC;IAHS,CAAC;IAKvC,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,SAAS,CACb,QAAa,EACb,OAAqB,EACrB,UAAiC,EACjC,OAAsB,EACtB,MAAM,GAAG,KAAK;QAEd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,wBAAwB,CAAC,EAA2B;QAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAU;QACvB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;CACF"}
@@ -2,6 +2,7 @@ import { GalleryItemSource } from "../components/GalleryViewer";
2
2
  import { EventChannel } from "../utilities/EventChannel";
3
3
  export declare class ModalState {
4
4
  gallerySource: EventChannel<GalleryItemSource | undefined>;
5
+ inlineGallerySource: EventChannel<GalleryItemSource | undefined>;
5
6
  actionLogVisible: EventChannel<boolean>;
6
7
  settingsVisible: EventChannel<boolean>;
7
8
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"ModalState.d.ts","sourceRoot":"","sources":["../../src/library/game/ModalState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,qBAAa,UAAU;IACd,aAAa,8CAA8D;IAC3E,gBAAgB,wBAAoC;IACpD,eAAe,wBAAoC;;CAsB3D"}
1
+ {"version":3,"file":"ModalState.d.ts","sourceRoot":"","sources":["../../src/library/game/ModalState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,qBAAa,UAAU;IACd,aAAa,8CAA8D;IAC3E,mBAAmB,8CAA8D;IACjF,gBAAgB,wBAAoC;IACpD,eAAe,wBAAoC;;CAsB3D"}
@@ -2,6 +2,7 @@ import { EventChannel } from "../utilities/EventChannel";
2
2
  export class ModalState {
3
3
  constructor() {
4
4
  this.gallerySource = new EventChannel(undefined);
5
+ this.inlineGallerySource = new EventChannel(undefined);
5
6
  this.actionLogVisible = new EventChannel(false);
6
7
  this.settingsVisible = new EventChannel(false);
7
8
  this.gallerySource.on((source) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ModalState.js","sourceRoot":"","sources":["../../src/library/game/ModalState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,OAAO,UAAU;IAKrB;QAJO,kBAAa,GAAG,IAAI,YAAY,CAAgC,SAAS,CAAC,CAAC;QAC3E,qBAAgB,GAAG,IAAI,YAAY,CAAU,KAAK,CAAC,CAAC;QACpD,oBAAe,GAAG,IAAI,YAAY,CAAU,KAAK,CAAC,CAAC;QAGxD,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;gBACrC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;gBACrC,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"ModalState.js","sourceRoot":"","sources":["../../src/library/game/ModalState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,OAAO,UAAU;IAMrB;QALO,kBAAa,GAAG,IAAI,YAAY,CAAgC,SAAS,CAAC,CAAC;QAC3E,wBAAmB,GAAG,IAAI,YAAY,CAAgC,SAAS,CAAC,CAAC;QACjF,qBAAgB,GAAG,IAAI,YAAY,CAAU,KAAK,CAAC,CAAC;QACpD,oBAAe,GAAG,IAAI,YAAY,CAAU,KAAK,CAAC,CAAC;QAGxD,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;gBACrC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;gBACrC,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +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"}
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;IAiB1B,OAAO;IAcb,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"}
@@ -52,8 +52,9 @@ export class OrderedOutlet {
52
52
  return;
53
53
  }
54
54
  if (c instanceof OrderedOutlet) {
55
- c.chits.forEach((c) => c.setParent());
56
- c.chits.forEach((c) => this.chits.push(c));
55
+ const chits = c.chits;
56
+ chits.forEach((c) => c.setParent());
57
+ chits.forEach((c) => this.chits.push(c));
57
58
  }
58
59
  else {
59
60
  c.forEach((c) => c.setParent());
@@ -64,11 +65,10 @@ export class OrderedOutlet {
64
65
  }
65
66
  async shuffle() {
66
67
  if (this.parent) {
67
- const from = await this.parent.currentTurn.takeRng(this.length);
68
- const to = await this.parent.currentTurn.takeRng(this.length);
68
+ const rngs = await this.parent.currentTurn.takeRng(this.length * 2);
69
69
  for (let i = 0; i < this.chits.length; i++) {
70
- const j = Math.floor(from() * this.chits.length);
71
- const k = Math.floor(to() * this.chits.length);
70
+ const j = Math.floor(rngs() * this.chits.length);
71
+ const k = Math.floor(rngs() * this.chits.length);
72
72
  const temp = this.chits[j];
73
73
  this.chits[j] = this.chits[k];
74
74
  this.chits[k] = temp;