Files
jobtrackingapp/docs/redesign/phase-3/CV_WORKSPACE.md
T
2026-09-10 18:15:05 +02:00

5.4 KiB
Raw Blame History

CV workspace

ARC-09; PRES-C05–PRES-C12, PRES-W05, PRES-W07, PRES-E08, PRES-E09. Retain CvBuilderEditor, customization, cvBuilder client and the shared server preview/PDF renderer.

Library and editor

The /career/builder library is labelled CVs. Preserve name/create/copy/delete, template gallery with actual rendered thumbnails, publish/unpublish/share and PDF download. A public slug is separate from private numeric identity. Documents links here rather than exposing a second CV editor.

CV name · This CV only · optional linked job        Save state · Undo Redo · Export
[Content | Template | Customize | AI tools | History]
[Section navigation + selected editor]             [Live paginated preview]
                                                 [Page n of m · Fit width]

Existing studio capabilities are preserved regardless of tab order. Recommend Content as the primary editing task; template choice stays obvious for creation. A tab-order change is presentation only and requires keyboard/route regression. Reuse current editor state/save owner rather than remounting it on every tab, theme or viewport change.

Content and scope

Each section: localized title, visibility, position, source/inherited/override marker, edit and contextual AI. Expand one or more sections; users are not forced to close previous work. Retain built-in item visibility/order, custom/preset/free-text sections, stable keys, hide/remove and manual content. Reorder uses existing native drag plus Move up/down controls; mobile and keyboard have equal outcomes.

“Inherited from Career Profile” links to the source. “Customized in this CV” offers comparison/reset. Reset changes only the override; it does not delete the career item. Job-specific variants show the linked job without implying ownership of that job or automatic submission. Restoring source or an old version must never bypass the correct server-owned resource lookup.

Bounded customization with advanced parity

Default Customize shows template, accent, supported typography, font size, margins and spacing. Advanced disclosure retains every existing setting:

  • Template-capability-aware heading/header styles, colors, photo and icons.
  • Skills presentation/groups, one/two columns, sidebar and section columns.
  • A4/Letter, document density, date format and document language.
  • Per-section rows/grid/compact/bubbles and section spacing/order/visibility.
  • Unsupported-setting handling and the server's normalization/fallback behavior.

This is intentionally constrained to CV layout, not a word processor. Do not drop current advanced settings because the brief lists fewer. No arbitrary absolute positioning, HTML editor or new font/template engine. UI Comfortable/Compact density is not CV document density.

Template switches retain compatible settings and make unsupported options unavailable with explanation. Existing saved template/settings IDs remain renderable. Any destructive reset is explicit; do not silently reset a CV when changing application theme.

Preview and persistence

Keep debounced server preview, actual page boundaries, automatic fit and shared HTML/PDF engine. Preview is render-only; no implicit AI or profile writes. Maintain latest-result sequencing and dispose old preview/blob work on unmount/account switch.

Desktop split needs independent labelled, keyboard-scrollable panes. Mobile has Edit / Preview, remembers section/scroll, keeps save/export accessible and never compresses both into a phone. Manual zoom (NEW-12) is optional incremental work; Fit width already exists. Browser page zoom/reflow remains accessible even if manual preview zoom is deferred.

Save states: loading, editing/unsaved, saving, saved, failed with retry, reauthentication required. Do not show Saved before acknowledgement. Retain current local save queue and dirty navigation guard; it only serializes one editor and cannot resolve concurrent writers. Undo/redo is editor settings history; persisted version restore creates a new version rather than erasing history. Do not label either as conflict protection.

PDF failures/busy admission use existing B03 contract with understandable retry; never start parallel renders for preview thumbnails or bypass the shared generator. Private export/public published export retain separate authorization/publication checks.

AI

Per-section improve/translate/custom instruction and whole-document translate/improve/spelling retain source/target language, current/proposed comparison, edit/accept/reject and strict block identity validation. Reject/close/error does not modify settings. Accept targets this variant; if a separate Save follows, say so. Do not place “apply to Career Profile” beside CV Accept.

Required evidence before migration

Phase 2's mobile headline override and AI tests are a starting point. Add source reset/inherited edit, custom item reorder/hide, history/undo/reload, public unpublish, long searchable multipage PDF and unsupported template settings. Exercise selected-source context and native package relationships after P2-D01 is repaired separately. Loaded preview keyboard scroll after viewport transition is an F14 gate. Do not edit this stateful owner concurrently with stale-revision work; no F01 fix is claimed by this UX plan.