60 lines
3.8 KiB
Markdown
60 lines
3.8 KiB
Markdown
<!-- status: done -->
|
|
<!-- started: 2026-06-03 -->
|
|
<!-- component: gateway -->
|
|
|
|
# Style-System Overhaul + Smart Table Styling
|
|
|
|
## Beschreibung
|
|
|
|
Vollstaendige Ueberarbeitung des Dokumenten-Styling-Systems in `serviceGeneration`:
|
|
|
|
1. **Statische Presets entfernt:** `THEME_PRESETS`, `resolveTheme()` und der `documentTheme`-Parameter wurden end-to-end entfernt (styleDefaults, mainServiceGeneration, _mediaTools, methodAi, generateDocument, documentPath, mainServiceAi, mainTrustee). Zurueck zum ADR-Originalentscheid 2026-04 (kein Theme-Katalog).
|
|
|
|
2. **AI-getriebene Style-Enhancement:** `_enhanceStyleWithAi()` in `mainServiceGeneration.py` analysiert Dokumenttitel, -typ und User-Request und liefert ein JSON-Delta auf den Basis-Style. Das vollstaendige Style-Set (~920 Bytes, alle 12 Sektionen) wird dem AI als Kontext mitgegeben.
|
|
|
|
3. **DEFAULT_STYLE modernisiert:** Cursor/VS-Code-inspirierte Basis-Aesthetik (Calibri, GitHub-Farbpalette, subtile Rahmen, leichte Header-Hintergruende).
|
|
|
|
4. **Style-Chain-Luecken geschlossen:**
|
|
- `_convertUnifiedStyleToInternal()` erweitert um page, image, table font sizes, codeBlock.borderColor, coverPage, caption, table_banding, table_padding, fonts, colors
|
|
- Heading-Key-Mismatch in XLSX/PPTX behoben
|
|
- DOCX h3/h4 Styles registriert
|
|
- Fallback-Farben an DEFAULT_STYLE angeglichen
|
|
- HTML Legacy-Pfad (`_getStyleSet`, `_getDefaultStyleSet`) entfernt
|
|
|
|
5. **Smart Table Styling:**
|
|
- Neue Style-Keys: `borderStyle` (grid/horizontal/none), `bandingEnabled` (Toggle), `cellPaddingPt`
|
|
- Per-Table Overrides via `content.tableStyle` im JSON (deep-merge mit globalem Style)
|
|
- Automatische Spaltenausrichtung (`_inferColumnAlignments`: Zahlen rechts, Daten zentriert, Text links)
|
|
- Neue Schema-Sektionen `coverPage` und `caption`
|
|
|
|
6. **Dead Code entfernt:** `_getStyleSet`, `_enhanceStylesWithAI`, `_getDefaultStyleSet`, `_validateStylesContrast` und weitere Legacy-Methoden aus allen 5 Renderern.
|
|
|
|
## Entscheidungen
|
|
|
|
| Datum | Entscheidung | Begruendung |
|
|
|-------|-------------|-------------|
|
|
| 2026-06-03 | THEME_PRESETS + documentTheme entfernt | ADR 2026-04 Originalentscheid wiederhergestellt |
|
|
| 2026-06-03 | AI-Enhancement statt statischer Presets | Kontextbasierte Anpassung ohne Pflege eines Preset-Katalogs |
|
|
| 2026-06-03 | Vollstaendiges Style-Set im AI-Prompt | Alle 12 Sektionen muessen anpassbar sein |
|
|
| 2026-06-03 | Per-Table Overrides via content.tableStyle | Jede Tabelle kann eigene Styles haben |
|
|
| 2026-06-03 | Auto-Column-Alignment | Deterministische Heuristik ohne AI-Call |
|
|
|
|
## Betroffene Dateien
|
|
|
|
- `serviceGeneration/styleDefaults.py` — DEFAULT_STYLE, resolveStyle, deepMerge
|
|
- `serviceGeneration/mainServiceGeneration.py` — renderReport, _enhanceStyleWithAi
|
|
- `serviceGeneration/renderers/documentRendererBaseTemplate.py` — _convertUnifiedStyleToInternal, _inferColumnAlignments
|
|
- `serviceGeneration/renderers/rendererPdf.py` — Smart Table, Cover, Caption, Code Border
|
|
- `serviceGeneration/renderers/rendererDocx.py` — h3/h4, List, Code, Cover, Caption, Smart Table
|
|
- `serviceGeneration/renderers/rendererPptx.py` — Heading-Fix, List, Code, Smart Table
|
|
- `serviceGeneration/renderers/rendererXlsx.py` — Heading-Fix, List, Code Border, Smart Table
|
|
- `serviceGeneration/renderers/rendererHtml.py` — Legacy entfernt, Heading Spacing, Caption CSS
|
|
- `serviceAgent/coreTools/_mediaTools.py` — documentTheme entfernt
|
|
- `workflows/methods/methodAi/*` — documentTheme entfernt
|
|
- `serviceAi/mainServiceAi.py` — documentTheme entfernt
|
|
|
|
## Links
|
|
|
|
- Kanonische Referenz: [b-reference/platform-core/document-rendering.md](../../b-reference/platform-core/document-rendering.md)
|
|
- ADR: [c-work/4-done/2026-04-ai-reports-theming-and-pipeline.md](2026-04-ai-reports-theming-and-pipeline.md)
|
|
- Vorgaenger: [c-work/4-done/2026-06-po-cleanup-neutralization-docgen.md](2026-06-po-cleanup-neutralization-docgen.md) (A3)
|