at.turtleme.game.castReef

turtleme.at

Schema Diff

+8 -3

From

CID
bafyreih6vwdhkdc...
Indexed At
2026-09-16 13:52 UTC
View this version

To

CID
bafyreidbu5fjgto...
Indexed At
2026-09-30 19:58 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 3 non-breaking changes.

Non-Breaking Changes (3)
  • AddedVertex AddedVertex { vertex_id: "at.turtleme.game.castReef:input.patch" }
  • AddedEdge AddedEdge { src: "at.turtleme.game.castReef:input", tgt: "at.turtleme.game.castReef:input.patch", kind: "prop", name: Some("patch") }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "at.turtleme.game.castReef:input.across", sort: "maximum", old_value: "16", new_value: "24" }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "at.turtleme.game.castReef:input.patch" }

Constraint Changes

  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "at.turtleme.game.castReef:input.across", sort: "maximum", old_value: "16", new_value: "24" }

Additional Notes

  • Non-breaking: AddedEdge { src: "at.turtleme.game.castReef:input", tgt: "at.turtleme.game.castReef:input.patch", kind: "prop", name: Some("patch") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 -
      "description": "Anchor over a fresh reef. The board is made empty and the shoal goes down on the first sweep, clear of it, so the patch a round opens with is never the one that ends it. Where the shoal lies is never sent: the whole reason this is settled here is that a board laid out in the page is a board whose shoal is sitting in memory. Anchoring over a board that is still being played ends it first and pays its rest. Requires an atproto service auth token addressed to did:web:turtleme.at#turtle_game and naming this method, so a token issued for one call cannot be spent on another.",
5 +
      "description": "Anchor over a fresh reef. The board is made empty and the shoal goes down on the first sweep, clear of it, so the patch a round opens with is never the one that ends it. A patch named with the cast is that first sweep, settled in the same call, and the outcome carries what it opened as sweepReef's would. Where the shoal lies is never sent: the whole reason this is settled here is that a board laid out in the page is a board whose shoal is sitting in memory. Anchoring over a board that is still being played hands that board back as it was left, with `resumed` set and every opened patch and what the open numbers prove in the outcome, and sweeps nothing: the patch named with the cast was tapped on an empty reef. The only ways off a board are to finish it or to leave it, and both rest. Requires an atproto service auth token addressed to did:web:turtleme.at#turtle_game and naming this method, so a token issued for one call cannot be spent on another.",
6 6
      "input": {
7 7
        "encoding": "application/json",
8 8
        "schema": {
9 9
          "properties": {
10 10
            "across": {
11 -
              "description": "How many patches across the board is. Which reef to play is the player's preference; an unknown size falls back to the middle one.",
12 -
              "maximum": 16,
11 +
              "description": "How many patches across the board is. Which reef to play is the player's preference; an unknown size falls back to the middle one. The two past sixteen are only offered by the page on a desk, but the server lays them for anyone who asks.",
12 +
              "maximum": 24,
13 13
              "minimum": 4,
14 14
              "type": "integer"
15 +
            },
16 +
            "patch": {
17 +
              "description": "The patch that was tapped to start the board, opened in the same call. Optional: without it the board is anchored and nothing opens until the first sweepReef. One that is not on the board leaves the board anchored and unopened.",
18 +
              "minimum": 0,
19 +
              "type": "integer"
15 20
            }
16 21
          },
17 22
          "type": "object"
18 23
        }
19 24
      },
20 25
      "output": {
21 26
        "encoding": "application/json",
22 27
        "schema": {
23 28
          "ref": "at.turtleme.game.defs#state",
24 29
          "type": "ref"
25 30
        }
26 31
      },
27 32
      "type": "procedure"
28 33
    }
29 34
  },
30 35
  "id": "at.turtleme.game.castReef",
31 36
  "lexicon": 1
32 37
}

Compare Other Versions

Lexicon Garden

@