From 2b2fcb5db59c369be53bfc1e4d22912ace7ece0e Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Tue, 13 Oct 2026 23:11:01 -0400 Subject: [PATCH 1/2] wai-vector: motion/stroke-titles, a title card and a credit roll at 1280x720 and 25 fps A lower third (a bar and two lines that slide in on an easing table, hold and fade out as one group), then a heading and five credits, each a role and the part of the system that filled it, rising three design pixels a frame and fading out: seven seconds in the default stroke set. Each line's window is cut to the frames at which every run of it meets the canvas (graphics-vector section 5.4, Where a block is), computed from the set's exact glyph boxes and the sink's own track evaluation. The words are written in vectors/text.rs and name no person, company, product or place. Co-Authored-By: Claude Opus 5.5 --- wai/vector-conformance/README.md | 8 +- .../expected/motion/stroke-titles.json | 1 + wai/vector-conformance/sha256.json | 3 +- .../vectors/motion/index.json | 3 +- .../vectors/motion/stroke-titles.json | 452 ++++++++++++++++++ .../vectors/motion/stroke-titles.wvg1 | Bin 0 -> 6085 bytes wai/wai-vector/src/vectors/text.rs | 179 ++++++- 7 files changed, 640 insertions(+), 6 deletions(-) create mode 100644 wai/vector-conformance/expected/motion/stroke-titles.json create mode 100644 wai/vector-conformance/vectors/motion/stroke-titles.json create mode 100644 wai/vector-conformance/vectors/motion/stroke-titles.wvg1 diff --git a/wai/vector-conformance/README.md b/wai/vector-conformance/README.md index 7795adee1..5416a61cf 100644 --- a/wai/vector-conformance/README.md +++ b/wai/vector-conformance/README.md @@ -11,7 +11,7 @@ repertoire; and the text layer (§5): the transcript and every frame's projectio each payload's text record. The capability is a Draft and is not registered; this corpus precedes its registration. -**Provenance.** Generated here by `wai-vector vectors gen` from formulas and from centre lines drawn in this repository: every payload, outline set, stroke source and arithmetic input is integers and text written here, with no media and no third-party font. The synthetic outline sets are drawn from formulas in `wai-vector/src/vectors/sets.rs` and `raster.rs`. The two in-house sets are drawn here as integer centre lines, the ASCII stroke set in `wai-vector/src/vectors/stroke.rs` and the Arabic, Hebrew and Devanagari test repertoire in `wai-vector/src/vectors/repertoire.rs`; the generator writes them as `WSF1` sources under `sources/` and expands each by Annex A into `sets/stroke-ascii.wos1` and `sets/test-repertoire.wos1`. No outline is traced from any font. Every set's notes state where it comes from and that it is licensed Apache-2.0, and the two in-house sets' notes carry the licence text. All text in the blocks is written here; the `a11y` payloads' blocks, windows and strings are written in `wai-vector/src/vectors/a11y.rs`, and each text record is computed from its payload by `wai-vector/src/text.rs`. +**Provenance.** Generated here by `wai-vector vectors gen` from formulas and from centre lines drawn in this repository: every payload, outline set, stroke source and arithmetic input is integers and text written here, with no media and no third-party font. The synthetic outline sets are drawn from formulas in `wai-vector/src/vectors/sets.rs` and `raster.rs`. The two in-house sets are drawn here as integer centre lines, the ASCII stroke set in `wai-vector/src/vectors/stroke.rs` and the Arabic, Hebrew and Devanagari test repertoire in `wai-vector/src/vectors/repertoire.rs`; the generator writes them as `WSF1` sources under `sources/` and expands each by Annex A into `sets/stroke-ascii.wos1` and `sets/test-repertoire.wos1`. No outline is traced from any font. Every set's notes state where it comes from and that it is licensed Apache-2.0, and the two in-house sets' notes carry the licence text. All text in the blocks is written here; the `a11y` payloads' blocks, windows and strings are written in `wai-vector/src/vectors/a11y.rs`, the words of the title card and credit roll in `wai-vector/src/vectors/text.rs`, and each text record is computed from its payload by `wai-vector/src/text.rs`. **Equivalence.** A sink conforms on this corpus when, for every payload, it reports the expected file's `code`: the first refusal §2.7 gives, or `accepted`; and for every @@ -108,7 +108,11 @@ outline-set parser conforms when it reports §2.1's first code for every `.wos1` pop, and pixels on which the two candidate fill orders differ (§3.9). - `motion` — a credit roll at an integer speed (frame `k` is frame 0 moved, P2) and at a fractional one, a lower third that slides, holds and fades as a group, and each - easing mode; and a lower third and a short credit roll set in the stroke set. + easing mode; a lower third and a short credit roll set in the stroke set; and a title + card and a credit roll in the stroke set at 1280 × 720 and 25 fps, seven seconds: a + lower third that slides in, holds and fades out as a group, then a heading and five + credits, each a role and what filled it, that rise three design pixels a frame and + fade out, each line's window cut to the frames at which it meets the canvas. - `clock` — one document at 1280 × 720, 1920 × 1080 and 3840 × 2160, and at 25, 30000/1001 and 60 fps. - `slicing` — a document and three pieces cut from it; each piece's frames equal the diff --git a/wai/vector-conformance/expected/motion/stroke-titles.json b/wai/vector-conformance/expected/motion/stroke-titles.json new file mode 100644 index 000000000..9c28d869b --- /dev/null +++ b/wai/vector-conformance/expected/motion/stroke-titles.json @@ -0,0 +1 @@ +{"blocks":["156dbed5a579687fa3fcab1005b86e210bfaae4eebab70f709c042c554376cc5","c11f04da2b36e6de24cf5c6619e6bfbf87fdad02226108806ea696af129c8d09","3650cde7ae39c95fddb13bd5583b19e80acfd38ec0eccfe0b13ac88b3627a78c","8d0464b71f8906148ee8a1127fce009369c9bcd2363780b230af8207ba5adeaf","07d6b9d1f4879612e5b5bfb1e04240f227257b894a28efc821143e278fa2feea","99a14e32a0f6213ba75b657e9449c80f6a155104721b2c13982069f28c468f9b","e11f6e8674fb572832e98cd5bc047c89b0631187aa0d5edc9cd2f0ec5f138e29","e45b0b5710e8279f9dc0d8471c468c3e0faffc3673fc03453c34e280ed55ace1","44b713afe0492a4ba9489c47b0f207009a0b81f9a8499be15f19939091a68503","d7f5f0ff172c5bd6a723c8a3c54f408dfbbe2fdc8ac756e2a01939b71b909ae9","9ccda1f58315cab9e19ebffcdc1b1f6f08a59d7224ca68f75e41adc349d7bb42","cce6567ad54f4faa5158a57076088b83c1886325eb4f5659f86252a23aa8ab9c","85e817a857a8d0ce194a514d29e25741c1a363c678d9ff85f064e6a5f16f70cb"],"code":"accepted","frames":[{"clip":"b350fae598e1dc77e395295bbbc646a7a5d95df16652136922406a6ee1dfb3b8","den":1,"frames":[[0,"0c660f2bd3eff3150dd0040789abe2291613b9af319df870203d4f77a4913a5f"],[1,"fe05b8e1ccf6c0324e3b9f5b3d5d57e8c778e33a3c223451ca8990c638c5cd72"],[2,"1ebcfce7634060fa6484cc95a01455242575ef56c8054b663f1676c05bc2a8e8"],[3,"7053fcbc3a12f69f4ee64b1f0e81d438da001b86c561341225380fd349c988ab"],[4,"96aa39bf9d9395e1db97c2cc7a47b7be05910cf6541b1876d854b7c11655e80f"],[5,"a4cd1ddd79a5a3edc4b0a3f1a2b82dc3cde49b3ac7ce24852b8697c52b814e9a"],[6,"0a87e8d6799c81724f0f30a55b1fa3330af9a79096b502bd3c67968a372b4121"],[7,"b23082ed969222e5f650b2be5c632c2dd6a0fad5881c4e19c3a4298988ad9f8d"],[8,"f5cd0227e35748f5e8f7324446b5c8762d774997aa77572b9aed830d20d80682"],[9,"9092c1129bc3e18a9366aa7034ea47a06da5a1e80d4b27a88ee788414a8b1983"],[10,"7d56a250194cf2f5c82c45d9859485abf1821f78cc04c5958561a7318ea053fe"],[11,"6e6e4c8b356b51f0b857b3b797bd069fe2b112f2b1cee74385b80c2077364946"],[12,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[13,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[14,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[15,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[16,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[17,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[18,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[19,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[20,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[21,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[22,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[23,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[24,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[25,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[26,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[27,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[28,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[29,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[30,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[31,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[32,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[33,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[34,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[35,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[36,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[37,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[38,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[39,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[40,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[41,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[42,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[43,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[44,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[45,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[46,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[47,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[48,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[49,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[50,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[51,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[52,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[53,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[54,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[55,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[56,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[57,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[58,"5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37"],[59,"d20169767c75cfa77602dbbe4e803650a29fcc65fefa0875fa4a845c613d287a"],[60,"b02685107a6a5503869a6ca28f491ceec7bf896b982bb1f15967b0e2b4448a5f"],[61,"d19ddf2484c3267bb1a50469902530dfe1061d82ed7c0a6b8714226bdb43b8d0"],[62,"a8e859b120b154c720fdf13f6611f25b94923ee553143e137ab00580f1d744c9"],[63,"9fc36255a653b814b5e4c8d52b1f07041ed92a75048d65a26c6e104ce955c1be"],[64,"2f8b7f7a6a3b24b166f822ca9ba9c751f669e1005557d331108f3e63648058bb"],[65,"4eff37af2ad299a6e38802ce5df1bfd2596dcf02c9ff3b1b010cd94cf0d3d8ba"],[66,"8b61f49686ab59055bf64d39acc6b33101492c3a94a338f72a52afe2f2ebab30"],[67,"2876cb3a92f8fd6a543cfd75c9701ad06d25e9034d01de0f69aba9208ba748ac"],[68,"a8c76edd4cc11a5748f4b5ae0b01272429141aba2aa41759fd41a27581121068"],[69,"5a785f50f80abae1cf0cb563f7031a27faa73f383fc089fbc45a317d66980a6c"],[70,"f5db6e830a3be1f3a567a8beb80d99738e2a9ce9b748f898067afdc1575d6236"],[71,"e7cd13873005ea1bc3a03b05d8ff4f336b20fc948a26d2a97da198248be178a7"],[72,"689ad255cbe3bedcbe04bea89441d66738c66b12e1f4c3060253035f4ca18488"],[73,"c45ad03e90eeea98beacf86251968f4b1b5d54bb452b081c3333957ed8e0a3b6"],[74,"f14b94917d9c3f5534fb3f4fe2ab30855caa68bc9bccda2cee3ea474b34bd913"],[75,"ba37b1bcad996e20c710edc630a822101a703a99dd4ddd791dc76baccf6b0583"],[76,"487a3ba8d02ccdb63afe9bd105b2621de2e62ed9c8c2a20239b0507daa98c852"],[77,"8d9b848b359fb9ea7dd4221fbafd04dfeeb44d8b1d200f328996feaf73191577"],[78,"8e6ed24956548bd57d9ae1d5d3f5a2ed3406b43a6fbf570ec0ac84d20d6c4029"],[79,"77707c53bb94197467111851265edfe35d60608a1d48dae6d63cd500e4cf886e"],[80,"ca4db25cd6461e7d883d522e80df4385375bc711fd812bd6c6c8980a32540752"],[81,"9a57beb24aefdf8bb5fb9664a04ddf75cfcbeca01a6b75176d11d44255743df7"],[82,"7eb6e4dcc1a3744f9403a71aaaad33fb44a1b72492c76f53b56e23a042459050"],[83,"84225e8d36926930ce623e86885277db40a8d8f31e6135133d8416e130c0b4ab"],[84,"40b2b09a62cb760546def6837e9e4330201603897236cb8eaf5c19b1568b89d4"],[85,"10a4ef0f7e30837de10e6baef93ab63174e31b25fbd71a063cddcd0e89c4aca2"],[86,"31ce342183111f321ab4cc1df3234374fc6371607026f2ac6c84c1b975a38092"],[87,"918e2f092fe76ec163fcd4f718b63bd553c9854cbabb20cd7a095619e7507f07"],[88,"5c5aad1f52c01c70ebfa475d951e25ee88783aefef4139fa4fc6e982fe681abd"],[89,"f917cdce454fba765795004bf10fea853ad2812e9d48cdb9f0d60a5e929f95d0"],[90,"3b53a1b79e815d1a0686bec642e11075c8fde9c34cafa0117878ece32cdc1146"],[91,"1d26f16a948dfc78bfb280cd77c44238fc7280398685a02013ede4dd605bf0c0"],[92,"29991a2bab33a2b0779fe79ba600533f12c877c4c5ab86661ecf6dfa52ba56a5"],[93,"a9dff6ad9c89f167664ccbd7c427aaa3caf6baf6ced253f838dc92de6929cb43"],[94,"a10393661313e468dd3ee052c68c854443cc7f7e8111dd5c76d41a0170791d52"],[95,"81a8c66572f950506833af8807f8e0426867f658156a8a8ad6214017c7f6cde2"],[96,"892d114af9c0c430eb29722c803380a453ca9ef087f866453b0aa4574cbcb250"],[97,"51158c3373e366763c41cae039f00eb70d8381111d9eb5f391c5a3d4606ed917"],[98,"ee833ca16afa315cf15da8b8f4a56cbd24bf8f23000f636ce359a391f87078f1"],[99,"d58cf57dc5ca3f49ee9977234434ae6f01c1c3e95dcde523c00903affa7adba9"],[100,"d4d5c5c21f3ece4de818aacd99c469eb8f7676ddb3757ce234045fce0fcca8d7"],[101,"593c3c71fd4235d629f863e201c6b63aa6629e44f231205d027d0c126a7c60d1"],[102,"aad2fb7791d5c39aaa699288e12b2d56cb55e96b90782f79884dafcfe585424c"],[103,"370661fc3f99bb1a71717eaf702874544dad0be3d444c946cce77cbadf3128c6"],[104,"a0aff8518f2f5bcb35bb4f8eb26548882f08bb55c2dcfff574320ed06835fd54"],[105,"9b280f910c2a9718240bbecccfb27f6658986ea9e77a060e888582aea16bf585"],[106,"ac086e3e357278e75faae7c27370d58db8f498dd06c9b83c5499dfa40624c380"],[107,"79be6de2d3228f18f672a59fcd3d310d28f1148e352327420005e5846dd8842a"],[108,"997d5b1ea74dc02aa6733b8092ab3d857ed96566436857a52f377f1a445f7ef5"],[109,"7b88cc646291d8e08e872daa73a9043f4c278c039575d15c75db97731401c872"],[110,"7d00668965a530643f7098e7c3353acf854cea3b303826f5f0e36f11d5e97475"],[111,"9ef57baec48f9068e75e06338c6af92f10007602f890ad926c1d923e2fba5781"],[112,"69ed5ab6f64c4de5b828545a1bbff2c5c626d28788418bfe02ec82c47e132b26"],[113,"22c93b0a9aa21a1233c1bf602ebc8a863a1bb16294d2473e0938a3c173b967d6"],[114,"a988b10bf2eac2c5f8447ea9c04f5a0117e07727f9a12fa369d9771809510f9f"],[115,"b5faf1a9045da689f23751c95a756224a8ab2ac55fa9d100c00b18d61229c49d"],[116,"d7871f2aeb81d58acbab80637e22a1d14db5925da4b1e50f6f61ae62e9da229d"],[117,"a20a433f69fd9811cee7e7500adf9339cbde317d7a3a2d931b88879e621081d4"],[118,"6cc1e959b16ed2462eb19fb419d007e82807dbdd53ec3e8c5cf9e41cff95f3db"],[119,"914c762035025661c790557e7c616215c78ccd52d4043df846570e299a6e19be"],[120,"7c3d3835835481067dc6ea2e96c841ce5b84c25fcb62f6c02127319e42038c03"],[121,"cf6606480bb0ac3aeac087faa047dcf31e6e28d3a528c63907585885816a9a17"],[122,"b0d63cca4d084200e0114fab88c0c6814bc6e4d43ccd513e1d3b933c2db1c88f"],[123,"c490269ac4aee1f6b4e2a2698c5862b16037c33e614669e75f8c52c2a0ebafb7"],[124,"d4d2c8c6d8b0d2a0f52634a6f8ec62cade92ba9fe1db6dc9357071061dbd7911"],[125,"9dc3d5b94ab1fb02b3076d57d73e0ff83c7ca02bfc415e6e84e9fe6456172d1b"],[126,"223f974118278fd8420a6833efc742f1a766aa85e1cf0679052633570812503e"],[127,"6c89c60d2cab57eea5e035a8bf95c597f11f9688affb2198a084fc316e355f0d"],[128,"dcb2cbf166f9c444d06aaeabd44f56ca34d32f34c3e1803e0007d140b37644c8"],[129,"0e5357e764285998ed44b4075853418f2f5e0c0dfc1e8064203ebd2fa2aef2b2"],[130,"845e01f2beb70e24e61124208e3b482f4a34f94394d1749b859cb82dda9d0bf5"],[131,"bece68f5e78fa21c5ff375e5dc3f32f7b60a35878594e4efa7161ee9e9f55435"],[132,"1b1c8cffeae14b0d9dd0787cce7c6f6658bdb46f8593b542efe50a22b5977095"],[133,"903701a08f888ede13030db1d692cfe4456b0303e92945b098dcf1b624541c45"],[134,"59212a5c1a10265ad0e78c394e4792b4c5ee9846a7f0d83781f15bbafd089446"],[135,"83e5782443d1d87cfbf42625f95e630a2432223aa9d7af346ae8c8a97a0bab33"],[136,"98334d7a962e24295092b263ba4b3073f4854a0717ff0bc965fb518891a36295"],[137,"77ad8f74869083c111f96aba9beb73fe2d7bfd722b857c26b26d12da691eac7a"],[138,"a6b40ac305dab460356c43bfee9c0510a67566050678c38f4364399206b161bc"],[139,"8154f8cbd719f1eb9418a4597ede6b462d1a60ca1194e549db678316fb792997"],[140,"5adc53f76f17e3f5889657d43cca0ad883c5be1d6980af99f8a7a9e5add3741a"],[141,"0a61e370a9c8f32cf120a795d4e905b7f15c02b3918a614d76d5e8fb63aba33e"],[142,"5d435261289fd2496f59811a8d091b2a5cc07cd900a89a7e44019554e2fa92d2"],[143,"28078f37dc813ea160377d20375a529b64373d0c206cc322526b83763426e417"],[144,"795cf184eeb3aeb4dfde317632d52a6a016074cbe544b5297c5205f5ddb70e35"],[145,"fcba344f76fddf21dce056567e7aa80b30b45a7b100002e2a807d2f049129b62"],[146,"6892eb9de273e9e85dbd163b25eb0bcfcd1f26a3c38722d3c621d044645babe3"],[147,"6b91db460d433c5751e8ef9d3e13e2d46198666b3cc8d6149d12026613d02838"],[148,"9faff9cb3b5157bfb04a83842c6ad2fb63c5c065ba1b4bf692fa283d7652b218"],[149,"11991536348118c5d55797ce48e28c196a04bc4b47f218e8571fd09dab66d2c1"],[150,"a28e746f05033bead3721d7128ca64286260d27d9f99ed4d0817ee1d92cb3b1b"],[151,"d2ef962afd0f9e50b5e433d133407dcbd7cc7f379bd66ae5ab312ca00309171f"],[152,"a21769401b424d0a8ef8b7521aa8b53079a51c8c520e6c32a8fdbebec1a3d10d"],[153,"d6e62e820dc4b95f36cf350d5ad6f16fc3be177ba28c1af96df2f47180275392"],[154,"d95067e1f827341ad90ef4f1cb5e5672452f38c4fda7ee6f0ca26beb47963e95"],[155,"16837e6be4ddb630148a85731e72450d66a7fc8371977b10223ce10ff699c787"],[156,"bd77669f74d1a018db3eeaa2b6d00d2ed1ced848692d235e27719b7770903aa0"],[157,"ed98b30f82a2657ef8b6abf8d6080dd1ff913e4e442e11fa039748c5da9a12b0"],[158,"39ddb222345d4d214f889d8f331c513a59cba64d849bddc08abfd7df159c92bc"],[159,"b822bd67d5138218c810cba8f6cbd008305c4654ed2687fb155be50736eb27a9"],[160,"5b3315230cb965b9937147c60a7c009df29836f52534b30ab4508eb35d0484bd"],[161,"fea10191d5e0de35fd9c040bced2ef11bf14b491c40a2789bf83d61acc2c0ff6"],[162,"14479c046678b3a78355652c179772518dcd7f7f12acc93a6219c268886e2859"],[163,"ed91ed5c4d80e2a231fc9b7e6e247bfab11a025b0d56214701132483d215be06"],[164,"b14b3e6574ef74362dfed1962b6bd38626bde2be5c13c079835977308b899397"],[165,"fae3a070962a7203c9a1822bd03c2c778dda4cd205f64b52024d6012f00080de"],[166,"d32f9eefb20727018eb071ec685e8568013a74c098140f0c113ede5d0af8313c"],[167,"7b5ab7af0dd4342fa846a18b85268b13b1a76d65dbfc852a071634b9868f8ae4"],[168,"48ff265237bbecad04cad571ae56d382d3ff70c3649ae31af4c4450b21d85977"],[169,"297ca9453e6cc30daec693909a494e881322e021f5ac5200ac6d3e488cd01527"],[170,"c930a257376adcb51cbac140d969fd97e2d056d74a250034b4e40b5effc69c02"],[171,"60741a19cf70dd3b87eec067e662f5f18575d53b5b234698278d7641b2cb0be7"],[172,"826b01b23f3f040a74672590afbd0d76ac134671cb8e174f5d81889afb082310"],[173,"8415e4d48b2dde97ff1e7d922a62fd644958f9c46a8e1406ef3060c5c2371192"],[174,"0a8dbaae5f52e4b26952ca43753edba2e89d351853a6decd032960abd5d3dd66"]],"h":720,"num":25,"w":1280}],"instr":"e3f8337f905ca4d3547a8d74b4841f9ad3f69f72ca4e8b8e5990e605778c2dfd","rates":[[25,1,4800,0,174]],"sizes":[[1280,720,32796279]],"text_hash":"c45fbc14aec8f137ac717977fc8409ab41a463bc271b26b37a0eb8b6fb712208"} diff --git a/wai/vector-conformance/sha256.json b/wai/vector-conformance/sha256.json index 5bec2b968..4b515aa48 100644 --- a/wai/vector-conformance/sha256.json +++ b/wai/vector-conformance/sha256.json @@ -85,5 +85,6 @@ "text/emoji@160x80@25/1":{"buffer":"RGBA8P, 160 x 80, row-major, premultiplied, sRGB-encoded, bytes R G B A; frames g = 0..=0 at 25/1 fps, in order","frames_sha256":["7971ccd3260c96e3e1ad4ad97956af04a6c84b9b16fa660b3aa0a4ea2f3b4a21"],"clip_sha256":"1a6a95ea77ed01e8ab5a17e8bbc05646d3d30a8cf6935eba8165d5dad1c810aa"}, "runs/arabic-joins@96x48@25/1":{"buffer":"RGBA8P, 96 x 48, row-major, premultiplied, sRGB-encoded, bytes R G B A; frames g = 0..=0 at 25/1 fps, in order","frames_sha256":["828d00fc87f087778556d6ed5de3fa8a663aca6ab8455171f6fde0b32a64aff9"],"clip_sha256":"10583262cf57dc99cf295a5ee9211922618353fa41268d5732ab3b063a7599a4"}, "runs/arabic-joins-split@96x48@25/1":{"buffer":"RGBA8P, 96 x 48, row-major, premultiplied, sRGB-encoded, bytes R G B A; frames g = 0..=0 at 25/1 fps, in order","frames_sha256":["6b605b7066f21ddcfc5545748a575c1158de85a39bb1d31bfb094d73bbdc20ea"],"clip_sha256":"4bce3a67a81481a01b29f1d930cb08a41260dcc5fd8df07a9a2e6deec5bcf55b"}, -"motion/stroke-slice@320x180@25/1":{"buffer":"RGBA8P, 320 x 180, row-major, premultiplied, sRGB-encoded, bytes R G B A; frames g = 0..=49 at 25/1 fps, in order","frames_sha256":["51f9c33fb9f7c65fc675cf9a8f286a95e39d11eed58a9bd52b91da323ac583ea","24af64a8b20b655727d5e62c2964474e58ad993a696354d190b8f1a45ca863cd","db89480066e6c1cd54ba1048e45c964f476a46aca8dadd2af9a10267c7ec0c09","f0e46cbd094e20023dd845ca7416dc4954381319a6587fab862bb5cdc76daa1c","e8f05e1feecd24a6365ec7c25152dde7809f1bf1dd51edd63b14d19457af5c4e","c8cf3704099bd7d955e781205b9c7e050c9e98ca80549c54713b9ec2fe0e00d7","65bfcac71d5184201c42c2e7351ee3cda8c35da9d43864302829bf13462c9103","6d244b03beceff5c11e2bdfe0e0ab9c46abfd0af7ecf85eeaf4a02676867a662","94f0bf7aeaf7082ebfdb8285ade3d7c6310a93eb799d2cb4081a7bb34c32d659","1c5cb976f91ff2b16bedf7e6c11b47cdcf04fc68b60dca09ce4881892a11fd7e","82facce1e6ace3c5f2dd3950d0ecf17c26dd5897f849a4a512a73b7a68d15be5","4eb8e66960ff2b8dd5bc5a8eafa29a04ce55ce234c3abe45dfd0b6ca4b10b6f6","2308d9f1cc973be6e38c90d8a40d400e6098e18ee0e5235857a3c9b64a7ede3a","ea1b0c888c5857d4fa136cc8fcdfc05c4b3d0f40e87d39dbae7852d5850abbcb","b54e2d5ba0feca12e0fef1330bc1b8799e06bf7e69442405fc0e371084f83b56","f0aec5846b8a7ffa9675e569793bf6c66b9dd72b64b6d9487318710f412d761b","802a585234f5bf690b0163cb1744c29a5aba2768e5a7b794516603f4359f2ac2","2724930371428790b3c67d870e066bbcaf1d4d3237bbbaf0e1e24fec1d342728","973db68e7ec16691846999513f76acb5b0b60264cd09c9c3b4f061ed84857747","a52d6e5d92df1d2d6363b2f4fd5a679f08f3f6d91dcde2b2472925a818b13a03","5cff1ffd3f5afd9f8e2638ffe81d73c3c730e324841720f8312c1e8d2a07ee8f","ff529fbffabfe7f369a64552493306c647871c0e92f69502e2105cec9e1820ac","0d9d7100639681c499921c3350d94e3c8b430f34134e572da3d944dbe7ff53c4","42f1d26e6ba83fbaeaa2c529b0803884676f6d90fa8925c33bdbf7a6412b4724","fe17cf005b9b92a9a87615b917cd26ea9445974ad0ac2ea6cad1f85ce415d8d2","41bca0991e394f37dbea57547dae054f215f52679e11156f5ba7979d36db8dc3","7e48b6b4aa98b1d2c864982a9a02c52e601941feed5d86b5868c3d1a1f96dc18","4d4c3bd23afeb979a1cb0034c75bb5bdbbb54b261cd7ea4f3ac39c4c515784d6","eddeb7d5d5cc73c4959e678607ca9c41087cf37b3e9915a5eb7a4333b625698d","3b7b02f68a0e884802455183e5b7da724d2a8bf7aad600d9a56e1f1d4ff15ed9","3e1fca6d53f6ddb3593f15c80f0d9497e5946fec1cb4a0237284f38eb5e6129d","d3d830844430aea59a3bc0f2ba0c78eebff23d1176bd97d5c68f11e994dab90a","0ce0e9b42a968d189717f0fa70784941d8ea6a80f117ddc1ecd02bd6abdb6e9a","ca66ee4fb115569f49639b0e283fc1e8d83aa7d69f15e145a635a0ad42a00ab3","68abea21cbcea92374a5d4b535f19e606245b56d263dbf2029c7188b2afba706","b9704483f218a364462a753c6a9fa86eeeb31907f9360c6d7b86f571a8d4372d","e736441c2e198921e930da342190caac604e89fe8bd78a2fa29e6d841712044b","fddfc9d19e1407a3020e81bfa95d6ff44eec9bc5f2558902ccbec7a2be71dbc9","678c26a298fac8829d90179f7efdc6e0ad4599f5dbfb780bf16e94887eea669b","de36b5bd62944fcc7d0b405d902a13e4b4b97c29774522cea546a8e510addde3","297c16b9eb660a49ed5d0f1ae49079842db1f4b7931935688d1472e2e4f3e763","4bd50eb0ab2fe83261de4c761ea03c6ebc5baabd7342b41a3da1d19ec82cdf8f","9be53e089b51bf5d3ad39942c820a7457e6838f735b5eade03cdb21b19166160","7170ce78e75c7b712e4fbf6584ff4f7afb5182580ffe02bb643047020a09456e","160a4bc34b110689eae4bf90b9506d5ec4fbbb93e57018825dd3b80f6e169c16","6fcaac14edaef1282473e0fd61f4a142794e0a6eb47bcc94eb5c53834a43edae","6cbd88fb80d87b14e384b2ca5dba058bba8e305ad848100abb50c3784f3771e6","f8da02c0c14dd4fadd511f9ff14d198fb3214c3cf1b8613a5e96b5c8f00390aa","75b7c82c389fa10aff769a103fef2dc963edb6583ac7d40ddb532c5b1f73f81a","16898aeb46ad07fb8974a4bff2c476de5df3ad85c90617bcdfa838b6685117c4"],"clip_sha256":"efca9b207efa9d9d487552bb9ed6c1e4718fdfba22c56b075988268a76716a8b"} +"motion/stroke-slice@320x180@25/1":{"buffer":"RGBA8P, 320 x 180, row-major, premultiplied, sRGB-encoded, bytes R G B A; frames g = 0..=49 at 25/1 fps, in order","frames_sha256":["51f9c33fb9f7c65fc675cf9a8f286a95e39d11eed58a9bd52b91da323ac583ea","24af64a8b20b655727d5e62c2964474e58ad993a696354d190b8f1a45ca863cd","db89480066e6c1cd54ba1048e45c964f476a46aca8dadd2af9a10267c7ec0c09","f0e46cbd094e20023dd845ca7416dc4954381319a6587fab862bb5cdc76daa1c","e8f05e1feecd24a6365ec7c25152dde7809f1bf1dd51edd63b14d19457af5c4e","c8cf3704099bd7d955e781205b9c7e050c9e98ca80549c54713b9ec2fe0e00d7","65bfcac71d5184201c42c2e7351ee3cda8c35da9d43864302829bf13462c9103","6d244b03beceff5c11e2bdfe0e0ab9c46abfd0af7ecf85eeaf4a02676867a662","94f0bf7aeaf7082ebfdb8285ade3d7c6310a93eb799d2cb4081a7bb34c32d659","1c5cb976f91ff2b16bedf7e6c11b47cdcf04fc68b60dca09ce4881892a11fd7e","82facce1e6ace3c5f2dd3950d0ecf17c26dd5897f849a4a512a73b7a68d15be5","4eb8e66960ff2b8dd5bc5a8eafa29a04ce55ce234c3abe45dfd0b6ca4b10b6f6","2308d9f1cc973be6e38c90d8a40d400e6098e18ee0e5235857a3c9b64a7ede3a","ea1b0c888c5857d4fa136cc8fcdfc05c4b3d0f40e87d39dbae7852d5850abbcb","b54e2d5ba0feca12e0fef1330bc1b8799e06bf7e69442405fc0e371084f83b56","f0aec5846b8a7ffa9675e569793bf6c66b9dd72b64b6d9487318710f412d761b","802a585234f5bf690b0163cb1744c29a5aba2768e5a7b794516603f4359f2ac2","2724930371428790b3c67d870e066bbcaf1d4d3237bbbaf0e1e24fec1d342728","973db68e7ec16691846999513f76acb5b0b60264cd09c9c3b4f061ed84857747","a52d6e5d92df1d2d6363b2f4fd5a679f08f3f6d91dcde2b2472925a818b13a03","5cff1ffd3f5afd9f8e2638ffe81d73c3c730e324841720f8312c1e8d2a07ee8f","ff529fbffabfe7f369a64552493306c647871c0e92f69502e2105cec9e1820ac","0d9d7100639681c499921c3350d94e3c8b430f34134e572da3d944dbe7ff53c4","42f1d26e6ba83fbaeaa2c529b0803884676f6d90fa8925c33bdbf7a6412b4724","fe17cf005b9b92a9a87615b917cd26ea9445974ad0ac2ea6cad1f85ce415d8d2","41bca0991e394f37dbea57547dae054f215f52679e11156f5ba7979d36db8dc3","7e48b6b4aa98b1d2c864982a9a02c52e601941feed5d86b5868c3d1a1f96dc18","4d4c3bd23afeb979a1cb0034c75bb5bdbbb54b261cd7ea4f3ac39c4c515784d6","eddeb7d5d5cc73c4959e678607ca9c41087cf37b3e9915a5eb7a4333b625698d","3b7b02f68a0e884802455183e5b7da724d2a8bf7aad600d9a56e1f1d4ff15ed9","3e1fca6d53f6ddb3593f15c80f0d9497e5946fec1cb4a0237284f38eb5e6129d","d3d830844430aea59a3bc0f2ba0c78eebff23d1176bd97d5c68f11e994dab90a","0ce0e9b42a968d189717f0fa70784941d8ea6a80f117ddc1ecd02bd6abdb6e9a","ca66ee4fb115569f49639b0e283fc1e8d83aa7d69f15e145a635a0ad42a00ab3","68abea21cbcea92374a5d4b535f19e606245b56d263dbf2029c7188b2afba706","b9704483f218a364462a753c6a9fa86eeeb31907f9360c6d7b86f571a8d4372d","e736441c2e198921e930da342190caac604e89fe8bd78a2fa29e6d841712044b","fddfc9d19e1407a3020e81bfa95d6ff44eec9bc5f2558902ccbec7a2be71dbc9","678c26a298fac8829d90179f7efdc6e0ad4599f5dbfb780bf16e94887eea669b","de36b5bd62944fcc7d0b405d902a13e4b4b97c29774522cea546a8e510addde3","297c16b9eb660a49ed5d0f1ae49079842db1f4b7931935688d1472e2e4f3e763","4bd50eb0ab2fe83261de4c761ea03c6ebc5baabd7342b41a3da1d19ec82cdf8f","9be53e089b51bf5d3ad39942c820a7457e6838f735b5eade03cdb21b19166160","7170ce78e75c7b712e4fbf6584ff4f7afb5182580ffe02bb643047020a09456e","160a4bc34b110689eae4bf90b9506d5ec4fbbb93e57018825dd3b80f6e169c16","6fcaac14edaef1282473e0fd61f4a142794e0a6eb47bcc94eb5c53834a43edae","6cbd88fb80d87b14e384b2ca5dba058bba8e305ad848100abb50c3784f3771e6","f8da02c0c14dd4fadd511f9ff14d198fb3214c3cf1b8613a5e96b5c8f00390aa","75b7c82c389fa10aff769a103fef2dc963edb6583ac7d40ddb532c5b1f73f81a","16898aeb46ad07fb8974a4bff2c476de5df3ad85c90617bcdfa838b6685117c4"],"clip_sha256":"efca9b207efa9d9d487552bb9ed6c1e4718fdfba22c56b075988268a76716a8b"}, +"motion/stroke-titles@1280x720@25/1":{"buffer":"RGBA8P, 1280 x 720, row-major, premultiplied, sRGB-encoded, bytes R G B A; frames g = 0..=174 at 25/1 fps, in order","frames_sha256":["0c660f2bd3eff3150dd0040789abe2291613b9af319df870203d4f77a4913a5f","fe05b8e1ccf6c0324e3b9f5b3d5d57e8c778e33a3c223451ca8990c638c5cd72","1ebcfce7634060fa6484cc95a01455242575ef56c8054b663f1676c05bc2a8e8","7053fcbc3a12f69f4ee64b1f0e81d438da001b86c561341225380fd349c988ab","96aa39bf9d9395e1db97c2cc7a47b7be05910cf6541b1876d854b7c11655e80f","a4cd1ddd79a5a3edc4b0a3f1a2b82dc3cde49b3ac7ce24852b8697c52b814e9a","0a87e8d6799c81724f0f30a55b1fa3330af9a79096b502bd3c67968a372b4121","b23082ed969222e5f650b2be5c632c2dd6a0fad5881c4e19c3a4298988ad9f8d","f5cd0227e35748f5e8f7324446b5c8762d774997aa77572b9aed830d20d80682","9092c1129bc3e18a9366aa7034ea47a06da5a1e80d4b27a88ee788414a8b1983","7d56a250194cf2f5c82c45d9859485abf1821f78cc04c5958561a7318ea053fe","6e6e4c8b356b51f0b857b3b797bd069fe2b112f2b1cee74385b80c2077364946","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","5f17a8fc3d20fcd6f26405022fb1ff9f95a8cecaa06ac4071df4b5339199dc37","d20169767c75cfa77602dbbe4e803650a29fcc65fefa0875fa4a845c613d287a","b02685107a6a5503869a6ca28f491ceec7bf896b982bb1f15967b0e2b4448a5f","d19ddf2484c3267bb1a50469902530dfe1061d82ed7c0a6b8714226bdb43b8d0","a8e859b120b154c720fdf13f6611f25b94923ee553143e137ab00580f1d744c9","9fc36255a653b814b5e4c8d52b1f07041ed92a75048d65a26c6e104ce955c1be","2f8b7f7a6a3b24b166f822ca9ba9c751f669e1005557d331108f3e63648058bb","4eff37af2ad299a6e38802ce5df1bfd2596dcf02c9ff3b1b010cd94cf0d3d8ba","8b61f49686ab59055bf64d39acc6b33101492c3a94a338f72a52afe2f2ebab30","2876cb3a92f8fd6a543cfd75c9701ad06d25e9034d01de0f69aba9208ba748ac","a8c76edd4cc11a5748f4b5ae0b01272429141aba2aa41759fd41a27581121068","5a785f50f80abae1cf0cb563f7031a27faa73f383fc089fbc45a317d66980a6c","f5db6e830a3be1f3a567a8beb80d99738e2a9ce9b748f898067afdc1575d6236","e7cd13873005ea1bc3a03b05d8ff4f336b20fc948a26d2a97da198248be178a7","689ad255cbe3bedcbe04bea89441d66738c66b12e1f4c3060253035f4ca18488","c45ad03e90eeea98beacf86251968f4b1b5d54bb452b081c3333957ed8e0a3b6","f14b94917d9c3f5534fb3f4fe2ab30855caa68bc9bccda2cee3ea474b34bd913","ba37b1bcad996e20c710edc630a822101a703a99dd4ddd791dc76baccf6b0583","487a3ba8d02ccdb63afe9bd105b2621de2e62ed9c8c2a20239b0507daa98c852","8d9b848b359fb9ea7dd4221fbafd04dfeeb44d8b1d200f328996feaf73191577","8e6ed24956548bd57d9ae1d5d3f5a2ed3406b43a6fbf570ec0ac84d20d6c4029","77707c53bb94197467111851265edfe35d60608a1d48dae6d63cd500e4cf886e","ca4db25cd6461e7d883d522e80df4385375bc711fd812bd6c6c8980a32540752","9a57beb24aefdf8bb5fb9664a04ddf75cfcbeca01a6b75176d11d44255743df7","7eb6e4dcc1a3744f9403a71aaaad33fb44a1b72492c76f53b56e23a042459050","84225e8d36926930ce623e86885277db40a8d8f31e6135133d8416e130c0b4ab","40b2b09a62cb760546def6837e9e4330201603897236cb8eaf5c19b1568b89d4","10a4ef0f7e30837de10e6baef93ab63174e31b25fbd71a063cddcd0e89c4aca2","31ce342183111f321ab4cc1df3234374fc6371607026f2ac6c84c1b975a38092","918e2f092fe76ec163fcd4f718b63bd553c9854cbabb20cd7a095619e7507f07","5c5aad1f52c01c70ebfa475d951e25ee88783aefef4139fa4fc6e982fe681abd","f917cdce454fba765795004bf10fea853ad2812e9d48cdb9f0d60a5e929f95d0","3b53a1b79e815d1a0686bec642e11075c8fde9c34cafa0117878ece32cdc1146","1d26f16a948dfc78bfb280cd77c44238fc7280398685a02013ede4dd605bf0c0","29991a2bab33a2b0779fe79ba600533f12c877c4c5ab86661ecf6dfa52ba56a5","a9dff6ad9c89f167664ccbd7c427aaa3caf6baf6ced253f838dc92de6929cb43","a10393661313e468dd3ee052c68c854443cc7f7e8111dd5c76d41a0170791d52","81a8c66572f950506833af8807f8e0426867f658156a8a8ad6214017c7f6cde2","892d114af9c0c430eb29722c803380a453ca9ef087f866453b0aa4574cbcb250","51158c3373e366763c41cae039f00eb70d8381111d9eb5f391c5a3d4606ed917","ee833ca16afa315cf15da8b8f4a56cbd24bf8f23000f636ce359a391f87078f1","d58cf57dc5ca3f49ee9977234434ae6f01c1c3e95dcde523c00903affa7adba9","d4d5c5c21f3ece4de818aacd99c469eb8f7676ddb3757ce234045fce0fcca8d7","593c3c71fd4235d629f863e201c6b63aa6629e44f231205d027d0c126a7c60d1","aad2fb7791d5c39aaa699288e12b2d56cb55e96b90782f79884dafcfe585424c","370661fc3f99bb1a71717eaf702874544dad0be3d444c946cce77cbadf3128c6","a0aff8518f2f5bcb35bb4f8eb26548882f08bb55c2dcfff574320ed06835fd54","9b280f910c2a9718240bbecccfb27f6658986ea9e77a060e888582aea16bf585","ac086e3e357278e75faae7c27370d58db8f498dd06c9b83c5499dfa40624c380","79be6de2d3228f18f672a59fcd3d310d28f1148e352327420005e5846dd8842a","997d5b1ea74dc02aa6733b8092ab3d857ed96566436857a52f377f1a445f7ef5","7b88cc646291d8e08e872daa73a9043f4c278c039575d15c75db97731401c872","7d00668965a530643f7098e7c3353acf854cea3b303826f5f0e36f11d5e97475","9ef57baec48f9068e75e06338c6af92f10007602f890ad926c1d923e2fba5781","69ed5ab6f64c4de5b828545a1bbff2c5c626d28788418bfe02ec82c47e132b26","22c93b0a9aa21a1233c1bf602ebc8a863a1bb16294d2473e0938a3c173b967d6","a988b10bf2eac2c5f8447ea9c04f5a0117e07727f9a12fa369d9771809510f9f","b5faf1a9045da689f23751c95a756224a8ab2ac55fa9d100c00b18d61229c49d","d7871f2aeb81d58acbab80637e22a1d14db5925da4b1e50f6f61ae62e9da229d","a20a433f69fd9811cee7e7500adf9339cbde317d7a3a2d931b88879e621081d4","6cc1e959b16ed2462eb19fb419d007e82807dbdd53ec3e8c5cf9e41cff95f3db","914c762035025661c790557e7c616215c78ccd52d4043df846570e299a6e19be","7c3d3835835481067dc6ea2e96c841ce5b84c25fcb62f6c02127319e42038c03","cf6606480bb0ac3aeac087faa047dcf31e6e28d3a528c63907585885816a9a17","b0d63cca4d084200e0114fab88c0c6814bc6e4d43ccd513e1d3b933c2db1c88f","c490269ac4aee1f6b4e2a2698c5862b16037c33e614669e75f8c52c2a0ebafb7","d4d2c8c6d8b0d2a0f52634a6f8ec62cade92ba9fe1db6dc9357071061dbd7911","9dc3d5b94ab1fb02b3076d57d73e0ff83c7ca02bfc415e6e84e9fe6456172d1b","223f974118278fd8420a6833efc742f1a766aa85e1cf0679052633570812503e","6c89c60d2cab57eea5e035a8bf95c597f11f9688affb2198a084fc316e355f0d","dcb2cbf166f9c444d06aaeabd44f56ca34d32f34c3e1803e0007d140b37644c8","0e5357e764285998ed44b4075853418f2f5e0c0dfc1e8064203ebd2fa2aef2b2","845e01f2beb70e24e61124208e3b482f4a34f94394d1749b859cb82dda9d0bf5","bece68f5e78fa21c5ff375e5dc3f32f7b60a35878594e4efa7161ee9e9f55435","1b1c8cffeae14b0d9dd0787cce7c6f6658bdb46f8593b542efe50a22b5977095","903701a08f888ede13030db1d692cfe4456b0303e92945b098dcf1b624541c45","59212a5c1a10265ad0e78c394e4792b4c5ee9846a7f0d83781f15bbafd089446","83e5782443d1d87cfbf42625f95e630a2432223aa9d7af346ae8c8a97a0bab33","98334d7a962e24295092b263ba4b3073f4854a0717ff0bc965fb518891a36295","77ad8f74869083c111f96aba9beb73fe2d7bfd722b857c26b26d12da691eac7a","a6b40ac305dab460356c43bfee9c0510a67566050678c38f4364399206b161bc","8154f8cbd719f1eb9418a4597ede6b462d1a60ca1194e549db678316fb792997","5adc53f76f17e3f5889657d43cca0ad883c5be1d6980af99f8a7a9e5add3741a","0a61e370a9c8f32cf120a795d4e905b7f15c02b3918a614d76d5e8fb63aba33e","5d435261289fd2496f59811a8d091b2a5cc07cd900a89a7e44019554e2fa92d2","28078f37dc813ea160377d20375a529b64373d0c206cc322526b83763426e417","795cf184eeb3aeb4dfde317632d52a6a016074cbe544b5297c5205f5ddb70e35","fcba344f76fddf21dce056567e7aa80b30b45a7b100002e2a807d2f049129b62","6892eb9de273e9e85dbd163b25eb0bcfcd1f26a3c38722d3c621d044645babe3","6b91db460d433c5751e8ef9d3e13e2d46198666b3cc8d6149d12026613d02838","9faff9cb3b5157bfb04a83842c6ad2fb63c5c065ba1b4bf692fa283d7652b218","11991536348118c5d55797ce48e28c196a04bc4b47f218e8571fd09dab66d2c1","a28e746f05033bead3721d7128ca64286260d27d9f99ed4d0817ee1d92cb3b1b","d2ef962afd0f9e50b5e433d133407dcbd7cc7f379bd66ae5ab312ca00309171f","a21769401b424d0a8ef8b7521aa8b53079a51c8c520e6c32a8fdbebec1a3d10d","d6e62e820dc4b95f36cf350d5ad6f16fc3be177ba28c1af96df2f47180275392","d95067e1f827341ad90ef4f1cb5e5672452f38c4fda7ee6f0ca26beb47963e95","16837e6be4ddb630148a85731e72450d66a7fc8371977b10223ce10ff699c787","bd77669f74d1a018db3eeaa2b6d00d2ed1ced848692d235e27719b7770903aa0","ed98b30f82a2657ef8b6abf8d6080dd1ff913e4e442e11fa039748c5da9a12b0","39ddb222345d4d214f889d8f331c513a59cba64d849bddc08abfd7df159c92bc","b822bd67d5138218c810cba8f6cbd008305c4654ed2687fb155be50736eb27a9","5b3315230cb965b9937147c60a7c009df29836f52534b30ab4508eb35d0484bd","fea10191d5e0de35fd9c040bced2ef11bf14b491c40a2789bf83d61acc2c0ff6","14479c046678b3a78355652c179772518dcd7f7f12acc93a6219c268886e2859","ed91ed5c4d80e2a231fc9b7e6e247bfab11a025b0d56214701132483d215be06","b14b3e6574ef74362dfed1962b6bd38626bde2be5c13c079835977308b899397","fae3a070962a7203c9a1822bd03c2c778dda4cd205f64b52024d6012f00080de","d32f9eefb20727018eb071ec685e8568013a74c098140f0c113ede5d0af8313c","7b5ab7af0dd4342fa846a18b85268b13b1a76d65dbfc852a071634b9868f8ae4","48ff265237bbecad04cad571ae56d382d3ff70c3649ae31af4c4450b21d85977","297ca9453e6cc30daec693909a494e881322e021f5ac5200ac6d3e488cd01527","c930a257376adcb51cbac140d969fd97e2d056d74a250034b4e40b5effc69c02","60741a19cf70dd3b87eec067e662f5f18575d53b5b234698278d7641b2cb0be7","826b01b23f3f040a74672590afbd0d76ac134671cb8e174f5d81889afb082310","8415e4d48b2dde97ff1e7d922a62fd644958f9c46a8e1406ef3060c5c2371192","0a8dbaae5f52e4b26952ca43753edba2e89d351853a6decd032960abd5d3dd66"],"clip_sha256":"b350fae598e1dc77e395295bbbc646a7a5d95df16652136922406a6ee1dfb3b8"} } diff --git a/wai/vector-conformance/vectors/motion/index.json b/wai/vector-conformance/vectors/motion/index.json index 9d3c6c120..a28da24aa 100644 --- a/wai/vector-conformance/vectors/motion/index.json +++ b/wai/vector-conformance/vectors/motion/index.json @@ -3,5 +3,6 @@ "lower-third":"a lower third that slides in on an easing table, holds and fades out, as one group: accepted", "roll-fractional":"the same roll at 1.5 design pixels per frame: no whole-pixel shift between frames: accepted", "roll-integer":"a credit roll at 2 design pixels per frame, keys on frame ticks: frame k is frame 0 moved 2k pixels at the design size, 4k at twice it (P2): accepted", -"stroke-slice":"a lower third in the stroke set (a bar and two lines that slide in on an easing table, hold and fade out as one group) and a short credit roll moving up three design pixels a frame: accepted" +"stroke-slice":"a lower third in the stroke set (a bar and two lines that slide in on an easing table, hold and fade out as one group) and a short credit roll moving up three design pixels a frame: accepted", +"stroke-titles":"a title card and a credit roll in the stroke set at 1280x720 and 25 fps, seven seconds: a lower third (a bar and two lines that slide in on an easing table, hold and fade out as one group), then a roll of a heading and five credits, each a role and what filled it, moving up three design pixels a frame and fading out; each line's window cut to the frames at which it meets the canvas: accepted" } diff --git a/wai/vector-conformance/vectors/motion/stroke-titles.json b/wai/vector-conformance/vectors/motion/stroke-titles.json new file mode 100644 index 000000000..19472ce36 --- /dev/null +++ b/wai/vector-conformance/vectors/motion/stroke-titles.json @@ -0,0 +1,452 @@ +{ +"header":{"magic":"WVG1","format":1,"tb":120000,"t0":0,"dur":840000,"design_w":1280,"design_h":720,"n_sizes":1,"n_rates":1,"n_sets":1,"n_tables":1,"n_paints":4,"n_texts":13,"n_tracks":4,"n_paths":1,"n_items":18,"n_keys":10,"n_glyphs":181,"n_clusters":181,"path_contours":1,"path_points":4,"strings_len":207,"inline_len":0,"held_len":105523,"zero@72":[0,0,0,0,0,0,0,0]}, +"sizes":[ +{"w":1280,"h":720,"cost":32796279} +], +"rates":[ +{"num":25,"den":1} +], +"sets":[ +{"carriage":0,"zero@1":[0,0,0],"length":105523,"sha256":"05476c4658ef7366c7700736487eac4c3c1b7d21264978c7d05bd4c7427736c9"} +], +"tables":[ +[0,9000,17000,24000,30500,36000,41000,45500,49500,53000,56000,58500,60700,62500,64000,65000,65536] +], +"paints":[ +[16,36,96,224], +[255,255,255,255], +[200,210,225,255], +[160,170,185,255] +], +"tracks":[ +{"kind":2,"zero@1":0,"zero@2":0,"n_keys":2}, +{"kind":1,"zero@1":0,"zero@2":0,"n_keys":3}, +{"kind":2,"zero@1":0,"zero@2":0,"n_keys":2}, +{"kind":1,"zero@1":0,"zero@2":0,"n_keys":3} +], +"keys":[ +[0,-182272,2,[0,0,0]], +[57600,0,0,[0,0,0]], +[0,255,0,[0,0,0]], +[278400,255,1,[0,0,0]], +[336000,0,0,[0,0,0]], +[297600,0,1,[0,0,0]], +[840000,-86784,0,[0,0,0]], +[0,255,0,[0,0,0]], +[768000,255,1,[0,0,0]], +[840000,0,0,[0,0,0]] +], +"paths":[ +{"n_contours":1,"n_points":4,"zero@4":0,"xmin":80,"ymin":552,"xmax":672,"ymax":668} +], +"path_ends":[3], +"path_points":[ +[80,552,0], +[672,552,0], +[672,668,0], +[80,668,0] +], +"texts":[ +{"purpose":3,"dir":0,"lang_len":2,"mode":0,"group":1,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":31}, +{"purpose":3,"dir":0,"lang_len":2,"mode":0,"group":1,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":35}, +{"purpose":1,"dir":0,"lang_len":2,"mode":0,"group":0,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":7}, +{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":2,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":9}, +{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":2,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":14}, +{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":3,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":6}, +{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":3,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":14}, +{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":4,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":7}, +{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":4,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":18}, +{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":5,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":5}, +{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":5,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":14}, +{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":6,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":8}, +{"purpose":2,"dir":0,"lang_len":2,"mode":0,"group":6,"ruby":0,"ruby_start":0,"ruby_len":0,"str_len":13} +], +"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":0,"t_off":336000,"unit_scale":0,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":0,"ty":65535,"op":1,"zero@42":[0,0,0,0,0,0]}, +{"kind":2,"rule":0,"zero@2":0,"ref":0,"paint":0,"text":65535,"zero@10":0,"n_glyphs":0,"n_clusters":0,"t_on":0,"t_off":336000,"unit_scale":16777216,"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":1,"text":0,"zero@10":0,"n_glyphs":31,"n_clusters":31,"t_on":4800,"t_off":336000,"unit_scale":327680,"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":2,"text":1,"zero@10":0,"n_glyphs":35,"n_clusters":35,"t_on":4800,"t_off":336000,"unit_scale":262144,"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":297600,"t_off":840000,"unit_scale":0,"m00":65535,"m01":65535,"m10":65535,"m11":65535,"tx":65535,"ty":2,"op":3,"zero@42":[0,0,0,0,0,0]}, +{"kind":3,"rule":0,"zero@2":0,"ref":0,"paint":1,"text":2,"zero@10":0,"n_glyphs":7,"n_clusters":7,"t_on":316800,"t_off":840000,"unit_scale":327680,"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":3,"text":3,"zero@10":0,"n_glyphs":9,"n_clusters":9,"t_on":403200,"t_off":840000,"unit_scale":262144,"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":1,"text":4,"zero@10":0,"n_glyphs":14,"n_clusters":14,"t_on":403200,"t_off":840000,"unit_scale":262144,"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":3,"text":5,"zero@10":0,"n_glyphs":6,"n_clusters":6,"t_on":460800,"t_off":840000,"unit_scale":262144,"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":1,"text":6,"zero@10":0,"n_glyphs":14,"n_clusters":14,"t_on":460800,"t_off":840000,"unit_scale":262144,"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":3,"text":7,"zero@10":0,"n_glyphs":7,"n_clusters":7,"t_on":523200,"t_off":840000,"unit_scale":262144,"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":1,"text":8,"zero@10":0,"n_glyphs":18,"n_clusters":18,"t_on":523200,"t_off":840000,"unit_scale":262144,"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":3,"text":9,"zero@10":0,"n_glyphs":5,"n_clusters":5,"t_on":580800,"t_off":840000,"unit_scale":262144,"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":1,"text":10,"zero@10":0,"n_glyphs":14,"n_clusters":14,"t_on":580800,"t_off":840000,"unit_scale":262144,"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":3,"text":11,"zero@10":0,"n_glyphs":8,"n_clusters":8,"t_on":643200,"t_off":840000,"unit_scale":262144,"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":1,"text":12,"zero@10":0,"n_glyphs":13,"n_clusters":13,"t_on":643200,"t_off":840000,"unit_scale":262144,"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]} +], +"glyphs":[ +[84,0,28672,153600], +[105,0,34422,153600], +[116,0,36822,153600], +[108,0,40422,153600], +[101,0,42822,153600], +[115,0,48222,153600], +[44,0,52922,153600], +[32,0,55122,153600], +[99,0,58122,153600], +[97,0,63122,153600], +[114,0,68522,153600], +[114,0,72322,153600], +[105,0,76122,153600], +[101,0,78522,153600], +[100,0,83922,153600], +[32,0,89522,153600], +[97,0,92522,153600], +[115,0,97922,153600], +[32,0,102622,153600], +[105,0,105622,153600], +[110,0,108022,153600], +[115,0,113622,153600], +[116,0,118322,153600], +[114,0,121922,153600], +[117,0,125722,153600], +[99,0,131322,153600], +[116,0,136322,153600], +[105,0,139922,153600], +[111,0,142322,153600], +[110,0,147922,153600], +[115,0,153522,153600], +[100,0,28672,163840], +[114,0,33152,163840], +[97,0,36192,163840], +[119,0,40512,163840], +[110,0,46512,163840], +[32,0,50992,163840], +[111,0,53392,163840], +[110,0,57872,163840], +[32,0,62352,163840], +[116,0,64752,163840], +[104,0,67632,163840], +[101,0,72112,163840], +[32,0,76432,163840], +[100,0,78832,163840], +[101,0,83312,163840], +[118,0,87632,163840], +[105,0,91792,163840], +[99,0,93712,163840], +[101,0,97712,163840], +[32,0,102032,163840], +[116,0,104432,163840], +[104,0,107312,163840], +[97,0,111792,163840], +[116,0,116112,163840], +[32,0,118992,163840], +[115,0,121392,163840], +[104,0,125152,163840], +[111,0,129632,163840], +[119,0,134112,163840], +[115,0,140112,163840], +[32,0,143872,163840], +[116,0,146272,163840], +[104,0,149152,163840], +[101,0,153632,163840], +[109,0,157952,163840], +[67,0,147840,194560], +[114,0,154340,194560], +[101,0,158140,194560], +[100,0,163540,194560], +[105,0,169140,194560], +[116,0,171540,194560], +[115,0,175140,194560], +[76,0,126280,206336], +[101,0,130480,206336], +[116,0,134800,206336], +[116,0,137680,206336], +[101,0,140560,206336], +[114,0,144880,206336], +[105,0,147920,206336], +[110,0,149840,206336], +[103,0,154320,206336], +[116,0,168960,206336], +[104,0,171840,206336], +[101,0,176320,206336], +[32,0,180640,206336], +[115,0,183040,206336], +[116,0,186800,206336], +[114,0,189680,206336], +[111,0,192720,206336], +[107,0,197200,206336], +[101,0,201200,206336], +[32,0,205520,206336], +[115,0,207920,206336], +[101,0,211680,206336], +[116,0,216000,206336], +[84,0,135720,216064], +[105,0,140320,216064], +[109,0,142240,216064], +[105,0,147920,216064], +[110,0,149840,216064], +[103,0,154320,216064], +[116,0,168960,216064], +[104,0,171840,216064], +[101,0,176320,216064], +[32,0,180640,216064], +[116,0,183040,216064], +[105,0,185920,216064], +[99,0,187840,216064], +[107,0,191840,216064], +[32,0,195840,216064], +[99,0,198240,216064], +[108,0,202240,216064], +[111,0,204160,216064], +[99,0,208640,216064], +[107,0,212640,216064], +[68,0,129360,225792], +[114,0,134560,225792], +[97,0,137600,225792], +[119,0,141920,225792], +[105,0,147920,225792], +[110,0,149840,225792], +[103,0,154320,225792], +[105,0,168960,225792], +[110,0,170880,225792], +[116,0,175360,225792], +[101,0,178240,225792], +[103,0,182560,225792], +[101,0,186960,225792], +[114,0,191280,225792], +[32,0,194320,225792], +[97,0,196720,225792], +[114,0,201040,225792], +[105,0,204080,225792], +[116,0,206000,225792], +[104,0,208880,225792], +[109,0,213360,225792], +[101,0,219040,225792], +[116,0,223360,225792], +[105,0,226240,225792], +[99,0,228160,225792], +[87,0,136160,235520], +[111,0,142960,235520], +[114,0,147440,235520], +[100,0,150480,235520], +[115,0,154960,235520], +[116,0,168960,235520], +[104,0,171840,235520], +[101,0,176320,235520], +[32,0,180640,235520], +[116,0,183040,235520], +[101,0,185920,235520], +[120,0,190240,235520], +[116,0,194240,235520], +[32,0,197120,235520], +[108,0,199520,235520], +[97,0,201440,235520], +[121,0,205760,235520], +[101,0,209920,235520], +[114,0,214240,235520], +[67,0,125920,245248], +[104,0,131120,245248], +[101,0,135600,245248], +[99,0,139920,245248], +[107,0,143920,245248], +[105,0,147920,245248], +[110,0,149840,245248], +[103,0,154320,245248], +[102,0,168960,245248], +[114,0,171760,245248], +[97,0,174800,245248], +[109,0,179120,245248], +[101,0,184800,245248], +[32,0,189120,245248], +[100,0,191520,245248], +[105,0,196000,245248], +[103,0,197920,245248], +[101,0,202320,245248], +[115,0,206640,245248], +[116,0,210400,245248], +[115,0,213280,245248] +], +"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,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,27,1], +[1,0,28,1], +[1,0,29,1], +[1,0,30,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,27,1], +[1,0,28,1], +[1,0,29,1], +[1,0,30,1], +[1,0,31,1], +[1,0,32,1], +[1,0,33,1], +[1,0,34,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,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,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,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,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,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,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] +], +"strings":"enTitles, carried as instructionsendrawn on the device that shows themenCreditsenLetteringenthe stroke setenTimingenthe tick clockenDrawingeninteger arithmeticenWordsenthe text layerenCheckingenframe digests", +"inline":"" +} diff --git a/wai/vector-conformance/vectors/motion/stroke-titles.wvg1 b/wai/vector-conformance/vectors/motion/stroke-titles.wvg1 new file mode 100644 index 0000000000000000000000000000000000000000..0d2b77ee5993ec77119c32aba58cae7dc9f2cc5e GIT binary patch literal 6085 zcmeH~Z)jXq8pcm%k|s5#o5uR5^-qsYR;w0`^$*LgXl!e%*bl=}jObP}Om3So$t28- zO+_rTMf|Y1YY=f4tU4geLQ$9%7hEmN_(7^H=vcZHi^`})1uX`Zs?{2w=R9-oJxbNl z7(eYD?wsGe_j%v*zVA8r-emBG4Hvf&X;iVxMY`n-4FOq{zpT+U~zBgyfyZ=3#fR!inNH*C24U;jyIp%ccP4_GMnr%?&s#Zg0 zjFN4Ou9yDA4#@6$_V`z!i_^P{PjyDVPUDR9k#EYZOq3J55=lcc<%Ij%mB3GYC6PO4 z4Ugr3Z`;r?XjoHxv;!0F6WbOZ$F`_pV`su+0f4@~Ez~JzDZ@E@8+QqP;~rrn9mf{N z<6Pm<0idsM>uOx&iq1y8jaNZ-UYVT@`xJKKIQo`QuTjBOr@WV&<)(@vw90LW>L0#d z>(Xm_Jw0~GHxB8;yc(r6H7Jav+-2d;iNnY16Xwsl+wm#=FVufu{z`a%7V-EW%^*G%HPF=4V8w%si*VmNTGcnrfk z4~YW|>;EAxV7O(Ecol}HUldymzkfxX!EnOc;xvZ)j)?OZc6TCM%uC+6Ow1f^I#0~G zo?a~;2JhP-w%{i=i__p+vts76b4RRsV_M9Z5AY3zxpLqme~)A@r+^|>US;?GyZ)m#1r6;E)a9BeOHT_+Y^Ig*5Z0zQthQb;x{;rVd&3d zy!_0-!(zs%@YM^A#n8W3%(1cP`df?i5>U{vvic{8j97cvPH*rt)O0nSM@8-&#$~ zzV#mz)3^Sfn6(cb6|-0MPV^RaQJ?A+Td-LzW)4HY6EjYEy_kKlSWo(ngH2Yv7Fgoi zeWo=!bd#9+J=DO?UhUr@W>22HU(C6dJS=8DeUFJZg0DS{oX<(B|Hs7CPcMQ7c5-d0 zm~(aiTFgB;bD5ZP)tDRfT=&#<;;pnZ&qf@>e88-C;1MxnRx4r)Ejkr)0|&$zaP@UDYaBW(wqSEC)(kB` z{_y3q(VQY?e@bVH8OK~CW}Nbs;&tHE=UDfA(mnUeU5E)z!(QULgSnrF&KE~(4SQ5O zII0~?jjO$(DLp7(*OSM^?8CrQV*1(_VteYKm}}ktzSx4hKNT~#NrU_mpPCfcx-oA* z>jiVJN}rhhpJDB=a~&tI7Bh$PV5~2Vh?#%2AkKgX?hp@x>n9maQ{QYJuuWM zX0Pf!;@iR1UNPr2mx`HxeVuqMneUhXD9?U__+aWQi^Uo6G~X|>zBoL%l!Zis&)s*Z=Z-B*`SWN)#Emg`S)WOqut{Uj~9B(zt=*2r^hFH z+~x5ikALNHx5tY;?(z5}kC%9Svd5=*e5%K%c^v*n&AgX+_R~E+!{akOKFecZRD0M1 zj{onu`Z6Cq=l||uudT;td%VJ9V5ATI=DJ4n5%at5wO?|sx!l)3SDrstocVr^%}1W| z5%atD)m+y4$3Da7QrBF3f64dSeCIje@qg<3J;-g!7RQ3ZDw|2?^Vwk7rVBQkD-`p$ zWs2E}Tp`E}=hIU;JCU=+k-!cI+p?Jem@eAF$i!5E*6|>>HXjUUi%@S2ip3zG&20^G z)FaTuD2AZOnZ_e~F`F5+nX!q?Xpmcn3EYKjt{7|$@;05%7DvVdXoB3}M1B}y8LJp< dFWRy6?Li*%jRcud=d>lC9!Fl;twEt!_! u32 { @@ -305,9 +309,180 @@ pub fn vectors() -> Vec { } add("motion", "stroke-slice", &s, "a lower third in the stroke set (a bar and two lines that slide in on an easing table, hold and fade out as one group) and a short credit roll moving up three design pixels a frame: accepted"); } + + // ---- motion/stroke-titles: a title card and a credit roll at 1280 x 720, 25 fps. + add( + "motion", + "stroke-titles", + &stroke_titles(&latin_set, &stroke), + "a title card and a credit roll in the stroke set at 1280x720 and 25 fps, seven seconds: a lower third (a bar and two lines that slide in on an easing table, hold and fade out as one group), then a roll of a heading and five credits, each a role and what filled it, moving up three design pixels a frame and fading out; each line's window cut to the frames at which it meets the canvas: accepted", + ); v } +/// The lower third of `motion/stroke-titles`: two lines, read as one group. +pub const TITLES_LOWER_THIRD: [&str; 2] = ["Titles, carried as instructions", "drawn on the device that shows them"]; +/// The heading of its credit roll. +pub const TITLES_ROLL_HEADING: &str = "Credits"; +/// Its credits: each a role, and the part of the system that filled it, read as one group. +pub const TITLES_ROLL: [(&str, &str); 5] = [ + ("Lettering", "the stroke set"), + ("Timing", "the tick clock"), + ("Drawing", "integer arithmetic"), + ("Words", "the text layer"), + ("Checking", "frame digests"), +]; + +/// A track's value at tick `tau`, by the sink's own evaluation (§3.2). +fn track_at(t: &TrackDef, tau: i64) -> i64 { + let mut tables: Vec = Vec::new(); + let keys: Vec = t + .keys + .iter() + .map(|k| { + let interp = match &k.ease { + Ease::Hold => 0, + Ease::Linear => 1, + Ease::Table(e) => { + tables.push(Table { e: *e }); + (tables.len() + 1) as u8 + } + }; + Key { t: k.t, value: k.value, interp, zero: [0; 3] } + }) + .collect(); + crate::track::eval(&keys, &tables, tau) +} + +/// Whether a run, moved by `d` design subpixels, meets a `w` × `h` canvas (§5.4, *Where +/// a block is*): the exact box of one of its glyphs, at the design size, overlaps the +/// canvas. Asked here with a margin of one design pixel on every side, so placement's +/// rounding cannot put a frame the encoder counts as meeting the canvas outside it. +fn meets(set: &Wos1, glyphs: &[(u16, i32, i32)], unit_scale: u32, d: (i64, i64), w: u16, h: u16) -> bool { + let s = i64::from(unit_scale); + let lo = |v: i16| floor_div(i64::from(v) * s, 65_536); + let hi = |v: i16| -floor_div(-i64::from(v) * s, 65_536); + let (cw, ch) = (i64::from(PX) * i64::from(w), i64::from(PX) * i64::from(h)); + let m = i64::from(PX); + glyphs.iter().any(|&(gid, x, y)| { + let Some(g) = set.glyph(gid) else { return false }; + if g.n_points == 0 { + return false; + } + let (x, y) = (d.0 + i64::from(x), d.1 + i64::from(y)); + x + hi(g.xmax) > m && x + lo(g.xmin) < cw - m && y + hi(g.ymax) > m && y + lo(g.ymin) < ch - m + }) +} + +/// A run of a line: its block, its glyphs placed, its clusters, its unit scale and +/// its paint. +type LineRun = (u16, Vec<(u16, i32, i32)>, Vec<(u16, u32, u32)>, u32, [u8; 4]); + +/// The runs of one line read together, pushed with one window inside `[from, to)` +/// frames: from the first frame at which every run, moved by `shift(frame)`, meets a +/// `w` × `h` canvas, to `to`. Every run must meet the canvas at every frame of that +/// window, so a line is never projected while it is off the canvas. +#[allow(clippy::too_many_arguments)] +fn push_line(s: &mut SceneDef, set: &Wos1, runs: Vec, from: u32, to: u32, w: u16, h: u16, shift: impl Fn(u32) -> (i64, i64)) { + let on = runs + .iter() + .map(|(_, g, _, u, _)| (from..to).find(|&f| meets(set, g, *u, shift(f), w, h)).expect("the run meets the canvas")) + .max() + .expect("a line has a run"); + for (text, g, c, u, paint) in runs { + assert!((on..to).all(|f| meets(set, &g, u, shift(f), w, h)), "a run leaves the canvas inside its window"); + s.items.push(run(0, text, g, c, u, paint, (on * ONE, to * ONE), NO_SLOTS)); + } +} + +/// `motion/stroke-titles`: a title card and a credit roll in the stroke set, on a +/// 1280 × 720 design canvas listed at that size and 25 fps, seven seconds long. +/// +/// - Frames 0–70, the lower third: a bar and two lines that slide in from the left on +/// an easing table over 12 frames, hold, and fade out over frames 58–70, as one +/// group. +/// - Frames 62–175, the credit roll: a heading and five credits, each a role +/// right-aligned to the gutter and what filled it left-aligned after it, moving up +/// three design pixels a frame (keys on frame ticks, so frame `k` of the roll is its +/// first frame moved `3k` pixels), entering from below the canvas and fading out over +/// frames 160–175. +/// +/// Each line's window is cut to the frames at which every run of it meets the canvas. +fn stroke_titles(latin_set: &Wsf1, stroke: &SetDef) -> SceneDef { + const W: u16 = 1280; + const H: u16 = 720; + const FRAMES: u32 = 175; + // The lower third's window, the end of its slide and the start of its fade; the + // roll's window start and the start of its fade, in frames. + const LT_END: u32 = 70; + const SLIDE: u32 = 12; + const LT_FADE: u32 = 58; + const ROLL: u32 = 62; + const ROLL_FADE: u32 = 160; + const BAR: [u8; 4] = [16, 36, 96, 224]; + const SOFT: [u8; 4] = [200, 210, 225, 255]; + const ROLE: [u8; 4] = [160, 170, 185, 255]; + let end = FRAMES * ONE; + let set = wos1::parse(&stroke.bytes).expect("the stroke set parses"); + let px = |n: i32| n * PX; + // A run's width in whole design pixels, rounded up. + let width = |l: &Latin, u: u32| (r_rat(i64::from(l.2) * i64::from(u), 65_536) as i32 + PX - 1) / PX; + + let mut s = SceneDef::new(TB, 0, end, W, H); + s.sizes = vec![(W, H)]; + s.rates = vec![(25, 1)]; + s.sets = vec![stroke.clone()]; + let grouped = |purpose: u8, text: &str, group: u16| { + let mut t = block(purpose, "en", 0, text); + t.group = group; + t + }; + s.texts = vec![grouped(3, TITLES_LOWER_THIRD[0], 1), grouped(3, TITLES_LOWER_THIRD[1], 1), block(1, "en", 0, TITLES_ROLL_HEADING)]; + for (i, (role, part)) in TITLES_ROLL.iter().enumerate() { + s.texts.push(grouped(2, role, 2 + i as u16)); + s.texts.push(grouped(2, part, 2 + i as u16)); + } + + // The lower third. The bar, in path units of one design pixel (unit_scale 2^24), + // ends 32 pixels past the longer line. + let (u1, u2) = (us(5), us(4)); + let lines = [latin(latin_set, TITLES_LOWER_THIRD[0], 0), latin(latin_set, TITLES_LOWER_THIRD[1], 0)]; + let text_x = 112; + let bar_right = text_x + width(&lines[0], u1).max(width(&lines[1], u2)) + 32; + let ease_out = Ease::Table([0, 9_000, 17_000, 24_000, 30_500, 36_000, 41_000, 45_500, 49_500, 53_000, 56_000, 58_500, 60_700, 62_500, 64_000, 65_000, 65_536]); + let slide = TrackDef { kind: 2, keys: vec![KeyDef { t: 0, value: -px(bar_right + 40), ease: ease_out }, KeyDef { t: SLIDE * ONE, value: 0, ease: Ease::Hold }] }; + let fade = TrackDef { + kind: 1, + keys: vec![KeyDef { t: 0, value: 255, ease: Ease::Hold }, KeyDef { t: LT_FADE * ONE, value: 255, ease: Ease::Linear }, KeyDef { t: LT_END * ONE, value: 0, ease: Ease::Hold }], + }; + s.items.push(ItemDef::Begin { clip: None, t_on: 0, t_off: LT_END * ONE, tx: Some(slide.clone()), ty: None, op: Some(fade) }); + s.items.push(ItemDef::Path { path: PathDef::rect(80, 552, bar_right as i16, 668), rule: 0, paint: BAR, text: None, t_on: 0, t_off: LT_END * ONE, unit_scale: 1 << 24, slots: NO_SLOTS }); + let runs = lines.into_iter().zip([(u1, 600, WHITE), (u2, 640, SOFT)]).enumerate().map(|(k, ((g, c, _), (u, y, paint)))| (k as u16, place(&g, (px(text_x), px(y)), u), c, u, paint)).collect(); + push_line(&mut s, &set, runs, 0, LT_END, W, H, |f| (track_at(&slide, i64::from(f * ONE)), 0)); + s.items.push(ItemDef::End); + + // The roll: rises three design pixels a frame from its first frame to the end. + let rise = TrackDef::linear(2, ROLL * ONE, 0, end, -3 * PX * (FRAMES - ROLL) as i32); + let roll_op = TrackDef { + kind: 1, + keys: vec![KeyDef { t: 0, value: 255, ease: Ease::Hold }, KeyDef { t: ROLL_FADE * ONE, value: 255, ease: Ease::Linear }, KeyDef { t: end, value: 0, ease: Ease::Hold }], + }; + s.items.push(ItemDef::Begin { clip: None, t_on: ROLL * ONE, t_off: end, tx: None, ty: Some(rise.clone()), op: Some(roll_op) }); + let rose = |f: u32| (0, track_at(&rise, i64::from(f * ONE))); + let head = latin(latin_set, TITLES_ROLL_HEADING, 0); + let head_x = px(640) - r_rat(i64::from(head.2) * i64::from(u1), 2 * 65_536) as i32; + push_line(&mut s, &set, vec![(2, place(&head.0, (head_x, px(760)), u1), head.1, u1, WHITE)], ROLL, FRAMES, W, H, rose); + for (i, (role, part)) in TITLES_ROLL.iter().enumerate() { + let y = px(806 + 38 * i as i32); + let (r, p) = (latin(latin_set, role, 0), latin(latin_set, part, 0)); + let rx = px(620) - r_rat(i64::from(r.2) * i64::from(u2), 65_536) as i32; + let runs = vec![(3 + 2 * i as u16, place(&r.0, (rx, y), u2), r.1, u2, ROLE), (4 + 2 * i as u16, place(&p.0, (px(660), y), u2), p.1, u2, WHITE)]; + push_line(&mut s, &set, runs, ROLL, FRAMES, W, H, rose); + } + s.items.push(ItemDef::End); + s +} + /// The test words' shaping, checked by the joining-table test: `(text, gids in logical /// order)`. The expected glyph IDs are written as the code points Unicode assigns to /// each contextual form, never through the table's own constants, so a table that -- 2.54.0 (Apple Git-157) From 7f420e887eb149289732fac39d9c18efb7eb6064 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Wed, 14 Oct 2026 02:04:25 -0400 Subject: [PATCH 2/2] wai changelog: the title card and credit roll in the vector corpus Co-Authored-By: Claude Opus 5.5 --- wai/CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/wai/CHANGELOG.md b/wai/CHANGELOG.md index 887650f97..545d1c146 100644 --- a/wai/CHANGELOG.md +++ b/wai/CHANGELOG.md @@ -6,6 +6,15 @@ wire format may change and such changes are recorded here. ## v0.4.0 — current +### Vector graphics (Draft): a title card and credit roll in the corpus + +`wai/vector-conformance/` gains `motion/stroke-titles`: a 1280 × 720 document at 25 fps +in the default stroke set, a lower third that slides in, holds and fades as a group, and +a credit roll that rises three design pixels a frame. Each line's window is cut to the +frames at which it meets the canvas (graphics-vector §5.4, *Where a block is*). Every +frame's digest is in its expected file, so the native, WASI, Node and three-engine +browser legs and the independent checker each check all of them. + ### Vector graphics (Draft): the sink as a WebAssembly 1.0 module, in three browser engines Additive. No payload, outline set, vector or digest changes. -- 2.54.0 (Apple Git-157)