Files
Learn_System/plans/lab-split/phase-1-extract-style.md
T
Maxim Dolgolyov 77ebe9e3e4 chore(plan): lab-split 5-phase plan
PLAN.md + 5 subplans + CONTEXT.md

Strategy: Incremental | Mode: Automated | Execution: Direct

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 22:33:41 +03:00

2.4 KiB
Raw Blame History

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 отображаются нормально

Handoff to Next Phase