История версий
Версии перечислены от самой новой к самой старой, по одному пункту на изменение, и каждая версия заканчивается ссылками на страницы, подробно описывающие то, что она принесла. Пункт, отменённый более поздней версией, несёт упоминание той версии, что его заменила: он рассказывает историю программы, а не описывает установленную версию.
После обновления
Миграция схемы базы выполняется автоматически при открытии и необратима: мигрированная база больше не читается предыдущей версией blunderDB — отсюда и предварительная резервная копия (Приложение: Схема базы данных). Остальное само собой не делается, потому что ничто из этих данных не появляется задним числом:
Повторный анализ устаревших позиций (0.38.0, 0.40.0). Анализ gammonNet, записанный до версии 0.40.0, был выполнен более ранним движком (с тех пор gammonNet v1.7.0):
blunderdb analyze --staleили строка Устаревшие анализы gammonNet на вкладке Обслуживание перезаписывает его. Импортированный анализ никогда не затрагивается.Переимпортировать исходные файлы, чтобы получить удачу (0.33.0). Матчи, импортированные раньше, несут тире в столбце Удача, а тире — это не ноль. Форматы, которые удачу не переносят (BGF, Jellyfish
.mat), не дадут её никогда.Переимпортировать файлы XG, чтобы получить метки (0.30.0). Метки, поставленные в eXtreme Gammon, попадают в базу при переимпорте, не затрагивая существующие комментарии и анализы.
Запустить догоняющий анализ gammonNet (0.34.0) — из интерфейса, командой
blunderdb analyzeили в серверном режиме: он заполняет позиции, у которых нет ни одного анализа, никогда не затирая импортированный анализ.Перезапустите дообработку анализа gammonNet (0.39.0). Миграция стирает вердикты gammonNet по принятию или отказу, вычисленные как решение принимающего; дообработка переписывает их как решение предлагающего дабл до дабла.
Исправление матчей с перевёрнутыми игроками (0.40.0). До 0.40.0 переворот заменял позиции матча другими, без анализа:
blunderdb match repair --listнаходит матчи, отличающиеся от своего исходного файла, аmatch repair --idили кнопка ⟲ карточки перезаписывают их из этого файла.
0.44.0 (2026-10-19)
Упражнение Дебют выбирает один из двух режимов: Категории XG (Money, DMP, Gammon save и Gammon go, их можно сочетать) или Матч до 5, который с равной вероятностью выбирает один из двадцати пяти счетов матча до 5 очков, включая DMP и игры Crawford, без выбора счёта. Сетка счётов матча до 7 исчезает.
Встроенная дебютная книга охватывает все двадцать пять счетов матча до 5: добавлены 2-4, 4-2, 2-5, 5-2, 3-5, 5-3 и игры Crawford 1-3, 3-1, 1-5 и 5-1;
blunderdb openingbookи маршрутыopeningbook.*сервера выдают их так же, как остальные счета.На стороне сервера:
search.findсортирует по счёту пипсов и по дате,analyses.queueStatusописывает очередь анализа, статистику можно фильтровать по сопернику,positions.setIndividuallyImportedснимает пометку «внесена вручную» с позиции, аmatches.lastVisitedвозвращает последний посещённый матч, а не последний импортированный;blunderdb statsпринимает--opponent.См. Панель Тренировка, openingbook — Какой ход при этом счёте? и Контракт API.
0.43.0 (2026-10-18)
Упражнение Дебют выбирает по категориям: Money, DMP, Gammon save (начинающий при 1 away Crawford, отвечающий при 2 away) и Gammon go (наоборот) — категория выпадает с равной вероятностью наравне с остальными, затем один из её счетов; в задании категория названа рядом со счётом. Сетка счётов матча до 7 остаётся опцией, по умолчанию выключенной, потому что от 4 до 7 away лучшие ходы почти не меняются от счёта к счёту.
Встроенная дебютная книга охватывает игру на деньги и DMP:
blunderdb openingbookи маршрутыopeningbook.*сервера выдают их так же, как остальные счета.См. Панель Тренировка, openingbook — Какой ход при этом счёте? и Дебютная книга: разрыв, 95 %-й ДИ и равенство.
0.42.0 (2026-10-17)
Какой ход при этом счёте? Упражнение Дебют: вкладка Тренировка задаёт дебютный ход (1st roll) или ответ (2nd roll) партии при некотором счёте; ход делается на доске и оценивается по встроенной дебютной книге, рассчитанной роллаутами blunderDB для двадцати счетов; любой ход, равный лучшему, верен, а в режиме 2nd roll уже сыгранный дебютный ход выбирается среди них. Вердикт — отметка «верно» или «неверно» и таблица кандидатов книги.
train opening,blunderdb openingbookи маршрутыopeningbook.*сервера — его другие формы.ENTER связывает вопросы тренировки: во время Решения или Дебюта ENTER подтверждает ход, сыгранный на доске, где бы ни был фокус вне поля, кнопки или окна, а затем, когда вердикт показан, переходит к следующему вопросу или завершает сеанс; два быстрых нажатия подряд не оценивают ответ дважды.
На стороне сервера: маршрут
matches.byPositionперечисляет матчи, в которых в позиции был сыгран ход, а импорт файла XG в базу PostgreSQL делает вдвое меньше запросов на позицию и идёт вдвое быстрее.Заметные исправления: файл матча, в котором в позиции у одной стороны шестнадцать шашек, сервер отклоняет как недопустимый, а не внутренней ошибкой.
См. Панель Тренировка, Горячие клавиши, openingbook — Какой ход при этом счёте?, Дебютная книга: разрыв, 95 %-й ДИ и равенство и Контракт API.
0.41.0 (2026-10-16)
Чтение позиции со скриншота: вставка, перетаскивание или открытие скриншота доски eXtreme Gammon на доске редактирования считывает шашки, кости, куб и счёт без обученной модели; сомнительные считывания обводятся на доске, и ничего не сохраняется до привычного жеста.
blunderdb captureи маршрутpositions.fromImageсервера — другие формы.Основной игрок и окно «Управление игроками»: звезда у игрока назначает его основным игроком, которого при импорте помещают на место 1, и предлагает за один раз перевернуть матчи, где он играет с противоположной стороны; окно перечисляет игроков с их псевдонимами (× отменяет слияние) и числом матчей, которое открывает эти матчи.
blunderdb players mainиplayers matches, а также маршрутыplayers.main.*— другие формы. В панели Турниры PR и MWC строки относятся к основному игроку, как только он в ней играл.Импорт базы переносит и матчи: вместе с их партиями, ходами, анализами и происхождением, турниры (с их Руководством и Встречей), черновики транскрипции и псевдонимы игроков, без дубликатов и без изменений при повторном импорте того же файла; живая коллекция или сохранённый фильтр, указывающие строки по номеру, перенумеровываются для принимающей базы.
blunderdb import --type databaseи сервер делают то же самое.Предварительный просмотр перед экспортом: окно экспорта подсчитывает по семействам, что будет в файле, до его записи;
blunderdb export --planи маршрутexports.planдают тот же подсчёт. Выбранный турнир всегда забирает свои матчи, а Руководство и Встреча турнира уходят вместе с ним.Отмена последнего повторения Anki: кнопка Отменить повторения или клавиша u возвращает последнюю оценку сеанса и снова показывает карточку;
blunderdb anki card --action undoи маршрутanki.undoReviewсервера выполняют то же действие.Поиск gammonNet распределяется по свободным ядрам: gammonNet v1.8.0 делит поиск на 2 хода и глубже между несколькими ядрами с теми же числами, что и на одном; все вычисления процесса (анализ, пакет, панели, сервер) берут из одного бюджета ядер, а сервер засчитывает за одну единицу время каждого занятого ядра.
Флажки игроков в легенде графиков матча: снятие флажка с игрока скрывает его отметки на трёх графиках, а наведение, щелчок и стрелки нацеливаются только на другого; настройка запоминается для каждого матча.
Счётчики статистики открывают свои позиции: панели Смещение, До/после и Время добавляют к каждому счётчику решений столбец Позиции, который открывает соответствующие различные позиции.
Более читаемая транскрипция: цифровая клавиша сообщает о своём действии индикатором режима (Ввод или Правка) и действием Enter; стрелки доски следуют за ходом, записанным в решении под курсором, серым цветом, а недопустимый шаг рисуется красным пунктиром; выбор первой строки анализа заменяет решение.
Видео больше не подвешивает приложение: видеопанель возобновляет воспроизведение после неудавшегося перехода, никогда не перезагружает видео на паузе и называет недостающие плагины GStreamer; неверно мультиплексированный файл
.webmили.mkvотмечается при открытии с командойffmpeg, которая исправляет его без перекодирования.Заметные исправления: сыгранный ход сопоставляется с кандидатами по доске, на которой он оказывается, а не по записи, так что два хода одной формы, но с разными взятиями больше не путаются; скриншот с дробным масштабом читается верно; видео на паузе больше не перезагружается.
См. Руководство, Горячие клавиши, Интерфейс командной строки (CLI), Безголовый режим (сервер) и Контракт API.
0.40.0 (2026-10-12)
Поиск gammonNet на 3 и 4 хода глубиной (ply) работает в несколько раз быстрее: один ответ на внутренний узел и ступенчатый корень, который доводит до полной глубины только лучших кандидатов из ранжирования на 2 ply; движок переходит на gammonNet v1.7.0. Любой анализ gammonNet, записанный раньше, устарел и перезаписывается строкой Устаревшие анализы gammonNet на вкладке Обслуживание; роллаут, политика которого играет на 3 ply, больше не даёт прежних цифр.
Анализ gammonNet можно отменить посреди поиска: строка состояния показывает его глубину и ход выполнения, а кнопка отмены прерывает и уже начатый глубокий поиск — в интерфейсе, в командной строке и на сервере.
Вкладка Обслуживание настроек показывает состояние здоровья базы, одна строка на операцию (позиции без анализа, устаревшие анализы gammonNet, матчи без статистики, освобождаемое место…) с её счётчиком, последним запуском и действием; ничто там не запускается само, а
blunderdb maintenanceи маршруты сервераmaintenance.*— другие формы. Открытие базы больше ничего туда не записывает: статистика матча считается при первом чтении или с этой вкладки.В базу пишет только одна долгая операция за раз: во время операции обслуживания, анализа gammonNet или роллаута другое действие отклоняется с названием той, что занимает базу, а автоматический анализ (после импорта, транскрипции или Дуэли) ждёт своей очереди.
Экспорт Anki .apkg: набор для изучения или коллекция записывается в пакет Anki
.apkg, который приложение Anki импортирует на компьютере или телефоне (AnkiDroid, AnkiMobile); каждая позиция становится карточкой: на лицевой стороне доска, счёт, куб и кости, на обратной — лучший ход или верное решение по кубу, его эквити и ошибка сыгранного хода. Кнопка экспорта панели Anki,blunderdb anki exportи маршрут сервераanki.exportApkg— три его формы, а повторный экспорт обновляет карточки в Anki, а не дублирует их.Дуэль начинается откуда угодно: верхняя полоса панели Дуэль задаёт Старт — начальную позицию или доску, отредактированную как в панели Eval, причём её счёт и поля счёта составляют одно целое, — играет кости доски или перебрасывает их и ставит решение по кубу до или после броска; Одна партия останавливает Дуэль в конце первой партии, чтобы потренироваться на счёте.
blunderdb duel createпринимает--away,--reroll,--after-cubeи--single-game.Контроль времени в минутах на очко: Standard (2 мин на очко + 12 с), Speed (0,4 мин на очко + 10 с) или контроль, сохранённый под именем; запас каждого игрока соотносится с длиной матча или с тем, что осталось сыграть от стартового счёта.
Пипкаунт скрыт во время Дуэли: если флажок снят при запуске, он остаётся скрытым даже по кнопке панели инструментов или клавише P и возвращается при выходе из Дуэли.
Поворот видео: кнопка ⟳ панели видео, имеющаяся и в панели режима театра, или клавиша o поворачивает видео на четверть оборота, будь то локальный файл или ссылка YouTube; угол запоминается для черновика на этом компьютере.
Дата турнира, выведенная из его матчей: у турнира без даты берётся дата его самого старого матча; она показывается серым и предлагается формой редактирования, не записываясь в базу; каждая строка панели Турниры начинается с # и Date, как в панели Матчи, а Прогресс располагает турниры в хронологическом порядке.
Карточка матча в панели Турниры: щелчок по матчу турнира показывает под таблицей карточку панели Матчи с её вкладками, а поле фильтра сужает список турниров по мере ввода.
Вся библиотека экспортируется одинаково везде: новое окно экспорта — одна строка на семейство со счётчиком, файл выбирается последним —,
blunderdb export --type databaseи сервер переносят одни и те же семейства: матчи с черновиками транскрипций и псевдонимами их игроков и событий, коллекции, турниры, пакеты Anki с историей повторений или без неё (--anki-history, включая приостановленные карточки), каждое из которых можно убрать или ограничить идентификаторами (--match-ids,--tournament-ids…). Живая коллекция или сохранённый фильтр, указывающие позиции, матчи или турниры по номеру, перенумеровываются для файла, а живая коллекция оценивается там в пределах 5 000 позиций; исходный файл и локальное видео матча уходят сведёнными к имени, URL видео — без содержащихся в нём учётных данных. Отфильтрованный список экспортирует только матчи, где сыграны его позиции, каждый со всеми своими позициями.Исправление матча по исходному файлу: кнопка ⟲ в строке Исходный файл карточки или
blunderdb match repairперечитывает файл и перезаписывает позиции, анализы и ошибки матча как при новом импорте, сохраняя введённое с тех пор (турнир, имена, переворот игроков, комментарии, транскрипцию, видео и метки) и более глубокие анализы;match repair --listнаходит матчи, отличающиеся от своего файла, а маршрутmatches.repairделает то же самое на сервере.Панель «Статистика»: один фильтр, общий для всех вкладок, с полем игрока, которое ищет по мере ввода; фильтр дат считает свой последний день целиком, а фильтр Движок — это меню движков, присутствующих в анализах базы (
blunderdb stats engines). Каждая таблица сортируется и фильтруется по столбцам (>500,3-7…), её сортировка запоминается. Каждый счётчик открывает ровно то, что считает — матчи, турниры, позиции, ошибки (blunder) —, строка игрока ставит его в фильтр, а заголовок матча, панель анализа и турнир открывают «Статистику» на них;blunderdb stats matchesиstats tournamentsвыдают матчи и турниры, которые считает цифра. Рейтинг переходит с вкладки Corpus на вкладку Игроки, отсортированный по PR (stats rankingпо-прежнему выдаёт его в командной строке); строка таблицы под курсором подсвечивается.Окно «Слияние игроков» остаётся открытым между двумя слияниями; Закрыть или ESC закрывает его.
Невход вводится одной клавишей в Транскрипции: когда игрок на ходу на баре, f вводит бросок, при котором он не входит, — первый, сначала не дубли, — и ход переходит без хода для ввода; вне бара, или если входит любой бросок, ничего не вводится, и строка состояния сообщает об этом.
Сдача вводится клавишей в Записи: r открывает выбор уровня (простая, гаммон, бэкгаммон); в режиме театра небольшое окно предлагает его, а клавиши 1, 2 и 3 подтверждают выбор.
Ход играется на мини-доске режима театра: те же жесты, что и на доске, правый щелчок забирает ход; стрелки предыдущего хода стираются с первого шага.
Флажок Post-Crawford в Записи появляется при начальном счёте, когда один из игроков на L-1; каждая отметка несоответствия в записи показывает свою причину.
Масштаб интерфейса регулируется с клавиатуры: Ctrl++, Ctrl+- и Ctrl+0 увеличивают, уменьшают и восстанавливают его, как в браузере; увеличенный интерфейс занимает всё окно.
Роллаут переходит на SHIFT-R; r остаётся случайной позицией.
Заметные исправления: переворот игроков матча в 0.39.0 и раньше заменял его позиции другими, без анализа, и убирал его решения из PR, MWC и L₇; теперь переворот затрагивает только имена и места и сохраняет анализы и цифры с точностью до бита, а уже испорченный матч исправляется по исходному файлу командой
match repairили кнопкой ⟲ его карточки. gammonNet больше не переполняется на дубле с очень большим числом ходов, из-за которого не завершался неусечённый роллаут; кривая «PR по матчам» отображается в Linux; счётчик позиций панели «Статистика» выходит из режима матча перед открытием своего списка; открытие турнира из «Статистики» выбирает его в панели Турниры; карточка экспорта.apkgназывает партию Crawford и пост-Crawford; мини-доска режима театра следует ориентации основной доски; щелчок по истории записи больше не сдвигается воспроизводимым видео, а переходы по видео ограничены и сериализованы; исправление больше не оставляет лишних шашек, а цепочка последующих позиций пересчитывается после изменения.См. Руководство, Интерфейс командной строки (CLI) и Безголовый режим (сервер).
0.39.0 (2026-10-10)
Видео матча: локальный файл или ссылка YouTube прикрепляется к матчу, и панель Матчи открывает видео за секунду до броска изучаемого решения (значок строки или клавиша v).
Видео рядом с доской: область доски делится между видео и доской по обе стороны от рукоятки, положение которой запоминается; ⇄ или рукоятка выбирает сторону видео, [ и ] регулируют скорость, которую крупный индикатор показывает в центре видео.
Транскрипция следует за видео: видеопанель ставит метки каждого действия (момент броска, момент действия), ПРОБЕЛ, SHIFT со стрелками, v и SHIFT-V управляют воспроизведением и метками, щелчок по ячейке переводит видео к её метке, а курсор следует за видео во время воспроизведения.
Длительность каждого хода читается в столбце записи, выводится из меток; у хода без момента действия длительность оценочная, она показывается как остальные.
Панель Записи читается в три группы: черновики, ввод с меню Видео (локальный файл, ссылка YouTube, убрать видео), затем Готово, Сдаться и меню ⋯, в котором текст и экспорт
.mat.Режим театра: F11 переводит окно в полноэкранный режим с видео и плавающей мини-доской поверх него, при этом клавиатура ввода остаётся активной.
Карточка матча во вкладках: заголовок и сводка итогов по игрокам остаются вверху, а под ними вкладки Запись, Графики, К разбору, Подробности, Информация и Статистика прокручиваются каждая отдельно; выбранная вкладка запоминается, а графики делят высоту вкладки Графики.
Итоги матча: решения для пересмотра, результат с поправкой на удачу, переведённый в MWC, темп ошибок (поспешных или обдуманных, относительно медианы длительностей игрока), а также PR и потеря L₇ с их интервалами;
blunderdb match --format summaryи маршрутstats.matchReviewтоже их выдают.Потеря MWC, приведённая к матчу до 7 очков (L₇), читается рядом с PR в списке матчей, статистике матча, турнирах, панели показателей и прогрессе, а также в
blunderdb stats,stats progressionиmatch.Сложность каждого решения и устранимая ошибка: их показывают транскрипция и график потерь, а заголовок матча даёт по каждому игроку сложность, превышение, отношение и число устранимых ошибок.
95-процентный интервал сопровождает PR и каждую ячейку разбивок, пересэмплированный по матчам.
Итоги турнира: кнопка Итоги панели Турниры сравнивает турнир игрока с его обычным уровнем с разбивкой по раундам, по рангу решения, по счетам давления и по темпу, затем по семействам ошибок;
blunderdb stats tournamentи сервер тоже их выдают.Карточка «План обучения» панели показателей ранжирует семейства ошибок по возвращаемому MWC, и каждое из них питает очередь изучения, викторину или колоду Anki;
blunderdb stats plan— её форма в командной строке.До и после изучения и знаковые смещения: панель показателей измеряет, обходится ли изученное дешевле в матче и в какую сторону ошибается игрок;
blunderdb stats effectиstats biasesтоже их выдают.Опорные позиции: кнопка Предложить… панели Коллекции предлагает позиции для изучения в заданной области (база, текущий матч, турнир, фильтр Статистики), чтобы сделать из них коллекцию, колоду Anki или викторину;
blunderdb collection suggest— другая её форма.Матч проходит через корзину: удалённый, он восстанавливается в точности, с его номером, датой импорта, партиями, анализами и позициями;
blunderdb trash delete --kind matchделает тот же жест.Страница «Метрики» даёт определение, формулу и пределы каждой меры: ошибка, PR, потеря MWC, сложность, интервалы, итоги, план обучения, опорные позиции, до/после и смещения.
Ход вводится на доске везде одинаково: в Дуэли, Тренировке, ответе на доске в Anki и Записи щелчок по шашке играет её левой ещё свободной костью, щелчок по костям меняет их порядок, затем подтверждает завершённый ход, как ENTER, а правый щелчок забирает текущий ход; ввод источника, а затем цели исчез.
Anki и Тренировка подтверждают на доске: ENTER или щелчок по костям оценивает сыгранный ход вместо кнопки Проверить.
Запись требует кости перед ходом: без введённых костей доска ничего не играет; когда обе кости введены, ход играется на доске, как в других режимах.
Оценить в новой вкладке: правый щелчок по доске открывает в панели Eval вид Вариант #n на показанной позиции, а исходный вид сохраняет свою позицию, свой список и свой анализ; каждый вид находит свою собственную доску Eval.
Вызов: кнопка Вызов на панели инструментов (клавиша m) закрывает анализ панели Анализа до щелчка при каждой смене позиции; при разборе матча она также скрывает пометки, потери и сложность списка ходов.
Каждый счётчик позиций открывается щелчком: столбцы Позиции и Грубые ошибки в разбивках, семейства плана занятий (теперь список действий Учить, Квиз, Anki), счётчики колоды Anki (к повторению, новые, в изучении, на повторении), счётчик турнира и пометки партии загружают ровно сосчитанные позиции.
Панели делят одну полосу заголовка: название, счётчик и фильтры слева, основное действие на правом краю (Поиск, Начать, Играть…); Поиск помещает Критерии, История и Сохранённые в свою полосу.
Живая коллекция создаётся вместе со своим запросом:
blunderdb collection create --queryи маршрутcollections.create;collection evaluateчитает её целиком до 5 000 позиций и выдаёт реальный итог, а колода Anki, взятая из живой коллекции, повторяет её запрос в каждом сеансе.Форма Метаданные в Записи занимает тело черновика, в два столбца, когда позволяет ширина, при этом запись остаётся видимой; та же кнопка или ESC возвращает ввод.
Поиск по справке считает и подсвечивает вхождения по мере набора.
Схема 2.41.0: источник видео матча и метки каждого хода; каждый ход несёт ошибку собственного решения, а PR уже имеющихся в базе матчей пересчитывается по правилам eXtreme Gammon. Миграция с 2.36.0 автоматична при открытии и необратима (Приложение: Схема базы данных).
Заметные исправления: gammonNet анализирует принятие или отказ как решение удваивающего перед удвоением, включая роллауты, а миграция стирает устаревшие вердикты gammonNet для этих позиций; PR считает вынужденные ходы, решения по кубу и неотмеченные ошибки, как eXtreme Gammon; усечённый файл
.xgотклоняется с кодомinvalid; отключённый звук и громкость видео переживают смену скорости; перетаскивание, начатое в диалоге и отпущенное на фоне, больше его не закрывает; каждая вкладка настроек сохраняет положение прокрутки.См. Руководство, Метрики и инструменты для изучения, Интерфейс командной строки (CLI) и Безголовый режим (сервер).
0.38.0 (2026-10-06)
Дуэль: целый матч играется против бота, который играет по стратегии gammonNet, под арбитражем blunderDB — кости выводятся из зерна, отпечаток SHA-256 которого публикуется при создании, правила, счёт и часы ведёт приложение. Вкладка «Дуэль», кнопка « Jouer » панели инструментов и режим DUEL; матч от 1 до 25 очков или сессия на деньги, старт с начальной позиции, с позиции на доске или с выбранного счёта, дуэль, приостановленная и затем продолженная.
blunderdb duelи маршрутыduels.*сервера — две другие её формы.Дуэль играется на доске: до броска щелчок по доске или по костям бросает их, а щелчок по кубику предлагает удвоение; щелчок по шашке играет её, щелчок по костям меняет их порядок или подтверждает ход, как ENTER или ПРОБЕЛ, а правый щелчок забирает текущий ход или открывает меню дуэли (Стопка, сдача, приостановка, остановка).
Контроль времени и длительность решения: резерв на игрока и бесплатная задержка на каждом ходу, а истёкшее время либо отмечается, либо приводит к проигрышу матча. Каждое решение дуэли несёт свою длительность, которую показывает просмотр (столбец Durée, сводка по игрокам, график), по которой фильтрует поиск с
tm>x, в сочетании сE>x, и которую вкладка «Статистика» сопоставляет с ошибкой.Происхождение матча, сыгранного здесь, читается в начале его транскрипции: старт, контроль времени, проигрыш по времени или остановка, уровень бота и версия gammonNet, по стратегии которой он играл, раскрытое зерно и его SHA-256 — достаточно, чтобы пересчитать каждый бросок, не доверяя blunderDB.
Стопка: клавиша b, закладка панели инструментов или двойной щелчок вне доски откладывает показанную позицию, во всех режимах, а тот же жест убирает её; закладка в углу доски показывает это.
blunderdb collection pileвыполняет тот же жест.Роллауты запускаются правым щелчком, из таблицы ходов панели «Анализ», как и из панели Eval, по выбору ходов (Ctrl+щелчок, Shift+щелчок) или по решению с кубиком, с настройкой — Быстрая, Стандартная или Свободная, — которая сохраняется от сеанса к сеансу. То же меню копирует позицию с её анализом или с выбранными ходами.
Без открытой базы панель Eval расставляет, вставляет, оценивает, прокатывает роллаутом и копирует позицию, вкладка «Тренировка» предлагает Счёт, Фишки, Bearoff и Оценка, а
import XGID=…ставит позицию на черновую доску.Правый щелчок вне доски предлагает Effacer la position и Position de départ в режиме правки и в Eval; при ходе, сыгранном на доске (викторина, Транскрипция), его меню начинается с Recommencer.
Подсказки Дуэли располагаются в середине правой половины доски в типографской шкале приложения; игрок 1 остаётся внизу независимо от того, чей ход, а отпечаток зерна читается во всплывающей подсказке строки приглашений.
Сдаться, приостановить, отменить: меню Дуэли позволяет сдать матч, приостановить или отменить его; в игре на деньги сдача проигрывает простую партию по значению куба. Матч до очков записывается только целиком, а зерно ожидающей Дуэли не попадает ни в один экспорт.
Селектор уровня Бота показывает глубину каждого уровня, прочитанную из таблицы gammonNet.
Дуэль можно играть против внешней Стороны: внешняя Сторона объявляет Бота, играющего за ней (
--side external:<configuration>@<engine>,sides[i].declared), а происхождение Матча читает это как объявленное клиентом и не удостоверенное; при объединённом зерне (--combined-seed,duel contribute,duels.contribute) вклад каждой внешней Стороны добавляется к запечатанному зерну, и броски выходят из него, формула опубликована.Несколько Дуэлей открыты одновременно: открытие Дуэли не приостанавливает ни одну другую, а у открытой Дуэли часы идут, пока её не приостановят, в том числе при остановке или сбое процесса; настольное приложение держит на доске одну Дуэль и приостанавливает ту, которую покидает, не трогая те, что сервер или командная строка держат открытыми в той же базе.
Запись матча получает столбцы Куб, Игра и Часы; каденция и банк времени указаны в сведениях о матче, а ячейка времени без длительности содержит тире.
Строка состояния: ссылка на блундеры запускает поиск, а её две цифры — отдельные ссылки: блундеры списка на экране и блундеры всей библиотеки.
Движок переходит на gammonNet v1.6.0 (сеть strehl-prob5-512-512-256-256); легальные ходы выдаются в порядке первоисточника, сначала меньшая кость.
Материализация записи одним вызовом в строгом режиме:
blunderdb transcribe --materializeи маршрутtranscriptions.materializeзаписывают Матч либо отклоняют первое ошибочное Действие с указанием номера и причины, ничего не записывая.Схема 2.36.0: таблицы Дуэли, длительность каждого решения, объявленный Бот, вклады внешних Сторон и признак открытости каждой Дуэли. Миграция с 2.31.0 автоматична при открытии и необратима (Приложение: Схема базы данных).
Заметные исправления: нечитаемый файл импорта отклоняется с кодом
invalid, аinternalостаётся для сбоев; в Windows сжатие действительно уменьшает файл или сообщает, почему не смогло; CTRL-C больше не перехватывается копированием встроенного браузера, а CTRL-X CTRL-X копирует оценку gammonNet в режиме EVAL.См. Руководство, Интерфейс командной строки (CLI) и Безголовый режим (сервер).
0.37.0 (05.10.2026)
Транскрипция бумажного матча: вкладка и режим TRANSCRIBE, где матч вводится ход за ходом — кости, треугольник 21 броска, ход, сыгранный на доске или набранный в нотации, кубик, исправление на месте, устойчивый черновик, который восстанавливается после сбоя.
blunderdb transcribeи маршрутыtranscriptions.*сервера — две другие формы.Руководство турниром: клубный турнир проводится из панели «Турнир» — справочник игроков, предложения пар, подтверждаемые одним жестом, сетка столов и протоколы результатов, сетки и таблица жизней, рейтинг, призы и призовой фонд, настенная страница зала, печатные листы, Встречи (Rencontre) из нескольких состязаний в общем зале.
blunderdb tournamentиserve --direction— две другие формы.Тренировка: вкладка «Тренировка» (Счёт, Фишки, Bearoff, Оценка, Решение) и её журнал, режим викторины, где PR выражен в шкале реальной игры, пропущенные вопросы, повторяемые колодой или коллекцией, очередь изучения необработанных блундеров, объяснение ошибки на обороте карточки Anki, карточки счёта и решения по кубику в виде двух карточек.
Уроки: курс, написанный за письменным столом, читается из приложения, командной строки (
blunderdb lesson) или сервера и экспортируется вместе с базой; прогресс записывается только по явному действию ученика.Поиск опрашивает корпус: токены игрока, соперника, турнира, раунда, длины, даты и PR,
like, ранжирующий похожие позиции, игровой планgt:, словарь тегов, фраза обычным языком, переводимая в токены, закреплённые избранные фильтры, нечёткая палитра команд (CTRL-SHIFT-P), контактный лист из мини-досок и живые коллекции.Панель «Статистика» получает вкладку «Корпус» (очные встречи, PR по окнам, рейтинг, псевдонимы игроков и событий, вероятные дубликаты), двух игроков рядом, повторяющиеся ошибки по игровым планам, разбивку по фазе, метке и счёту, цель прогресса, автономный HTML-отчёт и экспорт в CSV; матч, импортированный без анализа, получает PR.
Оценщик переходит на gammonNet v1.4.0 — фильтр ходов по тройкам, beaver и raccoon только в money game — и получает усечённые, cubeful и воспроизводимые роллауты, хранимые как второй анализ, движки рядом, матрицу кубика при всех счётах матча и таблицу эквити матча, импортированную из
.xmlgnubg, своя для каждой базы.Импорт становится параллельным, с массовым режимом для больших партий, журналом и возобновлением прерванной партии, отслеживаемой папкой, матчами HedgeHog
.ogxm, OGID из OpenGammon и метаданными заголовка XG (Elo, транскрибер, комментарии); точный дубликат приносит свои более глубокие анализы.Комментарии подписываются: параметр «Ваше имя» (
--authorв командной строке) указывает их автора, который передаётся при экспорте.В интерфейсе: экран приветствия, четыре именованные темы, изображение доски в SVG, справка с поиском, отменяемое удаление, настраиваемые по библиотекам пороги ошибок, а также библиотека, поиск и список матчей, просматриваемые окнами, без загрузки всего.
Ассистент через MCP: приложение и сервер предоставляют свои инструменты ассистенту (Model Context Protocol). На стороне сервера: очередь анализа, общая для тенантов, квоты (в том числе квота хранимых байтов), поток событий
/v1/events, веб-страница просмотра, обмен колодами Anki и коллекциями между тенантами и сгенерированный клиент на Python.Схема 2.31.0: даты в виде целых чисел, позиция и анализ в двоичном виде, закодированные метки действий — более лёгкая база. Миграция с 2.18.0 выполняется автоматически при открытии и необратима (Приложение: Схема базы данных).
Заметные исправления: усечённый
.matили.txtBGBlitz без позиции отклоняется, а не входит наполовину, отметки XG дубликата сохраняются, вердикт gammonNet сохраняет сыгранные ходы, в PostgreSQL отказ в записи больше не раскрывает того, чем располагает другой тенант, а кнопка настенной страницы Дирекции открывает её в системном браузере, сообщая о неудаче.См. Руководство, Интерфейс командной строки (CLI) и Безголовый режим (сервер).
0.36.0 (05.09.2026)
Исполняемый файл на 7,3 МБ меньше: таблицы выбрасывания больше не встроены и не загружаются, а вычисляются при первом запуске, в фоне и молча — побайтово идентичные таблицам gnubg, с проверкой отпечатка SHA-256. Расширенная таблица TS-06-11 вычисляется во вкладке Bearoff, а не скачивается на 1,2 ГБ.
Турниры заполняются сами при импорте: матч относится к турниру, который назван в его файле, и турнир создаётся при необходимости; уже размещённый матч никогда не переносится.
Единая грамматика поиска, теперь читаемая из командной строки (
blunderdb search --query) так же, как из приложения.Командная строка получает
--format jsonв девяти командах, автодополнение для bash, zsh и fish, командуrepairи подкомандыanki cardиanki log.Вкладки Сочетания клавиш и Команды встроенной справки порождаются из страниц руководства, которые их описывают: они больше не могут от них отстать и становятся таблицами, без врезок. Вкладка Руководство справки остаётся кратким изложением, отличным от полного руководства в сети. Ещё три обзорных тура (Eval, Anki, Stats).
Двоичный файл Linux arm64, поставляемый архивом,
.deb,.rpmи пакетом AUR.Панель Eval снова находит доску, на которой её оставили, различает money-эквити и match-эквити и просматривается с клавиатуры.
На стороне сервера: контракт API, порождённый из кода (
openapi.yamlи его приложение, 135 маршрутов), идентификатор корреляции для каждого запроса, показатели выполняемой работы, сжатие потоков NDJSON (13,5 % размера), и два вызова, выходящих за пределы тенанта — vacuum и purge — переходят под/ops/.Схема 2.18.0: Jacoby и beaver покидают идентичность позиции, так что одна и та же позиция в money-игре больше не попадает внутрь дважды через разные двери. Миграция выполняется автоматически при открытии и необратима (Приложение: Схема базы данных).
Заметные исправления: панель подробностей панели «Матчи» больше не занимает половину экрана, когда ничего не выбрано; первая партия записи сворачивается, как и остальные; SHIFT-J и SHIFT-K переключают вид из любой панели; восемь сочетаний «показать/скрыть» наконец скрывают.
См. Интерфейс командной строки (CLI), Безголовый режим (сервер) и Руководство.
0.35.0 (2026-09-02)
Командная строка получает два семейства команд:
blunderdb collection(список, показ, создание, переименование, удаление, экспорт коллекции) иblunderdb anki(колоды, статистика, прогноз повторений, ресинхронизация колоды).Серверный режим публикуется в виде образа Docker (
ghcr.io/kevung/blunderdb-serve, amd64 и arm64), получает маршрутmaintenance.vacuumи ставит водяной знак на свои экспорты с идентичностью издателя сервера (--identity-dir).Оценщик gammonNet оценивает свои листья с учётом куба: при матчевом счёте вердикты поиска приближаются к вердиктам eXtreme Gammon.
Каждый релиз теперь поставляет манифесты winget и Homebrew и пакет Flatpak, в дополнение к пакетам Debian, RPM и AUR.
В интерфейсе библиотека теперь постраничная (база из 50 000 позиций больше не загружает всё в память при каждом обновлении), модальные окна используют общую основу (фокус, Escape, доступность), доска перерисовывает только то, что меняется, а встроенный японский шрифт сокращён до своего полезного подмножества (на 5,5 МБ меньше).
Заметные исправления: база, импортированная через «Импортировать базу», сохраняла позиции, невидимые для фильтров и дублирующиеся при повторном импорте (исправляется при открытии); кнопка «Объединить» в окне слияния игроков оставалась серой; экспорт сервера был пустым; а в Windows удаление скачанной базы bearoff и
create --forceзавершались ошибкой.См. Интерфейс командной строки (CLI), Безголовый режим (сервер) и Руководство.
0.34.0 (2026-09-02)
Встроенный оценщик: gammonNet, портированный на Go и скомпилированный в blunderDB, оценивает любую позицию офлайн, без XG или gnuBG — нейросеть, поиск от 0 до 2-ply с отсечением, решение по кубу по Яновскому и таблице матчевого эквити blunderDB, и поиск, учитывающий счёт матча.
Панель Bearoff становится панелью Eval: она показывает факты позиции (шансы на выигрыш, гаммон и бэкгаммон для обеих сторон, эквити), а затем единственное решение, которое требует доска, на стабильной сетке без прокрутки; матчевые эквити нормализованы, и вердикт «слишком хорошо для удвоения» снова виден.
Оценка прогрессивная: 0-ply сразу же при жесте, затем 2-ply в покое, отменяемая любым новым жестом, с меткой глубины, всегда называющей ту, что дала это число.
Вся доска, кости и счёт редактируются прямо там, кликом или клавиатурой, и позиция из библиотеки входит в панель и выходит из неё.
В гонке за пределами двусторонней базы третий, вычисленный режим предоставляет вердикт по кубу при данном счёте, который панель раньше не давала.
Вкладка gammonNet в настройках отделяет глубину отображения от глубины анализа.
После импорта ограниченная, видимая, отменяемая и возобновляемая партия анализа заполняет позиции, вовсе не имеющие анализа, никогда не перезаписывая импортированный анализ; догоняющий анализ существующей библиотеки запускается из интерфейса, новой командой
blunderdb analyzeили в серверном режиме.Заметные исправления: ответ на удвоение, импортированный из eXtreme Gammon, наследовал анализ удваивающего игрока без переворота; нотация ходов Белых и входов с бара теперь следует gnuBG и XG; глубина анализа gnuBG считывается корректно; размер боковой панели запоминается.
См. Панель Eval, Руководство и Интерфейс командной строки (CLI).
0.33.0 (2026-08-26)
В панели статистики появилась вкладка Игроки: три прежние вкладки описывают одного игрока, а эта сравнивает всех — по строке на каждого игрока базы: матчи, победы/поражения, учтённые решения, PR общий / шашки / куб, Snowie Error Rate, бландеры и удача. Таблицу можно сортировать по любому столбцу, ограничивать датами турнира обычными фильтрами, а щелчок по строке переключает на подробности этого игрока. Прочерк означает величину, которая никогда не измерялась, но не ноль. Таблица доступна и в командной строке (
blunderdb list --type players— текст, JSON или CSV), и в режиме сервера.Удача каждого броска теперь сохраняется в базе и отображается: средняя удача за бросок в тысячных долях очка, со знаком. Она считывается при импорте как из файлов eXtreme Gammon, так и из gnuBG. Задним числом она не появляется — у ранее импортированных матчей стоит прочерк, и чтобы её получить, исходные файлы нужно импортировать заново; форматы, которые её не переносят (BGF, Jellyfish
.mat), не дадут её никогда.Вкладка Ошибки теперь показывает не только цену ошибок в решениях по кубу, но и их направление: строка Предложить (упущенные даблы, преждевременные даблы) и строка Ответить (ошибочные пассы, ошибочные тейки). Они намеренно разделены: один и тот же игрок может доблить поздно и брать широко. В каждой ячейке — количество, во всплывающей подсказке — потерянная эквити, а щелчок загружает соответствующие позиции.
Новая команда Сжать базу, возвращающая место, оставшееся после удалений: кнопка в настройках и подкоманда
blunderdb vacuum. Сама по себе она не запускается никогда.Эргономика: разрушительные действия запрашивают подтверждение, идущий поиск обозначается, на неизвестную команду приходит сообщение вместо молчания, а вкладки, закреплённые панели и небольшие диалоги полностью управляются с клавиатуры. Поиск к тому же заметно быстрее.
Заметные исправления: недаблы, помеченные gnuBG как «Double No», считались даблами и искажали PR по кубу (уже накопленную базу можно починить без повторного импорта, в режиме сервера); фильтр по игроку ошибочно сужал знаменатель Snowie Error Rate; экспорт записывал устаревшую схему; а
blunderdb vacuumоткрывал графический интерфейс вместо сжатия базы.
0.32.0 (2026-08-09)
Панель EPC становится панелью Bearoff и получает полный анализ гонки. (Переименована в панель Eval в 0.34.0.)
На чистой позиции bearoff отображаются — помимо EPC, подсчёта пипсов, потерь и среднего числа бросков каждого игрока, теперь представленных в таблице со знаковой строкой Δ — вероятности выигрыша обоих игроков и денежные эквити (cubeless, без удвоения, удвоение/принятие, удвоение/отказ, с разрывом каждого решения от лучшего), а также лучшее решение по кубу.
Два чётко различаемых режима: точный (чтение из двусторонней базы; встроенная база TS-06-06 GNUbg, покрывающая до 6 шашек на игрока) и оценённый (калиброванная свёртка, показывается погрешность — вердикт по кубу никогда не оценивается).
Расширенная база TS-06-11 (точный вердикт до 11 шашек на игрока, 1,2 ГБ) загружается с новой вкладки Bearoff в настройках, с проверкой целостности и возобновлением прерванных загрузок; можно также указать любой двусторонний файл
.bdот gnubg. (Заменено в 0.36.0: таблица вычисляется на самой машине, никаких загрузок.)Режим вызова для тренировки: результаты скрываются при каждом изменении и раскрываются зона за зоной по клику.
Полное редактирование на доске: шашки обеих сторон, игрок на ходу (клик по прямоугольнику снятия/счёта) и позиция куба (клик по кубу).
Клик по доске теперь точен при любом масштабе интерфейса (клик по пункту 1 мог попадать на пункт 2).
Новая команда
blunderdb epcв командной строке и опция--bearoff-tsсерверного режима.Новый раздел руководства, «Методология и допущения панели Bearoff», исчерпывающе излагает допущения, стоящие за каждым отображаемым значением. (Раздел переименован вместе с панелью в 0.34.0.)
0.31.0 (2026-08-04)
Распространение базы среди третьих лиц: два независимых механизма, оба необязательны и выбираются при экспорте.
Водяной знак происхождения записывает в файл, что это такое и откуда оно взялось, подписанный идентичностью издателя, создаваемой самой собой при первом использовании; отметка не поддаётся подделке, читается вверху панели Метаданных (или через
blunderdb info, никогда не записываясь в файл) и ничего не фиксирует на стороне получателя — ни журнала, ни отслеживания.Защита паролем создаёт зашифрованный файл
.dbx(AES-256-GCM, ключ, выведенный через Argon2id), проверяемый при каждом открытии, заголовок которого остаётся читаемым в открытом виде; идентичность экспортируется и импортируется как единый файл из настроек.Окно экспорта переработано: один экран вместо четырёх, напоминание о том, что действительно уходит (отображаемые позиции), покрытая доля каждой коллекции, отмеченная красным при частичном охвате, турниры экспортируются только вместе со своими матчами — и экспорт в три раза быстрее.
Окно настроек реорганизовано в три вкладки (Интерфейс, Цвета доски, Идентичность издателя), со стабильным размером и позицией.
Панель Метаданных перекомпонована в единую сетку.
Панель Журнал, которая получала лишь эхо команд, удалена.
Заметные исправления: неверный пароль больше не открывает защищённую базу; поля модальных окон больше не теряют фокус при клике; вычисление показателей PR/MWC больше не падает на денежной партии; временные файлы (
-wal,-shm, блокировка) очищаются при закрытии.См. Распространение базы: происхождение и пароль и Руководство.
0.30.0 (2026-07-26)
Поиск по комментарию: фильтр «Текст поиска» становится фильтром «Комментарий» и предлагает три взаимоисключающих режима — содержит текст (прежнее поведение, токен
t""слово1;слово2""), есть комментарий (токенco) и без комментария (токенxco) — чтобы одним движением находить прокомментированные позиции или, наоборот, те, что ещё предстоит прокомментировать.Позиции, помеченные в eXtreme Gammon: метки (flags), проставленные при анализе матча XG, теперь считываются при импорте и находятся через фильтр «Помеченная» (токен
fl), сочетаемый с любым другим критерием; помеченное решение по кубу даёт две помеченные позиции — удвоение и принятие/отказ.Поскольку разметка не является ретроактивной, достаточно повторно импортировать соответствующий файл
.xg, чтобы его метки попали в базу, не затрагивая существующие комментарии или анализы.Заметные исправления: PR, отображаемый на значке турнира, теперь относится к эталонному игроку, а не к сумме обоих игроков; колоды Anki, построенные на основе поиска, снова учитывают фильтры этого поиска, а не всю базу; исправлено зависание поиска при сочетании определённых фильтров (текст, дата, ошибка сыгранного хода).
См. Список команд и Руководство.
0.29.0 (2026-07-18)
Экспорт матча в формате Jellyfish/gnubg (
.mat) из интерфейса (панель Матчи), а также из командной строки, с соответствующим серверным маршрутом — удобно для повторного проигрывания матча в другой программе для нард.Поиск: новый различитель «исключённые кости» (токен
xD65, допускается несколько), который отбрасывает позиции, чей бросок совпадает с заданным.Безопасное параллельное открытие: база, уже открытая для записи в другом окне blunderDB, теперь открывается только для чтения (навигация, поиск и анализ по-прежнему возможны, изменения отключены, отметка «[только чтение]» в заголовке окна) вместо риска повреждения.
Происхождение позиций: вне режима матча информационная панель над доской показывает матч — и его турнир — из которого происходит изучаемая позиция, со значком «+N», если она встречается в нескольких матчах.
Повышенная устойчивость к окружению: автоматический откат при недоступности шрифта, буфера обмена или последней открытой базы.
Явная перезагрузка библиотеки (
CTRL-R, кнопка панели инструментов или командаe) заново открывает панель анализа на отображаемой позиции.Заметные исправления: устранено зависание при экспорте больших баз; кнопка «Нет» экспорта, которая на самом деле не исключала ни одного матча; фильтрация комментариев по нескольким словам; устранение дублирования события и турнира в информационной панели; различные визуальные доработки.
См. Список команд, Панель матчей и Руководство.
0.28.0 (2026-07-15)
Панель поиска: единый фильтр «Матчи и турниры», заменяющий текстовые поля идентификаторов окном выбора (списки с фильтрацией по тексту, кнопки Все/Ничего, отметка турнира отмечает его матчи-участники) — быстрее на больших базах, вкладка Матчи и вид Турниры теперь пересчитывают показатели PR/MWC только для отображаемых матчей;
cli list --type tournamentsзакрывает соответствующий пробел паритета.Новый фильтр «Импортирована индивидуально» (флажок группы «Прочее» или токен
iв командной строке,s i; также доступен в CLI через--individual) для поиска позиции, сохранённой или импортированной отдельно, а не затерянной внутри импорта матча.Исправлена потеря данных: удаление матча больше не удаляет индивидуально импортированные позиции, позиции, помещённые в коллекцию, или позиции, включённые в колоду Anki, которые этот матч также содержал.
Серверный режим (headless): шесть новых методов для планировщика интервального повторения Anki — журнал повторений (
anki.reviewLog), прогноз карточек, подлежащих повторению (anki.forecast), приостановка/откладывание/удаление карточки (anki.suspendCard,anki.buryCard,anki.removeCard) и автоматическая настройка целевого удержания колоды к наблюдаемому проценту успеха (anki.optimizeParams, заменён в 0.36.0 наanki.retention, который измеряет наблюдаемый процент, никогда не записывая цель); новый методtenant.purgeдля окончательного удаления данных тенанта в многопользовательском развёртывании PostgreSQL; новые методыmatches.list(фильтрация/сортировка/пагинация) иstats.matchBadges(показатели PR/MWC, ограниченные списком матчей).Нативное распространение для Linux: пакеты
.deb/.rpm, сохраняющие бит исполнения, теряемый при скачивании сырого бинарника.Импорт: после импорта матча теперь отображается вкладка Матчи, и импортированные позиции сразу видны; после импорта отдельной позиции (файл XGP, позиция BGBlitz, текстовый файл позиции, вставленная позиция или пакет позиций) вкладка Анализ теперь открывается сразу на импортированной позиции, а не вкладка Матчи; исправлена вставка анализа eXtreme Gammon на французском или немецком языке с macOS, которая оставалась пустой (акценты разбирались буфером обмена системы на составляющие).
См. Безголовый режим (сервер), Список команд и Загрузка и установка.
0.27.0 (2026-06-13)
Панель Anki: новый режим свободной тренировки (cram), доступный по кнопке Cram рядом с Study, который показывает случайные позиции из колоды, не изменяя график интервального повторения — идеально для разминки перед турниром или интенсивного повторения колоды без нарушения её порядка.
Поиск: новая команда
blunders(псевдонимbl), загружающая худшие ошибки (equity/MWC) прямо в представление анализа, с необязательным числом для выбора количества (bl 50); новый фильтр по игрокуpl'имя', находящий все позиции из матча с участием заданного игрока на любой стороне; и всплывающие подсказки, показывающие при наведении на каждый фильтр панели поиска соответствующий командный токен.Серверный режим (headless): новые методы
matches.movesByMatch(все ходы матча за один вызов) иpositions.epc(Effective Pip Count для обоих игроков).См. Панель Anki и Список команд.
0.26.0 (2026-06-09)
Настройки отображения интерфейса в окне настроек: ползунок масштаба для увеличения или уменьшения всего интерфейса, и выбор положения панелей (внизу, сбоку или автоматически) для лучшего использования широких экранов.
Добавлена информационная панель над доской, напоминающая игроков и контекст матча (событие, место, раунд, дата, длина).
При открытии базы панель матчей теперь сразу отображается, и просмотр начинается с первой позиции.
Клавиатурные сочетания теперь не зависят от раскладки клавиатуры (AZERTY, QWERTY, QWERTZ…).
Исправлено декодирование XGID (флаги Jacoby/Beaver и значение куба).
Добавлены вкладки множественных представлений: несколько независимых рабочих пространств (список позиций, текущая позиция, поиск) с сочетаниями CTRL-T (новое представление), CTRL-W (закрыть), CTRL-PageUp/CTRL-PageDown (переключение представления) и переименование двойным щелчком по вкладке.
0.25.0 (2026-06-07)
Серверный режим (headless): два новых метода для восстановления позиции без её сохранения —
positions.fromXGIDдекодирует строку XGID в позицию, аpositions.fromXGPчитает файл одиночной позиции.xgp.
0.24.0 (2026-06-06)
Добавлен образ контейнера (Docker) для headless-режима: выделенная точка входа
serveиDockerfile.serve, создающий статический бинарный файл без графического интерфейса, для развёртывания движка blunderDB как службы за обратным прокси-сервером.
0.23.0 (2026-06-05)
Добавлены управляемые обзорные туры по интерфейсу (общий тур, поиск, матчи, турниры), воспроизводимые с панели инструментов или командой
tour, а также демонстрационная база, загружаемая командойdemo, чтобы познакомиться с инструментом без импорта собственных партий.Настройка цветов доски (фон, рамка, стрелки, шашки, кости, куб) из окна настроек.
Автодополнение командной строки (клавиша TAB).
Панель поиска: явный выбор типа решения (Шашки / Куб), с подтипом Удвоение / Без удвоения или Принятие / Отказ для решений по кубу, синхронизированный с доской; предлагаемый куб отображается в центре доски для решений о принятии/отказе.
Поиск позиции по её идентификатору (фильтр
id).Исправлено отнесение ошибки по кубу к игроку 1.
0.22.0 (2026-06-02)
Добавлен безголовый (серверный) режим, продвинутый и необязательный, дополняющий настольное приложение: демон
serve, предоставляющий движок по HTTP + JSON, многопользовательский бэкенд PostgreSQL с разделением по тенантам (и Row-Level Security по выбору), командаmigrateдля переноса базы SQLite в PostgreSQL и универсальный диспетчерcall, дающий доступ из командной строки ко всем операциям хранения.Импорт отдельных позиций из новых форматов (eXtreme Gammon
.xgp, текст BGBlitz, нативная библиотека.db) с обогащением дубликатов между форматами.Исправления: панели больше не вызывают ошибку, когда ни одна база не открыта, а панель Комментарии больше не зацикливается при открытии.
0.21.0 (2026-06-01)
Интернационализация интерфейса: весь интерфейс blunderDB (панель инструментов, панели, сообщения, справка) теперь может отображаться по выбору на английском, французском, немецком, итальянском, испанском, финском, японском, греческом или русском языке.
Добавлено окно настроек, доступное через кнопку в виде шестерёнки на панели инструментов, позволяющее выбрать язык.
Выбор языка сохраняется от сеанса к сеансу.
См. Конфигурация.
0.20.0 (2026-05-31)
Добавлена структура исключения Except на панели поиска: исключает позиции, содержащие одну из нарисованных шашек, с маркером «должно быть пусто» (двойной щелчок) и неограниченным числом шашек на пункт (команда
x).Добавлена опция «только первая кость» в фильтр броска (вариант D1, опция CLI
--dice).Панель Комментарии: автоматический фокус на поле ввода при открытии, кнопки редактирования/удаления всегда видны.
Исправлен фильтр «Search Text», который находил не все теги комментариев.
0.19.0 (2026-05-07)
Добавление панели Статистика: показатели PR (Performance Rating), Snowie Error Rate и MWC cost (стоимость шанса выиграть матч), панель фильтров (игрок, турнир, даты, тип решения, длина матча), вкладка Dashboard с карточками уровня / скользящим PR / топом бландеров, вкладка Прогресс с кривой по турнирам и диаграммой рассеяния по матчам, вкладка Ошибки с распределением по действиям с кубом и гистограммой величин.
Интерактивный drill-down к позициям / матчам / турнирам из всех показателей.
Мгновенное переключение PR / MWC.
Команда CLI list –type stats.
Согласование показателей PR / Snowie ER / MWC с eXtremeGammon и gnuBG (порог эквити 0.16 для близких кубов).
Исправлено вычисление cube_error для решений Double/Pass.
Документация модели статистики (Приложение: Модель статистики — выравнивание XG / gnuBG / blunderDB).
См. Панель Stats.
0.18.0 (2026-04-20)
Крупный рефакторинг кода: разделение db.go (10 тыс. строк) на 19 специализированных файлов, извлечение 7 сервисных модулей из App.svelte (4888→469 строк), консолидация модальных/панельных сторов.
Полная миграция на руны Svelte 5.
Замена 9 табличных модальных окон общим компонентом DataTableModal.
Добавлены ESLint + Prettier + vitest (125 фронтенд-тестов) с CI.
Соответствие WCAG 2.1 AA (видимый фокус, роли ARIA, навигация с клавиатуры).
Переход мьютекса Database на RWMutex для лучшего параллелизма чтения.
Полная документация CLI (CLI_USAGE.md + Sphinx FR/EN).
Переписан README.
Исправлены все предупреждения ESLint (46→0) и Vite (6→0).
0.17.0 (2026-04-20)
Оптимизация хранения: сжатие zlib данных анализа (~80% сокращение), компактное кодирование позиций (~90% уменьшение размера).
Добавлены 5 недостающих индексов для повышения производительности поиска.
Исправлен поиск по ошибке куба.
Исправлен режим EDIT после поиска без результатов.
Восстановление состояния панели поиска при переключении вкладок.
Удалены 62 отладочные инструкции из критических путей.
0.16.0 (2026-04-18)
Схема базы данных v2.0.0: дедупликация позиций через хеш Зобриста, денормализованные столбцы фильтрации, предфильтр шаблонов на битбордах, журналирование WAL (Приложение: Схема базы данных).
Пакетный импорт в >=3 раза быстрее, фильтрованный поиск <=100 мс на 10k+ позициях.
ПРИМЕЧАНИЕ: файлы DB, созданные с v0.16.0, не могут быть открыты более старыми версиями; старые DB автоматически мигрируются на месте (сначала сделайте резервную копию).
0.15.0 (2026-03-31)
Экспорт позиции в PNG-изображение в буфер обмена (только доска через Ctrl+X, или доска с анализом через Ctrl+X Ctrl+X).
0.14.0 (2026-03-30)
Выделенная панель Anki для изучения методом интервального повторения (алгоритм FSRS).
Импорт комментариев из файлов XG.
0.13.0 (2026-03-28)
Упрощение интерфейса: навигация по матчам и коллекциям теперь выполняется непосредственно через панели.
Командная строка, интегрированная в строку состояния.
Панель Консоль переименована в панель Log. (Панель удалена в 0.31.0.)
Выделенная панель Bearoff в нижней панели.
Копирование/вставка позиции в панели поиска.
Перетаскивание для изменения порядка коллекций, позиций в коллекциях и матчей в турнирах.
Столбец турнира в панели матчей со встроенным редактированием.
Автоматическое отображение панели анализа после поиска.
0.12.0 (2026-03-19)
Импорт файлов позиций eXtreme Gammon (XGP) с анализом.
0.11.0 (2026-03-06)
Фильтр для поиска среди текущих позиций.
Добавление фильтров по матчу и по турниру.
Автоматическая очистка доски при открытии панели поиска.
0.10.0 (2026-02-25)
Импорт матчей из eXtreme Gammon (XG/XGP), GNUbg (SGF), Jellyfish (MAT/TXT) и BGBlitz (BGF/TXT).
Навигация по матчам: просмотр ходов импортированного матча с подсветкой сыгранного хода.
Панель матчей: список, сортировка, встроенное редактирование, смена игроков, назначение турнира.
Рекурсивный импорт из папки и импорт перетаскиванием.
Калькулятор EPC (Effective Pip Count) со встроенной базой данных bearoff GNUbg. (Заменено в 0.36.0: таблица вычисляется на самой машине, ни одна больше не встраивается.)
Коллекции: пользовательская группировка позиций.
Турниры: группировка матчей по событию.
Сохранение и восстановление состояния сессии (последний поиск, текущая позиция).
Автоматическая миграция схемы базы данных.
Отображение нескольких движков в анализе.
Фильтр ошибок/бландеров игрока 1 при поиске.
Экспорт базы данных с детальным выбором (матчи, коллекции, турниры, сыгранные ходы).
Кнопка навигации по матчам.
Отображение подсчёта шашек (pipcount) в навигации по матчам.
Полный интерфейс командной строки (CLI).
Автоматическое открытие последней базы данных.
Улучшение панели инструментов и иконок.
0.9.0 (2025-11-02)
Исправление ошибки в библиотеке фильтров.
Импорт/экспорт базы данных.
Отображение стрелок для выбранных ходов.
Горячие клавиши для импорта/экспорта.
0.8.0 (2025-05-03)
Новая кнопка для скрытия подсчёта шашек.
Кнопка загрузки случайной позиции.
0.7.0 (2025-02-16)
Поддержка японского и немецкого языков в экспорте XG.
0.6.0 (2025-02-13)
Добавление библиотеки фильтров.
Отображение версии базы данных в метаданных.
0.5.0 (2025-02-04)
Добавление новых фильтров (зеркало, нет контакта, блот в яне, блот в аутфилде).
0.4.0 (2025-02-03)
Исправление различных ошибок.
Добавление иконки для blunderDB.
Исправление фильтров.
Добавление поддержки macOS.
0.3.0 (2025-01-27)
Исправление различных ошибок.
Автоматическое сохранение размера окна.
Импорт комментариев из XG.
0.2.0 (2025-01-06)
Исправление различных ошибок.
Добавление таблиц матчей/TP/GV.
Добавление фильтров поиска (ходы, решение видо, дата).
Добавление метаданных для позиций.
Функция импорта/экспорта между экземплярами blunderDB.
Добавление функции метаданных для баз данных.
Введение номеров версий (база данных и приложение).
0.1.0 (2024-12-31)
Создание бета-версии.