FA-52141 / Raster memory layout / Open access
Cube Face Cross Atlas: Atlas cell reserves only one gutter edge or none · case 01
The returned physical layout descriptor disagrees with the declared buffer mapping at cell_size.
ROOT CAUSE
Atlas cell reserves only one gutter edge or none The faulty expression is p["size"]+1.
VERIFIED REPAIR
Apply the stipulated layout rule at cell_size: p["size"]+2.
Unsuccessful approach: The attempted repair uses p["size"] 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"]+1
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': 156, 'allocation_end': 250, 'atlas_height': 9, 'atlas_width': 12, 'cell_origin': [6, 3], 'cell_size': 3, 'face_cell': [2, 1], 'face_row_end': 160, 'pixel_position': [7, 5], 'row_pitch': 27} | {'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': 256, 'allocation_end': 427, 'atlas_height': 12, 'atlas_width': 16, 'cell_origin': [0, 4], 'cell_size': 4, 'face_cell': [0, 1], 'face_row_end': 260, 'pixel_position': [2, 7], 'row_pitch': 35} | {'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': 195, 'allocation_end': 652, 'atlas_height': 15, 'atlas_width': 20, 'cell_origin': [5, 0], 'cell_size': 5, 'face_cell': [1, 0], 'face_row_end': 199, 'pixel_position': [8, 4], 'row_pitch': 43} | {'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': 894, 'allocation_end': 925, 'atlas_height': 18, 'atlas_width': 24, 'cell_origin': [6, 12], 'cell_size': 6, 'face_cell': [1, 2], 'face_row_end': 898, 'pixel_position': [10, 17], 'row_pitch': 51} | {'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': 798, 'allocation_end': 1246, 'atlas_height': 21, 'atlas_width': 28, 'cell_origin': [7, 7], 'cell_size': 7, 'face_cell': [1, 1], 'face_row_end': 802, 'pixel_position': [12, 13], 'row_pitch': 59} | {'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': 1072, 'allocation_end': 1615, 'atlas_height': 24, 'atlas_width': 32, 'cell_origin': [24, 8], 'cell_size': 8, 'face_cell': [3, 1], 'face_row_end': 1076, 'pixel_position': [30, 15], 'row_pitch': 67} | {'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 / b29201bd85bb670b549750fd9430869f46c40ab26332611338e9bff3a75e8e40
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"]
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': 93, 'allocation_end': 121, 'atlas_height': 6, 'atlas_width': 8, 'cell_origin': [4, 2], 'cell_size': 2, 'face_cell': [2, 1], 'face_row_end': 97, 'pixel_position': [5, 4], 'row_pitch': 19} | {'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': 173, 'allocation_end': 250, 'atlas_height': 9, 'atlas_width': 12, 'cell_origin': [0, 3], 'cell_size': 3, 'face_cell': [0, 1], 'face_row_end': 177, 'pixel_position': [2, 6], 'row_pitch': 27} | {'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': 161, 'allocation_end': 427, 'atlas_height': 12, 'atlas_width': 16, 'cell_origin': [4, 0], 'cell_size': 4, 'face_cell': [1, 0], 'face_row_end': 165, 'pixel_position': [7, 4], 'row_pitch': 35} | {'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': 670, 'allocation_end': 652, 'atlas_height': 15, 'atlas_width': 20, 'cell_origin': [5, 10], 'cell_size': 5, 'face_cell': [1, 2], 'face_row_end': 674, 'pixel_position': [9, 15], 'row_pitch': 43} | {'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': 641, 'allocation_end': 925, 'atlas_height': 18, 'atlas_width': 24, 'cell_origin': [6, 6], 'cell_size': 6, 'face_cell': [1, 1], 'face_row_end': 645, 'pixel_position': [11, 12], 'row_pitch': 51} | {'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': 887, 'allocation_end': 1246, 'atlas_height': 21, 'atlas_width': 28, 'cell_origin': [21, 7], 'cell_size': 7, 'face_cell': [3, 1], 'face_row_end': 891, 'pixel_position': [27, 14], 'row_pitch': 59} | {'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 / a3053514cefc72973cb89ee36c65e59d3da610efdc7a007a3f84b19e97e86b19
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:25.969342+00:00.
Case digest / cae38e889163ff058a62f93f7c7a7483a007e703954113f51583f280a353893c