| 2026-09-05 |
камера: dead zone (окно следования) + дебаг-просмотр спрайта
...
- Camera.deadZone: цель двигает камеру только у границ окна,
внутри окна камера неподвижна; Camera.snap — мгновенная постановка
минуя окно (спавн/респаун)
- SpriteDebugView: текущий кадр героя с целым zoom (nearest) и сеткой
по границам пикселей (KeyP в локации)
- PlayerController: followPath для готовых путей, currentTexture
- фикс сборки hero_sheet: Buffer.set принимает offset в байтах —
кадры затирали друг друга, атлас был перемешанным мусором
(отсюда «сжатый» герой)
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
движок: дистанция взаимодействия + findPathToNeighbor
...
- pathfinding.findPathToNeighbor(grid, start, goal): путь к ближайшей
проходимой клетке рядом с goal (8-соседство) — цель может быть занята
NPC/объектом или непроходима; тесты (3 новых)
- PlayerController.followPath: пойти по готовому пути тайлов
- LocationScene: клик по NPC/цветку срабатывает только в радиусе 44px;
издалека герой подходит к краю тайла и взаимодействие срабатывает
на месте; исключение — force у requestTalk (сюжетные триггеры)
- доки: maps.md (findPathToNeighbor), demo.md (новое в движке)
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 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
14 hours ago
|
engine: примитивы боя — Shake+Camera, shapes, Cooldown, TintFlash, particleSim, burst/oneShot, justReleased, transitionAny
...
- render/shake.ts + Camera.addShake/clearShake/update (Engine.tick тикает камеру)
- math/shapes.ts: inCircle, inCone, angleBetween, nearest
- core/Cooldown.ts: кулдаун на фиксированном шаге
- anim/flash.ts (TintFlash, lerpColor) + render/spriteFx.ts (SpriteFlash)
- render/particleSim.ts: чистая интеграция частиц; Particles.burst/oneShot + radialSpeed
- InputManager: isActionJustReleased, wasKeyReleased, pointer.downTicks
- StateMachine.transitionAny — переход из любого состояния
- Тесты: shapes, Cooldown, shake, flash, particleSim, InputManager (фейковый canvas), transitionAny (130 всего)
- docs/engine: core.md, render.md, input.md обновлены
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
16 hours ago
|
engine: Tween+easing, fade-переходы, ресайз, IsoDepthLayer, GameState, RNG, StateMachine, DialogueRunner, Settings, атласы, PixelText+VT323, UI-кит, частицы, геймпад, тач-джойстик, аудио-шины, формат карт+Tiled
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
17 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
17 hours ago
|
Скелет проекта: свой движок + изометрическая RPG
...
- packages/engine: жанронезависимый движок (цикл, сцены, ECS, ввод, камера,
изометрия 2:1, A*, сейвы, диалоги, анимация) на PixiJS-бэкенде
- apps/game: первый вертикальный срез — меню, локация «Выжженные луга»,
герой с click-to-move, 2 NPC с диалогами, автосейв по Esc
- CLAUDE.md, README.md, workspaces + Vite + Vitest
Co-Authored-By: Claude Code <noreply@anthropic.com>
gbook
committed
18 hours ago
|