Umbrella issue for Phase 0 of the v2 UI overhaul: small, real wins that establish foundations the later mobile-first slices will lean on. No architectural change here — these are the cheap, high-value fixes.
Slices
0.1 — Roomier text editor + variable hint
- Bump
TextWidgetEditor textarea to rows={3} minimum with field-sizing: content (auto-grow).
- Add a subtle helper line listing detected variables for that widget (seeds variable awareness ahead of templates in Phase 2).
- Widen the scale input.
- Done when: a 3-line label typed in a phone-width window shows all 3 lines without internal scroll.
0.2 — Tailwind breakpoint baseline
- Introduce
sm: and md: usage in App.tsx and a short comment in index.css documenting intent.
- No visual change yet — establishes the grid every later mobile slice will reach for.
- Done when: at least two of
sm: / md: / lg: are referenced; visual regression set unchanged.
0.3 — Touch-target audit
- Raise
.btn and .input minimum hit area to 44 px effective height on touch.
- Apply to the small ✕ delete, drag handle ⠿, EyeIcon (14×14) in BatchPanel, refresh ↻.
- Keep desktop density via responsive padding.
- Done when: Lighthouse mobile + manual check shows nothing below 44×44 CSS px.
Phase exit criteria
All three slices merged, npm test green, mobile smoke at 390×844 looks usably tappable.
Umbrella issue for Phase 0 of the v2 UI overhaul: small, real wins that establish foundations the later mobile-first slices will lean on. No architectural change here — these are the cheap, high-value fixes.
Slices
0.1 — Roomier text editor + variable hint
TextWidgetEditortextarea torows={3}minimum withfield-sizing: content(auto-grow).0.2 — Tailwind breakpoint baseline
sm:andmd:usage inApp.tsxand a short comment inindex.cssdocumenting intent.sm:/md:/lg:are referenced; visual regression set unchanged.0.3 — Touch-target audit
.btnand.inputminimum hit area to 44 px effective height on touch.Phase exit criteria
All three slices merged,
npm testgreen, mobile smoke at 390×844 looks usably tappable.