{
  "version": 1,
  "date": "2026-10-03",
  "status": "Technical transitions from existing generated ground; no new source illustration or gameplay integration.",
  "logicalTile": 32,
  "pivot": [
    0,
    0
  ],
  "footprint": [
    1,
    1
  ],
  "cornerOrder": [
    "NW",
    "NE",
    "SE",
    "SW"
  ],
  "caseCount": 16,
  "cases": [
    {
      "mask": 0,
      "name": "Grass centre",
      "corners": []
    },
    {
      "mask": 1,
      "name": "Outer NW corner",
      "corners": [
        "NW"
      ]
    },
    {
      "mask": 2,
      "name": "Outer NE corner",
      "corners": [
        "NE"
      ]
    },
    {
      "mask": 3,
      "name": "North edge",
      "corners": [
        "NW",
        "NE"
      ]
    },
    {
      "mask": 4,
      "name": "Outer SE corner",
      "corners": [
        "SE"
      ]
    },
    {
      "mask": 5,
      "name": "Separate NW / SE corners",
      "corners": [
        "NW",
        "SE"
      ]
    },
    {
      "mask": 6,
      "name": "East edge",
      "corners": [
        "NE",
        "SE"
      ]
    },
    {
      "mask": 7,
      "name": "Inner SW corner",
      "corners": [
        "NW",
        "NE",
        "SE"
      ]
    },
    {
      "mask": 8,
      "name": "Outer SW corner",
      "corners": [
        "SW"
      ]
    },
    {
      "mask": 9,
      "name": "West edge",
      "corners": [
        "NW",
        "SW"
      ]
    },
    {
      "mask": 10,
      "name": "Separate NE / SW corners",
      "corners": [
        "NE",
        "SW"
      ]
    },
    {
      "mask": 11,
      "name": "Inner SE corner",
      "corners": [
        "NW",
        "NE",
        "SW"
      ]
    },
    {
      "mask": 12,
      "name": "South edge",
      "corners": [
        "SE",
        "SW"
      ]
    },
    {
      "mask": 13,
      "name": "Inner NE corner",
      "corners": [
        "NW",
        "SE",
        "SW"
      ]
    },
    {
      "mask": 14,
      "name": "Inner NW corner",
      "corners": [
        "NE",
        "SE",
        "SW"
      ]
    },
    {
      "mask": 15,
      "name": "Foreground centre",
      "corners": [
        "NW",
        "NE",
        "SE",
        "SW"
      ]
    }
  ],
  "parityRows": [
    "evenX evenY",
    "oddX evenY",
    "evenX oddY",
    "oddX oddY"
  ],
  "selection": "mask = NW +2*NE +4*SE +8*SW; atlas column=mask; row=abs(worldX%2)+2*abs(worldY%2). Shared vertex values must agree. Do not mirror a whole composed transition or reset parity at chunk edges.",
  "coverage": "Bilinear shared corner field; opposite-corner saddles use maximum isolated corner contributions. A bounded interior-only field perturbation vanishes exactly at all borders. Smoothstep antialiasing spans1.3nativepixels. Each edge texel samples the shared edge coordinate exactly.",
  "saddles": "Masks5 and10 keep the two foreground corners disconnected.",
  "renderer": "../material-render.js",
  "missing": [
    "Cliffs and height changes",
    "Path-water borders and triple junctions",
    "Animated shoreline foam",
    "Alternative centre motifs",
    "Gameplay collision/swimming/bridge rules"
  ],
  "assets": [
    {
      "key": "grass-path",
      "title": "Grass & worn path",
      "foreground": "worn-path",
      "zones": [
        {
          "name": "grass.turf",
          "channel": "R",
          "baseColor": "#96973e",
          "material": "turf",
          "surface": "grass",
          "map": 0
        },
        {
          "name": "grass.seed flecks",
          "channel": "G",
          "baseColor": "#dba545",
          "material": "seed flecks",
          "surface": "grass",
          "map": 0
        },
        {
          "name": "grass.pebbles",
          "channel": "B",
          "baseColor": "#958462",
          "material": "pebbles",
          "surface": "grass",
          "map": 0
        },
        {
          "name": "worn-path.earth",
          "channel": "R",
          "baseColor": "#e39d52",
          "material": "earth",
          "surface": "worn-path",
          "map": 1
        },
        {
          "name": "worn-path.weeds",
          "channel": "G",
          "baseColor": "#a18a53",
          "material": "weeds",
          "surface": "worn-path",
          "map": 1
        },
        {
          "name": "worn-path.pebbles",
          "channel": "B",
          "baseColor": "#c39977",
          "material": "pebbles",
          "surface": "worn-path",
          "map": 1
        }
      ],
      "atlas": {
        "32": {
          "art": "grass-path-32.png",
          "maps": [
            "grass-path-32-grass-rgb.png",
            "grass-path-32-foreground-rgb.png"
          ],
          "width": 512,
          "height": 128,
          "sha256": [
            "083ae2e64c43f4ac20338a31d00e77dfe45decea203ea718de67165691fc265f",
            "bc66e96e8d29f3ba3b939ae5db3daba1567f35bb637d9baa590818d9ec17da97",
            "31023847b38d36402edd574978193f5682be62ba87c22ecbb3a30ca23181b903"
          ]
        },
        "64": {
          "art": "grass-path-64.png",
          "maps": [
            "grass-path-64-grass-rgb.png",
            "grass-path-64-foreground-rgb.png"
          ],
          "width": 1024,
          "height": 256,
          "sha256": [
            "9798f6ccc4613a53d347bb7f97a51e13ab21529e1f3c934ce8538646391e3a55",
            "ee012ea6871d8980974ddfabe78d46eca01a5e0faed1db6a0dbd1c67b3587112",
            "33be6238aa2daaecfbe281dd59b7358db144b17871170a5fe518be55017de246"
          ]
        }
      }
    },
    {
      "key": "grass-water",
      "title": "Grass & shallow water",
      "foreground": "shallow-water",
      "zones": [
        {
          "name": "grass.turf",
          "channel": "R",
          "baseColor": "#96973e",
          "material": "turf",
          "surface": "grass",
          "map": 0
        },
        {
          "name": "grass.seed flecks",
          "channel": "G",
          "baseColor": "#dba545",
          "material": "seed flecks",
          "surface": "grass",
          "map": 0
        },
        {
          "name": "grass.pebbles",
          "channel": "B",
          "baseColor": "#958462",
          "material": "pebbles",
          "surface": "grass",
          "map": 0
        },
        {
          "name": "shallow-water.water",
          "channel": "R",
          "baseColor": "#59bab9",
          "material": "water",
          "surface": "shallow-water",
          "map": 1
        },
        {
          "name": "shallow-water.ripples",
          "channel": "G",
          "baseColor": "#91d7ce",
          "material": "ripples",
          "surface": "shallow-water",
          "map": 1
        },
        {
          "name": "shallow-water.submerged stones",
          "channel": "B",
          "baseColor": "#beb380",
          "material": "submerged stones",
          "surface": "shallow-water",
          "map": 1
        }
      ],
      "atlas": {
        "32": {
          "art": "grass-water-32.png",
          "maps": [
            "grass-water-32-grass-rgb.png",
            "grass-water-32-foreground-rgb.png"
          ],
          "width": 512,
          "height": 128,
          "sha256": [
            "9bfa230e766bb7d2b4e16af55b5d9628e0c1237b9b24f38755ae224264757bd4",
            "bc66e96e8d29f3ba3b939ae5db3daba1567f35bb637d9baa590818d9ec17da97",
            "c280a81f252f5eec37d40e4c5188fffc107aa36c885ce9aca652048b98254eaf"
          ]
        },
        "64": {
          "art": "grass-water-64.png",
          "maps": [
            "grass-water-64-grass-rgb.png",
            "grass-water-64-foreground-rgb.png"
          ],
          "width": 1024,
          "height": 256,
          "sha256": [
            "f6343dfd69e81f74a9a24a7536d5c56fe98f7777c659385be44ec2e17a38d030",
            "ee012ea6871d8980974ddfabe78d46eca01a5e0faed1db6a0dbd1c67b3587112",
            "efb69490fb865e8aa8055df3fe9d632585b4e5ce848ac1fa54e51522084ad9c5"
          ]
        }
      }
    }
  ]
}
