diff --git a/assets/img/app-symbole/analyse-192-maskable.png b/assets/img/app-symbole/analyse-192-maskable.png index c2774ddd..33651cd9 100644 Binary files a/assets/img/app-symbole/analyse-192-maskable.png and b/assets/img/app-symbole/analyse-192-maskable.png differ diff --git a/assets/img/app-symbole/analyse-512-maskable.png b/assets/img/app-symbole/analyse-512-maskable.png index 9920dd5d..a08cb93d 100644 Binary files a/assets/img/app-symbole/analyse-512-maskable.png and b/assets/img/app-symbole/analyse-512-maskable.png differ diff --git a/assets/img/app-symbole/cloud-192-maskable.png b/assets/img/app-symbole/cloud-192-maskable.png index 2e89a006..c880d143 100644 Binary files a/assets/img/app-symbole/cloud-192-maskable.png and b/assets/img/app-symbole/cloud-192-maskable.png differ diff --git a/assets/img/app-symbole/cloud-512-maskable.png b/assets/img/app-symbole/cloud-512-maskable.png index 908a984e..7aee1d0a 100644 Binary files a/assets/img/app-symbole/cloud-512-maskable.png and b/assets/img/app-symbole/cloud-512-maskable.png differ diff --git a/assets/img/app-symbole/git-192-maskable.png b/assets/img/app-symbole/git-192-maskable.png index 5ea4e18d..31e4ed51 100644 Binary files a/assets/img/app-symbole/git-192-maskable.png and b/assets/img/app-symbole/git-192-maskable.png differ diff --git a/assets/img/app-symbole/git-512-maskable.png b/assets/img/app-symbole/git-512-maskable.png index 77d5ae22..1c17368e 100644 Binary files a/assets/img/app-symbole/git-512-maskable.png and b/assets/img/app-symbole/git-512-maskable.png differ diff --git a/assets/img/app-symbole/portal-192-maskable.png b/assets/img/app-symbole/portal-192-maskable.png index 4772e9fa..71971178 100644 Binary files a/assets/img/app-symbole/portal-192-maskable.png and b/assets/img/app-symbole/portal-192-maskable.png differ diff --git a/assets/img/app-symbole/portal-512-maskable.png b/assets/img/app-symbole/portal-512-maskable.png index 96a6c657..49e4fe95 100644 Binary files a/assets/img/app-symbole/portal-512-maskable.png and b/assets/img/app-symbole/portal-512-maskable.png differ diff --git a/assets/img/app-symbole/universe-192-maskable.png b/assets/img/app-symbole/universe-192-maskable.png index 6529e343..5c161faf 100644 Binary files a/assets/img/app-symbole/universe-192-maskable.png and b/assets/img/app-symbole/universe-192-maskable.png differ diff --git a/assets/img/app-symbole/universe-512-maskable.png b/assets/img/app-symbole/universe-512-maskable.png index 8cc3f7a7..99a8fe5e 100644 Binary files a/assets/img/app-symbole/universe-512-maskable.png and b/assets/img/app-symbole/universe-512-maskable.png differ diff --git a/assets/img/app-symbole/verwaltung-192-maskable.png b/assets/img/app-symbole/verwaltung-192-maskable.png index 264fc5a0..2040ba90 100644 Binary files a/assets/img/app-symbole/verwaltung-192-maskable.png and b/assets/img/app-symbole/verwaltung-192-maskable.png differ diff --git a/assets/img/app-symbole/verwaltung-512-maskable.png b/assets/img/app-symbole/verwaltung-512-maskable.png index 06c59ece..7bf52fb1 100644 Binary files a/assets/img/app-symbole/verwaltung-512-maskable.png and b/assets/img/app-symbole/verwaltung-512-maskable.png differ diff --git a/assets/img/app-symbole/wdverwalt-192-maskable.png b/assets/img/app-symbole/wdverwalt-192-maskable.png index 79ba5617..6f76fbd4 100644 Binary files a/assets/img/app-symbole/wdverwalt-192-maskable.png and b/assets/img/app-symbole/wdverwalt-192-maskable.png differ diff --git a/assets/img/app-symbole/wdverwalt-512-maskable.png b/assets/img/app-symbole/wdverwalt-512-maskable.png index 9fb4f75a..e43d1f6d 100644 Binary files a/assets/img/app-symbole/wdverwalt-512-maskable.png and b/assets/img/app-symbole/wdverwalt-512-maskable.png differ diff --git a/assets/img/app-symbole/webdesign-192-maskable.png b/assets/img/app-symbole/webdesign-192-maskable.png index fefc49f1..271a0079 100644 Binary files a/assets/img/app-symbole/webdesign-192-maskable.png and b/assets/img/app-symbole/webdesign-192-maskable.png differ diff --git a/assets/img/app-symbole/webdesign-512-maskable.png b/assets/img/app-symbole/webdesign-512-maskable.png index 9d5f4980..12c67ece 100644 Binary files a/assets/img/app-symbole/webdesign-512-maskable.png and b/assets/img/app-symbole/webdesign-512-maskable.png differ diff --git a/assets/img/app-symbole/workspace-192-maskable.png b/assets/img/app-symbole/workspace-192-maskable.png index d89ccbdc..d0c6cb0b 100644 Binary files a/assets/img/app-symbole/workspace-192-maskable.png and b/assets/img/app-symbole/workspace-192-maskable.png differ diff --git a/assets/img/app-symbole/workspace-512-maskable.png b/assets/img/app-symbole/workspace-512-maskable.png index b98e2c35..af0df131 100644 Binary files a/assets/img/app-symbole/workspace-512-maskable.png and b/assets/img/app-symbole/workspace-512-maskable.png differ diff --git a/assets/img/app-symbole/zocker-192-maskable.png b/assets/img/app-symbole/zocker-192-maskable.png index 08fad1d1..326fa777 100644 Binary files a/assets/img/app-symbole/zocker-192-maskable.png and b/assets/img/app-symbole/zocker-192-maskable.png differ diff --git a/assets/img/app-symbole/zocker-512-maskable.png b/assets/img/app-symbole/zocker-512-maskable.png index 9f783d70..8e08a6f7 100644 Binary files a/assets/img/app-symbole/zocker-512-maskable.png and b/assets/img/app-symbole/zocker-512-maskable.png differ diff --git a/entwurf-maskable.png b/entwurf-maskable.png new file mode 100644 index 00000000..9f6463d5 Binary files /dev/null and b/entwurf-maskable.png differ diff --git a/tools/app-symbole.mjs b/tools/app-symbole.mjs index c0a13f70..950a6470 100644 --- a/tools/app-symbole.mjs +++ b/tools/app-symbole.mjs @@ -320,19 +320,51 @@ export const STIL_JE_APP = { export function symbolTeil(f, stilName, n, { maskable = false, logoDaten } = {}) { const stil = STILE[stilName]; const logoFilter = typeof stil.logo === "function" ? stil.logo(f) : stil.logo; - /* Maskable: Android schneidet bis zu 20 % ringsum weg. Das Logo muss - deshalb kleiner sitzen, sonst fehlen ihm die Ohren. */ - const logoBreite = maskable ? 52 : 68; + + /* MASKABLE: DAS GANZE SYMBOL VERKLEINERN, nicht nur das Logo. + + BEFUND 05.09.2026, von Filipe gemeldet: *"die symbole sehen aber auf + meinem pc nicht aus wie auf dem browser mit diesen geilen farben."* + Und er hatte recht -- die maskable-Fassungen sahen aus wie eine + schlechte Kopie: blass, das Medaillon riesig, der Doppelring über + den Rand hinaus. + + Der erste Entwurf verkleinerte nur das LOGO (52 % statt 68 %) und + liess den Hintergrund unveraendert. Das geht bei einer glatten + Flaeche gut und bei allem anderen schief: Medaillon, Doppelring, + Raster und Eckband rechnen ihre Kreise und Kanten in PROZENT DER + FLAECHE. Wird aussen ein Fünftel weggeschnitten, sitzt der Ring + nicht mehr da, wo er hingehoert -- und das Logo schwimmt verloren + in der Mitte. + + Richtig ist, das FERTIGE Symbol als Ganzes auf den sicheren Bereich + zu verkleinern und den Rest mit dem dunkelsten Ton der App zu + fuellen. Dann bleibt jedes Verhaeltnis erhalten: Ring zu Flaeche, + Logo zu Ring, Verlauf zu Kante. Was das System wegschneidet, ist + nur ruhige Randfarbe. + + 78 % ist der Anteil, der bei jeder gaengigen Maske heil bleibt + (Kreis, Quadrat mit runden Ecken, Tropfen). */ const radius = maskable ? 0 : 22.4; // 22,4 % ist die Apple-Rundung const k = `s-${stilName}-${f.schluessel}${maskable ? "-m" : ""}`; + /* Das eigentliche Symbol ist bei maskable kleiner als die Datei. */ + const innen = maskable ? Math.round(n * 0.78) : n; + const logoBreite = 68; // immer gleich -- siehe oben + const css = ` + ${maskable ? ` + .${k}-huelle { + width: ${n}px; height: ${n}px; flex: none; + display: flex; align-items: center; justify-content: center; + background: ${f.dunkel}; + }` : ""} .${k} { - position: relative; width: ${n}px; height: ${n}px; overflow: hidden; - border-radius: ${radius}%; flex: none; - --r2: ${n * 0.006}px; --r3: ${n * 0.012}px; --r4: ${n * 0.016}px; - --r5: ${n * 0.022}px; --r6: ${n * 0.03}px; --r8: ${n * 0.05}px; - --r10: ${n * 0.07}px; + position: relative; width: ${innen}px; height: ${innen}px; overflow: hidden; + border-radius: ${maskable ? 18 : radius}%; flex: none; + --r2: ${innen * 0.006}px; --r3: ${innen * 0.012}px; --r4: ${innen * 0.016}px; + --r5: ${innen * 0.022}px; --r6: ${innen * 0.03}px; --r8: ${innen * 0.05}px; + --r10: ${innen * 0.07}px; background: ${stil.grund(f)}; } .${k} > .rand, .${k} > .glanz, .${k} > .unterlage { @@ -359,13 +391,16 @@ export function symbolTeil(f, stilName, n, { maskable = false, logoDaten } = {}) `glanz` und damit ÜBER dem Kopf. Ergebnis: Das Logo war fast unsichtbar. Genau so verschwindet ein Fehler in einem Bild, das "irgendwie dunkel" aussieht. */ - const markup = `
+ const kern = `
`; - return { css, markup, klasse: k }; + /* Bei maskable liegt das Symbol in einer Huelle aus der Grundfarbe -- + die faengt ab, was das System wegschneidet. */ + const markup = maskable ? `
${kern}
` : kern; + return { css, markup, klasse: maskable ? `${k}-huelle` : k }; } /** Ein vollständiges Dokument für genau ein Symbol -- für den Bau. */