docs: Spec 4c – Item-Form nur mit id, Archivieren statt Löschen, affected vs. warnings (V8)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Jan-Niclas Loosen
2026-10-19 14:39:51 +02:00
co-authored by Claude Sonnet 5.5
parent e2e28cd1b4
commit 25252c92f2
@@ -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