Капитанский журнал

Как открыто строится TinkerDice — капитанский журнал.

2026-06-11

Отбор вместо починки — генерируем нескольких кандидатов и выбираем лучшего

Почему мы перестали пытаться чинить сломанные игровые графы и начали генерировать нескольких кандидатов — позволяя движку выбрать победителя.

devlogadr
2026-06-02Скоро

Дескриптивный, прескриптивный, исторический — добавляем метки модальности в документацию

Как мы остановили расхождение доков с реальностью, пометив каждый документ модальностью — и определили чёткие правила арбитража при их расхождении.

devlogadr
2026-05-28

Game-Logic IR — атомарные примитивы вместо свободного JavaScript

После нуля играбельных игр мы диагностировали настоящую проблему: просить LLM писать программы — неправильная абстракция. Вот что мы строим вместо этого.

devlogadr
2026-05-24Скоро

Файл .td — портабельный формат игры для шаринга и дистрибуции

Как мы определили портабельный формат файла для игр Tinker Dice — чтобы можно было сохранить игру, отправить другу и запустить на любом инстансе.

devlogadr
2026-05-24Скоро

Event-Sourced оркестратор задач — убиваем проблему двух истин

Как мы заменили два несогласованных источника состояния задач event-sourced оркестратором — и построили параллельные воркеры для независимых задач.

devlogadr
2026-05-23Скоро

Разделяем сессионный слой — от одного God-плагина к четырём чистым модулям

Как мы декомпозировали 340-строчный плагин с 8 ответственностями на 4 сфокусированных модуля — и почему сделали это до добавления новых фич.

devlogadr
2026-05-10

Одна тема, один канвас — объединяем четыре дизайн-системы в одну

Как мы свёрнули четыре несовместимые дизайн-системы и три ReactFlow-обёртки в единый theme-провайдер и один универсальный GraphCanvas.

devlogadr
2026-04-30Скоро

Loom оживает — визуализация и управление с человеком в цикле

Почему мы вытащили визуализацию Loom и HITL-контролы из парковки — и построили два графа, которые Капитан хотел с самого начала.

devlogadr
2026-04-30Скоро

Возвращаем Loom — вторая попытка визуализации и HITL

Спутник ADR-021: вытаскиваем LoomGraphCanvas и HITL-контролы из парковки с явными границами scope.

devlogadr
2026-04-29Скоро

Prompt Lab — строим отладочный стенд прежде чем строить продукт

Почему мы перестали переписывать редактор и начали строить лабораторию отладки промптов — и что это говорит о приоритетах.

devlogadr
2026-04-19

Loom — декомпозиция монолитного Builder'а на конвейер специалистов

Почему мы заменили одного перегруженного AI-агента пятью специализированными ролями — и назвали всё это ткацким станком.

devlogadr
2026-04-03Скоро

Разделяем QA на два потока — PipelineFSM и разделение findings по правилам и графу

Почему мы разделили «правила неправильные» и «граф неправильный» — и построили конечный автомат для управления разницей.

devlogadr
2026-04-03

Хирургия вместо кувалды — инструмент graph_patch

Почему мы дали AI скальпель вместо бульдозера для исправления игровых графов — и почему JSON Patch не подошёл.

devlogadr
2026-03-27

Один источник правды на плагин — убиваем рассинхрон трёх файлов

Как мы свёрнули manifest.ts, definition.ts и core.ts в единый SSOT-дескриптор — и устранили целый класс AI-багов.

devlogadr
2026-03-23Скоро

Играем в игры, которых ещё нет — Headless Runner и Inspector QA

Как мы построили headless-движок, который разыгрывает тестовые партии в памяти — чтобы AI мог проверить свою работу до того, как человек её увидит.

devlogadr
2026-03-18

Сначала правила — разделяем дизайн и сборку игры

Почему мы разделили AI-пайплайн на Designer (с человеком в цикле) и Builder (компилятор) — и ввели Rules-Markdown как мост.

devlogadr
2026-03-12Скоро

Game-First UX — от веб-форм к тактильному взаимодействию

Почему мы вырвали вкладку «Действия» и превратили каждый игровой объект в точку взаимодействия.

devlogadr
2026-03-10Скоро

JavaScript-ноды в ActionFlow — даём AI лазейку

Почему мы разрешили AI писать JavaScript внутри игровых графов — и контролируемый контекст, который не даёт этому взорваться.

devlogadr
2026-03-06Скоро

Сервер становится медиатором — AI-пайплайн через MemoDb и SSE

Как мы перестроили пайплайн AI-генерации так, что сервер — единственный писатель, AI — фоновый воркер, а редактор просто наблюдает.

devlogadr
2026-03-01Скоро

Кому принадлежит AI? — расширение зоны QC на ai-service

Когда ai-service переехал в основной репозиторий, ему нужен был владелец. QC был естественным выбором.

devlogadr
2025-06-01Скоро

Модели рассуждения — другие — адаптируем пайплайн под DeepSeek Reasoner

Что изменилось, когда мы переключились на модель, которая думает прежде чем говорить — и почему пришлось отключить половину наших инструментов.

devlogadr
2025-06-01Скоро

Никаких прямых записей в базу — серверные действия через MemoDb-плагин

Как мы закрыли дыру в безопасности, направив все мутации данных через серверные сокет-действия.

devlogadr
2025-03-01Скоро

Убивая цепочку HTTP-запросов — как AI Gateway взял тул-коллы на себя

Почему мы перенесли резолвинг AI-тулов с клиента на серверный шлюз — и сократим цепочку задержек с N раундтрипов до одного.

devlogadr
2025-03-01

Плагин, которого не должно быть — почему мы запретили плагины под конкретные игры

TurtlePlugin был анти-паттерном, который научил нас: плагины — это универсальные механики, а не хаки под конкретную игру.

devlogadr
2025-02-01

Плагины, которые могут исчезнуть бесследно — разделение manifest/definition/core/ui

Как мы спроектировали систему плагинов, где ни одна часть кода не знает ни одного плагина по имени — и почему это важно.

devlogadr
2025-02-01Скоро

Путь C — AI создаёт, Telegram играет

Продуктовая ставка: AI генерирует настольные игры, люди играют через Telegram WebApp. Вот почему.

devlogadr
2025-01-01

Одна библиотека чтобы править всемими — как MemoDb стал нашим хребтом

Почему мы перестали жонглировать REST-эндпоинтами и WebSocket-событиями — и заменили всё единым хранилищем, которое само синхронизируется.

devlogadr
2025-01-01

Игровая логика как JSON — GraphDoc DSL и визуальное программирование через ActionFlow

Почему мы описываем настольные игры как графы состояний в JSON — и как AI научился генерировать их из обычного текста.

devlogadr
2025-01-01Скоро

Ломай всё — почему у нас нет обратной совместимости

Освобождающее (и пугающее) решение никогда не поддерживать обратную совместимость на фазе проектирования.

devlogadr