feat: recreate public frontend with Heritage Editorial identity
Replace placeholder visual system with EB Garamond/olive tokens, brand assets, editorial home narrative, São Paulo settings, real testimonials, and regenerated visual baselines. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
## MODIFIED Requirements
|
||||
|
||||
### Requirement: Public screens have desktop and mobile visual baselines
|
||||
|
||||
The system SHALL keep versioned screenshot baselines for the public screens available in this phase (SPEC §13.5): Home, Serviços, Portfólio and Detalhe do portfólio, at 1440×1000 desktop and 390×844 mobile, under the Heritage Editorial identity. A rendering change that alters those screens MUST fail the browser suite until the diff is reviewed and baselines are explicitly updated.
|
||||
|
||||
#### Scenario: Unintended visual change fails the suite
|
||||
|
||||
- **GIVEN** approved baselines exist
|
||||
- **WHEN** a code change alters the rendering of a covered screen
|
||||
- **THEN** the visual assertion MUST fail and report the diff
|
||||
|
||||
#### Scenario: Both viewports are covered
|
||||
|
||||
- **WHEN** the visual suite runs
|
||||
- **THEN** each covered screen MUST be asserted at 1440×1000 and 390×844
|
||||
|
||||
#### Scenario: Heritage Editorial identity is captured
|
||||
|
||||
- **WHEN** approved baselines for the home are reviewed after this change
|
||||
- **THEN** they MUST reflect EB Garamond typography, olive/paper palette and sharp-edged editorial layout rather than the previous gold/rounded placeholder look
|
||||
|
||||
### Requirement: Visual runs are deterministic
|
||||
|
||||
Visual runs SHALL be deterministic per SPEC §13.5: fixed Chromium and Linux image, fixed viewport, timezone `America/Fortaleza`, locale `pt-BR`, self-hosted fonts installed/bundled for the suite, frozen clock, deterministic seed (including real testimonial subset and São Paulo settings), animations and transitions disabled, and no dependency on external network.
|
||||
|
||||
#### Scenario: Repeated run without code change produces no diff
|
||||
|
||||
- **WHEN** the visual suite runs twice against the same commit and seed
|
||||
- **THEN** both runs MUST pass with no pixel diff
|
||||
|
||||
#### Scenario: Time-dependent content does not cause drift
|
||||
|
||||
- **GIVEN** the clock is frozen and the seed is deterministic
|
||||
- **WHEN** the suite runs on a different calendar day
|
||||
- **THEN** rendered dates MUST remain identical to the baseline
|
||||
|
||||
#### Scenario: Motion is disabled during capture
|
||||
|
||||
- **WHEN** a screenshot is captured
|
||||
- **THEN** CSS animations and transitions MUST be disabled
|
||||
|
||||
### Requirement: Baseline updates are explicit and reviewed
|
||||
|
||||
Baselines SHALL only be updated through the explicit `composer visual:update` command, and the resulting diff MUST be reviewed by a human before merge. Baselines MUST NOT be regenerated automatically to make CI pass.
|
||||
|
||||
#### Scenario: CI does not regenerate baselines
|
||||
|
||||
- **WHEN** the `browser` CI job runs
|
||||
- **THEN** it MUST run in assertion mode
|
||||
- **AND** MUST NOT write new baselines
|
||||
|
||||
#### Scenario: Developer updates baselines intentionally
|
||||
|
||||
- **WHEN** a developer runs `composer visual:update`
|
||||
- **THEN** the updated baseline files MUST be written to the versioned baseline directory for review
|
||||
Reference in New Issue
Block a user