com.gamethesky.hatsoff.run

gamethesky.com

Schema Diff

+9 -0

From

CID
bafyreif5y2ccojf...
Indexed At
2026-10-11 03:49 UTC
View this version

To

CID
bafyreid4au2wiyo...
Indexed At
2026-10-11 04:07 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "com.gamethesky.hatsoff.run:body.dawn" }
  • AddedVertex AddedVertex { vertex_id: "com.gamethesky.hatsoff.run:body.stage" }
  • AddedEdge AddedEdge { src: "com.gamethesky.hatsoff.run:body", tgt: "com.gamethesky.hatsoff.run:body.dawn", kind: "prop", name: Some("dawn") }
  • AddedEdge AddedEdge { src: "com.gamethesky.hatsoff.run:body", tgt: "com.gamethesky.hatsoff.run:body.stage", kind: "prop", name: Some("stage") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.gamethesky.hatsoff.run:body.dawn" }
  • AddedVertex { vertex_id: "com.gamethesky.hatsoff.run:body.stage" }

Additional Notes

  • Non-breaking: AddedEdge { src: "com.gamethesky.hatsoff.run:body", tgt: "com.gamethesky.hatsoff.run:body.dawn", kind: "prop", name: Some("dawn") }
  • Non-breaking: AddedEdge { src: "com.gamethesky.hatsoff.run:body", tgt: "com.gamethesky.hatsoff.run:body.stage", kind: "prop", name: Some("stage") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "One Hats Off run, published by the player into their own repo. The record stores every shot rather than a score: the sim is deterministic, so re-running the fire log against the same seed reproduces the run exactly. Owning the record is the identity proof, and replaying it is the score proof — wave, cured and the rest are advisory and never trusted by a leaderboard.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "createdAt": {
10 10
            "format": "datetime",
11 11
            "type": "string"
12 12
          },
13 13
          "cured": {
14 14
            "description": "Advisory: hats removed.",
15 15
            "minimum": 0,
16 16
            "type": "integer"
17 17
          },
18 +
          "dawn": {
19 +
            "description": "Advisory: the night was won — the President's hat came off, or the night's cap was reached.",
20 +
            "type": "boolean"
21 +
          },
18 22
          "fires": {
19 23
            "description": "The whole run as the only input the game takes. Comma-separated `<dtick>.<weapon>.<x>.<z>` entries: dtick is 60 Hz ticks since the previous entry, weapon is 0 mist, 1 pulse, 2 drop, or 3 for giving up (the run ends on that entry; x and z are 0), x and z are the ground point in tenths of a unit (x east, z south, origin at the Washington Monument). Only shots the sim accepted are logged; a verifier applies the same rate, heat and cooldown rules and refuses a log that fires faster than they allow. Example: `120.0.-402.12,5.0.-398.14,30.1.-390.10`.",
20 24
            "maxLength": 400000,
21 25
            "type": "string"
22 26
          },
23 27
          "holdPeak": {
24 28
            "description": "Advisory: the most people sheltering at once.",
25 29
            "minimum": 0,
26 30
            "type": "integer"
27 31
          },
28 32
          "rehatted": {
29 33
            "description": "Advisory: cured people the horde caught again.",
30 34
            "minimum": 0,
31 35
            "type": "integer"
32 36
          },
33 37
          "seed": {
34 38
            "description": "Which horde: a date (YYYY-MM-DD, local to the player) for the nightly horde, or any word for a practice one. The sim seeds from the FNV-1a hash of this string.",
35 39
            "maxLength": 64,
36 40
            "type": "string"
37 41
          },
38 42
          "simVersion": {
39 43
            "description": "Which rules produced these shots. A verifier must replay under the matching version or refuse the run.",
40 44
            "minimum": 1,
41 45
            "type": "integer"
42 46
          },
47 +
          "stage": {
48 +
            "description": "Advisory: the stage the run reached — 1 the Mall, 2 the White House. Stage numbers are append-only.",
49 +
            "minimum": 1,
50 +
            "type": "integer"
51 +
          },
43 52
          "ticks": {
44 53
            "description": "Advisory: the tick the steps fell.",
45 54
            "minimum": 1,
46 55
            "type": "integer"
47 56
          },
48 57
          "wave": {
49 58
            "description": "Advisory: the wave the steps fell in.",
50 59
            "minimum": 1,
51 60
            "type": "integer"
52 61
          }
53 62
        },
54 63
        "required": [
55 64
          "seed",
56 65
          "simVersion",
57 66
          "fires",
58 67
          "wave",
59 68
          "cured",
60 69
          "createdAt"
61 70
        ],
62 71
        "type": "object"
63 72
      },
64 73
      "type": "record"
65 74
    }
66 75
  },
67 76
  "id": "com.gamethesky.hatsoff.run",
68 77
  "lexicon": 1
69 78
}

Compare Other Versions

Lexicon Garden

@