-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpayload_types.py
More file actions
308 lines (230 loc) · 6.68 KB
/
Copy pathpayload_types.py
File metadata and controls
308 lines (230 loc) · 6.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
from __future__ import annotations
from typing import Literal, NotRequired, Required, TypedDict
type RawJsonObject = dict[str, object]
type RawJsonArray = list[object]
type RawJsonDocument = RawJsonObject | RawJsonArray | str | int | float | bool | None
type SparseCellsByIdPayload = dict[str, int]
class FrontendManifestRecord(TypedDict, total=False):
file: str
src: str
isEntry: bool
css: list[str]
type FrontendManifestPayload = dict[str, FrontendManifestRecord]
class TopologySpecPayload(TypedDict):
tiling_family: str
adjacency_mode: str
sizing_mode: str
width: int
height: int
patch_depth: int
class SizingPolicyPayload(TypedDict, total=False):
control: Required[str]
default: Required[int]
min: Required[int]
max: Required[int]
unsafe_max: int
class TopologyVariantPayload(TypedDict):
id: str
geometry_key: str
tiling_family: str
adjacency_mode: str
label: str
picker_group: str
picker_order: int
default_rule: str
sizing_mode: str
family: str
viewport_sync_mode: str
class TopologyCatalogEntryPayload(TypedDict):
tiling_family: str
label: str
picker_group: str
picker_order: int
mode_type: str
mode_label: str
mode_labels: dict[str, str]
sizing_mode: str
family: str
render_kind: str
viewport_sync_mode: str
supported_adjacency_modes: list[str]
default_adjacency_mode: str
default_rules: dict[str, str]
geometry_keys: dict[str, str]
sizing_policy: SizingPolicyPayload
class TopologySpecRequestPayload(TypedDict):
tiling_family: str
adjacency_mode: str
sizing_mode: str
width: int | None
height: int | None
patch_depth: int | None
unsafe_size_override: NotRequired[bool]
class TopologySpecPatch(TypedDict, total=False):
tiling_family: str
adjacency_mode: str
sizing_mode: str
width: int
height: int
patch_depth: int
unsafe_size_override: bool
type TopologySpecInput = TopologySpecPayload | TopologySpecRequestPayload | TopologySpecPatch
class ConfigTopologySpecPatchPayload(TypedDict, total=False):
width: int
height: int
unsafe_size_override: bool
class ResetTopologySpecPayload(TopologySpecPayload):
unsafe_size_override: NotRequired[bool]
class ConfigSyncRequestPayload(TypedDict, total=False):
topology_spec: ConfigTopologySpecPatchPayload
speed: float
rule: str | None
class PersistedSimulationSnapshotV5(TypedDict):
version: Literal[5]
topology_spec: TopologySpecPayload
speed: float
running: bool
generation: int
rule: str
cells_by_id: SparseCellsByIdPayload
class PersistedSimulationSnapshotCandidate(TypedDict, total=False):
version: object
topology_spec: object
speed: object
running: object
generation: object
rule: object
cells_by_id: object
type PersistedSimulationSnapshotInput = (
PersistedSimulationSnapshotV5 | PersistedSimulationSnapshotCandidate
)
class ServerMetaPayload(TypedDict):
app_name: str
class CellStatePayload(TypedDict):
value: int
label: str
color: str
paintable: bool
class RuleDefinitionPayload(TypedDict):
name: str
display_name: str
description: str
states: list[CellStatePayload]
default_paint_state: int
supports_randomize: bool
rule_protocol: str
supports_all_topologies: bool
compatible_tiling_families: list[str] | None
class RulesResponsePayload(TypedDict):
rules: list[RuleDefinitionPayload]
class PointPayload(TypedDict):
x: float
y: float
class TopologyCellPayload(TypedDict):
id: str
kind: str
neighbors: list[str | None]
slot: NotRequired[str]
center: NotRequired[PointPayload]
vertices: NotRequired[list[PointPayload]]
tile_family: NotRequired[str]
orientation_token: NotRequired[str]
chirality_token: NotRequired[str]
decoration_tokens: NotRequired[list[str]]
class TopologyPayload(TypedDict):
topology_spec: TopologySpecPayload
topology_revision: str
cells: list[TopologyCellPayload]
class SimulationStatePayload(TypedDict):
topology_spec: TopologySpecPayload
speed: float
running: bool
generation: int
state_revision: int
state_epoch: int
rule: RuleDefinitionPayload
topology_revision: str
cell_states: list[int]
topology: TopologyPayload
class ApiErrorPayload(TypedDict):
error: str
code: NotRequired[str]
limit: NotRequired[int]
estimated_cells: NotRequired[int]
actual_cells: NotRequired[int]
class PeriodicFaceTilingDescriptorPayload(TypedDict):
geometry: str
label: str
metric_model: str
base_edge: float
unit_width: float
unit_height: float
min_dimension: int
min_x: float
min_y: float
max_x: float
max_y: float
cell_count_per_unit: int
row_offset_x: float
lattice_skew_x: NotRequired[float]
class SimulationDefaultsPayload(TypedDict):
topology_spec: TopologySpecPayload
speed: float
rule: str
min_grid_size: int
max_grid_size: int
min_patch_depth: int
max_patch_depth: int
min_speed: float
max_speed: float
class UiDefaultsPayload(TypedDict):
cell_size: int
min_cell_size: int
max_cell_size: int
storage_key: str
class ThemeDefaultsPayload(TypedDict):
default: str
storage_key: str
class AppDefaultsPayload(TypedDict):
simulation: SimulationDefaultsPayload
ui: UiDefaultsPayload
theme: ThemeDefaultsPayload
class AperiodicFamilyBootstrapPayload(TypedDict):
tiling_family: str
label: str
experimental: bool
implementation_status: str
promotion_blocker: str | None
public_cell_kinds: list[str]
class AppBootstrapPayload(TypedDict):
app_defaults: AppDefaultsPayload
topology_catalog: list[TopologyCatalogEntryPayload]
periodic_face_tilings: list[PeriodicFaceTilingDescriptorPayload]
aperiodic_families: list[AperiodicFamilyBootstrapPayload]
server_meta: ServerMetaPayload
snapshot_version: int
class PatternPayload(TypedDict):
format: str
version: int
topology_spec: TopologySpecPayload
rule: str
cells_by_id: SparseCellsByIdPayload
class ResetControlRequestPayload(TypedDict):
topology_spec: ResetTopologySpecPayload
speed: float
rule: str | None
randomize: bool
class CellTargetPayload(TypedDict):
id: str
class CellUpdatePayload(CellTargetPayload):
state: int
type CellUpdatesPayload = list[CellUpdatePayload]
class CellMutationDeltaPayload(TypedDict):
base_state_revision: int
state_revision: int
state_epoch: int
topology_revision: str
generation: int
cell_updates: CellUpdatesPayload
class CellUpdatesRequestPayload(TypedDict):
cells: CellUpdatesPayload