go-learn/docs/plans/plan-phase-10.md
sab.code.lab 1c85091186 chore: восстановление репозитория из снапшота v0.3.1
Прежняя git-история утрачена при переносе проекта на машину владельца
(снапшот без .git). Хэши коммитов в docs/reports/* относятся к утраченной
истории.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 09:34:02 +02:00

59 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# План этапа 10 — дизайн-перенос (Kimi WebSites → каркас Astro)
Дата: 2026-08-06. Ветка интеграции: main.
## Контекст
Пользователь получил от Kimi WebSites переносной пакет дизайна
(«васи + гобан», светлая тема, индиго + терракота). Эталон распакован и
сохранён в `docs/design/kimi-export/`. Задача — натянуть дизайн на
существующий каркас, не трогая логику, контент, API и тесты.
Контракт: `docs/INTERFACES.md`, раздел «Дизайн-перенос (этап 10)» —
токены (с 3 правками контраста), каркас Layout, тема доски, изображения,
паттерны страниц, критерии приёмки.
## Стадии
### Стадия 0 (оркестратор, сделано)
- Распаковка пакета, сжатие изображений в `apps/web/public/assets/`
(hero 53КБ / ink 118КБ / stones 24КБ).
- Эталон в `docs/design/kimi-export/`, контракт в INTERFACES.md.
### Стадия 1 — параллельные кодеры (3 ветки)
- **design-a (фундамент)**: Layout.astro (глобальные стили = адаптация
kimi-export/style.css + правила [hidden]/go-task, шапка/подвал/проп
section/мобильное меню/шрифты), packages/board render.ts DEFAULT_THEME →
светлая, index.astro (hero+features+ink-band+home-strip). Файлы:
`apps/web/src/layouts/Layout.astro`, `packages/board/src/render.ts`,
`apps/web/src/pages/index.astro`, при необходимости
`apps/web/src/ui/strings.ts` (только новые строки главной).
- **design-b (контентные страницы)**: learn.astro, learn/[id].astro,
tsumego.astro, progress.astro — разметка по паттернам контракта,
логика/id/data-атрибуты не меняются.
- **design-c (страницы приложения)**: play.astro, account.astro,
register.astro, password-reset.astro — то же правило.
Пересечений по файлам нет (Layout только у A). Общий API — проп
`section` Layout, описан в контракте.
### Стадия 2 — интеграция (оркестратор)
- Слияние веток в main, разрешение конфликтов.
- Гейты, точечные правки (wiring/тема-тесты).
- Проверка веса страниц dist и контраста.
- Сборка dist → `/mnt/agents/output/app`, НОВАЯ версия превью
(website_version_manager) — старая рабочая версия остаётся для сравнения.
### Стадия 3 — ритуал закрытия
- PROJECT_STATE.md (0.3.0), отчёт session-10, docs(sync) коммит, zip.
## Риски
- Слияние: Layout меняет только A — конфликтов не ожидается; strings.ts
могут трогать A и B — B не трогает strings (правило в брифе).
- Контраст исправлен на уровне токенов — регрессий быть не должно.
- Вес главной: hero 53КБ + CSS/JS — в бюджете.