@bitmagic/world-forger 0.1.3 → 0.1.5

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 (37) hide show
  1. package/dist/artifact-types.d.ts +27 -0
  2. package/dist/artifact-types.d.ts.map +1 -1
  3. package/dist/generated/game-data-schema.d.ts +152 -1
  4. package/dist/generated/game-data-schema.d.ts.map +1 -1
  5. package/dist/generated/game-data-schema.js +184 -1
  6. package/dist/generated/game-data-schema.js.map +1 -1
  7. package/dist/pipeline/create-level-archetypes.d.ts.map +1 -1
  8. package/dist/pipeline/create-level-archetypes.js +30 -2
  9. package/dist/pipeline/create-level-archetypes.js.map +1 -1
  10. package/dist/pipeline/deps.d.ts +17 -0
  11. package/dist/pipeline/deps.d.ts.map +1 -1
  12. package/dist/pipeline/forge-map-render.d.ts +40 -0
  13. package/dist/pipeline/forge-map-render.d.ts.map +1 -0
  14. package/dist/pipeline/forge-map-render.js +109 -0
  15. package/dist/pipeline/forge-map-render.js.map +1 -0
  16. package/dist/pipeline/index.d.ts +3 -0
  17. package/dist/pipeline/index.d.ts.map +1 -1
  18. package/dist/pipeline/index.js +3 -0
  19. package/dist/pipeline/index.js.map +1 -1
  20. package/dist/pipeline/layout-map.d.ts +109 -0
  21. package/dist/pipeline/layout-map.d.ts.map +1 -0
  22. package/dist/pipeline/layout-map.js +175 -0
  23. package/dist/pipeline/layout-map.js.map +1 -0
  24. package/dist/pipeline/place-and-persist-level.d.ts.map +1 -1
  25. package/dist/pipeline/place-and-persist-level.js +25 -0
  26. package/dist/pipeline/place-and-persist-level.js.map +1 -1
  27. package/dist/pipeline/progress-types.d.ts +116 -0
  28. package/dist/pipeline/progress-types.d.ts.map +1 -0
  29. package/dist/pipeline/progress-types.js +67 -0
  30. package/dist/pipeline/progress-types.js.map +1 -0
  31. package/dist/pipeline/transport-types.d.ts +13 -0
  32. package/dist/pipeline/transport-types.d.ts.map +1 -1
  33. package/dist/pipeline/voxelize-level.d.ts +21 -0
  34. package/dist/pipeline/voxelize-level.d.ts.map +1 -1
  35. package/dist/pipeline/voxelize-level.js +84 -2
  36. package/dist/pipeline/voxelize-level.js.map +1 -1
  37. package/package.json +1 -1
@@ -194,6 +194,33 @@ export interface LevelVoxelizeOptions {
194
194
  * only producer today.
195
195
  */
196
196
  emissiveByColor?: Record<string, number>;
197
+ /**
198
+ * Trim the bake to a corridor around the level's designed path — the same
199
+ * polyline `ResolvedPathFeature` carries. `distanceM` is the horizontal keep
200
+ * radius from the centerline; `mode: 'outside'` keeps everything a closed
201
+ * circuit encloses and trims only beyond the loop.
202
+ *
203
+ * A re-bake concern, not a forge one: the forger sizes the level to what it
204
+ * designed, while this exists to claw back a plate of scenery a finished
205
+ * level never visits. Set by the Creator's re-voxelize dialog.
206
+ */
207
+ pathCull?: {
208
+ points: Array<{
209
+ x: number;
210
+ y?: number;
211
+ z: number;
212
+ }>;
213
+ closed: boolean;
214
+ distanceM: number;
215
+ mode: 'both' | 'outside';
216
+ /** Level size the `points` were authored at; omit when they match this bake. */
217
+ pointSpace?: {
218
+ levelSizeX: number;
219
+ levelSizeZ: number;
220
+ levelSizeY?: number;
221
+ chunkSize: number;
222
+ };
223
+ };
197
224
  }
198
225
  export type DoorAnimation = 'hinge' | 'slide' | 'dissolve';
199
226
  export interface DungeonLightConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-types.d.ts","sourceRoot":"","sources":["../src/artifact-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-types.d.ts","sourceRoot":"","sources":["../src/artifact-types.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,9 @@ export declare const gameDataSchema: {
68
68
  readonly descriptionOverride: {
69
69
  readonly type: "string";
70
70
  };
71
+ readonly faviconUrlOverride: {
72
+ readonly type: "string";
73
+ };
71
74
  readonly heightmapUrl: {
72
75
  readonly type: "string";
73
76
  };
@@ -109,7 +112,7 @@ export declare const gameDataSchema: {
109
112
  readonly properties: {
110
113
  readonly mode: {
111
114
  readonly type: "string";
112
- readonly const: "ski";
115
+ readonly enum: readonly ["ski", "boat"];
113
116
  };
114
117
  readonly ski: {
115
118
  readonly type: "object";
@@ -117,6 +120,12 @@ export declare const gameDataSchema: {
117
120
  readonly type: readonly ["number", "boolean"];
118
121
  };
119
122
  };
123
+ readonly boat: {
124
+ readonly type: "object";
125
+ readonly additionalProperties: {
126
+ readonly type: readonly ["number", "boolean"];
127
+ };
128
+ };
120
129
  };
121
130
  readonly required: readonly ["mode"];
122
131
  };
@@ -346,6 +355,9 @@ export declare const gameDataSchema: {
346
355
  readonly waterLevelY: {
347
356
  readonly type: "number";
348
357
  };
358
+ readonly openWater: {
359
+ readonly $ref: "#/definitions/OpenWaterConfig";
360
+ };
349
361
  readonly hud: {
350
362
  readonly type: "object";
351
363
  readonly properties: {
@@ -376,6 +388,16 @@ export declare const gameDataSchema: {
376
388
  readonly type: "string";
377
389
  readonly enum: readonly ["center", "start", "end"];
378
390
  };
391
+ readonly selections: {
392
+ readonly type: "array";
393
+ readonly items: {
394
+ readonly $ref: "#/definitions/StartScreenSelection";
395
+ };
396
+ };
397
+ readonly imageSource: {
398
+ readonly type: "string";
399
+ readonly enum: readonly ["template", "generated", "uploaded"];
400
+ };
379
401
  };
380
402
  };
381
403
  };
@@ -1057,6 +1079,79 @@ export declare const gameDataSchema: {
1057
1079
  };
1058
1080
  };
1059
1081
  };
1082
+ readonly OpenWaterConfig: {
1083
+ readonly type: "object";
1084
+ readonly properties: {
1085
+ readonly seaLevelY: {
1086
+ readonly type: "number";
1087
+ };
1088
+ readonly preset: {
1089
+ readonly type: "string";
1090
+ readonly enum: readonly ["calm", "ocean", "storm"];
1091
+ };
1092
+ readonly amplitudeScale: {
1093
+ readonly type: "number";
1094
+ };
1095
+ readonly windDirectionDeg: {
1096
+ readonly type: "number";
1097
+ };
1098
+ readonly sky: {
1099
+ readonly type: "boolean";
1100
+ };
1101
+ readonly skyHorizon: {
1102
+ readonly type: "number";
1103
+ };
1104
+ readonly skyZenith: {
1105
+ readonly type: "number";
1106
+ };
1107
+ readonly palette: {
1108
+ readonly type: "object";
1109
+ readonly additionalProperties: {
1110
+ readonly type: "number";
1111
+ };
1112
+ };
1113
+ };
1114
+ };
1115
+ readonly StartScreenSelection: {
1116
+ readonly type: "object";
1117
+ readonly properties: {
1118
+ readonly id: {
1119
+ readonly type: "string";
1120
+ };
1121
+ readonly type: {
1122
+ readonly type: "string";
1123
+ readonly enum: readonly ["level", "choice"];
1124
+ };
1125
+ readonly title: {
1126
+ readonly type: "string";
1127
+ };
1128
+ readonly levelIds: {
1129
+ readonly type: "array";
1130
+ readonly items: {
1131
+ readonly type: "string";
1132
+ };
1133
+ };
1134
+ readonly options: {
1135
+ readonly type: "array";
1136
+ readonly items: {
1137
+ readonly type: "object";
1138
+ readonly properties: {
1139
+ readonly id: {
1140
+ readonly type: "string";
1141
+ };
1142
+ readonly label: {
1143
+ readonly type: "string";
1144
+ };
1145
+ readonly imageUrl: {
1146
+ readonly type: "string";
1147
+ };
1148
+ };
1149
+ readonly required: readonly ["id", "label"];
1150
+ };
1151
+ };
1152
+ };
1153
+ readonly required: readonly ["id", "type"];
1154
+ };
1060
1155
  readonly CharacterConfig: {
1061
1156
  readonly type: "object";
1062
1157
  readonly properties: {
@@ -1227,6 +1322,27 @@ export declare const gameDataSchema: {
1227
1322
  readonly size: {
1228
1323
  readonly type: "number";
1229
1324
  };
1325
+ readonly lodVariants: {
1326
+ readonly type: "array";
1327
+ readonly items: {
1328
+ readonly type: "object";
1329
+ readonly properties: {
1330
+ readonly drop: {
1331
+ readonly type: "number";
1332
+ };
1333
+ readonly url: {
1334
+ readonly type: "string";
1335
+ };
1336
+ readonly size: {
1337
+ readonly type: "number";
1338
+ };
1339
+ readonly rawSize: {
1340
+ readonly type: "number";
1341
+ };
1342
+ };
1343
+ readonly required: readonly ["drop", "url"];
1344
+ };
1345
+ };
1230
1346
  readonly voxelSize: {
1231
1347
  readonly type: "number";
1232
1348
  };
@@ -1333,6 +1449,9 @@ export declare const gameDataSchema: {
1333
1449
  readonly voxelEdited: {
1334
1450
  readonly type: "boolean";
1335
1451
  };
1452
+ readonly production: {
1453
+ readonly $ref: "#/definitions/AssetProduction";
1454
+ };
1336
1455
  readonly vxlUrl: {
1337
1456
  readonly type: "string";
1338
1457
  };
@@ -1386,6 +1505,9 @@ export declare const gameDataSchema: {
1386
1505
  readonly prompt: {
1387
1506
  readonly type: "string";
1388
1507
  };
1508
+ readonly designSpeed: {
1509
+ readonly type: "number";
1510
+ };
1389
1511
  readonly cropBounds: {
1390
1512
  readonly type: "object";
1391
1513
  readonly properties: {
@@ -1460,6 +1582,35 @@ export declare const gameDataSchema: {
1460
1582
  };
1461
1583
  };
1462
1584
  };
1585
+ readonly AssetProduction: {
1586
+ readonly type: "object";
1587
+ readonly properties: {
1588
+ readonly method: {
1589
+ readonly $ref: "#/definitions/AssetProductionMethod";
1590
+ };
1591
+ readonly at: {
1592
+ readonly type: "string";
1593
+ };
1594
+ readonly spec: {
1595
+ readonly type: "object";
1596
+ readonly additionalProperties: {};
1597
+ };
1598
+ readonly prompt: {
1599
+ readonly type: "string";
1600
+ };
1601
+ readonly sourceUrl: {
1602
+ readonly type: "string";
1603
+ };
1604
+ readonly sourceName: {
1605
+ readonly type: "string";
1606
+ };
1607
+ };
1608
+ readonly required: readonly ["method"];
1609
+ };
1610
+ readonly AssetProductionMethod: {
1611
+ readonly type: "string";
1612
+ readonly enum: readonly ["procedural", "generated", "uploaded"];
1613
+ };
1463
1614
  readonly VehicleAssetFitment: {
1464
1615
  readonly type: "object";
1465
1616
  readonly properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"game-data-schema.d.ts","sourceRoot":"","sources":["../../src/generated/game-data-schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAg3DjB,CAAC"}
1
+ {"version":3,"file":"game-data-schema.d.ts","sourceRoot":"","sources":["../../src/generated/game-data-schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuiEjB,CAAC"}
@@ -76,6 +76,9 @@ export const gameDataSchema = {
76
76
  "descriptionOverride": {
77
77
  "type": "string"
78
78
  },
79
+ "faviconUrlOverride": {
80
+ "type": "string"
81
+ },
79
82
  "heightmapUrl": {
80
83
  "type": "string"
81
84
  },
@@ -117,7 +120,10 @@ export const gameDataSchema = {
117
120
  "properties": {
118
121
  "mode": {
119
122
  "type": "string",
120
- "const": "ski"
123
+ "enum": [
124
+ "ski",
125
+ "boat"
126
+ ]
121
127
  },
122
128
  "ski": {
123
129
  "type": "object",
@@ -127,6 +133,15 @@ export const gameDataSchema = {
127
133
  "boolean"
128
134
  ]
129
135
  }
136
+ },
137
+ "boat": {
138
+ "type": "object",
139
+ "additionalProperties": {
140
+ "type": [
141
+ "number",
142
+ "boolean"
143
+ ]
144
+ }
130
145
  }
131
146
  },
132
147
  "required": [
@@ -382,6 +397,9 @@ export const gameDataSchema = {
382
397
  "waterLevelY": {
383
398
  "type": "number"
384
399
  },
400
+ "openWater": {
401
+ "$ref": "#/definitions/OpenWaterConfig"
402
+ },
385
403
  "hud": {
386
404
  "type": "object",
387
405
  "properties": {
@@ -418,6 +436,20 @@ export const gameDataSchema = {
418
436
  "start",
419
437
  "end"
420
438
  ]
439
+ },
440
+ "selections": {
441
+ "type": "array",
442
+ "items": {
443
+ "$ref": "#/definitions/StartScreenSelection"
444
+ }
445
+ },
446
+ "imageSource": {
447
+ "type": "string",
448
+ "enum": [
449
+ "template",
450
+ "generated",
451
+ "uploaded"
452
+ ]
421
453
  }
422
454
  }
423
455
  }
@@ -1211,6 +1243,92 @@ export const gameDataSchema = {
1211
1243
  }
1212
1244
  }
1213
1245
  },
1246
+ "OpenWaterConfig": {
1247
+ "type": "object",
1248
+ "properties": {
1249
+ "seaLevelY": {
1250
+ "type": "number"
1251
+ },
1252
+ "preset": {
1253
+ "type": "string",
1254
+ "enum": [
1255
+ "calm",
1256
+ "ocean",
1257
+ "storm"
1258
+ ]
1259
+ },
1260
+ "amplitudeScale": {
1261
+ "type": "number"
1262
+ },
1263
+ "windDirectionDeg": {
1264
+ "type": "number"
1265
+ },
1266
+ "sky": {
1267
+ "type": "boolean"
1268
+ },
1269
+ "skyHorizon": {
1270
+ "type": "number"
1271
+ },
1272
+ "skyZenith": {
1273
+ "type": "number"
1274
+ },
1275
+ "palette": {
1276
+ "type": "object",
1277
+ "additionalProperties": {
1278
+ "type": "number"
1279
+ }
1280
+ }
1281
+ }
1282
+ },
1283
+ "StartScreenSelection": {
1284
+ "type": "object",
1285
+ "properties": {
1286
+ "id": {
1287
+ "type": "string"
1288
+ },
1289
+ "type": {
1290
+ "type": "string",
1291
+ "enum": [
1292
+ "level",
1293
+ "choice"
1294
+ ]
1295
+ },
1296
+ "title": {
1297
+ "type": "string"
1298
+ },
1299
+ "levelIds": {
1300
+ "type": "array",
1301
+ "items": {
1302
+ "type": "string"
1303
+ }
1304
+ },
1305
+ "options": {
1306
+ "type": "array",
1307
+ "items": {
1308
+ "type": "object",
1309
+ "properties": {
1310
+ "id": {
1311
+ "type": "string"
1312
+ },
1313
+ "label": {
1314
+ "type": "string"
1315
+ },
1316
+ "imageUrl": {
1317
+ "type": "string"
1318
+ }
1319
+ },
1320
+ "required": [
1321
+ "id",
1322
+ "label"
1323
+ ]
1324
+ }
1325
+ }
1326
+ },
1327
+ "required": [
1328
+ "id",
1329
+ "type"
1330
+ ]
1331
+ },
1214
1332
  "CharacterConfig": {
1215
1333
  "type": "object",
1216
1334
  "properties": {
@@ -1408,6 +1526,30 @@ export const gameDataSchema = {
1408
1526
  "size": {
1409
1527
  "type": "number"
1410
1528
  },
1529
+ "lodVariants": {
1530
+ "type": "array",
1531
+ "items": {
1532
+ "type": "object",
1533
+ "properties": {
1534
+ "drop": {
1535
+ "type": "number"
1536
+ },
1537
+ "url": {
1538
+ "type": "string"
1539
+ },
1540
+ "size": {
1541
+ "type": "number"
1542
+ },
1543
+ "rawSize": {
1544
+ "type": "number"
1545
+ }
1546
+ },
1547
+ "required": [
1548
+ "drop",
1549
+ "url"
1550
+ ]
1551
+ }
1552
+ },
1411
1553
  "voxelSize": {
1412
1554
  "type": "number"
1413
1555
  },
@@ -1531,6 +1673,9 @@ export const gameDataSchema = {
1531
1673
  "voxelEdited": {
1532
1674
  "type": "boolean"
1533
1675
  },
1676
+ "production": {
1677
+ "$ref": "#/definitions/AssetProduction"
1678
+ },
1534
1679
  "vxlUrl": {
1535
1680
  "type": "string"
1536
1681
  },
@@ -1594,6 +1739,9 @@ export const gameDataSchema = {
1594
1739
  "prompt": {
1595
1740
  "type": "string"
1596
1741
  },
1742
+ "designSpeed": {
1743
+ "type": "number"
1744
+ },
1597
1745
  "cropBounds": {
1598
1746
  "type": "object",
1599
1747
  "properties": {
@@ -1687,6 +1835,41 @@ export const gameDataSchema = {
1687
1835
  }
1688
1836
  }
1689
1837
  },
1838
+ "AssetProduction": {
1839
+ "type": "object",
1840
+ "properties": {
1841
+ "method": {
1842
+ "$ref": "#/definitions/AssetProductionMethod"
1843
+ },
1844
+ "at": {
1845
+ "type": "string"
1846
+ },
1847
+ "spec": {
1848
+ "type": "object",
1849
+ "additionalProperties": {}
1850
+ },
1851
+ "prompt": {
1852
+ "type": "string"
1853
+ },
1854
+ "sourceUrl": {
1855
+ "type": "string"
1856
+ },
1857
+ "sourceName": {
1858
+ "type": "string"
1859
+ }
1860
+ },
1861
+ "required": [
1862
+ "method"
1863
+ ]
1864
+ },
1865
+ "AssetProductionMethod": {
1866
+ "type": "string",
1867
+ "enum": [
1868
+ "procedural",
1869
+ "generated",
1870
+ "uploaded"
1871
+ ]
1872
+ },
1690
1873
  "VehicleAssetFitment": {
1691
1874
  "type": "object",
1692
1875
  "properties": {