fix(brand): Haarstrich an der Naht des AirCard-IOS-Symbols

Die Maske hatte exakt die Kartenkante als Region und als weißes Feld; die
Kantenglättung wurde doppelt angewendet und ließ bei Vergrößerung einen
hellen Strich. Jetzt Standardregion der Maske und ein überstehendes weißes Feld.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-04 11:12:46 +00:00
1 parent 9c4e80ec9a
commit e7acd79225
2 files changed
+16 -1

No files matched your search

+1 -1
View File
@@ -1 +1 @@
<svg viewBox="172 360 680 730" xmlns="http://www.w3.org/2000/svg"><defs><mask id="aircards-symbol-waves" width="680" height="430" x="172" y="660" maskUnits="userSpaceOnUse"><path fill="#fff" d="M172 660h680v430H172z"/><g fill="none" stroke="#000" stroke-linecap="round" stroke-width="32"><path d="M591.1 843.9a44 44 0 0 1 0 62.2m34-96.2a92 92 0 0 1 0 130.2"/><path d="M659 776a140 140 0 0 1 0 198"/></g></mask></defs><g fill="currentColor"><path fill-opacity=".45" d="M252 360h520a80 80 0 0 1 80 80v150a80 80 0 0 0-80-80H252a80 80 0 0 0-80 80V440a80 80 0 0 1 80-80"/><path fill-opacity=".7" d="M252 510h520a80 80 0 0 1 80 80v150a80 80 0 0 0-80-80H252a80 80 0 0 0-80 80V590a80 80 0 0 1 80-80"/><rect width="680" height="430" x="172" y="660" mask="url(#aircards-symbol-waves)" rx="80"/></g></svg>
<svg viewBox="172 360 680 730" xmlns="http://www.w3.org/2000/svg"><defs><mask id="aircards-symbol-waves"><path fill="#fff" d="M100 600h1000v600H100z"/><g fill="none" stroke="#000" stroke-linecap="round" stroke-width="32"><path d="M591.1 843.9a44 44 0 0 1 0 62.2m34-96.2a92 92 0 0 1 0 130.2"/><path d="M659 776a140 140 0 0 1 0 198"/></g></mask></defs><g fill="currentColor"><path fill-opacity=".45" d="M252 360h520a80 80 0 0 1 80 80v150a80 80 0 0 0-80-80H252a80 80 0 0 0-80 80V440a80 80 0 0 1 80-80"/><path fill-opacity=".7" d="M252 510h520a80 80 0 0 1 80 80v150a80 80 0 0 0-80-80H252a80 80 0 0 0-80 80V590a80 80 0 0 1 80-80"/><rect width="680" height="430" x="172" y="660" mask="url(#aircards-symbol-waves)" rx="80"/></g></svg>

Before

Width:  |  Height:  |  Size: 794 B

After

Width:  |  Height:  |  Size: 727 B

+15
View File
@@ -175,6 +175,21 @@ describe('AirCard-IOS-Marken', () => {
expect(symbol).not.toMatch(/fill-opacity="1"/);
});
it('Symbol: die Maske hat keine eigene Region und ihr weißes Feld ist größer als die vordere Karte (kein Haarstrich an der Naht)', () => {
const tag = /<mask\b[^>]*>/.exec(symbol)?.[0] ?? '';
// Ohne x/y/width/height gilt die Standardregion (-10 % / 120 % der Karte); eine Region exakt auf der Kartenkante
// würde deren Kantenglättung doppelt anwenden und bei Vergrößerung einen hellen Strich lassen.
expect(tag).not.toMatch(/\s(?:x|y|width|height|maskUnits)=/);
const white = /<mask\b[^>]*>\s*<path\b[^>]*fill="#fff"[^>]*\bd="M(-?[\d.]+)[ ,](-?[\d.]+)h([\d.]+)v([\d.]+)H/.exec(symbol);
expect(white, 'weißes Rechteck am Anfang der Maske').not.toBeNull();
const [x, y, w, h] = white!.slice(1).map(Number);
// Die vordere Karte: x 172–852, y 660–1090.
expect(x).toBeLessThan(172);
expect(y).toBeLessThan(660);
expect(x + w).toBeGreaterThan(852);
expect(y + h).toBeGreaterThan(1090);
});
it('Symbol: enge viewBox um die drei Karten (680 x 730)', () => {
expect(svgAspect(symbol)).toBeCloseTo(680 / 730, 3);
});