open-standards/wai/vector-conformance/vectors/a11y/intervals.json
Transaction Science 10ba6e9bcc wai-vector: the text layer and section 5, text and accessibility (D7-7)
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]>
2026-10-13 02:43:02 -04:00

207 lines
6.5 KiB
JSON

{
"header":{"magic":"WVG1","format":1,"tb":120000,"t0":0,"dur":120000,"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":80,"n_clusters":80,"path_contours":0,"path_points":0,"strings_len":90,"inline_len":0,"held_len":105523,"zero@72":[0,0,0,0,0,0,0,0]},
"sizes":[
{"w":640,"h":360,"cost":12359740}
],
"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":16},
{"purpose":7,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":19},
{"purpose":7,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":13},
{"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":18}
],
"items":[
{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":0,"zero@10":0,"n_glyphs":8,"n_clusters":8,"t_on":0,"t_off":24000,"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":0,"zero@10":0,"n_glyphs":8,"n_clusters":8,"t_on":24000,"t_off":48000,"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":1,"zero@10":0,"n_glyphs":11,"n_clusters":11,"t_on":0,"t_off":36000,"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":1,"zero@10":0,"n_glyphs":8,"n_clusters":8,"t_on":24000,"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":5,"n_clusters":5,"t_on":0,"t_off":24000,"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":8,"n_clusters":8,"t_on":24001,"t_off":48000,"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":3,"zero@10":0,"n_glyphs":6,"n_clusters":6,"t_on":0,"t_off":96000,"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":3,"zero@10":0,"n_glyphs":8,"n_clusters":8,"t_on":24000,"t_off":48000,"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":4,"zero@10":0,"n_glyphs":5,"n_clusters":5,"t_on":72000,"t_off":96000,"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":4,"zero@10":0,"n_glyphs":5,"n_clusters":5,"t_on":0,"t_off":24000,"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":4,"zero@10":0,"n_glyphs":8,"n_clusters":8,"t_on":24000,"t_off":48000,"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":[
[116,0,4096,9216],
[111,0,5536,9216],
[117,0,7776,9216],
[99,0,10016,9216],
[104,0,12016,9216],
[105,0,14256,9216],
[110,0,15216,9216],
[103,0,17456,9216],
[32,0,19656,9216],
[119,0,20856,9216],
[105,0,23856,9216],
[110,0,24816,9216],
[100,0,27056,9216],
[111,0,29296,9216],
[119,0,31536,9216],
[115,0,34536,9216],
[111,0,4096,15872],
[118,0,6336,15872],
[101,0,8416,15872],
[114,0,10576,15872],
[108,0,12096,15872],
[97,0,13056,15872],
[112,0,15216,15872],
[112,0,17456,15872],
[105,0,19696,15872],
[110,0,20656,15872],
[103,0,22896,15872],
[32,0,25096,15872],
[119,0,26296,15872],
[105,0,29296,15872],
[110,0,30256,15872],
[100,0,32496,15872],
[111,0,34736,15872],
[119,0,36976,15872],
[115,0,39976,15872],
[97,0,4096,22528],
[112,0,6256,22528],
[97,0,8496,22528],
[114,0,10656,22528],
[116,0,12176,22528],
[32,0,13616,22528],
[119,0,14816,22528],
[105,0,17816,22528],
[110,0,18776,22528],
[100,0,21016,22528],
[111,0,23256,22528],
[119,0,25496,22528],
[115,0,28496,22528],
[110,0,4096,29184],
[101,0,6336,29184],
[115,0,8496,29184],
[116,0,10376,29184],
[101,0,11816,29184],
[100,0,13976,29184],
[32,0,16216,29184],
[119,0,17416,29184],
[105,0,20416,29184],
[110,0,21376,29184],
[100,0,23616,29184],
[111,0,25856,29184],
[119,0,28096,29184],
[115,0,31096,29184],
[108,0,4096,35840],
[97,0,5056,35840],
[116,0,7216,35840],
[101,0,8656,35840],
[114,0,10816,35840],
[32,0,12336,35840],
[116,0,13536,35840],
[104,0,14976,35840],
[101,0,17216,35840],
[110,0,19376,35840],
[32,0,21616,35840],
[101,0,22816,35840],
[97,0,24976,35840],
[114,0,27136,35840],
[108,0,28656,35840],
[105,0,29616,35840],
[101,0,30576,35840],
[114,0,32736,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,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,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,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]
],
"strings":"entouching windowsenoverlapping windowsenapart windowsennested windowsenlater then earlier",
"inline":""
}