A hole built in the Golf the Sky designer, living in the repo of whoever built it. The geometry is a list of parts from the game's parts library (blocks, slopes, hills, free shapes, rings, ponds, greens — some of them moving) with a tee and a cup, carried as encoded JSON because the coordinates are fractional. Anyone can play it from a link; the record is where it lives.
tid
Timestamp-based ID
Properties
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
def
string
Required
The level as JSON: { id, name, par, tee: [x, y], cup: [x, y], parts: [{ t, x, y, w, h, k?, f?, pts?, g?, n?, th?, m? }], frame?: { x0, x1, top } }. t is block | slope | hill | poly | ring | pond | green; x, y the bottom-left on a quarter-unit grid; w, h the size; k a surface (fairway | green | sand | ice | sticky); f = 1 flips a slope; pts is a poly's outline relative to x, y as a flat list; g, n, th a ring's gap in degrees, gap count and band thickness; m is motion: { t: spin, v (rpm), ph?, px?, py? } | { t: slide, dx, dy, s (seconds), ph? } | { t: belt, v (units/s) }; frame places the walls and ceiling by hand.
maxLength: 20000 bytesname
string
Required
What the designer called it.
maxLength: 40 bytespar
integer
Optional
No description available.
minimum: 1maximum: 9View raw schema
{
"description": "A hole built in the Golf the Sky designer, living in the repo of whoever built it. The geometry is a list of parts from the game's parts library (blocks, slopes, hills, free shapes, rings, ponds, greens — some of them moving) with a tee and a cup, carried as encoded JSON because the coordinates are fractional. Anyone can play it from a link; the record is where it lives.",
"key": "tid",
"record": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"def": {
"description": "The level as JSON: { id, name, par, tee: [x, y], cup: [x, y], parts: [{ t, x, y, w, h, k?, f?, pts?, g?, n?, th?, m? }], frame?: { x0, x1, top } }. t is block | slope | hill | poly | ring | pond | green; x, y the bottom-left on a quarter-unit grid; w, h the size; k a surface (fairway | green | sand | ice | sticky); f = 1 flips a slope; pts is a poly's outline relative to x, y as a flat list; g, n, th a ring's gap in degrees, gap count and band thickness; m is motion: { t: spin, v (rpm), ph?, px?, py? } | { t: slide, dx, dy, s (seconds), ph? } | { t: belt, v (units/s) }; frame places the walls and ceiling by hand.",
"maxLength": 20000,
"type": "string"
},
"name": {
"description": "What the designer called it.",
"maxLength": 40,
"type": "string"
},
"par": {
"maximum": 9,
"minimum": 1,
"type": "integer"
}
},
"required": [
"name",
"def",
"createdAt"
],
"type": "object"
},
"type": "record"
}