Dev tooling, not shipped in the app.
gen_seed_pngs.pyregenerates the hand-authored seed shapes intoapp/src/main/assets/pictures/.PixelPackImporter(a guarded JVM test inapp/src/test/.../tools/) batch converts a vendored CC0 pack into validated picture PNGs.
Solid single-shape silhouettes work; detailed multi-colour sprites do not (they binarise into noise). The current source is game-icons.net (CC-BY-3.0).
-
Vendor PNGs into
tools/pixel-import/source/named<author>--<icon>.png(the<author>before--becomes the per-icon CC-BY credit). For game-icons.net, rasterise the SVGs (e.g.magick -background none in.svg -resize 96x96 out.png). The dir is gitignored; not shipped. -
Run the importer:
RUN_IMPORTER=1 ./gradlew :app:testDebugUnitTest --tests "*PixelPackImporter*"
It trims each tile to content, scales to 15 (or 10), binarizes with the same
rule the app uses, and keeps only tiles that are uniquely solvable with no
empty row or column. Output PNGs land in app/src/main/assets/pictures/ and
CC0 credit rows are merged into app/src/main/assets/pictures_credits.tsv.
Re-running is idempotent.
Source packs may be committed here (CC0 permits redistribution) so the import
is reproducible; they are outside src/main and never ship in the APK.