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]>
108 lines
3.1 KiB
JSON
108 lines
3.1 KiB
JSON
{
|
||
"header":{"magic":"WVG1","format":1,"tb":120000,"t0":0,"dur":360000,"design_w":640,"design_h":360,"n_sizes":1,"n_rates":1,"n_sets":2,"n_tables":0,"n_paints":1,"n_texts":3,"n_tracks":0,"n_paths":0,"n_items":3,"n_keys":0,"n_glyphs":35,"n_clusters":35,"path_contours":0,"path_points":0,"strings_len":49,"inline_len":0,"held_len":165402,"zero@72":[0,0,0,0,0,0,0,0]},
|
||
"sizes":[
|
||
{"w":640,"h":360,"cost":7393573}
|
||
],
|
||
"rates":[
|
||
{"num":25,"den":1}
|
||
],
|
||
"sets":[
|
||
{"carriage":0,"zero@1":[0,0,0],"length":59879,"sha256":"2310ab64ddcf4d851d4d7c08bbce141fba178f03fdcbb07b05db3863e179846f"},
|
||
{"carriage":0,"zero@1":[0,0,0],"length":105523,"sha256":"05476c4658ef7366c7700736487eac4c3c1b7d21264978c7d05bd4c7427736c9"}
|
||
],
|
||
"tables":[],
|
||
"paints":[
|
||
[255,255,255,255]
|
||
],
|
||
"tracks":[],
|
||
"keys":[],
|
||
"paths":[],
|
||
"path_ends":[],
|
||
"path_points":[],
|
||
"texts":[
|
||
{"purpose":3,"dir":1,"lang_len":2,"mode":0,"group":1,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":17},
|
||
{"purpose":3,"dir":0,"lang_len":2,"mode":0,"group":1,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":23},
|
||
{"purpose":7,"dir":0,"lang_len":2,"mode":0,"group":1,"ruby":2,"ruby_start":0,"ruby_len":8,"str_len":3}
|
||
],
|
||
"items":[
|
||
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":0,"zero@10":0,"n_glyphs":9,"n_clusters":9,"t_on":24000,"t_off":264000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
|
||
{"kind":3,"rule":0,"zero@2":0,"ref":1,"paint":0,"text":1,"zero@10":0,"n_glyphs":23,"n_clusters":23,"t_on":24000,"t_off":264000,"unit_scale":131072,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]},
|
||
{"kind":3,"rule":0,"zero@2":0,"ref":1,"paint":0,"text":2,"zero@10":0,"n_glyphs":3,"n_clusters":3,"t_on":24000,"t_off":120000,"unit_scale":65536,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":65535,"op":65535,"zero@42":[0,0,0,0,0,0]}
|
||
],
|
||
"glyphs":[
|
||
[65174,0,4096,69120],
|
||
[65268,0,6016,69120],
|
||
[65170,0,7056,69120],
|
||
[65247,0,8096,69120],
|
||
[65165,0,9136,69120],
|
||
[32,0,10096,69120],
|
||
[65167,0,11296,69120],
|
||
[65166,0,13216,69120],
|
||
[65169,0,14176,69120],
|
||
[68,0,4096,82432],
|
||
[105,0,6696,82432],
|
||
[114,0,7656,82432],
|
||
[101,0,9176,82432],
|
||
[99,0,11336,82432],
|
||
[116,0,13336,82432],
|
||
[111,0,14776,82432],
|
||
[114,0,17016,82432],
|
||
[32,0,18536,82432],
|
||
[111,0,19736,82432],
|
||
[102,0,21976,82432],
|
||
[32,0,23376,82432],
|
||
[112,0,24576,82432],
|
||
[104,0,26816,82432],
|
||
[111,0,29056,82432],
|
||
[116,0,31296,82432],
|
||
[111,0,32736,82432],
|
||
[103,0,34976,82432],
|
||
[114,0,37176,82432],
|
||
[97,0,38696,82432],
|
||
[112,0,40856,82432],
|
||
[104,0,43096,82432],
|
||
[121,0,45336,82432],
|
||
[68,0,4096,74752],
|
||
[79,0,5396,74752],
|
||
[80,0,6816,74752]
|
||
],
|
||
"clusters":[
|
||
[1,0,15,2],
|
||
[1,0,13,2],
|
||
[1,0,11,2],
|
||
[1,0,9,2],
|
||
[1,0,7,2],
|
||
[1,0,6,1],
|
||
[1,0,4,2],
|
||
[1,0,2,2],
|
||
[1,0,0,2],
|
||
[1,0,0,1],
|
||
[1,0,1,1],
|
||
[1,0,2,1],
|
||
[1,0,3,1],
|
||
[1,0,4,1],
|
||
[1,0,5,1],
|
||
[1,0,6,1],
|
||
[1,0,7,1],
|
||
[1,0,8,1],
|
||
[1,0,9,1],
|
||
[1,0,10,1],
|
||
[1,0,11,1],
|
||
[1,0,12,1],
|
||
[1,0,13,1],
|
||
[1,0,14,1],
|
||
[1,0,15,1],
|
||
[1,0,16,1],
|
||
[1,0,17,1],
|
||
[1,0,18,1],
|
||
[1,0,19,1],
|
||
[1,0,20,1],
|
||
[1,0,21,1],
|
||
[1,0,22,1],
|
||
[1,0,0,1],
|
||
[1,0,1,1],
|
||
[1,0,2,1]
|
||
],
|
||
"strings":"arباب البيتenDirector of photographyenDOP",
|
||
"inline":""
|
||
}
|