@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,261 +0,0 @@
1
- import type { Theme } from "../tokens.js";
2
-
3
- /**
4
- * `studio` — clean monochrome theme for prototypes and design reviews.
5
- *
6
- * Visual identity: pure white surfaces, near-black text, single brand
7
- * accent, generous whitespace. Designed for screenshot-friendly demos
8
- * and games where the board art does the storytelling.
9
- */
10
- export const studioTheme: Theme = {
11
- meta: {
12
- id: "studio",
13
- name: "Studio",
14
- mode: "light",
15
- },
16
- color: {
17
- neutral: {
18
- 50: "#ffffff",
19
- 100: "#f5f5f5",
20
- 200: "#e5e5e5",
21
- 400: "#a3a3a3",
22
- 600: "#525252",
23
- 800: "#262626",
24
- 950: "#0a0a0a",
25
- },
26
- brand: {
27
- 50: "#eef2ff",
28
- 100: "#e0e7ff",
29
- 200: "#c7d2fe",
30
- 400: "#818cf8",
31
- 600: "#4f46e5",
32
- 800: "#3730a3",
33
- 950: "#1e1b4b",
34
- },
35
- accent: {
36
- 50: "#fdf4ff",
37
- 100: "#fae8ff",
38
- 200: "#f5d0fe",
39
- 400: "#e879f9",
40
- 600: "#a21caf",
41
- 800: "#701a75",
42
- 950: "#4a044e",
43
- },
44
- success: {
45
- 50: "#ecfdf5",
46
- 100: "#d1fae5",
47
- 200: "#a7f3d0",
48
- 400: "#34d399",
49
- 600: "#059669",
50
- 800: "#065f46",
51
- 950: "#022c22",
52
- },
53
- warning: {
54
- 50: "#fffbeb",
55
- 100: "#fef3c7",
56
- 200: "#fde68a",
57
- 400: "#facc15",
58
- 600: "#ca8a04",
59
- 800: "#854d0e",
60
- 950: "#422006",
61
- },
62
- danger: {
63
- 50: "#fef2f2",
64
- 100: "#fee2e2",
65
- 200: "#fecaca",
66
- 400: "#f87171",
67
- 600: "#dc2626",
68
- 800: "#991b1b",
69
- 950: "#450a0a",
70
- },
71
- info: {
72
- 50: "#eff6ff",
73
- 100: "#dbeafe",
74
- 200: "#bfdbfe",
75
- 400: "#60a5fa",
76
- 600: "#2563eb",
77
- 800: "#1e40af",
78
- 950: "#172554",
79
- },
80
- },
81
- semantic: {
82
- surface: {
83
- app: "#fafafa",
84
- board: "#ffffff",
85
- hud: "#ffffff",
86
- card: "#ffffff",
87
- sheet: "#ffffff",
88
- overlay: "rgba(10, 10, 10, 0.4)",
89
- inset: "#f5f5f5",
90
- },
91
- text: {
92
- primary: "#0a0a0a",
93
- muted: "#525252",
94
- onIntent: "#ffffff",
95
- accent: "#4f46e5",
96
- disabled: "#a3a3a3",
97
- },
98
- border: {
99
- subtle: "#f5f5f5",
100
- default: "#e5e5e5",
101
- strong: "#a3a3a3",
102
- focus: "#4f46e5",
103
- },
104
- intent: {
105
- primary: {
106
- solid: "#0a0a0a",
107
- on: "#ffffff",
108
- soft: "#f5f5f5",
109
- onSoft: "#0a0a0a",
110
- border: "#0a0a0a",
111
- },
112
- secondary: {
113
- solid: "#ffffff",
114
- on: "#0a0a0a",
115
- soft: "#f5f5f5",
116
- onSoft: "#0a0a0a",
117
- border: "#e5e5e5",
118
- },
119
- success: {
120
- solid: "#059669",
121
- on: "#ffffff",
122
- soft: "#d1fae5",
123
- onSoft: "#065f46",
124
- border: "#34d399",
125
- },
126
- danger: {
127
- solid: "#dc2626",
128
- on: "#ffffff",
129
- soft: "#fee2e2",
130
- onSoft: "#991b1b",
131
- border: "#f87171",
132
- },
133
- warning: {
134
- solid: "#ca8a04",
135
- on: "#ffffff",
136
- soft: "#fef3c7",
137
- onSoft: "#854d0e",
138
- border: "#facc15",
139
- },
140
- info: {
141
- solid: "#2563eb",
142
- on: "#ffffff",
143
- soft: "#dbeafe",
144
- onSoft: "#1e40af",
145
- border: "#60a5fa",
146
- },
147
- },
148
- },
149
- radius: {
150
- none: "0px",
151
- sm: "4px",
152
- md: "8px",
153
- lg: "12px",
154
- hud: "16px",
155
- pill: "9999px",
156
- },
157
- space: {
158
- 0: "0",
159
- 0.5: "0.125rem",
160
- 1: "0.25rem",
161
- 1.5: "0.375rem",
162
- 2: "0.5rem",
163
- 3: "0.75rem",
164
- 4: "1rem",
165
- 6: "1.5rem",
166
- 8: "2rem",
167
- 12: "3rem",
168
- },
169
- typography: {
170
- fontFamily: {
171
- display:
172
- '"Inter", "SF Pro Display", system-ui, -apple-system, sans-serif',
173
- body: '"Inter", "SF Pro Text", system-ui, -apple-system, sans-serif',
174
- tabular: '"Inter", "SF Pro Text", system-ui, sans-serif',
175
- mono: '"JetBrains Mono", "SF Mono", ui-monospace, monospace',
176
- },
177
- fontSize: {
178
- xs: "0.75rem",
179
- sm: "0.875rem",
180
- md: "1rem",
181
- lg: "1.125rem",
182
- xl: "1.25rem",
183
- "2xl": "1.5rem",
184
- "3xl": "2rem",
185
- },
186
- fontWeight: {
187
- regular: "400",
188
- medium: "500",
189
- bold: "600",
190
- },
191
- lineHeight: {
192
- tight: "1.2",
193
- normal: "1.5",
194
- relaxed: "1.65",
195
- },
196
- letterSpacing: {
197
- tight: "-0.015em",
198
- normal: "0",
199
- wide: "0.02em",
200
- caps: "0.08em",
201
- },
202
- },
203
- elevation: {
204
- rest: "0 1px 2px rgba(10, 10, 10, 0.05)",
205
- hover: "0 4px 8px rgba(10, 10, 10, 0.06), 0 1px 2px rgba(10, 10, 10, 0.04)",
206
- lifted:
207
- "0 12px 24px rgba(10, 10, 10, 0.08), 0 2px 4px rgba(10, 10, 10, 0.06)",
208
- overlay: "0 24px 48px rgba(10, 10, 10, 0.18)",
209
- inset: "inset 0 1px 0 rgba(10, 10, 10, 0.04)",
210
- },
211
- motion: {
212
- duration: {
213
- fast: "100ms",
214
- normal: "180ms",
215
- slow: "300ms",
216
- ambient: "2400ms",
217
- },
218
- easing: {
219
- out: "cubic-bezier(0.16, 1, 0.3, 1)",
220
- in: "cubic-bezier(0.4, 0, 1, 0.4)",
221
- inOut: "cubic-bezier(0.65, 0, 0.35, 1)",
222
- spring: "cubic-bezier(0.34, 1.56, 0.64, 1)",
223
- },
224
- reducedMotion: "false",
225
- },
226
- player: [
227
- { solid: "#4f46e5", soft: "#e0e7ff", on: "#ffffff" },
228
- { solid: "#dc2626", soft: "#fee2e2", on: "#ffffff" },
229
- { solid: "#059669", soft: "#d1fae5", on: "#ffffff" },
230
- { solid: "#ca8a04", soft: "#fef3c7", on: "#ffffff" },
231
- { solid: "#a21caf", soft: "#fae8ff", on: "#ffffff" },
232
- { solid: "#0891b2", soft: "#cffafe", on: "#ffffff" },
233
- ],
234
- component: {
235
- board: {
236
- frameBorder: "#e5e5e5",
237
- frameBackground: "#ffffff",
238
- hoverRing: "#4f46e5",
239
- eligibleHint: "rgba(79, 70, 229, 0.4)",
240
- },
241
- card: {
242
- border: "#e5e5e5",
243
- backBorder: "#0a0a0a",
244
- backBackground: "#0a0a0a",
245
- selectedRing: "#4f46e5",
246
- },
247
- playerCard: {
248
- activeBackground: "#f5f5f5",
249
- activeBorder: "#0a0a0a",
250
- activeGlow: "rgba(10, 10, 10, 0.06)",
251
- youBadgeBackground: "#0a0a0a",
252
- youBadgeForeground: "#ffffff",
253
- },
254
- toast: {
255
- successBackground: "#059669",
256
- errorBackground: "#dc2626",
257
- infoBackground: "#2563eb",
258
- foreground: "#ffffff",
259
- },
260
- },
261
- };
@@ -1,266 +0,0 @@
1
- import type { Theme } from "../tokens.js";
2
-
3
- /**
4
- * `tabletop` — the default Dreamboard theme.
5
- *
6
- * Visual identity: warm paper backgrounds, deep ink-blue brand,
7
- * confident type, rounded but disciplined corners. Designed to feel
8
- * like a polished hobby-game client (Splendor digital, modern Catan
9
- * apps) without leaning into a specific game's IP.
10
- *
11
- * Picked deliberately for the default: a board game UI sitting on
12
- * cool grey or pure white reads as "spreadsheet"; warm parchment
13
- * cues "play" without sliding into kitsch.
14
- */
15
- export const tabletopTheme: Theme = {
16
- meta: {
17
- id: "tabletop",
18
- name: "Tabletop",
19
- mode: "light",
20
- },
21
- color: {
22
- neutral: {
23
- 50: "#fbf8f1",
24
- 100: "#f4ecd8",
25
- 200: "#e7dcc1",
26
- 400: "#a89c84",
27
- 600: "#5f5547",
28
- 800: "#2f2a22",
29
- 950: "#15120d",
30
- },
31
- brand: {
32
- 50: "#eef3fb",
33
- 100: "#d3e0f3",
34
- 200: "#a7c1e7",
35
- 400: "#5780bf",
36
- 600: "#2d5da1",
37
- 800: "#1a3c6b",
38
- 950: "#0d1f37",
39
- },
40
- accent: {
41
- 50: "#fff5e0",
42
- 100: "#ffe5b3",
43
- 200: "#fcd07a",
44
- 400: "#f0a738",
45
- 600: "#c87a16",
46
- 800: "#7e4a08",
47
- 950: "#3c2103",
48
- },
49
- success: {
50
- 50: "#e8f6ec",
51
- 100: "#c4ecd0",
52
- 200: "#8fd6a3",
53
- 400: "#3fae62",
54
- 600: "#1f7d3e",
55
- 800: "#0d4a23",
56
- 950: "#062213",
57
- },
58
- warning: {
59
- 50: "#fff5dc",
60
- 100: "#ffe7a8",
61
- 200: "#fad164",
62
- 400: "#dca41a",
63
- 600: "#9c6f06",
64
- 800: "#5b4002",
65
- 950: "#2b1d00",
66
- },
67
- danger: {
68
- 50: "#fdecec",
69
- 100: "#f9c7c7",
70
- 200: "#f08e8e",
71
- 400: "#d53f3f",
72
- 600: "#a31d1d",
73
- 800: "#5e0d0d",
74
- 950: "#2a0404",
75
- },
76
- info: {
77
- 50: "#e6f5fb",
78
- 100: "#bfe3f4",
79
- 200: "#7ec5e6",
80
- 400: "#2f8fc4",
81
- 600: "#0d5e8a",
82
- 800: "#073650",
83
- 950: "#021a26",
84
- },
85
- },
86
- semantic: {
87
- surface: {
88
- app: "#f6efe0",
89
- board: "#1a3552",
90
- hud: "#fbf8f1",
91
- card: "#ffffff",
92
- sheet: "#fbf8f1",
93
- overlay: "rgba(15, 23, 42, 0.55)",
94
- inset: "#f4ecd8",
95
- },
96
- text: {
97
- primary: "#2f2a22",
98
- muted: "#5f5547",
99
- onIntent: "#ffffff",
100
- accent: "#1a3c6b",
101
- disabled: "#a89c84",
102
- },
103
- border: {
104
- subtle: "#e7dcc1",
105
- default: "#a89c84",
106
- strong: "#5f5547",
107
- focus: "#2d5da1",
108
- },
109
- intent: {
110
- primary: {
111
- solid: "#2d5da1",
112
- on: "#ffffff",
113
- soft: "#d3e0f3",
114
- onSoft: "#1a3c6b",
115
- border: "#1a3c6b",
116
- },
117
- secondary: {
118
- solid: "#fbf8f1",
119
- on: "#2f2a22",
120
- soft: "#f4ecd8",
121
- onSoft: "#2f2a22",
122
- border: "#a89c84",
123
- },
124
- success: {
125
- solid: "#1f7d3e",
126
- on: "#ffffff",
127
- soft: "#c4ecd0",
128
- onSoft: "#0d4a23",
129
- border: "#0d4a23",
130
- },
131
- danger: {
132
- solid: "#a31d1d",
133
- on: "#ffffff",
134
- soft: "#f9c7c7",
135
- onSoft: "#5e0d0d",
136
- border: "#5e0d0d",
137
- },
138
- warning: {
139
- solid: "#dca41a",
140
- on: "#2f2a22",
141
- soft: "#ffe7a8",
142
- onSoft: "#5b4002",
143
- border: "#9c6f06",
144
- },
145
- info: {
146
- solid: "#0d5e8a",
147
- on: "#ffffff",
148
- soft: "#bfe3f4",
149
- onSoft: "#073650",
150
- border: "#073650",
151
- },
152
- },
153
- },
154
- radius: {
155
- none: "0px",
156
- sm: "6px",
157
- md: "10px",
158
- lg: "16px",
159
- hud: "20px",
160
- pill: "9999px",
161
- },
162
- space: {
163
- 0: "0",
164
- 0.5: "0.125rem",
165
- 1: "0.25rem",
166
- 1.5: "0.375rem",
167
- 2: "0.5rem",
168
- 3: "0.75rem",
169
- 4: "1rem",
170
- 6: "1.5rem",
171
- 8: "2rem",
172
- 12: "3rem",
173
- },
174
- typography: {
175
- fontFamily: {
176
- display:
177
- '"Fraunces", "Iowan Old Style", "Source Serif Pro", "Georgia", serif',
178
- body: '"Inter", "SF Pro Text", system-ui, -apple-system, sans-serif',
179
- tabular: '"JetBrains Mono", "SF Mono", "ui-monospace", monospace',
180
- mono: '"JetBrains Mono", "SF Mono", "ui-monospace", monospace',
181
- },
182
- fontSize: {
183
- xs: "0.6875rem",
184
- sm: "0.8125rem",
185
- md: "0.9375rem",
186
- lg: "1.0625rem",
187
- xl: "1.25rem",
188
- "2xl": "1.5rem",
189
- "3xl": "2rem",
190
- },
191
- fontWeight: {
192
- regular: "400",
193
- medium: "500",
194
- bold: "700",
195
- },
196
- lineHeight: {
197
- tight: "1.15",
198
- normal: "1.4",
199
- relaxed: "1.6",
200
- },
201
- letterSpacing: {
202
- tight: "-0.01em",
203
- normal: "0",
204
- wide: "0.04em",
205
- caps: "0.14em",
206
- },
207
- },
208
- elevation: {
209
- rest: "0 1px 0 rgba(15, 18, 13, 0.06), 0 2px 6px rgba(15, 18, 13, 0.05)",
210
- hover: "0 4px 0 rgba(15, 18, 13, 0.05), 0 8px 18px rgba(15, 18, 13, 0.12)",
211
- lifted:
212
- "0 12px 0 rgba(15, 18, 13, 0.05), 0 18px 36px rgba(15, 18, 13, 0.18)",
213
- overlay: "0 24px 64px rgba(15, 18, 13, 0.32)",
214
- inset: "inset 0 1px 0 rgba(15, 18, 13, 0.08)",
215
- },
216
- motion: {
217
- duration: {
218
- fast: "80ms",
219
- normal: "160ms",
220
- slow: "280ms",
221
- ambient: "1800ms",
222
- },
223
- easing: {
224
- out: "cubic-bezier(0.16, 1, 0.3, 1)",
225
- in: "cubic-bezier(0.4, 0, 1, 0.4)",
226
- inOut: "cubic-bezier(0.65, 0, 0.35, 1)",
227
- spring: "cubic-bezier(0.34, 1.56, 0.64, 1)",
228
- },
229
- reducedMotion: "false",
230
- },
231
- player: [
232
- { solid: "#d04848", soft: "#fcdedd", on: "#ffffff" },
233
- { solid: "#2d5da1", soft: "#d3e0f3", on: "#ffffff" },
234
- { solid: "#1f7d3e", soft: "#c4ecd0", on: "#ffffff" },
235
- { solid: "#c87a16", soft: "#ffe5b3", on: "#2f2a22" },
236
- { solid: "#7d4a8a", soft: "#e6d6ee", on: "#ffffff" },
237
- { solid: "#0d5e8a", soft: "#bfe3f4", on: "#ffffff" },
238
- ],
239
- component: {
240
- board: {
241
- frameBorder: "#a89c84",
242
- frameBackground: "#1a3552",
243
- hoverRing: "#f0a738",
244
- eligibleHint: "rgba(240, 167, 56, 0.55)",
245
- },
246
- card: {
247
- border: "#2f2a22",
248
- backBorder: "#1a3c6b",
249
- backBackground: "#2d5da1",
250
- selectedRing: "#d04848",
251
- },
252
- playerCard: {
253
- activeBackground: "#fff5e0",
254
- activeBorder: "#f0a738",
255
- activeGlow: "rgba(240, 167, 56, 0.32)",
256
- youBadgeBackground: "#d3e0f3",
257
- youBadgeForeground: "#1a3c6b",
258
- },
259
- toast: {
260
- successBackground: "#1f7d3e",
261
- errorBackground: "#a31d1d",
262
- infoBackground: "#0d5e8a",
263
- foreground: "#ffffff",
264
- },
265
- },
266
- };