@pretty-chitty/core 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) 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 +81 -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 +301 -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 +41 -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 +134 -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 +129 -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 +351 -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 +40 -27
  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 -2
  109. package/dist/game/ClientTimeState.js.map +1 -1
  110. package/dist/game/ConnectionObject.js.map +1 -1
  111. package/dist/game/ConnectionTransport.js +0 -1
  112. package/dist/game/ConnectionTransport.js.map +1 -1
  113. package/dist/game/DropdownChit.js.map +1 -1
  114. package/dist/game/GalleryItemChitChildrenSource.d.ts +1 -0
  115. package/dist/game/GalleryItemChitChildrenSource.d.ts.map +1 -1
  116. package/dist/game/GalleryItemChitChildrenSource.js +1 -1
  117. package/dist/game/GalleryItemChitChildrenSource.js.map +1 -1
  118. package/dist/game/GalleryItemRawSource.d.ts +1 -0
  119. package/dist/game/GalleryItemRawSource.d.ts.map +1 -1
  120. package/dist/game/GalleryItemRawSource.js +1 -0
  121. package/dist/game/GalleryItemRawSource.js.map +1 -1
  122. package/dist/game/Game.d.ts +2 -1
  123. package/dist/game/Game.d.ts.map +1 -1
  124. package/dist/game/GameBagChit.js.map +1 -1
  125. package/dist/game/GameButton.d.ts +1 -0
  126. package/dist/game/GameButton.d.ts.map +1 -1
  127. package/dist/game/GameButton.js +2 -9
  128. package/dist/game/GameButton.js.map +1 -1
  129. package/dist/game/GameDeckChit.d.ts +6 -0
  130. package/dist/game/GameDeckChit.d.ts.map +1 -1
  131. package/dist/game/GameDeckChit.js +33 -6
  132. package/dist/game/GameDeckChit.js.map +1 -1
  133. package/dist/game/GameMetaData.d.ts +18 -0
  134. package/dist/game/GameMetaData.d.ts.map +1 -0
  135. package/dist/game/GameMetaData.js +2 -0
  136. package/dist/game/GameMetaData.js.map +1 -0
  137. package/dist/game/GameTheme.d.ts +11 -0
  138. package/dist/game/GameTheme.d.ts.map +1 -1
  139. package/dist/game/GameTheme.js +19 -5
  140. package/dist/game/GameTheme.js.map +1 -1
  141. package/dist/game/Match.d.ts +2 -1
  142. package/dist/game/Match.d.ts.map +1 -1
  143. package/dist/game/Match.js +4 -3
  144. package/dist/game/Match.js.map +1 -1
  145. package/dist/game/MatchStorage.d.ts +10 -0
  146. package/dist/game/MatchStorage.d.ts.map +1 -1
  147. package/dist/game/MatchStorage.js +29 -0
  148. package/dist/game/MatchStorage.js.map +1 -1
  149. package/dist/game/ModalState.d.ts +1 -0
  150. package/dist/game/ModalState.d.ts.map +1 -1
  151. package/dist/game/ModalState.js +1 -0
  152. package/dist/game/ModalState.js.map +1 -1
  153. package/dist/game/OrderedOutlet.d.ts.map +1 -1
  154. package/dist/game/OrderedOutlet.js +6 -10
  155. package/dist/game/OrderedOutlet.js.map +1 -1
  156. package/dist/game/Pick.d.ts +11 -1
  157. package/dist/game/Pick.d.ts.map +1 -1
  158. package/dist/game/Pick.js +83 -11
  159. package/dist/game/Pick.js.map +1 -1
  160. package/dist/game/PlayerChit.d.ts +2 -1
  161. package/dist/game/PlayerChit.d.ts.map +1 -1
  162. package/dist/game/PlayerChit.js +12 -2
  163. package/dist/game/PlayerChit.js.map +1 -1
  164. package/dist/game/PlayerInfo.d.ts +2 -1
  165. package/dist/game/PlayerInfo.d.ts.map +1 -1
  166. package/dist/game/PlayerInfo.js +18 -5
  167. package/dist/game/PlayerInfo.js.map +1 -1
  168. package/dist/game/PlayerPromptStatusChit.js +0 -2
  169. package/dist/game/PlayerPromptStatusChit.js.map +1 -1
  170. package/dist/game/Prompt.d.ts +1 -11
  171. package/dist/game/Prompt.d.ts.map +1 -1
  172. package/dist/game/Prompt.js +0 -36
  173. package/dist/game/Prompt.js.map +1 -1
  174. package/dist/game/RootChit.d.ts +4 -0
  175. package/dist/game/RootChit.d.ts.map +1 -1
  176. package/dist/game/RootChit.js +36 -3
  177. package/dist/game/RootChit.js.map +1 -1
  178. package/dist/game/SparkChit.js +0 -3
  179. package/dist/game/SparkChit.js.map +1 -1
  180. package/dist/game/Turn.d.ts +9 -8
  181. package/dist/game/Turn.d.ts.map +1 -1
  182. package/dist/game/Turn.js +34 -42
  183. package/dist/game/Turn.js.map +1 -1
  184. package/dist/game/TurnState.d.ts +3 -2
  185. package/dist/game/TurnState.d.ts.map +1 -1
  186. package/dist/game/TurnState.js +22 -4
  187. package/dist/game/TurnState.js.map +1 -1
  188. package/dist/game/badAiTransport/BadAIClientPrompts.d.ts +14 -0
  189. package/dist/game/badAiTransport/BadAIClientPrompts.d.ts.map +1 -0
  190. package/dist/game/badAiTransport/BadAIClientPrompts.js +50 -0
  191. package/dist/game/badAiTransport/BadAIClientPrompts.js.map +1 -0
  192. package/dist/game/clientTransport/ClientPrompts.js +0 -2
  193. package/dist/game/clientTransport/ClientPrompts.js.map +1 -1
  194. package/dist/game/clientTransport/ClientStatus.js +0 -1
  195. package/dist/game/clientTransport/ClientStatus.js.map +1 -1
  196. package/dist/game/clientTransport/ClientTime.js +1 -3
  197. package/dist/game/clientTransport/ClientTime.js.map +1 -1
  198. package/dist/game/serverTransport/ServerPrompts.js +0 -1
  199. package/dist/game/serverTransport/ServerPrompts.js.map +1 -1
  200. package/dist/game/serverTransport/ServerStatus.js +0 -1
  201. package/dist/game/serverTransport/ServerStatus.js.map +1 -1
  202. package/dist/game/serverTransport/ServerTime.js +1 -2
  203. package/dist/game/serverTransport/ServerTime.js.map +1 -1
  204. package/dist/hooks/useButtonGalleriesOptions.d.ts +4 -0
  205. package/dist/hooks/useButtonGalleriesOptions.d.ts.map +1 -0
  206. package/dist/hooks/useButtonGalleriesOptions.js +7 -0
  207. package/dist/hooks/useButtonGalleriesOptions.js.map +1 -0
  208. package/dist/hooks/useEventChannelState.js +1 -1
  209. package/dist/hooks/useEventChannelState.js.map +1 -1
  210. package/dist/hooks/useLoadingStates.d.ts +17 -0
  211. package/dist/hooks/useLoadingStates.d.ts.map +1 -0
  212. package/dist/hooks/useLoadingStates.js +44 -0
  213. package/dist/hooks/useLoadingStates.js.map +1 -0
  214. package/dist/hooks/useModalState.d.ts +2 -1
  215. package/dist/hooks/useModalState.d.ts.map +1 -1
  216. package/dist/hooks/useModalState.js +2 -2
  217. package/dist/hooks/useModalState.js.map +1 -1
  218. package/dist/hooks/usePanelPositioning.d.ts +0 -1
  219. package/dist/hooks/usePanelPositioning.d.ts.map +1 -1
  220. package/dist/hooks/usePanelPositioning.js.map +1 -1
  221. package/dist/hooks/useTimeController.js.map +1 -1
  222. package/dist/hooks/useWebGlRenderer.js +0 -2
  223. package/dist/hooks/useWebGlRenderer.js.map +1 -1
  224. package/dist/index.d.ts +7 -5
  225. package/dist/index.d.ts.map +1 -1
  226. package/dist/index.js +17 -1
  227. package/dist/index.js.map +1 -1
  228. package/dist/rendering/CameraSpec.js.map +1 -1
  229. package/dist/rendering/CameraWrapperPerspective.d.ts.map +1 -1
  230. package/dist/rendering/CameraWrapperPerspective.js +1 -2
  231. package/dist/rendering/CameraWrapperPerspective.js.map +1 -1
  232. package/dist/rendering/ChitGalleryItemInstance.d.ts +2 -0
  233. package/dist/rendering/ChitGalleryItemInstance.d.ts.map +1 -1
  234. package/dist/rendering/ChitGalleryItemInstance.js +0 -12
  235. package/dist/rendering/ChitGalleryItemInstance.js.map +1 -1
  236. package/dist/rendering/ChitRenderInstance.d.ts +13 -2
  237. package/dist/rendering/ChitRenderInstance.d.ts.map +1 -1
  238. package/dist/rendering/ChitRenderInstance.js +95 -52
  239. package/dist/rendering/ChitRenderInstance.js.map +1 -1
  240. package/dist/rendering/ChitRenderSpec.d.ts +3 -0
  241. package/dist/rendering/ChitRenderSpec.d.ts.map +1 -1
  242. package/dist/rendering/ChitRenderSpec.js +1 -11
  243. package/dist/rendering/ChitRenderSpec.js.map +1 -1
  244. package/dist/rendering/HighlightSpec.js +0 -2
  245. package/dist/rendering/HighlightSpec.js.map +1 -1
  246. package/dist/rendering/LightSpec.js +1 -0
  247. package/dist/rendering/LightSpec.js.map +1 -1
  248. package/dist/rendering/RootChitRenderInstance.d.ts +5 -2
  249. package/dist/rendering/RootChitRenderInstance.d.ts.map +1 -1
  250. package/dist/rendering/RootChitRenderInstance.js +76 -17
  251. package/dist/rendering/RootChitRenderInstance.js.map +1 -1
  252. package/dist/rendering/Splay.js.map +1 -1
  253. package/dist/rendering/SplayCounter.d.ts.map +1 -1
  254. package/dist/rendering/SplayCounter.js +1 -1
  255. package/dist/rendering/SplayCounter.js.map +1 -1
  256. package/dist/rendering/TextureReferenceCounter.d.ts +1 -1
  257. package/dist/rendering/TextureReferenceCounter.d.ts.map +1 -1
  258. package/dist/rendering/TextureReferenceCounter.js +10 -10
  259. package/dist/rendering/TextureReferenceCounter.js.map +1 -1
  260. package/dist/rendering/outline/DepthVisualizationPass.js +0 -3
  261. package/dist/rendering/outline/DepthVisualizationPass.js.map +1 -1
  262. package/dist/rendering/outline/EffectComposer.js +0 -9
  263. package/dist/rendering/outline/EffectComposer.js.map +1 -1
  264. package/dist/rendering/outline/FullScreenQuad.js +0 -1
  265. package/dist/rendering/outline/FullScreenQuad.js.map +1 -1
  266. package/dist/rendering/outline/IDBasedOutlinePass.js +0 -19
  267. package/dist/rendering/outline/IDBasedOutlinePass.js.map +1 -1
  268. package/dist/rendering/outline/OutputPass.js +0 -5
  269. package/dist/rendering/outline/OutputPass.js.map +1 -1
  270. package/dist/rendering/outline/RenderPass.js +0 -2
  271. package/dist/rendering/outline/RenderPass.js.map +1 -1
  272. package/dist/rendering/outline/SceneWrapper.js +0 -2
  273. package/dist/rendering/outline/SceneWrapper.js.map +1 -1
  274. package/dist/rendering/outline/ShaderPass.js +0 -4
  275. package/dist/rendering/outline/ShaderPass.js.map +1 -1
  276. package/dist/rendering/outline/passes/DebugIDMappingPass.js +0 -2
  277. package/dist/rendering/outline/passes/DebugIDMappingPass.js.map +1 -1
  278. package/dist/rendering/outline/passes/DepthOcclusionPass.js +1 -3
  279. package/dist/rendering/outline/passes/DepthOcclusionPass.js.map +1 -1
  280. package/dist/rendering/outline/passes/InterMeshEdgeDetectionPass.js +0 -3
  281. package/dist/rendering/outline/passes/InterMeshEdgeDetectionPass.js.map +1 -1
  282. package/dist/rendering/outline/types.js.map +1 -1
  283. package/dist/utilities/Annotations.d.ts +59 -0
  284. package/dist/utilities/Annotations.d.ts.map +1 -1
  285. package/dist/utilities/Annotations.js +63 -0
  286. package/dist/utilities/Annotations.js.map +1 -1
  287. package/dist/utilities/BaseTable.js +0 -5
  288. package/dist/utilities/BaseTable.js.map +1 -1
  289. package/dist/utilities/CanvasStack/CanvasOperations.d.ts +10 -1
  290. package/dist/utilities/CanvasStack/CanvasOperations.d.ts.map +1 -1
  291. package/dist/utilities/CanvasStack/CanvasOperations.js +8 -0
  292. package/dist/utilities/CanvasStack/CanvasOperations.js.map +1 -1
  293. package/dist/utilities/CanvasStack/CanvasStack.js +0 -4
  294. package/dist/utilities/CanvasStack/CanvasStack.js.map +1 -1
  295. package/dist/utilities/CanvasStack/ImageCache.js +0 -4
  296. package/dist/utilities/CanvasStack/ImageCache.js.map +1 -1
  297. package/dist/utilities/CanvasStack/ReactCanvas.d.ts +4 -2
  298. package/dist/utilities/CanvasStack/ReactCanvas.d.ts.map +1 -1
  299. package/dist/utilities/CanvasStack/ReactCanvas.js +5 -2
  300. package/dist/utilities/CanvasStack/ReactCanvas.js.map +1 -1
  301. package/dist/utilities/CanvasStack/RichTextRenderer.d.ts.map +1 -1
  302. package/dist/utilities/CanvasStack/RichTextRenderer.js +12 -4
  303. package/dist/utilities/CanvasStack/RichTextRenderer.js.map +1 -1
  304. package/dist/utilities/Dice.js.map +1 -1
  305. package/dist/utilities/EventChannel.d.ts.map +1 -1
  306. package/dist/utilities/EventChannel.js +2 -3
  307. package/dist/utilities/EventChannel.js.map +1 -1
  308. package/dist/utilities/GlbLoader.d.ts +15 -0
  309. package/dist/utilities/GlbLoader.d.ts.map +1 -0
  310. package/dist/utilities/GlbLoader.js +212 -0
  311. package/dist/utilities/GlbLoader.js.map +1 -0
  312. package/dist/utilities/LayoutHelper.js +23 -2
  313. package/dist/utilities/LayoutHelper.js.map +1 -1
  314. package/dist/utilities/ObjectWithProps.d.ts.map +1 -1
  315. package/dist/utilities/ObjectWithProps.js +32 -3
  316. package/dist/utilities/ObjectWithProps.js.map +1 -1
  317. package/dist/utilities/ParameterizedCanvas.js +1 -1
  318. package/dist/utilities/ParameterizedCanvas.js.map +1 -1
  319. package/dist/utilities/StaticImage.js +0 -1
  320. package/dist/utilities/StaticImage.js.map +1 -1
  321. package/dist/utilities/ThreeDisposer.js +0 -1
  322. package/dist/utilities/ThreeDisposer.js.map +1 -1
  323. package/package.json +6 -5
  324. package/src/library/components/BottomBarButton.tsx +3 -0
  325. package/src/library/components/ClientTrustMatchViewer.tsx +23 -8
  326. package/src/library/components/ContextGalleryDisplay.tsx +2 -2
  327. package/src/library/components/DemoWrapper.tsx +113 -0
  328. package/src/library/components/{GalleryDisplay.tsx → FullScreenGalleryDisplay.tsx} +28 -2
  329. package/src/library/components/Gallery/AnimationController.ts +110 -0
  330. package/src/library/components/Gallery/BuiltItem.ts +385 -0
  331. package/src/library/components/Gallery/CameraManager.ts +54 -0
  332. package/src/library/components/Gallery/GalleryController.ts +193 -0
  333. package/src/library/components/Gallery/GalleryViewer.tsx +211 -0
  334. package/src/library/components/Gallery/LayoutManager.ts +166 -0
  335. package/src/library/components/Gallery/constants.ts +12 -0
  336. package/src/library/components/Gallery/index.ts +2 -0
  337. package/src/library/components/Gallery/types.ts +55 -0
  338. package/src/library/components/GalleryPlayground.tsx +1 -1
  339. package/src/library/components/GalleryViewer.tsx +4 -773
  340. package/src/library/components/GameDesigner.tsx +21 -4
  341. package/src/library/components/InlineGalleryDisplay.tsx +101 -0
  342. package/src/library/components/LiveButton.tsx +2 -1
  343. package/src/library/components/MatchViewer.tsx +32 -14
  344. package/src/library/components/Panel/MultiPanel.tsx +20 -8
  345. package/src/library/components/Panel/PanelContents.tsx +17 -12
  346. package/src/library/components/Panel/SinglePanel.tsx +5 -4
  347. package/src/library/components/Panel/ViewerWrapper.tsx +0 -5
  348. package/src/library/components/Playground.tsx +692 -119
  349. package/src/library/components/PromptControls.tsx +61 -8
  350. package/src/library/components/ServerTrustMatchViewer.tsx +53 -0
  351. package/src/library/components/Viewer.tsx +60 -20
  352. package/src/library/game/Chit.ts +46 -6
  353. package/src/library/game/ClientTimeState.ts +5 -1
  354. package/src/library/game/GalleryItemChitChildrenSource.ts +2 -0
  355. package/src/library/game/GalleryItemRawSource.ts +2 -0
  356. package/src/library/game/Game.ts +3 -1
  357. package/src/library/game/GameButton.ts +3 -0
  358. package/src/library/game/GameDeckChit.ts +36 -5
  359. package/src/library/game/GameMetaData.ts +19 -0
  360. package/src/library/game/GameTheme.ts +23 -5
  361. package/src/library/game/Match.ts +4 -3
  362. package/src/library/game/MatchStorage.ts +37 -0
  363. package/src/library/game/ModalState.ts +1 -0
  364. package/src/library/game/OrderedOutlet.ts +6 -6
  365. package/src/library/game/Pick.ts +98 -2
  366. package/src/library/game/PlayerChit.ts +13 -1
  367. package/src/library/game/PlayerInfo.ts +22 -3
  368. package/src/library/game/Prompt.ts +1 -36
  369. package/src/library/game/RootChit.ts +41 -1
  370. package/src/library/game/Turn.ts +37 -40
  371. package/src/library/game/TurnState.ts +22 -3
  372. package/src/library/game/badAiTransport/BadAIClientPrompts.ts +60 -0
  373. package/src/library/game/clientTransport/ClientTime.ts +1 -1
  374. package/src/library/game/serverTransport/ServerTime.ts +2 -2
  375. package/src/library/hooks/useButtonGalleriesOptions.tsx +9 -0
  376. package/src/library/hooks/useEventChannelState.ts +1 -1
  377. package/src/library/hooks/useLoadingStates.tsx +55 -0
  378. package/src/library/hooks/useModalState.tsx +2 -2
  379. package/src/library/hooks/usePanelPositioning.tsx +0 -1
  380. package/src/library/index.ts +21 -1
  381. package/src/library/rendering/CameraWrapperPerspective.ts +10 -12
  382. package/src/library/rendering/ChitGalleryItemInstance.ts +2 -0
  383. package/src/library/rendering/ChitRenderInstance.ts +119 -61
  384. package/src/library/rendering/ChitRenderSpec.ts +4 -0
  385. package/src/library/rendering/RootChitRenderInstance.ts +87 -13
  386. package/src/library/rendering/SplayCounter.tsx +2 -1
  387. package/src/library/rendering/TextureReferenceCounter.ts +9 -9
  388. package/src/library/rendering/outline/passes/DepthOcclusionPass.ts +1 -1
  389. package/src/library/utilities/Annotations.ts +99 -0
  390. package/src/library/utilities/CanvasStack/CanvasOperations.tsx +19 -1
  391. package/src/library/utilities/CanvasStack/ReactCanvas.tsx +10 -3
  392. package/src/library/utilities/CanvasStack/RichTextRenderer.ts +14 -4
  393. package/src/library/utilities/EventChannel.ts +2 -4
  394. package/src/library/utilities/GlbLoader.ts +292 -0
  395. package/src/library/utilities/LayoutHelper.ts +28 -2
  396. package/src/library/utilities/ObjectWithProps.ts +27 -3
  397. package/dist/components/GalleryDisplay.d.ts +0 -2
  398. package/dist/components/GalleryDisplay.d.ts.map +0 -1
  399. package/dist/components/GalleryDisplay.js +0 -42
  400. package/dist/components/GalleryDisplay.js.map +0 -1
  401. package/dist/utilities/OutlineCanvas.d.ts +0 -12
  402. package/dist/utilities/OutlineCanvas.d.ts.map +0 -1
  403. package/dist/utilities/OutlineCanvas.js +0 -31
  404. package/dist/utilities/OutlineCanvas.js.map +0 -1
  405. package/dist/utilities/OutlineGeometry.d.ts +0 -3
  406. package/dist/utilities/OutlineGeometry.d.ts.map +0 -1
  407. package/dist/utilities/OutlineGeometry.js +0 -57
  408. package/dist/utilities/OutlineGeometry.js.map +0 -1
  409. package/src/library/utilities/OutlineCanvas.tsx +0 -45
  410. package/src/library/utilities/OutlineGeometry.ts +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"RootChit.d.ts","sourceRoot":"","sources":["../../src/library/game/RootChit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAwB,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAChG,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,qBAAa,QAAQ,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,IAAI;IAOtD,IAAoB,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAQnD;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU;IAQzE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAI,EAAE,MAAM,oBAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAcpG,OAAO,mBAAyC;IAEhD,YAAY,IAAI,YAAY,EAAE;CAGtC"}
1
+ {"version":3,"file":"RootChit.d.ts","sourceRoot":"","sources":["../../src/library/game/RootChit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAwB,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAChG,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,qBAAa,QAAQ,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,IAAI;IACtD,UAAU,SAAK;IACf,UAAU,SAAK;IAQf,IAAoB,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAQnD;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU;IAQzE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAI,EAAE,MAAM,oBAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAcpG,OAAO,mBAAyC;IAEhD,YAAY,IAAI,YAAY,EAAE;IAIrC,+EAA+E;IACxE,aAAa,IAAI,MAAM;CAmC/B"}
@@ -7,17 +7,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { NonEditable } from "../utilities/Annotations";
10
+ import { NonEditable, getSelectableProperties } from "../utilities/Annotations";
11
11
  import { Chit } from "./Chit";
12
12
  import { OrderedOutlet } from "./OrderedOutlet";
13
13
  import { createLayoutFromTree } from "../utilities/LayoutHelper";
14
14
  export class RootChit extends Chit {
15
15
  constructor() {
16
16
  super(...arguments);
17
+ this.minPlayers = 2;
18
+ this.maxPlayers = 4;
17
19
  /** @internal */
18
20
  this.type = "root";
19
- /** @internal */
20
- this._setupTurn = undefined;
21
21
  this.players = new OrderedOutlet("players", this);
22
22
  }
23
23
  get currentTurn() {
@@ -52,6 +52,39 @@ export class RootChit extends Chit {
52
52
  getDropdowns() {
53
53
  return [];
54
54
  }
55
+ /** Sets up a demo game. Returns the player count to use in the demo game. */
56
+ setupDemoGame() {
57
+ return this.minPlayers;
58
+ }
59
+ /**
60
+ * Gets all properties on this RootChit instance that are marked with the @Selectable decorator.
61
+ *
62
+ * @returns An array of SelectablePropertyInfo containing the field name, label, choices, and current value
63
+ */
64
+ /** @internal */
65
+ getConfigurationOptions() {
66
+ return getSelectableProperties(this);
67
+ }
68
+ /** @internal */
69
+ getCurrentlySelectedMatchOptions() {
70
+ const result = {};
71
+ const selectables = this.getConfigurationOptions();
72
+ for (const selectable of selectables) {
73
+ if (this[selectable.fieldName] !== undefined) {
74
+ result[selectable.fieldName] = this[selectable.fieldName];
75
+ }
76
+ }
77
+ return result;
78
+ }
79
+ /** @internal */
80
+ processMatchOptions(options) {
81
+ const selectables = this.getConfigurationOptions();
82
+ for (const selectable of selectables) {
83
+ if (options[selectable.fieldName] !== undefined) {
84
+ this[selectable.fieldName] = options[selectable.fieldName];
85
+ }
86
+ }
87
+ }
55
88
  }
56
89
  __decorate([
57
90
  NonEditable,
@@ -1 +1 @@
1
- {"version":3,"file":"RootChit.js","sourceRoot":"","sources":["../../src/library/game/RootChit.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAc,oBAAoB,EAAqB,MAAM,2BAA2B,CAAC;AAGhG,MAAM,OAAO,QAA+B,SAAQ,IAAI;IAAxD;;QACE,gBAAgB;QACH,SAAI,GAAG,MAAM,CAAC;QAE3B,gBAAgB;QACI,eAAU,aAAgC;QAkCvD,YAAO,GAAG,IAAI,aAAa,CAAI,SAAS,EAAE,IAAI,CAAC,CAAC;KAKxD;IArCC,IAAoB,WAAW;QAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,iBAAiB,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,MAAc,EAAE,OAAe,EAAE,SAAiB;QAC1D,OAAO;YACL,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;SACb,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAa,EAAE,MAAc,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,QAAgB;QACnF,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7E,OAAO,oBAAoB,CAAC,UAAU,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpF,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAIM,YAAY;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA1Cc;IAAZ,WAAW;;sCAAe;AAGP;IAAnB,WAAW;;4CAAkD"}
1
+ {"version":3,"file":"RootChit.js","sourceRoot":"","sources":["../../src/library/game/RootChit.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,7 @@ export class SparkChit extends Chit {
17
17
  /** @internal */
18
18
  this.type = "spark";
19
19
  this._color = "#ffffff";
20
- /** @internal */
21
- this.element = undefined;
22
20
  this._value = 0;
23
- this._boundPlayer = undefined;
24
21
  }
25
22
  get endGameLabel() {
26
23
  return "Score";
@@ -1 +1 @@
1
- {"version":3,"file":"SparkChit.js","sourceRoot":"","sources":["../../src/library/game/SparkChit.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAG9D,MAAM,OAAO,SAAU,SAAQ,IAAI;IAAnC;;QACE,gBAAgB;QACH,SAAI,GAAG,OAAO,CAAC;QAMpB,WAAM,GAAW,SAAS,CAAC;QAyBnC,gBAAgB;QACI,YAAO,aAAqC;QAExD,WAAM,GAAW,CAAC,CAAC;QAWnB,iBAAY,aAAc;KAkBnC;IA7DC,IAAW,YAAY;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IAGD,IAAW,KAAK;QACd,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,SAAS,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,IAAW,KAAK,CAAC,QAAgB;QAC/B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,IAAI;QACb,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAW,UAAU;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAMD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,IAAW,KAAK,CAAC,QAAgB;QAC/B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QAChD,CAAC;IACH,CAAC;IAGM,YAAY,CAAC,CAAa;QAC/B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,IAAW,KAAK;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAEe,iBAAiB;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QAC5D,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA/Dc;IAAZ,WAAW;;uCAAgB;AAgCR;IAAnB,WAAW;;0CAAoD;AAiClE,sBAAsB,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;AAEhD,MAAM,OAAgB,YAA6B,SAAQ,SAAS;IAClE,IAAa,KAAK;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IACrC,CAAC;IACD,IAAa,KAAK,CAAC,QAAgB;QACjC,cAAc;IAChB,CAAC;IAEM,GAAG;QACR,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YAC1C,OAAO,MAAW,CAAC;QACrB,CAAC;IACH,CAAC;IAED,6DAA6D;IACpD,iBAAiB,CAAC,SAAe;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"SparkChit.js","sourceRoot":"","sources":["../../src/library/game/SparkChit.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAG9D,MAAM,OAAO,SAAU,SAAQ,IAAI;IAAnC;;QACE,gBAAgB;QACH,SAAI,GAAG,OAAO,CAAC;QAMpB,WAAM,GAAW,SAAS,CAAC;QA4B3B,WAAM,GAAW,CAAC,CAAC;IA6B7B,CAAC;IA7DC,IAAW,YAAY;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IAGD,IAAW,KAAK;QACd,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,SAAS,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,IAAW,KAAK,CAAC,QAAgB;QAC/B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,IAAI;QACb,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAW,UAAU;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAMD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,IAAW,KAAK,CAAC,QAAgB;QAC/B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QAChD,CAAC;IACH,CAAC;IAGM,YAAY,CAAC,CAAa;QAC/B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,IAAW,KAAK;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAEe,iBAAiB;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QAC5D,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAEM,SAAS;QACd,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA/Dc;IAAZ,WAAW;;uCAAgB;AAgCR;IAAnB,WAAW;;0CAAoD;AAiClE,sBAAsB,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;AAEhD,MAAM,OAAgB,YAA6B,SAAQ,SAAS;IAClE,IAAa,KAAK;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IACrC,CAAC;IACD,IAAa,KAAK,CAAC,QAAgB;QACjC,cAAc;IAChB,CAAC;IAEM,GAAG;QACR,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YAC1C,OAAO,MAAW,CAAC;QACrB,CAAC;IACH,CAAC;IAED,6DAA6D;IACpD,iBAAiB,CAAC,SAAe;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -94,6 +94,15 @@ export declare class Turn<T, P extends PlayerChit, R extends RootChit<P>> {
94
94
  * @returns
95
95
  */
96
96
  amendLog(message: string | ((previous: string) => string)): void;
97
+ /**
98
+ * Compress the history in the timeline such that a user with maybe many moves (and changing their minds) won't
99
+ * clock up the replay timeline. Basically takes all of the flushes and smushes them together into a single flush.
100
+ * Importantly, it leaves the (maybe lots) of decisions on the decision stack. This just compresses flushes into a single
101
+ * flush step.
102
+ *
103
+ * This should only be done immediately after every zippable action *or* after undos are no longer possible.
104
+ */
105
+ zip(): void;
97
106
  /**
98
107
  * Scan all of the chits managed by this turn. If any of them have changed, group them together into a
99
108
  * "ClockStep". If any new chits appear, then add them to our lookup. If any chits are deleted (orphaned),
@@ -119,14 +128,6 @@ export declare class Turn<T, P extends PlayerChit, R extends RootChit<P>> {
119
128
  */
120
129
  createTurn<A>(chits: Chit[], player: P, cb: (turn: Turn<A, P, R>) => Promise<A>): Promise<A>;
121
130
  runParallelTurns<A>(players: P[], chits: (p: P) => Chit[], action: (p: P, turn: Turn<A, P, R>) => Promise<A>): Promise<A[]>;
122
- /**
123
- * Basic selection prompt. All chits will appear as "selected" on the respective client.
124
- * Upon clicking one, the prompt will resolve itself.
125
- *
126
- * @param chits The list of chits that can be selected from
127
- * @returns The chit that the player selected
128
- */
129
- select(chits: Chit[]): Promise<Chit>;
130
131
  /**
131
132
  * If a player has gotten themselves into a corner - i.e. no valid moves - this prompt will
132
133
  * simply inform them of that and allow them to undo.
@@ -1 +1 @@
1
- {"version":3,"file":"Turn.d.ts","sourceRoot":"","sources":["../../src/library/game/Turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Turn.d.ts","sourceRoot":"","sources":["../../src/library/game/Turn.ts"],"names":[],"mappings":"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"}
package/dist/game/Turn.js CHANGED
@@ -1,6 +1,5 @@
1
- import nextTick from "next-tick";
2
1
  import { Chit } from "./Chit";
3
- import { NoValidMovesPrompt, PickPrompt, SelectPrompt } from "./Prompt";
2
+ import { NoValidMovesPrompt, PickPrompt } from "./Prompt";
4
3
  import { Pick } from "./Pick";
5
4
  import { Confirm, GameButton } from "./GameButton";
6
5
  /**
@@ -66,8 +65,6 @@ export class Turn {
66
65
  this.clockSteps = [];
67
66
  this.decisionIndex = 0; // decision points that can be potentially rolled back
68
67
  /** @internal */
69
- this.unresolvedPrompt = undefined;
70
- /** @internal */
71
68
  this.completed = false;
72
69
  /** @internal */
73
70
  this.activeSubTurns = [];
@@ -97,12 +94,7 @@ export class Turn {
97
94
  }
98
95
  return result;
99
96
  };
100
- this._playerIds = undefined;
101
- /** @internal */
102
- this.nextSavedStateToProcess = undefined;
103
97
  this.isProcessingSavedState = false;
104
- /** @internal */
105
- this._paused = undefined;
106
98
  if (chitsToLock.find((chit) => !chit.id)) {
107
99
  throw new Error("Cannot lock a chit without an id");
108
100
  }
@@ -153,11 +145,8 @@ export class Turn {
153
145
  */
154
146
  async takeRng(count, message = "confirm draw or roll") {
155
147
  await this.possiblyConfirm(message);
156
- const results = [];
157
- for (let i = 0; i < count; i++) {
158
- results.push(this.state.getOrCreateRng(this.decisionIndex));
159
- this.decisionIndex++;
160
- }
148
+ const results = this.state.getOrCreateMultipleRng(this.decisionIndex, count);
149
+ this.decisionIndex++;
161
150
  let counter = 0;
162
151
  return () => {
163
152
  if (counter >= results.length) {
@@ -204,6 +193,32 @@ export class Turn {
204
193
  }
205
194
  step.log = message;
206
195
  }
196
+ /**
197
+ * Compress the history in the timeline such that a user with maybe many moves (and changing their minds) won't
198
+ * clock up the replay timeline. Basically takes all of the flushes and smushes them together into a single flush.
199
+ * Importantly, it leaves the (maybe lots) of decisions on the decision stack. This just compresses flushes into a single
200
+ * flush step.
201
+ *
202
+ * This should only be done immediately after every zippable action *or* after undos are no longer possible.
203
+ */
204
+ zip() {
205
+ this.flush();
206
+ let hasChange = false;
207
+ while (this.clockSteps.length >= 2) {
208
+ const lastStep = this.clockSteps[this.clockSteps.length - 1];
209
+ const previousStep = this.clockSteps[this.clockSteps.length - 2];
210
+ if (!(lastStep instanceof FlushClockStep) || !(previousStep instanceof FlushClockStep)) {
211
+ break;
212
+ }
213
+ previousStep.state = { ...previousStep.state, ...lastStep.state };
214
+ this.clockSteps.pop();
215
+ hasChange = true;
216
+ }
217
+ if (hasChange) {
218
+ this.pass++;
219
+ this.flush();
220
+ }
221
+ }
207
222
  /**
208
223
  * Scan all of the chits managed by this turn. If any of them have changed, group them together into a
209
224
  * "ClockStep". If any new chits appear, then add them to our lookup. If any chits are deleted (orphaned),
@@ -353,7 +368,7 @@ export class Turn {
353
368
  }
354
369
  this.activeSubTurns.push(turn);
355
370
  //make sure flow goes to next tick
356
- await new Promise((resolve) => nextTick(() => resolve(true)));
371
+ await new Promise((resolve) => queueMicrotask(() => resolve(true)));
357
372
  await this.checkPause();
358
373
  const result = await turn.execute();
359
374
  await this.checkPause();
@@ -373,28 +388,6 @@ export class Turn {
373
388
  const turns = players.map((player) => this.createTurn(chits(player), player, (turn) => action(player, turn)));
374
389
  return await Promise.all(turns);
375
390
  }
376
- /**
377
- * Basic selection prompt. All chits will appear as "selected" on the respective client.
378
- * Upon clicking one, the prompt will resolve itself.
379
- *
380
- * @param chits The list of chits that can be selected from
381
- * @returns The chit that the player selected
382
- */
383
- async select(chits) {
384
- if (chits.length === 1) {
385
- return chits[0];
386
- }
387
- const prompt = new SelectPrompt();
388
- prompt.chits = chits;
389
- this.prepareForPrompt(prompt);
390
- // make sure all of these chits are locked by us - otherwise someone has made a mistake.
391
- chits.forEach((chit) => chit.confirmLock(this));
392
- await this.waitForPromptResolution(prompt);
393
- if (!prompt.selectedChit) {
394
- throw new Error("Prompt should have selected chit response");
395
- }
396
- return prompt.selectedChit;
397
- }
398
391
  /**
399
392
  * If a player has gotten themselves into a corner - i.e. no valid moves - this prompt will
400
393
  * simply inform them of that and allow them to undo.
@@ -495,7 +488,7 @@ export class Turn {
495
488
  this.isProcessingSavedState = true;
496
489
  this.pause();
497
490
  // defer to next tick on starting
498
- await new Promise((resolve) => nextTick(() => resolve()));
491
+ await new Promise((resolve) => queueMicrotask(() => resolve()));
499
492
  const instructions = this.handleNewSavedState(state);
500
493
  this.propagateNewState(state);
501
494
  for (const instruction of instructions) {
@@ -504,7 +497,7 @@ export class Turn {
504
497
  instruction.turn.rerun(instruction.turn);
505
498
  }
506
499
  else if (instruction.type === "prompt") {
507
- await new Promise((resolve, reject) => nextTick(() => {
500
+ await new Promise((resolve, reject) => queueMicrotask(() => {
508
501
  if (instruction.turn.unresolvedPrompt !== instruction.prompt) {
509
502
  reject("waiting on incorrect prompt");
510
503
  }
@@ -514,7 +507,7 @@ export class Turn {
514
507
  }
515
508
  }
516
509
  // always defer to next tick again when resuming
517
- await new Promise((resolve) => nextTick(() => resolve()));
510
+ await new Promise((resolve) => queueMicrotask(() => resolve()));
518
511
  }
519
512
  finally {
520
513
  this.unpause();
@@ -778,7 +771,7 @@ export class Turn {
778
771
  const resolution = this.state.getOrCreatePromptResponse(this.decisionIndex);
779
772
  await this.checkPause(); // state could have gotten funky here? if we have a resolution already? maybe not so bad?
780
773
  if (resolution.response !== undefined) {
781
- await new Promise((resolve) => nextTick(() => resolve(true))); // defer to next tick to make sure replay works identically
774
+ await new Promise((resolve) => queueMicrotask(() => resolve(true))); // defer to next tick to make sure replay works identically
782
775
  prompt.resolve(resolution.response);
783
776
  }
784
777
  else {
@@ -1016,7 +1009,6 @@ class FlushClockStep extends ClockStep {
1016
1009
  super();
1017
1010
  this.startClock = startClock;
1018
1011
  this.state = state;
1019
- this.log = undefined;
1020
1012
  }
1021
1013
  }
1022
1014
  export class StepBackError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"Turn.js","sourceRoot":"","sources":["../../src/library/game/Turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Turn.js","sourceRoot":"","sources":["../../src/library/game/Turn.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export type PromptResponse = {
6
6
  };
7
7
  export type RngResponse = {
8
8
  readonly type: "rng";
9
- value: number;
9
+ value: number[];
10
10
  };
11
11
  export type Decision = PromptResponse | RngResponse | TurnState;
12
12
  export declare class TurnState {
@@ -17,10 +17,11 @@ export declare class TurnState {
17
17
  decisions: Decision[];
18
18
  private parentTurnState;
19
19
  private parentTurnIndex;
20
- toJSON(): Omit<this, "parentTurnIndex" | "parentTurnState" | "toJSON" | "getOrCreatePromptResponse" | "setOrCreatePromptResponse" | "getOrCreateRng" | "getOrCreateTurnState" | "deserialize" | "hasUserMadeChoiceSinceUserContextChangedOrRng" | "stepBack" | "fullStepBack">;
20
+ toJSON(): Omit<this, "parentTurnIndex" | "parentTurnState" | "toJSON" | "getOrCreatePromptResponse" | "setOrCreatePromptResponse" | "getOrCreateRng" | "getOrCreateMultipleRng" | "getOrCreateTurnState" | "deserialize" | "hasUserMadeChoiceSinceUserContextChangedOrRng" | "stepBack" | "fullStepBack">;
21
21
  getOrCreatePromptResponse(index: number): PromptResponse;
22
22
  setOrCreatePromptResponse(index: number, response: PromptResponse): void;
23
23
  getOrCreateRng(index: number): number;
24
+ getOrCreateMultipleRng(index: number, count: number): number[];
24
25
  getOrCreateTurnState(index: number): TurnState;
25
26
  deserialize(serialized: any): void;
26
27
  hasUserMadeChoiceSinceUserContextChangedOrRng(index: number): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"TurnState.d.ts","sourceRoot":"","sources":["../../src/library/game/TurnState.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,WAAW,GAAG,SAAS,CAAC;AAEhE,qBAAa,SAAS;IACpB,QAAQ,CAAC,IAAI,UAAU;IACvB,EAAE,SAAU;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,SAAc;IAEzB,SAAS,EAAE,QAAQ,EAAE,CAAM;IAE3B,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAAK;IAE5B,MAAM;IAMC,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAiBxD,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAcxE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAmBrC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAkB9C,WAAW,CAAC,UAAU,EAAE,GAAG;IAqB3B,6CAA6C,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IA4BrE,QAAQ;IAqBR,YAAY;CAiBpB"}
1
+ {"version":3,"file":"TurnState.d.ts","sourceRoot":"","sources":["../../src/library/game/TurnState.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,WAAW,GAAG,SAAS,CAAC;AAEhE,qBAAa,SAAS;IACpB,QAAQ,CAAC,IAAI,UAAU;IACvB,EAAE,SAAU;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,SAAc;IAEzB,SAAS,EAAE,QAAQ,EAAE,CAAM;IAE3B,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAAK;IAE5B,MAAM;IAMC,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAiBxD,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAcxE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAmBrC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAmB9D,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAkB9C,WAAW,CAAC,UAAU,EAAE,GAAG;IAqB3B,6CAA6C,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IA4BrE,QAAQ;IAqBR,YAAY;CAiBpB"}
@@ -3,10 +3,8 @@ export class TurnState {
3
3
  constructor() {
4
4
  this.type = "turn";
5
5
  this.id = "root";
6
- this.playerId = undefined;
7
6
  this.createdDate = Date.now();
8
7
  this.decisions = [];
9
- this.parentTurnState = undefined;
10
8
  this.parentTurnIndex = 0;
11
9
  }
12
10
  toJSON() {
@@ -54,13 +52,13 @@ export class TurnState {
54
52
  if (result.type !== "rng") {
55
53
  throw new MismatchError();
56
54
  }
57
- return result.value;
55
+ return result.value[0];
58
56
  }
59
57
  else if (index === this.decisions.length) {
60
58
  const rng = Math.random();
61
59
  this.decisions.push({
62
60
  type: "rng",
63
- value: rng,
61
+ value: [rng],
64
62
  });
65
63
  return rng;
66
64
  }
@@ -68,6 +66,26 @@ export class TurnState {
68
66
  throw new MismatchError();
69
67
  }
70
68
  }
69
+ getOrCreateMultipleRng(index, count) {
70
+ if (index < this.decisions.length) {
71
+ const result = this.decisions[index];
72
+ if (result.type !== "rng" || result.value.length !== count) {
73
+ throw new MismatchError();
74
+ }
75
+ return result.value;
76
+ }
77
+ else if (index === this.decisions.length) {
78
+ const rngs = Array.from({ length: count }, () => Math.random());
79
+ this.decisions.push({
80
+ type: "rng",
81
+ value: rngs,
82
+ });
83
+ return rngs;
84
+ }
85
+ else {
86
+ throw new MismatchError();
87
+ }
88
+ }
71
89
  getOrCreateTurnState(index) {
72
90
  if (index < this.decisions.length) {
73
91
  const result = this.decisions[index];
@@ -1 +1 @@
1
- {"version":3,"file":"TurnState.js","sourceRoot":"","sources":["../../src/library/game/TurnState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TurnState.js","sourceRoot":"","sources":["../../src/library/game/TurnState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ClockDetails } from "../ClockDetails";
2
+ import { Connection } from "../Connection";
3
+ import { ConnectionObject } from "../ConnectionObject";
4
+ import { PlayerChit } from "../PlayerChit";
5
+ import { PromptSerialization } from "../Prompt";
6
+ import { RootChit } from "../RootChit";
7
+ export declare class BadAIClientPrompts<P extends PlayerChit, R extends RootChit<P>> extends ConnectionObject {
8
+ private playerId;
9
+ private connection;
10
+ private serverPrompts;
11
+ constructor(playerId: string, connection: Connection);
12
+ setPromptForPlayer(playerId: string, prompt?: PromptSerialization, clockDetails?: ClockDetails): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=BadAIClientPrompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BadAIClientPrompts.d.ts","sourceRoot":"","sources":["../../../src/library/game/badAiTransport/BadAIClientPrompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,kBAAkB,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAE,SAAQ,gBAAgB;IAIjG,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;IAJpB,OAAO,CAAC,aAAa,CAAsB;gBAGjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU;IAOnB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,YAAY,CAAC,EAAE,YAAY;CAuC5G"}