[FIR-294] Flydocs visual-parity gate: theme port, parity page and VR pipeline - #56
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Implements the FF-CAT-20 phase-2 gate (FIR-294): no Flydocs screen migrates until visual parity of the ported theme is validated.
--ff-*:apps/playground/src/app/themes/_flydocs-theme.scss(+ dark), a playground-only fixture scoped under:root[data-brand="flydocs"]. Token-by-token equivalence (72 real tokens: 49 direct, 9 derived, 14 deliberately left un-overridden) documented indocs/flydocs-theme-token-equivalence.md./parityQA page: one section per migration wave (1-5) rendering the dominant real prop combinations from the usage inventory, plusBrandThemeServiceand a brand toggle in the playground shell.ff-inputrest/hover/focus/error/disabled states (the focus-ring moved to the field wrapper in FIR-289 and is explicitly covered). Chromium-only baselines, dedicated port 4300, deterministic rendering. Newe2eCI job with a one-clickseed_vr_baselinesdispatch input for the linux baseline bootstrap (docs/visual-regression.md).docs/flydocs-parity-report.md— 13/15 components with no perceptible diff at 100% zoom; 2 flagged deltas (neutral chip cool-vs-warm, focus-ring solid-vs-halo) and 2 gaps (noff-textarea/ff-slider) left for their own issues per the gate's contract.Why
Gate for phase 2 of the Flydocs migration (ETAPA 2 of the component-system roadmap). Parity reference is the rendered product, never the Figma palettes.
How to verify
pnpm nx e2e playground-e2e— 15/15 against the committed darwin baselines.pnpm nx serve playground→ open/parity, toggle "Flydocs theme" / "Dark mode".e2ejob stays red until the linux baselines are seeded — run the CI workflow manually withseed_vr_baselineschecked, download theplayground-e2e-vr-baselinesartifact, review and commit the-linux.pngset (procedure indocs/visual-regression.md).Traceability
Board ticket without an owning PASO (pre-methodology playground scope): ticket key carried in branch and commit subjects.