Logical Path обновление 7.0.0

Доброго времени суток, создаю обучающий симулятор по сборке своего процессора, где мы в игровой форме изучим и соберем настоящий процессор.
И сегодня хочу представить вам новое обновление, главные особенности которого:
Глобальное обновление редактора
Улучшение интерфейса
Подробнее под катом

Logical Path обновление 7.0.0

Описание обновления

Если вы встречаете этот проект в первый раз, рекомендую вам сперва ознакомиться с этой статьей

Цели этого обновления были улучшения редактора и интерфейса. После всех изменений проект стал выглядеть более профессионально. Было добавлено очень много полезных функции и улучшений, таких как: глобальный буфер обмена, возможность сохранять/загружать схемы из файла, возможность перетаскивать участки схемы и многое другое.

Также был полностью переработан дизайн и обе цветовые схемы:

Светлая тема

Темная тема

Ну а теперь приступим к самому вкусному:

Список изменений:

Глобальное улучшение редактора

  • Добавлены вкладки, возможность работать с множеством схем в одной сессии (реализация многодокументного интерфейса с вкладками)
    В прошлой версии редактор мог работать только с одной схемой
Logical Path обновление 7.0.0
  • Сохранение/загрузка схем в файл
  • Окно выбора файла
Logical Path обновление 7.0.0
  • Область выделения стала глобальной и теперь доступна вне инструмента "выделить", в том числе теперь всегда доступны эти функции:
    Выделить всю схему (Ctrl + A)
    Инвертировать выделение (Ctrl + I)
    Снять выделение (Ctrl + D)
    Удалить выделенную часть схемы (Delete)
    Копировать/Вставить/Вырезать (Ctrl + C/V/X)

  • Копировать/Вставить/Вырезать стали глобальными и теперь работают с буфером обмена через текст, что позволяет очень просто переносить разные части схем между вкладками или делиться ими в сообщениях/форуме/дискорде
  • Улучшение камеры:
    Позиция мыши как центр масштабирования
    Возможность сбросить состояние камеры, положение и масштаб, через (Alt + R)
  • Добавлена строка меню, откуда можно получить доступ ко всем основным функциям редактора
  • Добавлена строка управления, где находятся:
    Отменить/повторить
    Приблизить/отдалить
    Контроль времени
    Элементы управления текущего инструмента

Logical Path обновление 7.0.0
  • Вывод вопроса о сохранении при закрытии схем. Если есть изменения, то выводится диалоговое окно с вопросом сохранить изменения или нет
  • Автоматическое закрытие всех открытых схем при выходе из редактора, в том числе и при закрытии программы
  • Новые варианты сетки:
    Точки
    Комбинированный (Шахматное поле + Точки)

  • Сохранение состоянии проводов при удалении объектов и проводов. Теперь при восстановлении элементов схемы, через "Отменить", будут восстановлены и состояния проводов для них. Это нужно для таких схем где состояние проводов используются как элемент памяти
  • Теперь клик по многобитному вводу открывает панель для ввода значения, вместо генерации случайного числа
    Панель всегда открывается в противоположную сторону от поворота объекта
    Любые события за пределами панели, сразу закрывают её
    Работает во всех трех режимах (редактор, теория, практика)

Logical Path обновление 7.0.0
  • Возможность применить глобальные трансформации к схеме:
    Повернуть на 90/-90/180 градусов
    Отразить по горизонтали/вертикали
    Выровнять по центру
  • Возможность скрывать/показывать панели редактора
  • Возможность менять позицию панели вкладок: вверху или внизу

Инструменты:

  • Новый инструмент "Ластик"
  • Новый инструмент "Перемещение"
    Возможность двигать объекты, соединения, а также выделенные части схемы
  • Инструмент "Выделить": Изменен хоткей: e -> m
  • Инструмент "Вставка":
    Возможность вращать и зеркалить буферную схему
    Игнорирование элементов которые совпадают с схемой
    Если элементы, объекты или провода, из буфера совпадают с элементами на схеме, то они рисуются синим и не вставляются в схему
    При этом состояние проводов вставляются всегда, что может быть использовано, чтобы копировать состояние одной схемы поверх другой. К примеру ячеек памяти
    Shift для принудительной установки объектов
  • Добавлена обводка объектов под мышкой

Объекты

  • Добавлена возможность отражать объекты по горизонтали и вертикали
  • Многобитный ввод/вывод:
    Убрано свойство "Reverse bit order", так как теперь этот функционал выполняют отражения
  • Добавлены два новых символа: минус, больше

Окно редактирования свойств объектов

  • Полностью переделаны все окна связанные с редактированием свойств объектов. Они стали более удобные и красивые
  • Добавлена локализация для русского языка
  • Ввод значения для мультибитного ввода
    Теперь поддерживает 3 способа ввода: текст, слайдер, отдельные биты
  • Компоненты ввода подстраиваются под тип отображения (десятичный знаковый, десятичный беззнаковый, шестнадцатеричный)
  • Hex числа теперь отображаются без префикса "0x"
  • Символ: выбор иконки вместо текста
Logical Path обновление 7.0.0
Logical Path обновление 7.0.0
Logical Path обновление 7.0.0

Учебник

  • Добавлена прокрутка статей с помощью: пробела | home/end | стрелки вверх/вниз
  • Кнопка "сбросить схему" в практике: при нажатии теперь показывает диалоговое окно с подтверждением, и подсказкой что действие можно отменить
  • Умное позиционирование статей: если панель "выбора статьи" при открытии не перекрывает статью, то статья остается на месте, иначе она сдвигается и центрируется по правой стороне

Полностью переработан и улучшен интерфейс

  • HD текстуры для элементов схемы
Logical Path обновление 7.0.0
  • Разделители между панелями интерфейса
  • Полностью переработаны обе цветовые схемы
    Светлая тема стала более светлой и менее серой
    Темная тема стала более контрастная

  • Дизайн всех кнопок был улучшен
  • Логика всех кнопок была улучшена, теперь нажатие засчитывается только когда мышь нажали, а затем отпустили над этой же кнопкой
  • Исправлен рендер внутреннего прямоугольника с закругленными краями в Input/Output, теперь внутренние углы правильно совпадают с внешними
Logical Path обновление 7.0.0
  • Улучшен дизайн Checkbox и RadioButton
Logical Path обновление 7.0.0
  • Добавлена тень к модальным окнам
  • Добавлены кнопки патреона и itchio в боковую панель
  • Улучшен скроллбар
  • Скролл "выбора статьи" теперь следует за выбранной статьей, если она оказался за пределами видимости
  • Улучшен внешний вид титров
  • Улучшена помощь по-управлению
Logical Path обновление 7.0.0
  • Улучшена обучающая панель в практике
  • Улучшено окно редактирования профиля
  • и много других изменении...

Особенности

  • F1 - контекстная помощью по управлению во всех трех режимах (редактор, теория, практика)
  • Вывод патронов, которые активны при разработке данной версии, в главном меню
  • Переход на Java 8
  • Поддержка графического планшета

Опции

  • VSync включен по-умолчанию
  • Опция "Запускать тики после загрузки" была перенесена в "Файл > Запускать тики после загрузки схемы"
  • Опция "Сетка мира" была перенесена в "Просмотр > Показывать сетку"

Багфиксы

  • Исправлен баг когда управление в Инструменте "Провод" в режиме строительства "нажать и тянуть" инвертировалось, если мышь отпустили за пределами пространства схемы

Статистика

Это самое крупное обновление из всех, и вот немного интересной статистики:
На разработку обновления ушло 4,5 месяца

На составление и сортировку списка изменений ушло около 5 дней, а исходный список изменений занимает 670 строк

Был сделан 371 коммит, а всего коммитов в проекте 804. Из чего следует, что около 46% всех изменений в проекте было сделано в этом обновлении

Было изменено 562 файла (редактирование/добавление/удаление). 411 из которых файлы кода

Планы на следующие апдейты

Планирую выпустить еще пару фич для редактора, так что будут еще версии 7.0.0+
В частности планирую добавить:

  • Возможность ставить заметки на схемах
  • Цветные провода
  • Многобитные провода
  • Области

8.0.0 будет посвящена либо статьям по созданию памяти (регистры, озу), либо игровому режиму. Смотря что будет более актуальным

Заключение

Надеюсь вам понравится это обновление. Делитесь своими мыслями и предложениями в комментариях. Также делитесь вашими схемами в нашем дискорде

Буду очень благодарен за любую поддержку, будь то репост в социальные сети или донат на патреоне, так как разработка такого проекта отнимает очень много времени и сил

Ссылки

Скачать последний билд можно тут: https://goodcrafter.itch.io/logicalpath
Discord: https://discord.gg/h7rMacq
VK: https://vk.com/gcgame
Patreon: https://www.patreon.com/logical_path

Это не первый мой проект, и буду очень рад если вы ознакомитесь и с другими моими играми:

Особая благодарность патронам поддержавшим выход этой версии

  • SH42913
  • Astor_78
  • JackNight
  • kewldan
7171
24 комментария

Смотрю на скрины — и флэшбэки с универа )
Много людей играют?

4
Ответить

Статистика на itchio за все время:

5
Ответить

Как по мне идея и проект крутетцкие...
Единственное что может стоить взять на заметку - перерисовать гейты под европейские стандарты? Например вот... Да и оптически они имхо удобнее.

3
Ответить

Или возможность переключать вид в настройках.

5
Ответить

Спасибо
Имхо, но это вкусовщина, мне например удобнее и привычнее стандарт ANSI, так как сразу понятно что это за вентиль чисто по форме.
А вообще идея с переключением внешнего вида на разные стандарты (в том числе и на российский гост) есть и записана в ToDo, но как скоро её реализую сложно сказать

3
Ответить

Комментарий недоступен

2
Ответить

О, интересно. На днях листал vhdl, интересно попробовать что-то посимуллировать из простого

1
Ответить