A racing course built in the Race the Sky editor, published by its designer into their own repo. The course belongs to whoever drew it: it outlives any gallery, contest, or leaderboard that happens to index it, and can be played from this record alone.
tid
Timestamp-based ID
Properties
createdAt
string
datetime
Required
Client-reported time the course was published.
def
string
Required
The course itself: a JSON-encoded CourseDef object holding the control-point geometry, wall width, satellite placement, boost strips, bridges and lap count. Carried as an encoded string rather than structured fields because the geometry is fractional and Lexicon has no float type — rounding it would silently alter how the course races. The format is documented at https://github.com/twilightscapes/racethesky/blob/main/docs/TECHNICAL.md and is the same object the game's editor exports and imports through the clipboard.
maxLength: 20000 byteskind
string
Optional
Course family. A circuit is a closed lap; baja is a one-run side-scrolling dune course. Absent means circuit.
circuit, bajalaps
integer
Optional
Laps a full run of this course takes. Mirrors the value inside def, surfaced here so an indexer needn't parse the geometry.
minimum: 1maximum: 9name
string
Required
The designer's name for the course, as it appears in-game.
maxLength: 64 bytesnight
boolean
Optional
Whether the course races after dark. Mirrors the value inside def.
View raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"name",
"def",
"createdAt"
],
"properties": {
"def": {
"type": "string",
"maxLength": 20000,
"description": "The course itself: a JSON-encoded CourseDef object holding the control-point geometry, wall width, satellite placement, boost strips, bridges and lap count. Carried as an encoded string rather than structured fields because the geometry is fractional and Lexicon has no float type — rounding it would silently alter how the course races. The format is documented at https://github.com/twilightscapes/racethesky/blob/main/docs/TECHNICAL.md and is the same object the game's editor exports and imports through the clipboard."
},
"kind": {
"type": "string",
"description": "Course family. A circuit is a closed lap; baja is a one-run side-scrolling dune course. Absent means circuit.",
"knownValues": [
"circuit",
"baja"
]
},
"laps": {
"type": "integer",
"maximum": 9,
"minimum": 1,
"description": "Laps a full run of this course takes. Mirrors the value inside def, surfaced here so an indexer needn't parse the geometry."
},
"name": {
"type": "string",
"maxLength": 64,
"description": "The designer's name for the course, as it appears in-game."
},
"night": {
"type": "boolean",
"description": "Whether the course races after dark. Mirrors the value inside def."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-reported time the course was published."
}
}
},
"description": "A racing course built in the Race the Sky editor, published by its designer into their own repo. The course belongs to whoever drew it: it outlives any gallery, contest, or leaderboard that happens to index it, and can be played from this record alone."
}