Skip to content

v1: migrate root font sizing without visual regression #137

Description

@jenil

Objective

Implement the approved v1 root-font correction without changing the visual intent of existing fixtures at a 16px consumer root.

Prerequisites

Required approach

Remove Chota's html font-size override. Divide Chota-owned rem values by 1.6 so a fixture at a normal 16px consumer root retains its intended rendered scale. Add a concise source comment stating that Chota does not set the root font size and rem values remain relative to the consumer's root.

Do not

  • Replace the old declaration with 10px.
  • Ship a legacy CSS build, silently preserve 62.5 percent, or change user-owned root styles.
  • Convert unrelated values or use this work to redesign typography.
  • Claim exact pixel invariance for arbitrary consumer root overrides; preserve proportional behavior instead.

Procedure

  1. Inventory every Chota-owned rem value before editing and identify exceptions with rationale.
  2. Add fixture cases for consumer roots of 10px and 16px.
  3. Apply the mathematical conversion in source, regenerate dist, and compare fixtures at 16px against approved VRT references.
  4. Inspect common form, grid, nav, and utility cases at both roots.
  5. Update migration documentation with a compact reference table and explicit consumer impact.

Done checklist

  • Built CSS has no Chota html root-size override.
  • The rem conversion inventory is complete and reviewed.
  • Existing 16px-root fixtures have no unapproved visual diff.
  • A 10px-root fixture demonstrates proportional scaling rather than a second hidden baseline.
  • Source comment, migration table, docs, tests/fixtures, and dist agree.
  • Size-gate result is recorded.

Required handoff

Provide the rem inventory, exact conversion rationale, VRT comparison, 10px/16px fixture results, changed files, generated-dist diff, migration text, and size result.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions