brand-intake: echte Tokens rein, brand.json raus
Der Film muss wie das Produkt aussehen, also stammen die Tokens vom Produkt, niemals vom Geschmack. Reihenfolge der Quellen, stoppe bei der ersten, die einen Wert für ein Feld liefert, und notiere, woher jeder Wert kam:
- Das Repo des Benutzers (am besten: exakte Tokens, echte Schriftnamen, die echte Logodatei).
- Die Live-URL (berechnete Styles, Meta-Tags, Header-SVG).
- Screenshots die der Benutzer bereitstellt (Pixel-Sampling).
- Frage den Benutzer nach allem, was noch fehlt. Niemals raten.
Ausgabe (Pfade relativ zu launch-video/): films/<slug>/brand.json, films/<slug>/BRAND-SOURCES.md und Logodateien, die unverändert nach public/films/<slug>/brand/ kopiert werden (damit Szenen sie mit staticFile() laden). Extraktionsrezepte: references/sources.md. Feldzuordnung, Schriftarten-Fallbacks, Kontrastberechnung: references/brand-json.md.
Schritte
- Finde das Produkt-Root. Wenn
launch-video/in einem Produkt-Repo liegt, ist das Repo-Root eine Ebene höher. Sonst frage nach der URL und Screenshots. Notiere den Stack:package.jsonDependencies (tailwindcss version, next, @fontsource/*, shadcn). - Farben aus dem Repo. In dieser Reihenfolge: Tailwind v4
@theme-Variablen in CSS, Tailwind v3tailwind.config.{js,ts,cjs,mjs}theme.extend.colors, shadcn-Tokens inglobals.css(--background,--foreground,--primary,--muted,--card,--accent), andere:rootCustom Properties. Konvertiere HSL/OKLCH/RGB in 6-stellige Hex-Codes. Verwende das Theme, das die Marketing-Website verwendet (dunkel oder hell), nicht beide gemischt. - Schriftarten aus dem Repo.
next/font/googleodernext/font/localImports,@fontsource*Dependencies,@font-face,font-familyaufbody/html/h1, TailwindfontFamily. Notiere die tatsächlich verwendeten Schriftfamilien und -gewichte. - Logo aus dem Repo. Suche zuerst nach SVG:
public/logo*.svg,public/*mark*.svg,app/icon.svg,public/favicon.svg,src/assets/*logo*,src/components/*Logo*(Inline-JSX-SVG: extrahiere das<svg>), dann PNG ≥ 512 px (apple-touch-icon.pnghat 180 px: letzter Ausweg für ein Markenzeichen, niemals für ein Wortmarken-Logo). Kopiere unverändert nachpublic/films/<slug>/brand/. - Radius und Theme.
--radiusoder TailwindborderRadius; Theme = dunkel, wenn die relative Leuchtdichte des Hintergrunds < 0,2. - Lücken von der Live-URL füllen (
references/sources.md§ Live-URL): theme-color meta,og:image,link rel=icon, Inline-SVG des Headers, berechnete Styles vonbody, primären Button,h1. - Lücken von Screenshots füllen: extrahiere Pixel an benannten Punkten (Seitenhintergrund, Textkörper, primärer Button, Karte). Schreibe die Pixelkoordinaten in BRAND-SOURCES.md.
- Name, Slogan, URL: aus
package.jsonname/description, dem<title>der Website, heroh1,og:description, der ersten Zeile der README. Verwende die eigenen Worte des Benutzers; schreibe hier niemals einen neuen Slogan (Story macht das Copy). - Schriftarten zuordnen, die du nicht ausliefern oder laden kannst, zu einer ausgelieferten OFL-Schriftart nach Rolle (brand-json.md § Schriftarten) und teile dies mit.
- Kontrastprüfung (brand-json.md § Kontrast): fg auf bg ≥ 4,5:1 erforderlich (Ziel 7:1), accent auf bg ≥ 3:1. Schreibe die Zahlen. Fehlschlagender Akzent → behalte ihn für Formen bei, wähle
fgfür Text darauf. - Schreibe
brand.json, validiere dann, fallsschemas/brand.schema.jsonexistiert:npx -y -p ajv-cli@5 -p ajv-formats ajv validate --spec=draft2020 -c ajv-formats -s schemas/brand.schema.json -d films/<slug>/brand.json - Schreibe
BRAND-SOURCES.md: eine Zeile pro Wert → Quelle (file:line, URL + Selektor oder Screenshot + x,y). - Zeige dem Benutzer eine 6-zeilige Zusammenfassung (Name, Theme, 6 Farbfelder als Hex, Schriftarten, Logodatei, alles zugeordnete oder erfragte).
Harte Stopps (Pipeline nicht fortsetzen)
| Situation | Tue | Niemals |
|---|---|---|
| Keine Logodatei im Repo, auf der Website oder in Screenshots | Frage: "Sende das Logo als SVG (am besten) oder ein PNG ≥ 512 px mit Transparenz." | ein Logo zeichnen, nachzeichnen, generieren oder annähern |
| Logo nur als winziges Favicon | Frage nach einer größeren Datei | ein 32 px Favicon zu einem Helden-Markenzeichen hochskalieren |
| Keine Farben erfasst (kein Repo-Zugriff, Website blockiert, keine Screenshots) | Frage nach der URL oder 2–3 Screenshots, oder den Hex-Codes | "schöne" Farben oder eine Standardpalette aussuchen |
| Konfliktierende Paletten (App vs. Marketing) | Frage, welche der Film verwenden soll; standardmäßig die Marketing-Website | sie mischen |
| Benutzer möchte eine Text-Wortmarke, weil kein Logo existiert | Nur mit explizitem "Ja" erlaubt: Produktname in der Anzeigeschriftart, fg-Farbe | es als ihr Logo präsentieren |
Regeln
- Logodateien bytegenau kopieren. Ein Logo nicht umfärben, zuschneiden oder "bereinigen", es sei denn, der Benutzer bittet darum.
- Niemals das Logo eines anderen Unternehmens oder die Logos der Kunden des Benutzers ohne Bestätigung des Benutzers verwenden, dass er die Berechtigung dazu hat.
- Niemals Schriftarten von Quellen abrufen, deren Lizenz die Weiterverteilung in ein Repo verbietet (Fontshare FFL-Schriften wie Satoshi oder General Sans, Apple SF Pro): ordne sie zu (brand-json.md § Schriftarten).
brand.jsonenthält keine Geheimnisse und keine personenbezogenen Daten über den öffentlichen Produktnamen und die URL hinaus.- Erneutes Ausführen des Intakes überschreibt nur Felder, deren Quelle sich geändert hat; behalte Felder bei, die der Benutzer manuell bearbeitet hat (zuerst diff).
- Nachgelagerte Skills lesen nur
brand.json; niemals Marken-Hex-Werte in Szenen hartcodieren[craft/06#grade-discipline].