{"abstract":"Results are labeled by viewport ID instead of the view that rendered them.","category":"Raster clipping","checks":10,"contract":"A draw provides per-view clip sets, active-view bits, primitive view bits, optional viewport routing, enabled viewport clips, and primitive sample coverage. A view renders only if both masks include it. Route entries select the viewport clip while preserving output view identity. A null viewport route suppresses that view; absent route defaults to matching view index. Disabled viewport scissor passes full extent.","evaluation_group":"s3-raster-clipping-multiview-clip-routing","failed_approach":"Dense renumbering loses sparse output view IDs.","family":"s3-raster-clipping-multiview-clip-routing-output-view-identity","id":"FA-51171","implementations":{"attempt":{"sha256":"b8af90e107b5a42411fac879d4030d4dfe05a5a6a6d5f327da3a93d19a096f3e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    full=set(range(size))\n    out=[]\n    for viewclips,active,primitive,routes,scissors,scissor_enabled,samples in commands:\n        rendered=[]\n        for view in range(len(viewclips)):\n            bit=1<<view\n            if not (active & bit and primitive & bit): continue\n            viewport=routes[view] if view<len(routes) else view\n            if viewport is None: continue\n            if viewport<0 or viewport>=len(scissors): continue\n            viewport_clip=set(scissors[viewport]) if viewport in scissor_enabled else full\n            visible=set(samples)&set(viewclips[view])&viewport_clip&full\n            rendered.append([len(rendered),sorted(visible)])\n        out.append(rendered)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 4), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 4), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 4), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 4), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 4), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 4), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 4), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 4), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 4), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 4), [[[0, [0, 1, 2, 3]]]])\nif N == 2:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 5), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 5), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 5), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 5), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 5), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 5), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 5), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 5), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 5), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 5), [[[0, [0, 1, 2, 3, 4]]]])\nif N == 3:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 6), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 6), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 6), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 6), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 6), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 6), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 6), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 6), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 6), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 6), [[[0, [0, 1, 2, 3, 4, 5]]]])\nif N == 4:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 7), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 7), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 7), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 7), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 7), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 7), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 7), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 7), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 7), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 7), [[[0, [0, 1, 2, 3, 4, 5, 6]]]])\nif N == 5:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 8), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 8), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 8), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 8), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 8), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 8), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 8), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 8), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 8), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 8), [[[0, [0, 1, 2, 3, 4, 5, 6, 7]]]])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"d8c2f9b61e999efa30b8ef92ec0af65cf9c4f6af1a9efd7e1b8204eeb62ac3bf","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    full=set(range(size))\n    out=[]\n    for viewclips,active,primitive,routes,scissors,scissor_enabled,samples in commands:\n        rendered=[]\n        for view in range(len(viewclips)):\n            bit=1<<view\n            if not (active & bit and primitive & bit): continue\n            viewport=routes[view] if view<len(routes) else view\n            if viewport is None: continue\n            if viewport<0 or viewport>=len(scissors): continue\n            viewport_clip=set(scissors[viewport]) if viewport in scissor_enabled else full\n            visible=set(samples)&set(viewclips[view])&viewport_clip&full\n            rendered.append([viewport,sorted(visible)])\n        out.append(rendered)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 4), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 4), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 4), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 4), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 4), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 4), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 4), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 4), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 4), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 4), [[[0, [0, 1, 2, 3]]]])\nif N == 2:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 5), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 5), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 5), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 5), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 5), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 5), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 5), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 5), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 5), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 5), [[[0, [0, 1, 2, 3, 4]]]])\nif N == 3:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 6), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 6), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 6), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 6), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 6), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 6), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 6), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 6), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 6), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 6), [[[0, [0, 1, 2, 3, 4, 5]]]])\nif N == 4:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 7), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 7), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 7), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 7), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 7), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 7), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 7), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 7), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 7), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 7), [[[0, [0, 1, 2, 3, 4, 5, 6]]]])\nif N == 5:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 8), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 8), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 8), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 8), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 8), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 8), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 8), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 8), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 8), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 8), [[[0, [0, 1, 2, 3, 4, 5, 6, 7]]]])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"a2c88c6f34fdf03d2835c6e0de50525bf6129e0b2253b71a49b740ce22276e21","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    full=set(range(size))\n    out=[]\n    for viewclips,active,primitive,routes,scissors,scissor_enabled,samples in commands:\n        rendered=[]\n        for view in range(len(viewclips)):\n            bit=1<<view\n            if not (active & bit and primitive & bit): continue\n            viewport=routes[view] if view<len(routes) else view\n            if viewport is None: continue\n            if viewport<0 or viewport>=len(scissors): continue\n            viewport_clip=set(scissors[viewport]) if viewport in scissor_enabled else full\n            visible=set(samples)&set(viewclips[view])&viewport_clip&full\n            rendered.append([view,sorted(visible)])\n        out.append(rendered)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 4), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 4), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 4), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 4), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 4), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 4), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 4), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 4), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 4), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 4), [[[0, [0, 1, 2, 3]]]])\nif N == 2:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 5), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 5), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 5), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 5), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 5), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 5), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 5), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 5), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 5), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 5), [[[0, [0, 1, 2, 3, 4]]]])\nif N == 3:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 6), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 6), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 6), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 6), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 6), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 6), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 6), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 6), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 6), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 6), [[[0, [0, 1, 2, 3, 4, 5]]]])\nif N == 4:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 7), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 7), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 7), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 7), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 7), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 7), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 7), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 7), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 7), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 7), [[[0, [0, 1, 2, 3, 4, 5, 6]]]])\nif N == 5:\n    check('explicit sequence 0', solve([[[[0], [1], [2]], 7, 7, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 8), [[[0, [0]], [1, [1]], [2, [2]]]])\n    check('explicit sequence 1', solve([[[[0], [1]], 1, 2, [], [[0], [1]], [0, 1], [0, 1]]], 8), [[]])\n    check('explicit sequence 2', solve([[[[0, 1], [1, 2]], 3, 3, [1, 0], [[0], [1]], [0, 1], [0, 1, 2]]], 8), [[[0, [1]], [1, []]]])\n    check('explicit sequence 3', solve([[[[0]], 1, 1, [None], [[0]], [0], [0]]], 8), [[]])\n    check('explicit sequence 4', solve([[[[0]], 1, 1, [-1], [[0]], [0], [0]]], 8), [[]])\n    check('explicit sequence 5', solve([[[[0, 1], [0, 1]], 3, 3, [1, 0], [[0], [1]], [0], [0, 1]]], 8), [[[0, [0, 1]], [1, [0]]]])\n    check('explicit sequence 6', solve([[[[0]], 1, 1, [0], [[]], [], [0]]], 8), [[[0, [0]]]])\n    check('explicit sequence 7', solve([[[[0], [1], [2]], 4, 4, [], [[0], [1], [2]], [0, 1, 2], [0, 1, 2]]], 8), [[[2, [2]]]])\n    check('explicit sequence 8', solve([[[[0, 99]], 1, 1, [0], [[0, 99]], [0], [0, 99]]], 8), [[[0, [0]]]])\n    check('explicit sequence 9', solve([[[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], 1, 1, [], [[]], [], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]], 8), [[[0, [0, 1, 2, 3, 4, 5, 6, 7]]]])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Finite one-dimensional integer sample sets model coverage state only; no geometric intersection, memory layout, GPU or graphics-standard conformance is claimed. 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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-raster-clipping-multiview-clip-routing-output-view-identity","generated_at":"2026-09-29T14:45:16.272689+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Raster clip state can leak coverage across draws even when every individual region is valid.","repair":"Apply the documented state transition at output view identity. A draw provides per-view clip sets, active-view bits, primitive view bits, optional viewport routing, enabled viewport clips, and primitive sample coverage. A view renders only if both masks include it. Route entries select the viewport clip while preserving output view identity. A null viewport route suppresses that view; absent route defaults to matching view index. Disabled viewport scissor passes full extent.","root_cause":"Results are labeled by viewport ID instead of the view that rendered them.","sha256":"82a3a6d6a263204f9242d1391cee037acf2db5ea1bafdef33ce7b143bfcf3c96","title":"Multiview clip routing: output view identity · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.158,"exit_code":1,"observations":[{"actual":[[[0,[0]],[1,[1]],[2,[2]]]],"check":"explicit sequence 0","expected":[[[0,[0]],[1,[1]],[2,[2]]]],"passed":true},{"actual":[[]],"check":"explicit sequence 1","expected":[[]],"passed":true},{"actual":[[[0,[1]],[1,[]]]],"check":"explicit sequence 2","expected":[[[0,[1]],[1,[]]]],"passed":true},{"actual":[[]],"check":"explicit sequence 3","expected":[[]],"passed":true},{"actual":[[]],"check":"explicit sequence 4","expected":[[]],"passed":true},{"actual":[[[0,[0,1]],[1,[0]]]],"check":"explicit sequence 5","expected":[[[0,[0,1]],[1,[0]]]],"passed":true},{"actual":[[[0,[0]]]],"check":"explicit sequence 6","expected":[[[0,[0]]]],"passed":true},{"actual":[[[0,[2]]]],"check":"explicit sequence 7","expected":[[[2,[2]]]],"passed":false},{"actual":[[[0,[0]]]],"check":"explicit sequence 8","expected":[[[0,[0]]]],"passed":true},{"actual":[[[0,[0,1,2,3]]]],"check":"explicit sequence 9","expected":[[[0,[0,1,2,3]]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[[0, [0]], [1, [1]], [2, [2]]]], \"expected\": [[[0, [0]], [1, [1]], [2, [2]]]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[[0, [1]], [1, []]]], \"expected\": [[[0, [1]], [1, []]]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[[0, [0, 1]], [1, [0]]]], \"expected\": [[[0, [0, 1]], [1, [0]]]], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [[[0, [0]]]], \"expected\": [[[0, [0]]]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[[0, [2]]]], \"expected\": [[[2, [2]]]], \"passed\": false}, {\"check\": \"explicit sequence 8\", \"actual\": [[[0, [0]]]], \"expected\": [[[0, [0]]]], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [[[0, [0, 1, 2, 3]]]], \"expected\": [[[0, [0, 1, 2, 3]]]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.932,"exit_code":1,"observations":[{"actual":[[[0,[0]],[1,[1]],[2,[2]]]],"check":"explicit sequence 0","expected":[[[0,[0]],[1,[1]],[2,[2]]]],"passed":true},{"actual":[[]],"check":"explicit sequence 1","expected":[[]],"passed":true},{"actual":[[[1,[1]],[0,[]]]],"check":"explicit sequence 2","expected":[[[0,[1]],[1,[]]]],"passed":false},{"actual":[[]],"check":"explicit sequence 3","expected":[[]],"passed":true},{"actual":[[]],"check":"explicit sequence 4","expected":[[]],"passed":true},{"actual":[[[1,[0,1]],[0,[0]]]],"check":"explicit sequence 5","expected":[[[0,[0,1]],[1,[0]]]],"passed":false},{"actual":[[[0,[0]]]],"check":"explicit sequence 6","expected":[[[0,[0]]]],"passed":true},{"actual":[[[2,[2]]]],"check":"explicit sequence 7","expected":[[[2,[2]]]],"passed":true},{"actual":[[[0,[0]]]],"check":"explicit sequence 8","expected":[[[0,[0]]]],"passed":true},{"actual":[[[0,[0,1,2,3]]]],"check":"explicit sequence 9","expected":[[[0,[0,1,2,3]]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[[0, [0]], [1, [1]], [2, [2]]]], \"expected\": [[[0, [0]], [1, [1]], [2, [2]]]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[[1, [1]], [0, []]]], \"expected\": [[[0, [1]], [1, []]]], \"passed\": false}, {\"check\": \"explicit sequence 3\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[[1, [0, 1]], [0, [0]]]], \"expected\": [[[0, [0, 1]], [1, [0]]]], \"passed\": false}, {\"check\": \"explicit sequence 6\", \"actual\": [[[0, [0]]]], \"expected\": [[[0, [0]]]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[[2, [2]]]], \"expected\": [[[2, [2]]]], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [[[0, [0]]]], \"expected\": [[[0, [0]]]], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [[[0, [0, 1, 2, 3]]]], \"expected\": [[[0, [0, 1, 2, 3]]]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.033,"exit_code":0,"observations":[{"actual":[[[0,[0]],[1,[1]],[2,[2]]]],"check":"explicit sequence 0","expected":[[[0,[0]],[1,[1]],[2,[2]]]],"passed":true},{"actual":[[]],"check":"explicit sequence 1","expected":[[]],"passed":true},{"actual":[[[0,[1]],[1,[]]]],"check":"explicit sequence 2","expected":[[[0,[1]],[1,[]]]],"passed":true},{"actual":[[]],"check":"explicit sequence 3","expected":[[]],"passed":true},{"actual":[[]],"check":"explicit sequence 4","expected":[[]],"passed":true},{"actual":[[[0,[0,1]],[1,[0]]]],"check":"explicit sequence 5","expected":[[[0,[0,1]],[1,[0]]]],"passed":true},{"actual":[[[0,[0]]]],"check":"explicit sequence 6","expected":[[[0,[0]]]],"passed":true},{"actual":[[[2,[2]]]],"check":"explicit sequence 7","expected":[[[2,[2]]]],"passed":true},{"actual":[[[0,[0]]]],"check":"explicit sequence 8","expected":[[[0,[0]]]],"passed":true},{"actual":[[[0,[0,1,2,3]]]],"check":"explicit sequence 9","expected":[[[0,[0,1,2,3]]]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[[0, [0]], [1, [1]], [2, [2]]]], \"expected\": [[[0, [0]], [1, [1]], [2, [2]]]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[[0, [1]], [1, []]]], \"expected\": [[[0, [1]], [1, []]]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[[0, [0, 1]], [1, [0]]]], \"expected\": [[[0, [0, 1]], [1, [0]]]], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [[[0, [0]]]], \"expected\": [[[0, [0]]]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[[2, [2]]]], \"expected\": [[[2, [2]]]], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [[[0, [0]]]], \"expected\": [[[0, [0]]]], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [[[0, [0, 1, 2, 3]]]], \"expected\": [[[0, [0, 1, 2, 3]]]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}