Phase C palette extraction — evidence ===================================== Conclusion: libcxsdk.so has NO static palette tables. A full-file scan for 256 consecutive u32 LE entries with alpha=0xFF and non-zero RGB finds 0 hits (also 0 with alpha=0x00, and the BGR/RGB triple forms). CFunctions:: SetColorPalette builds the palettes with arithmetic at runtime. Validation chain: 1. port reproduces OfficialTables.PALETTE256_ARGB 256/256 (iron bow) 2. every case writes all 256 entries exactly once 3. colour coverage of the official APK preview mipmaps: palette colors own case best other white_hot 211 100.0% 100.0% black_hot 214 100.0% 100.0% iron_bow 1684 9.0% 0.1% rain_bow 2005 7.3% 0.1% glow_bow 596 30.7% 2.2% autumn 1036 15.4% 2.5% winter 826 22.3% 2.9% hot_metal 482 42.1% 11.0% jet 1251 14.0% 4.7% red_saturation 660 26.7% 22.1% high_contrast 3044 4.0% 0.1% red_hot 337 -1.0% 62.6% Notes: - red_hot: the official preview asset is a stub (137 of 11914 pixels differ from palette_white_hot.png), so it carries no palette information. No generator body is claimed for UI index 11; Palettes.kt keeps its approximation with an explicit comment. - cases 12 and 13 exist in the native library but explain no official preview (best 3-6% against jet); they are not among the 12 UI palettes. - the previews are scaled photographic crops, so absolute coverage is low for some palettes; the correct body always wins by a wide margin.