ftcandClaude Opus 5 43f5bc5df3 Починен зелёный экран: все узлы были не на том слое
nodeCreate кладёт узел на слой DEFAULT, а камера Canvas рисует только
UI_2D. Поэтому сборка показывала цвет очистки камеры и больше ничего.
В редакторе это не видно вообще: камера вида сцены рисует все слои,
так что сцена выглядит правильной, а билд — пустым.

- 45 узлов в обеих сценах и префабе переведены на слой UI_2D
- scripts/check-scenes.mjs: headless-проверка сцен и префабов —
  слои, наличие камеры у Canvas, видимость UI_2D у камеры,
  незаполненные ссылки в наших компонентах. Проверено, что она
  действительно падает на подсунутом неверном слое
- npm run check — всё разом (чистота core, сцены, типы, тесты)
- Bootstrap теперь докладывает каждый шаг в лейбл и в консоль
  и через 10 секунд уходит в лобби даже если арт не догрузился:
  молча висящий загрузчик — худший вид бага в отчёте
- ловушка со слоями описана в docs/CODE_MODE_SETUP.md

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 11:58:17 +03:00
2026-09-12 11:01:24 +03:00
2026-09-12 11:01:24 +03:00
2026-09-12 11:01:24 +03:00

Fool

A mobile card game: durak, one player against a bot. Built with Cocos Creator 3.8.8, targeting Web, Android and iOS, portrait only.

Getting around

What the game is docs/GAMEPLAY.md — the rules, and the bot's policy
How it is built docs/TECHNICAL.md — layers, folders, workflows
What is planned docs/PLAN.md — milestones and their state
Why it is like that docs/DECISIONS.md — choices the specs left open
Driving the editor docs/CODE_MODE_SETUP.md

Working on it

npm install
npm test                  # the rules, the bot and the save format, headless
npm run typecheck         # strict tsc over core/, modules/ and the tests
npm run check:core-purity # fails if the game logic reaches for the engine
npm run build:art         # regenerate every sprite from source
npm run stats:bot         # BasicBot self-play distribution — a tool, not a test

npm test needs no editor and no device. That is deliberate: the rules live in a pure TypeScript core with no cc import, driven as a deterministic state machine, so the entire rule set is verifiable in a couple of seconds. The soak specs play several thousand complete matches and re-check every state invariant after every single action.

To see it, open the project in Cocos Creator and press Preview, or build and serve it — see Builds in docs/TECHNICAL.md.

Layout

assets/scripts/core/      the rules, the bot — no engine dependency
assets/scripts/modules/   savegame
assets/scripts/app/       bootstrap and services
assets/scripts/ui/        scenes, screens, card rendering
assets/resources/cards/   36 faces + back, packed into one atlas
art-src/cards/            vector sources for the faces
tests/                    vitest specs and the state invariant checker
scripts/                  art build and the architecture guard

Credits

Card faces are from Vector Playing Cards by Chris Aguilar, LGPL-3.0. Attribution is required by that licence — see assets/resources/cards/ATTRIBUTION.md, which also explains what to change if that licence does not suit the release.

S
Description
No description provided
Readme
5 MiB
Languages
TypeScript 86.2%
JavaScript 11.8%
HTML 1.1%
CSS 0.9%