M4: художественный конвейер

- scripts/build-art.mjs: все спрайты игры собираются из исходников,
  а не кладутся руками. Лица карт растеризуются из векторов,
  рубашка/стол/панели/кнопки нарисованы SVG-ом прямо в скрипте
- 36 лиц 220x320 + рубашка, автоатлас 2048x2048, обрезка выключена
  (раскладка рассчитывает на точный размер карты)
- девятипатчевые плитки 120x120 с рамкой 40
- фон стола 540x960, рисуется в 2x — градиенту детализация не нужна,
  а памяти под текстуру уходит вчетверо меньше
- исходные векторы перенесены из local/ в art-src/cards
- ATTRIBUTION.md: LGPL-3.0, атрибуция обязательна; там же написано,
  что менять, если такая лицензия не подходит для релиза

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
ftc
2026-09-13 10:52:37 +03:00
co-authored by Claude Opus 5
parent 51117a698c
commit 2056673946
134 changed files with 17075 additions and 8 deletions
+5 -5
View File
@@ -57,11 +57,11 @@ progress. The Cocos layer only renders state and turns taps into actions.
- [x] Versioning + tolerant load (unknown or missing sections do not break a load)
- [x] Tests for save/load round-trip and corrupted-payload recovery
### M4 — Art pipeline `[ ]`
- [ ] Pick the 36 needed faces from `local/`, downscale to the 1080-wide budget
- [ ] Author the missing pieces: card back, table background, UI panels/buttons
- [ ] Import into `assets/art/`, configure sprite frames and atlasing
- [ ] Remove consumed source art from `local/`, record attribution/licence
### M4 — Art pipeline `[x]`
- [x] Pick the 36 needed faces from `local/`, downscale to the 1080-wide budget
- [x] Author the missing pieces: card back, table background, UI panels/buttons
- [x] Import into `assets/art/`, configure sprite frames and atlasing
- [x] Remove consumed source art from `local/`, record attribution/licence
### M5 — Scenes and bootstrap `[ ]`
- [ ] `loader` scene: module initialisation, then transition to `lobby`