.changelog/2649.md
PVCoreBridge protocol (PaletteProviding) exposing availablePalettes: [CorePalette], currentPaletteID, and selectPalette(id:) as a structured, type-safe replacement for string-matched CoreActions palette cycling.CorePalette struct with id, displayName, and up to 4 preview PaletteColor values (stored as normalised RGB floats) for swatch rendering.PVGBEmulatorCore conforms to PaletteProviding; DMG games expose all 15 palettes, GBC games return an empty list.PauseTileMenuView shows a paintpalette.fill tile (purple) for cores conforming to PaletteProviding; badge shows the current palette name; the old "Change Palette" cycling action is suppressed when the richer picker is available.PaletteProviding cores, opening the same PalettePickerView sheet.