{ "candidate_id": "C1 egui 0.35 + lyon 1.0 (egui_wgpu::Renderer)", "check1_faithful_consumption": "Pass", "check2_fallback": "Pass", "check3_bidi": { "NotRun": "ROUND2_TEXT_RECIPE.md §1.2 (2026-07-29 ruling): check 3 is NOT RUN for every candidate, on both adapters — no Arabic-capable face is installed, and pin 9 makes an absent required face environmental NOT RUN. F-D's supplementary Hebrew/Latin bidi evidence is recorded separately and must never upgrade check 3 to PASS." }, "check4_hit_testing": "Pass", "check5_accessibility": "Pass", "check5_bus_unreachable_evidence": null, "supplementary_f_d_bidi": "Pass", "per_fixture_diffs": { "F-A": { "width": 1920, "height": 1080, "band_pixel_count": 52244, "d1_pixels_outside_band_differing": 0, "d1_pass": true, "reference_ink_mass": 31933.196078430126, "candidate_ink_mass": 31911.352941176752, "d2_relative_delta": 0.0006840260273267325, "d2_pass": true, "reference_centroid": [ 890.8902938917568, 507.18029108563553 ], "candidate_centroid": [ 891.1530317749048, 507.20871028135434 ], "d3_delta": [ 0.26273788314802005, 0.028419195718811352 ], "d3_pass": true, "in_band_max_abs_delta_luma": 65, "in_band_count_delta_gt_report_threshold": 2953, "d4_regions": [ { "label": "F-A seg0.glyph0 (face 0, gid 34)", "reference_mass": 1962.933333333338, "candidate_mass": 1957.9490196078427, "relative_delta": 0.0025392170181506592, "pass": true }, { "label": "F-A seg0.glyph1 (face 0, gid 77)", "reference_mass": 1126.7843137254906, "candidate_mass": 1123.6549019607862, "relative_delta": 0.002777294400165739, "pass": true }, { "label": "F-A seg0.glyph2 (face 0, gid 77)", "reference_mass": 1123.1372549019607, "candidate_mass": 1124.0470588235312, "relative_delta": 0.0008100558659234804, "pass": true }, { "label": "F-A seg0.glyph3 (face 0, gid 70)", "reference_mass": 1347.9568627450994, "candidate_mass": 1346.0039215686281, "relative_delta": 0.001448815782201049, "pass": true }, { "label": "F-A seg0.glyph4 (face 0, gid 72)", "reference_mass": 2228.1019607843186, "candidate_mass": 2223.4941176470616, "relative_delta": 0.002068057574723852, "pass": true }, { "label": "F-A seg0.glyph5 (face 0, gid 83)", "reference_mass": 1012.6588235294114, "candidate_mass": 1013.9098039215687, "relative_delta": 0.0012353424105833444, "pass": true }, { "label": "F-A seg0.glyph6 (face 0, gid 80)", "reference_mass": 1436.8078431372576, "candidate_mass": 1435.1529411764718, "relative_delta": 0.0011517907343631284, "pass": true }, { "label": "F-A seg0.glyph8 (face 0, gid 66)", "reference_mass": 1406.149019607845, "candidate_mass": 1406.2078431372556, "relative_delta": 0.000041833069319338136, "pass": true }, { "label": "F-A seg0.glyph9 (face 0, gid 234)", "reference_mass": 2515.3490196078515, "candidate_mass": 2514.1294117647076, "relative_delta": 0.00048486624863455964, "pass": true }, { "label": "F-A seg0.glyph10 (face 0, gid 70)", "reference_mass": 1349.2196078431382, "candidate_mass": 1344.7411764705887, "relative_delta": 0.003319275339993548, "pass": true }, { "label": "F-A seg0.glyph11 (face 0, gid 85)", "reference_mass": 1090.1529411764707, "candidate_mass": 1092.3176470588246, "relative_delta": 0.0019856900812631135, "pass": true }, { "label": "F-A seg0.glyph12 (face 0, gid 85)", "reference_mass": 1090.2745098039222, "candidate_mass": 1092.66274509804, "relative_delta": 0.0021904898928135587, "pass": true }, { "label": "F-A seg0.glyph13 (face 0, gid 86)", "reference_mass": 1597.7372549019626, "candidate_mass": 1599.1215686274522, "relative_delta": 0.0008664213851448065, "pass": true }, { "label": "F-A seg0.glyph14 (face 0, gid 80)", "reference_mass": 1438.9960784313753, "candidate_mass": 1431.9215686274504, "relative_delta": 0.004916281503446981, "pass": true }, { "label": "F-A seg0.glyph15 (face 0, gid 84)", "reference_mass": 1181.8352941176502, "candidate_mass": 1180.5529411764714, "relative_delta": 0.0010850521621425348, "pass": true }, { "label": "F-A seg0.glyph16 (face 0, gid 80)", "reference_mass": 1437.9294117647094, "candidate_mass": 1434.7725490196074, "relative_delta": 0.0021954226120374756, "pass": true }, { "label": "F-A seg0.glyph18 (face 0, gid 119)", "reference_mass": 959.780392156863, "candidate_mass": 959.7529411764707, "relative_delta": 0.00002860131402617683, "pass": true }, { "label": "F-A seg0.glyph20 (face 0, gid 66)", "reference_mass": 1401.8509803921577, "candidate_mass": 1406.5764705882366, "relative_delta": 0.0033708933846570387, "pass": true }, { "label": "F-A seg0.glyph21 (face 0, gid 77)", "reference_mass": 1125.5294117647059, "candidate_mass": 1123.419607843139, "relative_delta": 0.0018744991463697039, "pass": true }, { "label": "F-A seg0.glyph23 (face 0, gid 97)", "reference_mass": 2139.2784313725547, "candidate_mass": 2139.8549019607913, "relative_delta": 0.00026946963975452555, "pass": true }, { "label": "F-A seg0.glyph24 (face 0, gid 79)", "reference_mass": 1628.7137254901959, "candidate_mass": 1632.3764705882386, "relative_delta": 0.0022488575129679866, "pass": true }, { "label": "F-A seg0.glyph25 (face 0, gid 70)", "reference_mass": 1347.239215686276, "candidate_mass": 1343.86274509804, "relative_delta": 0.0025062145971724357, "pass": true } ], "d4_pass": true, "d4_worst": { "label": "F-A seg0.glyph14 (face 0, gid 80)", "reference_mass": 1438.9960784313753, "candidate_mass": 1431.9215686274504, "relative_delta": 0.004916281503446981, "pass": true }, "pass": true }, "F-B": { "width": 1920, "height": 1080, "band_pixel_count": 16456, "d1_pixels_outside_band_differing": 0, "d1_pass": true, "reference_ink_mass": 9836.71764705878, "candidate_ink_mass": 9843.047058823493, "d2_relative_delta": 0.0006434475392922739, "d2_pass": true, "reference_centroid": [ 407.43842537942237, 504.8943554023082 ], "candidate_centroid": [ 407.6547103818109, 504.90202460022675 ], "d3_delta": [ 0.2162850023885312, 0.0076691979185739 ], "d3_pass": true, "in_band_max_abs_delta_luma": 64, "in_band_count_delta_gt_report_threshold": 869, "d4_regions": [ { "label": "F-B seg0.glyph0 (face 0, gid 36)", "reference_mass": 1867.0078431372583, "candidate_mass": 1868.686274509805, "relative_delta": 0.0008989953516886158, "pass": true }, { "label": "F-B seg0.glyph1 (face 0, gid 80)", "reference_mass": 1438.5607843137286, "candidate_mass": 1434.1529411764707, "relative_delta": 0.0030640645743452, "pass": true }, { "label": "F-B seg0.glyph2 (face 0, gid 83)", "reference_mass": 1013.2980392156862, "candidate_mass": 1013.3058823529412, "relative_delta": 7.740207669876935e-6, "pass": true }, { "label": "F-B seg0.glyph3 (face 0, gid 80)", "reference_mass": 1438.847058823533, "candidate_mass": 1433.5215686274512, "relative_delta": 0.003701220476091557, "pass": true }, { "label": "F-B seg1.glyph0 (face 1, gid 1282)", "reference_mass": 849.0705882352955, "candidate_mass": 851.4274509803922, "relative_delta": 0.0027758148471438452, "pass": true }, { "label": "F-B seg1.glyph1 (face 1, gid 1281)", "reference_mass": 1425.415686274511, "candidate_mass": 1436.7019607843135, "relative_delta": 0.00791788291547465, "pass": true }, { "label": "F-B seg1.glyph2 (face 1, gid 1280)", "reference_mass": 1804.5176470588276, "candidate_mass": 1805.2509803921562, "relative_delta": 0.0004063874545775871, "pass": true } ], "d4_pass": true, "d4_worst": { "label": "F-B seg1.glyph1 (face 1, gid 1281)", "reference_mass": 1425.415686274511, "candidate_mass": 1436.7019607843135, "relative_delta": 0.00791788291547465, "pass": true }, "pass": true }, "F-C": { "width": 1920, "height": 1080, "band_pixel_count": 9595, "d1_pixels_outside_band_differing": 0, "d1_pass": true, "reference_ink_mass": 5757.713725490225, "candidate_ink_mass": 5749.666666666617, "d2_relative_delta": 0.0013976135680353488, "d2_pass": true, "reference_centroid": [ 295.4923870245324, 505.39794798725103 ], "candidate_centroid": [ 295.38524313430213, 505.42091647256933 ], "d3_delta": [ 0.10714389023024751, 0.022968485318301646 ], "d3_pass": true, "in_band_max_abs_delta_luma": 64, "in_band_count_delta_gt_report_threshold": 509, "d4_regions": [ { "label": "F-C seg0.glyph0 (face 0, gid 36)", "reference_mass": 1867.0078431372583, "candidate_mass": 1868.686274509805, "relative_delta": 0.0008989953516886158, "pass": true }, { "label": "F-C seg0.glyph1 (face 0, gid 80)", "reference_mass": 1438.5607843137286, "candidate_mass": 1434.1529411764707, "relative_delta": 0.0030640645743452, "pass": true }, { "label": "F-C seg0.glyph2 (face 0, gid 83)", "reference_mass": 1013.2980392156862, "candidate_mass": 1013.3058823529412, "relative_delta": 7.740207669876935e-6, "pass": true }, { "label": "F-C seg0.glyph3 (face 0, gid 80)", "reference_mass": 1438.847058823533, "candidate_mass": 1433.5215686274512, "relative_delta": 0.003701220476091557, "pass": true } ], "d4_pass": true, "d4_worst": { "label": "F-C seg0.glyph3 (face 0, gid 80)", "reference_mass": 1438.847058823533, "candidate_mass": 1433.5215686274512, "relative_delta": 0.003701220476091557, "pass": true }, "pass": true }, "F-D": { "width": 1920, "height": 1080, "band_pixel_count": 38964, "d1_pixels_outside_band_differing": 0, "d1_pass": true, "reference_ink_mass": 23733.22352941099, "candidate_ink_mass": 23721.407843137342, "d2_relative_delta": 0.0004978542530897446, "d2_pass": true, "reference_centroid": [ 707.2675298233589, 507.4185305219683 ], "candidate_centroid": [ 707.385752325313, 507.4383441845064 ], "d3_delta": [ 0.11822250195405104, 0.01981366253806982 ], "d3_pass": true, "in_band_max_abs_delta_luma": 81, "in_band_count_delta_gt_report_threshold": 2346, "d4_regions": [ { "label": "F-D seg0.glyph0 (face 0, gid 34)", "reference_mass": 1962.933333333338, "candidate_mass": 1957.9490196078427, "relative_delta": 0.0025392170181506592, "pass": true }, { "label": "F-D seg0.glyph1 (face 0, gid 77)", "reference_mass": 1126.7843137254906, "candidate_mass": 1123.6549019607862, "relative_delta": 0.002777294400165739, "pass": true }, { "label": "F-D seg0.glyph2 (face 0, gid 77)", "reference_mass": 1123.1372549019607, "candidate_mass": 1124.0470588235312, "relative_delta": 0.0008100558659234804, "pass": true }, { "label": "F-D seg0.glyph3 (face 0, gid 70)", "reference_mass": 1347.9568627450994, "candidate_mass": 1346.0039215686281, "relative_delta": 0.001448815782201049, "pass": true }, { "label": "F-D seg0.glyph4 (face 0, gid 72)", "reference_mass": 2228.1019607843186, "candidate_mass": 2223.4941176470616, "relative_delta": 0.002068057574723852, "pass": true }, { "label": "F-D seg0.glyph5 (face 0, gid 83)", "reference_mass": 1012.6588235294114, "candidate_mass": 1013.9098039215687, "relative_delta": 0.0012353424105833444, "pass": true }, { "label": "F-D seg0.glyph6 (face 0, gid 80)", "reference_mass": 1436.8078431372576, "candidate_mass": 1435.1529411764718, "relative_delta": 0.0011517907343631284, "pass": true }, { "label": "F-D seg2.glyph1 (face 0, gid 68)", "reference_mass": 1028.6627450980407, "candidate_mass": 1026.4196078431376, "relative_delta": 0.00218063429009409, "pass": true }, { "label": "F-D seg2.glyph2 (face 0, gid 80)", "reference_mass": 1438.725490196082, "candidate_mass": 1434.8039215686283, "relative_delta": 0.0027257240204448694, "pass": true }, { "label": "F-D seg2.glyph3 (face 0, gid 79)", "reference_mass": 1629.4039215686275, "candidate_mass": 1631.6431372549055, "relative_delta": 0.001374254509049074, "pass": true }, { "label": "F-D seg2.glyph5 (face 0, gid 67)", "reference_mass": 1962.7607843137268, "candidate_mass": 1960.8431372549023, "relative_delta": 0.0009770151687104411, "pass": true }, { "label": "F-D seg2.glyph6 (face 0, gid 83)", "reference_mass": 1013.5490196078433, "candidate_mass": 1013.8039215686275, "relative_delta": 0.0002514944574489558, "pass": true }, { "label": "F-D seg2.glyph7 (face 0, gid 74)", "reference_mass": 901.1450980392156, "candidate_mass": 902.0745098039216, "relative_delta": 0.0010313674975632112, "pass": true }, { "label": "F-D seg2.glyph8 (face 0, gid 80)", "reference_mass": 1438.1529411764725, "candidate_mass": 1434.5411764705889, "relative_delta": 0.0025113912453073543, "pass": true }, { "label": "F-D seg1.glyph0 (face 1, gid 1282)", "reference_mass": 851.0117647058834, "candidate_mass": 850.8196078431373, "relative_delta": 0.00022579812725911154, "pass": true }, { "label": "F-D seg1.glyph1 (face 1, gid 1281)", "reference_mass": 1426.3529411764723, "candidate_mass": 1436.858823529412, "relative_delta": 0.0073655559221367795, "pass": true }, { "label": "F-D seg1.glyph2 (face 1, gid 1280)", "reference_mass": 1805.0784313725549, "candidate_mass": 1805.388235294118, "relative_delta": 0.00017162906396679163, "pass": true } ], "d4_pass": true, "d4_worst": { "label": "F-D seg1.glyph1 (face 1, gid 1281)", "reference_mass": 1426.3529411764723, "candidate_mass": 1436.858823529412, "relative_delta": 0.0073655559221367795, "pass": true }, "pass": true }, "F-E": { "width": 1920, "height": 1080, "band_pixel_count": 27495, "d1_pixels_outside_band_differing": 0, "d1_pass": true, "reference_ink_mass": 16241.003921568197, "candidate_ink_mass": 16239.494117647086, "d2_relative_delta": 0.00009296247500479724, "d2_pass": true, "reference_centroid": [ 606.0381566289889, 506.37877838133613 ], "candidate_centroid": [ 605.8534678589202, 506.39771522874446 ], "d3_delta": [ 0.1846887700686466, 0.018936847408326685 ], "d3_pass": true, "in_band_max_abs_delta_luma": 65, "in_band_count_delta_gt_report_threshold": 1456, "d4_regions": [ { "label": "F-E seg0.glyph0 (face 0, gid 36)", "reference_mass": 1867.0078431372583, "candidate_mass": 1868.686274509805, "relative_delta": 0.0008989953516886158, "pass": true }, { "label": "F-E seg0.glyph1 (face 0, gid 66)", "reference_mass": 1406.5058823529423, "candidate_mass": 1404.9647058823539, "relative_delta": 0.0010957483291930445, "pass": true }, { "label": "F-E seg0.glyph2 (face 0, gid 71)", "reference_mass": 1293.4627450980406, "candidate_mass": 1298.0549019607865, "relative_delta": 0.0035502815060961435, "pass": true }, { "label": "F-E seg0.glyph3 (face 0, gid 198)", "reference_mass": 1576.113725490198, "candidate_mass": 1573.3725490196093, "relative_delta": 0.0017391996695772355, "pass": true }, { "label": "F-E seg0.glyph5 (face 0, gid 119)", "reference_mass": 959.780392156863, "candidate_mass": 959.7529411764707, "relative_delta": 0.00002860131402617683, "pass": true }, { "label": "F-E seg0.glyph7 (face 0, gid 83)", "reference_mass": 1013.5764705882351, "candidate_mass": 1014.1686274509804, "relative_delta": 0.0005842251472171408, "pass": true }, { "label": "F-E seg0.glyph8 (face 0, gid 70)", "reference_mass": 1347.929411764708, "candidate_mass": 1346.4823529411774, "relative_delta": 0.0010735419903302715, "pass": true }, { "label": "F-E seg0.glyph9 (face 0, gid 84)", "reference_mass": 1183.2627450980413, "candidate_mass": 1180.0549019607845, "relative_delta": 0.002711015072980235, "pass": true }, { "label": "F-E seg0.glyph10 (face 0, gid 86)", "reference_mass": 1597.6784313725498, "candidate_mass": 1599.3764705882356, "relative_delta": 0.0010628166359028194, "pass": true }, { "label": "F-E seg0.glyph11 (face 0, gid 78)", "reference_mass": 2515.4901960784387, "candidate_mass": 2517.082352941179, "relative_delta": 0.0006329409930607496, "pass": true }, { "label": "F-E seg0.glyph12 (face 0, gid 198)", "reference_mass": 1554.384313725492, "candidate_mass": 1549.6235294117657, "relative_delta": 0.003062810317685005, "pass": true } ], "d4_pass": true, "d4_worst": { "label": "F-E seg0.glyph2 (face 0, gid 71)", "reference_mass": 1293.4627450980406, "candidate_mass": 1298.0549019607865, "relative_delta": 0.0035502815060961435, "pass": true }, "pass": true } }, "hittest_probe_results": [ { "fixture_id": "F-A", "point": { "x": 209.765625, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "actual_source_offset": 0, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 278.173828125, "y": 540.0 }, "expected_source_offset": 1, "expected_affinity": "Downstream", "actual_source_offset": 1, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 315.4296875, "y": 540.0 }, "expected_source_offset": 2, "expected_affinity": "Downstream", "actual_source_offset": 2, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 364.697265625, "y": 540.0 }, "expected_source_offset": 3, "expected_affinity": "Downstream", "actual_source_offset": 3, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 431.884765625, "y": 540.0 }, "expected_source_offset": 4, "expected_affinity": "Downstream", "actual_source_offset": 4, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 493.75, "y": 540.0 }, "expected_source_offset": 5, "expected_affinity": "Downstream", "actual_source_offset": 5, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 553.955078125, "y": 540.0 }, "expected_source_offset": 6, "expected_affinity": "Downstream", "actual_source_offset": 6, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 604.8828125, "y": 540.0 }, "expected_source_offset": 7, "expected_affinity": "Downstream", "actual_source_offset": 7, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 652.880859375, "y": 540.0 }, "expected_source_offset": 8, "expected_affinity": "Downstream", "actual_source_offset": 8, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 704.833984375, "y": 540.0 }, "expected_source_offset": 9, "expected_affinity": "Downstream", "actual_source_offset": 9, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 744.7265625, "y": 540.0 }, "expected_source_offset": 10, "expected_affinity": "Downstream", "actual_source_offset": 10, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 795.3125, "y": 540.0 }, "expected_source_offset": 11, "expected_affinity": "Downstream", "actual_source_offset": 11, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 846.826171875, "y": 540.0 }, "expected_source_offset": 12, "expected_affinity": "Downstream", "actual_source_offset": 12, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 888.525390625, "y": 540.0 }, "expected_source_offset": 13, "expected_affinity": "Downstream", "actual_source_offset": 13, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 947.998046875, "y": 540.0 }, "expected_source_offset": 14, "expected_affinity": "Downstream", "actual_source_offset": 14, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1021.533203125, "y": 540.0 }, "expected_source_offset": 15, "expected_affinity": "Downstream", "actual_source_offset": 15, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1083.59375, "y": 540.0 }, "expected_source_offset": 16, "expected_affinity": "Downstream", "actual_source_offset": 16, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1145.703125, "y": 540.0 }, "expected_source_offset": 17, "expected_affinity": "Downstream", "actual_source_offset": 17, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1196.630859375, "y": 540.0 }, "expected_source_offset": 18, "expected_affinity": "Downstream", "actual_source_offset": 18, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1276.611328125, "y": 540.0 }, "expected_source_offset": 19, "expected_affinity": "Downstream", "actual_source_offset": 19, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1356.640625, "y": 540.0 }, "expected_source_offset": 22, "expected_affinity": "Downstream", "actual_source_offset": 22, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1404.638671875, "y": 540.0 }, "expected_source_offset": 23, "expected_affinity": "Downstream", "actual_source_offset": 23, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1455.2734375, "y": 540.0 }, "expected_source_offset": 24, "expected_affinity": "Downstream", "actual_source_offset": 24, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1489.892578125, "y": 540.0 }, "expected_source_offset": 25, "expected_affinity": "Downstream", "actual_source_offset": 25, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1525.244140625, "y": 540.0 }, "expected_source_offset": 26, "expected_affinity": "Downstream", "actual_source_offset": 26, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1563.96484375, "y": 540.0 }, "expected_source_offset": 27, "expected_affinity": "Downstream", "actual_source_offset": 27, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1620.556640625, "y": 540.0 }, "expected_source_offset": 28, "expected_affinity": "Downstream", "actual_source_offset": 28, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 139.9609375, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "actual_source_offset": 0, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-A", "point": { "x": 1677.8125, "y": 540.0 }, "expected_source_offset": 29, "expected_affinity": "Downstream", "actual_source_offset": 29, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-B", "point": { "x": 205.322265625, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "actual_source_offset": 0, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-B", "point": { "x": 285.64453125, "y": 540.0 }, "expected_source_offset": 1, "expected_affinity": "Downstream", "actual_source_offset": 1, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-B", "point": { "x": 345.8984375, "y": 540.0 }, "expected_source_offset": 2, "expected_affinity": "Downstream", "actual_source_offset": 2, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-B", "point": { "x": 406.103515625, "y": 540.0 }, "expected_source_offset": 3, "expected_affinity": "Downstream", "actual_source_offset": 3, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-B", "point": { "x": 457.03125, "y": 540.0 }, "expected_source_offset": 4, "expected_affinity": "Downstream", "actual_source_offset": 4, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-B", "point": { "x": 494.189453125, "y": 540.0 }, "expected_source_offset": 9, "expected_affinity": "Downstream", "actual_source_offset": 9, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-B", "point": { "x": 546.142578125, "y": 540.0 }, "expected_source_offset": 7, "expected_affinity": "Downstream", "actual_source_offset": 7, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-B", "point": { "x": 139.9609375, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "actual_source_offset": 0, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-B", "point": { "x": 596.953125, "y": 540.0 }, "expected_source_offset": 5, "expected_affinity": "Downstream", "actual_source_offset": 5, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-C", "point": { "x": 205.322265625, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "actual_source_offset": 0, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-C", "point": { "x": 285.64453125, "y": 540.0 }, "expected_source_offset": 1, "expected_affinity": "Downstream", "actual_source_offset": 1, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-C", "point": { "x": 345.8984375, "y": 540.0 }, "expected_source_offset": 2, "expected_affinity": "Downstream", "actual_source_offset": 2, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-C", "point": { "x": 406.103515625, "y": 540.0 }, "expected_source_offset": 3, "expected_affinity": "Downstream", "actual_source_offset": 3, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-C", "point": { "x": 457.03125, "y": 540.0 }, "expected_source_offset": 4, "expected_affinity": "Downstream", "actual_source_offset": 4, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-C", "point": { "x": 139.9609375, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "actual_source_offset": 0, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-C", "point": { "x": 493.046875, "y": 540.0 }, "expected_source_offset": 5, "expected_affinity": "Downstream", "actual_source_offset": 5, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 209.765625, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "actual_source_offset": 0, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 278.173828125, "y": 540.0 }, "expected_source_offset": 1, "expected_affinity": "Downstream", "actual_source_offset": 1, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 315.4296875, "y": 540.0 }, "expected_source_offset": 2, "expected_affinity": "Downstream", "actual_source_offset": 2, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 364.697265625, "y": 540.0 }, "expected_source_offset": 3, "expected_affinity": "Downstream", "actual_source_offset": 3, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 431.884765625, "y": 540.0 }, "expected_source_offset": 4, "expected_affinity": "Downstream", "actual_source_offset": 4, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 493.75, "y": 540.0 }, "expected_source_offset": 5, "expected_affinity": "Downstream", "actual_source_offset": 5, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 553.955078125, "y": 540.0 }, "expected_source_offset": 6, "expected_affinity": "Downstream", "actual_source_offset": 6, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 604.8828125, "y": 540.0 }, "expected_source_offset": 7, "expected_affinity": "Downstream", "actual_source_offset": 7, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 642.041015625, "y": 540.0 }, "expected_source_offset": 12, "expected_affinity": "Downstream", "actual_source_offset": 12, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 693.994140625, "y": 540.0 }, "expected_source_offset": 10, "expected_affinity": "Downstream", "actual_source_offset": 10, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 763.232421875, "y": 540.0 }, "expected_source_offset": 8, "expected_affinity": "Downstream", "actual_source_offset": 8, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 817.626953125, "y": 540.0 }, "expected_source_offset": 14, "expected_affinity": "Downstream", "actual_source_offset": 14, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 862.01171875, "y": 540.0 }, "expected_source_offset": 15, "expected_affinity": "Downstream", "actual_source_offset": 15, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 925.390625, "y": 540.0 }, "expected_source_offset": 16, "expected_affinity": "Downstream", "actual_source_offset": 16, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 997.607421875, "y": 540.0 }, "expected_source_offset": 17, "expected_affinity": "Downstream", "actual_source_offset": 17, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 1050.87890625, "y": 540.0 }, "expected_source_offset": 18, "expected_affinity": "Downstream", "actual_source_offset": 18, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 1102.24609375, "y": 540.0 }, "expected_source_offset": 19, "expected_affinity": "Downstream", "actual_source_offset": 19, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 1162.890625, "y": 540.0 }, "expected_source_offset": 20, "expected_affinity": "Downstream", "actual_source_offset": 20, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 1206.54296875, "y": 540.0 }, "expected_source_offset": 21, "expected_affinity": "Downstream", "actual_source_offset": 21, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 139.9609375, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "actual_source_offset": 0, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-D", "point": { "x": 1244.90234375, "y": 540.0 }, "expected_source_offset": 22, "expected_affinity": "Downstream", "actual_source_offset": 22, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 205.322265625, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "actual_source_offset": 0, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 282.71484375, "y": 540.0 }, "expected_source_offset": 1, "expected_affinity": "Downstream", "actual_source_offset": 1, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 335.400390625, "y": 540.0 }, "expected_source_offset": 2, "expected_affinity": "Downstream", "actual_source_offset": 2, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 386.71875, "y": 540.0 }, "expected_source_offset": 3, "expected_affinity": "Downstream", "actual_source_offset": 3, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 433.3984375, "y": 540.0 }, "expected_source_offset": 6, "expected_affinity": "Downstream", "actual_source_offset": 6, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 513.37890625, "y": 540.0 }, "expected_source_offset": 7, "expected_affinity": "Downstream", "actual_source_offset": 7, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 593.359375, "y": 540.0 }, "expected_source_offset": 10, "expected_affinity": "Downstream", "actual_source_offset": 10, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 634.66796875, "y": 540.0 }, "expected_source_offset": 11, "expected_affinity": "Downstream", "actual_source_offset": 11, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 690.625, "y": 540.0 }, "expected_source_offset": 12, "expected_affinity": "Downstream", "actual_source_offset": 12, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 748.388671875, "y": 540.0 }, "expected_source_offset": 13, "expected_affinity": "Downstream", "actual_source_offset": 13, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 814.111328125, "y": 540.0 }, "expected_source_offset": 14, "expected_affinity": "Downstream", "actual_source_offset": 14, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 909.228515625, "y": 540.0 }, "expected_source_offset": 15, "expected_affinity": "Downstream", "actual_source_offset": 15, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 139.9609375, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "actual_source_offset": 0, "actual_affinity": "Downstream", "pass": true }, { "fixture_id": "F-E", "point": { "x": 985.72265625, "y": 540.0 }, "expected_source_offset": 16, "expected_affinity": "Downstream", "actual_source_offset": 16, "actual_affinity": "Downstream", "pass": true } ], "a11y_evidence": [ { "fixture_id": "F-A", "platform": "at-spi2", "observed_name": "Allegro affettuoso — al fine", "observed_name_bytes_hex": "416c6c6567726f20616666657474756f736f20e2809420616c2066696e65", "observed_role": "label", "prohibited_outcome": null, "pass": true, "notes": "PASS" }, { "fixture_id": "F-B", "platform": "at-spi2", "observed_name": "Coro אבג", "observed_name_bytes_hex": "436f726f20d790d791d792", "observed_role": "label", "prohibited_outcome": null, "pass": true, "notes": "PASS" }, { "fixture_id": "F-C", "platform": "at-spi2", "observed_name": "Coro ا", "observed_name_bytes_hex": "436f726f20d8a7", "observed_role": "label", "prohibited_outcome": null, "pass": true, "notes": "PASS" }, { "fixture_id": "F-D", "platform": "at-spi2", "observed_name": "Allegro אבג con brio", "observed_name_bytes_hex": "416c6c6567726f20d790d791d79220636f6e206272696f", "observed_role": "label", "prohibited_outcome": null, "pass": true, "notes": "PASS" }, { "fixture_id": "F-E", "platform": "at-spi2", "observed_name": "Café — resumé", "observed_name_bytes_hex": "43616665cc8120e2809420726573756d65cc81", "observed_role": "label", "prohibited_outcome": null, "pass": true, "notes": "PASS" } ], "cost": { "baseline_commit": "c20bc93", "dependencies_added": [ { "name": "round2-candidatekit", "version": "0.1.0 (path)", "reason": "candidate-neutral fixture/oracle loading and the shared report shape / scoring rule Round 2 requires every candidate to consume rather than re-derive." }, { "name": "round2-diff", "version": "0.1.0 (path)", "reason": "the precommitted bounded visual differential (D1-D4) checks 1/2 score against." }, { "name": "round2-textkit", "version": "0.1.0 (path)", "reason": "SpikeResolvedText fixtures, the staff->device transform (hittest::to_device), the hit-test probe table, and face resolution." }, { "name": "ttf-parser", "version": "=0.25.1", "reason": "candidate-owned glyph outline extraction from the two declared host faces (not from Bravura's typed PathCommand data, which Round 1 used) — pinned to the exact version round2-textkit shapes fixtures against." }, { "name": "serde_json", "version": "1", "reason": "serializing CandidateReport to round2_report.json, and parsing verify.py's --json output." }, { "name": "eframe", "version": "0.35", "reason": "check 5 needs a real window on the live AT-SPI2 bus; Round 1's binary is headless (offscreen wgpu only, no winit/eframe at all). Same first-party AccessKit route probe-egui's Round 0 binary used." } ], "adapters": [ { "Implemented": { "platform": "at-spi2", "notes": "the round's own platform on this Linux/Wayland machine — verified via a11y-verifier/verify.py's live, out-of-process AT-SPI2 readback for all five fixtures (round2_a11y_evidence/*.json).", "integration_ownership": { "Inherited": { "provider": "eframe 0.35 -> egui-winit -> accesskit_winit -> accesskit_unix (the AT-SPI2 adapter and its lifecycle ship with eframe; this candidate wrote none of that plumbing)" } } } }, { "Implemented": { "platform": "accesskit-0.24", "notes": "reached and exercised — every check-5 readback below travelled this path. What this candidate does write on top of the inherited integration is the accessible node for its own canvas-painted run — counted under ReportPart::AccessibilityTreeConstruction (c1_egui_lyon::a11y_node), not here.", "integration_ownership": { "Inherited": { "provider": "eframe 0.35 (bundled AccessKit integration; accesskit was already in this crate's Round 1 dependency graph at c20bc93 via egui 0.35)" } } } }, { "NotBuilt": { "platform": "aria", "reason": "no web/ARIA target exists for this candidate — egui/eframe here is a native desktop app, not a web build." } }, { "NotBuilt": { "platform": "macos-nsaccessibility", "reason": "no macOS runner available in this environment." } }, { "NotBuilt": { "platform": "windows-uia", "reason": "no Windows runner available in this environment." } } ], "integration_wiring": [ "glyph_outline.rs: ttf_parser::OutlineBuilder callbacks converted directly to a lyon_path::Path in device space (no PathCommand/SVG intermediate), tessellated with lyon's NonZero fill rule as one compound path per glyph so bounded holes (e.g. 'o', 'e') survive.", "render_target.rs: the offscreen egui_wgpu render target (device/adapter setup, MSAA/resolve texture pair, render pass, CPU readback) checks 1/2 draw into.", "hit_test.rs: a hand-written floor-search resolver over the resolved text's own Downstream caret-stop partition, reusing only round2_textkit::hittest::to_device for the shared staff->device transform — no other apparatus from the probe generator is called.", "check 2 evidence: F-C's U+0627 (byte range recorded per-fixture below) is explicitly detected via SpikeShapedSegment::face == None in render_target::draw_fixture(), which asserts its glyph list is empty and records the span in round2_report.json's console log rather than silently drawing nothing — this candidate's fixture-level trace is: F-C unresolved segments = [\"source 5..7 (\\\"ا\\\"): face resolved to None (no declared face covers this span) — 0 glyphs drawn, no substitution\"]", "a11y_node.rs: a custom AccessKit node (Role::Label, value = the fixture's exact source string) built directly via egui::Context::accesskit_node_builder on an Id allocated with ui.interact(..., Sense::hover()) — bypassing egui's Label widget and its own text-layout/galley construction entirely, so the accessible name is never touched by anything that could re-shape, wrap, or normalize it.", "a11y_app.rs (ReportPart::AccessibilityIntegrationWiring — this candidate's own integration, and the only file counted under this row): the eframe::App/window/ event-loop wiring the check-5 windowed probe runs under (no visual glyph rendering — dropped by the F3 fix, see that file's own doc comment).", "a11y_subprocess.rs (ReportPart::FixtureAndReportPlumbing, reattributed by user ruling: a verifier-subprocess harness common to both Round 2 candidates, not part of either stack's own accessibility integration): subprocess orchestration spawning c1_round2_a11y once per fixture and invoking a11y-verifier/verify.py out-of-process for the live AT-SPI2 readback (never a same-process self-report). F1: every invocation writes to a fresh, unique path and requires the exit status and JSON verdict to agree, erroring hard on disagreement rather than trusting either. G1: admission of an exit-2 NOT RUN requires both the exact prefix and an approved environmental-cause marker (an allow-list, not a deny-list). F2: any FAIL across the fixture set wins over any NotRun in the final aggregate, regardless of which was observed first. G3: validation (in the system temp directory) and publishing (one canonical file per fixture, overwriting) are separate steps, so evidence never accumulates." ], "loc_by_part": [ { "part": "TextRendering", "lines": 651 }, { "part": "HitTestResolution", "lines": 228 }, { "part": "AccessibilityTreeConstruction", "lines": 64 }, { "part": "AccessibilityIntegrationWiring", "lines": 62 }, { "part": "FixtureAndReportPlumbing", "lines": 1845 } ] } }