mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 08:04:45 +00:00
Fifth batch of the note-ui-commons extraction, and the first to use the platform-specific @Composable slot pattern the plan calls for (§3e/§4). The PS1 save card (kind 38192) is pure value-in except for its animated 16×16 icon, which is decoded from raw memory-card pixels via Android Bitmap APIs (createBitmap/setPixels/asImageBitmap) that can't move to commonMain. - commons/ui/note/Ps1SaveCard.kt: the card takes decoded primitives (title, filename, region, block number, blank flag, hex preview) plus an `icon: (@Composable () -> Unit)?` slot; a null icon falls back to the floppy-disk emoji prefix. Labels resolve via commons Res. - amethyst keeps the thin RenderPs1Save(Note) entry, which decodes the event and supplies the native Ps1SaveIconImage (the bitmap/frame-clock animation) as the icon slot. - Migrated ps1_save_title/ps1_save_block/ps1_save_empty_slot with all locale translations into commons/composeResources; deleted the amethyst copies. Verified: :commons:compileKotlinJvm and :amethyst:compileFdroidDebugKotlin both pass; every touched strings.xml is well-formed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Gmrt3jwYPDJ38MJGJ6GaNr