Skip to content

Echtes DatenGraf-Logo in der Brücke (v69) - #66

Merged
daimpad merged 2 commits into
mainfrom
claude/datenlotse-frontend-setup-r4ylco
Aug 11, 2026
Merged

Echtes DatenGraf-Logo in der Brücke (v69)#66
daimpad merged 2 commits into
mainfrom
claude/datenlotse-frontend-setup-r4ylco

Conversation

@daimpad

@daimpad daimpad commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Nachgereicht, was in v68 blockiert war: v68 musste sich mit fa-circle-nodes behelfen, weil die Netzwerkrichtlinie datengraf.nozilla.net sperrt und der Repo-Zugriff dieser Sitzung nicht über daimpad/datenlotse hinausreicht.

Lokal, nicht verlinkt

Das Logo liegt als datengraf-logo.svg im Repo und wird von dort ausgeliefert. Ein Hotlink auf datengraf.nozilla.net wäre ein zweiter externer Aufruf — der Test „nur der Zähl-Aufruf geht nach außen" würde rot, und die Zusage im Hero und in der Datenschutzerklärung wäre nicht mehr wahr.

Vor dem Übernehmen geprüft

Eine fremde SVG-Datei ist ausführbarer Inhalt, wenn man sie inline einbettet. Geprüft und ausgeschlossen: kein <script>, kein onload/onerror, kein <foreignObject>, kein <a>, keine externe Referenz außer dem SVG-Namensraum. Eingebunden ist sie ohnehin als <img>, das Skripte im SVG gar nicht erst ausführt.

Darstellung

Runde Fassung wie .hero-logo statt der lila Kachel — die beiden Werkzeuge teilen ihre Bildsprache, und nebeneinander sollen sie als Geschwister lesbar sein.

Der Test prüft mehr als das Markup

expect(bild.quelle).toBe('datengraf-logo.svg');   // lokal, kein CDN
expect(bild.geladen).toBe(true);                  // el.complete && el.naturalWidth > 0

naturalWidth > 0 ist der Punkt: ein <img>, dessen Datei fehlt, sieht im DOM völlig korrekt aus — Attribut da, Element sichtbar, Test grün. Nur die Bildgröße verrät, dass nichts geladen wurde.

Tests

1 neuer Test, 380 gesamt, alle grün. Eine Mutation geprüft: zurück auf das Schriftzeichen → macht genau den neuen Test rot.

380 passed (2.0m)

node tools/generate-wissen.js --check9 Seiten aktuell.
Ladegewicht-Budget der Startseite weiterhin eingehalten (das SVG bringt 21 KB unkomprimiert mit).

🤖 Generated with Claude Code

https://claude.ai/code/session_011QxDJcLg9h8zdL9ZpTTty7


Generated by Claude Code

claude added 2 commits August 11, 2026 23:05
v68 musste sich mit fa-circle-nodes behelfen, weil die Netzwerkrichtlinie
datengraf.nozilla.net sperrt und der Repo-Zugriff dieser Sitzung nicht ueber
daimpad/datenlotse hinausreicht. Die Rohdatei-Adresse wurde nachgereicht.

Das Logo liegt als datengraf-logo.svg im Repo und wird lokal ausgeliefert -
ein Hotlink waere ein zweiter externer Aufruf und machte den Test "null
externe Requests" rot. Vor dem Uebernehmen geprueft: kein <script>, kein
onload, kein foreignObject, keine externe Referenz ausser dem SVG-Namensraum.

Runde Fassung wie .hero-logo: die beiden Werkzeuge teilen ihre Bildsprache
und sollen nebeneinander als Geschwister lesbar sein.

Der Test prueft naturalWidth > 0 statt nur das Markup - ein <img>, dessen
Datei fehlt, sieht im DOM voellig korrekt aus.

1 neuer Test (380 gesamt), eine Mutation geprueft.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011QxDJcLg9h8zdL9ZpTTty7
…mehr mit

Die CI war rot: Budget um 4 KB gerissen, lokal gruen. Ursache war nicht das
Logo aus v69, sondern dass der Test den GoatCounter-Aufruf mitmass - in der CI
erreichbar (rund 9 KB), im Entwicklungscontainer von der Netzwerkrichtlinie
gesperrt. Derselbe Commit lieferte zwei verschiedene Zahlen, das Urteil hing
am Netz statt am Repo.

Gefiltert wird beim Zaehlen, ausdruecklich NICHT ueber page.route(): ein
Interceptor umgeht den Speicher-Cache, danach laedt logo.svg (106 KB) zweimal
- einmal fuer die Topbar, einmal fuer den Hero - und die Messung ist um genau
diesen Betrag falsch. Die Grenze selbst bleibt bei 700 KB.

Nachgewiesen mit einem eingeschleusten 20-KB-Zaehlskript: exakt diese 20.000
Bytes verschwinden aus der Summe.

Zwei verworfene Wege: eine Rundung der Logo-Koordinaten (wie bei logo.svg in
v45) brachte nur 2,6 KB und veraenderte die Grafik im Pixelvergleich sichtbar;
loading="lazy" allein reicht nicht, weil Chrome unterhalb seiner Schwelle
trotzdem vorlaedt. Das Attribut bleibt, es hilft auf langsamen Verbindungen.

380 Tests gruen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011QxDJcLg9h8zdL9ZpTTty7
@daimpad
daimpad merged commit 9294c4c into main Aug 11, 2026
1 check passed
@daimpad
daimpad deleted the claude/datenlotse-frontend-setup-r4ylco branch August 11, 2026 23:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants