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
75
docs/reports/session-10.md
Normal file
75
docs/reports/session-10.md
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Отчёт сессии 10 — этап 10: дизайн-перенос «васи»
|
||||
|
||||
Дата: 2026-08-06. Ветка main: 0a5e2bd → 3f8fc5b (+docs(sync)). Версия 0.3.0.
|
||||
|
||||
## Вводные
|
||||
|
||||
Пользователь получил от Kimi WebSites переносной пакет дизайна
|
||||
(`/mnt/agents/upload/Иго-сайт-перенос.md`: 8 HTML-страниц, style.css ~23 КБ,
|
||||
2 JS, 3 JPG в base64) и попросил натянуть его на наш каркас. Эталон
|
||||
распакован и сохранён в `docs/design/kimi-export/` (только как референс, в
|
||||
сборку не входит).
|
||||
|
||||
## Что сделано
|
||||
|
||||
1. **Контракт** (INTERFACES.md, «Дизайн-перенос (этап 10)»): токены,
|
||||
каркас Layout, тема доски, паттерны страниц, приёмка. Три сознательных
|
||||
отклонения от палитры эталона ради WCAG AA ≥ 4.5:1 (замерено расчётом):
|
||||
`--ink-faint` #a29885→#6e675c, `--terra` #c25a33→#a84e2c,
|
||||
`--ok` #4a7a4e→#46734a.
|
||||
2. **Изображения**: hero/ink/stones сжаты (276→53 КБ, 215→118 КБ,
|
||||
96→24 КБ) в `apps/web/public/assets/`.
|
||||
3. **Три параллельных кодера** (ветки design/a,b,c, слиты --no-ff):
|
||||
- A: Layout.astro — глобальные стили = адаптация style.css целиком +
|
||||
`[hidden]` + go-task на светлых токенах; шапка-стекло с канji 碁,
|
||||
проп `section` → aria-current, мобильное меню, подвал, Google Fonts
|
||||
(PT Sans/Serif/Mono); DEFAULT_THEME доски → светлая; главная по
|
||||
эталону (hero-meta с честными числами: 10/33/6).
|
||||
- B: learn, урок, tsumego, progress — разметка по паттернам.
|
||||
- C: play, account, register, password-reset — разметка по паттернам.
|
||||
4. **Интеграционные правки оркестратора** (найдены скриншот-проверкой):
|
||||
- страницы потока B без `.container` — контент уезжал в полную ширину;
|
||||
- сортировка уроков по `data.order` не работала (во frontmatter у всех
|
||||
уроков `order: 1` — исторически) → сортировка по id файла;
|
||||
- shiki рендерил ASCII-диаграммы тёмной темой поверх светлого pre →
|
||||
`markdown.shikiConfig.theme: 'github-light'` в astro.config;
|
||||
- дублирующий H1 из тела markdown → скрыт через
|
||||
`.lesson-body > :global(h1:first-child)` (scoped-стили Astro не
|
||||
достают до разметки `<Content/>` — важный нюанс, записать в опыт).
|
||||
|
||||
## Проверки
|
||||
|
||||
- gates: 467/467 (28 файлов), format+lint+typecheck зелёные — после
|
||||
каждого слияния и финально.
|
||||
- Вес страниц (HTML+CSS+JS+img eager): максимум ~157 КБ (index с hero);
|
||||
ink/stones — loading="lazy". Бюджет ≤300 КБ выполнен.
|
||||
- Контраст ключевых пар ≥ 4.5:1 (расчёт по токенам + отчёт кодера A).
|
||||
- Скриншот-проверка в браузере: index, learn, урок, tsumego, play,
|
||||
account, register — соответствуют эталону; логика (id, data-атрибуты,
|
||||
островки) на месте.
|
||||
|
||||
## Доставка
|
||||
|
||||
- dist → /mnt/agents/output/app, сохранена **новая версия превью**
|
||||
(website_version_manager, id b0b2da7). Прежняя рабочая версия не
|
||||
тронута — можно сравнить.
|
||||
|
||||
## Опыт сессии
|
||||
|
||||
- Scoped-стили .astro не действуют на разметку из `<Content/>` и
|
||||
`set:html` — использовать `:global(...)` с узким селектором.
|
||||
- Shiki в Astro по умолчанию тёмный: при смене темы сайта не забыть
|
||||
`shikiConfig.theme`.
|
||||
- /mnt FS: повторяющиеся сбои `index.lock`/`HEAD.lock` при git-операциях —
|
||||
лечатся повтором; stale HEAD.lock удалять вручную после проверки, что
|
||||
git-процессов нет. merge лучше делать маленькими порциями.
|
||||
|
||||
## Открыто
|
||||
|
||||
- Тексты кикеров/абзацев этапа 10 живут прямо в разметке страниц
|
||||
(помечены комментариями «до переноса в strings.ts») — кандидат на
|
||||
чистку при следующем касании.
|
||||
- Поле `order` во frontmatter уроков у всех = 1 (не используется;
|
||||
порядок — по id). Либо проставить 1..10, либо убрать из схемы.
|
||||
- Восстановление пароля/капча в статическом превью не работают (API на
|
||||
хостинге) — by design, картинка капчи в превью битая.
|
||||
Loading…
Add table
Add a link
Reference in a new issue