| 2026-09-05 |

Батч 1: единый механизм переходов + телепортация
...
- data/locations.ts: TransitionDef/TransitionTarget/AreaDef/AREAS/areaOf —
выходы между областями (step) и двери/колодцы (click) в одном механизме
- data/transitions.ts: чистый resolveTransition (триггер, условия
requiresFlag/requiresItem с lockedText, дисарм тайла входа) + 8 тестов
- LocationScene: checkExits -> checkTransitions, клик-переходы в
handleWorldClick (NPC -> переход -> остальное), returnTo для kind 'return',
тост «заперто» без спама, дисарм при входе через переход
- Сейвы v3: SaveData.area + returnTo, normalizeSave для v1/v2
- Новые тайлы FLOOR/WALL/WELL + арт (колодец — бронзовый обруч), WELL на
карте: парные колодцы Звенец (9,6) <-> луга (22,20), duration 0.2
- Валидатор: переходы вместо exits (существование области, entry проходим)
- tools/checks/transitions.mjs (step + клик туда/обратно + снапшот) в check
- docs: практики (мимо-картная запись в генераторе, async-шаг Checks),
дорожная карта, легенда колодцев в world.md
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
9 hours ago
|
локация Звенец: деревня-хаб вокруг башни с колоколом
...
- buildZvenetsMap (28x20): площадь, тропа с лугов, башня-талл 2.5 юнита,
три дома-талла 1.75 юнита; безопасный хаб без врагов
- спрайты tiles/tower.png и tiles/house.png в генераторе арта
- Ирвин и Мила переезжают в Звенец (диалоги без изменений)
- луга получают обратный переход в Звенец (26,14) с расчисткой
- амбиент-трек music/zvenets: низкий колокольный тон из рельсов
- смоук tools/smoke-zvenets.mjs, чеклист арт-библии и доки
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
11 hours ago
|
рендер: резкий UI при пиксельном мире + тайлы без обводки
...
- Renderer: бэкинг-стор канваса в пикселях устройства (scale × dpr) —
UI и текст рендерятся 1:1 с экраном, без «мыльного» апскейла на HiDPI;
CSS-размер канваса не изменился (виртуальное × целое)
- PixelText: setPixelTextResolution — глифы растеризуются с resolution
канваса (синхронизирует Renderer при смене масштаба)
- AssetLoader: текстуры мира (и кадры атласов) сэмплируются nearest —
пиксель-арт остаётся чётким квадратным
- тайлы без обводки граней (fillDiamond без light/dark линий):
смежные тайлы сливаются в поля, сетка больше не «шумит»
- доки: render.md (двухслойный пайплайн), ui-and-dialogue.md (resolution
текста), CLAUDE.md (правило №2)
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
Фиксы рендера, камера с границами, смоук-тест
...
- Renderer: ждём app.init() до обращения к renderer (баг чёрного экрана)
- AssetLoader: Assets.init() до первой загрузки (иначе load виснет навсегда)
- Camera: границы {x,y,width,height} — изометрический ромб уходит в минус по X
- арт: пепельные бугры темнее (не читались как пепел), favicon-заглушка
- tools/smoke.mjs: смоук-тест в реальном Chromium (puppeteer-core) —
headless --virtual-time-budget зависает на декодинге картинок
- CLAUDE.md: раздел «известные грабли»
Co-Authored-By: Claude Code <noreply@anthropic.com>
gbook
committed
15 hours ago
|
Мир, арт-библия и пиксель-арт
...
- docs/world.md: библия мира (Великий Пепелопад, звонари, лунные колокольчики,
регион Низина Звенца, персонажи, арка акта 1)
- docs/art-style.md: арт-библия — палитра 32 цвета, размеры, стиль, чеклист
- tools/pixelart: генератор PNG из кода (тайлы, дерево, герой 3 направления,
NPC) без внешних зависимостей
- игра: загрузка ассетов через AssetLoader в BootScene с прогресс-баром,
тайлсет в карте, анимированный герой, спрайты NPC, квестовый тайл
с колокольчиками
Co-Authored-By: Claude Code <noreply@anthropic.com>
gbook
committed
16 hours ago
|