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.4 KiB
2.4 KiB
Phase 1: Extract inline <style> → frontend/css/lab.css
Status: ⬜ Not Started Parent plan: PLAN.md Domain: frontend
Objective
Вынести 856L inline <style> блока из lab.html в отдельный frontend/css/lab.css. После — lab.html становится короче на ~856L, CSS можно править/рефакторить независимо.
Tasks
- Создать
frontend/css/lab.css - Скопировать содержимое
<style>...</style>из lab.html (lines 10-866) в lab.css - Удалить inline
<style>блок из lab.html - Добавить
<link rel="stylesheet" href="/css/lab.css">в<head>(после/css/ls.css) - Verify:
curl -sI http://localhost:3000/lab→ 200 - Spot-check: открыть в браузере, sim-toolbar/panels выглядят как раньше
- Pre-commit hook passes
Files to Modify/Create
frontend/css/lab.css— NEW (~856L)frontend/lab.html— удалить<style>блок, добавить<link>(net −855L)
Acceptance Criteria
- lab.html без
<style>блока (только<link>к /css/lab.css) /labотвечает 200- Визуально lab выглядит идентично pre-Phase-1
- Pre-commit hook чистый
Notes
- Если в CSS есть
@import/url(...)paths — проверить что они всё ещё валидны от нового origin (/css/lab.css base) - CSP в server.js: разрешает
'self'для styles, нет проблем - Watch for: CSS-variables defined inline могут оказаться нужны другим inline blocks → проверить нет ли таких dependencies
Review Checklist
- lab.css не пустой и содержит весь CSS из inline блока
- lab.html не содержит
<style>блок (только<link>) - No emoji в коде (pre-commit проверит)
- Server возвращает 200
- Spot-check: открыть /lab, sim-grid и sim-toolbar отображаются нормально