46e6d82010
lab.html 5180L → 4324L (-856L). All CSS moved to frontend/css/lab.css (855L). Added <link> tag after ls.css for proper cascade. Visual rendering unchanged — pure file move. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
50 lines
2.4 KiB
Markdown
50 lines
2.4 KiB
Markdown
# Phase 1: Extract inline `<style>` → `frontend/css/lab.css`
|
||
|
||
**Status:** ✅ Done
|
||
**Parent plan:** [PLAN.md](./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 отображаются нормально
|
||
|
||
## Handoff to Next Phase
|
||
|
||
<!-- Implementer заполнит: какой именно баг был при extract (если был), какие inline-style overrides остались (Phase 3 будет с ними работать). -->
|