@dreamboard-games/sdk 0.2.1-alpha.0 → 0.3.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/dist/{HandView-ncJIVLhN.d.ts → HandView-PYDmehVD.d.ts} +1 -1
  2. package/dist/{ResourceCounter-CTREyF73.d.ts → ResourceCounter-BTXklCEZ.d.ts} +1 -1
  3. package/dist/{ThemeProvider-fy0_QzgO.d.ts → ThemeProvider-DvMl17Ny.d.ts} +1 -1
  4. package/dist/attributes-BeRyboMS.d.ts +279 -0
  5. package/dist/browser-interaction.d.ts +708 -0
  6. package/dist/browser-interaction.js +106 -0
  7. package/dist/{chunk-KAELH4KC.js → chunk-3RQEICD3.js} +2 -2
  8. package/dist/{chunk-TDSWKVZ4.js → chunk-ADYH6PVT.js} +2457 -1265
  9. package/dist/chunk-ADYH6PVT.js.map +1 -0
  10. package/dist/{chunk-YFY3RL52.js → chunk-P7VMTJ5D.js} +2 -2
  11. package/dist/{chunk-YFY3RL52.js.map → chunk-P7VMTJ5D.js.map} +1 -1
  12. package/dist/chunk-QLG6VEMW.js +1691 -0
  13. package/dist/chunk-QLG6VEMW.js.map +1 -0
  14. package/dist/{chunk-WYPQ3GG5.js → chunk-QZ6X4B5P.js} +1177 -1106
  15. package/dist/chunk-QZ6X4B5P.js.map +1 -0
  16. package/dist/{chunk-GKKBPPSW.js → chunk-TXXLS3OI.js} +405 -309
  17. package/dist/chunk-TXXLS3OI.js.map +1 -0
  18. package/dist/{chunk-FDNZTDD6.js → chunk-W6SGFWXH.js} +48 -44
  19. package/dist/chunk-W6SGFWXH.js.map +1 -0
  20. package/dist/{chunk-MKXPVOUT.js → chunk-Y2AFYBMB.js} +48 -4
  21. package/dist/chunk-Y2AFYBMB.js.map +1 -0
  22. package/dist/{index-BwqPQtBu.d.ts → codegen.d.ts} +57 -565
  23. package/dist/{infrastructure/workspace-codegen.js → codegen.js} +3 -3
  24. package/dist/{components-D5ZRE2Hl.d.ts → components-DaIqi9QM.d.ts} +48 -37
  25. package/dist/{hex-board-view-D_07hO6O.d.ts → hex-board-view-UCUjMALd.d.ts} +3 -2
  26. package/dist/{infrastructure/reducer-bundle-abi.d.ts → index.d-BGqVifr_.d.ts} +289 -10
  27. package/dist/index.js +1 -1
  28. package/dist/package-set.d.ts +2 -2
  29. package/dist/package-set.js +1 -1
  30. package/dist/primitive-props-BNHDkgd7.d.ts +16 -0
  31. package/dist/reducer-contract.d.ts +3 -0
  32. package/dist/{infrastructure/reducer-bundle-abi.js → reducer-contract.js} +4 -4
  33. package/dist/reducer.d.ts +185 -179
  34. package/dist/reducer.js +1637 -1353
  35. package/dist/reducer.js.map +1 -1
  36. package/dist/runtime/primitives.d.ts +10 -9
  37. package/dist/runtime/primitives.js +8 -7
  38. package/dist/runtime/runtime-api.d.ts +2 -0
  39. package/dist/runtime/runtime-api.js +1 -0
  40. package/dist/runtime/workspace-contract.d.ts +63 -17
  41. package/dist/runtime/workspace-contract.js +5 -5
  42. package/dist/{runtime-api-DWxvTr-O.d.ts → runtime-api-tGL3ArsB.d.ts} +109 -4
  43. package/dist/runtime.d.ts +12 -57
  44. package/dist/runtime.js +487 -7
  45. package/dist/runtime.js.map +1 -1
  46. package/dist/testing.d.ts +4 -4
  47. package/dist/testing.js.map +1 -1
  48. package/dist/types.d.ts +1531 -85
  49. package/dist/types.js +1 -3
  50. package/dist/types.js.map +1 -1
  51. package/dist/ui/components.d.ts +7 -8
  52. package/dist/ui/components.js +1 -1
  53. package/dist/ui/defaults.d.ts +1 -1
  54. package/dist/ui/{types/player-state.d.ts → player-state.d.ts} +2 -2
  55. package/dist/{ui-contract-iQfTtUSL.d.ts → ui-contract-SctM4ibF.d.ts} +157 -150
  56. package/dist/ui.d.ts +10 -11
  57. package/dist/ui.js +2 -2
  58. package/package.json +35 -74
  59. package/dist/bundle-CDd5FKeD.d.ts +0 -283
  60. package/dist/cards-Sl3b40Mv.d.ts +0 -13
  61. package/dist/chunk-7YAHLYBR.js +0 -481
  62. package/dist/chunk-7YAHLYBR.js.map +0 -1
  63. package/dist/chunk-FDNZTDD6.js.map +0 -1
  64. package/dist/chunk-GKKBPPSW.js.map +0 -1
  65. package/dist/chunk-I46YJSOD.js +0 -1
  66. package/dist/chunk-MKXPVOUT.js.map +0 -1
  67. package/dist/chunk-T52J5RMF.js +0 -1
  68. package/dist/chunk-TDSWKVZ4.js.map +0 -1
  69. package/dist/chunk-U5C6BONG.js +0 -34
  70. package/dist/chunk-U5C6BONG.js.map +0 -1
  71. package/dist/chunk-WYPQ3GG5.js.map +0 -1
  72. package/dist/generated/runtime/primitives.d.ts +0 -12
  73. package/dist/generated/runtime/primitives.js +0 -180
  74. package/dist/generated/runtime/primitives.js.map +0 -1
  75. package/dist/generated/runtime-api.d.ts +0 -3
  76. package/dist/generated/runtime-api.js +0 -2
  77. package/dist/generated/runtime.d.ts +0 -14
  78. package/dist/generated/runtime.js +0 -18
  79. package/dist/generated/runtime.js.map +0 -1
  80. package/dist/generated/workspace-contract.d.ts +0 -14
  81. package/dist/generated/workspace-contract.js +0 -14
  82. package/dist/generated/workspace-contract.js.map +0 -1
  83. package/dist/infrastructure/reducer-bundle-abi.js.map +0 -1
  84. package/dist/infrastructure/workspace-codegen.d.ts +0 -53
  85. package/dist/infrastructure/workspace-codegen.js.map +0 -1
  86. package/dist/manifest-contract-BNHVGFtU.d.ts +0 -9
  87. package/dist/primitive-props-DpKs-GCr.d.ts +0 -11
  88. package/dist/runtime/types/runtime-api.d.ts +0 -1
  89. package/dist/runtime/types/runtime-api.js +0 -2
  90. package/dist/runtime-api-3dshj6kK.d.ts +0 -101
  91. package/dist/slots-1GPGihk8.d.ts +0 -8
  92. package/src/generated/reducer-contract/builders.ts +0 -90
  93. package/src/generated/reducer-contract/version.ts +0 -9
  94. package/src/generated/reducer-contract/wire.ts +0 -100
  95. package/src/generated/reducer-contract/zod.ts +0 -103
  96. package/src/generated/runtime/primitives.ts +0 -2
  97. package/src/generated/runtime-api.ts +0 -5
  98. package/src/generated/runtime.ts +0 -35
  99. package/src/generated/workspace-contract.ts +0 -2
  100. package/src/index.ts +0 -7
  101. package/src/infrastructure/reducer-bundle-abi.ts +0 -8
  102. package/src/infrastructure/reducer-contract/bundle.ts +0 -37
  103. package/src/infrastructure/workspace-codegen/hex-geometry.ts +0 -69
  104. package/src/infrastructure/workspace-codegen/index.ts +0 -64
  105. package/src/infrastructure/workspace-codegen/manifest-contract.ts +0 -6632
  106. package/src/infrastructure/workspace-codegen/manifest-validation.ts +0 -795
  107. package/src/infrastructure/workspace-codegen/ownership.ts +0 -131
  108. package/src/infrastructure/workspace-codegen/preset-card-sets.ts +0 -169
  109. package/src/infrastructure/workspace-codegen/seeds.ts +0 -1705
  110. package/src/infrastructure/workspace-codegen.ts +0 -1
  111. package/src/package-set.ts +0 -19
  112. package/src/reducer/authoring/contract.ts +0 -157
  113. package/src/reducer/authoring/effect.ts +0 -224
  114. package/src/reducer/authoring/game.ts +0 -23
  115. package/src/reducer/authoring/interaction.ts +0 -98
  116. package/src/reducer/authoring/phase.ts +0 -300
  117. package/src/reducer/authoring/types.ts +0 -70
  118. package/src/reducer/authoring/validation.ts +0 -382
  119. package/src/reducer/authoring/view-stage.ts +0 -68
  120. package/src/reducer/authoring.ts +0 -29
  121. package/src/reducer/bundle/ingress-bundle.ts +0 -491
  122. package/src/reducer/bundle/trusted/engine-instruction-resolver.ts +0 -254
  123. package/src/reducer/bundle/trusted/flow-instruction-resolver.ts +0 -73
  124. package/src/reducer/bundle/trusted/instruction-runner.ts +0 -414
  125. package/src/reducer/bundle/trusted/interaction-authorization.ts +0 -137
  126. package/src/reducer/bundle/trusted/interaction-collectors.ts +0 -859
  127. package/src/reducer/bundle/trusted/interaction-decision.ts +0 -747
  128. package/src/reducer/bundle/trusted/interaction-resolver.ts +0 -95
  129. package/src/reducer/bundle/trusted/interaction-types.ts +0 -171
  130. package/src/reducer/bundle/trusted/lifecycle-runner.ts +0 -427
  131. package/src/reducer/bundle/trusted/projection-builder.ts +0 -356
  132. package/src/reducer/bundle/trusted/projection-context.ts +0 -39
  133. package/src/reducer/bundle/trusted/rng-sampler.ts +0 -150
  134. package/src/reducer/bundle/trusted/runtime-registry.ts +0 -120
  135. package/src/reducer/bundle/trusted/runtime-scope.ts +0 -336
  136. package/src/reducer/bundle/trusted/simultaneous-player.ts +0 -97
  137. package/src/reducer/bundle/trusted/stage-resolver.ts +0 -87
  138. package/src/reducer/bundle/trusted/static-projection.ts +0 -116
  139. package/src/reducer/bundle/trusted/trusted-runtime-args.ts +0 -97
  140. package/src/reducer/bundle/trusted/trusted-runtime-result.ts +0 -39
  141. package/src/reducer/bundle/trusted/trusted-setup-profiles.ts +0 -43
  142. package/src/reducer/bundle/trusted/trusted-state-codec.ts +0 -48
  143. package/src/reducer/bundle/trusted-bundle.ts +0 -97
  144. package/src/reducer/bundle/types.ts +0 -171
  145. package/src/reducer/bundle.ts +0 -2
  146. package/src/reducer/client-param-schemas.ts +0 -57
  147. package/src/reducer/compose.ts +0 -34
  148. package/src/reducer/core/runtime-input.ts +0 -30
  149. package/src/reducer/core/runtime-instruction.ts +0 -59
  150. package/src/reducer/core/types.ts +0 -62
  151. package/src/reducer/definition-index.ts +0 -277
  152. package/src/reducer/derived.ts +0 -106
  153. package/src/reducer/effects.ts +0 -92
  154. package/src/reducer/engine/runtime-instruction-engine.ts +0 -155
  155. package/src/reducer/ingress/decode-runtime-input.ts +0 -7
  156. package/src/reducer/ingress/decode-session-state.ts +0 -9
  157. package/src/reducer/ingress/encode-session-state.ts +0 -6
  158. package/src/reducer/ingress/input-codec.ts +0 -18
  159. package/src/reducer/ingress/phase-schemas.ts +0 -62
  160. package/src/reducer/ingress/raw-types.ts +0 -107
  161. package/src/reducer/ingress/runtime-codec.ts +0 -14
  162. package/src/reducer/ingress/runtime-payload.ts +0 -13
  163. package/src/reducer/ingress/session-codec.ts +0 -392
  164. package/src/reducer/ingress/types.ts +0 -6
  165. package/src/reducer/inputs/boardInput.ts +0 -217
  166. package/src/reducer/inputs/boardTarget.ts +0 -190
  167. package/src/reducer/inputs/cardInput.ts +0 -86
  168. package/src/reducer/inputs/cardTarget.ts +0 -101
  169. package/src/reducer/inputs/choiceTarget.ts +0 -104
  170. package/src/reducer/inputs/defineInputs.ts +0 -71
  171. package/src/reducer/inputs/formInput.ts +0 -809
  172. package/src/reducer/inputs/many.ts +0 -120
  173. package/src/reducer/inputs/promptInput.ts +0 -87
  174. package/src/reducer/inputs/rngInput.ts +0 -58
  175. package/src/reducer/inputs/targetRule.ts +0 -123
  176. package/src/reducer/inputs.ts +0 -41
  177. package/src/reducer/model/definition.ts +0 -1072
  178. package/src/reducer/model/extract.ts +0 -745
  179. package/src/reducer/model/manifest.ts +0 -570
  180. package/src/reducer/model/queries.ts +0 -641
  181. package/src/reducer/model/runtime.ts +0 -264
  182. package/src/reducer/model/spec.ts +0 -1386
  183. package/src/reducer/model/table.ts +0 -260
  184. package/src/reducer/model.ts +0 -7
  185. package/src/reducer/ops.ts +0 -1034
  186. package/src/reducer/parse-utils.ts +0 -28
  187. package/src/reducer/per-player.ts +0 -422
  188. package/src/reducer/rng.ts +0 -69
  189. package/src/reducer/schema-helpers.ts +0 -185
  190. package/src/reducer/setup-bootstrap-helpers.ts +0 -171
  191. package/src/reducer/setup-bootstrap.ts +0 -481
  192. package/src/reducer/table-ops.ts +0 -2671
  193. package/src/reducer/table-queries.ts +0 -372
  194. package/src/reducer/transaction.ts +0 -120
  195. package/src/reducer.ts +0 -314
  196. package/src/runtime/primitives.ts +0 -1
  197. package/src/runtime/types/runtime-api.ts +0 -1
  198. package/src/runtime/workspace-contract.ts +0 -32
  199. package/src/runtime-internal/components/InteractionForm.tsx +0 -1309
  200. package/src/runtime-internal/components/PluginRuntime.tsx +0 -103
  201. package/src/runtime-internal/components/board/target-layer.ts +0 -70
  202. package/src/runtime-internal/context/ClientParamSchemaContext.tsx +0 -44
  203. package/src/runtime-internal/context/InteractionDraftContext.tsx +0 -279
  204. package/src/runtime-internal/context/PluginSessionContext.tsx +0 -47
  205. package/src/runtime-internal/context/PluginStateContext.tsx +0 -262
  206. package/src/runtime-internal/context/RuntimeContext.tsx +0 -96
  207. package/src/runtime-internal/defaults/components.tsx +0 -409
  208. package/src/runtime-internal/defaults/index.ts +0 -11
  209. package/src/runtime-internal/errors/ValidationError.ts +0 -29
  210. package/src/runtime-internal/hooks/useActivePlayers.ts +0 -33
  211. package/src/runtime-internal/hooks/useBoardInteractions.ts +0 -665
  212. package/src/runtime-internal/hooks/useGameSelector.ts +0 -105
  213. package/src/runtime-internal/hooks/useGameView.ts +0 -9
  214. package/src/runtime-internal/hooks/useInteractionByKey.ts +0 -354
  215. package/src/runtime-internal/hooks/useInteractionHandle.ts +0 -438
  216. package/src/runtime-internal/hooks/useIsMyTurn.ts +0 -20
  217. package/src/runtime-internal/hooks/useLobby.ts +0 -76
  218. package/src/runtime-internal/hooks/useMe.ts +0 -48
  219. package/src/runtime-internal/hooks/usePlayerInfo.ts +0 -28
  220. package/src/runtime-internal/hooks/usePlayerTurnOrder.ts +0 -23
  221. package/src/runtime-internal/hooks/usePluginRuntime.ts +0 -147
  222. package/src/runtime-internal/hooks/useSeatInbox.ts +0 -61
  223. package/src/runtime-internal/hooks/useSimultaneousPhase.ts +0 -10
  224. package/src/runtime-internal/index.ts +0 -42
  225. package/src/runtime-internal/internal.ts +0 -43
  226. package/src/runtime-internal/plugin-styles.css +0 -250
  227. package/src/runtime-internal/primitives/board.tsx +0 -459
  228. package/src/runtime-internal/primitives/dialog-lifecycle.ts +0 -58
  229. package/src/runtime-internal/primitives/dice.tsx +0 -79
  230. package/src/runtime-internal/primitives/game-ui-provider.tsx +0 -35
  231. package/src/runtime-internal/primitives/game.tsx +0 -387
  232. package/src/runtime-internal/primitives/hand-intent-adapter.ts +0 -147
  233. package/src/runtime-internal/primitives/hand-surface.tsx +0 -594
  234. package/src/runtime-internal/primitives/index.ts +0 -196
  235. package/src/runtime-internal/primitives/interaction-form-binding.tsx +0 -56
  236. package/src/runtime-internal/primitives/interaction-submit.ts +0 -90
  237. package/src/runtime-internal/primitives/interaction.tsx +0 -987
  238. package/src/runtime-internal/primitives/phase.tsx +0 -43
  239. package/src/runtime-internal/primitives/player-roster.tsx +0 -302
  240. package/src/runtime-internal/primitives/primitive-props.tsx +0 -101
  241. package/src/runtime-internal/primitives/prompt.tsx +0 -255
  242. package/src/runtime-internal/primitives/ui.tsx +0 -60
  243. package/src/runtime-internal/primitives/zone.tsx +0 -791
  244. package/src/runtime-internal/reducer.ts +0 -30
  245. package/src/runtime-internal/runtime/createPluginRuntimeAPI.ts +0 -605
  246. package/src/runtime-internal/types/plugin-state.ts +0 -508
  247. package/src/runtime-internal/types/reducer-state.ts +0 -24
  248. package/src/runtime-internal/types/runtime-api.ts +0 -114
  249. package/src/runtime-internal/ui-contract.ts +0 -519
  250. package/src/runtime-internal/utils/card-intent-adapter.ts +0 -546
  251. package/src/runtime-internal/utils/interaction-inputs.ts +0 -492
  252. package/src/runtime-internal/utils/interaction-labels.ts +0 -23
  253. package/src/runtime-internal/utils/interaction-router.ts +0 -273
  254. package/src/runtime-internal/utils/interaction-status.ts +0 -74
  255. package/src/runtime-internal/workspace-contract.ts +0 -1170
  256. package/src/runtime.ts +0 -34
  257. package/src/testing/create-expect-api.ts +0 -352
  258. package/src/testing/create-test-runtime.ts +0 -381
  259. package/src/testing/definitions.ts +0 -127
  260. package/src/testing/index.ts +0 -3
  261. package/src/testing.ts +0 -1
  262. package/src/type-stubs/manifest-contract.d.ts +0 -42
  263. package/src/type-stubs/manifest-contract.js +0 -72
  264. package/src/type-stubs/ui-contract.d.ts +0 -5
  265. package/src/type-stubs/ui-contract.js +0 -1
  266. package/src/types/authoring-card-properties.type-test.ts +0 -266
  267. package/src/types/authoring.ts +0 -1282
  268. package/src/types/cards.ts +0 -19
  269. package/src/types/contracts.ts +0 -1550
  270. package/src/types/generated-helpers.ts +0 -35
  271. package/src/types/index.ts +0 -147
  272. package/src/types/slots.ts +0 -11
  273. package/src/types.ts +0 -1
  274. package/src/ui/components/ActionButton.tsx +0 -97
  275. package/src/ui/components/ActionPanel.tsx +0 -315
  276. package/src/ui/components/Card.tsx +0 -378
  277. package/src/ui/components/CardDragSurface.tsx +0 -1076
  278. package/src/ui/components/ChromeSuppressionContext.tsx +0 -70
  279. package/src/ui/components/CostDisplay.tsx +0 -145
  280. package/src/ui/components/DiceRoller.tsx +0 -581
  281. package/src/ui/components/Drawer.tsx +0 -180
  282. package/src/ui/components/ErrorBoundary.tsx +0 -275
  283. package/src/ui/components/GameEndDisplay.tsx +0 -398
  284. package/src/ui/components/GameSkeleton.tsx +0 -260
  285. package/src/ui/components/Hand.tsx +0 -468
  286. package/src/ui/components/HandDock.tsx +0 -299
  287. package/src/ui/components/HandView.tsx +0 -441
  288. package/src/ui/components/MobileHandTray.tsx +0 -381
  289. package/src/ui/components/MoreActions.tsx +0 -143
  290. package/src/ui/components/PhaseIndicator.tsx +0 -341
  291. package/src/ui/components/PlayArea.tsx +0 -146
  292. package/src/ui/components/PrimaryActionButton.tsx +0 -336
  293. package/src/ui/components/PrimaryButton.tsx +0 -45
  294. package/src/ui/components/ResourceCounter.tsx +0 -270
  295. package/src/ui/components/StagingZone.tsx +0 -134
  296. package/src/ui/components/ThemedButton.tsx +0 -113
  297. package/src/ui/components/Toast.tsx +0 -264
  298. package/src/ui/components/board/HexGrid.tsx +0 -1294
  299. package/src/ui/components/board/NetworkGraph.tsx +0 -476
  300. package/src/ui/components/board/SlotSystem.tsx +0 -388
  301. package/src/ui/components/board/SquareGrid.tsx +0 -1165
  302. package/src/ui/components/board/TrackBoard.tsx +0 -496
  303. package/src/ui/components/board/ZoneMap.tsx +0 -448
  304. package/src/ui/components/board/hex-board-view.ts +0 -123
  305. package/src/ui/components/board/index.ts +0 -142
  306. package/src/ui/components/board/interaction-accessibility.ts +0 -21
  307. package/src/ui/components/board/target-layer.ts +0 -66
  308. package/src/ui/components/card-render-content.type-test.ts +0 -27
  309. package/src/ui/components/hand-layout-math.ts +0 -163
  310. package/src/ui/components/hand-pointer-engine.ts +0 -413
  311. package/src/ui/components/index.ts +0 -245
  312. package/src/ui/components.ts +0 -1
  313. package/src/ui/defaults/components.tsx +0 -106
  314. package/src/ui/defaults/index.ts +0 -8
  315. package/src/ui/defaults.ts +0 -1
  316. package/src/ui/errors/ValidationError.ts +0 -29
  317. package/src/ui/helpers/cards.ts +0 -19
  318. package/src/ui/helpers/track-board.ts +0 -211
  319. package/src/ui/hooks/useBoardTopology.ts +0 -316
  320. package/src/ui/hooks/useCards.ts +0 -10
  321. package/src/ui/hooks/useHandCardPointer.ts +0 -381
  322. package/src/ui/hooks/useHandLayout.ts +0 -378
  323. package/src/ui/hooks/useHandPresentation.ts +0 -121
  324. package/src/ui/hooks/useHexBoard.ts +0 -74
  325. package/src/ui/hooks/useHexGrid.ts +0 -185
  326. package/src/ui/hooks/useIsMobile.ts +0 -35
  327. package/src/ui/hooks/usePanZoom.ts +0 -278
  328. package/src/ui/hooks/useSquareBoard.ts +0 -124
  329. package/src/ui/hooks/useSquareGrid.ts +0 -328
  330. package/src/ui/index.ts +0 -98
  331. package/src/ui/internal/ui/alert.tsx +0 -51
  332. package/src/ui/internal/ui/button.tsx +0 -58
  333. package/src/ui/internal/ui/dialog.tsx +0 -134
  334. package/src/ui/internal/ui/input.tsx +0 -21
  335. package/src/ui/internal/ui/label.tsx +0 -21
  336. package/src/ui/internal/ui/select.tsx +0 -129
  337. package/src/ui/internal/ui/tooltip.tsx +0 -54
  338. package/src/ui/internal/ui/utils.ts +0 -5
  339. package/src/ui/plugin-styles.css +0 -250
  340. package/src/ui/primitives/dialog-lifecycle.ts +0 -58
  341. package/src/ui/primitives/dice.tsx +0 -79
  342. package/src/ui/primitives/primitive-props.tsx +0 -101
  343. package/src/ui/theme/ThemeProvider.tsx +0 -252
  344. package/src/ui/theme/board.ts +0 -61
  345. package/src/ui/theme/css-vars.ts +0 -105
  346. package/src/ui/theme/derive.ts +0 -240
  347. package/src/ui/theme/index.ts +0 -61
  348. package/src/ui/theme/presets/arcade.ts +0 -261
  349. package/src/ui/theme/presets/studio.ts +0 -261
  350. package/src/ui/theme/presets/tabletop.ts +0 -266
  351. package/src/ui/theme/tokens.ts +0 -392
  352. package/src/ui/types/hex-color.ts +0 -20
  353. package/src/ui/types/player-state.ts +0 -463
  354. package/src/ui/types/tiled-board.ts +0 -785
  355. package/src/ui/types/visual-state.ts +0 -137
  356. package/src/ui.ts +0 -1
  357. /package/dist/{chunk-I46YJSOD.js.map → browser-interaction.js.map} +0 -0
  358. /package/dist/{chunk-KAELH4KC.js.map → chunk-3RQEICD3.js.map} +0 -0
  359. /package/dist/{chunk-T52J5RMF.js.map → codegen.js.map} +0 -0
  360. /package/dist/{generated/runtime-api.js.map → reducer-contract.js.map} +0 -0
  361. /package/dist/runtime/{types/runtime-api.js.map → runtime-api.js.map} +0 -0
  362. /package/dist/ui/{types/player-state.js → player-state.js} +0 -0
  363. /package/dist/ui/{types/player-state.js.map → player-state.js.map} +0 -0
@@ -1,463 +0,0 @@
1
- import type { ViewCard } from "../../types/index.js";
2
- import type { HexColor } from "./hex-color.js";
3
-
4
- export type PlayerId = string;
5
- export type CardId = string;
6
- export type DeckId = string;
7
- export type BoardBaseId = string;
8
- export type BoardId = string;
9
- export type PieceId = string;
10
- export type SpaceId = string;
11
- export type DieId = string;
12
- export type EdgeTypeId = string;
13
- export type VertexTypeId = string;
14
- export type PieceTypeId = string;
15
- export type SpaceTypeId = string;
16
- export type CardProperties = Record<string, unknown>;
17
- export type CardIdsByDeckId = Record<DeckId, readonly CardId[]>;
18
-
19
- export interface PerPlayer<Value> {
20
- readonly __perPlayer: true;
21
- readonly entries: ReadonlyArray<readonly [PlayerId, Value]>;
22
- }
23
-
24
- export interface SharedBoardRef<BaseId extends string = BoardBaseId> {
25
- readonly baseId: BaseId;
26
- readonly seat?: undefined;
27
- }
28
-
29
- export interface PerPlayerBoardRef<
30
- BaseId extends string = BoardBaseId,
31
- Id extends string = PlayerId,
32
- > {
33
- readonly baseId: BaseId;
34
- readonly seat: Id;
35
- }
36
-
37
- export type BoardRef<
38
- BaseId extends string = BoardBaseId,
39
- Id extends string = PlayerId,
40
- > = SharedBoardRef<BaseId> | PerPlayerBoardRef<BaseId, Id>;
41
-
42
- /**
43
- * Hands are keyed by the authored hand id and split per seat. The per-seat
44
- * entries are populated from the runtime seat list, not the static manifest
45
- * upper bound, so views always match what the backend actually computed.
46
- */
47
- type CardIdsByHandId = Record<string, PerPlayer<CardId[]>>;
48
- type StateName = string;
49
- type TilePropertiesByBoardId = Record<BoardId, Record<string, unknown>>;
50
- type EdgePropertiesByBoardId = Record<BoardId, Record<string, unknown>>;
51
- type VertexPropertiesByBoardId = Record<BoardId, Record<string, unknown>>;
52
-
53
- export interface Player {
54
- /** Player ID */
55
- playerId: PlayerId;
56
- /** Player display name */
57
- name: string;
58
- /** Whether this player is the host */
59
- isHost?: boolean;
60
- /** Player's assigned color */
61
- color?: HexColor;
62
- }
63
-
64
- export interface HexTileState<
65
- B extends string = BoardId,
66
- SpaceIdValue extends string = SpaceId,
67
- Properties = B extends keyof TilePropertiesByBoardId
68
- ? TilePropertiesByBoardId[B]
69
- : undefined,
70
- View = unknown,
71
- > {
72
- /** Unique tile identifier */
73
- id: SpaceIdValue;
74
- /** Axial coordinate Q */
75
- q: number;
76
- /** Axial coordinate R */
77
- r: number;
78
- /** Tile type identifier for rendering */
79
- typeId?: SpaceTypeId;
80
- /** Display label on the tile */
81
- label?: string;
82
- /** Player ID who owns this tile */
83
- owner?: PlayerId;
84
- /** JSON-serialized custom properties */
85
- properties?: Properties;
86
- /**
87
- * Optional view-projection overlay merged onto the static topology by
88
- * component-first board helpers such as `Board.HexView`. Authored boards can
89
- * also supply this directly when building tiles by hand.
90
- */
91
- view?: View;
92
- }
93
-
94
- /** State of an edge on a reducer-projected hex board. */
95
- export interface HexEdgeState<
96
- B extends string = BoardId,
97
- SpaceIdValue extends string = SpaceId,
98
- EdgeIdValue extends string = string,
99
- Properties = B extends keyof EdgePropertiesByBoardId
100
- ? EdgePropertiesByBoardId[B]
101
- : undefined,
102
- > {
103
- /** Unique edge identifier (serialized string, e.g., "tile1-tile2") */
104
- id: EdgeIdValue;
105
- /** First hex tile ID this edge borders */
106
- hex1: SpaceIdValue;
107
- /** Second hex tile ID this edge borders */
108
- hex2: SpaceIdValue;
109
- /** Edge type identifier for rendering */
110
- typeId?: EdgeTypeId;
111
- /** Display label for setup or rendering */
112
- label?: string;
113
- /** Player ID who owns this edge */
114
- owner?: PlayerId;
115
- /** JSON-serialized custom properties */
116
- properties?: Properties;
117
- }
118
-
119
- /** State of a vertex on a reducer-projected hex board. */
120
- export interface HexVertexState<
121
- B extends string = BoardId,
122
- SpaceIdValue extends string = SpaceId,
123
- VertexIdValue extends string = string,
124
- Properties = B extends keyof VertexPropertiesByBoardId
125
- ? VertexPropertiesByBoardId[B]
126
- : undefined,
127
- > {
128
- /** Unique vertex identifier (serialized string, e.g., "tile1-tile2-tile3") */
129
- id: VertexIdValue;
130
- /** The hex tile IDs this vertex touches */
131
- hexes: readonly SpaceIdValue[];
132
- /** Vertex type identifier for rendering */
133
- typeId?: VertexTypeId;
134
- /** Display label for setup or rendering */
135
- label?: string;
136
- /** Player ID who owns this vertex */
137
- owner?: PlayerId;
138
- /** JSON-serialized custom properties */
139
- properties?: Properties;
140
- }
141
-
142
- /** Complete state of a reducer-projected hex board. */
143
- export interface HexBoardState<
144
- B extends string = BoardId,
145
- SpaceIdValue extends string = SpaceId,
146
- EdgeIdValue extends string = string,
147
- VertexIdValue extends string = string,
148
- TileProperties = B extends keyof TilePropertiesByBoardId
149
- ? TilePropertiesByBoardId[B]
150
- : undefined,
151
- EdgeProperties = B extends keyof EdgePropertiesByBoardId
152
- ? EdgePropertiesByBoardId[B]
153
- : undefined,
154
- VertexProperties = B extends keyof VertexPropertiesByBoardId
155
- ? VertexPropertiesByBoardId[B]
156
- : undefined,
157
- > {
158
- /** Unique board identifier */
159
- id: B;
160
- /** All tiles on the board */
161
- tiles: ReadonlyArray<HexTileState<B, SpaceIdValue, TileProperties>>;
162
- /** All edges on the board */
163
- edges: ReadonlyArray<
164
- HexEdgeState<B, SpaceIdValue, EdgeIdValue, EdgeProperties>
165
- >;
166
- /** All vertices on the board */
167
- vertices: ReadonlyArray<
168
- HexVertexState<B, SpaceIdValue, VertexIdValue, VertexProperties>
169
- >;
170
- }
171
-
172
- /** State of a node in a reducer-projected network board. */
173
- export interface NetworkNodeState {
174
- /** Unique node identifier */
175
- id: SpaceId;
176
- /** X coordinate position */
177
- x: number;
178
- /** Y coordinate position */
179
- y: number;
180
- /** Node type identifier for rendering */
181
- typeId?: SpaceTypeId;
182
- /** Display label on the node */
183
- label?: string;
184
- /** Player ID who owns this node */
185
- owner?: PlayerId;
186
- /** JSON-serialized custom properties */
187
- properties?: string;
188
- }
189
-
190
- /** State of an edge connecting two nodes in a reducer-projected network board. */
191
- export interface NetworkEdgeState {
192
- /** Unique edge identifier */
193
- id: string;
194
- /** Source node ID */
195
- from: SpaceId;
196
- /** Target node ID */
197
- to: SpaceId;
198
- /** Edge type identifier for rendering */
199
- typeId?: string;
200
- /** Display label on the edge */
201
- label?: string;
202
- /** Player ID who owns this edge */
203
- owner?: PlayerId;
204
- /** JSON-serialized custom properties */
205
- properties?: string;
206
- }
207
-
208
- /** State of a piece placed on a reducer-projected network node. */
209
- export interface NetworkPieceState {
210
- /** Unique piece identifier */
211
- id: PieceId;
212
- /** Node ID where this piece is placed */
213
- nodeId: SpaceId;
214
- /** Piece type identifier for rendering */
215
- typeId?: PieceTypeId;
216
- /** Player ID who owns this piece */
217
- owner?: PlayerId;
218
- /** JSON-serialized custom properties */
219
- properties?: string;
220
- }
221
-
222
- /** Complete state of a reducer-projected network board. */
223
- export interface NetworkBoardState {
224
- /** Unique board identifier */
225
- id: BoardId;
226
- /** All nodes on the board */
227
- nodes: NetworkNodeState[];
228
- /** All edges on the board */
229
- edges: NetworkEdgeState[];
230
- /** All pieces on the board */
231
- pieces: NetworkPieceState[];
232
- }
233
-
234
- /** State of a cell on a reducer-projected square grid board. */
235
- export interface SquareCellState<
236
- SpaceIdValue extends string = SpaceId,
237
- Properties = Record<string, unknown>,
238
- > {
239
- /** Unique cell identifier */
240
- id: SpaceIdValue;
241
- /** Row index (0-based) */
242
- row: number;
243
- /** Column index (0-based) */
244
- col: number;
245
- /** Cell type identifier for rendering */
246
- typeId?: SpaceTypeId;
247
- /** Display label on the cell */
248
- label?: string;
249
- /** Player ID who owns this cell */
250
- owner?: PlayerId;
251
- /** JSON-serialized custom properties */
252
- properties?: Properties;
253
- }
254
-
255
- /** State of an edge on a reducer-projected square grid board. */
256
- export interface SquareEdgeState<
257
- SpaceIdValue extends string = SpaceId,
258
- EdgeIdValue extends string = string,
259
- Properties = Record<string, unknown>,
260
- > {
261
- /** Unique edge identifier */
262
- id: EdgeIdValue;
263
- /** The cell IDs this edge borders */
264
- spaceIds: readonly SpaceIdValue[];
265
- /** Edge type identifier for rendering */
266
- typeId?: EdgeTypeId;
267
- /** Display label for setup or rendering */
268
- label?: string;
269
- /** Player ID who owns this edge */
270
- owner?: PlayerId;
271
- /** JSON-serialized custom properties */
272
- properties?: Properties;
273
- }
274
-
275
- /** State of a vertex on a reducer-projected square grid board. */
276
- export interface SquareVertexState<
277
- SpaceIdValue extends string = SpaceId,
278
- VertexIdValue extends string = string,
279
- Properties = Record<string, unknown>,
280
- > {
281
- /** Unique vertex identifier */
282
- id: VertexIdValue;
283
- /** The cell IDs that touch this corner */
284
- spaceIds: readonly SpaceIdValue[];
285
- /** Vertex type identifier for rendering */
286
- typeId?: VertexTypeId;
287
- /** Display label for setup or rendering */
288
- label?: string;
289
- /** Player ID who owns this vertex */
290
- owner?: PlayerId;
291
- /** JSON-serialized custom properties */
292
- properties?: Properties;
293
- }
294
-
295
- /** State of a piece placed on a reducer-projected square grid cell. */
296
- export interface SquarePieceState<
297
- PieceIdValue extends string = PieceId,
298
- Properties = Record<string, unknown>,
299
- > {
300
- /** Unique piece identifier */
301
- id: PieceIdValue;
302
- /** Row index where piece is located */
303
- row: number;
304
- /** Column index where piece is located */
305
- col: number;
306
- /** Piece type identifier for rendering */
307
- typeId: PieceTypeId;
308
- /** Player ID who owns this piece */
309
- owner?: PlayerId;
310
- /** JSON-serialized custom properties */
311
- properties?: Properties;
312
- }
313
-
314
- /** Complete state of a reducer-projected square grid board. */
315
- export interface SquareBoardState<
316
- B extends string = BoardId,
317
- SpaceIdValue extends string = SpaceId,
318
- EdgeIdValue extends string = string,
319
- VertexIdValue extends string = string,
320
- PieceIdValue extends string = PieceId,
321
- CellProperties = Record<string, unknown>,
322
- EdgeProperties = Record<string, unknown>,
323
- VertexProperties = Record<string, unknown>,
324
- PieceProperties = Record<string, unknown>,
325
- > {
326
- /** Unique board identifier */
327
- id: B;
328
- /** Number of rows in the grid */
329
- rows: number;
330
- /** Number of columns in the grid */
331
- cols: number;
332
- /** All authored cells on the board */
333
- cells: ReadonlyArray<SquareCellState<SpaceIdValue, CellProperties>>;
334
- /** All edges on the board */
335
- edges: ReadonlyArray<
336
- SquareEdgeState<SpaceIdValue, EdgeIdValue, EdgeProperties>
337
- >;
338
- /** All vertices on the board */
339
- vertices: ReadonlyArray<
340
- SquareVertexState<SpaceIdValue, VertexIdValue, VertexProperties>
341
- >;
342
- /** All pieces on the board */
343
- pieces: ReadonlyArray<SquarePieceState<PieceIdValue, PieceProperties>>;
344
- }
345
-
346
- /** State of a space on a reducer-projected track board. */
347
- export interface TrackSpaceState {
348
- /** Unique space identifier */
349
- id: SpaceId;
350
- /** Position index in the track sequence */
351
- index: number;
352
- /** X coordinate for rendering */
353
- x: number;
354
- /** Y coordinate for rendering */
355
- y: number;
356
- /** Display name of the space */
357
- name?: string;
358
- /** Space type identifier for rendering */
359
- typeId?: SpaceTypeId;
360
- /** Player ID who owns this space */
361
- owner?: PlayerId;
362
- /** IDs of spaces that can be reached from here (for branching tracks) */
363
- nextSpaces?: SpaceId[];
364
- /** JSON-serialized custom properties */
365
- properties?: string;
366
- }
367
-
368
- /** State of a piece on a reducer-projected track board. */
369
- export interface TrackPieceState {
370
- /** Unique piece identifier */
371
- id: PieceId;
372
- /** ID of the space this piece occupies */
373
- spaceId: SpaceId;
374
- /** Player ID who owns this piece */
375
- owner: PlayerId;
376
- /** Piece type identifier for rendering */
377
- typeId?: PieceTypeId;
378
- /** JSON-serialized custom properties */
379
- properties?: string;
380
- }
381
-
382
- /** Complete state of a reducer-projected track board. */
383
- export interface TrackBoardState {
384
- /** Unique board identifier */
385
- id: BoardId;
386
- /** All spaces on the track */
387
- spaces: TrackSpaceState[];
388
- /** All pieces on the track */
389
- pieces: TrackPieceState[];
390
- }
391
-
392
- /** State of a reducer-projected die component. */
393
- export interface DieState {
394
- /** Unique die identifier */
395
- id: DieId;
396
- /** Number of sides on the die (e.g., 6 for standard die) */
397
- sides: number;
398
- /** Current face value (1 to sides, undefined if not rolled) */
399
- currentValue?: number;
400
- /** Optional color for visual identification */
401
- color?: string;
402
- }
403
-
404
- /**
405
- * Collection of boards of a particular kind, split into shared boards
406
- * (indexed by base id, e.g. `"market-board"`) and per-player boards
407
- * (indexed by base id, then by the runtime seat list via `PerPlayer<T>`).
408
- *
409
- * Splitting by the `BoardRef` discriminator keeps the UI types honest about
410
- * what the runtime actually produced: per-player board state only exists
411
- * for the seats that are currently playing, never for a static `maxPlayers`
412
- * upper bound.
413
- */
414
- export interface BoardKindStates<State> {
415
- /** Shared boards keyed by base id. */
416
- shared: Record<BoardBaseId, State>;
417
- /** Per-player boards keyed by base id, then by seat via `PerPlayer<T>`. */
418
- perPlayer: Record<BoardBaseId, PerPlayer<State>>;
419
- }
420
-
421
- /**
422
- * Container for all board states organized by kind.
423
- * This is the strongly-typed board payload authored UIs consume from reducer views.
424
- */
425
- export interface BoardStates {
426
- /** Hex boards split into shared vs per-player collections. */
427
- hex: BoardKindStates<HexBoardState>;
428
- /** Network boards split into shared vs per-player collections. */
429
- network: BoardKindStates<NetworkBoardState>;
430
- /** Square grid boards split into shared vs per-player collections. */
431
- square: BoardKindStates<SquareBoardState>;
432
- /** Track boards split into shared vs per-player collections. */
433
- track: BoardKindStates<TrackBoardState>;
434
- }
435
-
436
- /**
437
- * Container for all dice states.
438
- * Maps die IDs to their die state.
439
- */
440
- export type DiceStates = Record<DieId, DieState>;
441
-
442
- export interface GameState {
443
- /** All currently active players (supports MULTIPLE_ACTIVE_PLAYER states) */
444
- currentPlayerIds: PlayerId[];
445
- decks: CardIdsByDeckId;
446
- /**
447
- * Player-scoped hands keyed by the authored hand id. The inner
448
- * `PerPlayer<CardId[]>` is keyed by the runtime seat list and only
449
- * contains entries for players who actually hold the hand.
450
- */
451
- hands: CardIdsByHandId;
452
- /** Map of card IDs to their card info including type and properties */
453
- cards: Record<CardId, ViewCard<CardId, string, CardProperties>>;
454
- /**
455
- * Per-player resource totals keyed by the runtime seat list. The inner
456
- * record maps resource id → amount for that seat.
457
- */
458
- playerResources: PerPlayer<Record<string, number>>;
459
- currentState: StateName;
460
- isMyTurn: boolean;
461
- boards: BoardStates;
462
- dice: DiceStates;
463
- }