me.byjp.pesos.sts2.run
Schema Diff
+14 -15
Compatibility Analysis
Breaking Changes Detected
9 breaking changes, 9 non-breaking changes.
Breaking Changes (9)
- RemovedVertex RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.createdAt" }
- RemovedVertex RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct" }
- RemovedVertex RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.finalFloor" }
- RemovedEdge RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.createdAt", kind: "prop", name: Some("createdAt") }
- RemovedEdge RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.finalAct", kind: "prop", name: Some("finalAct") }
- RemovedEdge RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.finalFloor", kind: "prop", name: Some("finalFloor") }
- ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.act", sort: "maximum", value: "4" }
- ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.act", sort: "minimum", value: "1" }
- ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.floor", sort: "minimum", value: "0" }
Non-Breaking Changes (9)
- AddedVertex AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.act" }
- AddedVertex AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.floor" }
- AddedVertex AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.updatedAt" }
- AddedEdge AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.act", kind: "prop", name: Some("act") }
- AddedEdge AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.floor", kind: "prop", name: Some("floor") }
- AddedEdge AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.updatedAt", kind: "prop", name: Some("updatedAt") }
- ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct", sort: "maximum" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct", sort: "minimum" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalFloor", sort: "minimum" }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.createdAt" }RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct" }RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.finalFloor" }
Added Elements
AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.act" }AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.floor" }AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.updatedAt" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.act", sort: "maximum", value: "4" }
- ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.act", sort: "minimum", value: "1" }
- ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.floor", sort: "minimum", value: "0" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct", sort: "maximum" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct", sort: "minimum" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalFloor", sort: "minimum" }
Additional Notes
- Breaking: RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.createdAt", kind: "prop", name: Some("createdAt") }
- Breaking: RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.finalAct", kind: "prop", name: Some("finalAct") }
- Breaking: RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.finalFloor", kind: "prop", name: Some("finalFloor") }
- Non-breaking: AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.act", kind: "prop", name: Some("act") }
- Non-breaking: AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.floor", kind: "prop", name: Some("floor") }
- Non-breaking: AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.updatedAt", kind: "prop", name: Some("updatedAt") }
1
1
{
2
2
"id": "me.byjp.pesos.sts2.run",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"outcome",
11
11
"character",
12
12
"ascension",
13
13
"seed",
14
-
"finalFloor",
15
14
"startedAt",
16
-
"endedAt",
17
-
"createdAt"
15
+
"updatedAt"
18
16
],
19
17
"properties": {
18
+
"act": {
19
+
"type": "integer",
20
+
"maximum": 4,
21
+
"minimum": 1
22
+
},
20
23
"deck": {
21
24
"type": "array",
22
25
"items": {
23
26
"type": "string"
24
27
},
25
28
"description": "Card ids in the final deck."
26
29
},
27
30
"game": {
28
31
"type": "string",
29
32
"format": "at-uri",
30
33
"description": "Optional at-uri of the canonical games.gamesgamesgamesgames.actor.game record for StS2."
31
34
},
32
35
"seed": {
33
36
"type": "string",
34
37
"description": "Run seed as displayed in-game."
35
38
},
39
+
"floor": {
40
+
"type": "integer",
41
+
"minimum": 0
42
+
},
36
43
"score": {
37
44
"type": "integer",
38
45
"minimum": 0
39
46
},
40
47
"relics": {
41
48
"type": "array",
42
49
"items": {
43
50
"type": "string"
44
51
},
45
52
"description": "Relic ids held at run end."
46
53
},
47
54
"endedAt": {
48
55
"type": "string",
49
56
"format": "datetime"
50
57
},
51
58
"outcome": {
52
59
"type": "string",
53
60
"description": "How the run ended.",
54
61
"knownValues": [
62
+
"in_progress",
55
63
"victory",
56
64
"death",
57
65
"abandoned"
58
66
]
59
67
},
60
-
"finalAct": {
61
-
"type": "integer",
62
-
"maximum": 4,
63
-
"minimum": 1
64
-
},
65
68
"killedBy": {
66
69
"type": "string",
67
70
"description": "Enemy / event that ended the run, if applicable."
68
71
},
69
72
"statsRef": {
70
73
"type": "string",
71
74
"format": "at-uri",
72
75
"description": "at-uri of the user's games.gamesgamesgamesgames.actor.stats record for StS2, updated alongside this run."
73
76
},
74
77
"ascension": {
75
78
"type": "integer",
76
79
"maximum": 20,
77
80
"minimum": 0
78
81
},
79
82
"character": {
80
83
"type": "string",
81
84
"description": "Character class id (e.g. 'ironclad', 'silent')."
82
85
},
83
-
"createdAt": {
86
+
"startedAt": {
84
87
"type": "string",
85
88
"format": "datetime"
86
89
},
87
-
"startedAt": {
90
+
"updatedAt": {
88
91
"type": "string",
89
92
"format": "datetime"
90
93
},
91
-
"finalFloor": {
92
-
"type": "integer",
93
-
"minimum": 0
94
-
},
95
94
"modVersion": {
96
95
"type": "string"
97
96
},
98
97
"gameVersion": {
99
98
"type": "string"
100
99
},
101
100
"durationSeconds": {
102
101
"type": "integer",
103
102
"minimum": 0
104
103
}
105
104
}
106
105
},
107
-
"description": "A single completed Slay the Spire 2 run."
106
+
"description": "A single Slay the Spire 2 run."
108
107
}
109
108
},
110
109
"$type": "com.atproto.lexicon.schema",
111
110
"lexicon": 1
112
111
}