TamaraThe specification

TCS taxonomy v0.8

Cut

Experimental: structure may change in a subsequent edition. This page is pinned to v0.8.

Complete cut: a rotation at the cut point; no reassembly parameter

Source fragment

The following is documentation data, not a standalone document or validation schema. Resolve references against the original source schema.

{
  "id": "cut",
  "description": "Complete cut: a rotation at the cut point; no reassembly parameter",
  "labels": {
    "en": "Cut",
    "es": "Cortar",
    "fr": "Couper",
    "de": "Abheben"
  },
  "family_ref": "true-cuts",
  "action_contract": {
    "parameters": {
      "cut_point": {
        "required": false,
        "description": "The number of cards cut off the top; card cut_point+1 comes to the top (required unless cut_points or located_by is given)",
        "domain": "integer >= 1",
        "default": "unspecified"
      },
      "cut_points": {
        "required": false,
        "description": "A run of complete cuts, netting to one rotation at their sum mod n",
        "domain": "array of integers",
        "default": "unspecified"
      },
      "located_by": {
        "required": false,
        "description": "A state trait or physical state used to find the cut point, when the cut is key-located rather than freely chosen",
        "domain": [
          "short",
          "long",
          "wide",
          "thick",
          "corner_short",
          "rough_treated",
          "crimped",
          "jogged",
          "break"
        ],
        "default": "unspecified"
      },
      "key_to": {
        "required": false,
        "description": "Whether the cut point lies directly above (top) or below (bottom) the key card",
        "domain": [
          "top",
          "bottom"
        ],
        "default": "top"
      },
      "break_position": {
        "required": false,
        "description": "The position of a held break within the pile: 0 <= p <= n (required when located_by: break)",
        "domain": "integer >= 0",
        "default": "unspecified"
      },
      "technique": {
        "required": false,
        "description": "Named variant of the cut",
        "domain": "string"
      }
    },
    "post_state_invariant": "target rotates at the point named by cut_point, cut_points or located_by: the cards above it move as a block to the bottom, and the cards at and below it move as a block to the top, each block keeping its own relative order. No card identity, mark, crimp or jog changes, and no reassembly beyond the single rotation is implied.",
    "post_state": {
      "state_schema_ref": "https://tamaraspec.org/schema/tcs-playing-cards-state-0.1.json",
      "effects": [
        {
          "op": "permute",
          "subject": "target",
          "permutation": "rotate",
          "args": {
            "cut_point": {
              "param": "cut_point"
            },
            "cut_points": {
              "param": "cut_points"
            },
            "located_by": {
              "param": "located_by"
            },
            "key_to": {
              "param": "key_to"
            },
            "break_position": {
              "param": "break_position"
            }
          }
        }
      ]
    }
  }
}

Verbatim JSON · Source: schemas/tcs-taxonomy-0.8.json/verbs/cut

See also