Files
cyclone/docs/reviews/2026-06-23-css-reduction/candidates.md
T
cyclone 616d467c65 docs(reviews): capture 2026-06-23 docset review + CSS reduction experiment
Commit the day's review artifacts so they aren't lost in the working tree:

* 2026-06-23-cyclone-docset-review-A.md — full docset review (Reviewer A:
  requirements + architecture lens; flags the 8-state vs 7-state claim
  lifecycle divergence, FR-20 vs ARCHITECTURE §5.4 tail-endpoint conflict,
  api_routers/ package split status, etc.)
* 2026-06-23-cyclone-docset-review-B.md — code-first counterpart (Reviewer B)
* 2026-06-23-cyclone-groundtruth-audit.md — live-data readiness audit
* 2026-06-23-css-reduction/ — iterative CSS reduction experiment
  (baseline 60,695 B raw / 11,786 B gzip / 9,875 B brotli; 18 prioritized
  candidates; per-iter reports and progress log)

Binary artifacts (PNGs, dist build output) are intentionally not committed —
they're working files for the experiment, not review records.
2026-06-23 16:28:15 -06:00

4.5 KiB
Raw Blame History

CSS Reduction — Candidate Queue

Atomic removals to try, in priority order. Each is one revertable unit (edit one file, revert if pixel-identical or project checks regress).

Priority legend: H (high confidence, no visible effect expected), M (medium, may affect pixels in edge cases), L (low, will likely revert because it changes visible output).

# priority id what where expected notes
1 H var-surface-line-soft drop the --surface-line-soft declaration src/index.css line 77 ~30 B Only mentioned in a comment in BarChart.tsx; no var(--surface-line-soft) ref anywhere
2 H var-m-error-bg drop the --m-error-bg declaration src/index.css line 102 ~30 B No var(--m-error-bg) ref anywhere in src
3 H kf-fade-in-soft drop fade-in-soft keyframe + animate-fade-in-soft util tailwind.config.js ~150 B animate-fade-in-soft is not used in any source file
4 H kf-slide-in-right drop slide-in-right keyframe + animation tailwind.config.js ~180 B animate-slide-in-right not used
5 H kf-ticker-blink drop ticker-blink keyframe + animation tailwind.config.js ~200 B animate-ticker-blink not used
6 H kf-accordion-down drop accordion-down keyframe + animation tailwind.config.js ~150 B animate-accordion-down not used; no accordion in app
7 H kf-accordion-up drop accordion-up keyframe + animation tailwind.config.js ~150 B same as above
8 H media-print drop the entire @media print { ... } block src/index.css lines 402446 ~1 KB Print not in test matrix; the display: none rules apply to aside/header — they don't appear in screenshots anyway. Risk: a printed detail drawer would no longer be styled for paper, but no print preview is captured.
9 M body-before drop the body::before radial gradients (the upper-right accent + top-center softbox) src/index.css lines 147156 ~400 B Subtle background. Likely visible on all screenshots. Will likely revert.
10 M body-after drop the body::after hairline grid src/index.css lines 163176 ~450 B Subtle background grid. Likely visible. Will likely revert.
11 M scrollbar drop ::-webkit-scrollbar* rules src/index.css lines 179195 ~330 B Scrollbars only visible when content overflows. Most screenshots are above-the-fold; may not trigger.
12 M nav-active-before drop the ::before accent strip on .nav-active src/index.css lines 290300 ~180 B Visible on the active sidebar item.
13 M surface-2 drop the .surface-2 class entirely src/index.css lines 266277 ~250 B Used in some components — likely a revert.
14 M focus-visible drop the global :focus-visible ring src/index.css lines 200204 ~90 B All focusable elements would lose the global ring (but Tailwind focus-visible: utilities still apply). May or may not change pixels.
15 L body-bg-image drop the body background-image gradients src/index.css lines 136139 ~250 B Will revert — visible.
16 L skip-link drop the .skip-link class src/index.css lines 303338 ~700 B Component exists (ui/skip-link.tsx). Removing the class breaks it visually. Will revert.
17 L drillable drop .drillable and its hover src/index.css lines 449461 ~220 B Used in DrillableCell.tsx. Will revert.
18 L row-hover drop the .row-hover hover state src/index.css lines 379384 ~100 B Used in tables. Hover state not captured (no mouse). Could be safe.

Out of scope (intentionally not tried)

  • Tailwind preflight (*, ::before, ::after, ::backdrop with --tw-* vars). These power the utility system; removing would break all utilities.
  • @media (prefers-reduced-motion). Safety block, removing would change behavior in non-default OS settings.
  • Specific custom class definitions that are heavily used (.num, .display, .mono, .surface, .eyebrow, .editorial).
  • Any Tailwind utility removal in component className props (small wins, lots of churn — would be done in a follow-up pass).
  • The index.html Google Fonts <link> (it's HTML, not CSS, and removing it would change the rendered output).

Stopping conditions

  • Queue exhausted.
  • 5 consecutive candidates fail the size check (CSS not smaller after the change).
  • 2 hours elapsed in Phase 3.
  • User requests a stop.