M5-M7: сцены, лобби, экран игры и цикл матча
Обе сцены собраны через Code Mode, не руками. - loader: поднимает модули, прогревает арт карт, уходит в lobby - lobby: обе UI-ветки в одной сцене (по ARCHITECTURE.md), матч — это смена видимого корня, а не загрузка сцены - GameScreen рисует текущее состояние и доводит узлы твинами, а не проигрывает поток событий: узел карты живёт вместе со своей картой, поэтому "шестёрка ушла из руки на стол" не требует отдельного случая - один тап = ход целиком; логика вынесена в core/rules/intent.ts и покрыта тестами, в том числе проверкой, что она никогда не предложит ход, который правила отвергнут - арт карт переехал в assets/resources: .pac — это инструкция упаковки на сборке, а не рантайм-ассет, и без ссылок на кадры в сборку не попадало ничего. Теперь все 37 спрайтов в одной текстуре 2048x2048 - клики кнопок подписываются в коде, а не через clickEvents сцены - строки интерфейса собраны в одном файле Сборка web-mobile проходит чисто, все ссылки в сцене проверены. Вживую не запускалось: браузер в этом окружении не поднимает главный цикл движка. Подробности — в docs/TECHNICAL.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
// Builds every sprite the game ships from its sources, so the art in
|
||||
// assets/art is reproducible rather than hand-placed.
|
||||
// assets/art and assets/resources is reproducible rather than hand-placed.
|
||||
//
|
||||
// node scripts/build-art.mjs
|
||||
//
|
||||
// Card faces are rendered from the vector sources in art-src/cards (see
|
||||
// assets/art/cards/ATTRIBUTION.md). Everything else — the card back, the table,
|
||||
// assets/resources/cards/ATTRIBUTION.md). Everything else — the card back, the table,
|
||||
// the UI chrome — is drawn here as SVG and rasterised, which keeps it tweakable
|
||||
// in one place instead of scattered across binary files.
|
||||
//
|
||||
@@ -15,7 +15,7 @@ import { join } from 'node:path';
|
||||
import sharp from 'sharp';
|
||||
|
||||
const CARD_SRC = 'art-src/cards';
|
||||
const CARDS_OUT = 'assets/art/cards';
|
||||
const CARDS_OUT = 'assets/resources/cards';
|
||||
const UI_OUT = 'assets/art/ui';
|
||||
|
||||
/** Card sprite size. 37 of these pack into a single 2048² atlas with room to spare. */
|
||||
|
||||
Reference in New Issue
Block a user