@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":"CameraSpec.js","sourceRoot":"","sources":["../../src/library/rendering/CameraSpec.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAE9C,MAAM,OAAO,UAAU;IAAvB;QACS,YAAO,GAAW,CAAC,CAAC;QACpB,cAAS,GAAW,EAAE,CAAC;QACvB,8BAAyB,GAAW,CAAC,CAAC;QACtC,4BAAuB,GAAW,CAAC,GAAG,CAAC;QAE9C;;;;;;WAMG;QACI,eAAU,GAAW,EAAE,CAAC;QACxB,oBAAe,GAAW,CAAC,CAAC;QAC5B,kBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAW,GAAW,EAAE,CAAC;QACzB,iBAAY,GAAW,EAAE,CAAC;QAE1B,gBAAW,GAAW,GAAG,CAAC;QAC1B,sBAAiB,GAAW,CAAC,CAAC;QAC9B,mCAA8B,GAAW,GAAG,CAAC;KACrD;CAAA"}
1
+ {"version":3,"file":"CameraSpec.js","sourceRoot":"","sources":["../../src/library/rendering/CameraSpec.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAE9C,MAAM,OAAO,UAAU;IAAvB;QACS,YAAO,GAAW,CAAC,CAAC;QACpB,cAAS,GAAW,EAAE,CAAC;QACvB,8BAAyB,GAAW,CAAC,CAAC;QACtC,4BAAuB,GAAW,CAAC,GAAG,CAAC;QAE9C;;;;;;WAMG;QACI,eAAU,GAAW,EAAE,CAAC;QACxB,oBAAe,GAAW,CAAC,CAAC;QAC5B,kBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAW,GAAW,EAAE,CAAC;QACzB,iBAAY,GAAW,EAAE,CAAC;QAE1B,gBAAW,GAAW,GAAG,CAAC;QAC1B,sBAAiB,GAAW,CAAC,CAAC;QAC9B,mCAA8B,GAAW,GAAG,CAAC;IACtD,CAAC;CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CameraWrapperPerspective.d.ts","sourceRoot":"","sources":["../../src/library/rendering/CameraWrapperPerspective.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAU,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,OAAO;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,qBAAa,wBAAwB;IAoBvB,OAAO,CAAC,IAAI;IAnBjB,UAAU,aAAoB;IAC9B,MAAM,oBAAuG;IAEpH,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAa;IACzB,gBAAgB,EAAE,MAAM,CAAK;IAC7B,iBAAiB,EAAE,MAAM,CAAK;IAErC,SAAS,CAAC,WAAW,iBAA4C;IACjE,SAAS,CAAC,aAAa,iBAA4C;IACnE,SAAS,CAAC,YAAY;cAAqB,MAAM;aAAO,MAAM;OAA8B;IAE5F,OAAO,CAAC,IAAI,CAAc;gBAEN,IAAI,EAAE,sBAAsB;IAQhD,SAAS;IAMT,OAAO;IAEP,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,uBAAuB;IAwCxB,aAAa,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI;IAK5C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAkBnD,IAAW,IAAI,WAEd;IAEM,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAOvC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAkB3E,OAAO,CAAC,QAAQ;IAoCT,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,UAAQ;CAsa5C"}
1
+ {"version":3,"file":"CameraWrapperPerspective.d.ts","sourceRoot":"","sources":["../../src/library/rendering/CameraWrapperPerspective.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAU,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,OAAO;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,qBAAa,wBAAwB;IAoBvB,OAAO,CAAC,IAAI;IAnBjB,UAAU,aAAoB;IAC9B,MAAM,oBAAuG;IAEpH,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAa;IACzB,gBAAgB,EAAE,MAAM,CAAK;IAC7B,iBAAiB,EAAE,MAAM,CAAK;IAErC,SAAS,CAAC,WAAW,iBAA4C;IACjE,SAAS,CAAC,aAAa,iBAA4C;IACnE,SAAS,CAAC,YAAY;cAAqB,MAAM;aAAO,MAAM;OAA8B;IAE5F,OAAO,CAAC,IAAI,CAAc;gBAEN,IAAI,EAAE,sBAAsB;IAQhD,SAAS;IAMT,OAAO;IAEP,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,uBAAuB;IAwCxB,aAAa,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI;IAK5C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAkBnD,IAAW,IAAI,WAEd;IAEM,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAOvC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAkB3E,OAAO,CAAC,QAAQ;IAoCT,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,UAAQ;CAoa5C"}
@@ -6,7 +6,6 @@ export class CameraWrapperPerspective {
6
6
  this.chit = chit;
7
7
  this.cameraSpec = new CameraSpec();
8
8
  this.camera = new PerspectiveCamera(this.cameraSpec.targetFov, window.innerWidth / window.innerHeight, 0.1, 1000);
9
- this.firstPositionedCamera = undefined;
10
9
  this.current = { x: 0, y: 0, z: 1 };
11
10
  this.last = { x: 0, y: 0, z: 1 };
12
11
  this.width = 1;
@@ -88,7 +87,7 @@ export class CameraWrapperPerspective {
88
87
  this.rotationTween.stop();
89
88
  this.nearFarTween.stop();
90
89
  this.camera.updateProjectionMatrix();
91
- this.adjust(this.bbox);
90
+ this.adjust(this.bbox, true);
92
91
  }
93
92
  get zoom() {
94
93
  return this.current.z;
@@ -1 +1 @@
1
- {"version":3,"file":"CameraWrapperPerspective.js","sourceRoot":"","sources":["../../src/library/rendering/CameraWrapperPerspective.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CameraWrapperPerspective.js","sourceRoot":"","sources":["../../src/library/rendering/CameraWrapperPerspective.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,10 @@ export declare class ChitGalleryItemInstance implements GalleryItem {
17
17
  preferredHeight?: number;
18
18
  originalSummary?: string;
19
19
  summary?: string;
20
+ shortSummary?: string;
20
21
  summaryIconMap?: IconMap;
21
22
  summaryRenderingOptions?: RichTextRenderOptionsParameters;
23
+ shortSummaryRenderingOptions?: RichTextRenderOptionsParameters;
22
24
  private sceneWrapper;
23
25
  constructor(chit: Chit);
24
26
  private cloneWithUserData;
@@ -1 +1 @@
1
- {"version":3,"file":"ChitGalleryItemInstance.d.ts","sourceRoot":"","sources":["../../src/library/rendering/ChitGalleryItemInstance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,KAAK,aAAa,GAAG,MAAM,IAAI,CAAC;AAEhC,qBAAa,uBAAwB,YAAW,WAAW;IAkBtC,IAAI,EAAE,IAAI;IAjB7B,OAAO,CAAC,GAAG,CAAuB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;IAExB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uBAAuB,CAAC,EAAE,+BAA+B,CAAC;IAE1D,OAAO,CAAC,YAAY,CAA2B;gBAE5B,IAAI,EAAE,IAAI;IAqB7B,OAAO,CAAC,iBAAiB;IA6BzB,UAAU,CAAC,YAAY,EAAE,YAAY;IAgBrC,qBAAqB,CAAC,EAAE,EAAE,aAAa;IAOvC,MAAM;IAIN,OAAO;CAGR"}
1
+ {"version":3,"file":"ChitGalleryItemInstance.d.ts","sourceRoot":"","sources":["../../src/library/rendering/ChitGalleryItemInstance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,KAAK,aAAa,GAAG,MAAM,IAAI,CAAC;AAEhC,qBAAa,uBAAwB,YAAW,WAAW;IAoBtC,IAAI,EAAE,IAAI;IAnB7B,OAAO,CAAC,GAAG,CAAuB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;IAExB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uBAAuB,CAAC,EAAE,+BAA+B,CAAC;IAC1D,4BAA4B,CAAC,EAAE,+BAA+B,CAAC;IAE/D,OAAO,CAAC,YAAY,CAA2B;gBAE5B,IAAI,EAAE,IAAI;IAqB7B,OAAO,CAAC,iBAAiB;IA6BzB,UAAU,CAAC,YAAY,EAAE,YAAY;IAgBrC,qBAAqB,CAAC,EAAE,EAAE,aAAa;IAOvC,MAAM;IAIN,OAAO;CAGR"}
@@ -3,18 +3,6 @@ export class ChitGalleryItemInstance {
3
3
  constructor(chit) {
4
4
  this.chit = chit;
5
5
  this.cbs = [];
6
- this.id = undefined;
7
- this.onClick = undefined;
8
- this.unsubscribe = undefined;
9
- this.maximumWidth = undefined;
10
- this.maximumHeight = undefined;
11
- this.preferredWidth = undefined;
12
- this.preferredHeight = undefined;
13
- this.originalSummary = undefined;
14
- this.summary = undefined;
15
- this.summaryIconMap = undefined;
16
- this.summaryRenderingOptions = undefined;
17
- this.sceneWrapper = undefined;
18
6
  this.id = chit.id ?? "no id";
19
7
  this.onClick = () => {
20
8
  if (chit.onClick) {
@@ -1 +1 @@
1
- {"version":3,"file":"ChitGalleryItemInstance.js","sourceRoot":"","sources":["../../src/library/rendering/ChitGalleryItemInstance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChitGalleryItemInstance.js","sourceRoot":"","sources":["../../src/library/rendering/ChitGalleryItemInstance.ts"],"names":[],"mappings":"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"}
@@ -16,12 +16,17 @@ interface Point3d {
16
16
  interface PointZ {
17
17
  z: number;
18
18
  }
19
+ export type DragHandler = {
20
+ duringDrag: (dx: number, dy: number) => void;
21
+ finishDrag: () => void;
22
+ };
19
23
  export declare class ChitRenderInstance {
20
24
  chit: Chit;
21
25
  private static ID_COUNTER;
22
26
  id: string;
23
27
  protected renderSpec: ChitRenderSpec | null;
24
28
  group: Group<import("three").Object3DEventMap>;
29
+ protected targetAnchorPoints: Map<string | OwnerOriginPosition, Vector3>;
25
30
  protected anchorPoints: Map<string | OwnerOriginPosition, Group<import("three").Object3DEventMap>>;
26
31
  protected sizeX: number;
27
32
  protected sizeY: number;
@@ -63,10 +68,12 @@ export declare class ChitRenderInstance {
63
68
  * If coordinates would be visible in current screen area, moves them to upper left corner.
64
69
  */
65
70
  private ensureCoordinatesOutsideVisibleRegion;
71
+ targetAnchorPoint(ownerPosition: OwnerOriginPosition | string): Vector3;
66
72
  anchor(ownerPosition: OwnerOriginPosition | string): Group;
67
73
  bboxAnchor(ownerPosition: OwnerOriginPosition | string): Group;
74
+ protected updateGroupPosition(key: OwnerOriginPosition | string, group: Group): void;
68
75
  protected setOutletPosition(positionKey: string, position: Vector3): void;
69
- protected updateGroupPosition(group: Group, position: OwnerOriginPosition | string): void;
76
+ protected updateAnchorPosition(vector: Vector3, position: OwnerOriginPosition | string): void;
70
77
  private _galleryItem?;
71
78
  createGalleryItem(item: ChitGalleryItemInstance): void;
72
79
  get currentGalleryItem(): ChitGalleryItemInstance | undefined;
@@ -76,7 +83,11 @@ export declare class ChitRenderInstance {
76
83
  showDetailsOnLongPress(): boolean;
77
84
  protected refresh(): void;
78
85
  outlineContext?: ChitRenderInstance;
79
- hasExplicitOnClick(): boolean | undefined;
86
+ hasExplicitOnClick(): boolean;
87
+ executeDrag(x: number, y: number): {
88
+ duringDrag: (dx: number, dy: number) => void;
89
+ finishDrag: () => void;
90
+ };
80
91
  fixOutline(): void;
81
92
  screenCoordinates(): Vector2 | undefined;
82
93
  protected attemptToFindPlaneZ0(rootRenderInstance: RootChitRenderInstance, chit?: Chit | Vector2): Vector3 | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ChitRenderInstance.d.ts","sourceRoot":"","sources":["../../src/library/rendering/ChitRenderInstance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChitRenderInstance.d.ts","sourceRoot":"","sources":["../../src/library/rendering/ChitRenderInstance.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ import { ChitRenderSpec, OwnerOriginPosition } from "./ChitRenderSpec";
4
4
  import { Easing, Tween } from "@tweenjs/tween.js";
5
5
  import { fixBbox } from "../utilities/BboxUtils";
6
6
  import Color from "color";
7
- import nextTick from "next-tick";
8
7
  const LINE_COLOR = new MeshBasicMaterial({ color: 0xff0000, wireframe: true, wireframeLinewidth: 2 });
9
8
  const CLICK_LINE_COLOR = new MeshBasicMaterial({ color: 0xffff00, wireframe: true, wireframeLinewidth: 2 });
10
9
  const BOX_GEO = new BoxGeometry(1, 1, 1);
@@ -13,11 +12,11 @@ class DestroyedError extends Error {
13
12
  export class ChitRenderInstance {
14
13
  constructor(chit) {
15
14
  this.chit = chit;
16
- this.id = undefined;
17
15
  // rendering info
18
16
  this.renderSpec = null;
19
17
  // threejs info
20
18
  this.group = new Group(); // group storing the visible meshes. Will tween
19
+ this.targetAnchorPoints = new Map();
21
20
  this.anchorPoints = new Map();
22
21
  this.sizeX = 0;
23
22
  this.sizeY = 0;
@@ -32,16 +31,12 @@ export class ChitRenderInstance {
32
31
  this.bbox = new Mesh(BOX_GEO, LINE_COLOR);
33
32
  this.clickbox = new Mesh(BOX_GEO, CLICK_LINE_COLOR);
34
33
  this.isUsingSyntheticBbox = false;
35
- this.parentRenderInstance = undefined;
36
34
  this.childrenRenderInstances = [];
37
35
  // tween info
38
36
  this.rotationTween = new Tween({ x: 0, y: 0, z: 0 });
39
37
  this.offsetTween = new Tween({ x: 0, y: 0 });
40
38
  this.zOffsetTween = new Tween({ z: 0 });
41
39
  this.unsubscribeToOnChange = () => { };
42
- this._rootRenderInstance = undefined;
43
- this._galleryItem = undefined;
44
- this.outlineContext = undefined;
45
40
  this._isMovingToNewViewer = false;
46
41
  this._boundingBoxDirty = false;
47
42
  this._lastUpdateBoudingBoxKey = "";
@@ -253,13 +248,22 @@ export class ChitRenderInstance {
253
248
  }
254
249
  return coordinates;
255
250
  }
251
+ targetAnchorPoint(ownerPosition) {
252
+ let result = this.targetAnchorPoints.get(ownerPosition);
253
+ if (!result) {
254
+ result = new Vector3();
255
+ this.updateAnchorPosition(result, ownerPosition);
256
+ this.targetAnchorPoints.set(ownerPosition, result);
257
+ }
258
+ return result;
259
+ }
256
260
  anchor(ownerPosition) {
257
261
  let result = this.anchorPoints.get(ownerPosition);
258
262
  if (!result) {
259
263
  result = new Group();
260
- this.updateGroupPosition(result, ownerPosition);
261
264
  this.group.add(result);
262
265
  this.anchorPoints.set(ownerPosition, result);
266
+ this.updateGroupPosition(ownerPosition, result);
263
267
  }
264
268
  return result;
265
269
  }
@@ -267,58 +271,63 @@ export class ChitRenderInstance {
267
271
  let result = this.bboxAnchorPoints.get(ownerPosition);
268
272
  if (!result) {
269
273
  result = new Group();
270
- this.updateGroupPosition(result, ownerPosition);
271
274
  this.bboxGroup.add(result);
272
275
  this.bboxAnchorPoints.set(ownerPosition, result);
276
+ this.updateGroupPosition(ownerPosition, result);
273
277
  }
274
278
  return result;
275
279
  }
280
+ updateGroupPosition(key, group) {
281
+ const vector = this.targetAnchorPoint(key);
282
+ group.position.set(vector.x, vector.y, vector.z + this.sizeZ / 2 + (this.renderSpec?.childrenOffsetZ ?? 0));
283
+ }
276
284
  setOutletPosition(positionKey, position) {
277
- this.anchor(positionKey).position.set(position.x, position.y, position.z);
278
- this.bboxAnchor(positionKey).position.set(position.x, position.y, position.z);
285
+ this.targetAnchorPoint(positionKey).copy(position);
286
+ this.updateGroupPosition(positionKey, this.anchor(positionKey));
287
+ this.updateGroupPosition(positionKey, this.bboxAnchor(positionKey));
279
288
  }
280
- updateGroupPosition(group, position) {
281
- const z = this.sizeZ / 2 + (this.renderSpec?.childrenOffsetZ ?? 0);
289
+ updateAnchorPosition(vector, position) {
290
+ const z = 0;
282
291
  switch (position) {
283
292
  case OwnerOriginPosition.TopLeft: {
284
- group.position.set(-this.sizeX / 2, this.sizeY / 2, z);
293
+ vector.set(-this.sizeX / 2, this.sizeY / 2, z);
285
294
  break;
286
295
  }
287
296
  case OwnerOriginPosition.TopCenter: {
288
- group.position.set(0, this.sizeY / 2, z);
297
+ vector.set(0, this.sizeY / 2, z);
289
298
  break;
290
299
  }
291
300
  case OwnerOriginPosition.TopRight: {
292
- group.position.set(this.sizeX / 2, this.sizeY / 2, z);
301
+ vector.set(this.sizeX / 2, this.sizeY / 2, z);
293
302
  break;
294
303
  }
295
304
  case OwnerOriginPosition.MiddleLeft: {
296
- group.position.set(-this.sizeX / 2, 0, z);
305
+ vector.set(-this.sizeX / 2, 0, z);
297
306
  break;
298
307
  }
299
308
  case OwnerOriginPosition.MiddleCenter: {
300
- group.position.set(0, 0, z);
309
+ vector.set(0, 0, z);
301
310
  break;
302
311
  }
303
312
  case OwnerOriginPosition.MiddleRight: {
304
- group.position.set(this.sizeX / 2, 0, z);
313
+ vector.set(this.sizeX / 2, 0, z);
305
314
  break;
306
315
  }
307
316
  case OwnerOriginPosition.BottomLeft: {
308
- group.position.set(-this.sizeX / 2, -this.sizeY / 2, z);
317
+ vector.set(-this.sizeX / 2, -this.sizeY / 2, z);
309
318
  break;
310
319
  }
311
320
  case OwnerOriginPosition.BottomCenter: {
312
- group.position.set(0, -this.sizeY / 2, z);
321
+ vector.set(0, -this.sizeY / 2, z);
313
322
  break;
314
323
  }
315
324
  case OwnerOriginPosition.BottomRight: {
316
- group.position.set(this.sizeX / 2, -this.sizeY / 2, z);
325
+ vector.set(this.sizeX / 2, -this.sizeY / 2, z);
317
326
  break;
318
327
  }
319
328
  // named strings --- they will reset the position correctly later (or not if they aren't set and then this will be correct)
320
329
  default: {
321
- group.position.set(0, 0, z);
330
+ vector.set(0, 0, z);
322
331
  break;
323
332
  }
324
333
  }
@@ -329,9 +338,11 @@ export class ChitRenderInstance {
329
338
  item.preferredHeight = this.renderSpec?.galleryPreferredHeight;
330
339
  item.preferredWidth = this.renderSpec?.galleryPreferredWidth;
331
340
  item.summary = this.renderSpec?.summary;
341
+ item.shortSummary = this.renderSpec?.shortSummary;
332
342
  item.originalSummary = item.summary;
333
343
  item.summaryIconMap = this.renderSpec?.summaryIconMap;
334
344
  item.summaryRenderingOptions = this.renderSpec?.summaryRenderingOptions;
345
+ item.shortSummaryRenderingOptions = this.renderSpec?.shortSummaryRenderingOptions;
335
346
  if (this._galleryItem === item) {
336
347
  return;
337
348
  }
@@ -424,7 +435,60 @@ export class ChitRenderInstance {
424
435
  this.rootRenderInstance.markHasChange();
425
436
  }
426
437
  hasExplicitOnClick() {
427
- return this.chit.onClick && !this.renderSpec?.isShowingChildrenAsGallery;
438
+ return ((this.chit.onClick || this.chit.onDrag || this.chit.isDropTarget) && !this.renderSpec?.isShowingChildrenAsGallery);
439
+ }
440
+ executeDrag(x, y) {
441
+ const root = this.rootRenderInstance;
442
+ const dragPoint = root.attemptToFindPlaneZ0OfCanvasPoints(x, y) ?? new Vector3(0, 0, 0);
443
+ const startPosition = this.group.position.clone();
444
+ if (!this.chit.dropTargets) {
445
+ throw "Must have drop targets";
446
+ }
447
+ const startWorldPosition = this.bboxGroup.getWorldPosition(new Vector3());
448
+ const targets = [];
449
+ this.chit.dropTargets.map((target) => {
450
+ if (target.renderInstance && target !== this.chit) {
451
+ const position = target.renderInstance.bboxGroup.getWorldPosition(new Vector3());
452
+ targets.push({ chit: target, distance: position.sub(startWorldPosition) });
453
+ }
454
+ });
455
+ let dropTarget = undefined;
456
+ return {
457
+ duringDrag: (dx, dy) => {
458
+ x += dx;
459
+ y += dy;
460
+ const currentPoint = root.attemptToFindPlaneZ0OfCanvasPoints(x, y) ?? new Vector3(0, 0, 0);
461
+ const worldDx = currentPoint.x - dragPoint.x;
462
+ const worldDy = currentPoint.y - dragPoint.y;
463
+ this.group.position.set(startPosition.x + worldDx, startPosition.y + worldDy, startPosition.z + (this.renderSpec?.dragZLiftAmount ?? 0));
464
+ let closestIndex = 0;
465
+ let closest = Number.MAX_SAFE_INTEGER;
466
+ targets.forEach(({ distance }, i) => {
467
+ const computed = Math.sqrt((worldDx - distance.x) * (worldDx - distance.x) + (worldDy - distance.y) * (worldDy - distance.y));
468
+ if (computed < closest) {
469
+ closest = computed;
470
+ closestIndex = i;
471
+ }
472
+ });
473
+ if (dropTarget && dropTarget !== targets[closestIndex].chit) {
474
+ dropTarget.isDropTarget = false;
475
+ dropTarget.renderInstance?.refresh();
476
+ }
477
+ dropTarget = targets[closestIndex].chit;
478
+ dropTarget.isDropTarget = true;
479
+ dropTarget.renderInstance.refresh();
480
+ root.markDirty();
481
+ },
482
+ finishDrag: () => {
483
+ if (dropTarget) {
484
+ dropTarget.isDropTarget = false;
485
+ dropTarget.renderInstance?.refresh();
486
+ this.chit.onDrag(dropTarget);
487
+ dropTarget.add(this.chit);
488
+ }
489
+ this.refresh();
490
+ },
491
+ };
428
492
  }
429
493
  fixOutline() {
430
494
  if (this.hasExplicitOnClick() &&
@@ -482,29 +546,8 @@ export class ChitRenderInstance {
482
546
  return chit.renderInstance.group.getWorldPosition(new Vector3());
483
547
  }
484
548
  const screenCoordsOfNewLocation = chit instanceof Vector2 ? chit : chit ? chit.screenCoordinates() : new Vector2(0, 0);
485
- if (rootRenderInstance && rootRenderInstance.rootGroup && screenCoordsOfNewLocation) {
486
- // find the current screen coordinates of its new home and map it to "camera space"
487
- const cameraSpace = rootRenderInstance.convertScreenSpaceToCameraSpace(screenCoordsOfNewLocation.x, screenCoordsOfNewLocation.y);
488
- if (!cameraSpace) {
489
- return;
490
- }
491
- const scale = Math.max(Math.abs(cameraSpace.x), Math.abs(cameraSpace.y));
492
- if (!Number.isFinite(scale) || scale === 0) {
493
- return undefined;
494
- }
495
- let multiplier = scale > 1 ? 1 : 1 / scale;
496
- // figure out what camera space means at Z=0
497
- for (; multiplier > 0.11; multiplier *= 0.75) {
498
- const raycaster = new Raycaster();
499
- raycaster.setFromCamera(new Vector2(cameraSpace.x * multiplier, cameraSpace.y * multiplier), rootRenderInstance.camera);
500
- const planeZ = new Plane(new Vector3(0, 0, 1), 0);
501
- const intersection = new Vector3();
502
- const intersects = raycaster.ray.intersectPlane(planeZ, intersection);
503
- if (intersects) {
504
- return intersects;
505
- }
506
- }
507
- // return intersection;
549
+ if (screenCoordsOfNewLocation) {
550
+ return rootRenderInstance.attemptToFindPlaneZ0OfScreenPoints(screenCoordsOfNewLocation.x, screenCoordsOfNewLocation.y);
508
551
  }
509
552
  }
510
553
  detach() {
@@ -574,7 +617,7 @@ export class ChitRenderInstance {
574
617
  if (this.isUsingSyntheticBbox) {
575
618
  if (!this._boundingBoxDirty) {
576
619
  this._boundingBoxDirty = true;
577
- nextTick(() => {
620
+ queueMicrotask(() => {
578
621
  this.updateBoundingBox();
579
622
  this._boundingBoxDirty = false;
580
623
  });
@@ -636,14 +679,15 @@ export class ChitRenderInstance {
636
679
  this.centerX = this.sizeX / 2 + box3.min.x;
637
680
  this.centerY = this.sizeY / 2 + box3.min.y;
638
681
  this.centerZ = this.sizeZ / 2 + box3.min.z;
682
+ Object.entries(this.renderSpec.outletPositions).forEach(([key, position]) => {
683
+ this.targetAnchorPoint(key).copy(new Vector3(position.x, position.y, position.z));
684
+ });
639
685
  const newKey = this.positionKey(clickBox3);
640
686
  const keyChanged = newKey !== this._lastUpdateBoudingBoxKey;
641
687
  if (keyChanged) {
642
688
  this._lastUpdateBoudingBoxKey = newKey;
643
689
  this.bbox.scale.set(this.sizeX, this.sizeY, this.sizeZ);
644
690
  this.clickbox.scale.set(clickBox3.max.x - clickBox3.min.x, clickBox3.max.y - clickBox3.min.y, clickBox3.max.z - clickBox3.min.z);
645
- [...this.anchorPoints.entries()].forEach(([key, value]) => this.updateGroupPosition(value, key));
646
- [...this.bboxAnchorPoints.entries()].forEach(([key, value]) => this.updateGroupPosition(value, key));
647
691
  this.fixObjectPosition();
648
692
  this.bbox.position.z = this.centerZ;
649
693
  this.bbox.position.x = this.centerX;
@@ -660,9 +704,8 @@ export class ChitRenderInstance {
660
704
  this.bboxGroup.position.set(targetOffset.x, targetOffset.y, targetOffset.z);
661
705
  this.bboxGroup.rotation.order = "ZYX";
662
706
  this.bboxGroup.rotation.set(this.renderSpec.rotateX, this.renderSpec.rotateY, this.renderSpec.rotateZ);
663
- Object.entries(this.renderSpec.outletPositions).forEach(([key, position]) => {
664
- this.setOutletPosition(key, new Vector3(position.x, position.y, position.z));
665
- });
707
+ [...this.anchorPoints.entries()].forEach(([key, value]) => this.updateGroupPosition(key, value));
708
+ [...this.bboxAnchorPoints.entries()].forEach(([key, value]) => this.updateGroupPosition(key, value));
666
709
  if (keyChanged) {
667
710
  this.notifyBoundingBoxChanged();
668
711
  }