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]>
6 lines
7.5 KiB
JSON
6 lines
7.5 KiB
JSON
[{"active":[[0,24000]],"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":1,"text":"title"},{"active":[[0,24000]],"dir":0,"group":0,"index":1,"lang":"en","mode":0,"purpose":2,"text":"credit"},{"active":[[0,24000]],"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":3,"text":"lower_third"},{"active":[[0,24000]],"dir":0,"group":0,"index":3,"lang":"en","mode":0,"purpose":4,"text":"caption"},{"active":[[0,24000]],"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":5,"text":"subtitle"},{"active":[[0,24000]],"dir":0,"group":0,"index":5,"lang":"en","mode":0,"purpose":6,"text":"forced_narrative"},{"active":[[0,24000]],"dir":0,"group":0,"index":6,"lang":"en","mode":0,"purpose":7,"text":"label"},{"active":[[0,24000]],"dir":0,"group":0,"index":7,"lang":"en","mode":0,"purpose":8,"text":"legal"},{"active":[[0,24000]],"dir":0,"group":0,"index":8,"lang":"en","mode":0,"purpose":9,"text":"alert"},{"active":[[0,24000]],"dir":0,"group":0,"index":9,"lang":"en","mode":0,"purpose":10,"text":"logo"},{"active":[[0,24000]],"dir":0,"group":0,"index":10,"lang":"en","mode":0,"purpose":11,"text":"graphic"},{"active":[[0,24000]],"dir":0,"group":0,"index":11,"lang":"en","mode":0,"purpose":12,"text":"data"},{"active":[[0,24000]],"dir":0,"group":0,"index":13,"lang":"en","mode":0,"purpose":14,"text":"p14"},{"active":[[0,24000]],"dir":0,"group":0,"index":14,"lang":"en","mode":0,"purpose":200,"text":"p200"},{"active":[[0,24000]],"dir":0,"group":0,"index":15,"lang":"en","mode":0,"purpose":255,"text":"p255"}]
|
|
{"den":1,"g":0,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":1,"text":"title"},{"dir":0,"group":0,"index":1,"lang":"en","mode":0,"purpose":2,"text":"credit"},{"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":3,"text":"lower_third"},{"dir":0,"group":0,"index":3,"lang":"en","mode":0,"purpose":4,"text":"caption"},{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":5,"text":"subtitle"},{"dir":0,"group":0,"index":5,"lang":"en","mode":0,"purpose":6,"text":"forced_narrative"},{"dir":0,"group":0,"index":6,"lang":"en","mode":0,"purpose":7,"text":"label"},{"dir":0,"group":0,"index":7,"lang":"en","mode":0,"purpose":8,"text":"legal"},{"dir":0,"group":0,"index":8,"lang":"en","mode":0,"purpose":9,"text":"alert"},{"dir":0,"group":0,"index":9,"lang":"en","mode":0,"purpose":10,"text":"logo"},{"dir":0,"group":0,"index":10,"lang":"en","mode":0,"purpose":11,"text":"graphic"},{"dir":0,"group":0,"index":11,"lang":"en","mode":0,"purpose":12,"text":"data"},{"dir":0,"group":0,"index":13,"lang":"en","mode":0,"purpose":14,"text":"p14"},{"dir":0,"group":0,"index":14,"lang":"en","mode":0,"purpose":200,"text":"p200"},{"dir":0,"group":0,"index":15,"lang":"en","mode":0,"purpose":255,"text":"p255"}]}
|
|
{"den":1,"g":1,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":1,"text":"title"},{"dir":0,"group":0,"index":1,"lang":"en","mode":0,"purpose":2,"text":"credit"},{"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":3,"text":"lower_third"},{"dir":0,"group":0,"index":3,"lang":"en","mode":0,"purpose":4,"text":"caption"},{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":5,"text":"subtitle"},{"dir":0,"group":0,"index":5,"lang":"en","mode":0,"purpose":6,"text":"forced_narrative"},{"dir":0,"group":0,"index":6,"lang":"en","mode":0,"purpose":7,"text":"label"},{"dir":0,"group":0,"index":7,"lang":"en","mode":0,"purpose":8,"text":"legal"},{"dir":0,"group":0,"index":8,"lang":"en","mode":0,"purpose":9,"text":"alert"},{"dir":0,"group":0,"index":9,"lang":"en","mode":0,"purpose":10,"text":"logo"},{"dir":0,"group":0,"index":10,"lang":"en","mode":0,"purpose":11,"text":"graphic"},{"dir":0,"group":0,"index":11,"lang":"en","mode":0,"purpose":12,"text":"data"},{"dir":0,"group":0,"index":13,"lang":"en","mode":0,"purpose":14,"text":"p14"},{"dir":0,"group":0,"index":14,"lang":"en","mode":0,"purpose":200,"text":"p200"},{"dir":0,"group":0,"index":15,"lang":"en","mode":0,"purpose":255,"text":"p255"}]}
|
|
{"den":1,"g":2,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":1,"text":"title"},{"dir":0,"group":0,"index":1,"lang":"en","mode":0,"purpose":2,"text":"credit"},{"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":3,"text":"lower_third"},{"dir":0,"group":0,"index":3,"lang":"en","mode":0,"purpose":4,"text":"caption"},{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":5,"text":"subtitle"},{"dir":0,"group":0,"index":5,"lang":"en","mode":0,"purpose":6,"text":"forced_narrative"},{"dir":0,"group":0,"index":6,"lang":"en","mode":0,"purpose":7,"text":"label"},{"dir":0,"group":0,"index":7,"lang":"en","mode":0,"purpose":8,"text":"legal"},{"dir":0,"group":0,"index":8,"lang":"en","mode":0,"purpose":9,"text":"alert"},{"dir":0,"group":0,"index":9,"lang":"en","mode":0,"purpose":10,"text":"logo"},{"dir":0,"group":0,"index":10,"lang":"en","mode":0,"purpose":11,"text":"graphic"},{"dir":0,"group":0,"index":11,"lang":"en","mode":0,"purpose":12,"text":"data"},{"dir":0,"group":0,"index":13,"lang":"en","mode":0,"purpose":14,"text":"p14"},{"dir":0,"group":0,"index":14,"lang":"en","mode":0,"purpose":200,"text":"p200"},{"dir":0,"group":0,"index":15,"lang":"en","mode":0,"purpose":255,"text":"p255"}]}
|
|
{"den":1,"g":3,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":1,"text":"title"},{"dir":0,"group":0,"index":1,"lang":"en","mode":0,"purpose":2,"text":"credit"},{"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":3,"text":"lower_third"},{"dir":0,"group":0,"index":3,"lang":"en","mode":0,"purpose":4,"text":"caption"},{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":5,"text":"subtitle"},{"dir":0,"group":0,"index":5,"lang":"en","mode":0,"purpose":6,"text":"forced_narrative"},{"dir":0,"group":0,"index":6,"lang":"en","mode":0,"purpose":7,"text":"label"},{"dir":0,"group":0,"index":7,"lang":"en","mode":0,"purpose":8,"text":"legal"},{"dir":0,"group":0,"index":8,"lang":"en","mode":0,"purpose":9,"text":"alert"},{"dir":0,"group":0,"index":9,"lang":"en","mode":0,"purpose":10,"text":"logo"},{"dir":0,"group":0,"index":10,"lang":"en","mode":0,"purpose":11,"text":"graphic"},{"dir":0,"group":0,"index":11,"lang":"en","mode":0,"purpose":12,"text":"data"},{"dir":0,"group":0,"index":13,"lang":"en","mode":0,"purpose":14,"text":"p14"},{"dir":0,"group":0,"index":14,"lang":"en","mode":0,"purpose":200,"text":"p200"},{"dir":0,"group":0,"index":15,"lang":"en","mode":0,"purpose":255,"text":"p255"}]}
|
|
{"den":1,"g":4,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"en","mode":0,"purpose":1,"text":"title"},{"dir":0,"group":0,"index":1,"lang":"en","mode":0,"purpose":2,"text":"credit"},{"dir":0,"group":0,"index":2,"lang":"en","mode":0,"purpose":3,"text":"lower_third"},{"dir":0,"group":0,"index":3,"lang":"en","mode":0,"purpose":4,"text":"caption"},{"dir":0,"group":0,"index":4,"lang":"en","mode":0,"purpose":5,"text":"subtitle"},{"dir":0,"group":0,"index":5,"lang":"en","mode":0,"purpose":6,"text":"forced_narrative"},{"dir":0,"group":0,"index":6,"lang":"en","mode":0,"purpose":7,"text":"label"},{"dir":0,"group":0,"index":7,"lang":"en","mode":0,"purpose":8,"text":"legal"},{"dir":0,"group":0,"index":8,"lang":"en","mode":0,"purpose":9,"text":"alert"},{"dir":0,"group":0,"index":9,"lang":"en","mode":0,"purpose":10,"text":"logo"},{"dir":0,"group":0,"index":10,"lang":"en","mode":0,"purpose":11,"text":"graphic"},{"dir":0,"group":0,"index":11,"lang":"en","mode":0,"purpose":12,"text":"data"},{"dir":0,"group":0,"index":13,"lang":"en","mode":0,"purpose":14,"text":"p14"},{"dir":0,"group":0,"index":14,"lang":"en","mode":0,"purpose":200,"text":"p200"},{"dir":0,"group":0,"index":15,"lang":"en","mode":0,"purpose":255,"text":"p255"}]}
|