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]>
26 lines
5.9 KiB
JSON
26 lines
5.9 KiB
JSON
[{"active":[[0,96000]],"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"active":[[0,48000]],"dir":0,"group":0,"index":1,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":9,"start":0},"text":"hin"},{"active":[[48000,120000]],"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]
|
|
{"den":1,"g":0,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":1,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":9,"start":0},"text":"hin"}]}
|
|
{"den":1,"g":1,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":1,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":9,"start":0},"text":"hin"}]}
|
|
{"den":1,"g":2,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":1,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":9,"start":0},"text":"hin"}]}
|
|
{"den":1,"g":3,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":1,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":9,"start":0},"text":"hin"}]}
|
|
{"den":1,"g":4,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":1,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":9,"start":0},"text":"hin"}]}
|
|
{"den":1,"g":5,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":1,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":9,"start":0},"text":"hin"}]}
|
|
{"den":1,"g":6,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":1,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":9,"start":0},"text":"hin"}]}
|
|
{"den":1,"g":7,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":1,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":9,"start":0},"text":"hin"}]}
|
|
{"den":1,"g":8,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":1,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":9,"start":0},"text":"hin"}]}
|
|
{"den":1,"g":9,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":1,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":9,"start":0},"text":"hin"}]}
|
|
{"den":1,"g":10,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":11,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":12,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":13,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":14,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":15,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":16,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":17,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":18,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":19,"num":25,"projection":[{"dir":0,"group":0,"index":0,"lang":"hi","mode":0,"purpose":7,"text":"हिंदी"},{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":20,"num":25,"projection":[{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":21,"num":25,"projection":[{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":22,"num":25,"projection":[{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":23,"num":25,"projection":[{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|
|
{"den":1,"g":24,"num":25,"projection":[{"dir":0,"group":0,"index":2,"lang":"hi-Latn","mode":0,"purpose":7,"ruby":{"base":0,"len":6,"start":9},"text":"di"}]}
|