FAILURE MAP
← Case archive

FA-52766 / Raster memory layout / Open access

Split Depth Stencil Aspects: Stencil address assumes packed four-byte texels · case 01

The returned physical layout descriptor disagrees with the declared buffer mapping at stencil_address.

Verified by executionVariant 1 · 6 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Stencil address assumes packed four-byte texels The faulty expression is stencil_origin+p["y"]*stencil_pitch+p["x"]*4.

VERIFIED REPAIR

Apply the stipulated layout rule at stencil_address: stencil_origin+p["y"]*stencil_pitch+p["x"].

Unsuccessful approach: The attempted repair uses depth_address+3 and still violates the layout contract.

Case contract

A toy depth-stencil image stores three depth bytes per texel in one plane and one stencil byte per texel in a second plane. Depth rows have one pad byte, stencil rows two; planes begin with distinct four- and six-byte tags. 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)
    depth_pitch = p["w"]*3+1
    stencil_pitch = p["w"]+2
    depth_origin = p["base"]+4
    stencil_origin = depth_origin+depth_pitch*p["h"]+6
    depth_address = depth_origin+p["y"]*depth_pitch+p["x"]*3
    stencil_address = stencil_origin+p["y"]*stencil_pitch+p["x"]*4
    selected_address = depth_address if p["aspect"]==0 else stencil_address
    selected_width = 3 if p["aspect"]==0 else 1
    selected_end = selected_address+selected_width
    allocation_end = stencil_origin+stencil_pitch*p["h"]
    return {'depth_pitch': depth_pitch, 'stencil_pitch': stencil_pitch, 'depth_origin': depth_origin, 'stencil_origin': stencil_origin, 'depth_address': depth_address, 'stencil_address': stencil_address, 'selected_address': selected_address, 'selected_width': selected_width, 'selected_end': selected_end, 'allocation_end': allocation_end}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 15, 'stencil_origin': 25, 'depth_address': 15, 'stencil_address': 25, 'selected_address': 15, 'selected_width': 3, 'selected_end': 18, 'allocation_end': 28}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'aspect': 1}, {'depth_pitch': 19, 'stencil_pitch': 8, 'depth_origin': 15, 'stencil_origin': 97, 'depth_address': 56, 'stencil_address': 114, 'selected_address': 114, 'selected_width': 1, 'selected_end': 115, 'allocation_end': 129}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'aspect': 0}, {'depth_pitch': 31, 'stencil_pitch': 12, 'depth_origin': 15, 'stencil_origin': 269, 'depth_address': 225, 'stencil_address': 349, 'selected_address': 225, 'selected_width': 3, 'selected_end': 228, 'allocation_end': 365}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 15, 'stencil_origin': 413, 'depth_address': 403, 'stencil_address': 554, 'selected_address': 554, 'selected_width': 1, 'selected_end': 555, 'allocation_end': 557}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'aspect': 0}, {'depth_pitch': 55, 'stencil_pitch': 20, 'depth_origin': 15, 'stencil_origin': 571, 'depth_address': 503, 'stencil_address': 747, 'selected_address': 503, 'selected_width': 3, 'selected_end': 506, 'allocation_end': 771}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 15, 'stencil_origin': 307, 'depth_address': 288, 'stencil_address': 418, 'selected_address': 418, 'selected_width': 1, 'selected_end': 419, 'allocation_end': 424})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 26, 'stencil_origin': 36, 'depth_address': 26, 'stencil_address': 36, 'selected_address': 26, 'selected_width': 3, 'selected_end': 29, 'allocation_end': 39}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 26, 'stencil_origin': 142, 'depth_address': 73, 'stencil_address': 161, 'selected_address': 161, 'selected_width': 1, 'selected_end': 162, 'allocation_end': 187}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'aspect': 0}, {'depth_pitch': 34, 'stencil_pitch': 13, 'depth_origin': 26, 'stencil_origin': 338, 'depth_address': 254, 'stencil_address': 424, 'selected_address': 254, 'selected_width': 3, 'selected_end': 257, 'allocation_end': 455}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 26, 'stencil_origin': 424, 'depth_address': 414, 'stencil_address': 565, 'selected_address': 565, 'selected_width': 1, 'selected_end': 566, 'allocation_end': 568}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'aspect': 0}, {'depth_pitch': 58, 'stencil_pitch': 21, 'depth_origin': 26, 'stencil_origin': 670, 'depth_address': 538, 'stencil_address': 854, 'selected_address': 538, 'selected_width': 3, 'selected_end': 541, 'allocation_end': 901}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 26, 'stencil_origin': 318, 'depth_address': 299, 'stencil_address': 429, 'selected_address': 429, 'selected_width': 1, 'selected_end': 430, 'allocation_end': 435})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 37, 'stencil_origin': 47, 'depth_address': 37, 'stencil_address': 47, 'selected_address': 37, 'selected_width': 3, 'selected_end': 40, 'allocation_end': 50}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'aspect': 1}, {'depth_pitch': 25, 'stencil_pitch': 10, 'depth_origin': 37, 'stencil_origin': 193, 'depth_address': 90, 'stencil_address': 214, 'selected_address': 214, 'selected_width': 1, 'selected_end': 215, 'allocation_end': 253}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'aspect': 0}, {'depth_pitch': 37, 'stencil_pitch': 14, 'depth_origin': 37, 'stencil_origin': 413, 'depth_address': 283, 'stencil_address': 505, 'selected_address': 283, 'selected_width': 3, 'selected_end': 286, 'allocation_end': 553}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 37, 'stencil_origin': 435, 'depth_address': 425, 'stencil_address': 576, 'selected_address': 576, 'selected_width': 1, 'selected_end': 577, 'allocation_end': 579}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'aspect': 0}, {'depth_pitch': 61, 'stencil_pitch': 22, 'depth_origin': 37, 'stencil_origin': 775, 'depth_address': 573, 'stencil_address': 967, 'selected_address': 573, 'selected_width': 3, 'selected_end': 576, 'allocation_end': 1039}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 37, 'stencil_origin': 329, 'depth_address': 310, 'stencil_address': 440, 'selected_address': 440, 'selected_width': 1, 'selected_end': 441, 'allocation_end': 446})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 48, 'stencil_origin': 58, 'depth_address': 48, 'stencil_address': 58, 'selected_address': 48, 'selected_width': 3, 'selected_end': 51, 'allocation_end': 61}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'aspect': 1}, {'depth_pitch': 28, 'stencil_pitch': 11, 'depth_origin': 48, 'stencil_origin': 250, 'depth_address': 107, 'stencil_address': 273, 'selected_address': 273, 'selected_width': 1, 'selected_end': 274, 'allocation_end': 327}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'aspect': 0}, {'depth_pitch': 40, 'stencil_pitch': 15, 'depth_origin': 48, 'stencil_origin': 494, 'depth_address': 312, 'stencil_address': 592, 'selected_address': 312, 'selected_width': 3, 'selected_end': 315, 'allocation_end': 659}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 48, 'stencil_origin': 446, 'depth_address': 436, 'stencil_address': 587, 'selected_address': 587, 'selected_width': 1, 'selected_end': 588, 'allocation_end': 590}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'aspect': 0}, {'depth_pitch': 64, 'stencil_pitch': 23, 'depth_origin': 48, 'stencil_origin': 886, 'depth_address': 608, 'stencil_address': 1086, 'selected_address': 608, 'selected_width': 3, 'selected_end': 611, 'allocation_end': 1185}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 48, 'stencil_origin': 340, 'depth_address': 321, 'stencil_address': 451, 'selected_address': 451, 'selected_width': 1, 'selected_end': 452, 'allocation_end': 457})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 59, 'stencil_origin': 69, 'depth_address': 59, 'stencil_address': 69, 'selected_address': 59, 'selected_width': 3, 'selected_end': 62, 'allocation_end': 72}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'aspect': 1}, {'depth_pitch': 31, 'stencil_pitch': 12, 'depth_origin': 59, 'stencil_origin': 313, 'depth_address': 124, 'stencil_address': 338, 'selected_address': 338, 'selected_width': 1, 'selected_end': 339, 'allocation_end': 409}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'aspect': 0}, {'depth_pitch': 43, 'stencil_pitch': 16, 'depth_origin': 59, 'stencil_origin': 581, 'depth_address': 341, 'stencil_address': 685, 'selected_address': 341, 'selected_width': 3, 'selected_end': 344, 'allocation_end': 773}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 59, 'stencil_origin': 457, 'depth_address': 447, 'stencil_address': 598, 'selected_address': 598, 'selected_width': 1, 'selected_end': 599, 'allocation_end': 601}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'aspect': 0}, {'depth_pitch': 67, 'stencil_pitch': 24, 'depth_origin': 59, 'stencil_origin': 1003, 'depth_address': 643, 'stencil_address': 1211, 'selected_address': 643, 'selected_width': 3, 'selected_end': 646, 'allocation_end': 1339}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 59, 'stencil_origin': 351, 'depth_address': 332, 'stencil_address': 462, 'selected_address': 462, 'selected_width': 1, 'selected_end': 463, 'allocation_end': 468})]}
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 fixtureActualExpectedOutcome
layout fixture 1{'allocation_end': 28, 'depth_address': 15, 'depth_origin': 15, 'depth_pitch': 4, 'selected_address': 15, 'selected_end': 18, 'selected_width': 3, 'stencil_address': 25, 'stencil_origin': 25, 'stencil_pitch': 3}{'allocation_end': 28, 'depth_address': 15, 'depth_origin': 15, 'depth_pitch': 4, 'selected_address': 15, 'selected_end': 18, 'selected_width': 3, 'stencil_address': 25, 'stencil_origin': 25, 'stencil_pitch': 3}Passed
layout fixture 2{'allocation_end': 129, 'depth_address': 56, 'depth_origin': 15, 'depth_pitch': 19, 'selected_address': 117, 'selected_end': 118, 'selected_width': 1, 'stencil_address': 117, 'stencil_origin': 97, 'stencil_pitch': 8}{'allocation_end': 129, 'depth_address': 56, 'depth_origin': 15, 'depth_pitch': 19, 'selected_address': 114, 'selected_end': 115, 'selected_width': 1, 'stencil_address': 114, 'stencil_origin': 97, 'stencil_pitch': 8}Failed
layout fixture 3{'allocation_end': 365, 'depth_address': 225, 'depth_origin': 15, 'depth_pitch': 31, 'selected_address': 225, 'selected_end': 228, 'selected_width': 3, 'stencil_address': 373, 'stencil_origin': 269, 'stencil_pitch': 12}{'allocation_end': 365, 'depth_address': 225, 'depth_origin': 15, 'depth_pitch': 31, 'selected_address': 225, 'selected_end': 228, 'selected_width': 3, 'stencil_address': 349, 'stencil_origin': 269, 'stencil_pitch': 12}Failed
layout fixture 4{'allocation_end': 557, 'depth_address': 403, 'depth_origin': 15, 'depth_pitch': 49, 'selected_address': 599, 'selected_end': 600, 'selected_width': 1, 'stencil_address': 599, 'stencil_origin': 413, 'stencil_pitch': 18}{'allocation_end': 557, 'depth_address': 403, 'depth_origin': 15, 'depth_pitch': 49, 'selected_address': 554, 'selected_end': 555, 'selected_width': 1, 'stencil_address': 554, 'stencil_origin': 413, 'stencil_pitch': 18}Failed
layout fixture 5{'allocation_end': 771, 'depth_address': 503, 'depth_origin': 15, 'depth_pitch': 55, 'selected_address': 503, 'selected_end': 506, 'selected_width': 3, 'stencil_address': 795, 'stencil_origin': 571, 'stencil_pitch': 20}{'allocation_end': 771, 'depth_address': 503, 'depth_origin': 15, 'depth_pitch': 55, 'selected_address': 503, 'selected_end': 506, 'selected_width': 3, 'stencil_address': 747, 'stencil_origin': 571, 'stencil_pitch': 20}Failed
layout fixture 6{'allocation_end': 424, 'depth_address': 288, 'depth_origin': 15, 'depth_pitch': 22, 'selected_address': 427, 'selected_end': 428, 'selected_width': 1, 'stencil_address': 427, 'stencil_origin': 307, 'stencil_pitch': 9}{'allocation_end': 424, 'depth_address': 288, 'depth_origin': 15, 'depth_pitch': 22, 'selected_address': 418, 'selected_end': 419, 'selected_width': 1, 'stencil_address': 418, 'stencil_origin': 307, 'stencil_pitch': 9}Failed

SHA-256 / 5b2403303a91374005f7b5c2cc6af1a894ac7f5bd2ac1cbf432a40ea23ecb806

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)
    depth_pitch = p["w"]*3+1
    stencil_pitch = p["w"]+2
    depth_origin = p["base"]+4
    stencil_origin = depth_origin+depth_pitch*p["h"]+6
    depth_address = depth_origin+p["y"]*depth_pitch+p["x"]*3
    stencil_address = depth_address+3
    selected_address = depth_address if p["aspect"]==0 else stencil_address
    selected_width = 3 if p["aspect"]==0 else 1
    selected_end = selected_address+selected_width
    allocation_end = stencil_origin+stencil_pitch*p["h"]
    return {'depth_pitch': depth_pitch, 'stencil_pitch': stencil_pitch, 'depth_origin': depth_origin, 'stencil_origin': stencil_origin, 'depth_address': depth_address, 'stencil_address': stencil_address, 'selected_address': selected_address, 'selected_width': selected_width, 'selected_end': selected_end, 'allocation_end': allocation_end}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 15, 'stencil_origin': 25, 'depth_address': 15, 'stencil_address': 25, 'selected_address': 15, 'selected_width': 3, 'selected_end': 18, 'allocation_end': 28}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'aspect': 1}, {'depth_pitch': 19, 'stencil_pitch': 8, 'depth_origin': 15, 'stencil_origin': 97, 'depth_address': 56, 'stencil_address': 114, 'selected_address': 114, 'selected_width': 1, 'selected_end': 115, 'allocation_end': 129}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'aspect': 0}, {'depth_pitch': 31, 'stencil_pitch': 12, 'depth_origin': 15, 'stencil_origin': 269, 'depth_address': 225, 'stencil_address': 349, 'selected_address': 225, 'selected_width': 3, 'selected_end': 228, 'allocation_end': 365}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 15, 'stencil_origin': 413, 'depth_address': 403, 'stencil_address': 554, 'selected_address': 554, 'selected_width': 1, 'selected_end': 555, 'allocation_end': 557}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'aspect': 0}, {'depth_pitch': 55, 'stencil_pitch': 20, 'depth_origin': 15, 'stencil_origin': 571, 'depth_address': 503, 'stencil_address': 747, 'selected_address': 503, 'selected_width': 3, 'selected_end': 506, 'allocation_end': 771}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 15, 'stencil_origin': 307, 'depth_address': 288, 'stencil_address': 418, 'selected_address': 418, 'selected_width': 1, 'selected_end': 419, 'allocation_end': 424})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 26, 'stencil_origin': 36, 'depth_address': 26, 'stencil_address': 36, 'selected_address': 26, 'selected_width': 3, 'selected_end': 29, 'allocation_end': 39}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 26, 'stencil_origin': 142, 'depth_address': 73, 'stencil_address': 161, 'selected_address': 161, 'selected_width': 1, 'selected_end': 162, 'allocation_end': 187}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'aspect': 0}, {'depth_pitch': 34, 'stencil_pitch': 13, 'depth_origin': 26, 'stencil_origin': 338, 'depth_address': 254, 'stencil_address': 424, 'selected_address': 254, 'selected_width': 3, 'selected_end': 257, 'allocation_end': 455}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 26, 'stencil_origin': 424, 'depth_address': 414, 'stencil_address': 565, 'selected_address': 565, 'selected_width': 1, 'selected_end': 566, 'allocation_end': 568}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'aspect': 0}, {'depth_pitch': 58, 'stencil_pitch': 21, 'depth_origin': 26, 'stencil_origin': 670, 'depth_address': 538, 'stencil_address': 854, 'selected_address': 538, 'selected_width': 3, 'selected_end': 541, 'allocation_end': 901}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 26, 'stencil_origin': 318, 'depth_address': 299, 'stencil_address': 429, 'selected_address': 429, 'selected_width': 1, 'selected_end': 430, 'allocation_end': 435})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 37, 'stencil_origin': 47, 'depth_address': 37, 'stencil_address': 47, 'selected_address': 37, 'selected_width': 3, 'selected_end': 40, 'allocation_end': 50}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'aspect': 1}, {'depth_pitch': 25, 'stencil_pitch': 10, 'depth_origin': 37, 'stencil_origin': 193, 'depth_address': 90, 'stencil_address': 214, 'selected_address': 214, 'selected_width': 1, 'selected_end': 215, 'allocation_end': 253}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'aspect': 0}, {'depth_pitch': 37, 'stencil_pitch': 14, 'depth_origin': 37, 'stencil_origin': 413, 'depth_address': 283, 'stencil_address': 505, 'selected_address': 283, 'selected_width': 3, 'selected_end': 286, 'allocation_end': 553}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 37, 'stencil_origin': 435, 'depth_address': 425, 'stencil_address': 576, 'selected_address': 576, 'selected_width': 1, 'selected_end': 577, 'allocation_end': 579}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'aspect': 0}, {'depth_pitch': 61, 'stencil_pitch': 22, 'depth_origin': 37, 'stencil_origin': 775, 'depth_address': 573, 'stencil_address': 967, 'selected_address': 573, 'selected_width': 3, 'selected_end': 576, 'allocation_end': 1039}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 37, 'stencil_origin': 329, 'depth_address': 310, 'stencil_address': 440, 'selected_address': 440, 'selected_width': 1, 'selected_end': 441, 'allocation_end': 446})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 48, 'stencil_origin': 58, 'depth_address': 48, 'stencil_address': 58, 'selected_address': 48, 'selected_width': 3, 'selected_end': 51, 'allocation_end': 61}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'aspect': 1}, {'depth_pitch': 28, 'stencil_pitch': 11, 'depth_origin': 48, 'stencil_origin': 250, 'depth_address': 107, 'stencil_address': 273, 'selected_address': 273, 'selected_width': 1, 'selected_end': 274, 'allocation_end': 327}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'aspect': 0}, {'depth_pitch': 40, 'stencil_pitch': 15, 'depth_origin': 48, 'stencil_origin': 494, 'depth_address': 312, 'stencil_address': 592, 'selected_address': 312, 'selected_width': 3, 'selected_end': 315, 'allocation_end': 659}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 48, 'stencil_origin': 446, 'depth_address': 436, 'stencil_address': 587, 'selected_address': 587, 'selected_width': 1, 'selected_end': 588, 'allocation_end': 590}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'aspect': 0}, {'depth_pitch': 64, 'stencil_pitch': 23, 'depth_origin': 48, 'stencil_origin': 886, 'depth_address': 608, 'stencil_address': 1086, 'selected_address': 608, 'selected_width': 3, 'selected_end': 611, 'allocation_end': 1185}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 48, 'stencil_origin': 340, 'depth_address': 321, 'stencil_address': 451, 'selected_address': 451, 'selected_width': 1, 'selected_end': 452, 'allocation_end': 457})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 59, 'stencil_origin': 69, 'depth_address': 59, 'stencil_address': 69, 'selected_address': 59, 'selected_width': 3, 'selected_end': 62, 'allocation_end': 72}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'aspect': 1}, {'depth_pitch': 31, 'stencil_pitch': 12, 'depth_origin': 59, 'stencil_origin': 313, 'depth_address': 124, 'stencil_address': 338, 'selected_address': 338, 'selected_width': 1, 'selected_end': 339, 'allocation_end': 409}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'aspect': 0}, {'depth_pitch': 43, 'stencil_pitch': 16, 'depth_origin': 59, 'stencil_origin': 581, 'depth_address': 341, 'stencil_address': 685, 'selected_address': 341, 'selected_width': 3, 'selected_end': 344, 'allocation_end': 773}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 59, 'stencil_origin': 457, 'depth_address': 447, 'stencil_address': 598, 'selected_address': 598, 'selected_width': 1, 'selected_end': 599, 'allocation_end': 601}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'aspect': 0}, {'depth_pitch': 67, 'stencil_pitch': 24, 'depth_origin': 59, 'stencil_origin': 1003, 'depth_address': 643, 'stencil_address': 1211, 'selected_address': 643, 'selected_width': 3, 'selected_end': 646, 'allocation_end': 1339}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 59, 'stencil_origin': 351, 'depth_address': 332, 'stencil_address': 462, 'selected_address': 462, 'selected_width': 1, 'selected_end': 463, 'allocation_end': 468})]}
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 fixtureActualExpectedOutcome
layout fixture 1{'allocation_end': 28, 'depth_address': 15, 'depth_origin': 15, 'depth_pitch': 4, 'selected_address': 15, 'selected_end': 18, 'selected_width': 3, 'stencil_address': 18, 'stencil_origin': 25, 'stencil_pitch': 3}{'allocation_end': 28, 'depth_address': 15, 'depth_origin': 15, 'depth_pitch': 4, 'selected_address': 15, 'selected_end': 18, 'selected_width': 3, 'stencil_address': 25, 'stencil_origin': 25, 'stencil_pitch': 3}Failed
layout fixture 2{'allocation_end': 129, 'depth_address': 56, 'depth_origin': 15, 'depth_pitch': 19, 'selected_address': 59, 'selected_end': 60, 'selected_width': 1, 'stencil_address': 59, 'stencil_origin': 97, 'stencil_pitch': 8}{'allocation_end': 129, 'depth_address': 56, 'depth_origin': 15, 'depth_pitch': 19, 'selected_address': 114, 'selected_end': 115, 'selected_width': 1, 'stencil_address': 114, 'stencil_origin': 97, 'stencil_pitch': 8}Failed
layout fixture 3{'allocation_end': 365, 'depth_address': 225, 'depth_origin': 15, 'depth_pitch': 31, 'selected_address': 225, 'selected_end': 228, 'selected_width': 3, 'stencil_address': 228, 'stencil_origin': 269, 'stencil_pitch': 12}{'allocation_end': 365, 'depth_address': 225, 'depth_origin': 15, 'depth_pitch': 31, 'selected_address': 225, 'selected_end': 228, 'selected_width': 3, 'stencil_address': 349, 'stencil_origin': 269, 'stencil_pitch': 12}Failed
layout fixture 4{'allocation_end': 557, 'depth_address': 403, 'depth_origin': 15, 'depth_pitch': 49, 'selected_address': 406, 'selected_end': 407, 'selected_width': 1, 'stencil_address': 406, 'stencil_origin': 413, 'stencil_pitch': 18}{'allocation_end': 557, 'depth_address': 403, 'depth_origin': 15, 'depth_pitch': 49, 'selected_address': 554, 'selected_end': 555, 'selected_width': 1, 'stencil_address': 554, 'stencil_origin': 413, 'stencil_pitch': 18}Failed
layout fixture 5{'allocation_end': 771, 'depth_address': 503, 'depth_origin': 15, 'depth_pitch': 55, 'selected_address': 503, 'selected_end': 506, 'selected_width': 3, 'stencil_address': 506, 'stencil_origin': 571, 'stencil_pitch': 20}{'allocation_end': 771, 'depth_address': 503, 'depth_origin': 15, 'depth_pitch': 55, 'selected_address': 503, 'selected_end': 506, 'selected_width': 3, 'stencil_address': 747, 'stencil_origin': 571, 'stencil_pitch': 20}Failed
layout fixture 6{'allocation_end': 424, 'depth_address': 288, 'depth_origin': 15, 'depth_pitch': 22, 'selected_address': 291, 'selected_end': 292, 'selected_width': 1, 'stencil_address': 291, 'stencil_origin': 307, 'stencil_pitch': 9}{'allocation_end': 424, 'depth_address': 288, 'depth_origin': 15, 'depth_pitch': 22, 'selected_address': 418, 'selected_end': 419, 'selected_width': 1, 'stencil_address': 418, 'stencil_origin': 307, 'stencil_pitch': 9}Failed

SHA-256 / 3ce3fde5b2c120cc30a3c7aa0602c32dd5770283073f3a4bd9d69f2bdc47a588

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)
    depth_pitch = p["w"]*3+1
    stencil_pitch = p["w"]+2
    depth_origin = p["base"]+4
    stencil_origin = depth_origin+depth_pitch*p["h"]+6
    depth_address = depth_origin+p["y"]*depth_pitch+p["x"]*3
    stencil_address = stencil_origin+p["y"]*stencil_pitch+p["x"]
    selected_address = depth_address if p["aspect"]==0 else stencil_address
    selected_width = 3 if p["aspect"]==0 else 1
    selected_end = selected_address+selected_width
    allocation_end = stencil_origin+stencil_pitch*p["h"]
    return {'depth_pitch': depth_pitch, 'stencil_pitch': stencil_pitch, 'depth_origin': depth_origin, 'stencil_origin': stencil_origin, 'depth_address': depth_address, 'stencil_address': stencil_address, 'selected_address': selected_address, 'selected_width': selected_width, 'selected_end': selected_end, 'allocation_end': allocation_end}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 15, 'stencil_origin': 25, 'depth_address': 15, 'stencil_address': 25, 'selected_address': 15, 'selected_width': 3, 'selected_end': 18, 'allocation_end': 28}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'aspect': 1}, {'depth_pitch': 19, 'stencil_pitch': 8, 'depth_origin': 15, 'stencil_origin': 97, 'depth_address': 56, 'stencil_address': 114, 'selected_address': 114, 'selected_width': 1, 'selected_end': 115, 'allocation_end': 129}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'aspect': 0}, {'depth_pitch': 31, 'stencil_pitch': 12, 'depth_origin': 15, 'stencil_origin': 269, 'depth_address': 225, 'stencil_address': 349, 'selected_address': 225, 'selected_width': 3, 'selected_end': 228, 'allocation_end': 365}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 15, 'stencil_origin': 413, 'depth_address': 403, 'stencil_address': 554, 'selected_address': 554, 'selected_width': 1, 'selected_end': 555, 'allocation_end': 557}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'aspect': 0}, {'depth_pitch': 55, 'stencil_pitch': 20, 'depth_origin': 15, 'stencil_origin': 571, 'depth_address': 503, 'stencil_address': 747, 'selected_address': 503, 'selected_width': 3, 'selected_end': 506, 'allocation_end': 771}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 15, 'stencil_origin': 307, 'depth_address': 288, 'stencil_address': 418, 'selected_address': 418, 'selected_width': 1, 'selected_end': 419, 'allocation_end': 424})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 26, 'stencil_origin': 36, 'depth_address': 26, 'stencil_address': 36, 'selected_address': 26, 'selected_width': 3, 'selected_end': 29, 'allocation_end': 39}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 26, 'stencil_origin': 142, 'depth_address': 73, 'stencil_address': 161, 'selected_address': 161, 'selected_width': 1, 'selected_end': 162, 'allocation_end': 187}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'aspect': 0}, {'depth_pitch': 34, 'stencil_pitch': 13, 'depth_origin': 26, 'stencil_origin': 338, 'depth_address': 254, 'stencil_address': 424, 'selected_address': 254, 'selected_width': 3, 'selected_end': 257, 'allocation_end': 455}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 26, 'stencil_origin': 424, 'depth_address': 414, 'stencil_address': 565, 'selected_address': 565, 'selected_width': 1, 'selected_end': 566, 'allocation_end': 568}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'aspect': 0}, {'depth_pitch': 58, 'stencil_pitch': 21, 'depth_origin': 26, 'stencil_origin': 670, 'depth_address': 538, 'stencil_address': 854, 'selected_address': 538, 'selected_width': 3, 'selected_end': 541, 'allocation_end': 901}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 26, 'stencil_origin': 318, 'depth_address': 299, 'stencil_address': 429, 'selected_address': 429, 'selected_width': 1, 'selected_end': 430, 'allocation_end': 435})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 37, 'stencil_origin': 47, 'depth_address': 37, 'stencil_address': 47, 'selected_address': 37, 'selected_width': 3, 'selected_end': 40, 'allocation_end': 50}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'aspect': 1}, {'depth_pitch': 25, 'stencil_pitch': 10, 'depth_origin': 37, 'stencil_origin': 193, 'depth_address': 90, 'stencil_address': 214, 'selected_address': 214, 'selected_width': 1, 'selected_end': 215, 'allocation_end': 253}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'aspect': 0}, {'depth_pitch': 37, 'stencil_pitch': 14, 'depth_origin': 37, 'stencil_origin': 413, 'depth_address': 283, 'stencil_address': 505, 'selected_address': 283, 'selected_width': 3, 'selected_end': 286, 'allocation_end': 553}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 37, 'stencil_origin': 435, 'depth_address': 425, 'stencil_address': 576, 'selected_address': 576, 'selected_width': 1, 'selected_end': 577, 'allocation_end': 579}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'aspect': 0}, {'depth_pitch': 61, 'stencil_pitch': 22, 'depth_origin': 37, 'stencil_origin': 775, 'depth_address': 573, 'stencil_address': 967, 'selected_address': 573, 'selected_width': 3, 'selected_end': 576, 'allocation_end': 1039}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 37, 'stencil_origin': 329, 'depth_address': 310, 'stencil_address': 440, 'selected_address': 440, 'selected_width': 1, 'selected_end': 441, 'allocation_end': 446})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 48, 'stencil_origin': 58, 'depth_address': 48, 'stencil_address': 58, 'selected_address': 48, 'selected_width': 3, 'selected_end': 51, 'allocation_end': 61}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'aspect': 1}, {'depth_pitch': 28, 'stencil_pitch': 11, 'depth_origin': 48, 'stencil_origin': 250, 'depth_address': 107, 'stencil_address': 273, 'selected_address': 273, 'selected_width': 1, 'selected_end': 274, 'allocation_end': 327}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'aspect': 0}, {'depth_pitch': 40, 'stencil_pitch': 15, 'depth_origin': 48, 'stencil_origin': 494, 'depth_address': 312, 'stencil_address': 592, 'selected_address': 312, 'selected_width': 3, 'selected_end': 315, 'allocation_end': 659}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 48, 'stencil_origin': 446, 'depth_address': 436, 'stencil_address': 587, 'selected_address': 587, 'selected_width': 1, 'selected_end': 588, 'allocation_end': 590}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'aspect': 0}, {'depth_pitch': 64, 'stencil_pitch': 23, 'depth_origin': 48, 'stencil_origin': 886, 'depth_address': 608, 'stencil_address': 1086, 'selected_address': 608, 'selected_width': 3, 'selected_end': 611, 'allocation_end': 1185}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 48, 'stencil_origin': 340, 'depth_address': 321, 'stencil_address': 451, 'selected_address': 451, 'selected_width': 1, 'selected_end': 452, 'allocation_end': 457})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'aspect': 0}, {'depth_pitch': 4, 'stencil_pitch': 3, 'depth_origin': 59, 'stencil_origin': 69, 'depth_address': 59, 'stencil_address': 69, 'selected_address': 59, 'selected_width': 3, 'selected_end': 62, 'allocation_end': 72}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'aspect': 1}, {'depth_pitch': 31, 'stencil_pitch': 12, 'depth_origin': 59, 'stencil_origin': 313, 'depth_address': 124, 'stencil_address': 338, 'selected_address': 338, 'selected_width': 1, 'selected_end': 339, 'allocation_end': 409}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'aspect': 0}, {'depth_pitch': 43, 'stencil_pitch': 16, 'depth_origin': 59, 'stencil_origin': 581, 'depth_address': 341, 'stencil_address': 685, 'selected_address': 341, 'selected_width': 3, 'selected_end': 344, 'allocation_end': 773}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'aspect': 1}, {'depth_pitch': 49, 'stencil_pitch': 18, 'depth_origin': 59, 'stencil_origin': 457, 'depth_address': 447, 'stencil_address': 598, 'selected_address': 598, 'selected_width': 1, 'selected_end': 599, 'allocation_end': 601}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'aspect': 0}, {'depth_pitch': 67, 'stencil_pitch': 24, 'depth_origin': 59, 'stencil_origin': 1003, 'depth_address': 643, 'stencil_address': 1211, 'selected_address': 643, 'selected_width': 3, 'selected_end': 646, 'allocation_end': 1339}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'aspect': 1}, {'depth_pitch': 22, 'stencil_pitch': 9, 'depth_origin': 59, 'stencil_origin': 351, 'depth_address': 332, 'stencil_address': 462, 'selected_address': 462, 'selected_width': 1, 'selected_end': 463, 'allocation_end': 468})]}
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 fixtureActualExpectedOutcome
layout fixture 1{'allocation_end': 28, 'depth_address': 15, 'depth_origin': 15, 'depth_pitch': 4, 'selected_address': 15, 'selected_end': 18, 'selected_width': 3, 'stencil_address': 25, 'stencil_origin': 25, 'stencil_pitch': 3}{'allocation_end': 28, 'depth_address': 15, 'depth_origin': 15, 'depth_pitch': 4, 'selected_address': 15, 'selected_end': 18, 'selected_width': 3, 'stencil_address': 25, 'stencil_origin': 25, 'stencil_pitch': 3}Passed
layout fixture 2{'allocation_end': 129, 'depth_address': 56, 'depth_origin': 15, 'depth_pitch': 19, 'selected_address': 114, 'selected_end': 115, 'selected_width': 1, 'stencil_address': 114, 'stencil_origin': 97, 'stencil_pitch': 8}{'allocation_end': 129, 'depth_address': 56, 'depth_origin': 15, 'depth_pitch': 19, 'selected_address': 114, 'selected_end': 115, 'selected_width': 1, 'stencil_address': 114, 'stencil_origin': 97, 'stencil_pitch': 8}Passed
layout fixture 3{'allocation_end': 365, 'depth_address': 225, 'depth_origin': 15, 'depth_pitch': 31, 'selected_address': 225, 'selected_end': 228, 'selected_width': 3, 'stencil_address': 349, 'stencil_origin': 269, 'stencil_pitch': 12}{'allocation_end': 365, 'depth_address': 225, 'depth_origin': 15, 'depth_pitch': 31, 'selected_address': 225, 'selected_end': 228, 'selected_width': 3, 'stencil_address': 349, 'stencil_origin': 269, 'stencil_pitch': 12}Passed
layout fixture 4{'allocation_end': 557, 'depth_address': 403, 'depth_origin': 15, 'depth_pitch': 49, 'selected_address': 554, 'selected_end': 555, 'selected_width': 1, 'stencil_address': 554, 'stencil_origin': 413, 'stencil_pitch': 18}{'allocation_end': 557, 'depth_address': 403, 'depth_origin': 15, 'depth_pitch': 49, 'selected_address': 554, 'selected_end': 555, 'selected_width': 1, 'stencil_address': 554, 'stencil_origin': 413, 'stencil_pitch': 18}Passed
layout fixture 5{'allocation_end': 771, 'depth_address': 503, 'depth_origin': 15, 'depth_pitch': 55, 'selected_address': 503, 'selected_end': 506, 'selected_width': 3, 'stencil_address': 747, 'stencil_origin': 571, 'stencil_pitch': 20}{'allocation_end': 771, 'depth_address': 503, 'depth_origin': 15, 'depth_pitch': 55, 'selected_address': 503, 'selected_end': 506, 'selected_width': 3, 'stencil_address': 747, 'stencil_origin': 571, 'stencil_pitch': 20}Passed
layout fixture 6{'allocation_end': 424, 'depth_address': 288, 'depth_origin': 15, 'depth_pitch': 22, 'selected_address': 418, 'selected_end': 419, 'selected_width': 1, 'stencil_address': 418, 'stencil_origin': 307, 'stencil_pitch': 9}{'allocation_end': 424, 'depth_address': 288, 'depth_origin': 15, 'depth_pitch': 22, 'selected_address': 418, 'selected_end': 419, 'selected_width': 1, 'stencil_address': 418, 'stencil_origin': 307, 'stencil_pitch': 9}Passed

SHA-256 / 0cbb0fa6ac7844a54d776ac2f6bb50306b81e3fd718aa0ad2080ae4b667d900b

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:32.234076+00:00.

Case digest / ced55946f62128df023188781a654d20a5d30d8cdd5c0b37e809f6bf2b7ade57