2026-07-07-0necanvas-audit.md

docs/superpowers/reviews/2026-07-07-0necanvas-audit.md

0necanvas — Voll-Audit 2026-07-07

9 Prüfer: 6 Dimensionen (Kompositions-Matrix, Interaktion, Vollständigkeit vs. Originale, Robustheit, UI/UX, Konzept-Treue) als Workflow + 3 Einzelprüfer (Geräte-/Browser-Matrix, Performance-Profiling, Unknown-Unknowns). Alle Findings mit Playwright-/Code-Evidenz. Vollständige Details: 2026-07-07-0necanvas-audit-findings.json (41 gemergte Findings).

Executive Summary

Fundament trägt: alle Engines (Chromium/Firefox/WebKit) grün, alle Viewports 320–2560px sauber, kein Memory-Leak, Laden exzellent (65 KB gz, <60 ms erster Frame), JS <2 % Frame-Zeit, Sicherheits-/CSP-konform. Die Schwächen sind (1) zwei Crash-/Verlust-Kanten, (2) ein systemisches „Freiheits"-Problem (harte Clamps widersprechen der ∞-Philosophie und der Soft-Range-UI), (3) Interaktions-Lücken (Overlays, Bewegbarkeit, Kamera-Rettung), (4) Portierungs-Lücken gegenüber den Originalen.

Kritisch (2)

Mittel (22) — Cluster

Klein (11) / Ideen (6)

Duplizieren+Umbenennen fehlen · kein PNG-Export (Rechtsklick-PNG transparent) · load() ohne Typ-Validierung · Zeichnen-Wackler hinterlässt unsichtbare 2-Punkt-Pfade · Default-Optik spawner/textbaum wirkt anfangs leer · Benennungs-Inkonsistenzen (Strichstärke/Linienstärke…) · Icon-Doppelung ✦ bei 3 Kräften · Mobile-Werkzeuge ohne Label · „TrueArc"-Jargon · Favicon-404 + kein og/description · kein Weg zurück zur Site (Wordmark nicht verlinkt) · Drucken weiß · 100vw-Clip bei Scrollbar · dvh ohne Fallback · prefers-reduced-motion ignoriert · Cache-Buster fehlt (für Live-Deploy) · localStorage-Autosave-Idee · Details im JSON.

Performance-Profil (eigener Bericht)

Engpass = natives Rastern transformierter Sprite-Blits, nicht JS. Optimierungs- Liste nach Gewinn/Aufwand: (1) axis-aligned Blits für kleine Instanzen (19× gemessen) · (2) kurve-Pulse als Transform statt Geometrie-Neubau · (3) map- Signatur ohne Array-Alloc · (4) Layer-Rebuild-Spikes budgetieren · (5) Default- Szene cachebar (welle-Warp macht Chain time-variant). Bereits gut: Glow via Offscreen-Composite (1× shadowBlur/Frame), Text-Scans gecacht, Layer-Cache arbeitet korrekt, kein Leak.

Fix-Plan