app.golfthesky.course

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.

Repository @golfthesky.app did:plc:4ukvmcc7pscat4djemk4ckfl namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authoritygolfthesky.app
Indexed
cid bafyreidjdaagtmm23ep52zmtgvjzothacbdfz47dg27thsck2ykricv5aa

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "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"
    }
  },
  "id": "app.golfthesky.course",
  "lexicon": 1
}