3.8 KiB
Style-System Overhaul + Smart Table Styling
Beschreibung
Vollstaendige Ueberarbeitung des Dokumenten-Styling-Systems in serviceGeneration:
-
Statische Presets entfernt:
THEME_PRESETS,resolveTheme()und derdocumentTheme-Parameter wurden end-to-end entfernt (styleDefaults, mainServiceGeneration, _mediaTools, methodAi, generateDocument, documentPath, mainServiceAi, mainTrustee). Zurueck zum ADR-Originalentscheid 2026-04 (kein Theme-Katalog). -
AI-getriebene Style-Enhancement:
_enhanceStyleWithAi()inmainServiceGeneration.pyanalysiert 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. -
DEFAULT_STYLE modernisiert: Cursor/VS-Code-inspirierte Basis-Aesthetik (Calibri, GitHub-Farbpalette, subtile Rahmen, leichte Header-Hintergruende).
-
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
-
Smart Table Styling:
- Neue Style-Keys:
borderStyle(grid/horizontal/none),bandingEnabled(Toggle),cellPaddingPt - Per-Table Overrides via
content.tableStyleim JSON (deep-merge mit globalem Style) - Automatische Spaltenausrichtung (
_inferColumnAlignments: Zahlen rechts, Daten zentriert, Text links) - Neue Schema-Sektionen
coverPageundcaption
- Neue Style-Keys:
-
Dead Code entfernt:
_getStyleSet,_enhanceStylesWithAI,_getDefaultStyleSet,_validateStylesContrastund 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, deepMergeserviceGeneration/mainServiceGeneration.py— renderReport, _enhanceStyleWithAiserviceGeneration/renderers/documentRendererBaseTemplate.py— _convertUnifiedStyleToInternal, _inferColumnAlignmentsserviceGeneration/renderers/rendererPdf.py— Smart Table, Cover, Caption, Code BorderserviceGeneration/renderers/rendererDocx.py— h3/h4, List, Code, Cover, Caption, Smart TableserviceGeneration/renderers/rendererPptx.py— Heading-Fix, List, Code, Smart TableserviceGeneration/renderers/rendererXlsx.py— Heading-Fix, List, Code Border, Smart TableserviceGeneration/renderers/rendererHtml.py— Legacy entfernt, Heading Spacing, Caption CSSserviceAgent/coreTools/_mediaTools.py— documentTheme entferntworkflows/methods/methodAi/*— documentTheme entferntserviceAi/mainServiceAi.py— documentTheme entfernt
Links
- Kanonische Referenz: b-reference/platform-core/document-rendering.md
- ADR: c-work/4-done/2026-04-ai-reports-theming-and-pipeline.md
- Vorgaenger: c-work/4-done/2026-06-po-cleanup-neutralization-docgen.md (A3)