full diff

app.racethesky.run

racethesky.app +7 −2
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": 1
8388}

Compare other versions