From
bafyreiemljn2pvhf7sk4bzgwjmkchfk5u72meiwfcdun3ijp4igmrdsuli
indexed 2026-08-02 22:22 UTC
View this version
To
bafyreihjx3jjg6hn7r5jh4fdri55oip2ighkbz5ynljqey3vcl6wj2g4xa
indexed 2026-10-22 06:00 UTC
View this version
Compatibility
breaking 1 breaking change, 0 non-breaking changes.
Breaking changes (1)
- ConstraintTightened ConstraintTightened { vertex_id: "app.racethesky.run:body.trackId", sort: "knownValues", old_value: "[\"nebula-weave\",\"solar-loop\",\"quasar-gp\",\"photon-oval\",\"aurora-run\",\"eclipse\",\"baja\"]", new_value: "[\"nebula-weave\",\"solar-loop\",\"quasar-gp\",\"photon-oval\",\"aurora-run\",\"eclipse\",\"baja\",\"comet-rail\",\"pulsar-switchback\",\"gravity-well\",\"umbra-crossing\",\"odyssey\"]" }
Migration guidance
Constraint changes
- ConstraintTightened ConstraintTightened { vertex_id: "app.racethesky.run:body.trackId", sort: "knownValues", old_value: "[\"nebula-weave\",\"solar-loop\",\"quasar-gp\",\"photon-oval\",\"aurora-run\",\"eclipse\",\"baja\"]", new_value: "[\"nebula-weave\",\"solar-loop\",\"quasar-gp\",\"photon-oval\",\"aurora-run\",\"eclipse\",\"baja\",\"comet-rail\",\"pulsar-switchback\",\"gravity-well\",\"umbra-crossing\",\"odyssey\"]" }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "A single Race the Sky time-trial run, published by the player into their own repo. The record stores the raw input log rather than a result: the game's physics are deterministic, so re-simulating the log reproduces the run exactly. Owning the record is the identity proof, and replaying it is the time proof — the claimed time in this record is advisory and is never trusted by a leaderboard.",66
"key": "tid",77
"record": {88
"properties": {99
"bestMs": {1010
"description": "The client's own best-lap figure in milliseconds, for display before a run is verified. Advisory only — the authoritative time is whatever replaying `events` produces.",1111
"minimum": 0,1212
"type": "integer"1313
},1414
"createdAt": {1515
"description": "Client-reported time the run was set.",1616
"format": "datetime",1717
"type": "string"1818
},1919
"events": {2020
"description": "The whole run, as the only input the game takes: when the tether was held. Comma-separated `<delta><d|u>` pairs, where delta is ticks since the previous event at a fixed 120 Hz step, `d` is press and `u` is release. Example: `43d,17u,29d`.",2121
"maxLength": 20000,2222
"type": "string"2323
},2424
"laps": {2525
"description": "Laps the session ran. Session length is a player preference, not a fairness variable — circuits rank best single lap — but the replay must run the same number of laps to reproduce it.",2626
"maximum": 9,2727
"minimum": 1,2828
"type": "integer"2929
},3030
"simVersion": {3131
"description": "Which physics produced this log. A verifier must replay under the matching version or refuse the run — replaying under different physics yields a plausible wrong time rather than an error.",3232
"minimum": 1,3333
"type": "integer"3434
},3535
"style": {3636
"description": "Opaque encoding of the player's ship livery, so a replayed ghost looks like the ship that set the time.",3737
"maxLength": 64,3838
"type": "string"3939
},4040
"track": {4141
"description": "DEPRECATED. The course's index in the client's built-in roster, which is a display-order detail and may change. Present only so a client and server deployed minutes apart still agree. Readers must prefer trackId and ignore this whenever trackId is present.",4242
"minimum": 0,4343
"type": "integer"4444
},4545
"trackId": {46
"description": "Permanent identity of the course raced. Append-only: ids are never reordered, renamed, or reused.",46
"description": "Permanent identity of the course raced. An id is never renamed, reused, or pointed at different geometry; a retired course keeps its id (solar-loop, quasar-gp, photon-oval, aurora-run and eclipse retired in October 2026) and its runs simply stop ranking.",4747
"knownValues": [4848
"nebula-weave",4949
"solar-loop",5050
"quasar-gp",5151
"photon-oval",5252
"aurora-run",5353
"eclipse",54
"baja"54
"baja",55
"comet-rail",56
"pulsar-switchback",57
"gravity-well",58
"umbra-crossing",59
"odyssey"5560
],5661
"maxLength": 64,5762
"type": "string"5863
},5964
"weather": {6065
"description": "Conditions the run was set under. Non-clear conditions change the physics and are ranked separately from clear times.",6166
"knownValues": [6267
"clear",6368
"rain",6469
"fog",6570
"night"6671
],6772
"type": "string"6873
}6974
},7075
"required": [7176
"trackId",7277
"simVersion",7378
"events",7479
"createdAt"7580
],7681
"type": "object"7782
},7883
"type": "record"7984
}8085
},8186
"id": "app.racethesky.run",8287
"lexicon": 18388
}