@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.
- package/dist/{HandView-ncJIVLhN.d.ts → HandView-PYDmehVD.d.ts} +1 -1
- package/dist/{ResourceCounter-CTREyF73.d.ts → ResourceCounter-BTXklCEZ.d.ts} +1 -1
- package/dist/{ThemeProvider-fy0_QzgO.d.ts → ThemeProvider-DvMl17Ny.d.ts} +1 -1
- package/dist/attributes-BeRyboMS.d.ts +279 -0
- package/dist/browser-interaction.d.ts +708 -0
- package/dist/browser-interaction.js +106 -0
- package/dist/{chunk-KAELH4KC.js → chunk-3RQEICD3.js} +2 -2
- package/dist/{chunk-TDSWKVZ4.js → chunk-ADYH6PVT.js} +2457 -1265
- package/dist/chunk-ADYH6PVT.js.map +1 -0
- package/dist/{chunk-YFY3RL52.js → chunk-P7VMTJ5D.js} +2 -2
- package/dist/{chunk-YFY3RL52.js.map → chunk-P7VMTJ5D.js.map} +1 -1
- package/dist/chunk-QLG6VEMW.js +1691 -0
- package/dist/chunk-QLG6VEMW.js.map +1 -0
- package/dist/{chunk-WYPQ3GG5.js → chunk-QZ6X4B5P.js} +1177 -1106
- package/dist/chunk-QZ6X4B5P.js.map +1 -0
- package/dist/{chunk-GKKBPPSW.js → chunk-TXXLS3OI.js} +405 -309
- package/dist/chunk-TXXLS3OI.js.map +1 -0
- package/dist/{chunk-FDNZTDD6.js → chunk-W6SGFWXH.js} +48 -44
- package/dist/chunk-W6SGFWXH.js.map +1 -0
- package/dist/{chunk-MKXPVOUT.js → chunk-Y2AFYBMB.js} +48 -4
- package/dist/chunk-Y2AFYBMB.js.map +1 -0
- package/dist/{index-BwqPQtBu.d.ts → codegen.d.ts} +57 -565
- package/dist/{infrastructure/workspace-codegen.js → codegen.js} +3 -3
- package/dist/{components-D5ZRE2Hl.d.ts → components-DaIqi9QM.d.ts} +48 -37
- package/dist/{hex-board-view-D_07hO6O.d.ts → hex-board-view-UCUjMALd.d.ts} +3 -2
- package/dist/{infrastructure/reducer-bundle-abi.d.ts → index.d-BGqVifr_.d.ts} +289 -10
- package/dist/index.js +1 -1
- package/dist/package-set.d.ts +2 -2
- package/dist/package-set.js +1 -1
- package/dist/primitive-props-BNHDkgd7.d.ts +16 -0
- package/dist/reducer-contract.d.ts +3 -0
- package/dist/{infrastructure/reducer-bundle-abi.js → reducer-contract.js} +4 -4
- package/dist/reducer.d.ts +185 -179
- package/dist/reducer.js +1637 -1353
- package/dist/reducer.js.map +1 -1
- package/dist/runtime/primitives.d.ts +10 -9
- package/dist/runtime/primitives.js +8 -7
- package/dist/runtime/runtime-api.d.ts +2 -0
- package/dist/runtime/runtime-api.js +1 -0
- package/dist/runtime/workspace-contract.d.ts +63 -17
- package/dist/runtime/workspace-contract.js +5 -5
- package/dist/{runtime-api-DWxvTr-O.d.ts → runtime-api-tGL3ArsB.d.ts} +109 -4
- package/dist/runtime.d.ts +12 -57
- package/dist/runtime.js +487 -7
- package/dist/runtime.js.map +1 -1
- package/dist/testing.d.ts +4 -4
- package/dist/testing.js.map +1 -1
- package/dist/types.d.ts +1531 -85
- package/dist/types.js +1 -3
- package/dist/types.js.map +1 -1
- package/dist/ui/components.d.ts +7 -8
- package/dist/ui/components.js +1 -1
- package/dist/ui/defaults.d.ts +1 -1
- package/dist/ui/{types/player-state.d.ts → player-state.d.ts} +2 -2
- package/dist/{ui-contract-iQfTtUSL.d.ts → ui-contract-SctM4ibF.d.ts} +157 -150
- package/dist/ui.d.ts +10 -11
- package/dist/ui.js +2 -2
- package/package.json +35 -74
- package/dist/bundle-CDd5FKeD.d.ts +0 -283
- package/dist/cards-Sl3b40Mv.d.ts +0 -13
- package/dist/chunk-7YAHLYBR.js +0 -481
- package/dist/chunk-7YAHLYBR.js.map +0 -1
- package/dist/chunk-FDNZTDD6.js.map +0 -1
- package/dist/chunk-GKKBPPSW.js.map +0 -1
- package/dist/chunk-I46YJSOD.js +0 -1
- package/dist/chunk-MKXPVOUT.js.map +0 -1
- package/dist/chunk-T52J5RMF.js +0 -1
- package/dist/chunk-TDSWKVZ4.js.map +0 -1
- package/dist/chunk-U5C6BONG.js +0 -34
- package/dist/chunk-U5C6BONG.js.map +0 -1
- package/dist/chunk-WYPQ3GG5.js.map +0 -1
- package/dist/generated/runtime/primitives.d.ts +0 -12
- package/dist/generated/runtime/primitives.js +0 -180
- package/dist/generated/runtime/primitives.js.map +0 -1
- package/dist/generated/runtime-api.d.ts +0 -3
- package/dist/generated/runtime-api.js +0 -2
- package/dist/generated/runtime.d.ts +0 -14
- package/dist/generated/runtime.js +0 -18
- package/dist/generated/runtime.js.map +0 -1
- package/dist/generated/workspace-contract.d.ts +0 -14
- package/dist/generated/workspace-contract.js +0 -14
- package/dist/generated/workspace-contract.js.map +0 -1
- package/dist/infrastructure/reducer-bundle-abi.js.map +0 -1
- package/dist/infrastructure/workspace-codegen.d.ts +0 -53
- package/dist/infrastructure/workspace-codegen.js.map +0 -1
- package/dist/manifest-contract-BNHVGFtU.d.ts +0 -9
- package/dist/primitive-props-DpKs-GCr.d.ts +0 -11
- package/dist/runtime/types/runtime-api.d.ts +0 -1
- package/dist/runtime/types/runtime-api.js +0 -2
- package/dist/runtime-api-3dshj6kK.d.ts +0 -101
- package/dist/slots-1GPGihk8.d.ts +0 -8
- package/src/generated/reducer-contract/builders.ts +0 -90
- package/src/generated/reducer-contract/version.ts +0 -9
- package/src/generated/reducer-contract/wire.ts +0 -100
- package/src/generated/reducer-contract/zod.ts +0 -103
- package/src/generated/runtime/primitives.ts +0 -2
- package/src/generated/runtime-api.ts +0 -5
- package/src/generated/runtime.ts +0 -35
- package/src/generated/workspace-contract.ts +0 -2
- package/src/index.ts +0 -7
- package/src/infrastructure/reducer-bundle-abi.ts +0 -8
- package/src/infrastructure/reducer-contract/bundle.ts +0 -37
- package/src/infrastructure/workspace-codegen/hex-geometry.ts +0 -69
- package/src/infrastructure/workspace-codegen/index.ts +0 -64
- package/src/infrastructure/workspace-codegen/manifest-contract.ts +0 -6632
- package/src/infrastructure/workspace-codegen/manifest-validation.ts +0 -795
- package/src/infrastructure/workspace-codegen/ownership.ts +0 -131
- package/src/infrastructure/workspace-codegen/preset-card-sets.ts +0 -169
- package/src/infrastructure/workspace-codegen/seeds.ts +0 -1705
- package/src/infrastructure/workspace-codegen.ts +0 -1
- package/src/package-set.ts +0 -19
- package/src/reducer/authoring/contract.ts +0 -157
- package/src/reducer/authoring/effect.ts +0 -224
- package/src/reducer/authoring/game.ts +0 -23
- package/src/reducer/authoring/interaction.ts +0 -98
- package/src/reducer/authoring/phase.ts +0 -300
- package/src/reducer/authoring/types.ts +0 -70
- package/src/reducer/authoring/validation.ts +0 -382
- package/src/reducer/authoring/view-stage.ts +0 -68
- package/src/reducer/authoring.ts +0 -29
- package/src/reducer/bundle/ingress-bundle.ts +0 -491
- package/src/reducer/bundle/trusted/engine-instruction-resolver.ts +0 -254
- package/src/reducer/bundle/trusted/flow-instruction-resolver.ts +0 -73
- package/src/reducer/bundle/trusted/instruction-runner.ts +0 -414
- package/src/reducer/bundle/trusted/interaction-authorization.ts +0 -137
- package/src/reducer/bundle/trusted/interaction-collectors.ts +0 -859
- package/src/reducer/bundle/trusted/interaction-decision.ts +0 -747
- package/src/reducer/bundle/trusted/interaction-resolver.ts +0 -95
- package/src/reducer/bundle/trusted/interaction-types.ts +0 -171
- package/src/reducer/bundle/trusted/lifecycle-runner.ts +0 -427
- package/src/reducer/bundle/trusted/projection-builder.ts +0 -356
- package/src/reducer/bundle/trusted/projection-context.ts +0 -39
- package/src/reducer/bundle/trusted/rng-sampler.ts +0 -150
- package/src/reducer/bundle/trusted/runtime-registry.ts +0 -120
- package/src/reducer/bundle/trusted/runtime-scope.ts +0 -336
- package/src/reducer/bundle/trusted/simultaneous-player.ts +0 -97
- package/src/reducer/bundle/trusted/stage-resolver.ts +0 -87
- package/src/reducer/bundle/trusted/static-projection.ts +0 -116
- package/src/reducer/bundle/trusted/trusted-runtime-args.ts +0 -97
- package/src/reducer/bundle/trusted/trusted-runtime-result.ts +0 -39
- package/src/reducer/bundle/trusted/trusted-setup-profiles.ts +0 -43
- package/src/reducer/bundle/trusted/trusted-state-codec.ts +0 -48
- package/src/reducer/bundle/trusted-bundle.ts +0 -97
- package/src/reducer/bundle/types.ts +0 -171
- package/src/reducer/bundle.ts +0 -2
- package/src/reducer/client-param-schemas.ts +0 -57
- package/src/reducer/compose.ts +0 -34
- package/src/reducer/core/runtime-input.ts +0 -30
- package/src/reducer/core/runtime-instruction.ts +0 -59
- package/src/reducer/core/types.ts +0 -62
- package/src/reducer/definition-index.ts +0 -277
- package/src/reducer/derived.ts +0 -106
- package/src/reducer/effects.ts +0 -92
- package/src/reducer/engine/runtime-instruction-engine.ts +0 -155
- package/src/reducer/ingress/decode-runtime-input.ts +0 -7
- package/src/reducer/ingress/decode-session-state.ts +0 -9
- package/src/reducer/ingress/encode-session-state.ts +0 -6
- package/src/reducer/ingress/input-codec.ts +0 -18
- package/src/reducer/ingress/phase-schemas.ts +0 -62
- package/src/reducer/ingress/raw-types.ts +0 -107
- package/src/reducer/ingress/runtime-codec.ts +0 -14
- package/src/reducer/ingress/runtime-payload.ts +0 -13
- package/src/reducer/ingress/session-codec.ts +0 -392
- package/src/reducer/ingress/types.ts +0 -6
- package/src/reducer/inputs/boardInput.ts +0 -217
- package/src/reducer/inputs/boardTarget.ts +0 -190
- package/src/reducer/inputs/cardInput.ts +0 -86
- package/src/reducer/inputs/cardTarget.ts +0 -101
- package/src/reducer/inputs/choiceTarget.ts +0 -104
- package/src/reducer/inputs/defineInputs.ts +0 -71
- package/src/reducer/inputs/formInput.ts +0 -809
- package/src/reducer/inputs/many.ts +0 -120
- package/src/reducer/inputs/promptInput.ts +0 -87
- package/src/reducer/inputs/rngInput.ts +0 -58
- package/src/reducer/inputs/targetRule.ts +0 -123
- package/src/reducer/inputs.ts +0 -41
- package/src/reducer/model/definition.ts +0 -1072
- package/src/reducer/model/extract.ts +0 -745
- package/src/reducer/model/manifest.ts +0 -570
- package/src/reducer/model/queries.ts +0 -641
- package/src/reducer/model/runtime.ts +0 -264
- package/src/reducer/model/spec.ts +0 -1386
- package/src/reducer/model/table.ts +0 -260
- package/src/reducer/model.ts +0 -7
- package/src/reducer/ops.ts +0 -1034
- package/src/reducer/parse-utils.ts +0 -28
- package/src/reducer/per-player.ts +0 -422
- package/src/reducer/rng.ts +0 -69
- package/src/reducer/schema-helpers.ts +0 -185
- package/src/reducer/setup-bootstrap-helpers.ts +0 -171
- package/src/reducer/setup-bootstrap.ts +0 -481
- package/src/reducer/table-ops.ts +0 -2671
- package/src/reducer/table-queries.ts +0 -372
- package/src/reducer/transaction.ts +0 -120
- package/src/reducer.ts +0 -314
- package/src/runtime/primitives.ts +0 -1
- package/src/runtime/types/runtime-api.ts +0 -1
- package/src/runtime/workspace-contract.ts +0 -32
- package/src/runtime-internal/components/InteractionForm.tsx +0 -1309
- package/src/runtime-internal/components/PluginRuntime.tsx +0 -103
- package/src/runtime-internal/components/board/target-layer.ts +0 -70
- package/src/runtime-internal/context/ClientParamSchemaContext.tsx +0 -44
- package/src/runtime-internal/context/InteractionDraftContext.tsx +0 -279
- package/src/runtime-internal/context/PluginSessionContext.tsx +0 -47
- package/src/runtime-internal/context/PluginStateContext.tsx +0 -262
- package/src/runtime-internal/context/RuntimeContext.tsx +0 -96
- package/src/runtime-internal/defaults/components.tsx +0 -409
- package/src/runtime-internal/defaults/index.ts +0 -11
- package/src/runtime-internal/errors/ValidationError.ts +0 -29
- package/src/runtime-internal/hooks/useActivePlayers.ts +0 -33
- package/src/runtime-internal/hooks/useBoardInteractions.ts +0 -665
- package/src/runtime-internal/hooks/useGameSelector.ts +0 -105
- package/src/runtime-internal/hooks/useGameView.ts +0 -9
- package/src/runtime-internal/hooks/useInteractionByKey.ts +0 -354
- package/src/runtime-internal/hooks/useInteractionHandle.ts +0 -438
- package/src/runtime-internal/hooks/useIsMyTurn.ts +0 -20
- package/src/runtime-internal/hooks/useLobby.ts +0 -76
- package/src/runtime-internal/hooks/useMe.ts +0 -48
- package/src/runtime-internal/hooks/usePlayerInfo.ts +0 -28
- package/src/runtime-internal/hooks/usePlayerTurnOrder.ts +0 -23
- package/src/runtime-internal/hooks/usePluginRuntime.ts +0 -147
- package/src/runtime-internal/hooks/useSeatInbox.ts +0 -61
- package/src/runtime-internal/hooks/useSimultaneousPhase.ts +0 -10
- package/src/runtime-internal/index.ts +0 -42
- package/src/runtime-internal/internal.ts +0 -43
- package/src/runtime-internal/plugin-styles.css +0 -250
- package/src/runtime-internal/primitives/board.tsx +0 -459
- package/src/runtime-internal/primitives/dialog-lifecycle.ts +0 -58
- package/src/runtime-internal/primitives/dice.tsx +0 -79
- package/src/runtime-internal/primitives/game-ui-provider.tsx +0 -35
- package/src/runtime-internal/primitives/game.tsx +0 -387
- package/src/runtime-internal/primitives/hand-intent-adapter.ts +0 -147
- package/src/runtime-internal/primitives/hand-surface.tsx +0 -594
- package/src/runtime-internal/primitives/index.ts +0 -196
- package/src/runtime-internal/primitives/interaction-form-binding.tsx +0 -56
- package/src/runtime-internal/primitives/interaction-submit.ts +0 -90
- package/src/runtime-internal/primitives/interaction.tsx +0 -987
- package/src/runtime-internal/primitives/phase.tsx +0 -43
- package/src/runtime-internal/primitives/player-roster.tsx +0 -302
- package/src/runtime-internal/primitives/primitive-props.tsx +0 -101
- package/src/runtime-internal/primitives/prompt.tsx +0 -255
- package/src/runtime-internal/primitives/ui.tsx +0 -60
- package/src/runtime-internal/primitives/zone.tsx +0 -791
- package/src/runtime-internal/reducer.ts +0 -30
- package/src/runtime-internal/runtime/createPluginRuntimeAPI.ts +0 -605
- package/src/runtime-internal/types/plugin-state.ts +0 -508
- package/src/runtime-internal/types/reducer-state.ts +0 -24
- package/src/runtime-internal/types/runtime-api.ts +0 -114
- package/src/runtime-internal/ui-contract.ts +0 -519
- package/src/runtime-internal/utils/card-intent-adapter.ts +0 -546
- package/src/runtime-internal/utils/interaction-inputs.ts +0 -492
- package/src/runtime-internal/utils/interaction-labels.ts +0 -23
- package/src/runtime-internal/utils/interaction-router.ts +0 -273
- package/src/runtime-internal/utils/interaction-status.ts +0 -74
- package/src/runtime-internal/workspace-contract.ts +0 -1170
- package/src/runtime.ts +0 -34
- package/src/testing/create-expect-api.ts +0 -352
- package/src/testing/create-test-runtime.ts +0 -381
- package/src/testing/definitions.ts +0 -127
- package/src/testing/index.ts +0 -3
- package/src/testing.ts +0 -1
- package/src/type-stubs/manifest-contract.d.ts +0 -42
- package/src/type-stubs/manifest-contract.js +0 -72
- package/src/type-stubs/ui-contract.d.ts +0 -5
- package/src/type-stubs/ui-contract.js +0 -1
- package/src/types/authoring-card-properties.type-test.ts +0 -266
- package/src/types/authoring.ts +0 -1282
- package/src/types/cards.ts +0 -19
- package/src/types/contracts.ts +0 -1550
- package/src/types/generated-helpers.ts +0 -35
- package/src/types/index.ts +0 -147
- package/src/types/slots.ts +0 -11
- package/src/types.ts +0 -1
- package/src/ui/components/ActionButton.tsx +0 -97
- package/src/ui/components/ActionPanel.tsx +0 -315
- package/src/ui/components/Card.tsx +0 -378
- package/src/ui/components/CardDragSurface.tsx +0 -1076
- package/src/ui/components/ChromeSuppressionContext.tsx +0 -70
- package/src/ui/components/CostDisplay.tsx +0 -145
- package/src/ui/components/DiceRoller.tsx +0 -581
- package/src/ui/components/Drawer.tsx +0 -180
- package/src/ui/components/ErrorBoundary.tsx +0 -275
- package/src/ui/components/GameEndDisplay.tsx +0 -398
- package/src/ui/components/GameSkeleton.tsx +0 -260
- package/src/ui/components/Hand.tsx +0 -468
- package/src/ui/components/HandDock.tsx +0 -299
- package/src/ui/components/HandView.tsx +0 -441
- package/src/ui/components/MobileHandTray.tsx +0 -381
- package/src/ui/components/MoreActions.tsx +0 -143
- package/src/ui/components/PhaseIndicator.tsx +0 -341
- package/src/ui/components/PlayArea.tsx +0 -146
- package/src/ui/components/PrimaryActionButton.tsx +0 -336
- package/src/ui/components/PrimaryButton.tsx +0 -45
- package/src/ui/components/ResourceCounter.tsx +0 -270
- package/src/ui/components/StagingZone.tsx +0 -134
- package/src/ui/components/ThemedButton.tsx +0 -113
- package/src/ui/components/Toast.tsx +0 -264
- package/src/ui/components/board/HexGrid.tsx +0 -1294
- package/src/ui/components/board/NetworkGraph.tsx +0 -476
- package/src/ui/components/board/SlotSystem.tsx +0 -388
- package/src/ui/components/board/SquareGrid.tsx +0 -1165
- package/src/ui/components/board/TrackBoard.tsx +0 -496
- package/src/ui/components/board/ZoneMap.tsx +0 -448
- package/src/ui/components/board/hex-board-view.ts +0 -123
- package/src/ui/components/board/index.ts +0 -142
- package/src/ui/components/board/interaction-accessibility.ts +0 -21
- package/src/ui/components/board/target-layer.ts +0 -66
- package/src/ui/components/card-render-content.type-test.ts +0 -27
- package/src/ui/components/hand-layout-math.ts +0 -163
- package/src/ui/components/hand-pointer-engine.ts +0 -413
- package/src/ui/components/index.ts +0 -245
- package/src/ui/components.ts +0 -1
- package/src/ui/defaults/components.tsx +0 -106
- package/src/ui/defaults/index.ts +0 -8
- package/src/ui/defaults.ts +0 -1
- package/src/ui/errors/ValidationError.ts +0 -29
- package/src/ui/helpers/cards.ts +0 -19
- package/src/ui/helpers/track-board.ts +0 -211
- package/src/ui/hooks/useBoardTopology.ts +0 -316
- package/src/ui/hooks/useCards.ts +0 -10
- package/src/ui/hooks/useHandCardPointer.ts +0 -381
- package/src/ui/hooks/useHandLayout.ts +0 -378
- package/src/ui/hooks/useHandPresentation.ts +0 -121
- package/src/ui/hooks/useHexBoard.ts +0 -74
- package/src/ui/hooks/useHexGrid.ts +0 -185
- package/src/ui/hooks/useIsMobile.ts +0 -35
- package/src/ui/hooks/usePanZoom.ts +0 -278
- package/src/ui/hooks/useSquareBoard.ts +0 -124
- package/src/ui/hooks/useSquareGrid.ts +0 -328
- package/src/ui/index.ts +0 -98
- package/src/ui/internal/ui/alert.tsx +0 -51
- package/src/ui/internal/ui/button.tsx +0 -58
- package/src/ui/internal/ui/dialog.tsx +0 -134
- package/src/ui/internal/ui/input.tsx +0 -21
- package/src/ui/internal/ui/label.tsx +0 -21
- package/src/ui/internal/ui/select.tsx +0 -129
- package/src/ui/internal/ui/tooltip.tsx +0 -54
- package/src/ui/internal/ui/utils.ts +0 -5
- package/src/ui/plugin-styles.css +0 -250
- package/src/ui/primitives/dialog-lifecycle.ts +0 -58
- package/src/ui/primitives/dice.tsx +0 -79
- package/src/ui/primitives/primitive-props.tsx +0 -101
- package/src/ui/theme/ThemeProvider.tsx +0 -252
- package/src/ui/theme/board.ts +0 -61
- package/src/ui/theme/css-vars.ts +0 -105
- package/src/ui/theme/derive.ts +0 -240
- package/src/ui/theme/index.ts +0 -61
- package/src/ui/theme/presets/arcade.ts +0 -261
- package/src/ui/theme/presets/studio.ts +0 -261
- package/src/ui/theme/presets/tabletop.ts +0 -266
- package/src/ui/theme/tokens.ts +0 -392
- package/src/ui/types/hex-color.ts +0 -20
- package/src/ui/types/player-state.ts +0 -463
- package/src/ui/types/tiled-board.ts +0 -785
- package/src/ui/types/visual-state.ts +0 -137
- package/src/ui.ts +0 -1
- /package/dist/{chunk-I46YJSOD.js.map → browser-interaction.js.map} +0 -0
- /package/dist/{chunk-KAELH4KC.js.map → chunk-3RQEICD3.js.map} +0 -0
- /package/dist/{chunk-T52J5RMF.js.map → codegen.js.map} +0 -0
- /package/dist/{generated/runtime-api.js.map → reducer-contract.js.map} +0 -0
- /package/dist/runtime/{types/runtime-api.js.map → runtime-api.js.map} +0 -0
- /package/dist/ui/{types/player-state.js → player-state.js} +0 -0
- /package/dist/ui/{types/player-state.js.map → player-state.js.map} +0 -0
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
// @generated by packages/reducer-contract/scripts/generate-ts.mjs
|
|
2
|
-
// DO NOT EDIT BY HAND. Edit schema/reducer-runtime.schema.json and rerun `pnpm generate`.
|
|
3
|
-
|
|
4
|
-
/* eslint-disable */
|
|
5
|
-
|
|
6
|
-
export type ReducerContractVersion = string;
|
|
7
|
-
|
|
8
|
-
export type EffectId = string;
|
|
9
|
-
|
|
10
|
-
export type ContinuationToken = { "id": string; "data": JsonValue };
|
|
11
|
-
|
|
12
|
-
export type ContinuationMap = Record<string, ContinuationToken>;
|
|
13
|
-
|
|
14
|
-
export type JsonValue = string | number | boolean | null | JsonValue[] | { [key: string]: JsonValue };
|
|
15
|
-
|
|
16
|
-
export type ReducerSetupSelection = { "profileId": string; "optionValues": Record<string, string | null> };
|
|
17
|
-
|
|
18
|
-
export type RngState = { "seed": number | null; "cursor": number; "trace": Array<string> };
|
|
19
|
-
|
|
20
|
-
export type ReducerFlowState = { "currentPhase": string; "turn": number; "round": number; "activePlayers": Array<string> };
|
|
21
|
-
|
|
22
|
-
export type RuntimeSimultaneousSubmission = { "interactionId": string; "params": JsonValue };
|
|
23
|
-
|
|
24
|
-
export type RuntimeSimultaneousCurrent = { "phaseName": string; "actors": Array<string>; "submissions": Record<string, RuntimeSimultaneousSubmission> };
|
|
25
|
-
|
|
26
|
-
export type RuntimeSimultaneousState = { "current": RuntimeSimultaneousCurrent | null };
|
|
27
|
-
|
|
28
|
-
export type TransitionRecord = { "from": string; "to": string };
|
|
29
|
-
|
|
30
|
-
export type ReducerRuntimeState = { "rng": RngState; "setup": ReducerSetupSelection | null; "simultaneous": RuntimeSimultaneousState; "lastTransition": TransitionRecord | null };
|
|
31
|
-
|
|
32
|
-
export type ReducerDomainState = { "table": JsonValue; "publicState": JsonValue; "privateState": Record<string, JsonValue>; "hiddenState": JsonValue; "flow": ReducerFlowState; "phase": JsonValue };
|
|
33
|
-
|
|
34
|
-
export type ReducerSessionState = { "domain": ReducerDomainState; "runtime": ReducerRuntimeState };
|
|
35
|
-
|
|
36
|
-
export type GameInput = GameInputInteraction;
|
|
37
|
-
|
|
38
|
-
export type GameInputInteraction = { "kind": "interaction"; "playerId": string; "interactionId": string; "params": JsonValue };
|
|
39
|
-
|
|
40
|
-
export type Effect = EffectTransition | EffectRollDie | EffectShuffleSharedZone | EffectShufflePlayerZone;
|
|
41
|
-
|
|
42
|
-
export type EffectTransition = { "effectId": EffectId; "type": "transition"; "to": string };
|
|
43
|
-
|
|
44
|
-
export type EffectRollDie = { "effectId": EffectId; "type": "rollDie"; "dieId": string };
|
|
45
|
-
|
|
46
|
-
export type EffectShuffleSharedZone = { "effectId": EffectId; "type": "shuffleSharedZone"; "zoneId": string };
|
|
47
|
-
|
|
48
|
-
export type EffectShufflePlayerZone = { "effectId": EffectId; "type": "shufflePlayerZone"; "zoneId": string; "playerId": string };
|
|
49
|
-
|
|
50
|
-
export type ReducerInputValidationResult = { "valid": boolean; "errorCode"?: string; "message"?: string };
|
|
51
|
-
|
|
52
|
-
export type InitializeRequest = { "table": JsonValue; "playerIds": Array<string>; "rngSeed"?: number | null; "setup"?: ReducerSetupSelection | null };
|
|
53
|
-
|
|
54
|
-
export type InitializePhaseRequest = { "state": ReducerSessionState; "to": string };
|
|
55
|
-
|
|
56
|
-
export type ValidateInputRequest = { "state": ReducerSessionState; "input": GameInput };
|
|
57
|
-
|
|
58
|
-
export type ReduceRequest = { "state": ReducerSessionState; "input": GameInput };
|
|
59
|
-
|
|
60
|
-
export type DispatchRequest = { "state": ReducerSessionState; "input": GameInput };
|
|
61
|
-
|
|
62
|
-
export type ReduceResult = ReduceResultReject | ReduceResultAccept;
|
|
63
|
-
|
|
64
|
-
export type ReduceResultReject = { "kind": "reject"; "errorCode": string; "message"?: string };
|
|
65
|
-
|
|
66
|
-
export type ReduceResultAccept = { "kind": "accept"; "state": ReducerSessionState; "effects": Array<Effect>; "continuations": ContinuationMap };
|
|
67
|
-
|
|
68
|
-
export type DispatchTrace = DispatchTraceAcceptedClientInput | DispatchTraceAppliedEffect | DispatchTraceRngConsumption;
|
|
69
|
-
|
|
70
|
-
export type DispatchTraceAcceptedClientInput = { "kind": "acceptedClientInput"; "input": GameInput };
|
|
71
|
-
|
|
72
|
-
export type DispatchTraceAppliedEffect = { "kind": "appliedEffect"; "effect": Effect; "continuation"?: ContinuationToken };
|
|
73
|
-
|
|
74
|
-
export type DispatchTraceRngConsumption = { "kind": "rngConsumption"; "operation": string; "traceEntry": string };
|
|
75
|
-
|
|
76
|
-
export type DispatchResult = DispatchResultReject | DispatchResultAccept;
|
|
77
|
-
|
|
78
|
-
export type DispatchResultReject = { "kind": "reject"; "errorCode": string; "message"?: string };
|
|
79
|
-
|
|
80
|
-
export type DispatchResultAccept = { "kind": "accept"; "state": ReducerSessionState; "trace": Array<DispatchTrace> };
|
|
81
|
-
|
|
82
|
-
export type ReducerRuntimeLogEntry = ReducerRuntimeLogEntryAcceptedClientInput | ReducerRuntimeLogEntryAppliedEffect | ReducerRuntimeLogEntryRngConsumption | ReducerRuntimeLogEntryStateCommit;
|
|
83
|
-
|
|
84
|
-
export type ReducerRuntimeLogEntryAcceptedClientInput = { "kind": "acceptedClientInput"; "version": number; "input": GameInput };
|
|
85
|
-
|
|
86
|
-
export type ReducerRuntimeLogEntryAppliedEffect = { "kind": "appliedEffect"; "version": number; "effect": Effect; "continuation": ContinuationToken | null };
|
|
87
|
-
|
|
88
|
-
export type ReducerRuntimeLogEntryRngConsumption = { "kind": "rngConsumption"; "version": number; "operation": string; "traceEntry": string };
|
|
89
|
-
|
|
90
|
-
export type ReducerRuntimeLogEntryStateCommit = { "kind": "stateCommit"; "version": number; "state": ReducerSessionState };
|
|
91
|
-
|
|
92
|
-
export type SeatProjection = { "view"?: JsonValue; "availableInteractionRefs"?: JsonValue; "zones"?: JsonValue };
|
|
93
|
-
|
|
94
|
-
export type SimultaneousPhaseProjection = { "phaseName": string; "interactionId": string; "actorIds": Array<string>; "sealedPlayerIds": Array<string>; "pendingPlayerIds": Array<string> };
|
|
95
|
-
|
|
96
|
-
export type SeatProjectionBundle = { "currentStage"?: string | null; "stageSeats"?: Array<string>; "simultaneousPhase"?: SimultaneousPhaseProjection | null; "interactionsByRef"?: JsonValue; "seats": Record<string, SeatProjection> };
|
|
97
|
-
|
|
98
|
-
export type ProjectSeatsDynamicRequest = { "state": ReducerSessionState; "playerIds": Array<string>; "viewId"?: string; "projectionMode"?: "full" | "actionsOnly" | null };
|
|
99
|
-
|
|
100
|
-
export type BoardStaticProjection = { "view": JsonValue; "hash": string; "manifestVersion": string };
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
// @generated by packages/reducer-contract/scripts/generate-ts.mjs
|
|
2
|
-
// DO NOT EDIT BY HAND. Edit schema/reducer-runtime.schema.json and rerun `pnpm generate`.
|
|
3
|
-
|
|
4
|
-
/* eslint-disable */
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
|
|
7
|
-
export const ReducerContractVersionSchema = z.string().regex(new RegExp("^[0-9]+\\.[0-9]+\\.[0-9]+$"));
|
|
8
|
-
|
|
9
|
-
export const EffectIdSchema = z.string().min(1);
|
|
10
|
-
|
|
11
|
-
let JsonValueSchemaInternal: z.ZodType<unknown>;
|
|
12
|
-
JsonValueSchemaInternal = z.lazy(() => z.union([z.record(z.string(), JsonValueSchemaInternal), z.array(JsonValueSchemaInternal), z.string(), z.number(), z.boolean(), z.null()]));
|
|
13
|
-
export const JsonValueSchema = JsonValueSchemaInternal;
|
|
14
|
-
|
|
15
|
-
export const ContinuationTokenSchema = z.object({ "id": z.string().min(1), "data": JsonValueSchema }).strict();
|
|
16
|
-
|
|
17
|
-
export const ContinuationMapSchema = z.record(z.string(), ContinuationTokenSchema);
|
|
18
|
-
|
|
19
|
-
export const ReducerSetupSelectionSchema = z.object({ "profileId": z.string().min(1), "optionValues": z.record(z.string(), z.union([z.string(), z.null()])) }).strict();
|
|
20
|
-
|
|
21
|
-
export const RngStateSchema = z.object({ "seed": z.union([z.number().refine(Number.isInteger, { message: "Expected integer" }), z.null()]), "cursor": z.number().int(), "trace": z.array(z.string()) }).strict();
|
|
22
|
-
|
|
23
|
-
export const ReducerFlowStateSchema = z.object({ "currentPhase": z.string().min(1), "turn": z.number().int(), "round": z.number().int(), "activePlayers": z.array(z.string().min(1)) }).strict();
|
|
24
|
-
|
|
25
|
-
export const RuntimeSimultaneousSubmissionSchema = z.object({ "interactionId": z.string().min(1), "params": JsonValueSchema }).strict();
|
|
26
|
-
|
|
27
|
-
export const RuntimeSimultaneousCurrentSchema = z.object({ "phaseName": z.string().min(1), "actors": z.array(z.string().min(1)), "submissions": z.record(z.string(), RuntimeSimultaneousSubmissionSchema) }).strict();
|
|
28
|
-
|
|
29
|
-
export const RuntimeSimultaneousStateSchema = z.object({ "current": z.union([RuntimeSimultaneousCurrentSchema, z.null()]) }).strict();
|
|
30
|
-
|
|
31
|
-
export const TransitionRecordSchema = z.object({ "from": z.string().min(1), "to": z.string().min(1) }).strict();
|
|
32
|
-
|
|
33
|
-
export const ReducerRuntimeStateSchema = z.object({ "rng": RngStateSchema, "setup": z.union([ReducerSetupSelectionSchema, z.null()]), "simultaneous": RuntimeSimultaneousStateSchema, "lastTransition": z.union([TransitionRecordSchema, z.null()]) }).strict();
|
|
34
|
-
|
|
35
|
-
export const ReducerDomainStateSchema = z.object({ "table": JsonValueSchema, "publicState": JsonValueSchema, "privateState": z.record(z.string(), JsonValueSchema), "hiddenState": JsonValueSchema, "flow": ReducerFlowStateSchema, "phase": JsonValueSchema }).strict();
|
|
36
|
-
|
|
37
|
-
export const ReducerSessionStateSchema = z.object({ "domain": ReducerDomainStateSchema, "runtime": ReducerRuntimeStateSchema }).strict();
|
|
38
|
-
|
|
39
|
-
export const GameInputInteractionSchema = z.object({ "kind": z.literal("interaction"), "playerId": z.string().min(1), "interactionId": z.string().min(1), "params": JsonValueSchema }).strict();
|
|
40
|
-
|
|
41
|
-
export const GameInputSchema = z.discriminatedUnion("kind", [GameInputInteractionSchema]);
|
|
42
|
-
|
|
43
|
-
export const EffectTransitionSchema = z.object({ "effectId": EffectIdSchema, "type": z.literal("transition"), "to": z.string().min(1) }).strict();
|
|
44
|
-
|
|
45
|
-
export const EffectRollDieSchema = z.object({ "effectId": EffectIdSchema, "type": z.literal("rollDie"), "dieId": z.string().min(1) }).strict();
|
|
46
|
-
|
|
47
|
-
export const EffectShuffleSharedZoneSchema = z.object({ "effectId": EffectIdSchema, "type": z.literal("shuffleSharedZone"), "zoneId": z.string().min(1) }).strict();
|
|
48
|
-
|
|
49
|
-
export const EffectShufflePlayerZoneSchema = z.object({ "effectId": EffectIdSchema, "type": z.literal("shufflePlayerZone"), "zoneId": z.string().min(1), "playerId": z.string().min(1) }).strict();
|
|
50
|
-
|
|
51
|
-
export const EffectSchema = z.discriminatedUnion("type", [EffectTransitionSchema, EffectRollDieSchema, EffectShuffleSharedZoneSchema, EffectShufflePlayerZoneSchema]);
|
|
52
|
-
|
|
53
|
-
export const ReducerInputValidationResultSchema = z.object({ "valid": z.boolean(), "errorCode": z.string().optional(), "message": z.string().optional() }).strict();
|
|
54
|
-
|
|
55
|
-
export const InitializeRequestSchema = z.object({ "table": JsonValueSchema, "playerIds": z.array(z.string().min(1)), "rngSeed": z.union([z.number().refine(Number.isInteger, { message: "Expected integer" }), z.null()]).optional(), "setup": z.union([ReducerSetupSelectionSchema, z.null()]).optional() }).strict();
|
|
56
|
-
|
|
57
|
-
export const InitializePhaseRequestSchema = z.object({ "state": ReducerSessionStateSchema, "to": z.string().min(1) }).strict();
|
|
58
|
-
|
|
59
|
-
export const ValidateInputRequestSchema = z.object({ "state": ReducerSessionStateSchema, "input": GameInputSchema }).strict();
|
|
60
|
-
|
|
61
|
-
export const ReduceRequestSchema = z.object({ "state": ReducerSessionStateSchema, "input": GameInputSchema }).strict();
|
|
62
|
-
|
|
63
|
-
export const DispatchRequestSchema = z.object({ "state": ReducerSessionStateSchema, "input": GameInputSchema }).strict();
|
|
64
|
-
|
|
65
|
-
export const ReduceResultRejectSchema = z.object({ "kind": z.literal("reject"), "errorCode": z.string().min(1), "message": z.string().optional() }).strict();
|
|
66
|
-
|
|
67
|
-
export const ReduceResultAcceptSchema = z.object({ "kind": z.literal("accept"), "state": ReducerSessionStateSchema, "effects": z.array(EffectSchema), "continuations": ContinuationMapSchema }).strict();
|
|
68
|
-
|
|
69
|
-
export const ReduceResultSchema = z.discriminatedUnion("kind", [ReduceResultRejectSchema, ReduceResultAcceptSchema]);
|
|
70
|
-
|
|
71
|
-
export const DispatchTraceAcceptedClientInputSchema = z.object({ "kind": z.literal("acceptedClientInput"), "input": GameInputSchema }).strict();
|
|
72
|
-
|
|
73
|
-
export const DispatchTraceAppliedEffectSchema = z.object({ "kind": z.literal("appliedEffect"), "effect": EffectSchema, "continuation": ContinuationTokenSchema.optional() }).strict();
|
|
74
|
-
|
|
75
|
-
export const DispatchTraceRngConsumptionSchema = z.object({ "kind": z.literal("rngConsumption"), "operation": z.string().min(1), "traceEntry": z.string() }).strict();
|
|
76
|
-
|
|
77
|
-
export const DispatchTraceSchema = z.discriminatedUnion("kind", [DispatchTraceAcceptedClientInputSchema, DispatchTraceAppliedEffectSchema, DispatchTraceRngConsumptionSchema]);
|
|
78
|
-
|
|
79
|
-
export const DispatchResultRejectSchema = z.object({ "kind": z.literal("reject"), "errorCode": z.string().min(1), "message": z.string().optional() }).strict();
|
|
80
|
-
|
|
81
|
-
export const DispatchResultAcceptSchema = z.object({ "kind": z.literal("accept"), "state": ReducerSessionStateSchema, "trace": z.array(DispatchTraceSchema) }).strict();
|
|
82
|
-
|
|
83
|
-
export const DispatchResultSchema = z.discriminatedUnion("kind", [DispatchResultRejectSchema, DispatchResultAcceptSchema]);
|
|
84
|
-
|
|
85
|
-
export const ReducerRuntimeLogEntryAcceptedClientInputSchema = z.object({ "kind": z.literal("acceptedClientInput"), "version": z.number().int(), "input": GameInputSchema }).strict();
|
|
86
|
-
|
|
87
|
-
export const ReducerRuntimeLogEntryAppliedEffectSchema = z.object({ "kind": z.literal("appliedEffect"), "version": z.number().int(), "effect": EffectSchema, "continuation": z.union([ContinuationTokenSchema, z.null()]) }).strict();
|
|
88
|
-
|
|
89
|
-
export const ReducerRuntimeLogEntryRngConsumptionSchema = z.object({ "kind": z.literal("rngConsumption"), "version": z.number().int(), "operation": z.string().min(1), "traceEntry": z.string() }).strict();
|
|
90
|
-
|
|
91
|
-
export const ReducerRuntimeLogEntryStateCommitSchema = z.object({ "kind": z.literal("stateCommit"), "version": z.number().int(), "state": ReducerSessionStateSchema }).strict();
|
|
92
|
-
|
|
93
|
-
export const ReducerRuntimeLogEntrySchema = z.discriminatedUnion("kind", [ReducerRuntimeLogEntryAcceptedClientInputSchema, ReducerRuntimeLogEntryAppliedEffectSchema, ReducerRuntimeLogEntryRngConsumptionSchema, ReducerRuntimeLogEntryStateCommitSchema]);
|
|
94
|
-
|
|
95
|
-
export const SeatProjectionSchema = z.object({ "view": JsonValueSchema.optional(), "availableInteractionRefs": JsonValueSchema.optional(), "zones": JsonValueSchema.optional() }).strict();
|
|
96
|
-
|
|
97
|
-
export const SimultaneousPhaseProjectionSchema = z.object({ "phaseName": z.string().min(1), "interactionId": z.string().min(1), "actorIds": z.array(z.string().min(1)), "sealedPlayerIds": z.array(z.string().min(1)), "pendingPlayerIds": z.array(z.string().min(1)) }).strict();
|
|
98
|
-
|
|
99
|
-
export const SeatProjectionBundleSchema = z.object({ "currentStage": z.union([z.string().min(1), z.null()]).optional(), "stageSeats": z.array(z.string().min(1)).optional(), "simultaneousPhase": z.union([SimultaneousPhaseProjectionSchema, z.null()]).optional(), "interactionsByRef": JsonValueSchema.optional(), "seats": z.record(z.string(), SeatProjectionSchema) }).strict();
|
|
100
|
-
|
|
101
|
-
export const ProjectSeatsDynamicRequestSchema = z.object({ "state": ReducerSessionStateSchema, "playerIds": z.array(z.string().min(1)), "viewId": z.string().min(1).optional(), "projectionMode": z.union([z.enum(["full", "actionsOnly"]), z.null()]).optional() }).strict();
|
|
102
|
-
|
|
103
|
-
export const BoardStaticProjectionSchema = z.object({ "view": JsonValueSchema, "hash": z.string().min(1), "manifestVersion": z.string() }).strict();
|
package/src/generated/runtime.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export * from "../runtime.js";
|
|
2
|
-
export { createWorkspaceUIContract } from "../runtime/workspace-contract.js";
|
|
3
|
-
export type {
|
|
4
|
-
BoardHexGridProps,
|
|
5
|
-
BoardHexViewProps,
|
|
6
|
-
BoardSpaceTargetProps,
|
|
7
|
-
ClientParamSchemaMap,
|
|
8
|
-
DreamboardUI,
|
|
9
|
-
GameMeState,
|
|
10
|
-
GamePlayersState,
|
|
11
|
-
GameRenderState,
|
|
12
|
-
GameTurnState,
|
|
13
|
-
ResourceCounterComponents,
|
|
14
|
-
TypedGame,
|
|
15
|
-
UIContract,
|
|
16
|
-
UIRootProps,
|
|
17
|
-
WorkspaceBoardSurface,
|
|
18
|
-
WorkspaceBoardSurfaceDescriptor,
|
|
19
|
-
WorkspaceBoardTargetInputSlot,
|
|
20
|
-
WorkspaceCardCollectionSurface,
|
|
21
|
-
WorkspaceCardCollectionSurfaceDescriptor,
|
|
22
|
-
WorkspaceCardInputSlot,
|
|
23
|
-
WorkspaceFormInputSlot,
|
|
24
|
-
WorkspaceHandSurface,
|
|
25
|
-
WorkspaceHandSurfaceDescriptor,
|
|
26
|
-
WorkspaceInteractionFormDescriptor,
|
|
27
|
-
WorkspaceInteractionFormsDescriptor,
|
|
28
|
-
WorkspaceInteractionSlotComponent,
|
|
29
|
-
WorkspacePileSurface,
|
|
30
|
-
WorkspacePileSurfaceDescriptor,
|
|
31
|
-
WorkspacePilesSurfaceDescriptor,
|
|
32
|
-
WorkspaceSurfaceSpec,
|
|
33
|
-
ZoneCardRenderItem,
|
|
34
|
-
ZoneListProps,
|
|
35
|
-
} from "../runtime/workspace-contract.js";
|
package/src/index.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { REDUCER_CONTRACT_VERSION } from "../generated/reducer-contract/version.js";
|
|
2
|
-
export type {
|
|
3
|
-
MaybePromise,
|
|
4
|
-
ReducerBundleContract,
|
|
5
|
-
} from "./reducer-contract/bundle.js";
|
|
6
|
-
export { materializeManifestTable } from "./workspace-codegen/index.js";
|
|
7
|
-
export type * as ReducerWire from "../generated/reducer-contract/wire.js";
|
|
8
|
-
export * as ReducerWireZod from "../generated/reducer-contract/zod.js";
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// @generated by packages/reducer-contract/scripts/generate-ts.mjs
|
|
2
|
-
// DO NOT EDIT BY HAND. Edit schema/reducer-runtime.operations.json and rerun `pnpm generate`.
|
|
3
|
-
|
|
4
|
-
/* eslint-disable */
|
|
5
|
-
import type * as Wire from "../../generated/reducer-contract/wire";
|
|
6
|
-
|
|
7
|
-
export type MaybePromise<T> = T | Promise<T>;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Canonical erased reducer boundary for `createReducerBundle(...)`.
|
|
11
|
-
*
|
|
12
|
-
* The callable method list is generated from
|
|
13
|
-
* `schema/reducer-runtime.operations.json`; payload DTOs come from
|
|
14
|
-
* `schema/reducer-runtime.schema.json`.
|
|
15
|
-
*
|
|
16
|
-
* This interface models the host/guest surface only. The concrete
|
|
17
|
-
* authored bundle stays strongly typed in `@dreamboard-games/sdk/reducer`, but every
|
|
18
|
-
* cross-runtime caller should agree on this shape.
|
|
19
|
-
*/
|
|
20
|
-
export interface ReducerBundleContract {
|
|
21
|
-
readonly reducerContractVersion: Wire.ReducerContractVersion;
|
|
22
|
-
initialize(
|
|
23
|
-
input: Wire.InitializeRequest,
|
|
24
|
-
): MaybePromise<Wire.ReducerSessionState>;
|
|
25
|
-
initializePhase(
|
|
26
|
-
input: Wire.InitializePhaseRequest,
|
|
27
|
-
): MaybePromise<Wire.ReducerSessionState>;
|
|
28
|
-
validateInput(
|
|
29
|
-
input: Wire.ValidateInputRequest,
|
|
30
|
-
): MaybePromise<Wire.ReducerInputValidationResult>;
|
|
31
|
-
reduce(input: Wire.ReduceRequest): MaybePromise<Wire.ReduceResult>;
|
|
32
|
-
dispatch(input: Wire.DispatchRequest): MaybePromise<Wire.DispatchResult>;
|
|
33
|
-
projectStatic(): Wire.BoardStaticProjection | null;
|
|
34
|
-
projectSeatsDynamic(
|
|
35
|
-
input: Wire.ProjectSeatsDynamicRequest,
|
|
36
|
-
): Wire.SeatProjectionBundle;
|
|
37
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import type { HexSpaceSpec, HexVertexRef } from "../../types/index.js";
|
|
2
|
-
|
|
3
|
-
const HEX_CORNERS = ["ne-e", "e-se", "se-sw", "sw-w", "w-nw", "nw-ne"] as const;
|
|
4
|
-
type HexCorner = (typeof HEX_CORNERS)[number];
|
|
5
|
-
|
|
6
|
-
const HEX_CORNER_OFFSETS: Record<HexCorner, readonly [number, number, number]> =
|
|
7
|
-
{
|
|
8
|
-
"ne-e": [2, -1, -1],
|
|
9
|
-
"e-se": [1, -2, 1],
|
|
10
|
-
"se-sw": [-1, -1, 2],
|
|
11
|
-
"sw-w": [-2, 1, 1],
|
|
12
|
-
"w-nw": [-1, 2, -1],
|
|
13
|
-
"nw-ne": [1, 1, -2],
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
function cubeFromAxial(
|
|
17
|
-
space: Pick<HexSpaceSpec, "q" | "r">,
|
|
18
|
-
): readonly [number, number, number] {
|
|
19
|
-
const x = space.q;
|
|
20
|
-
const z = space.r;
|
|
21
|
-
return [x, -x - z, z] as const;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function cornerGeometryKey(
|
|
25
|
-
space: Pick<HexSpaceSpec, "q" | "r">,
|
|
26
|
-
corner: HexCorner,
|
|
27
|
-
): string {
|
|
28
|
-
const [x, y, z] = cubeFromAxial(space);
|
|
29
|
-
const [dx, dy, dz] = HEX_CORNER_OFFSETS[corner];
|
|
30
|
-
return `${3 * x + dx},${3 * y + dy},${3 * z + dz}`;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export function resolveHexVertexGeometryKey(
|
|
34
|
-
ref: HexVertexRef,
|
|
35
|
-
spacesById: ReadonlyMap<string, HexSpaceSpec>,
|
|
36
|
-
): string {
|
|
37
|
-
const resolvedSpaces = [...ref.spaces]
|
|
38
|
-
.sort((left, right) => left.localeCompare(right))
|
|
39
|
-
.map((spaceId) => {
|
|
40
|
-
const space = spacesById.get(spaceId);
|
|
41
|
-
if (!space) {
|
|
42
|
-
throw new Error(
|
|
43
|
-
`Hex vertex ref references unknown space '${spaceId}'.`,
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
return space;
|
|
47
|
-
});
|
|
48
|
-
const keyCounts = new Map<string, number>();
|
|
49
|
-
for (const space of resolvedSpaces) {
|
|
50
|
-
for (const corner of HEX_CORNERS) {
|
|
51
|
-
const key = cornerGeometryKey(space, corner);
|
|
52
|
-
keyCounts.set(key, (keyCounts.get(key) ?? 0) + 1);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
const candidates = [...keyCounts.entries()]
|
|
56
|
-
.filter(([, count]) => count === resolvedSpaces.length)
|
|
57
|
-
.map(([key]) => key)
|
|
58
|
-
.sort((left, right) => left.localeCompare(right));
|
|
59
|
-
if (candidates.length !== 1) {
|
|
60
|
-
throw new Error(
|
|
61
|
-
`Hex vertex ref spaces '${ref.spaces.join(", ")}' do not resolve to exactly one shared vertex.`,
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
const vertexKey = candidates[0];
|
|
65
|
-
if (vertexKey === undefined) {
|
|
66
|
-
throw new Error("internal: expected exactly one hex vertex geometry key");
|
|
67
|
-
}
|
|
68
|
-
return vertexKey;
|
|
69
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import type { GameTopologyManifest } from "../../types/index.js";
|
|
2
|
-
import {
|
|
3
|
-
generateManifestContractSources,
|
|
4
|
-
materializeManifestTable,
|
|
5
|
-
} from "./manifest-contract.js";
|
|
6
|
-
import { validateManifestAuthoring } from "./manifest-validation.js";
|
|
7
|
-
import {
|
|
8
|
-
AUTHORITATIVE_GENERATED_FILES,
|
|
9
|
-
isAllowedGamePath,
|
|
10
|
-
isAuthoritativeGeneratedPath,
|
|
11
|
-
isCliStaticPath,
|
|
12
|
-
isDynamicSeedPath,
|
|
13
|
-
isLibraryPath,
|
|
14
|
-
PRESERVED_USER_FILES,
|
|
15
|
-
SEED_FILES,
|
|
16
|
-
SEED_FILE_PATTERNS,
|
|
17
|
-
WORKSPACE_CODEGEN_OWNERSHIP,
|
|
18
|
-
} from "./ownership.js";
|
|
19
|
-
import {
|
|
20
|
-
generateFrameworkFiles,
|
|
21
|
-
generateSeedFiles,
|
|
22
|
-
isFrameworkOwnedSetupProfilesSeed,
|
|
23
|
-
SETUP_PROFILES_SEED_MARKER,
|
|
24
|
-
} from "./seeds.js";
|
|
25
|
-
export {
|
|
26
|
-
materializeCardSet,
|
|
27
|
-
materializePresetCardSet,
|
|
28
|
-
} from "./preset-card-sets.js";
|
|
29
|
-
export { materializeManifestTable };
|
|
30
|
-
|
|
31
|
-
export {
|
|
32
|
-
AUTHORITATIVE_GENERATED_FILES,
|
|
33
|
-
isAllowedGamePath,
|
|
34
|
-
isAuthoritativeGeneratedPath,
|
|
35
|
-
isCliStaticPath,
|
|
36
|
-
isDynamicSeedPath,
|
|
37
|
-
isLibraryPath,
|
|
38
|
-
PRESERVED_USER_FILES,
|
|
39
|
-
SEED_FILES,
|
|
40
|
-
SEED_FILE_PATTERNS,
|
|
41
|
-
WORKSPACE_CODEGEN_OWNERSHIP,
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export function generateAuthoritativeFiles(
|
|
45
|
-
manifest: GameTopologyManifest,
|
|
46
|
-
): Record<string, string> {
|
|
47
|
-
return {
|
|
48
|
-
...generateManifestContractSources(manifest),
|
|
49
|
-
...generateFrameworkFiles(manifest),
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export { generateSeedFiles };
|
|
54
|
-
export { isFrameworkOwnedSetupProfilesSeed, SETUP_PROFILES_SEED_MARKER };
|
|
55
|
-
export { validateManifestAuthoring };
|
|
56
|
-
|
|
57
|
-
export function generateDynamicGeneratedFiles(
|
|
58
|
-
manifest: GameTopologyManifest,
|
|
59
|
-
): Record<string, string> {
|
|
60
|
-
return {
|
|
61
|
-
...generateAuthoritativeFiles(manifest),
|
|
62
|
-
...generateSeedFiles(manifest),
|
|
63
|
-
};
|
|
64
|
-
}
|