Files
Sylpheed/docs/re/data/eff-bit-census.txt
Sylpheed RE agent 489ea12759 re(ui): the eff-name implication for bit 0x02 is refuted disc-wide
Last iteration I killed the biconditional and reported that the one-way
reading survived: all 10 bit-set sprites on GP_TITLE build 4 are eff
names, so "bit set => eff name". Checked over the disc, that is false.

  sprites with a resolvable preceding name   14 709
    bit SET   & name has 'eff'                2 338
    bit SET   & name lacks 'eff'              2 657   <-- counterexamples
    bit clear & name has 'eff'                1 399
    bit clear & name lacks 'eff'              8 315

  P(eff | set)   = 0.468
  P(eff | clear) = 0.144

The implication fails more often than it holds. What survives is an
association -- 3.3x enrichment -- and build 4's 10/10 was a local naming
habit in an 18-element bundle, not a format rule.

The counterexamples are the useful part: pv_loading_ring0,
pv_loading_light0-3, pv_loading_line, px_bunk_line, px_top_extra. Rings,
glows, lights, thin lines -- effect-like artwork that does not carry the
eff naming convention. Consistent with the bit marking effect sprites by
authoring intent rather than by name, which is a description and not a
decode, and is labelled as such.

Names here come from the string immediately preceding each T8aD,
validated 17/18 on build 4 against the RATC child order; the single
mismatch is the known pteff04.t32 -> registered as 8AX case, so this is
the element (opt) name rather than the sprite's registered name. That
mismatch is itself an independent confirmation of the 8AX finding,
reached from the opposite direction.

METHOD: a pattern perfect on one screen can be near-chance on the disc;
and when an association survives a refuted implication, the
counterexamples are the finding.
2026-08-29 03:20:24 +00:00

25 lines
1.2 KiB
Plaintext

# tools/re-capture/eff_bit_census.py over dat/GP_*.pak -- 2026-08-29
sprites with a resolvable preceding name: 14709
bit SET & name has 'eff' : 2338
bit SET & name lacks 'eff': 2657 <-- counterexamples to 'set => eff'
bit clear & name has 'eff' : 1399
bit clear & name lacks 'eff': 8315
P(name has 'eff' | bit set) = 0.468
P(name has 'eff' | bit clear) = 0.144
counterexamples (bit set, no 'eff'):
('GP_BUNK.pak', 'px_top_extra.t32', '00008832', '220x126')
('GP_BUNK.pak', 'px_bunk_line.t32', '00008832', '663x27')
('GP_BUNK.pak', 'px_top_extra.t32', '00008832', '220x126')
('GP_BUNK.pak', 'px_bunk_line.t32', '00008832', '663x27')
('GP_BUNK.pak', 'pv_loading_line.t32', '00000832', '181x101')
('GP_BUNK.pak', 'pv_loading_ring0.t32', '00000832', '142x142')
('GP_BUNK.pak', 'pv_loading_light0.t32', '00000832', '29x25')
('GP_BUNK.pak', 'pv_loading_light1.t32', '00000832', '30x29')
('GP_BUNK.pak', 'pv_loading_light2.t32', '00000832', '29x30')
('GP_BUNK.pak', 'pv_loading_light3.t32', '00000832', '25x29')
('GP_BUNK.pak', 'pv_loading_ring1.t32', '00000832', '72x72')
('GP_BUNK.pak', 'pv_loading_line.t32', '00000832', '181x101')