{ "contract": "spec/CONTRACT_EDITOR_T4_SPIKE.md pins 8, 9, 10, 13, 14", "recipe": "spikes/editor-toolkit/ROUND2_TEXT_RECIPE.md ยง7", "min_separation_device_px": 4.0, "edge_margin_device_px": 20.0, "fixtures": [ { "fixture_id": "F-A", "probes": [ { "point": { "x": 209.765625, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 0 (interval byte 0..byte 1)", "kind": "Interior" }, { "point": { "x": 278.173828125, "y": 540.0 }, "expected_source_offset": 1, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 1 (interval byte 1..byte 2)", "kind": "Interior" }, { "point": { "x": 315.4296875, "y": 540.0 }, "expected_source_offset": 2, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 2 (interval byte 2..byte 3)", "kind": "Interior" }, { "point": { "x": 364.697265625, "y": 540.0 }, "expected_source_offset": 3, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 3 (interval byte 3..byte 4)", "kind": "Interior" }, { "point": { "x": 431.884765625, "y": 540.0 }, "expected_source_offset": 4, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 4 (interval byte 4..byte 5)", "kind": "Interior" }, { "point": { "x": 493.75, "y": 540.0 }, "expected_source_offset": 5, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 5 (interval byte 5..byte 6)", "kind": "Interior" }, { "point": { "x": 553.955078125, "y": 540.0 }, "expected_source_offset": 6, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 6 (interval byte 6..byte 7)", "kind": "Interior" }, { "point": { "x": 604.8828125, "y": 540.0 }, "expected_source_offset": 7, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 7 (interval byte 7..byte 8)", "kind": "Interior" }, { "point": { "x": 652.880859375, "y": 540.0 }, "expected_source_offset": 8, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 8 (interval byte 8..byte 9)", "kind": "Interior" }, { "point": { "x": 704.833984375, "y": 540.0 }, "expected_source_offset": 9, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 9 (interval byte 9..byte 10)", "kind": "Interior" }, { "point": { "x": 744.7265625, "y": 540.0 }, "expected_source_offset": 10, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 10 (interval byte 10..byte 11)", "kind": "Interior" }, { "point": { "x": 795.3125, "y": 540.0 }, "expected_source_offset": 11, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 11 (interval byte 11..byte 12)", "kind": "Interior" }, { "point": { "x": 846.826171875, "y": 540.0 }, "expected_source_offset": 12, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 12 (interval byte 12..byte 13)", "kind": "Interior" }, { "point": { "x": 888.525390625, "y": 540.0 }, "expected_source_offset": 13, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 13 (interval byte 13..byte 14)", "kind": "Interior" }, { "point": { "x": 947.998046875, "y": 540.0 }, "expected_source_offset": 14, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 14 (interval byte 14..byte 15)", "kind": "Interior" }, { "point": { "x": 1021.533203125, "y": 540.0 }, "expected_source_offset": 15, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 15 (interval byte 15..byte 16)", "kind": "Interior" }, { "point": { "x": 1083.59375, "y": 540.0 }, "expected_source_offset": 16, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 16 (interval byte 16..byte 17)", "kind": "Interior" }, { "point": { "x": 1145.703125, "y": 540.0 }, "expected_source_offset": 17, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 17 (interval byte 17..byte 18)", "kind": "Interior" }, { "point": { "x": 1196.630859375, "y": 540.0 }, "expected_source_offset": 18, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 18 (interval byte 18..byte 19)", "kind": "Interior" }, { "point": { "x": 1276.611328125, "y": 540.0 }, "expected_source_offset": 19, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 19 (interval byte 19..byte 22)", "kind": "Interior" }, { "point": { "x": 1356.640625, "y": 540.0 }, "expected_source_offset": 22, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 22 (interval byte 22..byte 23)", "kind": "Interior" }, { "point": { "x": 1404.638671875, "y": 540.0 }, "expected_source_offset": 23, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 23 (interval byte 23..byte 24)", "kind": "Interior" }, { "point": { "x": 1455.2734375, "y": 540.0 }, "expected_source_offset": 24, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 24 (interval byte 24..byte 25)", "kind": "Interior" }, { "point": { "x": 1489.892578125, "y": 540.0 }, "expected_source_offset": 25, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 25 (interval byte 25..byte 26)", "kind": "Interior" }, { "point": { "x": 1525.244140625, "y": 540.0 }, "expected_source_offset": 26, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 26 (interval byte 26..byte 27)", "kind": "Interior" }, { "point": { "x": 1563.96484375, "y": 540.0 }, "expected_source_offset": 27, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 27 (interval byte 27..byte 28)", "kind": "Interior" }, { "point": { "x": 1620.556640625, "y": 540.0 }, "expected_source_offset": 28, "expected_affinity": "Downstream", "source_grapheme": "F-A: interior, grapheme starting at byte 28 (interval byte 28..byte 29)", "kind": "Interior" }, { "point": { "x": 139.9609375, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "source_grapheme": "F-A: before the first caret stop (byte 0)", "kind": "BeforeFirst" }, { "point": { "x": 1677.8125, "y": 540.0 }, "expected_source_offset": 29, "expected_affinity": "Downstream", "source_grapheme": "F-A: after the last caret stop (byte 29)", "kind": "AfterLast" } ] }, { "fixture_id": "F-B", "probes": [ { "point": { "x": 205.322265625, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "source_grapheme": "F-B: interior, grapheme starting at byte 0 (interval byte 0..byte 1)", "kind": "Interior" }, { "point": { "x": 285.64453125, "y": 540.0 }, "expected_source_offset": 1, "expected_affinity": "Downstream", "source_grapheme": "F-B: interior, grapheme starting at byte 1 (interval byte 1..byte 2)", "kind": "Interior" }, { "point": { "x": 345.8984375, "y": 540.0 }, "expected_source_offset": 2, "expected_affinity": "Downstream", "source_grapheme": "F-B: interior, grapheme starting at byte 2 (interval byte 2..byte 3)", "kind": "Interior" }, { "point": { "x": 406.103515625, "y": 540.0 }, "expected_source_offset": 3, "expected_affinity": "Downstream", "source_grapheme": "F-B: interior, grapheme starting at byte 3 (interval byte 3..byte 4)", "kind": "Interior" }, { "point": { "x": 457.03125, "y": 540.0 }, "expected_source_offset": 4, "expected_affinity": "Downstream", "source_grapheme": "F-B: interior, grapheme starting at byte 4 (interval byte 4..byte 9)", "kind": "Interior" }, { "point": { "x": 494.189453125, "y": 540.0 }, "expected_source_offset": 9, "expected_affinity": "Downstream", "source_grapheme": "F-B: interior, grapheme starting at byte 9 (interval byte 9..byte 7)", "kind": "Interior" }, { "point": { "x": 546.142578125, "y": 540.0 }, "expected_source_offset": 7, "expected_affinity": "Downstream", "source_grapheme": "F-B: interior, grapheme starting at byte 7 (interval byte 7..byte 5)", "kind": "Interior" }, { "point": { "x": 139.9609375, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "source_grapheme": "F-B: before the first caret stop (byte 0)", "kind": "BeforeFirst" }, { "point": { "x": 596.953125, "y": 540.0 }, "expected_source_offset": 5, "expected_affinity": "Downstream", "source_grapheme": "F-B: after the last caret stop (byte 5)", "kind": "AfterLast" } ] }, { "fixture_id": "F-C", "probes": [ { "point": { "x": 205.322265625, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "source_grapheme": "F-C: interior, grapheme starting at byte 0 (interval byte 0..byte 1)", "kind": "Interior" }, { "point": { "x": 285.64453125, "y": 540.0 }, "expected_source_offset": 1, "expected_affinity": "Downstream", "source_grapheme": "F-C: interior, grapheme starting at byte 1 (interval byte 1..byte 2)", "kind": "Interior" }, { "point": { "x": 345.8984375, "y": 540.0 }, "expected_source_offset": 2, "expected_affinity": "Downstream", "source_grapheme": "F-C: interior, grapheme starting at byte 2 (interval byte 2..byte 3)", "kind": "Interior" }, { "point": { "x": 406.103515625, "y": 540.0 }, "expected_source_offset": 3, "expected_affinity": "Downstream", "source_grapheme": "F-C: interior, grapheme starting at byte 3 (interval byte 3..byte 4)", "kind": "Interior" }, { "point": { "x": 457.03125, "y": 540.0 }, "expected_source_offset": 4, "expected_affinity": "Downstream", "source_grapheme": "F-C: interior, grapheme starting at byte 4 (interval byte 4..byte 5)", "kind": "Interior" }, { "point": { "x": 139.9609375, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "source_grapheme": "F-C: before the first caret stop (byte 0)", "kind": "BeforeFirst" }, { "point": { "x": 493.046875, "y": 540.0 }, "expected_source_offset": 5, "expected_affinity": "Downstream", "source_grapheme": "F-C: after the last caret stop (byte 5)", "kind": "AfterLast" } ] }, { "fixture_id": "F-D", "probes": [ { "point": { "x": 209.765625, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 0 (interval byte 0..byte 1)", "kind": "Interior" }, { "point": { "x": 278.173828125, "y": 540.0 }, "expected_source_offset": 1, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 1 (interval byte 1..byte 2)", "kind": "Interior" }, { "point": { "x": 315.4296875, "y": 540.0 }, "expected_source_offset": 2, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 2 (interval byte 2..byte 3)", "kind": "Interior" }, { "point": { "x": 364.697265625, "y": 540.0 }, "expected_source_offset": 3, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 3 (interval byte 3..byte 4)", "kind": "Interior" }, { "point": { "x": 431.884765625, "y": 540.0 }, "expected_source_offset": 4, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 4 (interval byte 4..byte 5)", "kind": "Interior" }, { "point": { "x": 493.75, "y": 540.0 }, "expected_source_offset": 5, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 5 (interval byte 5..byte 6)", "kind": "Interior" }, { "point": { "x": 553.955078125, "y": 540.0 }, "expected_source_offset": 6, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 6 (interval byte 6..byte 7)", "kind": "Interior" }, { "point": { "x": 604.8828125, "y": 540.0 }, "expected_source_offset": 7, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 7 (interval byte 7..byte 12)", "kind": "Interior" }, { "point": { "x": 642.041015625, "y": 540.0 }, "expected_source_offset": 12, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 12 (interval byte 12..byte 10)", "kind": "Interior" }, { "point": { "x": 693.994140625, "y": 540.0 }, "expected_source_offset": 10, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 10 (interval byte 10..byte 8)", "kind": "Interior" }, { "point": { "x": 763.232421875, "y": 540.0 }, "expected_source_offset": 8, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 8 (interval byte 8..byte 14)", "kind": "Interior" }, { "point": { "x": 817.626953125, "y": 540.0 }, "expected_source_offset": 14, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 14 (interval byte 14..byte 15)", "kind": "Interior" }, { "point": { "x": 862.01171875, "y": 540.0 }, "expected_source_offset": 15, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 15 (interval byte 15..byte 16)", "kind": "Interior" }, { "point": { "x": 925.390625, "y": 540.0 }, "expected_source_offset": 16, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 16 (interval byte 16..byte 17)", "kind": "Interior" }, { "point": { "x": 997.607421875, "y": 540.0 }, "expected_source_offset": 17, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 17 (interval byte 17..byte 18)", "kind": "Interior" }, { "point": { "x": 1050.87890625, "y": 540.0 }, "expected_source_offset": 18, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 18 (interval byte 18..byte 19)", "kind": "Interior" }, { "point": { "x": 1102.24609375, "y": 540.0 }, "expected_source_offset": 19, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 19 (interval byte 19..byte 20)", "kind": "Interior" }, { "point": { "x": 1162.890625, "y": 540.0 }, "expected_source_offset": 20, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 20 (interval byte 20..byte 21)", "kind": "Interior" }, { "point": { "x": 1206.54296875, "y": 540.0 }, "expected_source_offset": 21, "expected_affinity": "Downstream", "source_grapheme": "F-D: interior, grapheme starting at byte 21 (interval byte 21..byte 22)", "kind": "Interior" }, { "point": { "x": 139.9609375, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "source_grapheme": "F-D: before the first caret stop (byte 0)", "kind": "BeforeFirst" }, { "point": { "x": 1244.90234375, "y": 540.0 }, "expected_source_offset": 22, "expected_affinity": "Downstream", "source_grapheme": "F-D: after the last caret stop (byte 22)", "kind": "AfterLast" } ] }, { "fixture_id": "F-E", "probes": [ { "point": { "x": 205.322265625, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 0 (interval byte 0..byte 1)", "kind": "Interior" }, { "point": { "x": 282.71484375, "y": 540.0 }, "expected_source_offset": 1, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 1 (interval byte 1..byte 2)", "kind": "Interior" }, { "point": { "x": 335.400390625, "y": 540.0 }, "expected_source_offset": 2, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 2 (interval byte 2..byte 3)", "kind": "Interior" }, { "point": { "x": 386.71875, "y": 540.0 }, "expected_source_offset": 3, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 3 (interval byte 3..byte 6)", "kind": "Interior" }, { "point": { "x": 433.3984375, "y": 540.0 }, "expected_source_offset": 6, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 6 (interval byte 6..byte 7)", "kind": "Interior" }, { "point": { "x": 513.37890625, "y": 540.0 }, "expected_source_offset": 7, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 7 (interval byte 7..byte 10)", "kind": "Interior" }, { "point": { "x": 593.359375, "y": 540.0 }, "expected_source_offset": 10, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 10 (interval byte 10..byte 11)", "kind": "Interior" }, { "point": { "x": 634.66796875, "y": 540.0 }, "expected_source_offset": 11, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 11 (interval byte 11..byte 12)", "kind": "Interior" }, { "point": { "x": 690.625, "y": 540.0 }, "expected_source_offset": 12, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 12 (interval byte 12..byte 13)", "kind": "Interior" }, { "point": { "x": 748.388671875, "y": 540.0 }, "expected_source_offset": 13, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 13 (interval byte 13..byte 14)", "kind": "Interior" }, { "point": { "x": 814.111328125, "y": 540.0 }, "expected_source_offset": 14, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 14 (interval byte 14..byte 15)", "kind": "Interior" }, { "point": { "x": 909.228515625, "y": 540.0 }, "expected_source_offset": 15, "expected_affinity": "Downstream", "source_grapheme": "F-E: interior, grapheme starting at byte 15 (interval byte 15..byte 16)", "kind": "Interior" }, { "point": { "x": 139.9609375, "y": 540.0 }, "expected_source_offset": 0, "expected_affinity": "Downstream", "source_grapheme": "F-E: before the first caret stop (byte 0)", "kind": "BeforeFirst" }, { "point": { "x": 985.72265625, "y": 540.0 }, "expected_source_offset": 16, "expected_affinity": "Downstream", "source_grapheme": "F-E: after the last caret stop (byte 16)", "kind": "AfterLast" } ] } ], "dropped": [] }