{"abstract":"Open meshes report their original boundary edge count after subdivision.","category":"Mesh topology invariants","checks":7,"contract":"Input [V,E,arities,B,scheme,levels]: counts of a mesh with face sizes \"arities\" and B boundary edges. Loop (triangles only, else \"non-triangle\"): V+=E, E=2E+3F, F=4F. Catmull-Clark: V=V+E+F, E=2E+sum(arities), faces become sum(arities) quads. Boundary edges double per level. Return [V,E,F,B,V-E+F] after the given levels.","evaluation_group":"w2-mesh_topology_invariants-subdivision-counts","failed_approach":"Doubling only inside the Loop branch forgets Catmull-Clark boundaries.","family":"w2-mesh_topology_invariants-subdivision-counts-boundary-doubling","id":"FA-88526","implementations":{"attempt":{"sha256":"a3a53b64efebb7373b6a12bd1e524373efcda5bb691b75ca756f2393c8b03b2b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    V,E,ar,B,scheme,levels=x\n    ar=list(ar)\n    for _ in range(levels):\n        F=len(ar)\n        S=sum(ar)\n        if scheme=='loop':\n            if any(n!=3 for n in ar): return 'non-triangle'\n            V,E,ar=V+E,2*E+3*F,[3]*(4*F)\n            B=2*B\n        else:\n            V,E,ar=V+E+F,2*E+S,[4]*S\n    return [V,E,len(ar),B,V-E+len(ar)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['tetra loop 1', [[4, 6, [3, 3, 3, 3], 0, 'loop', 1]], [10, 24, 16, 0, 2]], ['tetra loop 2', [[4, 6, [3, 3, 3, 3], 0, 'loop', 2]], [34, 96, 64, 0, 2]], ['disk loop', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 1]], [16, 35, 20, 10, 1]], ['disk loop 2', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 2]], [51, 130, 80, 20, 1]], ['cube cc', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 1]], [26, 48, 24, 0, 2]], ['cube cc 2', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 2]], [98, 192, 96, 0, 2]], ['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]]], [['disk loop 2', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 2]], [51, 130, 80, 20, 1]], ['cube cc', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 1]], [26, 48, 24, 0, 2]], ['cube cc 2', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 2]], [98, 192, 96, 0, 2]], ['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]], ['quad and triangle cc', [[5, 6, [4, 3], 4, 'cc', 1]], [13, 19, 7, 8, 1]], ['quad and triangle cc 2', [[5, 6, [4, 3], 4, 'cc', 2]], [39, 66, 28, 16, 1]], ['pentagon cc', [[5, 5, [5], 5, 'cc', 1]], [11, 15, 5, 10, 1]]], [['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]], ['quad and triangle cc', [[5, 6, [4, 3], 4, 'cc', 1]], [13, 19, 7, 8, 1]], ['quad and triangle cc 2', [[5, 6, [4, 3], 4, 'cc', 2]], [39, 66, 28, 16, 1]], ['pentagon cc', [[5, 5, [5], 5, 'cc', 1]], [11, 15, 5, 10, 1]], ['quad under loop', [[4, 4, [4], 4, 'loop', 1]], 'non-triangle'], ['triangle then quad under loop', [[5, 6, [3, 4], 4, 'loop', 1]], 'non-triangle'], ['zero levels', [[4, 6, [3, 3, 3, 3], 0, 'loop', 0]], [4, 6, 4, 0, 2]]], [['quad and triangle cc', [[5, 6, [4, 3], 4, 'cc', 1]], [13, 19, 7, 8, 1]], ['pentagon cc', [[5, 5, [5], 5, 'cc', 1]], [11, 15, 5, 10, 1]], ['triangle then quad under loop', [[5, 6, [3, 4], 4, 'loop', 1]], 'non-triangle'], ['zero levels', [[4, 6, [3, 3, 3, 3], 0, 'loop', 0]], [4, 6, 4, 0, 2]], ['torus cc', [[9, 18, [4, 4, 4, 4, 4, 4, 4, 4, 4], 0, 'cc', 1]], [36, 72, 36, 0, 0]], ['triangle tetra cc', [[4, 6, [3, 3, 3, 3], 0, 'cc', 1]], [14, 24, 12, 0, 2]], ['single triangle loop 3', [[3, 3, [3], 3, 'loop', 3]], [45, 108, 64, 24, 1]]], [['tetra loop 1', [[4, 6, [3, 3, 3, 3], 0, 'loop', 1]], [10, 24, 16, 0, 2]], ['tetra loop 2', [[4, 6, [3, 3, 3, 3], 0, 'loop', 2]], [34, 96, 64, 0, 2]], ['disk loop', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 1]], [16, 35, 20, 10, 1]], ['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]], ['quad and triangle cc 2', [[5, 6, [4, 3], 4, 'cc', 2]], [39, 66, 28, 16, 1]], ['triangle tetra cc', [[4, 6, [3, 3, 3, 3], 0, 'cc', 1]], [14, 24, 12, 0, 2]], ['single triangle loop 3', [[3, 3, [3], 3, 'loop', 3]], [45, 108, 64, 24, 1]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\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":"6d943457acc89ca5d63a640d4c9cb6eb4021e755db3af8eeac82a6c597fa2f77","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    V,E,ar,B,scheme,levels=x\n    ar=list(ar)\n    for _ in range(levels):\n        F=len(ar)\n        S=sum(ar)\n        if scheme=='loop':\n            if any(n!=3 for n in ar): return 'non-triangle'\n            V,E,ar=V+E,2*E+3*F,[3]*(4*F)\n        else:\n            V,E,ar=V+E+F,2*E+S,[4]*S\n    return [V,E,len(ar),B,V-E+len(ar)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['tetra loop 1', [[4, 6, [3, 3, 3, 3], 0, 'loop', 1]], [10, 24, 16, 0, 2]], ['tetra loop 2', [[4, 6, [3, 3, 3, 3], 0, 'loop', 2]], [34, 96, 64, 0, 2]], ['disk loop', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 1]], [16, 35, 20, 10, 1]], ['disk loop 2', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 2]], [51, 130, 80, 20, 1]], ['cube cc', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 1]], [26, 48, 24, 0, 2]], ['cube cc 2', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 2]], [98, 192, 96, 0, 2]], ['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]]], [['disk loop 2', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 2]], [51, 130, 80, 20, 1]], ['cube cc', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 1]], [26, 48, 24, 0, 2]], ['cube cc 2', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 2]], [98, 192, 96, 0, 2]], ['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]], ['quad and triangle cc', [[5, 6, [4, 3], 4, 'cc', 1]], [13, 19, 7, 8, 1]], ['quad and triangle cc 2', [[5, 6, [4, 3], 4, 'cc', 2]], [39, 66, 28, 16, 1]], ['pentagon cc', [[5, 5, [5], 5, 'cc', 1]], [11, 15, 5, 10, 1]]], [['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]], ['quad and triangle cc', [[5, 6, [4, 3], 4, 'cc', 1]], [13, 19, 7, 8, 1]], ['quad and triangle cc 2', [[5, 6, [4, 3], 4, 'cc', 2]], [39, 66, 28, 16, 1]], ['pentagon cc', [[5, 5, [5], 5, 'cc', 1]], [11, 15, 5, 10, 1]], ['quad under loop', [[4, 4, [4], 4, 'loop', 1]], 'non-triangle'], ['triangle then quad under loop', [[5, 6, [3, 4], 4, 'loop', 1]], 'non-triangle'], ['zero levels', [[4, 6, [3, 3, 3, 3], 0, 'loop', 0]], [4, 6, 4, 0, 2]]], [['quad and triangle cc', [[5, 6, [4, 3], 4, 'cc', 1]], [13, 19, 7, 8, 1]], ['pentagon cc', [[5, 5, [5], 5, 'cc', 1]], [11, 15, 5, 10, 1]], ['triangle then quad under loop', [[5, 6, [3, 4], 4, 'loop', 1]], 'non-triangle'], ['zero levels', [[4, 6, [3, 3, 3, 3], 0, 'loop', 0]], [4, 6, 4, 0, 2]], ['torus cc', [[9, 18, [4, 4, 4, 4, 4, 4, 4, 4, 4], 0, 'cc', 1]], [36, 72, 36, 0, 0]], ['triangle tetra cc', [[4, 6, [3, 3, 3, 3], 0, 'cc', 1]], [14, 24, 12, 0, 2]], ['single triangle loop 3', [[3, 3, [3], 3, 'loop', 3]], [45, 108, 64, 24, 1]]], [['tetra loop 1', [[4, 6, [3, 3, 3, 3], 0, 'loop', 1]], [10, 24, 16, 0, 2]], ['tetra loop 2', [[4, 6, [3, 3, 3, 3], 0, 'loop', 2]], [34, 96, 64, 0, 2]], ['disk loop', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 1]], [16, 35, 20, 10, 1]], ['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]], ['quad and triangle cc 2', [[5, 6, [4, 3], 4, 'cc', 2]], [39, 66, 28, 16, 1]], ['triangle tetra cc', [[4, 6, [3, 3, 3, 3], 0, 'cc', 1]], [14, 24, 12, 0, 2]], ['single triangle loop 3', [[3, 3, [3], 3, 'loop', 3]], [45, 108, 64, 24, 1]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\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":"19115b2d9330ecb2acf5e5ec7f5fc90670accb8a59e6ba6206a8383c0d088c1b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    V,E,ar,B,scheme,levels=x\n    ar=list(ar)\n    for _ in range(levels):\n        F=len(ar)\n        S=sum(ar)\n        if scheme=='loop':\n            if any(n!=3 for n in ar): return 'non-triangle'\n            V,E,ar=V+E,2*E+3*F,[3]*(4*F)\n        else:\n            V,E,ar=V+E+F,2*E+S,[4]*S\n        B=2*B\n    return [V,E,len(ar),B,V-E+len(ar)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['tetra loop 1', [[4, 6, [3, 3, 3, 3], 0, 'loop', 1]], [10, 24, 16, 0, 2]], ['tetra loop 2', [[4, 6, [3, 3, 3, 3], 0, 'loop', 2]], [34, 96, 64, 0, 2]], ['disk loop', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 1]], [16, 35, 20, 10, 1]], ['disk loop 2', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 2]], [51, 130, 80, 20, 1]], ['cube cc', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 1]], [26, 48, 24, 0, 2]], ['cube cc 2', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 2]], [98, 192, 96, 0, 2]], ['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]]], [['disk loop 2', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 2]], [51, 130, 80, 20, 1]], ['cube cc', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 1]], [26, 48, 24, 0, 2]], ['cube cc 2', [[8, 12, [4, 4, 4, 4, 4, 4], 0, 'cc', 2]], [98, 192, 96, 0, 2]], ['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]], ['quad and triangle cc', [[5, 6, [4, 3], 4, 'cc', 1]], [13, 19, 7, 8, 1]], ['quad and triangle cc 2', [[5, 6, [4, 3], 4, 'cc', 2]], [39, 66, 28, 16, 1]], ['pentagon cc', [[5, 5, [5], 5, 'cc', 1]], [11, 15, 5, 10, 1]]], [['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]], ['quad and triangle cc', [[5, 6, [4, 3], 4, 'cc', 1]], [13, 19, 7, 8, 1]], ['quad and triangle cc 2', [[5, 6, [4, 3], 4, 'cc', 2]], [39, 66, 28, 16, 1]], ['pentagon cc', [[5, 5, [5], 5, 'cc', 1]], [11, 15, 5, 10, 1]], ['quad under loop', [[4, 4, [4], 4, 'loop', 1]], 'non-triangle'], ['triangle then quad under loop', [[5, 6, [3, 4], 4, 'loop', 1]], 'non-triangle'], ['zero levels', [[4, 6, [3, 3, 3, 3], 0, 'loop', 0]], [4, 6, 4, 0, 2]]], [['quad and triangle cc', [[5, 6, [4, 3], 4, 'cc', 1]], [13, 19, 7, 8, 1]], ['pentagon cc', [[5, 5, [5], 5, 'cc', 1]], [11, 15, 5, 10, 1]], ['triangle then quad under loop', [[5, 6, [3, 4], 4, 'loop', 1]], 'non-triangle'], ['zero levels', [[4, 6, [3, 3, 3, 3], 0, 'loop', 0]], [4, 6, 4, 0, 2]], ['torus cc', [[9, 18, [4, 4, 4, 4, 4, 4, 4, 4, 4], 0, 'cc', 1]], [36, 72, 36, 0, 0]], ['triangle tetra cc', [[4, 6, [3, 3, 3, 3], 0, 'cc', 1]], [14, 24, 12, 0, 2]], ['single triangle loop 3', [[3, 3, [3], 3, 'loop', 3]], [45, 108, 64, 24, 1]]], [['tetra loop 1', [[4, 6, [3, 3, 3, 3], 0, 'loop', 1]], [10, 24, 16, 0, 2]], ['tetra loop 2', [[4, 6, [3, 3, 3, 3], 0, 'loop', 2]], [34, 96, 64, 0, 2]], ['disk loop', [[6, 10, [3, 3, 3, 3, 3], 5, 'loop', 1]], [16, 35, 20, 10, 1]], ['single quad cc', [[4, 4, [4], 4, 'cc', 2]], [25, 40, 16, 16, 1]], ['quad and triangle cc 2', [[5, 6, [4, 3], 4, 'cc', 2]], [39, 66, 28, 16, 1]], ['triangle tetra cc', [[4, 6, [3, 3, 3, 3], 0, 'cc', 1]], [14, 24, 12, 0, 2]], ['single triangle loop 3', [[3, 3, [3], 3, 'loop', 3]], [45, 108, 64, 24, 1]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\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":"Pure combinatorial teaching model over integer face lists with a stipulated contract; no geometry kernel or file format is implied. 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":"w2-mesh_topology_invariants-subdivision-counts-boundary-doubling","generated_at":"2026-09-29T14:51:08.955681+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Mesh processing pipelines (remeshing, export, simulation, printing) trust these topological counts and adjacency answers; a wrong invariant silently accepts broken meshes or rejects valid ones.","repair":"Double B on every level for both schemes.","root_cause":"The boundary counter is never doubled per level.","sha256":"19949299c20b0467ddbc55e61ad31958742ad891d8e251b39173748871f99b84","title":"Boundary edge count is not refined · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.449,"exit_code":1,"observations":[{"actual":[10,24,16,0,2],"check":"tetra loop 1","expected":[10,24,16,0,2],"passed":true},{"actual":[34,96,64,0,2],"check":"tetra loop 2","expected":[34,96,64,0,2],"passed":true},{"actual":[16,35,20,10,1],"check":"disk loop","expected":[16,35,20,10,1],"passed":true},{"actual":[51,130,80,20,1],"check":"disk loop 2","expected":[51,130,80,20,1],"passed":true},{"actual":[26,48,24,0,2],"check":"cube cc","expected":[26,48,24,0,2],"passed":true},{"actual":[98,192,96,0,2],"check":"cube cc 2","expected":[98,192,96,0,2],"passed":true},{"actual":[25,40,16,4,1],"check":"single quad cc","expected":[25,40,16,16,1],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"tetra loop 1\", \"actual\": [10, 24, 16, 0, 2], \"expected\": [10, 24, 16, 0, 2], \"passed\": true}, {\"check\": \"tetra loop 2\", \"actual\": [34, 96, 64, 0, 2], \"expected\": [34, 96, 64, 0, 2], \"passed\": true}, {\"check\": \"disk loop\", \"actual\": [16, 35, 20, 10, 1], \"expected\": [16, 35, 20, 10, 1], \"passed\": true}, {\"check\": \"disk loop 2\", \"actual\": [51, 130, 80, 20, 1], \"expected\": [51, 130, 80, 20, 1], \"passed\": true}, {\"check\": \"cube cc\", \"actual\": [26, 48, 24, 0, 2], \"expected\": [26, 48, 24, 0, 2], \"passed\": true}, {\"check\": \"cube cc 2\", \"actual\": [98, 192, 96, 0, 2], \"expected\": [98, 192, 96, 0, 2], \"passed\": true}, {\"check\": \"single quad cc\", \"actual\": [25, 40, 16, 4, 1], \"expected\": [25, 40, 16, 16, 1], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.519,"exit_code":1,"observations":[{"actual":[10,24,16,0,2],"check":"tetra loop 1","expected":[10,24,16,0,2],"passed":true},{"actual":[34,96,64,0,2],"check":"tetra loop 2","expected":[34,96,64,0,2],"passed":true},{"actual":[16,35,20,5,1],"check":"disk loop","expected":[16,35,20,10,1],"passed":false},{"actual":[51,130,80,5,1],"check":"disk loop 2","expected":[51,130,80,20,1],"passed":false},{"actual":[26,48,24,0,2],"check":"cube cc","expected":[26,48,24,0,2],"passed":true},{"actual":[98,192,96,0,2],"check":"cube cc 2","expected":[98,192,96,0,2],"passed":true},{"actual":[25,40,16,4,1],"check":"single quad cc","expected":[25,40,16,16,1],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"tetra loop 1\", \"actual\": [10, 24, 16, 0, 2], \"expected\": [10, 24, 16, 0, 2], \"passed\": true}, {\"check\": \"tetra loop 2\", \"actual\": [34, 96, 64, 0, 2], \"expected\": [34, 96, 64, 0, 2], \"passed\": true}, {\"check\": \"disk loop\", \"actual\": [16, 35, 20, 5, 1], \"expected\": [16, 35, 20, 10, 1], \"passed\": false}, {\"check\": \"disk loop 2\", \"actual\": [51, 130, 80, 5, 1], \"expected\": [51, 130, 80, 20, 1], \"passed\": false}, {\"check\": \"cube cc\", \"actual\": [26, 48, 24, 0, 2], \"expected\": [26, 48, 24, 0, 2], \"passed\": true}, {\"check\": \"cube cc 2\", \"actual\": [98, 192, 96, 0, 2], \"expected\": [98, 192, 96, 0, 2], \"passed\": true}, {\"check\": \"single quad cc\", \"actual\": [25, 40, 16, 4, 1], \"expected\": [25, 40, 16, 16, 1], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.262,"exit_code":0,"observations":[{"actual":[10,24,16,0,2],"check":"tetra loop 1","expected":[10,24,16,0,2],"passed":true},{"actual":[34,96,64,0,2],"check":"tetra loop 2","expected":[34,96,64,0,2],"passed":true},{"actual":[16,35,20,10,1],"check":"disk loop","expected":[16,35,20,10,1],"passed":true},{"actual":[51,130,80,20,1],"check":"disk loop 2","expected":[51,130,80,20,1],"passed":true},{"actual":[26,48,24,0,2],"check":"cube cc","expected":[26,48,24,0,2],"passed":true},{"actual":[98,192,96,0,2],"check":"cube cc 2","expected":[98,192,96,0,2],"passed":true},{"actual":[25,40,16,16,1],"check":"single quad cc","expected":[25,40,16,16,1],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"tetra loop 1\", \"actual\": [10, 24, 16, 0, 2], \"expected\": [10, 24, 16, 0, 2], \"passed\": true}, {\"check\": \"tetra loop 2\", \"actual\": [34, 96, 64, 0, 2], \"expected\": [34, 96, 64, 0, 2], \"passed\": true}, {\"check\": \"disk loop\", \"actual\": [16, 35, 20, 10, 1], \"expected\": [16, 35, 20, 10, 1], \"passed\": true}, {\"check\": \"disk loop 2\", \"actual\": [51, 130, 80, 20, 1], \"expected\": [51, 130, 80, 20, 1], \"passed\": true}, {\"check\": \"cube cc\", \"actual\": [26, 48, 24, 0, 2], \"expected\": [26, 48, 24, 0, 2], \"passed\": true}, {\"check\": \"cube cc 2\", \"actual\": [98, 192, 96, 0, 2], \"expected\": [98, 192, 96, 0, 2], \"passed\": true}, {\"check\": \"single quad cc\", \"actual\": [25, 40, 16, 16, 1], \"expected\": [25, 40, 16, 16, 1], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}