design.vecreal.com / workshop / V overshoot revisit · round 12

Brand reference · workshop · round 12 · 2026-05-12

V overshoot revisit at locked R4-Bw — coupled V+dot across all display sizes

R4-Bw locked + dot margin-left calc(0.02em + 2px) locked. The rev-8 0.025em translateY was calibrated for R4-A geometry — with R4-Bw's different viewBox (46×39.27 vs 44×38), same translateY produces a different V apex position. Plus the em-based shift scales linearly with font size: 0.025em is 0.8px at 32px display, 5px at 200px hero. Drilling overshoot at five display sizes with coupled V+dot translateY values.

Overshoot math — V apex and dot bottom positions

R4-Bw geometry: empty viewBox space below curve apex = 1.5u × (0.66em/39.27) = 0.0252em. V apex position above baseline = 0.0252em − translateY.
Dot: bottom position below baseline = translateY − margin-bottom (0.005em).

translateY V apex (em) V apex at 32px at 80px at 140px at 200px Dot bottom (em) Dot at 200px
0.015em +0.0102 above +0.33 px above +0.82 +1.43 +2.04 px above -0.010 below -2.00 px below
0.020em +0.0052 above +0.17 +0.42 +0.73 +1.04 px above -0.015 below -3.00 px below
0.030em -0.0048 below -0.15 -0.38 -0.67 -0.96 px below -0.025 below -5.00 px below
0.035em -0.0098 below -0.31 -0.78 -1.37 -1.96 px below -0.030 below -6.00 px below

What stands out:

- At 0.025em coupled (current), V apex sits essentially AT baseline at all sizes (sub-pixel above). Dot bottom descends 0.64 px at 32 px → 4.00 px at 200 px.

- The V+dot DESCENT is asymmetric by design — V at baseline, dot 0.02em below. This is intrinsic to shape (pointed V tip vs round dot bottom optical illusion). Coupling translateY keeps the asymmetry constant.

- For "V apex slightly above baseline" (matching R4-A's rev-8 perception), reduce to 0.015em. V apex sits +1.4 px above at 140 px, +2 px at 200 px. Dot descends -1.4 px at 140 px, -2 px at 200 px.

- For "V apex actually descends below baseline" (true optical overshoot for the pointed shape), increase to 0.030-0.035em. V descent -0.7 to -1.4 px at 140 px, -1 to -2 px at 200 px.

Section A · Matrix view — 5 translateY values × 5 display sizes

All combinations of coupled V+dot translateY (0.015 to 0.035em) at each major display size (32 / 48 / 80 / 140 / 200 px). Current locked 0.025em row highlighted. Read across each row to see how the V apex / dot bottom position changes with size at fixed translateY; read down each column to see how translateY changes affect the wordmark at a single size.

  32 px nav 48 px breadcrumb 80 px marketing 140 px display 200 px hero
translateY 0.015em ecreal. ecreal. ecreal. ecreal. ecreal.
translateY 0.020em ecreal. ecreal. ecreal. ecreal. ecreal.
translateY 0.030em ecreal. ecreal. ecreal. ecreal. ecreal.
translateY 0.035em ecreal. ecreal. ecreal. ecreal. ecreal.

Section B · Hero size close inspection — 200 px with baseline indicator

Same 5 translateY values rendered at 200 px (hero / display) with red baseline indicator below each. This is the size where the rev-5 → rev-8 size-dependent perception shift came from (operator said "feels too low at 72-96 px" at rev-5 0.0325em). Read where V apex sits relative to the red line in each row.

translateY 0.015em V apex 2.0 px above · dot 2.0 px below
ecreal.
translateY 0.020em V apex 1.0 px above · dot 3.0 px below
ecreal.
ecreal.
translateY 0.030em V apex 1.0 px below · dot 5.0 px below
ecreal.
translateY 0.035em V apex 2.0 px below · dot 6.0 px below
ecreal.

Section C · Display size close inspection — 140 px with baseline indicator

Same 5 translateY values at 140 px. The size where the rev-8 calibration was originally tuned. Should still feel right here.

translateY 0.015em V apex 1.4 px above · dot 1.4 px below
ecreal.
translateY 0.035em V apex 1.4 px below · dot 4.2 px below
ecreal.

Section D · Small size close inspection — 32 px (favicon / sidebar scale)

At 32 px the translateY differences are sub-pixel (0.015em = 0.48 px, 0.035em = 1.12 px). Verify all three values render correctly at small scale.

translateY 0.015em V apex 0.33 px above · dot 0.32 px below
ecreal.
ecreal.
translateY 0.035em V apex 0.31 px below · dot 0.96 px below
ecreal.

Spec summary + verdict

The three perceptual reads available

translateY 0.015em — "V lifted above baseline": V apex sits 1-2 px above baseline at large sizes. Dot bottom descends 1-2 px below. Reads as: V floating slightly, dot anchoring. Maximum optical lift. Closest to rev-5 V-0.0325em perception (which operator rejected as "too low").

translateY 0.025em — "V at baseline, dot below" ★ CURRENT: V apex sits essentially at baseline at all sizes (sub-pixel above, never below). Dot descends 2-4 px below at display+ sizes. Reads as: V grounded, dot overshoots. This is the rev-8 lock-in applied to R4-Bw's new viewBox geometry — V naturally lands at-baseline because R4-Bw has less empty viewBox space below curve than R4-A did.

translateY 0.035em — "V descends below baseline" (true optical overshoot): V apex sits 1-2 px below baseline at display sizes. Dot 4-6 px below. Reads as: V tip pokes through baseline, dot anchors deeper. The rev-5 V-0.0325em was approximately this read for R4-A (operator rejected).

What I see across the matrix

0.025em (current) holds up well at all sizes. V apex consistently at baseline; dot descent scales naturally. The asymmetry between V and dot is intentional (V grounds, dot descends) and reads coherently across 32-200 px.

0.015em creates ambiguous V position at large sizes: V sits ~2 px above baseline at 200 px hero, which can read as "V floating away from text." At small sizes (32-48 px) the difference is invisible.

0.035em pushes V below baseline at display sizes: V apex 2 px below baseline at 200 px hero. Visually the V tip drops below the text baseline — looks like a descender (j, p, g letters). Wrong read for a designed brand mark.

Verdict: keep translateY(0.025em) coupled. The math changed (new viewBox shifts V apex 0.01em closer to baseline than R4-A had) but the PERCEPTION outcome lands where rev-8 was reaching for — V apex grounded, dot descent. Different mechanics produced the same destination. No size-specific adjustment needed.

Final lock decision:

R4-Bw @ y=33 + dot ml calc(0.02em+2px) + V/dot translateY 0.025em coupled

Plus all earlier locks: Bold 700 + tracking -0.04em + V-to-e -0.12em + V height 0.66em + dot 0.23em + V apex overshoot 0.025em + dot overshoot 0.025em.

Confirm and the rev-11 SVG regen runs (Inter Bold text-as-paths + new V geometry + proportional dot positioning + all 5 vertices rounded).

Vecreal · brand workshop · 2026-05-12 · v-overshoot revisit (round 12)