@dreamboard-games/sdk 0.5.0-alpha.0 → 0.5.0-alpha.2
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/README.md +127 -0
- package/dist/browser-interaction.d.ts +22 -22
- package/dist/{chunk-VRRR6QZT.js → chunk-32PFKDV7.js} +170 -406
- package/dist/chunk-32PFKDV7.js.map +1 -0
- package/dist/{chunk-N33CGX2F.js → chunk-3BAD4VC2.js} +3 -3
- package/dist/{chunk-LMHCGCA6.js → chunk-3SKDNDPG.js} +2 -2
- package/dist/chunk-5YV2WHJ4.js +25 -0
- package/dist/chunk-5YV2WHJ4.js.map +1 -0
- package/dist/{chunk-VWTKGIYF.js → chunk-ANRB4XKA.js} +1 -1
- package/dist/chunk-ANRB4XKA.js.map +1 -0
- package/dist/{chunk-EOEA3I64.js → chunk-BI4G3PM2.js} +7 -7
- package/dist/chunk-BI4G3PM2.js.map +1 -0
- package/dist/{chunk-KRJPRYEA.js → chunk-EVCLTY4Q.js} +21 -8
- package/dist/chunk-EVCLTY4Q.js.map +1 -0
- package/dist/{chunk-DQS2EG5E.js → chunk-GDPKTBUR.js} +2 -2
- package/dist/{chunk-FL67RDID.js → chunk-H6VDGFL5.js} +128 -128
- package/dist/chunk-H6VDGFL5.js.map +1 -0
- package/dist/{chunk-6LMESVGT.js → chunk-LR3ZTWQF.js} +3 -3
- package/dist/chunk-LR3ZTWQF.js.map +1 -0
- package/dist/{chunk-TXELBVTG.js → chunk-PN5O6GG2.js} +2 -2
- package/dist/{chunk-533O7C4L.js → chunk-S2JEDVWH.js} +500 -430
- package/dist/chunk-S2JEDVWH.js.map +1 -0
- package/dist/{chunk-2GQIALJL.js → chunk-UGH54WZ2.js} +6 -2
- package/dist/chunk-UGH54WZ2.js.map +1 -0
- package/dist/chunk-VCDWP5VL.js +746 -0
- package/dist/chunk-VCDWP5VL.js.map +1 -0
- package/dist/{chunk-ZSTCUJKZ.js → chunk-Y75CFE77.js} +2 -6
- package/dist/chunk-Y75CFE77.js.map +1 -0
- package/dist/chunk-Z7QCREWI.js +3435 -0
- package/dist/chunk-Z7QCREWI.js.map +1 -0
- package/dist/chunk-ZZGN2ATS.js +1941 -0
- package/dist/chunk-ZZGN2ATS.js.map +1 -0
- package/dist/{components-CNAt5J1p.d.ts → components-gAbIz7hK.d.ts} +2 -18
- package/dist/{definitions-bZSBaPjj.d.ts → definitions-BgmV_GhC.d.ts} +3 -3
- package/dist/digest.d.ts +2 -2
- package/dist/game-CsZScpcn.d.ts +763 -0
- package/dist/{index-CR69MyWr.d.ts → index-CcT9Q7N7.d.ts} +1 -1
- package/dist/{index.d-Bw8AOcgp.d.ts → index.d-DjzoK7zn.d.ts} +67 -2
- package/dist/index.js +1 -2
- package/dist/package-set.js +1 -2
- package/dist/plugin-runtime-contract.d.ts +4 -4
- package/dist/plugin-runtime-contract.js +13 -15
- package/dist/{protocol-CVaSqPgX.d.ts → protocol-dYgafTYY.d.ts} +1 -7
- package/dist/reducer/advanced.d.ts +12 -11
- package/dist/reducer/advanced.js +10 -4
- package/dist/reducer-contract.d.ts +10 -2
- package/dist/reducer-contract.js +4 -4
- package/dist/reducer.d.ts +12 -689
- package/dist/reducer.js +19 -1293
- package/dist/reducer.js.map +1 -1
- package/dist/runtime/primitives.d.ts +4 -4
- package/dist/runtime/primitives.js +5 -5
- package/dist/runtime/runtime-api.d.ts +2 -2
- package/dist/runtime/workspace-contract.d.ts +50 -17
- package/dist/runtime/workspace-contract.js +15 -10
- package/dist/{runtime-C7Z2acNU.d.ts → runtime-RJ5orDJU.d.ts} +23 -30
- package/dist/{plugin-state-BRH3UiUp.d.ts → runtime-api-Bz5pwNU_.d.ts} +86 -4
- package/dist/runtime.d.ts +8 -8
- package/dist/runtime.js +19 -17
- package/dist/runtime.js.map +1 -1
- package/dist/schema.d.ts +2 -28
- package/dist/testing-compiler.d.ts +4 -4
- package/dist/testing-runtime.d.ts +7 -7
- package/dist/testing-runtime.js +6 -6
- package/dist/testing.d.ts +17 -17
- package/dist/testing.js +14 -14
- package/dist/{types-q1Guidm5.d.ts → types-DR7DoB1x.d.ts} +1 -1
- package/dist/{types-DN4O7kH_.d.ts → types-JWCYHmu7.d.ts} +2 -2
- package/dist/types.js +6 -18
- package/dist/types.js.map +1 -1
- package/dist/ui/components.d.ts +3 -4
- package/dist/ui/components.js +1 -5
- package/dist/{ui-contract-BC4JpysE.d.ts → ui-contract-GTUPkf8z.d.ts} +175 -176
- package/dist/ui.d.ts +4 -5
- package/dist/ui.js +2 -6
- package/dist/{views-D2Cfzr3h.d.ts → views-BpuWcOyN.d.ts} +101 -48
- package/package.json +3 -22
- package/dist/authoring/index.d.ts +0 -59
- package/dist/authoring/index.js +0 -24
- package/dist/authoring/index.js.map +0 -1
- package/dist/authoring-compiler.d.ts +0 -27
- package/dist/authoring-compiler.js +0 -11
- package/dist/authoring-compiler.js.map +0 -1
- package/dist/authoring-materialize-cli.d.ts +0 -1
- package/dist/authoring-materialize-cli.js +0 -45
- package/dist/authoring-materialize-cli.js.map +0 -1
- package/dist/chunk-2GQIALJL.js.map +0 -1
- package/dist/chunk-533O7C4L.js.map +0 -1
- package/dist/chunk-6LMESVGT.js.map +0 -1
- package/dist/chunk-EOEA3I64.js.map +0 -1
- package/dist/chunk-FL67RDID.js.map +0 -1
- package/dist/chunk-HIH6Y4FA.js +0 -7802
- package/dist/chunk-HIH6Y4FA.js.map +0 -1
- package/dist/chunk-HUK4234C.js +0 -166
- package/dist/chunk-HUK4234C.js.map +0 -1
- package/dist/chunk-KGV2EUNN.js +0 -532
- package/dist/chunk-KGV2EUNN.js.map +0 -1
- package/dist/chunk-KRJPRYEA.js.map +0 -1
- package/dist/chunk-KWHOFBDM.js +0 -9
- package/dist/chunk-KWHOFBDM.js.map +0 -1
- package/dist/chunk-VRRR6QZT.js.map +0 -1
- package/dist/chunk-VWTKGIYF.js.map +0 -1
- package/dist/chunk-XFMSLL3P.js +0 -637
- package/dist/chunk-XFMSLL3P.js.map +0 -1
- package/dist/chunk-ZSTCUJKZ.js.map +0 -1
- package/dist/codegen.d.ts +0 -941
- package/dist/codegen.js +0 -44
- package/dist/codegen.js.map +0 -1
- package/dist/runtime-api-CgPuEVeF.d.ts +0 -86
- /package/dist/{chunk-N33CGX2F.js.map → chunk-3BAD4VC2.js.map} +0 -0
- /package/dist/{chunk-LMHCGCA6.js.map → chunk-3SKDNDPG.js.map} +0 -0
- /package/dist/{chunk-DQS2EG5E.js.map → chunk-GDPKTBUR.js.map} +0 -0
- /package/dist/{chunk-TXELBVTG.js.map → chunk-PN5O6GG2.js.map} +0 -0
package/dist/codegen.d.ts
DELETED
|
@@ -1,941 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Supported player-count metadata for the game
|
|
3
|
-
*/
|
|
4
|
-
type PlayersDefinition = {
|
|
5
|
-
minPlayers: number;
|
|
6
|
-
maxPlayers: number;
|
|
7
|
-
optimalPlayers?: number;
|
|
8
|
-
};
|
|
9
|
-
type PresetCardSetDefinition = {
|
|
10
|
-
/**
|
|
11
|
-
* Unique local identifier for the authored card set
|
|
12
|
-
*/
|
|
13
|
-
id: string;
|
|
14
|
-
/**
|
|
15
|
-
* Built-in preset card-set selector
|
|
16
|
-
*/
|
|
17
|
-
presetId: string;
|
|
18
|
-
/**
|
|
19
|
-
* Display name of the card set
|
|
20
|
-
*/
|
|
21
|
-
name: string;
|
|
22
|
-
/**
|
|
23
|
-
* Type of card set source
|
|
24
|
-
*/
|
|
25
|
-
type: "preset";
|
|
26
|
-
/**
|
|
27
|
-
* Default initial home for cards materialized from the preset.
|
|
28
|
-
*/
|
|
29
|
-
defaultHome: ComponentHomeSpec;
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Arbitrary authored JSON value.
|
|
33
|
-
*/
|
|
34
|
-
type JsonValue = string | number | boolean | null | Array<JsonValue> | {
|
|
35
|
-
[key: string]: JsonValue;
|
|
36
|
-
};
|
|
37
|
-
type PropertySchema = {
|
|
38
|
-
/**
|
|
39
|
-
* The data type of the property.
|
|
40
|
-
*/
|
|
41
|
-
type: "string" | "integer" | "number" | "boolean" | "zoneId" | "cardId" | "playerId" | "boardId" | "edgeId" | "vertexId" | "spaceId" | "pieceId" | "dieId" | "resourceId" | "array" | "object" | "record" | "enum";
|
|
42
|
-
/**
|
|
43
|
-
* Optional description of the property's purpose and usage.
|
|
44
|
-
*/
|
|
45
|
-
description?: string;
|
|
46
|
-
/**
|
|
47
|
-
* Whether an object property may be omitted.
|
|
48
|
-
*/
|
|
49
|
-
optional?: boolean;
|
|
50
|
-
/**
|
|
51
|
-
* Whether the value may be null.
|
|
52
|
-
*/
|
|
53
|
-
nullable?: boolean;
|
|
54
|
-
/**
|
|
55
|
-
* Optional authored default value for this property. When present, omitted
|
|
56
|
-
* seed values materialize to the default and generated TypeScript treats
|
|
57
|
-
* the property as present even if `optional: true` is also set.
|
|
58
|
-
*
|
|
59
|
-
*/
|
|
60
|
-
default?: JsonValue;
|
|
61
|
-
/**
|
|
62
|
-
* For array types, the schema of the array items. Required if type is 'array'.
|
|
63
|
-
*/
|
|
64
|
-
items?: PropertySchema;
|
|
65
|
-
/**
|
|
66
|
-
* For object types, the schema of the object's properties. Required if type is 'object'.
|
|
67
|
-
*/
|
|
68
|
-
properties?: {
|
|
69
|
-
[key: string]: PropertySchema;
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* For enum types, the list of allowed string values. Required if type is 'enum'.
|
|
73
|
-
*/
|
|
74
|
-
enums?: Array<string>;
|
|
75
|
-
/**
|
|
76
|
-
* For record types, the schema of the record's values. Required if type is 'record'.
|
|
77
|
-
*/
|
|
78
|
-
values?: PropertySchema;
|
|
79
|
-
};
|
|
80
|
-
type ObjectSchema = {
|
|
81
|
-
/**
|
|
82
|
-
* Map of property names to their schemas. Type is always 'object' and all properties are required.
|
|
83
|
-
*/
|
|
84
|
-
properties: {
|
|
85
|
-
[key: string]: PropertySchema;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
type CardPropertySchemaVariants = {
|
|
89
|
-
/**
|
|
90
|
-
* Property schemas present on every card-type variant.
|
|
91
|
-
*/
|
|
92
|
-
shared?: {
|
|
93
|
-
[key: string]: PropertySchema;
|
|
94
|
-
};
|
|
95
|
-
/**
|
|
96
|
-
* Property schema for each card type in this manual card set.
|
|
97
|
-
*/
|
|
98
|
-
variants: {
|
|
99
|
-
[key: string]: ObjectSchema;
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
type CardPropertySchema = ObjectSchema | CardPropertySchemaVariants;
|
|
103
|
-
type DetachedHomeSpec = {
|
|
104
|
-
type: "detached";
|
|
105
|
-
};
|
|
106
|
-
type ZoneHomeSpec = {
|
|
107
|
-
type: "zone";
|
|
108
|
-
zoneId: string;
|
|
109
|
-
};
|
|
110
|
-
type SpaceHomeSpec = {
|
|
111
|
-
type: "space";
|
|
112
|
-
boardId: string;
|
|
113
|
-
spaceId: string;
|
|
114
|
-
};
|
|
115
|
-
type ContainerHomeSpec = {
|
|
116
|
-
type: "container";
|
|
117
|
-
boardId: string;
|
|
118
|
-
containerId: string;
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* Tiled board edge identified by the spaces that border it
|
|
122
|
-
*/
|
|
123
|
-
type BoardEdgeRef = {
|
|
124
|
-
spaces: Array<string>;
|
|
125
|
-
};
|
|
126
|
-
type EdgeHomeSpec = {
|
|
127
|
-
type: "edge";
|
|
128
|
-
boardId: string;
|
|
129
|
-
ref: BoardEdgeRef;
|
|
130
|
-
};
|
|
131
|
-
/**
|
|
132
|
-
* Tiled board vertex identified by the spaces that touch it
|
|
133
|
-
*/
|
|
134
|
-
type BoardVertexRef = {
|
|
135
|
-
spaces: Array<string>;
|
|
136
|
-
};
|
|
137
|
-
type VertexHomeSpec = {
|
|
138
|
-
type: "vertex";
|
|
139
|
-
boardId: string;
|
|
140
|
-
ref: BoardVertexRef;
|
|
141
|
-
};
|
|
142
|
-
type PieceSlotHostRef = {
|
|
143
|
-
kind: "piece";
|
|
144
|
-
id: string;
|
|
145
|
-
};
|
|
146
|
-
type DieSlotHostRef = {
|
|
147
|
-
kind: "die";
|
|
148
|
-
id: string;
|
|
149
|
-
};
|
|
150
|
-
type SlotHostRef = ({
|
|
151
|
-
kind: "piece";
|
|
152
|
-
} & PieceSlotHostRef) | ({
|
|
153
|
-
kind: "die";
|
|
154
|
-
} & DieSlotHostRef);
|
|
155
|
-
type SlotHomeSpec = {
|
|
156
|
-
type: "slot";
|
|
157
|
-
host: SlotHostRef;
|
|
158
|
-
slotId: string;
|
|
159
|
-
};
|
|
160
|
-
type ComponentHomeSpec = ({
|
|
161
|
-
type: "detached";
|
|
162
|
-
} & DetachedHomeSpec) | ({
|
|
163
|
-
type: "zone";
|
|
164
|
-
} & ZoneHomeSpec) | ({
|
|
165
|
-
type: "space";
|
|
166
|
-
} & SpaceHomeSpec) | ({
|
|
167
|
-
type: "container";
|
|
168
|
-
} & ContainerHomeSpec) | ({
|
|
169
|
-
type: "edge";
|
|
170
|
-
} & EdgeHomeSpec) | ({
|
|
171
|
-
type: "vertex";
|
|
172
|
-
} & VertexHomeSpec) | ({
|
|
173
|
-
type: "slot";
|
|
174
|
-
} & SlotHomeSpec);
|
|
175
|
-
/**
|
|
176
|
-
* Default authored visibility for a component instance
|
|
177
|
-
*/
|
|
178
|
-
type ComponentVisibilitySpec = {
|
|
179
|
-
faceUp?: boolean;
|
|
180
|
-
/**
|
|
181
|
-
* When omitted, visible to all players
|
|
182
|
-
*/
|
|
183
|
-
visibleTo?: Array<string>;
|
|
184
|
-
};
|
|
185
|
-
type BoardCard = {
|
|
186
|
-
/**
|
|
187
|
-
* Card type identifier used to generate runtime CardIds. When count > 1, runtime IDs are generated as '{type}-1', '{type}-2', etc.
|
|
188
|
-
*/
|
|
189
|
-
type: string;
|
|
190
|
-
/**
|
|
191
|
-
* Display name of the card
|
|
192
|
-
*/
|
|
193
|
-
name: string;
|
|
194
|
-
/**
|
|
195
|
-
* URL to the card's image
|
|
196
|
-
*/
|
|
197
|
-
imageUrl?: string;
|
|
198
|
-
/**
|
|
199
|
-
* Text content on the card
|
|
200
|
-
*/
|
|
201
|
-
text?: string;
|
|
202
|
-
/**
|
|
203
|
-
* Number of copies of this card
|
|
204
|
-
*/
|
|
205
|
-
count: number;
|
|
206
|
-
/**
|
|
207
|
-
* Optional authored card category or subtype identifier
|
|
208
|
-
*/
|
|
209
|
-
cardType?: string;
|
|
210
|
-
/**
|
|
211
|
-
* Optional per-card initial home. Omitted cards use their manual card set's
|
|
212
|
-
* defaultHome. Compatibility declarations such as allowedCardSetIds never
|
|
213
|
-
* imply placement. Player-scoped distribution belongs in reducer setup.
|
|
214
|
-
*/
|
|
215
|
-
home?: ComponentHomeSpec;
|
|
216
|
-
/**
|
|
217
|
-
* Default authored visibility for the card inventory
|
|
218
|
-
*/
|
|
219
|
-
visibility?: ComponentVisibilitySpec;
|
|
220
|
-
/**
|
|
221
|
-
* Actual property values for this specific card instance. Keys must match the properties defined in the referenced cardSchema.
|
|
222
|
-
*/
|
|
223
|
-
properties: {
|
|
224
|
-
[key: string]: JsonValue;
|
|
225
|
-
};
|
|
226
|
-
};
|
|
227
|
-
type ManualCardSetDefinition = {
|
|
228
|
-
/**
|
|
229
|
-
* Unique identifier for the card set
|
|
230
|
-
*/
|
|
231
|
-
id: string;
|
|
232
|
-
/**
|
|
233
|
-
* Display name of the card set
|
|
234
|
-
*/
|
|
235
|
-
name: string;
|
|
236
|
-
/**
|
|
237
|
-
* Type of card set source
|
|
238
|
-
*/
|
|
239
|
-
type: "manual";
|
|
240
|
-
/**
|
|
241
|
-
* Schema definition for authored card properties in this card set
|
|
242
|
-
*/
|
|
243
|
-
cardSchema: CardPropertySchema;
|
|
244
|
-
/**
|
|
245
|
-
* Default initial home for cards that do not declare a per-card home.
|
|
246
|
-
*/
|
|
247
|
-
defaultHome: ComponentHomeSpec;
|
|
248
|
-
/**
|
|
249
|
-
* List of authored cards in this card set
|
|
250
|
-
*/
|
|
251
|
-
cards: Array<BoardCard>;
|
|
252
|
-
};
|
|
253
|
-
type CardSetDefinition = ({
|
|
254
|
-
type: "preset";
|
|
255
|
-
} & PresetCardSetDefinition) | ({
|
|
256
|
-
type: "manual";
|
|
257
|
-
} & ManualCardSetDefinition);
|
|
258
|
-
/**
|
|
259
|
-
* Whether authored topology exists once for the table or once per player
|
|
260
|
-
*/
|
|
261
|
-
type TopologyScope = "shared" | "perPlayer";
|
|
262
|
-
/**
|
|
263
|
-
* Default topology visibility for a zone or slot
|
|
264
|
-
*/
|
|
265
|
-
type ZoneVisibility = "ownerOnly" | "public" | "hidden";
|
|
266
|
-
/**
|
|
267
|
-
* Generic authored container that can hold cards, pieces, or dice
|
|
268
|
-
*/
|
|
269
|
-
type ZoneSpec = {
|
|
270
|
-
/**
|
|
271
|
-
* Stable zone identifier
|
|
272
|
-
*/
|
|
273
|
-
id: string;
|
|
274
|
-
/**
|
|
275
|
-
* Display name for the zone
|
|
276
|
-
*/
|
|
277
|
-
name: string;
|
|
278
|
-
scope: TopologyScope;
|
|
279
|
-
/**
|
|
280
|
-
* Optional card-set restriction for this zone
|
|
281
|
-
*/
|
|
282
|
-
allowedCardSetIds?: Array<string>;
|
|
283
|
-
visibility?: ZoneVisibility;
|
|
284
|
-
};
|
|
285
|
-
/**
|
|
286
|
-
* Stable authored board space or slot anchor
|
|
287
|
-
*/
|
|
288
|
-
type BoardSpaceSpec = {
|
|
289
|
-
/**
|
|
290
|
-
* Stable space identifier local to the board
|
|
291
|
-
*/
|
|
292
|
-
id: string;
|
|
293
|
-
/**
|
|
294
|
-
* Human-readable space name
|
|
295
|
-
*/
|
|
296
|
-
name?: string;
|
|
297
|
-
/**
|
|
298
|
-
* Optional authored space type identifier
|
|
299
|
-
*/
|
|
300
|
-
typeId?: string;
|
|
301
|
-
/**
|
|
302
|
-
* Typed authored fields validated against the board's spaceFieldsSchema
|
|
303
|
-
*/
|
|
304
|
-
fields?: {
|
|
305
|
-
[key: string]: JsonValue;
|
|
306
|
-
};
|
|
307
|
-
};
|
|
308
|
-
/**
|
|
309
|
-
* Named relation between two authored spaces
|
|
310
|
-
*/
|
|
311
|
-
type BoardRelationSpec = {
|
|
312
|
-
/**
|
|
313
|
-
* Optional stable relation identifier
|
|
314
|
-
*/
|
|
315
|
-
id?: string;
|
|
316
|
-
/**
|
|
317
|
-
* Relation type identifier such as adjacent, covers, blocks, or linked
|
|
318
|
-
*/
|
|
319
|
-
typeId: string;
|
|
320
|
-
fromSpaceId: string;
|
|
321
|
-
toSpaceId: string;
|
|
322
|
-
directed?: boolean;
|
|
323
|
-
/**
|
|
324
|
-
* Typed authored relation fields validated against relationFieldsSchema
|
|
325
|
-
*/
|
|
326
|
-
fields?: {
|
|
327
|
-
[key: string]: JsonValue;
|
|
328
|
-
};
|
|
329
|
-
};
|
|
330
|
-
type BoardHostSpec = {
|
|
331
|
-
type: "board";
|
|
332
|
-
};
|
|
333
|
-
type SpaceHostSpec = {
|
|
334
|
-
type: "space";
|
|
335
|
-
spaceId: string;
|
|
336
|
-
};
|
|
337
|
-
type BoardContainerHostSpec = ({
|
|
338
|
-
type: "board";
|
|
339
|
-
} & BoardHostSpec) | ({
|
|
340
|
-
type: "space";
|
|
341
|
-
} & SpaceHostSpec);
|
|
342
|
-
/**
|
|
343
|
-
* Authored board-attached or space-attached container/slot
|
|
344
|
-
*/
|
|
345
|
-
type BoardContainerSpec = {
|
|
346
|
-
/**
|
|
347
|
-
* Stable container identifier local to the board
|
|
348
|
-
*/
|
|
349
|
-
id: string;
|
|
350
|
-
/**
|
|
351
|
-
* Display name for the container
|
|
352
|
-
*/
|
|
353
|
-
name: string;
|
|
354
|
-
host: BoardContainerHostSpec;
|
|
355
|
-
allowedCardSetIds?: Array<string>;
|
|
356
|
-
/**
|
|
357
|
-
* Typed authored container fields validated against containerFieldsSchema
|
|
358
|
-
*/
|
|
359
|
-
fields?: {
|
|
360
|
-
[key: string]: JsonValue;
|
|
361
|
-
};
|
|
362
|
-
};
|
|
363
|
-
/**
|
|
364
|
-
* Reusable authored board topology template
|
|
365
|
-
*/
|
|
366
|
-
type GenericBoardTemplateSpec = {
|
|
367
|
-
/**
|
|
368
|
-
* Stable template identifier
|
|
369
|
-
*/
|
|
370
|
-
id: string;
|
|
371
|
-
name: string;
|
|
372
|
-
layout: "generic";
|
|
373
|
-
/**
|
|
374
|
-
* Optional authored board type identifier such as track, map, tableau, or grid
|
|
375
|
-
*/
|
|
376
|
-
typeId?: string;
|
|
377
|
-
boardFieldsSchema?: ObjectSchema;
|
|
378
|
-
spaceFieldsSchema?: ObjectSchema;
|
|
379
|
-
relationFieldsSchema?: ObjectSchema;
|
|
380
|
-
containerFieldsSchema?: ObjectSchema;
|
|
381
|
-
spaces?: Array<BoardSpaceSpec>;
|
|
382
|
-
relations?: Array<BoardRelationSpec>;
|
|
383
|
-
containers?: Array<BoardContainerSpec>;
|
|
384
|
-
};
|
|
385
|
-
/**
|
|
386
|
-
* Visual orientation for authored hex coordinates
|
|
387
|
-
*/
|
|
388
|
-
type HexOrientation = "pointy-top" | "flat-top";
|
|
389
|
-
/**
|
|
390
|
-
* One authored hex space in axial coordinates
|
|
391
|
-
*/
|
|
392
|
-
type HexSpaceSpec = {
|
|
393
|
-
/**
|
|
394
|
-
* Stable space identifier local to the board
|
|
395
|
-
*/
|
|
396
|
-
id: string;
|
|
397
|
-
/**
|
|
398
|
-
* Axial q coordinate
|
|
399
|
-
*/
|
|
400
|
-
q: number;
|
|
401
|
-
/**
|
|
402
|
-
* Axial r coordinate
|
|
403
|
-
*/
|
|
404
|
-
r: number;
|
|
405
|
-
/**
|
|
406
|
-
* Optional authored space type identifier
|
|
407
|
-
*/
|
|
408
|
-
typeId?: string;
|
|
409
|
-
/**
|
|
410
|
-
* Optional hex-space label for setup or rendering
|
|
411
|
-
*/
|
|
412
|
-
label?: string;
|
|
413
|
-
/**
|
|
414
|
-
* Typed authored fields validated against the board's spaceFieldsSchema
|
|
415
|
-
*/
|
|
416
|
-
fields?: {
|
|
417
|
-
[key: string]: JsonValue;
|
|
418
|
-
};
|
|
419
|
-
};
|
|
420
|
-
/**
|
|
421
|
-
* Hex edge identified by two adjacent hex spaces
|
|
422
|
-
*/
|
|
423
|
-
type HexEdgeRef = {
|
|
424
|
-
spaces: [string, string];
|
|
425
|
-
};
|
|
426
|
-
/**
|
|
427
|
-
* Authored metadata attached to one derived hex edge
|
|
428
|
-
*/
|
|
429
|
-
type HexEdgeSpec = {
|
|
430
|
-
ref: HexEdgeRef;
|
|
431
|
-
/**
|
|
432
|
-
* Optional authored edge type identifier
|
|
433
|
-
*/
|
|
434
|
-
typeId?: string;
|
|
435
|
-
/**
|
|
436
|
-
* Optional edge label for setup or rendering
|
|
437
|
-
*/
|
|
438
|
-
label?: string;
|
|
439
|
-
tags?: Array<string>;
|
|
440
|
-
/**
|
|
441
|
-
* Typed authored edge fields validated against edgeFieldsSchema
|
|
442
|
-
*/
|
|
443
|
-
fields?: {
|
|
444
|
-
[key: string]: JsonValue;
|
|
445
|
-
};
|
|
446
|
-
};
|
|
447
|
-
/**
|
|
448
|
-
* Hex vertex identified by three touching hex spaces
|
|
449
|
-
*/
|
|
450
|
-
type HexVertexRef = {
|
|
451
|
-
spaces: [string, string, string];
|
|
452
|
-
};
|
|
453
|
-
/**
|
|
454
|
-
* Authored metadata attached to one derived hex vertex
|
|
455
|
-
*/
|
|
456
|
-
type HexVertexSpec = {
|
|
457
|
-
ref: HexVertexRef;
|
|
458
|
-
/**
|
|
459
|
-
* Optional authored vertex type identifier
|
|
460
|
-
*/
|
|
461
|
-
typeId?: string;
|
|
462
|
-
/**
|
|
463
|
-
* Optional vertex label for setup or rendering
|
|
464
|
-
*/
|
|
465
|
-
label?: string;
|
|
466
|
-
tags?: Array<string>;
|
|
467
|
-
/**
|
|
468
|
-
* Typed authored vertex fields validated against vertexFieldsSchema
|
|
469
|
-
*/
|
|
470
|
-
fields?: {
|
|
471
|
-
[key: string]: JsonValue;
|
|
472
|
-
};
|
|
473
|
-
};
|
|
474
|
-
/**
|
|
475
|
-
* Reusable authored hex board topology template
|
|
476
|
-
*/
|
|
477
|
-
type HexBoardTemplateSpec = {
|
|
478
|
-
/**
|
|
479
|
-
* Stable template identifier
|
|
480
|
-
*/
|
|
481
|
-
id: string;
|
|
482
|
-
name: string;
|
|
483
|
-
layout: "hex";
|
|
484
|
-
/**
|
|
485
|
-
* Optional authored board type identifier
|
|
486
|
-
*/
|
|
487
|
-
typeId?: string;
|
|
488
|
-
orientation?: HexOrientation;
|
|
489
|
-
boardFieldsSchema?: ObjectSchema;
|
|
490
|
-
spaceFieldsSchema?: ObjectSchema;
|
|
491
|
-
edgeFieldsSchema?: ObjectSchema;
|
|
492
|
-
vertexFieldsSchema?: ObjectSchema;
|
|
493
|
-
spaces?: Array<HexSpaceSpec>;
|
|
494
|
-
edges?: Array<HexEdgeSpec>;
|
|
495
|
-
vertices?: Array<HexVertexSpec>;
|
|
496
|
-
};
|
|
497
|
-
/**
|
|
498
|
-
* One authored square space in row/column coordinates
|
|
499
|
-
*/
|
|
500
|
-
type SquareSpaceSpec = {
|
|
501
|
-
/**
|
|
502
|
-
* Stable space identifier local to the board
|
|
503
|
-
*/
|
|
504
|
-
id: string;
|
|
505
|
-
/**
|
|
506
|
-
* Zero-based row coordinate
|
|
507
|
-
*/
|
|
508
|
-
row: number;
|
|
509
|
-
/**
|
|
510
|
-
* Zero-based column coordinate
|
|
511
|
-
*/
|
|
512
|
-
col: number;
|
|
513
|
-
/**
|
|
514
|
-
* Optional authored space type identifier
|
|
515
|
-
*/
|
|
516
|
-
typeId?: string;
|
|
517
|
-
/**
|
|
518
|
-
* Optional square-space label for setup or rendering
|
|
519
|
-
*/
|
|
520
|
-
label?: string;
|
|
521
|
-
/**
|
|
522
|
-
* Typed authored fields validated against the board's spaceFieldsSchema
|
|
523
|
-
*/
|
|
524
|
-
fields?: {
|
|
525
|
-
[key: string]: JsonValue;
|
|
526
|
-
};
|
|
527
|
-
};
|
|
528
|
-
/**
|
|
529
|
-
* Authored metadata attached to one derived square edge
|
|
530
|
-
*/
|
|
531
|
-
type SquareEdgeSpec = {
|
|
532
|
-
ref: BoardEdgeRef;
|
|
533
|
-
/**
|
|
534
|
-
* Optional authored edge type identifier
|
|
535
|
-
*/
|
|
536
|
-
typeId?: string;
|
|
537
|
-
/**
|
|
538
|
-
* Optional edge label for setup or rendering
|
|
539
|
-
*/
|
|
540
|
-
label?: string;
|
|
541
|
-
tags?: Array<string>;
|
|
542
|
-
/**
|
|
543
|
-
* Typed authored edge fields validated against edgeFieldsSchema
|
|
544
|
-
*/
|
|
545
|
-
fields?: {
|
|
546
|
-
[key: string]: JsonValue;
|
|
547
|
-
};
|
|
548
|
-
};
|
|
549
|
-
/**
|
|
550
|
-
* Authored metadata attached to one derived square vertex
|
|
551
|
-
*/
|
|
552
|
-
type SquareVertexSpec = {
|
|
553
|
-
ref: BoardVertexRef;
|
|
554
|
-
/**
|
|
555
|
-
* Optional authored vertex type identifier
|
|
556
|
-
*/
|
|
557
|
-
typeId?: string;
|
|
558
|
-
/**
|
|
559
|
-
* Optional vertex label for setup or rendering
|
|
560
|
-
*/
|
|
561
|
-
label?: string;
|
|
562
|
-
tags?: Array<string>;
|
|
563
|
-
/**
|
|
564
|
-
* Typed authored vertex fields validated against vertexFieldsSchema
|
|
565
|
-
*/
|
|
566
|
-
fields?: {
|
|
567
|
-
[key: string]: JsonValue;
|
|
568
|
-
};
|
|
569
|
-
};
|
|
570
|
-
/**
|
|
571
|
-
* Reusable authored square board topology template
|
|
572
|
-
*/
|
|
573
|
-
type SquareBoardTemplateSpec = {
|
|
574
|
-
/**
|
|
575
|
-
* Stable template identifier
|
|
576
|
-
*/
|
|
577
|
-
id: string;
|
|
578
|
-
name: string;
|
|
579
|
-
layout: "square";
|
|
580
|
-
/**
|
|
581
|
-
* Optional authored board type identifier
|
|
582
|
-
*/
|
|
583
|
-
typeId?: string;
|
|
584
|
-
boardFieldsSchema?: ObjectSchema;
|
|
585
|
-
spaceFieldsSchema?: ObjectSchema;
|
|
586
|
-
relationFieldsSchema?: ObjectSchema;
|
|
587
|
-
containerFieldsSchema?: ObjectSchema;
|
|
588
|
-
edgeFieldsSchema?: ObjectSchema;
|
|
589
|
-
vertexFieldsSchema?: ObjectSchema;
|
|
590
|
-
spaces?: Array<SquareSpaceSpec>;
|
|
591
|
-
relations?: Array<BoardRelationSpec>;
|
|
592
|
-
containers?: Array<BoardContainerSpec>;
|
|
593
|
-
edges?: Array<SquareEdgeSpec>;
|
|
594
|
-
vertices?: Array<SquareVertexSpec>;
|
|
595
|
-
};
|
|
596
|
-
type BoardTemplateSpec = ({
|
|
597
|
-
layout: "generic";
|
|
598
|
-
} & GenericBoardTemplateSpec) | ({
|
|
599
|
-
layout: "hex";
|
|
600
|
-
} & HexBoardTemplateSpec) | ({
|
|
601
|
-
layout: "square";
|
|
602
|
-
} & SquareBoardTemplateSpec);
|
|
603
|
-
/**
|
|
604
|
-
* Shared or per-player authored board instance shell
|
|
605
|
-
*/
|
|
606
|
-
type GenericBoardSpec = {
|
|
607
|
-
/**
|
|
608
|
-
* Stable board identifier
|
|
609
|
-
*/
|
|
610
|
-
id: string;
|
|
611
|
-
name: string;
|
|
612
|
-
layout: "generic";
|
|
613
|
-
/**
|
|
614
|
-
* Optional authored board type identifier such as track, map, tableau, or grid
|
|
615
|
-
*/
|
|
616
|
-
typeId?: string;
|
|
617
|
-
scope: TopologyScope;
|
|
618
|
-
/**
|
|
619
|
-
* Optional board template to clone before applying inline authored additions
|
|
620
|
-
*/
|
|
621
|
-
templateId?: string;
|
|
622
|
-
boardFieldsSchema?: ObjectSchema;
|
|
623
|
-
spaceFieldsSchema?: ObjectSchema;
|
|
624
|
-
relationFieldsSchema?: ObjectSchema;
|
|
625
|
-
containerFieldsSchema?: ObjectSchema;
|
|
626
|
-
/**
|
|
627
|
-
* Typed authored board fields validated against boardFieldsSchema
|
|
628
|
-
*/
|
|
629
|
-
fields?: {
|
|
630
|
-
[key: string]: JsonValue;
|
|
631
|
-
};
|
|
632
|
-
spaces?: Array<BoardSpaceSpec>;
|
|
633
|
-
relations?: Array<BoardRelationSpec>;
|
|
634
|
-
containers?: Array<BoardContainerSpec>;
|
|
635
|
-
};
|
|
636
|
-
/**
|
|
637
|
-
* Shared or per-player authored hex board instance shell
|
|
638
|
-
*/
|
|
639
|
-
type HexBoardSpec = {
|
|
640
|
-
/**
|
|
641
|
-
* Stable board identifier
|
|
642
|
-
*/
|
|
643
|
-
id: string;
|
|
644
|
-
name: string;
|
|
645
|
-
layout: "hex";
|
|
646
|
-
/**
|
|
647
|
-
* Optional authored board type identifier
|
|
648
|
-
*/
|
|
649
|
-
typeId?: string;
|
|
650
|
-
scope: TopologyScope;
|
|
651
|
-
/**
|
|
652
|
-
* Optional hex board template to clone before applying inline authored additions
|
|
653
|
-
*/
|
|
654
|
-
templateId?: string;
|
|
655
|
-
orientation?: HexOrientation;
|
|
656
|
-
boardFieldsSchema?: ObjectSchema;
|
|
657
|
-
spaceFieldsSchema?: ObjectSchema;
|
|
658
|
-
edgeFieldsSchema?: ObjectSchema;
|
|
659
|
-
vertexFieldsSchema?: ObjectSchema;
|
|
660
|
-
/**
|
|
661
|
-
* Typed authored board fields validated against boardFieldsSchema
|
|
662
|
-
*/
|
|
663
|
-
fields?: {
|
|
664
|
-
[key: string]: JsonValue;
|
|
665
|
-
};
|
|
666
|
-
spaces?: Array<HexSpaceSpec>;
|
|
667
|
-
edges?: Array<HexEdgeSpec>;
|
|
668
|
-
vertices?: Array<HexVertexSpec>;
|
|
669
|
-
};
|
|
670
|
-
/**
|
|
671
|
-
* Shared or per-player authored square board instance shell
|
|
672
|
-
*/
|
|
673
|
-
type SquareBoardSpec = {
|
|
674
|
-
/**
|
|
675
|
-
* Stable board identifier
|
|
676
|
-
*/
|
|
677
|
-
id: string;
|
|
678
|
-
name: string;
|
|
679
|
-
layout: "square";
|
|
680
|
-
/**
|
|
681
|
-
* Optional authored board type identifier
|
|
682
|
-
*/
|
|
683
|
-
typeId?: string;
|
|
684
|
-
scope: TopologyScope;
|
|
685
|
-
/**
|
|
686
|
-
* Optional square board template to clone before applying inline authored additions
|
|
687
|
-
*/
|
|
688
|
-
templateId?: string;
|
|
689
|
-
boardFieldsSchema?: ObjectSchema;
|
|
690
|
-
spaceFieldsSchema?: ObjectSchema;
|
|
691
|
-
relationFieldsSchema?: ObjectSchema;
|
|
692
|
-
containerFieldsSchema?: ObjectSchema;
|
|
693
|
-
edgeFieldsSchema?: ObjectSchema;
|
|
694
|
-
vertexFieldsSchema?: ObjectSchema;
|
|
695
|
-
/**
|
|
696
|
-
* Typed authored board fields validated against boardFieldsSchema
|
|
697
|
-
*/
|
|
698
|
-
fields?: {
|
|
699
|
-
[key: string]: JsonValue;
|
|
700
|
-
};
|
|
701
|
-
spaces?: Array<SquareSpaceSpec>;
|
|
702
|
-
relations?: Array<BoardRelationSpec>;
|
|
703
|
-
containers?: Array<BoardContainerSpec>;
|
|
704
|
-
edges?: Array<SquareEdgeSpec>;
|
|
705
|
-
vertices?: Array<SquareVertexSpec>;
|
|
706
|
-
};
|
|
707
|
-
type BoardSpec = ({
|
|
708
|
-
layout: "generic";
|
|
709
|
-
} & GenericBoardSpec) | ({
|
|
710
|
-
layout: "hex";
|
|
711
|
-
} & HexBoardSpec) | ({
|
|
712
|
-
layout: "square";
|
|
713
|
-
} & SquareBoardSpec);
|
|
714
|
-
/**
|
|
715
|
-
* Named authored slot exposed by a piece or die type
|
|
716
|
-
*/
|
|
717
|
-
type ComponentSlotSpec = {
|
|
718
|
-
id: string;
|
|
719
|
-
name?: string;
|
|
720
|
-
};
|
|
721
|
-
/**
|
|
722
|
-
* Reusable authored piece type
|
|
723
|
-
*/
|
|
724
|
-
type PieceTypeSpec = {
|
|
725
|
-
id: string;
|
|
726
|
-
name: string;
|
|
727
|
-
fieldsSchema?: ObjectSchema;
|
|
728
|
-
slots?: Array<ComponentSlotSpec>;
|
|
729
|
-
};
|
|
730
|
-
/**
|
|
731
|
-
* Authored seeded piece inventory or supply definition
|
|
732
|
-
*/
|
|
733
|
-
type PieceSeedSpec = {
|
|
734
|
-
/**
|
|
735
|
-
* Stable piece id seed. When count > 1, runtime ids are generated as '{id}-1', '{id}-2', etc.
|
|
736
|
-
*/
|
|
737
|
-
id?: string;
|
|
738
|
-
name?: string;
|
|
739
|
-
typeId: string;
|
|
740
|
-
count?: number;
|
|
741
|
-
ownerId?: string;
|
|
742
|
-
home?: ComponentHomeSpec;
|
|
743
|
-
visibility?: ComponentVisibilitySpec;
|
|
744
|
-
/**
|
|
745
|
-
* Typed authored piece fields validated against the piece type schema
|
|
746
|
-
*/
|
|
747
|
-
fields?: {
|
|
748
|
-
[key: string]: JsonValue;
|
|
749
|
-
};
|
|
750
|
-
};
|
|
751
|
-
/**
|
|
752
|
-
* Reusable authored die type
|
|
753
|
-
*/
|
|
754
|
-
type DieTypeSpec$2 = {
|
|
755
|
-
id: string;
|
|
756
|
-
name: string;
|
|
757
|
-
sides?: number;
|
|
758
|
-
fieldsSchema?: ObjectSchema;
|
|
759
|
-
slots?: Array<ComponentSlotSpec>;
|
|
760
|
-
};
|
|
761
|
-
/**
|
|
762
|
-
* Authored seeded die inventory or supply definition
|
|
763
|
-
*/
|
|
764
|
-
type DieSeedSpec = {
|
|
765
|
-
/**
|
|
766
|
-
* Stable die id seed. When count > 1, runtime ids are generated as '{id}-1', '{id}-2', etc.
|
|
767
|
-
*/
|
|
768
|
-
id?: string;
|
|
769
|
-
name?: string;
|
|
770
|
-
typeId: string;
|
|
771
|
-
count?: number;
|
|
772
|
-
ownerId?: string;
|
|
773
|
-
home?: ComponentHomeSpec;
|
|
774
|
-
visibility?: ComponentVisibilitySpec;
|
|
775
|
-
/**
|
|
776
|
-
* Typed authored die fields validated against the die type schema
|
|
777
|
-
*/
|
|
778
|
-
fields?: {
|
|
779
|
-
[key: string]: JsonValue;
|
|
780
|
-
};
|
|
781
|
-
};
|
|
782
|
-
/**
|
|
783
|
-
* Definition of a game resource type
|
|
784
|
-
*/
|
|
785
|
-
type ResourceDefinition = {
|
|
786
|
-
/**
|
|
787
|
-
* Unique identifier for the resource. Used as a typed ResourceId.
|
|
788
|
-
*/
|
|
789
|
-
id: string;
|
|
790
|
-
/**
|
|
791
|
-
* Human-readable display name for the resource
|
|
792
|
-
*/
|
|
793
|
-
name: string;
|
|
794
|
-
/**
|
|
795
|
-
* Optional compact icon or emoji rendered by generic UI resource controls.
|
|
796
|
-
*/
|
|
797
|
-
icon?: string;
|
|
798
|
-
};
|
|
799
|
-
/**
|
|
800
|
-
* One authored setup option choice
|
|
801
|
-
*/
|
|
802
|
-
type SetupOptionChoiceSpec = {
|
|
803
|
-
id: string;
|
|
804
|
-
label: string;
|
|
805
|
-
description?: string;
|
|
806
|
-
};
|
|
807
|
-
/**
|
|
808
|
-
* Authored setup module/variant axis metadata
|
|
809
|
-
*/
|
|
810
|
-
type SetupOptionSpec = {
|
|
811
|
-
id: string;
|
|
812
|
-
name: string;
|
|
813
|
-
description?: string;
|
|
814
|
-
choices?: Array<SetupOptionChoiceSpec>;
|
|
815
|
-
};
|
|
816
|
-
/**
|
|
817
|
-
* One player-facing setup guidance step. Completion state remains game-owned
|
|
818
|
-
* view data; the framework only preserves authored copy.
|
|
819
|
-
*/
|
|
820
|
-
type SetupGuidanceStep = {
|
|
821
|
-
id: string;
|
|
822
|
-
label: string;
|
|
823
|
-
description?: string;
|
|
824
|
-
};
|
|
825
|
-
/**
|
|
826
|
-
* Reducer-consumed authored setup profile, recipe, or loadout metadata
|
|
827
|
-
*/
|
|
828
|
-
type SetupProfileSpec = {
|
|
829
|
-
id: string;
|
|
830
|
-
name: string;
|
|
831
|
-
description?: string;
|
|
832
|
-
/**
|
|
833
|
-
* Selected setup-option values for this profile
|
|
834
|
-
*/
|
|
835
|
-
optionValues?: {
|
|
836
|
-
[key: string]: string;
|
|
837
|
-
};
|
|
838
|
-
guidance?: {
|
|
839
|
-
summary?: string;
|
|
840
|
-
steps?: ReadonlyArray<SetupGuidanceStep>;
|
|
841
|
-
};
|
|
842
|
-
};
|
|
843
|
-
/**
|
|
844
|
-
* Authoritative topology manifest for reducer-native games
|
|
845
|
-
*/
|
|
846
|
-
type GameTopologyManifest$2 = {
|
|
847
|
-
players: PlayersDefinition;
|
|
848
|
-
/**
|
|
849
|
-
* Authored card catalogs and schemas
|
|
850
|
-
*/
|
|
851
|
-
cardSets: Array<CardSetDefinition>;
|
|
852
|
-
/**
|
|
853
|
-
* Shared and per-player authored containers
|
|
854
|
-
*/
|
|
855
|
-
zones?: Array<ZoneSpec>;
|
|
856
|
-
/**
|
|
857
|
-
* Reusable board topology templates
|
|
858
|
-
*/
|
|
859
|
-
boardTemplates?: Array<BoardTemplateSpec>;
|
|
860
|
-
/**
|
|
861
|
-
* Shared and per-player authored board shells
|
|
862
|
-
*/
|
|
863
|
-
boards?: Array<BoardSpec>;
|
|
864
|
-
pieceTypes?: Array<PieceTypeSpec>;
|
|
865
|
-
pieceSeeds?: Array<PieceSeedSpec>;
|
|
866
|
-
dieTypes?: Array<DieTypeSpec$2>;
|
|
867
|
-
dieSeeds?: Array<DieSeedSpec>;
|
|
868
|
-
resources?: Array<ResourceDefinition>;
|
|
869
|
-
/**
|
|
870
|
-
* Authored setup-option metadata consumed by reducer-owned setup flows
|
|
871
|
-
*/
|
|
872
|
-
setupOptions?: Array<SetupOptionSpec>;
|
|
873
|
-
/**
|
|
874
|
-
* Authored setup recipes, loadouts, or module profiles consumed by reducer setup code
|
|
875
|
-
*/
|
|
876
|
-
setupProfiles?: Array<SetupProfileSpec>;
|
|
877
|
-
};
|
|
878
|
-
|
|
879
|
-
type DieTypeSpec = Omit<DieTypeSpec$2, "sides"> & {
|
|
880
|
-
sides?: DieTypeSpec$2["sides"];
|
|
881
|
-
};
|
|
882
|
-
type GameTopologyManifest = Omit<GameTopologyManifest$2, "dieTypes"> & {
|
|
883
|
-
dieTypes?: Array<DieTypeSpec>;
|
|
884
|
-
};
|
|
885
|
-
|
|
886
|
-
declare function materializeManifestTable(options: {
|
|
887
|
-
manifest: GameTopologyManifest;
|
|
888
|
-
playerIds: readonly string[];
|
|
889
|
-
shuffleItems: <Value>(values: readonly Value[]) => Value[];
|
|
890
|
-
}): Record<string, unknown>;
|
|
891
|
-
|
|
892
|
-
type ManifestAuthoringValidationResult = {
|
|
893
|
-
errors: string[];
|
|
894
|
-
warnings: string[];
|
|
895
|
-
};
|
|
896
|
-
declare function validateManifestAuthoring(manifest: GameTopologyManifest): ManifestAuthoringValidationResult;
|
|
897
|
-
|
|
898
|
-
type OwnershipPattern = {
|
|
899
|
-
prefix: string;
|
|
900
|
-
suffix: string;
|
|
901
|
-
};
|
|
902
|
-
type ScaffoldingOwnership = {
|
|
903
|
-
version: number;
|
|
904
|
-
allowedPaths: {
|
|
905
|
-
rootFiles: string[];
|
|
906
|
-
directoryPrefixes: string[];
|
|
907
|
-
};
|
|
908
|
-
dynamic: {
|
|
909
|
-
generatedFiles: string[];
|
|
910
|
-
seedFiles: string[];
|
|
911
|
-
seedFilePatterns: OwnershipPattern[];
|
|
912
|
-
};
|
|
913
|
-
cliStatic: {
|
|
914
|
-
exactFiles: string[];
|
|
915
|
-
directoryPrefixes: string[];
|
|
916
|
-
};
|
|
917
|
-
preservedUserFiles: string[];
|
|
918
|
-
};
|
|
919
|
-
declare const WORKSPACE_CODEGEN_OWNERSHIP: ScaffoldingOwnership;
|
|
920
|
-
declare const AUTHORITATIVE_GENERATED_FILES: string[];
|
|
921
|
-
declare const SEED_FILES: string[];
|
|
922
|
-
declare const SEED_FILE_PATTERNS: OwnershipPattern[];
|
|
923
|
-
declare const PRESERVED_USER_FILES: Set<string>;
|
|
924
|
-
declare function isAllowedGamePath(filePath: string): boolean;
|
|
925
|
-
declare function isAuthoritativeGeneratedPath(filePath: string): boolean;
|
|
926
|
-
declare function isDynamicSeedPath(filePath: string): boolean;
|
|
927
|
-
declare function isCliStaticPath(filePath: string): boolean;
|
|
928
|
-
declare function isLibraryPath(filePath: string): boolean;
|
|
929
|
-
|
|
930
|
-
declare const SETUP_PROFILES_SEED_MARKER = "Generated by dreamboard setup-profiles scaffold.";
|
|
931
|
-
declare function isFrameworkOwnedSetupProfilesSeed(content: string | null | undefined): boolean;
|
|
932
|
-
declare function generateSeedFiles(manifest: GameTopologyManifest): Record<string, string>;
|
|
933
|
-
|
|
934
|
-
declare function materializePresetCardSet(presetCardSet: PresetCardSetDefinition): ManualCardSetDefinition;
|
|
935
|
-
declare function materializeCardSet(cardSet: GameTopologyManifest["cardSets"][number]): ManualCardSetDefinition;
|
|
936
|
-
|
|
937
|
-
declare function generateAuthoritativeFiles(manifest: GameTopologyManifest): Record<string, string>;
|
|
938
|
-
|
|
939
|
-
declare function generateDynamicGeneratedFiles(manifest: GameTopologyManifest): Record<string, string>;
|
|
940
|
-
|
|
941
|
-
export { AUTHORITATIVE_GENERATED_FILES, PRESERVED_USER_FILES, SEED_FILES, SEED_FILE_PATTERNS, SETUP_PROFILES_SEED_MARKER, WORKSPACE_CODEGEN_OWNERSHIP, generateAuthoritativeFiles, generateDynamicGeneratedFiles, generateSeedFiles, isAllowedGamePath, isAuthoritativeGeneratedPath, isCliStaticPath, isDynamicSeedPath, isFrameworkOwnedSetupProfilesSeed, isLibraryPath, materializeCardSet, materializeManifestTable, materializePresetCardSet, validateManifestAuthoring };
|