graphics-vector.md section 5 (Draft): what a sink exposes to assistive technology and to a text consumer, and how. Each text block's active set (the effective windows of the items that draw it, merged), the projection at a frame and the transcript as exact JSON, the text record and its digest, ruby, purposes, writing modes and the cluster rule. - wai-vector: src/text.rs (no_std, no dependency), the a11y and text commands, and vectors verify recomputing every text record. - The corpus: a new a11y group, each payload with its text record (<name>.a11y.jsonl) and its digest in the expected file; canonical and refusal vectors for TEXT. No existing expected file changes. - tests/text_layer.rs: each rule of section 5, with expected JSON written by hand from the text, each falsified once. Co-Authored-By: Claude Opus 5.5 <[email protected]>
51 lines
5.2 KiB
JSON
51 lines
5.2 KiB
JSON
[{"active":[[24000,96000]],"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"},{"active":[[48000,60000]],"dir":0,"group":0,"index":1,"lang":"en","mode":0,"purpose":7,"text":"in both groups"},{"active":[[72000,96000]],"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":7,"text":"in both, later"},{"active":[],"dir":0,"group":0,"index":3,"lang":"en","mode":0,"purpose":7,"text":"in a group that never opens"},{"active":[[100000,130000]],"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":7,"text":"in no group"}]
|
|
{"den":1,"g":0,"num":25,"projection":[]}
|
|
{"den":1,"g":1,"num":25,"projection":[]}
|
|
{"den":1,"g":2,"num":25,"projection":[]}
|
|
{"den":1,"g":3,"num":25,"projection":[]}
|
|
{"den":1,"g":4,"num":25,"projection":[]}
|
|
{"den":1,"g":5,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"}]}
|
|
{"den":1,"g":6,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"}]}
|
|
{"den":1,"g":7,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"}]}
|
|
{"den":1,"g":8,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"}]}
|
|
{"den":1,"g":9,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"}]}
|
|
{"den":1,"g":10,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"},{"dir":0,"group":0,"index":1,"lang":"en","mode":0,"purpose":7,"text":"in both groups"}]}
|
|
{"den":1,"g":11,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"},{"dir":0,"group":0,"index":1,"lang":"en","mode":0,"purpose":7,"text":"in both groups"}]}
|
|
{"den":1,"g":12,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"},{"dir":0,"group":0,"index":1,"lang":"en","mode":0,"purpose":7,"text":"in both groups"}]}
|
|
{"den":1,"g":13,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"}]}
|
|
{"den":1,"g":14,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"}]}
|
|
{"den":1,"g":15,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"},{"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":7,"text":"in both, later"}]}
|
|
{"den":1,"g":16,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"},{"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":7,"text":"in both, later"}]}
|
|
{"den":1,"g":17,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"},{"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":7,"text":"in both, later"}]}
|
|
{"den":1,"g":18,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"},{"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":7,"text":"in both, later"}]}
|
|
{"den":1,"g":19,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":7,"text":"in the outer group"},{"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":7,"text":"in both, later"}]}
|
|
{"den":1,"g":20,"num":25,"projection":[]}
|
|
{"den":1,"g":21,"num":25,"projection":[{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":7,"text":"in no group"}]}
|
|
{"den":1,"g":22,"num":25,"projection":[{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":7,"text":"in no group"}]}
|
|
{"den":1,"g":23,"num":25,"projection":[{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":7,"text":"in no group"}]}
|
|
{"den":1,"g":24,"num":25,"projection":[{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":7,"text":"in no group"}]}
|
|
{"den":1,"g":25,"num":25,"projection":[{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":7,"text":"in no group"}]}
|
|
{"den":1,"g":26,"num":25,"projection":[{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":7,"text":"in no group"}]}
|
|
{"den":1,"g":27,"num":25,"projection":[{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":7,"text":"in no group"}]}
|
|
{"den":1,"g":28,"num":25,"projection":[]}
|
|
{"den":1,"g":29,"num":25,"projection":[]}
|
|
{"den":1,"g":30,"num":25,"projection":[]}
|
|
{"den":1,"g":31,"num":25,"projection":[]}
|
|
{"den":1,"g":32,"num":25,"projection":[]}
|
|
{"den":1,"g":33,"num":25,"projection":[]}
|
|
{"den":1,"g":34,"num":25,"projection":[]}
|
|
{"den":1,"g":35,"num":25,"projection":[]}
|
|
{"den":1,"g":36,"num":25,"projection":[]}
|
|
{"den":1,"g":37,"num":25,"projection":[]}
|
|
{"den":1,"g":38,"num":25,"projection":[]}
|
|
{"den":1,"g":39,"num":25,"projection":[]}
|
|
{"den":1,"g":40,"num":25,"projection":[]}
|
|
{"den":1,"g":41,"num":25,"projection":[]}
|
|
{"den":1,"g":42,"num":25,"projection":[]}
|
|
{"den":1,"g":43,"num":25,"projection":[]}
|
|
{"den":1,"g":44,"num":25,"projection":[]}
|
|
{"den":1,"g":45,"num":25,"projection":[]}
|
|
{"den":1,"g":46,"num":25,"projection":[]}
|
|
{"den":1,"g":47,"num":25,"projection":[]}
|
|
{"den":1,"g":48,"num":25,"projection":[]}
|
|
{"den":1,"g":49,"num":25,"projection":[]}
|