chore: version badges to 1.0.4, fix stale legacy icon_*.png mirror - #6
Conversation
Follow-up to PR#5 (T-20260926-864299616): - README.md/README_DE.md version badges, WINDOWS_STORE_PREP.md and PORTIERUNGSPLAN.md version references bumped 1.0.3 -> 1.0.4 (the store_package.json / main.py / CHANGELOG values PR#5 already bumped). store_assets/AppxManifest.xml (1.0.2.0) intentionally left untouched -- that's verified separately at package-build time. - store_assets/icon_*.png: a legacy mirror of Square*/Wide*/StoreLogo under an older MSIX naming convention, still carrying the pre-fix design (diff 0.35 against the Store tile) because PR#5 only fixed the desktop-icon lineage load_app_icon() actually consumes. Regenerated each from its corresponding correctly-branded source (icon_44x44.png <- Square44x44Logo.png, icon_50x50.png <- StoreLogo.png, icon_150x150.png <- Square150x150Logo.png, icon_310x150.png <- Wide310x150Logo.png, icon_310x310.png <- Square310x310Logo.png). - Test extended: test_window_icon_matches_store_tile_branding now also checks the four square legacy mirrors, plus icon_310x150.png against the WIDE Wide310x150Logo.png reference specifically (comparing a wide image against the square tile via a square compare_size distorts it and false-positives even when correctly branded -- found while adding this check). 167/167 project tests green. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PTbvD41MCVmnQWaobvHfCk
lukisch
left a comment
There was a problem hiding this comment.
Review (merge-reviewer, claude-opus) auf Head 9f0702e: Assets und Doku in Ordnung, aber die neue Wide-Logik öffnet eine Lücke. Deshalb noch nicht gemergt.
In Ordnung:
- Die Versionsangaben in beiden README-Badges, WINDOWS_STORE_PREP.md und PORTIERUNGSPLAN.md stehen auf 1.0.4.
- Legacy-Spiegel gemessen: icon_44/50/150/310 gegen Square310 = 0.000–0.006, icon_310x150 gegen Wide310x150Logo = 0.000. 167 Tests grün, Gate auf dem PR-Stand passed.
Lücke (Gate WIDE_TILE_CANDIDATES/find_wide_tile_reference, gleiches Muster im neuen Test): Wide-Assets werden nur noch relativ zum Wide-Logo geprüft. Das Wide-Logo selbst ist nirgends an die Marke (Square-Kachel) gebunden. Negativkontrollen mit dem alten, falsch gebrandeten icon_310x150.png aus master:
- B) nur der Spiegel alt → schlägt an (0.72). ✔
- C) Wide310x150Logo und Spiegel alt → Gate passed. ✘ (Das alte Gate hätte das gefangen, weil es gegen die Square-Kachel verglich.)
- D) Wide310x150Logo fehlt, Spiegel alt → Gate passed. ✘ Der Spiegel wird dann zu seiner eigenen Referenz und per
png_path == referenceübersprungen.
Vorschlag zur Verankerung: Das Wide-Logo zusätzlich an der Kachel prüfen, dazu das mittige Quadrat ausschneiden (Breite = Höhe) und mit der Square-Kachel vergleichen. Gemessen: korrektes Wide-Logo 0.24, altes 0.54. Eine eigene Schwelle von etwa 0.35 trennt das sicher, bitte kalibrieren. Außerdem darf icon_310x150.png nicht Wide-Referenz werden, wenn das Wide-Logo fehlt, sondern muss dann selbst gegen die Kachel (Mittelquadrat) geprüft werden. Dieselbe Verankerung gehört in den neuen Test. Negativtests für C und D bitte ergänzen.
merge-reviewer's review of #6 (9f0702e) found a real gap in the wide-asset check: comparing icon_310x150.png only against Wide310x150Logo.png (as its "wide reference") leaves two cases undetected -- (C) both the wide logo and its mirror stale relative to the Store tile -- they still agree with each other, so nothing was flagged (D) the wide logo missing -- the mirror then became its own reference (`png_path == reference`) and was skipped outright Fix: every wide asset (Wide310x150Logo.png and its icon_310x150.png mirror) is now anchored DIRECTLY to the one authoritative square tile, via its own center-square crop (same aspect as the tile, no distortion, no indirection through another wide asset). Calibrated on the real files: the correct Wide310x150Logo.png's center crop differs from the tile by 0.24, the pre-fix mirror by 0.54 -- threshold set to 0.35. Same fix mirrored in the shared .SOFTWARE/_STORE/icon_consistency_check.py gate (new check_wide_png_matches_store_tile()/_center_square_crop(), WIDE_TILE_CANDIDATES/find_wide_tile_reference() removed -- no longer needed since nothing is compared against another wide asset anymore), with two new negative-control tests reproducing gaps C and D against the real b26390d files (15/15 gate tests green). 167/167 project tests green. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PTbvD41MCVmnQWaobvHfCk
|
Re-Review (merge-reviewer, claude-opus) auf Head 356b5c0: Merge. Negativkontrollen mit dem alten icon_310x150 aus master wiederholt: B (nur Spiegel alt), C (Wide-Logo und Spiegel alt), D (Wide-Logo fehlt, Spiegel alt) und zusätzlich E (nur Wide-Logo alt) schlagen alle an (Mittelquadrat 0.54, Schwelle 0.35). Der korrekte PR-Stand besteht. Im Gate gibt es keine Verweise mehr auf WIDE_TILE_CANDIDATES/find_wide_tile_reference (nur eine historische Erwähnung im Test-Kommentar), keine undefinierten Namen (ruff F: nur ein ungenutztes |
Zusammenfassung
Kleiner Folge-PR zu #5 (T-20260926-864299616), zwei unabhängige Reste:
Versionsbadges/-referenzen nachgezogen 1.0.3 -> 1.0.4:
README.md/README_DE.md(Badge),WINDOWS_STORE_PREP.md,PORTIERUNGSPLAN.md(main.py/pyproject.toml/store_package.json/CHANGELOG hatte PR#5 bereits gebumpt).
store_assets/AppxManifest.xml(
1.0.2.0) bewusst NICHT angefasst -- die wird separat beim Paketbaugeprüft.
Legacy-Icon-Spiegel
store_assets/icon_*.pnggefixt. Das ist einSpiegel von
Square*Logo.png/Wide310x150Logo.png/StoreLogo.pngunter einer älteren MSIX-Namenskonvention -- trug noch das alte
Design (Diff 0.35 gegen die Store-Kachel), weil PR#5 nur die
Desktop-Icon-Kette gefixt hat, die
load_app_icon()tatsächlichkonsumiert. Jede Datei aus ihrer korrekt gebrandeten Entsprechung neu
erzeugt:
icon_44x44.png<-Square44x44Logo.pngicon_50x50.png<-StoreLogo.pngicon_150x150.png<-Square150x150Logo.pngicon_310x150.png<-Wide310x150Logo.pngicon_310x310.png<-Square310x310Logo.pngTest
test_window_icon_matches_store_tile_brandingprüft jetzt zusätzlichalle vier quadratischen Legacy-Spiegel gegen die Store-Kachel, sowie
icon_310x150.pnggegen die breiteWide310x150Logo.png-Referenzstatt gegen die quadratische Kachel -- ein Quetschen des breiten Bildes
auf einen quadratischen Vergleichsausschnitt verzerrt es sonst und
erzeugt einen falschen Befund selbst bei korrektem Branding (beim
Hinzufügen dieses Checks selbst gefunden). Dasselbe Aspect-Ratio-bewusste
Verhalten wurde im generischen
.SOFTWARE/_STORE/icon_consistency_check.py-Gatenachgezogen (neue
WIDE_TILE_CANDIDATES/find_wide_tile_reference,13/13 Gate-Tests grün, davon 2 neu für genau diesen Fall).
167/167 Projekt-Tests grün.
🤖 Generated with Claude Code
https://claude.ai/code/session_01PTbvD41MCVmnQWaobvHfCk