Files
Sylpheed/crates/sylpheed-export
Sylpheed port agent 6b4b1df116 port(exporter): role_of ignored the parent bit, and the validator caught it
check-all went red on format-validator: options.json listed five buttons while
the validator computed a resting-Y order of [], because it keys on role ==
'button' and role_of still matched only 0x3002. I had widened the BUTTONS list
for 0x3003 and not the ROLE -- two implementations of one rule, and the second
one caught me.

Bit 0 is the parent flag and carries no role information (decoded disc-wide,
15493 elements, zero disagreements). A role table keyed on the raw kind splits
every class in two and calls the parented half 'unknown'.

Applied to EVERY pair rather than the one that failed: 0x3002|0x3003 -> button,
0x0|0x1 -> decoration, 0x10|0x11 -> primitive. Fixing only 0x3003 would have left
0x1 unknown while 0x0 is decoration -- the same inconsistency one kind along, and
half-applying this decode is what produced the failure in the first place.

Impact measured before the change: 0x3003 10 elements, 0x1 54, 0x11 none.
0x73002/0x73003 deliberately NOT folded in -- their 0x70000 bits are undecoded.

Validator now passes: 30 screens validate.
2026-09-03 20:34:39 +00:00
..