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]>
215 lines
6.6 KiB
JSON
215 lines
6.6 KiB
JSON
{
|
|
"header":{"magic":"WVG1","format":1,"tb":120000,"t0":0,"dur":240000,"design_w":640,"design_h":360,"n_sizes":1,"n_rates":1,"n_sets":1,"n_tables":0,"n_paints":1,"n_texts":5,"n_tracks":0,"n_paths":0,"n_items":11,"n_keys":0,"n_glyphs":84,"n_clusters":84,"path_contours":0,"path_points":0,"strings_len":94,"inline_len":0,"held_len":105523,"zero@72":[0,0,0,0,0,0,0,0]},
|
|
"sizes":[
|
|
{"w":640,"h":360,"cost":7588831}
|
|
],
|
|
"rates":[
|
|
{"num":25,"den":1}
|
|
],
|
|
"sets":[
|
|
{"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":7,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":18},
|
|
{"purpose":7,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":14},
|
|
{"purpose":7,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":14},
|
|
{"purpose":7,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":27},
|
|
{"purpose":7,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":11}
|
|
],
|
|
"items":[
|
|
{"kind":0,"rule":0,"zero@2":0,"ref":65535,"paint":65535,"text":65535,"zero@10":0,"n_glyphs":0,"n_clusters":0,"t_on":24000,"t_off":96000,"unit_scale":0,"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":0,"paint":0,"text":0,"zero@10":0,"n_glyphs":18,"n_clusters":18,"t_on":0,"t_off":240000,"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":0,"rule":0,"zero@2":0,"ref":65535,"paint":65535,"text":65535,"zero@10":0,"n_glyphs":0,"n_clusters":0,"t_on":48000,"t_off":200000,"unit_scale":0,"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":0,"paint":0,"text":1,"zero@10":0,"n_glyphs":14,"n_clusters":14,"t_on":0,"t_off":60000,"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":0,"paint":0,"text":2,"zero@10":0,"n_glyphs":14,"n_clusters":14,"t_on":72000,"t_off":240000,"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":1,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":0,"zero@10":0,"n_glyphs":0,"n_clusters":0,"t_on":0,"t_off":0,"unit_scale":0,"m00":0,"m01":0,"m10":0,"m11":0,"tx":0,"ty":0,"op":0,"zero@42":[0,0,0,0,0,0]},
|
|
{"kind":0,"rule":0,"zero@2":0,"ref":65535,"paint":65535,"text":65535,"zero@10":0,"n_glyphs":0,"n_clusters":0,"t_on":96000,"t_off":120000,"unit_scale":0,"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":0,"paint":0,"text":3,"zero@10":0,"n_glyphs":27,"n_clusters":27,"t_on":0,"t_off":240000,"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":1,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":0,"zero@10":0,"n_glyphs":0,"n_clusters":0,"t_on":0,"t_off":0,"unit_scale":0,"m00":0,"m01":0,"m10":0,"m11":0,"tx":0,"ty":0,"op":0,"zero@42":[0,0,0,0,0,0]},
|
|
{"kind":1,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":0,"zero@10":0,"n_glyphs":0,"n_clusters":0,"t_on":0,"t_off":0,"unit_scale":0,"m00":0,"m01":0,"m10":0,"m11":0,"tx":0,"ty":0,"op":0,"zero@42":[0,0,0,0,0,0]},
|
|
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":4,"zero@10":0,"n_glyphs":11,"n_clusters":11,"t_on":100000,"t_off":130000,"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]}
|
|
],
|
|
"glyphs":[
|
|
[105,0,4096,9216],
|
|
[110,0,5056,9216],
|
|
[32,0,7296,9216],
|
|
[116,0,8496,9216],
|
|
[104,0,9936,9216],
|
|
[101,0,12176,9216],
|
|
[32,0,14336,9216],
|
|
[111,0,15536,9216],
|
|
[117,0,17776,9216],
|
|
[116,0,20016,9216],
|
|
[101,0,21456,9216],
|
|
[114,0,23616,9216],
|
|
[32,0,25136,9216],
|
|
[103,0,26336,9216],
|
|
[114,0,28536,9216],
|
|
[111,0,30056,9216],
|
|
[117,0,32296,9216],
|
|
[112,0,34536,9216],
|
|
[105,0,4096,15872],
|
|
[110,0,5056,15872],
|
|
[32,0,7296,15872],
|
|
[98,0,8496,15872],
|
|
[111,0,10736,15872],
|
|
[116,0,12976,15872],
|
|
[104,0,14416,15872],
|
|
[32,0,16656,15872],
|
|
[103,0,17856,15872],
|
|
[114,0,20056,15872],
|
|
[111,0,21576,15872],
|
|
[117,0,23816,15872],
|
|
[112,0,26056,15872],
|
|
[115,0,28296,15872],
|
|
[105,0,4096,22528],
|
|
[110,0,5056,22528],
|
|
[32,0,7296,22528],
|
|
[98,0,8496,22528],
|
|
[111,0,10736,22528],
|
|
[116,0,12976,22528],
|
|
[104,0,14416,22528],
|
|
[44,0,16656,22528],
|
|
[32,0,17536,22528],
|
|
[108,0,18736,22528],
|
|
[97,0,19696,22528],
|
|
[116,0,21856,22528],
|
|
[101,0,23296,22528],
|
|
[114,0,25456,22528],
|
|
[105,0,4096,29184],
|
|
[110,0,5056,29184],
|
|
[32,0,7296,29184],
|
|
[97,0,8496,29184],
|
|
[32,0,10656,29184],
|
|
[103,0,11856,29184],
|
|
[114,0,14056,29184],
|
|
[111,0,15576,29184],
|
|
[117,0,17816,29184],
|
|
[112,0,20056,29184],
|
|
[32,0,22296,29184],
|
|
[116,0,23496,29184],
|
|
[104,0,24936,29184],
|
|
[97,0,27176,29184],
|
|
[116,0,29336,29184],
|
|
[32,0,30776,29184],
|
|
[110,0,31976,29184],
|
|
[101,0,34216,29184],
|
|
[118,0,36376,29184],
|
|
[101,0,38456,29184],
|
|
[114,0,40616,29184],
|
|
[32,0,42136,29184],
|
|
[111,0,43336,29184],
|
|
[112,0,45576,29184],
|
|
[101,0,47816,29184],
|
|
[110,0,49976,29184],
|
|
[115,0,52216,29184],
|
|
[105,0,4096,35840],
|
|
[110,0,5056,35840],
|
|
[32,0,7296,35840],
|
|
[110,0,8496,35840],
|
|
[111,0,10736,35840],
|
|
[32,0,12976,35840],
|
|
[103,0,14176,35840],
|
|
[114,0,16376,35840],
|
|
[111,0,17896,35840],
|
|
[117,0,20136,35840],
|
|
[112,0,22376,35840]
|
|
],
|
|
"clusters":[
|
|
[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,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,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,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,23,1],
|
|
[1,0,24,1],
|
|
[1,0,25,1],
|
|
[1,0,26,1],
|
|
[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]
|
|
],
|
|
"strings":"enin the outer groupenin both groupsenin both, laterenin a group that never opensenin no group",
|
|
"inline":""
|
|
}
|