Skip to content

Drill live-run banner on Operations screen#703

Merged
fixcik merged 8 commits into
masterfrom
worktree-feat+drill-live-banner
Jun 17, 2026
Merged

Drill live-run banner on Operations screen#703
fixcik merged 8 commits into
masterfrom
worktree-feat+drill-live-banner

Conversation

@fixcik

@fixcik fixcik commented Jun 17, 2026

Copy link
Copy Markdown
Owner

Closes #699. Часть эпика #697.

Live-баннер активного прогона сверловки в левой колонке экрана «Операции»: пульсирующая точка + фаза, имя шага, кнопка Стоп (мягкая остановка), счётчик Отверстие N/M, инструмент Сверло Ø<d> мм, процент и прогресс-бар.

Как устроено (без правок Rust)

  • App-root drillRunStore (zustand) наполняется существующими broadcast-событиями drill-run://state|progress|toolchange|done|error + drill_run_status() при монтировании (re-attach посреди прогона).
  • Слушатель useDrillRunLiveListeners смонтирован на корне главного окна → баннер привязан к активному прогону и переживает смену таба/проекта (не завязан на currentPath).
  • Стопapi.drillRun.stop() (работает из любого окна, станок один). Клик по телу → открыть/сфокусировать окно сверловки.
  • Видимость по фазе (running/pausing/paused/stopping/awaitingToolChange); на done/error/idle гаснет.

Durability

Отдельный диск-слепок не заводим — активный прогон уже в журнале operation_runs (outcome=null). Resume живой сверловки после рестарта приложения не делаем (небезопасно). Guard перезаписи drill:snapshot и баннер для засветки/фрезеровки — вне скоупа.

Проверка

pnpm build + vitest зелёные. Чистая логика (store-переходы, фаза→лейбл, процент) под тестами. Визуальная сверка при активном прогоне — за ревьюером.

@fixcik fixcik merged commit 8a19ee2 into master Jun 17, 2026
3 checks passed
@fixcik fixcik deleted the worktree-feat+drill-live-banner branch June 17, 2026 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Операции: live-баннер прогона в карточках шагов

1 participant