diff --git a/docs/superpowers/specs/2026-10-16-etappe-4-designsystem-design.md b/docs/superpowers/specs/2026-10-16-etappe-4-designsystem-design.md index ea3ba81..9c198f0 100644 --- a/docs/superpowers/specs/2026-10-16-etappe-4-designsystem-design.md +++ b/docs/superpowers/specs/2026-10-16-etappe-4-designsystem-design.md @@ -156,23 +156,23 @@ Jedes Tool nimmt **mehrere Einträge** eines Bereichs je Aufruf (ein Snapshot, e - Eingabe: `preset` (`module`/`group` + Name/ID) **oder** `variable` (Name/ID). Optional `post_ids`. - Preset: entfernt die ID aus `modulePreset`/`groupPreset`-Stapeln; Module fallen auf das nächste Preset im Stapel bzw. das Standard-Preset zurück (G5 a). Verschachtelte Verwendung in anderen Presets entfernt der Aufruf im selben Schritt über die Pipeline (Snapshot `presets`). - Variable: ersetzt die Referenz durch ihren aktuellen Wert als festen Wert (A7) – „Verweis entfernen“ ohne Wert würde Inhalte leeren; bei Farben entfällt detach (sie werden nur deaktiviert). -- Danach ist das Löschen (§6.4, §7.2) möglich. +- Danach ist das Löschen (Presets, §6.4) bzw. das Archivieren (Variablen, §7.2) möglich. ## 7. Farben und Variablen ### 7.1 `lit/divi-colors-set` -- `items`: `{ id? | name?, "label": "Primär", "color": "#5b3a29" | "{{color:Primär}}" + "relative": {hue, saturation, lightness, opacity}, "folder"?, "status": "active"|"inactive" }`. Die fünf Hauptfarben über ihre festen Namen (`accent_color` …). +- `items`: `{ id?, "label": "Primär", "color": "#5b3a29" | "{{color:Primär}}" + "relative": {hue, saturation, lightness, opacity}, "folder"?, "status": "active"|"inactive" }`. `id` nennt eine vorhandene Farbe (ID, Name, Alias oder Optionsname); ohne `id` wird neu angelegt. Die fünf Hauptfarben über ihre festen Namen (`accent_color` …). Unbekannte Felder (z. B. `delete`) lehnt das Tool ab. - Schreiben über `set_global_colors($data, true)` (mischen), Hauptfarben nur, wenn sie geändert werden (Standardwert-Abweichung Formate §4). Neue IDs `gcid-` + 10 Zeichen. -- „Löschen“ = `status: inactive`; der Probelauf nennt Fundstellen als Warnung. +- „Löschen“ = `status: inactive`; der Probelauf nennt Fundstellen in Seiten, Bibliothek und Theme Builder unter `affected`; nur Presets und relative Farben, die auf die Farbe bauen, sind `warnings` (Ruling V8). - Zyklen bei relativen Farben (Tiefe max. 10 wie Divi) → `validation_failed`. ### 7.2 `lit/divi-variables-set` -- `items`: `{ id? | name?, "type": "numbers|strings|images|links|fonts", "label", "value", "status": "active"|"archived" }`. Echtes Löschen gibt es nicht: Divi 5.15.1 verweigert jeden Bestand, dem eine gespeicherte `gvid-`-ID fehlt (Plan 4c, Ruling V1). +- `items`: `{ id?, "type": "numbers|strings|images|links|fonts", "label", "value", "status": "active"|"archived" }`. Echtes Löschen gibt es nicht: Divi 5.15.1 verweigert jeden Bestand, dem eine gespeicherte `gvid-`-ID fehlt (Plan 4c, Ruling V1). `id` nennt eine vorhandene Variable (ID, Name oder Alias); ohne `id` wird neu angelegt. Unbekannte Felder (z. B. `delete`) lehnt das Tool ab. - Prüfung je Typ (Zahlen: CSS-Ausdruck ohne `;{}`, Links: URL, Bilder: Anhang-ID/URL der Mediathek, Schriften: §8.2, Strings: Text). - Schreiben: vollständig lesen, `stdClass` → Array, `allowedActions` und Customizer-Schriften entfernen, `set_global_variables()` (ersetzt), zurücklesen (stiller Fehlschlag bei fehlendem `variables_manager`). -- Archivieren geht immer (Divi-Verhalten); der Probelauf nennt Fundstellen in Seiten, Presets und Farben als Warnung, `lit/divi-design-detach` löst die Verweise vorher (§6.8). Ein Restore behält später angelegte Variablen archiviert. +- Archivieren geht immer (Divi-Verhalten); der Probelauf nennt Fundstellen in Seiten, Bibliothek und Theme Builder unter `affected`; nur Presets sind `warnings` (Ruling V8). `lit/divi-design-detach` löst die Verweise vorher (§6.8). Ein Restore behält später angelegte Variablen archiviert. ## 8. Theme-Optionen und Schriften