docs(architecture): document CV builder, theme engine, Phase 4 status
CI and Deploy / test (push) Failing after 1m53s
CI and Deploy / deploy (push) Has been skipped

cv-builder.md (variant model, rendering pipeline, API, builder workflow,
extension points, known deep-link limitation) + cv-theme-engine.md (how a
theme is data and how to add one). Roadmap Phase 4 marked foundation-shipped
with the remaining polish itemised.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
cesnimda
2026-07-18 10:07:43 +02:00
parent 158dd02b00
commit 17edf19f89
3 changed files with 157 additions and 0 deletions
+16
View File
@@ -99,6 +99,22 @@ Goal: one professional source of truth that can actually feed outputs.
Goal: `Content Tab → Customise Tab → Preview → Export` (guide `:312`).
**This is the largest item in the plan.** The existing inert tab makes it look nearly done; it is not started.
> **Foundation SHIPPED 2026-07-18** (commits `a3e18e4` backend, `158dd02` frontend). Data-driven
> theme engine + variant model + 3-tab builder + live preview + public CV, all consuming the master
> profile (never duplicating it). See `docs/architecture/cv-builder.md` and
> `docs/architecture/cv-theme-engine.md`. Status: 4.1 ✅ `CvTheme` model. 4.2 ✅ one
> `ThemedCvRenderer` (the old `CvTemplateRenderer` stays only for the legacy tailored-draft flow).
> 4.3 ✅ 8 themes as data. 4.4 ✅ Content tab reorder/hide/rename + custom sections (up/down
> controls with keyboard support; **native drag-and-drop deferred** — no dnd dependency added yet).
> 4.5 ✅ Customise tab (theme, accent, fonts, density, page size, photo/icons/page-numbers). 4.6 ✅
> live preview (server render on a 350 ms debounce; **not yet client-side** — see below). 4.7 ✅ PDF
> export wired into the builder. Plus: autosave + version history/restore, AI-assist (suggestion-only),
> public CV at `/cv/{slug}`. **Remaining polish:** 4.8 split `ProfileCvController`; client-side preview
> (4.6 currently server round-trip); native drag-and-drop; rich-text bullets; PDF page-number footer;
> per-item override UI in the Content tab (the API + resolver support it; the editor exposes section-
> level controls). **Known limitation:** external direct loads of `/cv/{slug}` bounce to root (SPA
> deep-link issue, app-wide) — fix in the frontend static-export/routing config.
| # | Task | Priority | Difficulty | Dependencies | Expected value |
|---|---|---|---|---|---|
| 4.1 | **Design the `CvTheme` model** — layout, columns, header position, font family, base size + per-element deltas, spacing, margins, accent + application targets, icon style, photo settings | **P1** | **M** | 3.4 | **The keystone.** Everything else in Phase 4 depends on themes being *data*. Modelled on FlowCV's proven control set (report §7), trimmed to ~12 controls per the guide's "avoid excessive configuration". |