@CORRUPTOR2037 CORRUPTOR2037 released this Aug 8, 2018 · 2 commits to master since this release

Assets 3
  • Улучшение сценариев и обработки текста
    • speech:extract-data позволяет выделять текстовые аргументы из текста
    • В сценариях можно запрашивать речь определённого формата: "да/нет", числа, даты
    • Сценарии не пересекаются с малоприоритетными репликами
    • Сценарии не реагируют на несвоевременную речь пользователя
    • На DeskChan:request-say можно посылать не только сообщения определённого намерения, но и текст, который будет обработан (DeskChan:say выводит на экран только необработанный текст)
    • В сценариях для отправки реплик от лица персонажа теперь используется DeskChan:request-say, а не DeskChan:say
  • Новые возможности для внешних плагинов
    • Поддержка открытия HTTP сервера
    • Сервер предоставляет API, полностью аналогичное API плагинов, но поддерживает несколько клиентов
    • Сервер принимает в качестве параметров: ip, порт, постфикс, задержка обработки
    • Изменён формат API для внешних плагинов, работающих на I\O потоках
    • Поддержка плагинов на Python версий меньше 3-ей
    • Загрузчик внешних плагинов поддерживает манифест-файлы
    • В манифестах для python плагинов можно указывать свойство "python-dependencies", в котором прописывается список требуемых для запуска библиотек (проверка на наличие библиотек проводится через "pip list")
    • Улучшена ловля ошибок
  • Анимация
    • Анимация персонажа с помощью gui:add-character-animation, сброс анимации персонажа с помощью gui:drop-character-animation
    • Возможность добавлять на экран пользовательские спрайты и анимировать их через gui:set-sprite
    • Можно получать информацию о текущем спрайте персонажа через gui-events:character-sprite-changed
    • Первый клик по облачку пропускает анимацию текста, второй клик закрывает его
  • Оптимизация и улучшения
    • Уменьшен размер занимаемой оперативной памяти
    • Сборщик мусора JVM вызывается по таймеру, частоту которого можно регулировать
    • Облачка не пересоздаются при каждом вызове
    • Список команд выдаётся в читаемом виде
    • Механизм альтернатив встроен в API плагина
    • Класс MessageMapData внутри API плагина позволяет забыть о бесконечных неудобных переконвертациях при обработке сообщений
    • Сообщение "core-utils:download" для скачивания файлов
  • Исправлены баги
    • Исправлен баг с невлезанием опций при смене размера шрифта
    • Исправлен баг с вылезающей ошибкой при отключении плагина на питоне
    • Команда terminal отключает плагин GUI превентивно
    • Исправлен баг с выделением аргумента Text из текстовых запросов
    • Исправлен баг со шрифтами на системах с азиатской локалью
    • Исправлен баг с неправильной подсветкой кнопок в опциях
    • Исправлен баг с загрузкой пресетов
    • Окно создания командных связок корректно обрабатывает пустые поля аргументов
    • Тень персонажа теперь сохраняется
    • Исправлен баг с неправильным размером объектов управления (например, содержимое чата не помещалось в границах, окно редактирования связок событий-команд растягивалось на весь экран)
    • Модуль сценарием умеет открывать UTF-8 BOM файлы (но другие плагины всё ещё не умеют)
    • Исправлен баг с неработающей командой scenario:run-scenario
    • Исправлен баг с неправильно обработкой горячих клавиш
    • Исправлен баг с сохранением командных связок
    • Программа выдаёт сообщение о необходимости установки JavaFX, если таковая отсутствует, а не выдаёт ошибку
    • Исправлен баг в плагине погоды
Aug 8, 2018
Fixed bugs II

@CORRUPTOR2037 CORRUPTOR2037 released this Jun 9, 2018 · 17 commits to master since this release

Assets 3
  • Локализация
    • Сравнение фраз происходит на латинице. Поэтому сравнение английских слов работает лучше, программа понимает русские слова на латинице.
    • Введены фразы на английском языке.
    • Пакеты фраз могут содержать фразы на нескольких языках.
    • Все названия плагинов переведены на русский.
    • Локализованы меню с вариантами выбора.
    • Большинство команд и событий имеют справку на двух языках.
  • Стилизация
    • Поддержка внешних файлов стиля.
    • Полный редизайн программы.
    • Поддержка окон без рамки, полупрозрачных окон.
  • Улучшение интерфейса
    • Новое API работы с панелями: gui:set-panel, позволяющее удобнее координировать свои формы.
    • Вкладка "Команды" имеет альтернативный вид с раскрывающимися списками.
    • Добавление и редактирование команд производится через специальную форму с сопровождением справки.
    • Можно самому настраивать пункты в меню правой кнопки мыши через событие "gui:menu-action".
    • Новый управляющий элемент: Менеджер ассетов, через который удобно управлять включёнными ассетами.
    • Новый управляющий элемент: гиперссылка
    • Кнопка "?" в чате и облачке для запроса справки.
    • По правому клику на облачко персонажа открывается облачко пользователя.
    • DeskChan:say возвращает ответ, когда фраза действительно была произнесена. DeskChan:just-said вызывается, когда только что действительно была произнесена фраза.
    • Чат ловит все сообщения пользователя, а также вовремя получает сообщения персонажа.
    • Окошко с мини-справкой для плагинов внутри вкладки "Плагины".
  • Реакции
    • Плагин Реакций позволяет удобно включать и отключать мелкие реакции персонажа на происходящие в программе события
    • Реакции по умолчанию: перетаскивание, клики, отказ от выполнения команд
  • Поддержка конфигураций персонажа
    • Конфигурации персонажей хранятся в assets/characters.
    • Конфигурации позволяют полностью активировать все ассеты персонажа разом: скины, характер, фразы, модули реакции.
  • Сценарии
    • API сценариев сильно увеличено (полный список на вики).
    • Исправлены баги с запуском сценариев.
    • Сценарии полностью поточны.
    • Внедрён начальный сценарий настройки и обучения программе.
    • Команда scenario:run-scenario позволяет запустить конкретный сценарий.
  • Плагины типа I/O
    • Внешние плагины типа I/O запускаются не на JVM, а как отдельный процесс, обмен информацией происходит по потоку ввода-вывода с помощью JSON.
    • Потенциально, загрузчик таких плагинов может работать с модулями на любых языках программирования, при наличии на другой стороне маленького поточного обработчика данных.
    • На данный момент написано обработчик со стороны Python 3. Библиотека обработчика данных лежит в папке lib. На форуме есть пример такого плагина. Для работы обязателен установленный на компьютере Python.
  • Распознавание речи
    • Внутрь поставки внедрено распознавание речи через сервис Wit.AI, требует наличия сети.
    • Можно выбирать, выполнять ли сразу запрос или перепроверять в пользовательском облачке.
  • Уведомления
    • Добавлено API для увведомлений: DeskChan:notify.
    • Органайзер отсылает уведомления, а не текст для произнесения.
    • Добавлен модуль, хранящий историю уведомлений.
  • Мелкие улучшения
    • Плагин "Советы", который даёт вам советы.
    • Модуль "Помидорки", организующий работу по временным промежуткам (загуглите, если не знаете, что это).
    • Событие "Выполнение команд по расписанию" - organizer:add-shedule.
    • Команда "Проверка наличия сети".
    • API персонажа расширено: gui:set-character-position, gui:is-character-visible.
    • Вы можете отменить запрос пользователя речи с помощью DeskChan:discard-user-speech, речь будет отправлена дальше по потоку.
    • Чат чинит раскладку клавиатуры, только если текущий запрос был неудачен.
    • Вы можете ввести комибанцию символов "./" перед текстом запроса, весь запрос будет автоматически отправлен в терминал для выполнения.
    • Трансформаторы речи и реакции перенесены в папку assets.
    • Централизованный кроссплатформенный модуль открытия папок, файлов и ссылок, обращаться через core:open-link.
    • Смена языка перемещена из гуи в ядро.
    • Трансформатор речи - "КАПС"
    • Уровни логгирования программы.
    • Рефакторинг кода.
  • Речь персонажа
    • Фразы интегрированы в поставку, теперь нет нужды их докачивать при первом запуске.
    • Добавлен классификатор речи. Пока что используется только сценариями.
    • Поддержка баз данных: файлы с фразами, которые используются для обучения классификатора речи, но не используются для общения программой.
    • Добавлена возможность встраивания выполняемых блоков внутрь фраз. Пока что не используется.
    • Плагины могут добавлять в программу свои пакеты фраз через talk:add-plugin-phrases. Пользователь не может их отключить.
  • Исправлены баги
    • Исправлен баг с кодировкой модулей.
    • Исправлен баг с уходом в бесконечные ошибки при наборе текста с клавиатуры.
    • Исправлен баг с неполным выключением программы.
    • Исправлен баг с невозможностью открыть файл облачка.
    • Исправлены многочисленные баги в плагине погоды, теперь он не уходит в бесконечные ошибки из-за отсутствия сети.
    • Таблица клавиш оптимизирована под разные операционные системы.
    • Трей можно отключить, чтобы программа не зависала при отсутствии трея в системе.
    • Исправлен баг с зависающей анимацией персонажа.
    • Исправлен баг с многократной обёрткой форм в элементы прокрутки.
    • Исправлены баги в трансформаторах речи.
    • Калькулятор не требует наличия сети.
Jun 9, 2018
Fixed tests

@CORRUPTOR2037 CORRUPTOR2037 released this Feb 26, 2018 · 105 commits to master since this release

Assets 3
  • Улучшения интерфейса
    • Новый дизайн облачка
    • Новое окно настроек
    • Облачко для ввода команд (на ALT+Q)
    • Всплывающие окна-уведомления об ошибках
    • Комментирование ошибок персонажем
    • Кеширование окна настроек
    • Всплывающее окно с просьбой об ожидании
  • Визуальные улучшения
    • Поддержка облачек в виде растровых изображений
    • Плавная смена спрайта
    • Поддержка спрайта LOADING
    • Снова работают другие форматы изображений помимо .png в качестве спрайтов
    • Возможность устанавливать разные облачка для пользователя и персонажа
  • Плагин Видоизменение речи
    • Речь будет видоизменяться в зависимости от характера
    • Модульная структура плагина, что позволяет очень просто добавлять, удалять и отключать отдельные операции видоизменения речи
  • Обновления в API
    • Работа с окнами, вкладками и подвкладками теперь проиводится через gui:set-panel
    • Плагины могут добавлять свои технические пакеты спрайтов (не тестировалось)
    • Сообщения core-events:log, core-events:error
    • Элемент управления - Separator, Hyperlink, DirectoryField
  • Исправлены баги
    • Исправлен баг с невозможностью загрузки пресета
    • Исправлено некорректное считывание клавиш клавиатуры
    • Исправлен баг с неправильной загрузкой локализационных файлов внешних плагинов
    • Исправлен баг с невозможностью отключения пакетов спрайтов
    • Исправлен баг с подтверждением смены режима отображения
  • Подготовлено к распознаванию речи

@CORRUPTOR2037 CORRUPTOR2037 released this Dec 17, 2017 · 138 commits to master since this release

Assets 3
  • Секундомер
  • Улучшение интерфейса
    • Изменение размеров облачка
    • Возможность показывать на экране только облачко
    • Отключение форсирования интерфейса поверх всех окон
    • Улучшено меню горячих клавиш
    • Файл стиля интерфейса вынесен в отдельный файл
  • Обновлены некоторые команды
  • Исправлено много багов

@CORRUPTOR2037 CORRUPTOR2037 released this Dec 14, 2017 · 150 commits to master since this release

Assets 3
  • Улучшен интерфейс
    • Постепенное появление текста
    • Новые элементы управления: выбор шрифта, цвета
    • Несколько элементов управления можно умещать в одну строку
    • Расширение настроек чата
    • Можно масштабировать интерфейс и менять шрифт
    • Автоматическое увеличение интерфейса на больших DPI
    • Исправлен баг с центрированием текста в облачке
    • Новые сообщения: gui:show-custom-submenu, gui:set-balloon-font, gui:set-interface-font, gui:show-options-dialog
    • Можно попросить персонажа спрятаться или появиться на экране
    • Настраваемая тень у персонажа и облачка
  • Масштабный рефакторинг
    • Переписан оператор команд
    • Документация внутри ядра
    • Документация внутри gui
    • Полный рефакторинг системы характера
    • Расширение интерфейса плагина: таймеры, конфиг
    • Новый механизм альтернатив
    • Новый механизм передачи списка команд событиям через core:update-links
    • Теперь можно сравнивать фразы через сообщение "speech:match"
  • Горячие клавиши
    • Создаются через вкладку "Команды" на событии "gui:keyboard-handle"
    • Можно указывать как названия клавиш, так и их код
    • Узнать код клавиши можно в подменю "Горячие клавиши" во вкладке "Плагины"
  • Улучшения в плагинах
    • Калькулятор не ломается на пробелах
    • Перенаправление поиска в интернет через "найди в интернете"
    • В качестве сообщения для команды можно указывать Map
  • Плагин Радио
    • Попросите персонажа включить вам радио и он включи
    • Можно добавлять свои радиостанции, вставив в чат ссылку на поток
  • Плагин чат игрушек
    • "Брось кубик"
    • "Случайное число"
    • "Посоветуй"
    • "Выбери из"
    • "Какой день", "Какое время"
  • Исправлены баги
    • Исправлены падения программы
    • Исправлен баг с выводом погоды при любом запросе
    • Исправлены неправильные извлечения аргументов из запроса
    • Теперь можно удалять конкретные связки изнутри кода
    • Исправлен баг с многочисленными произношениями фраз при кликах
    • Теперь персонаж не произносит "Я не знаю, что сказать"
    • Кнопка "Загрузить плагин" теперь может загружать не только плагины в папках, но и файлах
Dec 13, 2017
Update README.md

@CORRUPTOR2037 CORRUPTOR2037 released this Oct 23, 2017 · 176 commits to master since this release

Assets 3
  • Поддержка сценариев
    • Теперь можно писать сценарии и запускать
    • Язык сценариев находится на доработке, само из использование тоже
    • Нигде в программе они пока не используются по назначению
  • Новый язык шаблонов
    • Теперь можно писать не только набор слов, но и простенькие регулярные выражения (не те, к которым вы привыкли)
    • Обратная совместимость сохранена, можно и так же продолжать просто писать слова
  • Чтение чисел и времени из чата
    • Теперь программа может считать конструкции типа "сегодня в 12 30", "после послепосле послезавтра", "полторы недели назад", "пять часов вечера 30 минут 29 июля", "три миллиона", ...
    • Органайзер благодаря этому теперь можно использовать и через чат
  • Новое облачко
    • Теперь облачко вынесено в файл по адресу assets/bubble.svg, его можно заменить или удалить
    • Удалите этот файл, чтобы вернуть старую версию облачка
  • Модуль работы с ПК
    • Напишите в чате "открой", чтобы запустить файл, скрипт или веб-страницу
    • Также по команде можно выключать компьютер
    • Список запускаемых команд можно найти в файле data/system_help/links, его можно дополнять и переписывать
  • Общение через терминал
    • Теперь можно активировать специальную опцию, которая переключит общение с персонажем на терминал
    • Возможность введена в крайне простом виде для целей тестирования программы, но её можно дописать
  • Исправлены баги
    • Меньше лагов при переключении режимов отображения
    • Исправлено зависание на Arch Linux из-за трея
    • Заметно улучшено сопоставление слов, программа лучше реагирует на окончания слов

@CORRUPTOR2037 CORRUPTOR2037 released this Sep 13, 2017 · 195 commits to master since this release

Assets 3
  • Обновлена система организации плагинов
    • Теперь для каждого плагина можно указывать разнообразные свойства, такие как "автор", "версия", "описание", "путь до файлов локализации" и т.д.
    • Внутренние плагины теперь могут быть извлечены во внешние
    • Во вкладке "Плагины" теперь отображается указанная информация о плагинах
    • Плагины на Groovy могут просто указать путь до файлов локализации, а не реализовывать их парсер вручную
  • Улучшен чат
    • Теперь пишутся имена пользователя и персонажа
    • История прокручивается, можно указывать длину чата
  • Улучшены режимы отображения
    • Новые режимы отображения
    • Старые работают как надо
    • Режим SEPARATE для пользователей MacOS
    • Плагины могут создавать пункты меню и подменю в трее и сами их называть
  • Исправлены баги
    • Чат лучше реагирует на неверную раскладку
    • Чат лучше реагирует на команды
    • Для обновления погоды не обязательно перезагружать программу
    • Исправлен баг с треем для MacOS