diff --git a/docs/re/structures/ui-paint-order-key.md b/docs/re/structures/ui-paint-order-key.md index c5b8276d..224be167 100644 --- a/docs/re/structures/ui-paint-order-key.md +++ b/docs/re/structures/ui-paint-order-key.md @@ -326,11 +326,23 @@ X/Y, the `T8aD` header words, and `kind`. ## The corpus-wide census (2026-08-26) -Everything above rests on twelve values from two screens. This walks **all 4 525 -`T8aD` sprites on the disc**, so the open question can be asked of the whole -corpus. `tools/re-capture/paint_key_census.py`, output in +Everything above rests on twelve values from two screens. This walks **4 525 +`T8aD` sprites on the disc**, so the open question can be asked of a corpus. +`tools/re-capture/paint_key_census.py`, output in [`../data/paint-key-census.txt`](../data/paint-key-census.txt). +> ⚠️ **Read the next paragraph before using these numbers.** The census counts +> pak entries whose *own* first four bytes are `T8aD`. But the sprites this page +> measures paint order on are **children of a `RATC` bundle** — `ui_layout.rs` +> reaches them through `ratc::parse`, and a bundle entry's magic is `RATC`, so a +> child `T8aD` is invisible to a top-level magic filter. The two populations may +> overlap partly, wholly, or not at all, and **which one the 45 keys describe is +> being measured, not assumed.** Until that lands, treat every count below as a +> statement about top-level `T8aD` entries only. +> +> This is the same failure shape as the 37/45 note further down: a number +> computed over a population I had not checked was the population in question. + ### ✅ The field is a `u16` at `+0x0A`, not a word at `+0x08` The upper half of the 32-bit word this page reads is **zero in 4 525 / 4 525**