♟️ Play Site — Overview

Карта раздела про dicechess-play — публичный сайт, где можно сыграть в Dice Chess. Сначала против наших роботов (аноним, без регистрации), а в дальнейшем — против других людей, с рейтингами, матчами и турнирами. Это новый продукт экосистемы и одновременно пятый писатель партий в аналитику (см. 08-Identichnost-istochniki-i-deduplikatsiya).

Чем он отличается от соседних продуктов

  • dicechess-analytics-ui (Web UI) — read-only аналитика по партиям. Смотреть, не играть.
  • dicechess-lab — приватный тренажёр/лаборатория (PWA «угадай ход», игра с ботом за аккаунтом-с-апрувом). Единственное место, где сейчас реально можно сыграть с нашим движком.
  • dicechess-play (этот раздел) — публичный продукт «зашёл и сыграл». Форк play-vs-bot среза из lab, но без auth-гейта и с записью партий в общую аналитику.

Статус — Фаза 1 LIVE (2026-06-23)

Сайт работает: dicechess-play.pages.dev (Cloudflare Pages, авто-деплой из репо). Аноним играет с ботом, готовая партия идёт через токен-шлюз на Koyeb в аналитику. Проверено реальными партиями: записи source='playsite' с guest:<uuidv7> + bot:<algorithm>, UUIDv5-id, white-POV результат, термина­ция из движка. Репозитории приватные. Дальше — фазы 2+ (см. 01-Dorozhnaya-karta).


🗺️ Карта раздела

  • 01-Dorozhnaya-karta — шесть фаз: от анонимной игры с ботом до турниров; архитектурный разворот на фазе 3.
  • 02-Arkhitektura-avtoritet-i-stek — где «живёт» движок (клиент → сервер), фронтенд-стек (SvelteKit + PWA), топология ингеста через шлюз.
  • 03-Faza-1-anonim-vs-bot-ingest — детальный план первого этапа: идентичность, маппер партии, путь до аналитики, гарантии валидности.
  • 06-Chestnost-kubikov-provabli-feyr-i-verifikatsiya — как работают провабли-фейр кости (commit-reveal + клиентская энтропия) и как проверить любую партию. Реализовано (v0.4.0).
  • 07-Revyu-bot-platformy-2026-07-blokery-i-plan — ревью 4 репо через призму «платформа чужих ботов»: 4 блокера, AGPL, serverless-вердикт (webhook turn-push), план по этапам.
  • Журнал решений (ADR) — принятые решения по одному на заметку.

📌 Ключевые факты

АспектРешениеADR
Репозиторийновый dicechess-play — форк play-среза из dicechess-lab/frontend-pwaADR-0001-Repozitoriy-dicechess-play
Авторитет игрыклиентский (Scala.js) до фазы 3, затем серверный (JVM + WebSocket)ADR-0002-Klientskiy-avtoritet-do-fazy-3
Идентичностьsource='playsite', человек guest:<uuidv7>, бот bot:<algorithm>, id партии — UUIDv5ADR-0003-Identichnost-playsite
ФронтендSvelteKit 2 + Svelte 5 (runes) + Tailwind 4 + adapter-static + PWAADR-0004-Frontend-SvelteKit-2-PWA
Хостинг ингестатокен-шлюз на Koyeb → публичный sync.jc.id.lv (POST-only)ADR-0005-Shlyuz-ingesta-na-Koyeb
Bronze-архивдля playsite исключён (как у extension)ADR-0006-Bronze-arkhiv-isklyuchyon
Честность кубиковserver CSPRNG + commit-reveal + клиентская энтропия; проверяемо постфактумADR-0008

🔗 Связанное

  • 08-Identichnost-istochniki-i-deduplikatsiya — playsite добавлен как пятый писатель; схема guest:/bot:/source.
  • 07-Kontrakt-ingest-i-validatsiya-dvizhkom — нейтральный контракт POST /api/games, реплей-гейт (422), first-writer-wins.
  • Rasshirenie-dicechess-extension — ближайший аналог: тоже first-party источник, сам контролирует идентичность и собирает GameIngest.
  • Engine — движок: генерация ходов, кодирование бросков, алгоритмы ботов.
  • Igra-protiv-robotov — соседняя тема: наш движок против чужих сайт-ботов (это про добычу, а не про наш продукт).