77ebe9e3e4
PLAN.md + 5 subplans + CONTEXT.md Strategy: Incremental | Mode: Automated | Execution: Direct Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.9 KiB
2.9 KiB
Phase 3: Token purification — 265 hardcoded colors → vars
Status: ⬜ Not Started Parent plan: PLAN.md Domain: frontend
Objective
Заменить 265 хардкодных brand-цветов в lab-related files на var(--token) где это семантически корректно. Сохранить curated palettes (subject-specific colors) и canvas-fillStyle (CSS vars не resolve'ятся в canvas context).
Tasks
- Идентифицировать все хардкоды в:
frontend/lab.html(HTML body + remaining inline styles)frontend/css/lab.css(после Phase 1)frontend/js/labs/lab-glue.js(после Phase 2)
- Заменить direct token matches:
#9B5DE5→var(--violet)#06D6E0→var(--cyan)#06D664→var(--green)(also#06D6A0если есть)#F15BB5→var(--pink)#FFB347→var(--amber)#0F172A→var(--text)#3D4F6B→var(--text-2)#56687A→var(--text-3)#EEF2FF→var(--bg)
- KEEP (НЕ менять):
- Tinted/alpha (
rgba(155,93,229,0.12)etc.) — CSS не имеет color-mix() без deps - Canvas
ctx.fillStyle = "#..."— CSS vars не работают в canvas - Curated subject palettes (bio violet / chem green / math cyan / phys amber) если они вложены массивом
- Slightly-different shades (
#9B5DE6≠#9B5DE5) — это намеренно другой цвет
- Tinted/alpha (
- Semantic aliases: использовать
var(--danger)/var(--success)/var(--warning)/var(--info)в semantic context
Files to Modify
frontend/lab.html— заменить hardcodesfrontend/css/lab.css(после Phase 1) — заменить hardcodesfrontend/js/labs/lab-glue.js(после Phase 2) — заменить hardcodes если есть
Acceptance Criteria
- Хардкодов brand-colors ≤ 30 (от 265, target 90%+ replacement)
- Визуально lab выглядит идентично
- Pre-commit hook passes
- No regression в любой sim
Notes
- Lab.html сейчас содержит много inline
style="color: #XXX"— multi-line replacement через ast-index search + manual replacement - Don't over-aggressive — если color используется один раз в curated palette decoration, лучше keep
- Document log: "Заменено: N, оставлено: M (reasons listed)"
Review Checklist
- Counts reported: before / after
- Spot-check 3 sims визуально (canvas рендеринг не поменялся)
- No emoji в коде
- Pre-commit hook passes