|
Батч 7: декор-слой (микро-кусты, камни, проплешины)
- engine: DecorData + TileMapData.decor; decorLayer между землёй и объектами; addDecor (возвращает спрайт, один на тайл, повторный заменяет) / clearDecor; setTile декор не трогает - engine: MapFileV1.decor + validateDecor (границы, целые, dx/dy — числа) - game: DECOR-реестр (tuft/stone/bald, id 15-17), buildDecor на createRng(seed+7919) (~10% наземных тайлов, только GRASS/ASH, смещение не по сетке); mulberry32 заменён на движковый createRng - art: decor_tuft/stone/bald 16×16 (рисунок в ромб 16×8, палитра G/P) - фикс fresh-теста: Math.round -> -0 теряется в JSON, нормализация +0 - тесты: порядок слоёв, addDecor/clearDecor, границы, round-trip + валидация decor - доки: maps.md (раздел «Декор»), art-style.md, practices.md (ситуация «меняю генераторы арта или карт», грабля -0) Co-Authored-By: Claude Code <noreply@anthropic.com> |
|---|
|
|
| apps/game/assets/maps/meadows.map |
|---|
| apps/game/assets/maps/ponds.map |
|---|
| apps/game/assets/maps/zvenets.map |
|---|
| apps/game/assets/tiles/decor_bald.png 0 → 100644 |
|---|
|
|
| apps/game/assets/tiles/decor_stone.png 0 → 100644 |
|---|
|
|
| apps/game/assets/tiles/decor_tuft.png 0 → 100644 |
|---|
|
|
| apps/game/src/Game.ts |
|---|
| apps/game/src/data/map.ts |
|---|
| apps/game/src/scenes/LocationScene.ts |
|---|
| apps/game/tools/pixelart/gen.mjs |
|---|
| docs/art-style.md |
|---|
| docs/engine/maps.md |
|---|
| docs/engine/practices.md |
|---|
| packages/engine/src/index.ts |
|---|
| packages/engine/src/map/IsometricTileMap.ts |
|---|
| packages/engine/src/map/__tests__/isometricMap.test.ts |
|---|
| packages/engine/src/map/__tests__/mapFormat.test.ts |
|---|
| packages/engine/src/map/mapFormat.ts |
|---|