Communitygithub.com

Motion-Analytics

Misst die Qualität und Performance einer bewegungsintensiven Webseite (WebGL, Scroll-Film, Shader-Helden, Partikelszenen) und vergleicht sie fair mit einer Referenz. Verwende dies, um eine animierte Seite zu profilieren, zu beschleunigen, zu budgetieren, zu benchmarken oder zu bewerten, wenn eine Szene ruckelt oder Akkus von Geräten leer saugt, bei der Wahl von Qualitätsstufen oder DPR-Obergrenzen oder bei der Frage 'Wie nah ist unsere Seite an der Referenz?'. Deckt Framebudget-Zeiten mit p50 und p95, eine rollierende Qualitätsleiter, Seiten- und Texturgewicht-Budgets, Web Vitals für Bewegungsseiten sowie Referenzbewertung mit Side-by-Side-Blättern und unabhängigen Prüfern ab.

Was ist Motion-Analytics?

Dieses Skill, 'Motion-Analytics', befähigt einen KI-Assistenten, die Leistung und visuelle Qualität bewegungsintensiver Webseiten präzise zu messen und fair mit einer Referenz oder einem Design-Ziel zu vergleichen. Es enthält ein Frame-Meter-Tool (frame-meter.js) zur Erfassung von Framedauer, p50/p95-Perzentilen und zur Identifizierung von Rucklern, sowie ein Compare-Sheet-Skript (compare-sheet.mjs) zur Erstellung von Side-by-Side-Vergleichsblättern für die Bewertung durch unabhängige Prüfer. Das Skill unterstützt einen standardisierten Workflow, der die Basismessung, Identifikation teurer Abschnitte, Optimierung (z.B. DPR-Begrenzung, Shader-Vorkompilierung), Implementierung einer rollierenden Qualitätsleiter und erneute Messung umfasst. Es betont die Berichterstattung von p95 statt durchschnittlicher FPS und die strikte Einhaltung konsistenter Messbedingungen (gleiches Gerät, gleicher Pfad, gleiche Dauer). Das Skill ist plattformunabhängig und kann in jedem Projekt mit bewegungsintensiven Inhalten (WebGL, Canvas, SVG-Animationen, Parallax- oder Scroll-getriebene Effekte) integriert werden, um reproduzierbare, vergleichbare und evidenzbasierte Leistungsergebnisse zu liefern.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/iboss21/regescore-motioncraft-skills/tree/main/plugins/motioncraft/skills/motion-analytics

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Motion-Analytics?

Bewegungsqualität ist messbar. „Fühlt sich flüssig an“ und „sieht aus wie die Referenz“ sind Behauptungen; dieses Skill macht daraus Zahlen, die Du nächste Woche wiederholen kannst.

Zwei Aufgaben:

  1. Performance: Wie lange jedes Bild dauert, wie schwer die Seite ist und wie sich die Seite anpasst, wenn das Gerät langsam ist. Anleitung: references/performance.md. Werkzeug: scripts/frame-meter.js.
  2. Referenzbewertung: Wie nah eine Seite an einer Referenz oder ihrem eigenen Designziel ist, fair beurteilt. Anleitung: references/reference-grading.md. Werkzeug: scripts/compare-sheet.mjs.

Schnellstart

Framedauer auf einer beliebigen Seite messen

Füge den Meter ein und öffne die Seite mit ?meter:

<script src="frame-meter.js" defer></script>

Eine kleine Anzeige zeigt p50, p95 und eine vorgeschlagene Qualitätsstufe an, und die Konsole protokolliert alle fünf Sekunden eine Zusammenfassung. Von der Konsole aus kannst Du auch Folgendes ausführen:

frameMeter.start();          // eine saubere Messung beginnen
// ...durch die Seite scrollen, die Hauptinteraktion verwenden...
frameMeter.report();         // { frames, p50, p95, p99, max, fps, longFrames, jank, suggest }

Messe auf dem langsamsten Gerät, das Dir wichtig ist, nicht auf Deinem Arbeitsplatzrechner. Scrolle während der Messung durch die gesamte Seite und verwende die Hauptinteraktion, da Leerlaufbilder die teuren Momente verbergen.

Ein Side-by-Side-Blatt erstellen

node scripts/compare-sheet.mjs ./shots/unsere ./shots/referenz ./vergleich --labels "Unsere,Referenz"

Paart Bilder mit demselben Dateinamen, schreibt compare.html (immer) und compare.png (wenn sharp installiert ist). Gib das Blatt an die Prüfer weiter, wie im Bewertungsleitfaden beschrieben.

Die Zahlen, die zählen

MesswertZielWarum
Framedauer p9516,7 ms oder weniger auf dem Zielgerät (60 Hz)p95 ist das, was Menschen fühlen; der Median verbirgt Ruckler
Framedauer p50Deutlich unter p95Ein großer Abstand bedeutet Spitzen: Uploads, GC, Shader-Kompilierung
Lange Frames (über 50 ms)0 während des ScrollensJeder einzelne ist ein sichtbarer Ruckler
Seitengewicht beim ersten BildschirmUnter 3 MBErster Eindruck bei mobilen Daten
Gesamte SeiteUnter 10 MBLadezeit, Datenkosten, Akku
Largest Contentful PaintUnter 2,5 sEin zusammengesetztes Standbild anzeigen, bevor schwere Assets eintreffen
Cumulative Layout ShiftUnter 0,1Canvas- und Videoboxen müssen ihren Platz reservieren
Interaction to Next PaintUnter 200 msSchwere Render-Loops dürfen die Eingabe nicht blockieren

Details, Budgets pro Asset-Typ und eine funktionierende Qualitätsleiter finden sich in references/performance.md.

Arbeitsablauf

  1. Baseline. Lade die Seite mit ?meter, scrolle zweimal von oben nach unten, verwende die Hauptinteraktion, lies dann frameMeter.report(). Notiere Gerät, Browser, Viewport und die Zahlen.
  2. Finde den teuren Abschnitt. Wiederhole pro Abschnitt mit frameMeter.start() am Abschnitt und report() danach. Der schlechteste p95 ist der Ort, an dem gearbeitet werden muss.
  3. Behebe die Ursache. Meistens einer von: Gerätepixelverhältnis zu hoch, ein Pass mit voller Auflösung, zu viele Draw Calls, eine Textur, die mitten im Scrollen hochgeladen wird, ein Shader, der beim ersten Anzeigen kompiliert wird, oder Rendern im verborgenen Zustand. Siehe die Fehlerbehebungstabelle im Performance-Leitfaden.
  4. Füge die Leiter hinzu. Selbst eine schnelle Seite braucht einen Weg nach unten auf einem schwachen Telefon. Verwende das Snippet der rollierenden Leiter: Stufe runter bei p95 über 22 ms, Stufe rauf bei p95 unter 12 ms.
  5. Messe auf die gleiche Weise erneut. Gleiches Gerät, gleicher Pfad, gleiche Dauer. Berichte vorher und nachher.
  6. Bewerte gegen das Ziel. Wenn die Seite ein Design oder ein Referenzbild nachbildet, erstelle Vier-Moment-Blätter und wende die Drei-Prüfer-Methode in references/reference-grading.md an.

Berichtsformat

Seite: <Name>   Gerät: <Modell, Browser>   Viewport: <B x H, DPR>
Pfad: Vollbild-Scroll x2 + Hauptinteraktion, 60 s
Vorher: p50 9,8 ms, p95 31,2 ms, lange Frames 6, Gewicht 14,1 MB
Nachher:  p50 7,1 ms, p95 15,9 ms, lange Frames 0, Gewicht 8,7 MB
Änderungen: DPR-Obergrenze 1,5 auf Telefonen, Bloom bei halber Auflösung, Helden-Texturen in WebP 2048, Shader im Loader vorcompiliert
Leiter: Stufen 0 bis 3, stabilisiert sich auf Stufe 3 auf dem Desktop, Stufe 2 auf dem Testtelefon

Regeln

  • Berichte p95, nicht die durchschnittliche FPS. Ein Durchschnitt von 58 fps kann einen Ruckler pro Sekunde verbergen.
  • Eine Geräteklasse pro Zahl. Mische niemals eine Laptop-Messung mit einer Telefon-Messung in einer Behauptung.
  • Gleicher Pfad jedes Mal. Messungen sind nur vergleichbar, wenn Scrollpfad, Interaktion und Dauer übereinstimmen.
  • Messe auch den kalten Start. Der erste Aufruf compiliert Shader und lädt Texturen hoch. Dort leben lange Frames.
  • Bewerte mit Beweisen. Ein „nahe“-Urteil benötigt Blätter bei abgeglichenen Momenten und Prüfer, die die Seite nicht gebaut haben.

Verwandtes

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Verwandte Skills