CommunityBildgithub.com

hwcloud-scene-image

生成「产品场景图」——扁平矢量 UI 示意图风格的 1760×1120 PNG。纯白画布、三层嵌套圆角卡片、蓝紫 135° 渐变、严格 0° 透视、无人物无照片。提供 v2(卡片 + 短标签)与 v3(大图标 / 圆形节点 / 图形装置,文字极少)两种取向,内置 50 枚线性图标与 15 件图形零件。核心约束是「缩略可读」:图会被放进网页卡片缩到 240px 宽显示。

Was ist hwcloud-scene-image?

Diese Fähigkeit erstellt eine «Produktszenengrafik» im Stil eines flachen Vektor-UI-Diagramms mit einer Auflösung von 1760×1120 Pixeln als PNG. Das Design ist streng festgelegt: weiße Leinwand, drei geschachtelte abgerundete Karten, ein blau-violetter 135°-Farbverlauf, strikte 0°-Perspektive, keine Personen, keine Fotos. Es bietet zwei Ausrichtungen: v2 (Karten + kurze Beschriftungen) und v3 (große Symbole / runde Knoten / grafische Elemente, mit sehr wenig Text). Die Kernanforderung ist die «Lesbarkeit im Miniaturformat»: Die Grafik wird später in einer Webseitenkarte auf 240 px Breite verkleinert. Diese Fähigkeit wird verwendet, wenn man für Produktfunktionen, Lösungsvorteile oder technische Fähigkeiten eine einheitlich gestaltete Grafik benötigt, die direkt in Präsentationen, Websites oder Produktseiten eingefügt werden kann, oder wenn man nach Titel massenhaft Grafiken im gleichen Stil erstellen möchte. Sie verwendet HTML/CSS-Rendering anstelle von KI-Bildgenerierung, um präzisen Text und 1px-Striche zu gewährleisten, die bei Skalierung und Wiederholbarkeit zuverlässig sind. Die Fähigkeit umfasst 50 lineare Symbole, 15 grafische Teile, fünf Layoutvorlagen (B, C-1, C-2, D, E) und Skripte für Rendering, Verknüpfungsprüfung und Miniaturansichten-Prüfung.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sunhaha369369/hwcloud-scene-image-skill/tree/HEAD

Installed? Explore more Bild skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Produktszenengrafik-Generator · v2 / v3

Gib einen «Titel» ein, erzeuge eine Szenengrafik von 1760×1120. Der Stil ist festgelegt, kein Neudesign, nur Layout auswählen + Inhalt füllen.

Zwei Ausrichtungen, zuerst eine auswählen:

v2 · Kartenv3 · Grafisch
HauptelementAbgerundete rechteckige Knoten + kurze BeschriftungGroßes Symbol / runder Knoten / grafische Vorrichtung
InhaltsbereichMit ganzer weißer Content-KarteOhne, Grafiken schweben direkt auf hellblauem Panel
Textmenge5–7 Stellen mit je 2–4 Zeichen3–4 Stellen mit je 2–3 Zeichen
Geeignet fürSchrittweise并列 Darstellung von 5–6 KonzeptenWenige Punkte, Grafik soll für sich selbst sprechen
Vorlagetemplate-b/c-*template-d/e-*

Standardmäßig v3 – diese Grafiken werden oft auf 240px Breite skaliert; Grafiken widerstehen der Skalierung besser als Text. Nur wenn die Information selbst «5并列 Punkte, jeder muss gelesen werden» ist, auf v2 zurückgreifen.

Warum HTML/CSS-Rendering statt KI-Bildgenerierung: Diese Grafiken haben präzisen Text und 1px-Striche. Diffusionsmodelle verwischen Text und Striche und liefern bei gleichem Prompt jedes Mal andere Ergebnisse. HTML-Rendering → Screenshot: Text immer klar, jederzeit änderbar, batch-fähig, reproduzierbar.

Warum die Struktur einfach sein muss: Die endgültige Betrachtungsgröße dieser Grafiken ist oft 240px Breite (Webkarte), nicht 1760. Bei 1/7-Skalierung wird «sechs Knoten + Mini-Diagramm + dünnes Skelettband» zu grauem Rauschen. Die harte Anforderung von v2: Auf 240px skaliert, müssen Titel und jede Beschriftung sinngemäß lesbar sein.

Skalierungsmaßstab (zuerst diese Tabelle merken)

BetrachtungsbreiteSkalierungTatsächliche Anzeige von 48px TextFazit
1760 (PPT Vollbild)1:148pxEtwas groß, aber akzeptabel
480 (Web groß)1/3.713pxAngenehm
240 (Webkarte)1/7.36.6pxDesign-Abnahmegröße
190 (Listenminiatur)1/9.35.2pxBereits am Limit

Also: Kein Text unter 40px sollte auftauchen, kein Element unter 300px Breite hält Details aus.

Eiserne Regeln (Bei Verstoß sieht das Ergebnis nicht richtig aus)

  1. Leinwand 1760×1120 (11:7), reines Weiß, kein Farbverlauf, keine Vignette, kein Rahmen.
  2. Die Koordinaten von Außenschale + Panel sind fest codiert und dürfen nicht geändert werden – dies ist die einzige «Tiefe»-Quelle. Die dritte Schicht, die Content-Karte, gehört nur zu v2; v3 legt sie nicht aus, Grafiken liegen direkt auf dem Panel.
  3. Das gesamte Bild hat genau 1 Farbverlauf-Symbol-Kachel, 170–200px im Quadrat, sie ist das visuelle Hauptelement.
  4. Gesamtzahl der Elemente im Inhaltsbereich ≤ 7 (Verbindungen, Griffe nicht eingerechnet). Bei mehr als 7 werden sie im Miniaturformat zu Rauschen.
  5. Text: Titel 76px, Beschriftungen 48–50px, Badge 44px. Es gibt keinen 20px-Text.
  6. Farbton festgelegt auf 200°–250°. Die einzige warme Farbe #F58A8A darf nur für «Warnung» verwendet werden.
  7. Keine Personen, keine Perspektive, kein 3D, keine Fotos, kein Umgebungshintergrund. Alle Rechtecke streng achsenausgerichtet.
  8. Nur eine Größe ausgeben: 1760×1120, keine abgeleiteten Miniaturformate wie 660×420 exportieren.
  9. Der gesamte Text muss echter Text (HTML-Text) sein, kein Bild oder Pfad.
  10. Jede Verbindungslinie muss an beiden Enden auf einer Elementkante oder einer anderen Linie enden. Vor der Auslieferung muss der Verbindungsprüfer von render.py bestanden werden (Exit-Code 0).

Feste Geometrie (Abschreiben, nicht ändern)

SchichtElementlefttopwhr
L0canvas0017601120–
L1shell Außenhülle weiß11066152096862
L2panel hellblau14096146090850
L3content Karte weiß180240131064440
L4badge Schwimmmarke1312selbst32012832
–title Titel190132––76px / 600

Abgeleitete Grenzen (zum Ausrichten von Inhalten):

  • Rechter Rand des Panels 1600, unterer Rand 1004; rechter Rand der Content-Karte 1490, unterer Rand 884.
  • Vom unteren Rand der Content-Karte zum unteren Rand des Panels bleiben 120px blaues Band (1004 − 884).
  • Rechter Rand des Badges 1632, über das Panel hinaus 32px – das ist der «Rahmenbruch», nicht zurückschieben.
  • Verfügbare Breite des Inhaltsbereichs = 180→1490, minus je 60 Innenabstand links und rechts = 1190, Elemente müssen zwischen 240–1430 platziert werden.
  • Das Badge belegt den Bereich ab 1312, der rechte Rand der Inhaltselemente darf 1230 nicht überschreiten, sonst wird es überdeckt.

Panel-Farbverlauf (muss bei #F5FAFF enden, nicht heller):

background:linear-gradient(180deg,#E4F1FF 0%,#E9F4FF 34%,#F2F9FF 74%,#F5FAFF 100%);

Untere Elementgrößen (v2)

ElementGrößeBeschreibung
Farbverlauf-Kachel170–200 im QuadratBreite 10–11 %, größter Farbblock im gesamten Bild
Breites Schichtband910×152Eine ganze Schicht mit einem Band, platziert «Symbol + Schichtname»
Normaler Knoten330×132Drei in einer Reihe, Abstand 35
Kleine Ausgabekarte360×120Drei in einer Reihe, Abstand 40
Badge320×128Symbol 46 + 44px Text
Symbole50–54stroke-width 2.2, zu dünn wird beim Skalieren unsichtbar
Verbindungslinie4pxdasharray 12 10, Pfeile mit gleichschenkligem Dreieck
Auswahlgriff20×20border 3px, Mitte an den Eckpunkt des Knotens ausgerichtet

Arbeitsablauf

Schritt 1 · Langer Titel → Kurzer Titel + Badge

  • Funktionsname nehmen, auf 4–6 chinesische Zeichen reduzieren: «Technische Dokumentation und Wissensdatenbank-Visualisierung-…» → «Dokumentationsgrafik-Generierung».
  • Badge-Text 4 Zeichen (320px bietet nur Platz für 4 Zeichen mit 44px), eine «Zusage» schreiben: «Ein-Klick-Einfügen» «Nur diesen Block ändern» «Layout unverändert» «Lokal änderbar».
  • Beispielsatz einen echten Satz schreiben, nicht «Beispieltext».

Schritt 2 · Layout auswählen

TitelmerkmalLayoutVorlage
Ein Kern → mehrere Ausgaben, Fähigkeitsausstrahlung, ein Zentrum N SzenarienD Kernverzweigung (v3)assets/template-d-orbit.html
A→B→C Dreischritt, Hochladen→Analysieren→Erfassen, Bauen→Testen→VeröffentlichenE Kreispipeline (v3)assets/template-e-pipeline.html
Eingabe→Generieren→Mehrere Ausgaben, Konvertieren, Organisieren (benötigt Textbeschriftungen, um verständlich zu sein)B Oben→Unten Verzweigung (v2)assets/template-b-flow.html
Sowohl «Ein-Satz-Generierung» als auch «Nach der Generierung änderbar» (benötigt UI-Gefühl)C-1 Leinwand-Bearbeitungsmodus (v2)assets/template-c-ui.html
Geschichtete Architektur (Zugang / Dienst / Daten) Schicht für Schicht erklärtC-2 Geschichteter Auswahlmodus (v2)assets/template-c-arch.html

Details siehe references/layouts.md. Unsicher: Punkte ≤ 4 → D oder E; Informationen müssen einzeln aufgereiht werden → C-2 (es ist im Miniaturformat am klarsten).

Schritt 3 · Vorlage anpassen

Kopie der Vorlage erstellen, nur diese Stellen ändern, keine Zeile des Schalen-CSS anfassen:

  1. .title Text;
  2. Kurze Beschriftung (2–4 Zeichen) in jedem Pfad/jedem Knoten/jeder Karte;
  3. Text des Badges .badge (4 Zeichen) + top (vertikaler Abstand zwischen zwei Badges ≥40px);
  4. Beispielsatz im Eingabeband / in der Sprechblase;
  5. Beim Löschen eines Elements gleichzeitig seine Verbindungslinien und Pfeile löschen, sonst bleiben freie Linienenden;
  6. Beim Ändern von Verbindungen muss die Schreibweise «Knotenpunkt + unabhängige Segmente» aus dem Abschnitt «Wie zeichnet man Verbindungen, damit sie nicht brechen» verwendet werden, keine spontanen Kurven hinzufügen.

Schritt 4 · Rendern

python <SKILL_DIR>/scripts/render.py <input.html> <output.png>

<SKILL_DIR> ist das Installationsverzeichnis dieses Skills (wo SKILL.md liegt), nicht das aktuelle Arbeitsverzeichnis – dein cwd ist normalerweise das Benutzerprojekt; scripts/render.py direkt zu schreiben, findet die Datei nicht.

Das Skript kopiert das HTML in ein ASCII-temporäres Verzeichnis und ruft dann den Headless-Browser auf – chinesische Pfade lassen Headless stillschweigend fehlschlagen und geben ein leeres oder altes Bild aus. Es validiert auch, ob die Ausgabe 1760×1120 ist, und prüft automatisch, ob die Endpunkte jeder Verbindungslinie frei hängen – Exit-Code 3 bedeutet unterbrochene Linien, nicht ausliefern.

Schritt 5 · Miniatur-Selbstprüfung (wichtigster Schritt)

python <SKILL_DIR>/scripts/preview.py <output.png> --width 240

Muss das Miniaturbild tatsächlich ansehen und mit references/checklist.md abgleichen. Das Bewertungskriterium ist nur ein Satz:

Kann man bei Skalierung auf 240px noch Titel, den Sinn jeder Beschriftung und «Welcher Teil ist der Schwerpunkt?» erkennen?

Wenn nicht, Elemente reduzieren, Schriftgröße erhöhen, nicht durch Hinzufügen von Details lösen.

v3 · Grafisch (Symbol- und Grafikelement-getrieben)

Ein Satz: Was gezeichnet werden kann, nicht schreiben.

Jedes Element von v2 ist ein «abgerundetes Rechteck + Symbol + Text», alle isomorph, daher liest sich das gesamte Bild wie ein Haufen Flussblöcke. v3 ändert nur drei Dinge: die Content-Karte entfernen, Symbole dreimal vergrößern, Grafik selbst die Semantik tragen lassen.

Drei harte Regeln

  1. Keine Content-Karte auslegen. Grafiken schweben direkt auf dem hellblauen Panel; weißer Hintergrund nur für kleine Teile wie Badges. Begrenzung durch Schatten, nicht durch Striche.
  2. Symbole ≥ 84px. Visuelle Strichbreite = stroke × Anzeigegröße / 24, Ziel 7–9px (bei Skalierung auf 240px etwa 1px).
  3. Beschriftungen ≤ 4 Stellen, jede 2–3 Zeichen. Bei mehr als 4 Stellen erklärst du noch mit Text – geh zurück und zeichne diese Information als Grafik.

Symbolbibliothek (50 Stück)

assets/icons.svg ist ein Sprite. Die gesamte Inline einfügen in die Seite, um sie nutzen zu können:

<body>
  <!-- Den gesamten Inhalt von assets/icons.svg hier einfügen -->
  <svg><use href="#i-database"/></svg>
</body>

Externe Referenzen (<use href="icons.svg#i-database"/>) werden unter file:// vom Browser aus Cross-Domain-Gründen geblockt, und die Symbole verschwinden im Headless-Screenshot vollständig, ohne Fehlermeldung.

python <SKILL_DIR>/scripts/iconlib.py --list            # Alle IDs nach Gruppe auflisten
python <SKILL_DIR>/scripts/iconlib.py --preview p.png   # Symbolwand generieren, Symbole auswählen

Gruppen: Diagramme / Darstellungen 12 Stück · Technische Elemente 15 Stück · KI und Inhalt 18 Stück · Interaktion 5 Stück.

Symbol-Innen kein stroke-width schreiben, nach Anzeigegröße anpassen:

Anzeigegrößestroke
84–1081.9–2.0
130–1401.5
170–1901.3

Wenn kein passendes gefunden wird, ein ähnliches austauschen, nicht spontan neue Formen zeichnen – sobald der Linienstil nicht einheitlich ist, fällt das Bild sofort auf.

Grafische Bauteile (15 Stück)

assets/parts.html ist eine Seite mit Bauteilwand, jedes Teil mit echtem Objekt + Klassenname + Größe, einfach HTML + CSS kopieren:

Farbverlauf-Kachel · Weißer runder Badge · Rahmenbrechender Badge · Beschriftungs-Kapsel · Fensterrahmen · Schichtstapel · Farbverlauf-Pfeil · Gestrichelte Verbindung · Auswahlgriff · Befehlsblase · Ringfortschritt · Mini-Balkendiagramm · Punktmatrix-Hintergrund · Sternstrahl · Auswahl-Kachel.

Zwei Layouts

  • D Kernverzweigung → Ein Kern → Mehrere Ausgaben. Zentrum ist «drei versetzt gestapelte Seiten + Sternstrahl», nicht ein einzelnes Symbol.
  • E Kreispipeline → A→B→C Dreischritt. Der mittlere Teil ist der einzige Farbverlaufskörper und der erste Anziehungspunkt des Lesers.

Beide werden aus den obigen Bauteilen zusammengesetzt; zum Ändern der Grafik nur Symbole und 2–3-Zeichen-Beschriftungen austauschen.

Grundgerüst der v2-Layouts

B Oben→Unten Verzweigung (template-b-flow.html) Eingabe-Kapsel 690×136 zentriert → vertikale Linie → Farbverlauf-Kachel 200 → vertikale Linie zur Hauptlinie → horizontale Hauptlinie teilt sich in drei Pfade → drei Ausgabekarten 360×120. Badge oben rechts.

C-1 Leinwand-Bearbeitungsmodus (template-c-ui.html) Kachel oben links 170 + Eingabezeile 850×118 → hellblaue Leinwand-Platine 1160×352, enthält drei Knoten 330×132, mittlerer Knoten ausgewählt → darunter Befehlsblase 430×112, mit 4px gestrichelter Linie mit ausgewähltem Knoten verbunden. Badge oben rechts.

C-2 Geschichteter Auswahlmodus (template-c-arch.html) Drei 910×152 Schichtbänder vertikal gestapelt (Abstand 40, gesamte Gruppe vertikal zentriert), mittleres Band ausgewählt und mit einer 104px kleinen Farbverlauf-Kachel → rechts zwei Badges. Geringster Informationsgehalt, beste Lesbarkeit im Miniaturformat.

v2-Bauteile (6 Stück, ausreichend)

  1. Farbverlauf-Symbol-Kachel — 170–200 / r44–52 / linear-gradient(135deg,#4A9DFC,#5E92F9 45%,#7C6BF5) + weißes lineares Symbol (84–100px, stroke-width 1.6) + unterer Rand sanfter Schein 0 18 40 rgba(74,157,252,.42), 0 0 40 8 rgba(124,107,245,.14).
  2. Badge — Weißer Hintergrund 320×128 / r32 + 0 20 48 rgba(31,71,141,.16) + 46px blaues Symbol + 44px Text.
  3. Schichtband / Knoten — Weißer Hintergrund + 3px #C9DCF2 Strich + 90px hellblaues abgerundetes Symbol-Feld + 50px/500 Beschriftung. Kein Skelettband, echten Text schreiben.
  4. Auswahlzustand — 5px #4A9DFC + 0 0 0 12px rgba(74,157,252,.11) + 20px Griffe an den vier Ecken (Mitte an den Eckpunkt ausgerichtet) + optionale eingebettete kleine Farbverlauf-Kachel. Keinen gestrichelten Auswahlrahmen zeichnen (würde von Verbindungen durchkreuzt).
  5. Verbindungslinie — 4px / #A9C7EC / dasharray 12 10, Pfeile sind gleichschenklige Dreiecke M827 716 h16 l-8 14 z. Kein rechtwinkliges Dreieck verwenden.
  6. Leinwand-Platine — #F8FBFF / 2px #DDEBFB / r36, fasst «Knoten + Blasen» zu einer Gruppe zusammen, verhindert Streuung des Bildes.

Wie zeichnet man Verbindungen, damit sie nicht brechen

Verbindungen sind der einzige Teil, der absolute Koordinaten von Hand geschrieben erfordert, und die anfälligste Stelle. Wenn eine Linie um einige hundert Pixel zu kurz ist, sieht das gesamte Bild immer noch «so aus» – bei 1760 Originalgröße ohne Vergrößerung unsichtbar, bei Skalierung auf 240px vollständig unsichtbar, bis die Grafik ausgeliefert wurde und jemand darauf hinweist.

Verzweigungen müssen in «Knotenpunkt + unabhängige Segmente» aufgeteilt werden

Falsch – Ein Pfad, der unterwegs abbiegt und sich verzweigt, die Hauptlinie deckt nur den äußersten linken Zweig ab:

<path d="M835 652 V690 H435 V716"/>   <!-- vertikal → links horizontal → vertikal, bricht hier ab -->
<path d="M835 690 V716"/>
<path d="M1235 690 V716"/>            <!-- Startpunkt schwebt im Leeren -->

Richtig – Alle Schnittpunkte treffen sich auf Endpunkt-Ebene:

<path d="M835 652 V690"/>    <!-- vertikale Linie fällt auf Knotenpunkt (835,690) -->
<path d="M835 690 H435"/>    <!-- linke Hälfte der Hauptlinie -->
<path d="M835 690 H1235"/>   <!-- rechte Hälfte der Hauptlinie -->
<path d="M435 690 V716"/>    <!-- drei Zweige, Start-y alle gleich dem Hauptlinien-y -->
<path d="M835 690 V716"/>
<path d="M1235 690 V716"/>

Drei Regeln:

  1. Ein Pfad macht nur eine Sache: entweder gerade runter oder quer. Nicht unterwegs abbiegen und dann verzweigen.
  2. Beide Enden der Hauptlinie müssen gleich dem x des äußersten linken und rechten Zweigs sein, diese drei Zahlen müssen im Code wörtlich identisch sein. Ändere eine Seite, die andere entsprechend mit.
  3. End-y des Zweigs = top der Karte − 14 (14 ist Pfeilhöhe), Start-y des Zweigs = y der Hauptlinie.

Jedes Rendern wird automatisch geprüft

render.py führt nach dem Rendern automatisch linklint.py aus: Lässt den Browser die tatsächlichen Endpunkte jeder Linie berechnen und beurteilt einzeln, ob sie an einer Elementkante anliegt (≤8px) oder eine andere Linie schneidet (≤3px). Wenn nicht erfüllt, ist es frei schwebend, und die Koordinaten werden sofort gedruckt:

[x] 1 freischwebender Endpunkt gefunden:
    Linie 6 Startpunkt bei (1235,690), nächstes Objekt ist 40px entfernt  d="M1235 690 V716"

Dann ist der Exit-Code 3, nicht ausliefern. Auch separate Prüfung möglich:

python <SKILL_DIR>/scripts/linklint.py scene.html -v

Pfeildreiecke, Beziehungsrauten etc. – diese gefüllten Grafiken nehmen nicht an der Prüfung teil (ihre Basis liegt ohnehin auf dem Linienendpunkt), aber sie werden als verbindbare Ziele betrachtet – daher ist es gültig, wenn eine Linie an einem Pfeil endet.

Diese Prüfung erkennt nur Geometrie, nicht «sieht ungefähr richtig aus». Sie hat einmal einen echten Fehler gefunden: Einem dritten Zweig einer Dreifachverzweigung fehlte eine gesamte 800px lange horizontale Linie, während das gesamte Bild für das bloße Auge völlig normal aussah.

Häufige Fehler (alle bereits erlebt)

PhänomenUrsacheBehebung
Bei Skalierung auf 240px verschwommenes GrauElemente zu klein, zu vieleElemente auf ≤7 reduzieren, Schriftgröße auf 48px erhöhen, Strich auf 3–5px verdicken
Skelettbänder im Miniaturformat wie graues RauschenDekorative Skelettbänder verwendetDurch echte kurze Beschriftungen (2–4 Zeichen) ersetzen
Weißes Band am unteren Rand, Panel sieht nur wie Rahmen ausFarbverlauf zu hell bis #FBFCFEBei #F5FAFF enden
Badge überdeckt InhaltInhaltselemente überschreiten 1230Rechten Rand des Inhalts auf 1230 begrenzen
Griffe schweben außerhalb der EckeHandgeschriebenes top nicht halbierthandle.left = Eckpunkt x − 10, top = Eckpunkt y − 10
Gestrichelte Linie unsichtbarVom Leuchten des ausgewählten Knotens überdecktDem SVG der Verbindung z-index:6 hinzufügen
Pfeile schief, sehen aus wie rechtwinklige DreieckePfad falsch geschriebenGleichschenkliges Dreieck verwenden, siehe Bauteil 5
Horizontale Hauptlinie drückt auf KarteVerzweigungspunkt zu niedrigUnterer Rand der Kachel→Hauptlinie ≥38px, Hauptlinie→Karte ≥40px
Ungleicher Abstand zwischen drei Kartenleft von Hand geschriebenGleichmäßig anordnen und prüfen, ob der Mittelpunkt auf den Pfeil ausgerichtet ist
Gerendertes Bild leer/altHTML in chinesischem Pfadscripts/render.py verwenden
Ungleiche Dichte bei drei GrafikenElementgrößen einzeln geschriebenAlle nach der Tabelle «Untere Elementgrößen» bemessen
Verbindung unterbrochen, Zweig schwebtEin Pfad biegt ab und deckt nur einen Teil der Zweige abIn «Knotenpunkt + unabhängige Segmente» aufteilen, siehe «Wie zeichnet man Verbindungen, damit sie nicht brechen»
Gestrichelte Blasenlinie hat einen Spalt zum KnotenStartpunkt liegt nicht auf ElementkanteStartpunkt y = untere Kante des Elements, von linklint auf 0px prüfen lassen

Dateiindex

Dieser Skill ist in sich geschlossen: Die folgenden Pfade sind relativ zum Verzeichnis, das SKILL.md enthält, kein Zugriff auf andere Repos oder externe Dokumente erforderlich.

SKILL.md
├── references/
│   ├── style-tokens.md    Vollständige Token-Tabelle für Farben, Schriftgrößen, Rundungen, Schatten (einschließlich v3 grafischer Token)
│   ├── layouts.md         Skelettdiagramme, Anwendungsszenarien, Elementrezepte der fünf Layouts
│   └── checklist.md       Punkt-für-Punkt-Prüfung vor Auslieferung (einschließlich 240px Miniatur-Abnahme, v3-spezifische Punkte)
├── assets/
│   ├── icons.svg          50 lineare Symbole als Sprite (Inline in die Seite eingefügt, dann <use href="#i-xxx"/>)
│   ├── parts.html         15 grafische Bauteile als Wand, ansehbar und kopierbar
│   ├── template-d-orbit.html      D Kernverzweigung (v3)
│   ├── template-e-pipeline.html   E Kreispipeline (v3)
│   ├── _blank-shell.html          Nur die Schale, für Layout von Grund auf
│   ├── template-b-flow.html       B Oben→Unten Verzweigung (v2)
│   ├── template-c-ui.html         C-1 Leinwand-Bearbeitungsmodus (v2)
│   └── template-c-arch.html       C-2 Geschichteter Auswahlmodus (v2)
├── scripts/
│   ├── render.py          HTML → 1760×1120 PNG (Pfadverarbeitung + Browsererkennung + Verbindungsprüfung)
│   ├── linklint.py        Prüft, ob die Endpunkte jeder Verbindungslinie frei schweben (wird automatisch von render.py aufgerufen)
│   ├── preview.py         Generiert 240px Miniaturbild für die «Miniatur-Selbstprüfung»
│   └── iconlib.py         Symbol-IDs auflisten / Symbolwand generieren
└── examples/              5 fertige Grafiken + renderbare Quelldateien, nur als Referenz, nicht an der Generierung beteiligt

Der Text und die Grafiken in den Vorlagen sind ausführbare, echte Beispiele; sie direkt zu ändern ist schneller, als von einer leeren Seite zu schreiben.

Verwandte Skills