Как CLI и приложение совместно используют состояние
Приложение владеет состоянием активного проекта; большинство команд CLI обращаются к нему через API.
Настольное приложение владеет активным проектом, подключением к станку и состоянием сервиса. Большинство команд CLI обращаются к этому состоянию через локальный HTTP API приложения. Сам интерфейс использует Tauri IPC для вызова общего сервиса; для обычной работы настольного приложения включать HTTP-сервер не требуется.
Команды, работающие с текущим состоянием
agent state, открытие и сохранение проекта, рендеринг дизайна, экспорт векторной графики и управление станком обычно требуют API-сервера приложения. Включите Local API в общих настройках и отключите сетевой доступ, если CLI работает на том же компьютере.
Эти команды работают с текущим проектом приложения. Если скрипт откроет другой проект, содержимое, которое видит пользователь настольного приложения, изменится.
Рендеринг
Рендеринг дизайна выполняется серверной частью и не требует отображения холста. Однако API-сервер по-прежнему необходим. Рендеринг наложения камеры запрашивает у интерфейса рендеринг текущего наложения, поэтому для него также требуется ответ интерфейса настольного приложения.
Прямые локальные команды
Для справки, списка последовательных портов и позиционной команды export gcode API-сервер не требуется. Автономный экспорт G-code загружает указанный проект и сохраненный локально профиль станка через общий проверенный генератор. Он не может прочитать положение работающего станка. См. Вывод G-code.
Параллельные изменения
Транзакции дизайна проверяют снимок проекта перед фиксацией. Если проект изменился, был заменен или закрыт, транзакция завершается ошибкой, а новое состояние не перезаписывается. Обновите состояние и заново оцените запрошенные изменения перед повторной попыткой.
Изменения проекта на стороне сервиса помечают проект как измененный, чтобы настольное приложение могло показать несохраненную работу. Сохранение, восстановление и отмену действий не следует рассматривать как независимые копии проекта.
Состояние интерфейса
CLI не предоставляет доступ ко всем действиям интерфейса. Выбор инструментов, открытие диалоговых окон и изменение расположения панелей остаются действиями в настольном приложении.