FA-52166 / Raster memory layout / Open access
Cube Face Cross Atlas: Face coordinates omit inner gutter or transpose texels · case 01
The returned physical layout descriptor disagrees with the declared buffer mapping at pixel_position.
ROOT CAUSE
Face coordinates omit inner gutter or transpose texels The faulty expression is [cell_origin[0]+p["u"],cell_origin[1]+p["v"]].
VERIFIED REPAIR
Apply the stipulated layout rule at pixel_position: [cell_origin[0]+1+p["u"],cell_origin[1]+1+p["v"]].
Unsuccessful approach: The attempted repair uses [cell_origin[0]+1+p["v"],cell_origin[1]+1+p["u"]] and still violates the layout contract.
Case contract
Six square cube faces occupy stipulated cells of a 4x3 atlas cross: [(2,1),(0,1),(1,0),(1,2),(1,1),(3,1)]. Every cell has a one-texel gutter and atlas rows end with a three-byte guard. Face sampling is storage addressing only. Return the named intermediate layout descriptor and final address fields; all quantities are integer byte offsets unless explicitly stated.
Why this case matters
Offline raster resource, upload, readback, and storage-layout regression model.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(p):
p = dict(p)
cell_size = p["size"]+2
atlas_width = 4*cell_size
atlas_height = 3*cell_size
face_cell = [(2,1),(0,1),(1,0),(1,2),(1,1),(3,1)][p["face"]]
cell_origin = [face_cell[0]*cell_size,face_cell[1]*cell_size]
pixel_position = [cell_origin[0]+p["u"],cell_origin[1]+p["v"]]
row_pitch = atlas_width*p["b"]+3
address = p["base"]+pixel_position[1]*row_pitch+pixel_position[0]*p["b"]
face_row_end = p["base"]+(cell_origin[1]+1+p["v"])*row_pitch+(cell_origin[0]+1+p["size"])*p["b"]
allocation_end = p["base"]+atlas_height*row_pitch
return {'cell_size': cell_size, 'atlas_width': atlas_width, 'atlas_height': atlas_height, 'face_cell': face_cell, 'cell_origin': cell_origin, 'pixel_position': pixel_position, 'row_pitch': row_pitch, 'address': address, 'face_row_end': face_row_end, 'allocation_end': allocation_end}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'size': 2, 'face': 0, 'u': 0, 'v': 1, 'b': 2, 'base': 7}, {'cell_size': 4, 'atlas_width': 16, 'atlas_height': 12, 'face_cell': (2, 1), 'cell_origin': [8, 4], 'pixel_position': [9, 6], 'row_pitch': 35, 'address': 235, 'face_row_end': 239, 'allocation_end': 427}), ({'size': 3, 'face': 1, 'u': 1, 'v': 2, 'b': 2, 'base': 7}, {'cell_size': 5, 'atlas_width': 20, 'atlas_height': 15, 'face_cell': (0, 1), 'cell_origin': [0, 5], 'pixel_position': [2, 8], 'row_pitch': 43, 'address': 355, 'face_row_end': 359, 'allocation_end': 652}), ({'size': 4, 'face': 2, 'u': 2, 'v': 3, 'b': 2, 'base': 7}, {'cell_size': 6, 'atlas_width': 24, 'atlas_height': 18, 'face_cell': (1, 0), 'cell_origin': [6, 0], 'pixel_position': [9, 4], 'row_pitch': 51, 'address': 229, 'face_row_end': 233, 'allocation_end': 925}), ({'size': 5, 'face': 3, 'u': 3, 'v': 4, 'b': 2, 'base': 7}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (1, 2), 'cell_origin': [7, 14], 'pixel_position': [11, 19], 'row_pitch': 59, 'address': 1150, 'face_row_end': 1154, 'allocation_end': 1246}), ({'size': 6, 'face': 4, 'u': 4, 'v': 5, 'b': 2, 'base': 7}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (1, 1), 'cell_origin': [8, 8], 'pixel_position': [13, 14], 'row_pitch': 67, 'address': 971, 'face_row_end': 975, 'allocation_end': 1615}), ({'size': 7, 'face': 5, 'u': 5, 'v': 6, 'b': 2, 'base': 7}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (3, 1), 'cell_origin': [27, 9], 'pixel_position': [33, 16], 'row_pitch': 75, 'address': 1273, 'face_row_end': 1277, 'allocation_end': 2032})], 2: [({'size': 3, 'face': 0, 'u': 0, 'v': 1, 'b': 3, 'base': 14}, {'cell_size': 5, 'atlas_width': 20, 'atlas_height': 15, 'face_cell': (2, 1), 'cell_origin': [10, 5], 'pixel_position': [11, 7], 'row_pitch': 63, 'address': 488, 'face_row_end': 497, 'allocation_end': 959}), ({'size': 4, 'face': 1, 'u': 1, 'v': 2, 'b': 3, 'base': 14}, {'cell_size': 6, 'atlas_width': 24, 'atlas_height': 18, 'face_cell': (0, 1), 'cell_origin': [0, 6], 'pixel_position': [2, 9], 'row_pitch': 75, 'address': 695, 'face_row_end': 704, 'allocation_end': 1364}), ({'size': 5, 'face': 2, 'u': 2, 'v': 3, 'b': 3, 'base': 14}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (1, 0), 'cell_origin': [7, 0], 'pixel_position': [10, 4], 'row_pitch': 87, 'address': 392, 'face_row_end': 401, 'allocation_end': 1841}), ({'size': 6, 'face': 3, 'u': 3, 'v': 4, 'b': 3, 'base': 14}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (1, 2), 'cell_origin': [8, 16], 'pixel_position': [12, 21], 'row_pitch': 99, 'address': 2129, 'face_row_end': 2138, 'allocation_end': 2390}), ({'size': 7, 'face': 4, 'u': 4, 'v': 5, 'b': 3, 'base': 14}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (1, 1), 'cell_origin': [9, 9], 'pixel_position': [14, 15], 'row_pitch': 111, 'address': 1721, 'face_row_end': 1730, 'allocation_end': 3011}), ({'size': 8, 'face': 5, 'u': 5, 'v': 6, 'b': 3, 'base': 14}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (3, 1), 'cell_origin': [30, 10], 'pixel_position': [36, 17], 'row_pitch': 123, 'address': 2213, 'face_row_end': 2222, 'allocation_end': 3704})], 3: [({'size': 4, 'face': 0, 'u': 0, 'v': 1, 'b': 4, 'base': 21}, {'cell_size': 6, 'atlas_width': 24, 'atlas_height': 18, 'face_cell': (2, 1), 'cell_origin': [12, 6], 'pixel_position': [13, 8], 'row_pitch': 99, 'address': 865, 'face_row_end': 881, 'allocation_end': 1803}), ({'size': 5, 'face': 1, 'u': 1, 'v': 2, 'b': 4, 'base': 21}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (0, 1), 'cell_origin': [0, 7], 'pixel_position': [2, 10], 'row_pitch': 115, 'address': 1179, 'face_row_end': 1195, 'allocation_end': 2436}), ({'size': 6, 'face': 2, 'u': 2, 'v': 3, 'b': 4, 'base': 21}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (1, 0), 'cell_origin': [8, 0], 'pixel_position': [11, 4], 'row_pitch': 131, 'address': 589, 'face_row_end': 605, 'allocation_end': 3165}), ({'size': 7, 'face': 3, 'u': 3, 'v': 4, 'b': 4, 'base': 21}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (1, 2), 'cell_origin': [9, 18], 'pixel_position': [13, 23], 'row_pitch': 147, 'address': 3454, 'face_row_end': 3470, 'allocation_end': 3990}), ({'size': 8, 'face': 4, 'u': 4, 'v': 5, 'b': 4, 'base': 21}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (1, 1), 'cell_origin': [10, 10], 'pixel_position': [15, 16], 'row_pitch': 163, 'address': 2689, 'face_row_end': 2705, 'allocation_end': 4911}), ({'size': 9, 'face': 5, 'u': 5, 'v': 6, 'b': 4, 'base': 21}, {'cell_size': 11, 'atlas_width': 44, 'atlas_height': 33, 'face_cell': (3, 1), 'cell_origin': [33, 11], 'pixel_position': [39, 18], 'row_pitch': 179, 'address': 3399, 'face_row_end': 3415, 'allocation_end': 5928})], 4: [({'size': 5, 'face': 0, 'u': 0, 'v': 1, 'b': 5, 'base': 28}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (2, 1), 'cell_origin': [14, 7], 'pixel_position': [15, 9], 'row_pitch': 143, 'address': 1390, 'face_row_end': 1415, 'allocation_end': 3031}), ({'size': 6, 'face': 1, 'u': 1, 'v': 2, 'b': 5, 'base': 28}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (0, 1), 'cell_origin': [0, 8], 'pixel_position': [2, 11], 'row_pitch': 163, 'address': 1831, 'face_row_end': 1856, 'allocation_end': 3940}), ({'size': 7, 'face': 2, 'u': 2, 'v': 3, 'b': 5, 'base': 28}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (1, 0), 'cell_origin': [9, 0], 'pixel_position': [12, 4], 'row_pitch': 183, 'address': 820, 'face_row_end': 845, 'allocation_end': 4969}), ({'size': 8, 'face': 3, 'u': 3, 'v': 4, 'b': 5, 'base': 28}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (1, 2), 'cell_origin': [10, 20], 'pixel_position': [14, 25], 'row_pitch': 203, 'address': 5173, 'face_row_end': 5198, 'allocation_end': 6118}), ({'size': 9, 'face': 4, 'u': 4, 'v': 5, 'b': 5, 'base': 28}, {'cell_size': 11, 'atlas_width': 44, 'atlas_height': 33, 'face_cell': (1, 1), 'cell_origin': [11, 11], 'pixel_position': [16, 17], 'row_pitch': 223, 'address': 3899, 'face_row_end': 3924, 'allocation_end': 7387}), ({'size': 10, 'face': 5, 'u': 5, 'v': 6, 'b': 5, 'base': 28}, {'cell_size': 12, 'atlas_width': 48, 'atlas_height': 36, 'face_cell': (3, 1), 'cell_origin': [36, 12], 'pixel_position': [42, 19], 'row_pitch': 243, 'address': 4855, 'face_row_end': 4880, 'allocation_end': 8776})], 5: [({'size': 6, 'face': 0, 'u': 0, 'v': 1, 'b': 6, 'base': 35}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (2, 1), 'cell_origin': [16, 8], 'pixel_position': [17, 10], 'row_pitch': 195, 'address': 2087, 'face_row_end': 2123, 'allocation_end': 4715}), ({'size': 7, 'face': 1, 'u': 1, 'v': 2, 'b': 6, 'base': 35}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (0, 1), 'cell_origin': [0, 9], 'pixel_position': [2, 12], 'row_pitch': 219, 'address': 2675, 'face_row_end': 2711, 'allocation_end': 5948}), ({'size': 8, 'face': 2, 'u': 2, 'v': 3, 'b': 6, 'base': 35}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (1, 0), 'cell_origin': [10, 0], 'pixel_position': [13, 4], 'row_pitch': 243, 'address': 1085, 'face_row_end': 1121, 'allocation_end': 7325}), ({'size': 9, 'face': 3, 'u': 3, 'v': 4, 'b': 6, 'base': 35}, {'cell_size': 11, 'atlas_width': 44, 'atlas_height': 33, 'face_cell': (1, 2), 'cell_origin': [11, 22], 'pixel_position': [15, 27], 'row_pitch': 267, 'address': 7334, 'face_row_end': 7370, 'allocation_end': 8846}), ({'size': 10, 'face': 4, 'u': 4, 'v': 5, 'b': 6, 'base': 35}, {'cell_size': 12, 'atlas_width': 48, 'atlas_height': 36, 'face_cell': (1, 1), 'cell_origin': [12, 12], 'pixel_position': [17, 18], 'row_pitch': 291, 'address': 5375, 'face_row_end': 5411, 'allocation_end': 10511}), ({'size': 11, 'face': 5, 'u': 5, 'v': 6, 'b': 6, 'base': 35}, {'cell_size': 13, 'atlas_width': 52, 'atlas_height': 39, 'face_cell': (3, 1), 'cell_origin': [39, 13], 'pixel_position': [45, 20], 'row_pitch': 315, 'address': 6605, 'face_row_end': 6641, 'allocation_end': 12320})]}
for i, (p, expected) in enumerate(cases[N]):
check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| layout fixture 1 | {'address': 198, 'allocation_end': 427, 'atlas_height': 12, 'atlas_width': 16, 'cell_origin': [8, 4], 'cell_size': 4, 'face_cell': [2, 1], 'face_row_end': 239, 'pixel_position': [8, 5], 'row_pitch': 35} | {'address': 235, 'allocation_end': 427, 'atlas_height': 12, 'atlas_width': 16, 'cell_origin': [8, 4], 'cell_size': 4, 'face_cell': [2, 1], 'face_row_end': 239, 'pixel_position': [9, 6], 'row_pitch': 35} | Failed |
| layout fixture 2 | {'address': 310, 'allocation_end': 652, 'atlas_height': 15, 'atlas_width': 20, 'cell_origin': [0, 5], 'cell_size': 5, 'face_cell': [0, 1], 'face_row_end': 359, 'pixel_position': [1, 7], 'row_pitch': 43} | {'address': 355, 'allocation_end': 652, 'atlas_height': 15, 'atlas_width': 20, 'cell_origin': [0, 5], 'cell_size': 5, 'face_cell': [0, 1], 'face_row_end': 359, 'pixel_position': [2, 8], 'row_pitch': 43} | Failed |
| layout fixture 3 | {'address': 176, 'allocation_end': 925, 'atlas_height': 18, 'atlas_width': 24, 'cell_origin': [6, 0], 'cell_size': 6, 'face_cell': [1, 0], 'face_row_end': 233, 'pixel_position': [8, 3], 'row_pitch': 51} | {'address': 229, 'allocation_end': 925, 'atlas_height': 18, 'atlas_width': 24, 'cell_origin': [6, 0], 'cell_size': 6, 'face_cell': [1, 0], 'face_row_end': 233, 'pixel_position': [9, 4], 'row_pitch': 51} | Failed |
| layout fixture 4 | {'address': 1089, 'allocation_end': 1246, 'atlas_height': 21, 'atlas_width': 28, 'cell_origin': [7, 14], 'cell_size': 7, 'face_cell': [1, 2], 'face_row_end': 1154, 'pixel_position': [10, 18], 'row_pitch': 59} | {'address': 1150, 'allocation_end': 1246, 'atlas_height': 21, 'atlas_width': 28, 'cell_origin': [7, 14], 'cell_size': 7, 'face_cell': [1, 2], 'face_row_end': 1154, 'pixel_position': [11, 19], 'row_pitch': 59} | Failed |
| layout fixture 5 | {'address': 902, 'allocation_end': 1615, 'atlas_height': 24, 'atlas_width': 32, 'cell_origin': [8, 8], 'cell_size': 8, 'face_cell': [1, 1], 'face_row_end': 975, 'pixel_position': [12, 13], 'row_pitch': 67} | {'address': 971, 'allocation_end': 1615, 'atlas_height': 24, 'atlas_width': 32, 'cell_origin': [8, 8], 'cell_size': 8, 'face_cell': [1, 1], 'face_row_end': 975, 'pixel_position': [13, 14], 'row_pitch': 67} | Failed |
| layout fixture 6 | {'address': 1196, 'allocation_end': 2032, 'atlas_height': 27, 'atlas_width': 36, 'cell_origin': [27, 9], 'cell_size': 9, 'face_cell': [3, 1], 'face_row_end': 1277, 'pixel_position': [32, 15], 'row_pitch': 75} | {'address': 1273, 'allocation_end': 2032, 'atlas_height': 27, 'atlas_width': 36, 'cell_origin': [27, 9], 'cell_size': 9, 'face_cell': [3, 1], 'face_row_end': 1277, 'pixel_position': [33, 16], 'row_pitch': 75} | Failed |
SHA-256 / 93ea151285b265b65755797000882663a9da15440f05698687508d35d54cd15e
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(p):
p = dict(p)
cell_size = p["size"]+2
atlas_width = 4*cell_size
atlas_height = 3*cell_size
face_cell = [(2,1),(0,1),(1,0),(1,2),(1,1),(3,1)][p["face"]]
cell_origin = [face_cell[0]*cell_size,face_cell[1]*cell_size]
pixel_position = [cell_origin[0]+1+p["v"],cell_origin[1]+1+p["u"]]
row_pitch = atlas_width*p["b"]+3
address = p["base"]+pixel_position[1]*row_pitch+pixel_position[0]*p["b"]
face_row_end = p["base"]+(cell_origin[1]+1+p["v"])*row_pitch+(cell_origin[0]+1+p["size"])*p["b"]
allocation_end = p["base"]+atlas_height*row_pitch
return {'cell_size': cell_size, 'atlas_width': atlas_width, 'atlas_height': atlas_height, 'face_cell': face_cell, 'cell_origin': cell_origin, 'pixel_position': pixel_position, 'row_pitch': row_pitch, 'address': address, 'face_row_end': face_row_end, 'allocation_end': allocation_end}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'size': 2, 'face': 0, 'u': 0, 'v': 1, 'b': 2, 'base': 7}, {'cell_size': 4, 'atlas_width': 16, 'atlas_height': 12, 'face_cell': (2, 1), 'cell_origin': [8, 4], 'pixel_position': [9, 6], 'row_pitch': 35, 'address': 235, 'face_row_end': 239, 'allocation_end': 427}), ({'size': 3, 'face': 1, 'u': 1, 'v': 2, 'b': 2, 'base': 7}, {'cell_size': 5, 'atlas_width': 20, 'atlas_height': 15, 'face_cell': (0, 1), 'cell_origin': [0, 5], 'pixel_position': [2, 8], 'row_pitch': 43, 'address': 355, 'face_row_end': 359, 'allocation_end': 652}), ({'size': 4, 'face': 2, 'u': 2, 'v': 3, 'b': 2, 'base': 7}, {'cell_size': 6, 'atlas_width': 24, 'atlas_height': 18, 'face_cell': (1, 0), 'cell_origin': [6, 0], 'pixel_position': [9, 4], 'row_pitch': 51, 'address': 229, 'face_row_end': 233, 'allocation_end': 925}), ({'size': 5, 'face': 3, 'u': 3, 'v': 4, 'b': 2, 'base': 7}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (1, 2), 'cell_origin': [7, 14], 'pixel_position': [11, 19], 'row_pitch': 59, 'address': 1150, 'face_row_end': 1154, 'allocation_end': 1246}), ({'size': 6, 'face': 4, 'u': 4, 'v': 5, 'b': 2, 'base': 7}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (1, 1), 'cell_origin': [8, 8], 'pixel_position': [13, 14], 'row_pitch': 67, 'address': 971, 'face_row_end': 975, 'allocation_end': 1615}), ({'size': 7, 'face': 5, 'u': 5, 'v': 6, 'b': 2, 'base': 7}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (3, 1), 'cell_origin': [27, 9], 'pixel_position': [33, 16], 'row_pitch': 75, 'address': 1273, 'face_row_end': 1277, 'allocation_end': 2032})], 2: [({'size': 3, 'face': 0, 'u': 0, 'v': 1, 'b': 3, 'base': 14}, {'cell_size': 5, 'atlas_width': 20, 'atlas_height': 15, 'face_cell': (2, 1), 'cell_origin': [10, 5], 'pixel_position': [11, 7], 'row_pitch': 63, 'address': 488, 'face_row_end': 497, 'allocation_end': 959}), ({'size': 4, 'face': 1, 'u': 1, 'v': 2, 'b': 3, 'base': 14}, {'cell_size': 6, 'atlas_width': 24, 'atlas_height': 18, 'face_cell': (0, 1), 'cell_origin': [0, 6], 'pixel_position': [2, 9], 'row_pitch': 75, 'address': 695, 'face_row_end': 704, 'allocation_end': 1364}), ({'size': 5, 'face': 2, 'u': 2, 'v': 3, 'b': 3, 'base': 14}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (1, 0), 'cell_origin': [7, 0], 'pixel_position': [10, 4], 'row_pitch': 87, 'address': 392, 'face_row_end': 401, 'allocation_end': 1841}), ({'size': 6, 'face': 3, 'u': 3, 'v': 4, 'b': 3, 'base': 14}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (1, 2), 'cell_origin': [8, 16], 'pixel_position': [12, 21], 'row_pitch': 99, 'address': 2129, 'face_row_end': 2138, 'allocation_end': 2390}), ({'size': 7, 'face': 4, 'u': 4, 'v': 5, 'b': 3, 'base': 14}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (1, 1), 'cell_origin': [9, 9], 'pixel_position': [14, 15], 'row_pitch': 111, 'address': 1721, 'face_row_end': 1730, 'allocation_end': 3011}), ({'size': 8, 'face': 5, 'u': 5, 'v': 6, 'b': 3, 'base': 14}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (3, 1), 'cell_origin': [30, 10], 'pixel_position': [36, 17], 'row_pitch': 123, 'address': 2213, 'face_row_end': 2222, 'allocation_end': 3704})], 3: [({'size': 4, 'face': 0, 'u': 0, 'v': 1, 'b': 4, 'base': 21}, {'cell_size': 6, 'atlas_width': 24, 'atlas_height': 18, 'face_cell': (2, 1), 'cell_origin': [12, 6], 'pixel_position': [13, 8], 'row_pitch': 99, 'address': 865, 'face_row_end': 881, 'allocation_end': 1803}), ({'size': 5, 'face': 1, 'u': 1, 'v': 2, 'b': 4, 'base': 21}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (0, 1), 'cell_origin': [0, 7], 'pixel_position': [2, 10], 'row_pitch': 115, 'address': 1179, 'face_row_end': 1195, 'allocation_end': 2436}), ({'size': 6, 'face': 2, 'u': 2, 'v': 3, 'b': 4, 'base': 21}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (1, 0), 'cell_origin': [8, 0], 'pixel_position': [11, 4], 'row_pitch': 131, 'address': 589, 'face_row_end': 605, 'allocation_end': 3165}), ({'size': 7, 'face': 3, 'u': 3, 'v': 4, 'b': 4, 'base': 21}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (1, 2), 'cell_origin': [9, 18], 'pixel_position': [13, 23], 'row_pitch': 147, 'address': 3454, 'face_row_end': 3470, 'allocation_end': 3990}), ({'size': 8, 'face': 4, 'u': 4, 'v': 5, 'b': 4, 'base': 21}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (1, 1), 'cell_origin': [10, 10], 'pixel_position': [15, 16], 'row_pitch': 163, 'address': 2689, 'face_row_end': 2705, 'allocation_end': 4911}), ({'size': 9, 'face': 5, 'u': 5, 'v': 6, 'b': 4, 'base': 21}, {'cell_size': 11, 'atlas_width': 44, 'atlas_height': 33, 'face_cell': (3, 1), 'cell_origin': [33, 11], 'pixel_position': [39, 18], 'row_pitch': 179, 'address': 3399, 'face_row_end': 3415, 'allocation_end': 5928})], 4: [({'size': 5, 'face': 0, 'u': 0, 'v': 1, 'b': 5, 'base': 28}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (2, 1), 'cell_origin': [14, 7], 'pixel_position': [15, 9], 'row_pitch': 143, 'address': 1390, 'face_row_end': 1415, 'allocation_end': 3031}), ({'size': 6, 'face': 1, 'u': 1, 'v': 2, 'b': 5, 'base': 28}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (0, 1), 'cell_origin': [0, 8], 'pixel_position': [2, 11], 'row_pitch': 163, 'address': 1831, 'face_row_end': 1856, 'allocation_end': 3940}), ({'size': 7, 'face': 2, 'u': 2, 'v': 3, 'b': 5, 'base': 28}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (1, 0), 'cell_origin': [9, 0], 'pixel_position': [12, 4], 'row_pitch': 183, 'address': 820, 'face_row_end': 845, 'allocation_end': 4969}), ({'size': 8, 'face': 3, 'u': 3, 'v': 4, 'b': 5, 'base': 28}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (1, 2), 'cell_origin': [10, 20], 'pixel_position': [14, 25], 'row_pitch': 203, 'address': 5173, 'face_row_end': 5198, 'allocation_end': 6118}), ({'size': 9, 'face': 4, 'u': 4, 'v': 5, 'b': 5, 'base': 28}, {'cell_size': 11, 'atlas_width': 44, 'atlas_height': 33, 'face_cell': (1, 1), 'cell_origin': [11, 11], 'pixel_position': [16, 17], 'row_pitch': 223, 'address': 3899, 'face_row_end': 3924, 'allocation_end': 7387}), ({'size': 10, 'face': 5, 'u': 5, 'v': 6, 'b': 5, 'base': 28}, {'cell_size': 12, 'atlas_width': 48, 'atlas_height': 36, 'face_cell': (3, 1), 'cell_origin': [36, 12], 'pixel_position': [42, 19], 'row_pitch': 243, 'address': 4855, 'face_row_end': 4880, 'allocation_end': 8776})], 5: [({'size': 6, 'face': 0, 'u': 0, 'v': 1, 'b': 6, 'base': 35}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (2, 1), 'cell_origin': [16, 8], 'pixel_position': [17, 10], 'row_pitch': 195, 'address': 2087, 'face_row_end': 2123, 'allocation_end': 4715}), ({'size': 7, 'face': 1, 'u': 1, 'v': 2, 'b': 6, 'base': 35}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (0, 1), 'cell_origin': [0, 9], 'pixel_position': [2, 12], 'row_pitch': 219, 'address': 2675, 'face_row_end': 2711, 'allocation_end': 5948}), ({'size': 8, 'face': 2, 'u': 2, 'v': 3, 'b': 6, 'base': 35}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (1, 0), 'cell_origin': [10, 0], 'pixel_position': [13, 4], 'row_pitch': 243, 'address': 1085, 'face_row_end': 1121, 'allocation_end': 7325}), ({'size': 9, 'face': 3, 'u': 3, 'v': 4, 'b': 6, 'base': 35}, {'cell_size': 11, 'atlas_width': 44, 'atlas_height': 33, 'face_cell': (1, 2), 'cell_origin': [11, 22], 'pixel_position': [15, 27], 'row_pitch': 267, 'address': 7334, 'face_row_end': 7370, 'allocation_end': 8846}), ({'size': 10, 'face': 4, 'u': 4, 'v': 5, 'b': 6, 'base': 35}, {'cell_size': 12, 'atlas_width': 48, 'atlas_height': 36, 'face_cell': (1, 1), 'cell_origin': [12, 12], 'pixel_position': [17, 18], 'row_pitch': 291, 'address': 5375, 'face_row_end': 5411, 'allocation_end': 10511}), ({'size': 11, 'face': 5, 'u': 5, 'v': 6, 'b': 6, 'base': 35}, {'cell_size': 13, 'atlas_width': 52, 'atlas_height': 39, 'face_cell': (3, 1), 'cell_origin': [39, 13], 'pixel_position': [45, 20], 'row_pitch': 315, 'address': 6605, 'face_row_end': 6641, 'allocation_end': 12320})]}
for i, (p, expected) in enumerate(cases[N]):
check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| layout fixture 1 | {'address': 202, 'allocation_end': 427, 'atlas_height': 12, 'atlas_width': 16, 'cell_origin': [8, 4], 'cell_size': 4, 'face_cell': [2, 1], 'face_row_end': 239, 'pixel_position': [10, 5], 'row_pitch': 35} | {'address': 235, 'allocation_end': 427, 'atlas_height': 12, 'atlas_width': 16, 'cell_origin': [8, 4], 'cell_size': 4, 'face_cell': [2, 1], 'face_row_end': 239, 'pixel_position': [9, 6], 'row_pitch': 35} | Failed |
| layout fixture 2 | {'address': 314, 'allocation_end': 652, 'atlas_height': 15, 'atlas_width': 20, 'cell_origin': [0, 5], 'cell_size': 5, 'face_cell': [0, 1], 'face_row_end': 359, 'pixel_position': [3, 7], 'row_pitch': 43} | {'address': 355, 'allocation_end': 652, 'atlas_height': 15, 'atlas_width': 20, 'cell_origin': [0, 5], 'cell_size': 5, 'face_cell': [0, 1], 'face_row_end': 359, 'pixel_position': [2, 8], 'row_pitch': 43} | Failed |
| layout fixture 3 | {'address': 180, 'allocation_end': 925, 'atlas_height': 18, 'atlas_width': 24, 'cell_origin': [6, 0], 'cell_size': 6, 'face_cell': [1, 0], 'face_row_end': 233, 'pixel_position': [10, 3], 'row_pitch': 51} | {'address': 229, 'allocation_end': 925, 'atlas_height': 18, 'atlas_width': 24, 'cell_origin': [6, 0], 'cell_size': 6, 'face_cell': [1, 0], 'face_row_end': 233, 'pixel_position': [9, 4], 'row_pitch': 51} | Failed |
| layout fixture 4 | {'address': 1093, 'allocation_end': 1246, 'atlas_height': 21, 'atlas_width': 28, 'cell_origin': [7, 14], 'cell_size': 7, 'face_cell': [1, 2], 'face_row_end': 1154, 'pixel_position': [12, 18], 'row_pitch': 59} | {'address': 1150, 'allocation_end': 1246, 'atlas_height': 21, 'atlas_width': 28, 'cell_origin': [7, 14], 'cell_size': 7, 'face_cell': [1, 2], 'face_row_end': 1154, 'pixel_position': [11, 19], 'row_pitch': 59} | Failed |
| layout fixture 5 | {'address': 906, 'allocation_end': 1615, 'atlas_height': 24, 'atlas_width': 32, 'cell_origin': [8, 8], 'cell_size': 8, 'face_cell': [1, 1], 'face_row_end': 975, 'pixel_position': [14, 13], 'row_pitch': 67} | {'address': 971, 'allocation_end': 1615, 'atlas_height': 24, 'atlas_width': 32, 'cell_origin': [8, 8], 'cell_size': 8, 'face_cell': [1, 1], 'face_row_end': 975, 'pixel_position': [13, 14], 'row_pitch': 67} | Failed |
| layout fixture 6 | {'address': 1200, 'allocation_end': 2032, 'atlas_height': 27, 'atlas_width': 36, 'cell_origin': [27, 9], 'cell_size': 9, 'face_cell': [3, 1], 'face_row_end': 1277, 'pixel_position': [34, 15], 'row_pitch': 75} | {'address': 1273, 'allocation_end': 2032, 'atlas_height': 27, 'atlas_width': 36, 'cell_origin': [27, 9], 'cell_size': 9, 'face_cell': [3, 1], 'face_row_end': 1277, 'pixel_position': [33, 16], 'row_pitch': 75} | Failed |
SHA-256 / ac59ef6d887b36dcfafc77606158888b8a1cd01f6fd19db23cfe0b18d266fe75
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(p):
p = dict(p)
cell_size = p["size"]+2
atlas_width = 4*cell_size
atlas_height = 3*cell_size
face_cell = [(2,1),(0,1),(1,0),(1,2),(1,1),(3,1)][p["face"]]
cell_origin = [face_cell[0]*cell_size,face_cell[1]*cell_size]
pixel_position = [cell_origin[0]+1+p["u"],cell_origin[1]+1+p["v"]]
row_pitch = atlas_width*p["b"]+3
address = p["base"]+pixel_position[1]*row_pitch+pixel_position[0]*p["b"]
face_row_end = p["base"]+(cell_origin[1]+1+p["v"])*row_pitch+(cell_origin[0]+1+p["size"])*p["b"]
allocation_end = p["base"]+atlas_height*row_pitch
return {'cell_size': cell_size, 'atlas_width': atlas_width, 'atlas_height': atlas_height, 'face_cell': face_cell, 'cell_origin': cell_origin, 'pixel_position': pixel_position, 'row_pitch': row_pitch, 'address': address, 'face_row_end': face_row_end, 'allocation_end': allocation_end}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'size': 2, 'face': 0, 'u': 0, 'v': 1, 'b': 2, 'base': 7}, {'cell_size': 4, 'atlas_width': 16, 'atlas_height': 12, 'face_cell': (2, 1), 'cell_origin': [8, 4], 'pixel_position': [9, 6], 'row_pitch': 35, 'address': 235, 'face_row_end': 239, 'allocation_end': 427}), ({'size': 3, 'face': 1, 'u': 1, 'v': 2, 'b': 2, 'base': 7}, {'cell_size': 5, 'atlas_width': 20, 'atlas_height': 15, 'face_cell': (0, 1), 'cell_origin': [0, 5], 'pixel_position': [2, 8], 'row_pitch': 43, 'address': 355, 'face_row_end': 359, 'allocation_end': 652}), ({'size': 4, 'face': 2, 'u': 2, 'v': 3, 'b': 2, 'base': 7}, {'cell_size': 6, 'atlas_width': 24, 'atlas_height': 18, 'face_cell': (1, 0), 'cell_origin': [6, 0], 'pixel_position': [9, 4], 'row_pitch': 51, 'address': 229, 'face_row_end': 233, 'allocation_end': 925}), ({'size': 5, 'face': 3, 'u': 3, 'v': 4, 'b': 2, 'base': 7}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (1, 2), 'cell_origin': [7, 14], 'pixel_position': [11, 19], 'row_pitch': 59, 'address': 1150, 'face_row_end': 1154, 'allocation_end': 1246}), ({'size': 6, 'face': 4, 'u': 4, 'v': 5, 'b': 2, 'base': 7}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (1, 1), 'cell_origin': [8, 8], 'pixel_position': [13, 14], 'row_pitch': 67, 'address': 971, 'face_row_end': 975, 'allocation_end': 1615}), ({'size': 7, 'face': 5, 'u': 5, 'v': 6, 'b': 2, 'base': 7}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (3, 1), 'cell_origin': [27, 9], 'pixel_position': [33, 16], 'row_pitch': 75, 'address': 1273, 'face_row_end': 1277, 'allocation_end': 2032})], 2: [({'size': 3, 'face': 0, 'u': 0, 'v': 1, 'b': 3, 'base': 14}, {'cell_size': 5, 'atlas_width': 20, 'atlas_height': 15, 'face_cell': (2, 1), 'cell_origin': [10, 5], 'pixel_position': [11, 7], 'row_pitch': 63, 'address': 488, 'face_row_end': 497, 'allocation_end': 959}), ({'size': 4, 'face': 1, 'u': 1, 'v': 2, 'b': 3, 'base': 14}, {'cell_size': 6, 'atlas_width': 24, 'atlas_height': 18, 'face_cell': (0, 1), 'cell_origin': [0, 6], 'pixel_position': [2, 9], 'row_pitch': 75, 'address': 695, 'face_row_end': 704, 'allocation_end': 1364}), ({'size': 5, 'face': 2, 'u': 2, 'v': 3, 'b': 3, 'base': 14}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (1, 0), 'cell_origin': [7, 0], 'pixel_position': [10, 4], 'row_pitch': 87, 'address': 392, 'face_row_end': 401, 'allocation_end': 1841}), ({'size': 6, 'face': 3, 'u': 3, 'v': 4, 'b': 3, 'base': 14}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (1, 2), 'cell_origin': [8, 16], 'pixel_position': [12, 21], 'row_pitch': 99, 'address': 2129, 'face_row_end': 2138, 'allocation_end': 2390}), ({'size': 7, 'face': 4, 'u': 4, 'v': 5, 'b': 3, 'base': 14}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (1, 1), 'cell_origin': [9, 9], 'pixel_position': [14, 15], 'row_pitch': 111, 'address': 1721, 'face_row_end': 1730, 'allocation_end': 3011}), ({'size': 8, 'face': 5, 'u': 5, 'v': 6, 'b': 3, 'base': 14}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (3, 1), 'cell_origin': [30, 10], 'pixel_position': [36, 17], 'row_pitch': 123, 'address': 2213, 'face_row_end': 2222, 'allocation_end': 3704})], 3: [({'size': 4, 'face': 0, 'u': 0, 'v': 1, 'b': 4, 'base': 21}, {'cell_size': 6, 'atlas_width': 24, 'atlas_height': 18, 'face_cell': (2, 1), 'cell_origin': [12, 6], 'pixel_position': [13, 8], 'row_pitch': 99, 'address': 865, 'face_row_end': 881, 'allocation_end': 1803}), ({'size': 5, 'face': 1, 'u': 1, 'v': 2, 'b': 4, 'base': 21}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (0, 1), 'cell_origin': [0, 7], 'pixel_position': [2, 10], 'row_pitch': 115, 'address': 1179, 'face_row_end': 1195, 'allocation_end': 2436}), ({'size': 6, 'face': 2, 'u': 2, 'v': 3, 'b': 4, 'base': 21}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (1, 0), 'cell_origin': [8, 0], 'pixel_position': [11, 4], 'row_pitch': 131, 'address': 589, 'face_row_end': 605, 'allocation_end': 3165}), ({'size': 7, 'face': 3, 'u': 3, 'v': 4, 'b': 4, 'base': 21}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (1, 2), 'cell_origin': [9, 18], 'pixel_position': [13, 23], 'row_pitch': 147, 'address': 3454, 'face_row_end': 3470, 'allocation_end': 3990}), ({'size': 8, 'face': 4, 'u': 4, 'v': 5, 'b': 4, 'base': 21}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (1, 1), 'cell_origin': [10, 10], 'pixel_position': [15, 16], 'row_pitch': 163, 'address': 2689, 'face_row_end': 2705, 'allocation_end': 4911}), ({'size': 9, 'face': 5, 'u': 5, 'v': 6, 'b': 4, 'base': 21}, {'cell_size': 11, 'atlas_width': 44, 'atlas_height': 33, 'face_cell': (3, 1), 'cell_origin': [33, 11], 'pixel_position': [39, 18], 'row_pitch': 179, 'address': 3399, 'face_row_end': 3415, 'allocation_end': 5928})], 4: [({'size': 5, 'face': 0, 'u': 0, 'v': 1, 'b': 5, 'base': 28}, {'cell_size': 7, 'atlas_width': 28, 'atlas_height': 21, 'face_cell': (2, 1), 'cell_origin': [14, 7], 'pixel_position': [15, 9], 'row_pitch': 143, 'address': 1390, 'face_row_end': 1415, 'allocation_end': 3031}), ({'size': 6, 'face': 1, 'u': 1, 'v': 2, 'b': 5, 'base': 28}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (0, 1), 'cell_origin': [0, 8], 'pixel_position': [2, 11], 'row_pitch': 163, 'address': 1831, 'face_row_end': 1856, 'allocation_end': 3940}), ({'size': 7, 'face': 2, 'u': 2, 'v': 3, 'b': 5, 'base': 28}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (1, 0), 'cell_origin': [9, 0], 'pixel_position': [12, 4], 'row_pitch': 183, 'address': 820, 'face_row_end': 845, 'allocation_end': 4969}), ({'size': 8, 'face': 3, 'u': 3, 'v': 4, 'b': 5, 'base': 28}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (1, 2), 'cell_origin': [10, 20], 'pixel_position': [14, 25], 'row_pitch': 203, 'address': 5173, 'face_row_end': 5198, 'allocation_end': 6118}), ({'size': 9, 'face': 4, 'u': 4, 'v': 5, 'b': 5, 'base': 28}, {'cell_size': 11, 'atlas_width': 44, 'atlas_height': 33, 'face_cell': (1, 1), 'cell_origin': [11, 11], 'pixel_position': [16, 17], 'row_pitch': 223, 'address': 3899, 'face_row_end': 3924, 'allocation_end': 7387}), ({'size': 10, 'face': 5, 'u': 5, 'v': 6, 'b': 5, 'base': 28}, {'cell_size': 12, 'atlas_width': 48, 'atlas_height': 36, 'face_cell': (3, 1), 'cell_origin': [36, 12], 'pixel_position': [42, 19], 'row_pitch': 243, 'address': 4855, 'face_row_end': 4880, 'allocation_end': 8776})], 5: [({'size': 6, 'face': 0, 'u': 0, 'v': 1, 'b': 6, 'base': 35}, {'cell_size': 8, 'atlas_width': 32, 'atlas_height': 24, 'face_cell': (2, 1), 'cell_origin': [16, 8], 'pixel_position': [17, 10], 'row_pitch': 195, 'address': 2087, 'face_row_end': 2123, 'allocation_end': 4715}), ({'size': 7, 'face': 1, 'u': 1, 'v': 2, 'b': 6, 'base': 35}, {'cell_size': 9, 'atlas_width': 36, 'atlas_height': 27, 'face_cell': (0, 1), 'cell_origin': [0, 9], 'pixel_position': [2, 12], 'row_pitch': 219, 'address': 2675, 'face_row_end': 2711, 'allocation_end': 5948}), ({'size': 8, 'face': 2, 'u': 2, 'v': 3, 'b': 6, 'base': 35}, {'cell_size': 10, 'atlas_width': 40, 'atlas_height': 30, 'face_cell': (1, 0), 'cell_origin': [10, 0], 'pixel_position': [13, 4], 'row_pitch': 243, 'address': 1085, 'face_row_end': 1121, 'allocation_end': 7325}), ({'size': 9, 'face': 3, 'u': 3, 'v': 4, 'b': 6, 'base': 35}, {'cell_size': 11, 'atlas_width': 44, 'atlas_height': 33, 'face_cell': (1, 2), 'cell_origin': [11, 22], 'pixel_position': [15, 27], 'row_pitch': 267, 'address': 7334, 'face_row_end': 7370, 'allocation_end': 8846}), ({'size': 10, 'face': 4, 'u': 4, 'v': 5, 'b': 6, 'base': 35}, {'cell_size': 12, 'atlas_width': 48, 'atlas_height': 36, 'face_cell': (1, 1), 'cell_origin': [12, 12], 'pixel_position': [17, 18], 'row_pitch': 291, 'address': 5375, 'face_row_end': 5411, 'allocation_end': 10511}), ({'size': 11, 'face': 5, 'u': 5, 'v': 6, 'b': 6, 'base': 35}, {'cell_size': 13, 'atlas_width': 52, 'atlas_height': 39, 'face_cell': (3, 1), 'cell_origin': [39, 13], 'pixel_position': [45, 20], 'row_pitch': 315, 'address': 6605, 'face_row_end': 6641, 'allocation_end': 12320})]}
for i, (p, expected) in enumerate(cases[N]):
check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| layout fixture 1 | {'address': 235, 'allocation_end': 427, 'atlas_height': 12, 'atlas_width': 16, 'cell_origin': [8, 4], 'cell_size': 4, 'face_cell': [2, 1], 'face_row_end': 239, 'pixel_position': [9, 6], 'row_pitch': 35} | {'address': 235, 'allocation_end': 427, 'atlas_height': 12, 'atlas_width': 16, 'cell_origin': [8, 4], 'cell_size': 4, 'face_cell': [2, 1], 'face_row_end': 239, 'pixel_position': [9, 6], 'row_pitch': 35} | Passed |
| layout fixture 2 | {'address': 355, 'allocation_end': 652, 'atlas_height': 15, 'atlas_width': 20, 'cell_origin': [0, 5], 'cell_size': 5, 'face_cell': [0, 1], 'face_row_end': 359, 'pixel_position': [2, 8], 'row_pitch': 43} | {'address': 355, 'allocation_end': 652, 'atlas_height': 15, 'atlas_width': 20, 'cell_origin': [0, 5], 'cell_size': 5, 'face_cell': [0, 1], 'face_row_end': 359, 'pixel_position': [2, 8], 'row_pitch': 43} | Passed |
| layout fixture 3 | {'address': 229, 'allocation_end': 925, 'atlas_height': 18, 'atlas_width': 24, 'cell_origin': [6, 0], 'cell_size': 6, 'face_cell': [1, 0], 'face_row_end': 233, 'pixel_position': [9, 4], 'row_pitch': 51} | {'address': 229, 'allocation_end': 925, 'atlas_height': 18, 'atlas_width': 24, 'cell_origin': [6, 0], 'cell_size': 6, 'face_cell': [1, 0], 'face_row_end': 233, 'pixel_position': [9, 4], 'row_pitch': 51} | Passed |
| layout fixture 4 | {'address': 1150, 'allocation_end': 1246, 'atlas_height': 21, 'atlas_width': 28, 'cell_origin': [7, 14], 'cell_size': 7, 'face_cell': [1, 2], 'face_row_end': 1154, 'pixel_position': [11, 19], 'row_pitch': 59} | {'address': 1150, 'allocation_end': 1246, 'atlas_height': 21, 'atlas_width': 28, 'cell_origin': [7, 14], 'cell_size': 7, 'face_cell': [1, 2], 'face_row_end': 1154, 'pixel_position': [11, 19], 'row_pitch': 59} | Passed |
| layout fixture 5 | {'address': 971, 'allocation_end': 1615, 'atlas_height': 24, 'atlas_width': 32, 'cell_origin': [8, 8], 'cell_size': 8, 'face_cell': [1, 1], 'face_row_end': 975, 'pixel_position': [13, 14], 'row_pitch': 67} | {'address': 971, 'allocation_end': 1615, 'atlas_height': 24, 'atlas_width': 32, 'cell_origin': [8, 8], 'cell_size': 8, 'face_cell': [1, 1], 'face_row_end': 975, 'pixel_position': [13, 14], 'row_pitch': 67} | Passed |
| layout fixture 6 | {'address': 1273, 'allocation_end': 2032, 'atlas_height': 27, 'atlas_width': 36, 'cell_origin': [27, 9], 'cell_size': 9, 'face_cell': [3, 1], 'face_row_end': 1277, 'pixel_position': [33, 16], 'row_pitch': 75} | {'address': 1273, 'allocation_end': 2032, 'atlas_height': 27, 'atlas_width': 36, 'cell_origin': [27, 9], 'cell_size': 9, 'face_cell': [3, 1], 'face_row_end': 1277, 'pixel_position': [33, 16], 'row_pitch': 75} | Passed |
SHA-256 / 92733aa8412d9fb3baac605d4b068224828898d529b2907cc493210cd2a49b73
Verification & scope
Stipulated deterministic toy buffer layout; not a graphics API, codec, GPU vendor tiling specification, or hardware-conformance claim. Inputs satisfy the dimensions and bounds stated by the model. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:45:26.208941+00:00.
Case digest / 9bc3d721c00334b01342eb59512e6ae7b13f3e02efc392d32a4d19e2062418b1