chore: восстановление репозитория из снапшота v0.3.1
Прежняя git-история утрачена при переносе проекта на машину владельца (снапшот без .git). Хэши коммитов в docs/reports/* относятся к утраченной истории. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
commit
1c85091186
184 changed files with 33303 additions and 0 deletions
68
docs/reports/session-5.md
Normal file
68
docs/reports/session-5.md
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# Отчёт сессии 5 (для следующей сессии)
|
||||
|
||||
Дата: 2026-08-05 | Ветка: main | Этап 5 (игровой интерфейс) — завершён
|
||||
|
||||
## Что сделано
|
||||
|
||||
1. **Контракты этапа 5** в docs/INTERFACES.md до кода: схема localStorage
|
||||
(конверт version+checksum FNV-1a, SettingsV1, recovered при битом состоянии)
|
||||
и AiClient (ур. 1–3 синхронно, ур. 4–6 воркер, cancel=terminate+recreate,
|
||||
fail-safe синхронный фолбэк с пометкой).
|
||||
2. **apps/web (Astro 5.18.2, static, vanilla TS + DOM):**
|
||||
- lib: storage.ts, ai-client.ts, game-store.ts (чистый: фазы
|
||||
playing/scoring/viewer, гонка requestId, undo пары ходов, подсчёт с
|
||||
toggle мёртвых, SGF-просмотр), territory.ts (карта территории для заливки);
|
||||
- страницы: / (визитка) и /play (канва + полная панель: размер/уровень/
|
||||
цвет/коми, чекбоксы, Пас/Сдаться/Отменить/Новая, счётчики пленников,
|
||||
статус-строка с причинами MoveError, предупреждение 19×19 при ур. 4–6,
|
||||
подсказки топ-3 с winRate и дельтой, скачивание/загрузка SGF);
|
||||
- ui/strings.ts — все строки UI одним файлом; тёмная тёплая тема,
|
||||
адаптивность.
|
||||
3. **Тесты: 147/147** (+29: storage 7, ai-client 5, game-store 12, territory 3,
|
||||
wiring 2), lint 0 warnings. **astro build PASS, dist 80K**, worker-chunk
|
||||
9.75 kB. Браузерный смоук исполнителем: рендер доски, пас + ответ бота,
|
||||
hidden-состояния.
|
||||
4. Интеграционная правка main loop: astro 5.18.2 (MIT) добавлен в
|
||||
THIRD_PARTY_LICENSES.md — лицензионный гейт.
|
||||
|
||||
## Принятые отклонения (задокументированы исполнителем)
|
||||
|
||||
- Astro 5.18.2 вместо 7.1.6: astro 6/7 требуют Node ≥22.12 (hardcoded в bin),
|
||||
окружение Node 20.20.2. Записано в PROJECT_STATE.
|
||||
- AiClient.fallback: boolean и StorageLike-инжекция в storage — дополнения
|
||||
контрактов, поведение не меняют.
|
||||
- eslint.config.js/.prettierignore/.gitignore += `**/.astro/`.
|
||||
|
||||
## Что НЕ сделано
|
||||
|
||||
- Этапы 6–9 не начаты.
|
||||
- Ручная приёмка: критерии v1 №2 (партия vs ур.5 до подсчёта) и №5 (мобильный
|
||||
Safari) — владельцем; визуальный смоук кадра — по матрице plan-phase-2.
|
||||
|
||||
## Подводные камни для следующей сессии (этап 6)
|
||||
|
||||
- Среда: worktree в $HOME, пересоздание, коммитить всё; контракты дублировать
|
||||
в задании; docs через prettier; project references не добавлять; `.astro/`
|
||||
в игноре — не пугаться генерируемого каталога.
|
||||
- suggestDeadGroups грубовата (предлагает живые группы на разрежённых
|
||||
позициях) — при работе с уроками «жизнь и смерть» это станет заметно;
|
||||
кандидат на уточнение (через ADR, зона core).
|
||||
- Строки UI — только через ui/strings.ts, новые строки туда же.
|
||||
- Worker-chunk собирается Vite; при изменении packages/ai/src/worker.ts
|
||||
пересобирать apps/web.
|
||||
|
||||
## С чего начать продолжение
|
||||
|
||||
Этап 6 (курс + цумэ-го):
|
||||
|
||||
1. Контракт форматов в docs/INTERFACES.md ДО кода: схема Markdown-урока
|
||||
(разделы → уроки → шаги), формат интерактивной задачи (SGF-позиция +
|
||||
условие успеха, проверяемое движком — не хардкод координат), схема
|
||||
localStorage прогресса курса (version + checksum, ключ go-learn:progress).
|
||||
2. Программа по спеке: дамэ/захват → атари/лестница/сеть → самоубийство и ко →
|
||||
глаза, жизнь и смерть, ложный глаз → подсчёт/пас/конец → связь/разрезание →
|
||||
углы-стороны-центр → 3–4 базовых дзёсэки → форма → простое ёсэ.
|
||||
3. Цумэ-го ≥30 задач, фильтры, свободная лицензия с атрибуцией (CREDITS.md)
|
||||
либо формат импорта.
|
||||
4. «Мой прогресс»: уроки, задачи, серия дней.
|
||||
5. Создать docs/plans/plan-phase-6.md.
|
||||
Loading…
Add table
Add a link
Reference in a new issue