You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current development watcher performs a complete build, quits Electron, and launches a replacement application after every successful edit. That destroys the working window geometry and turns UI tuning into a stop-start QA loop. Developers and agents also have no shared, low-friction way to point at the same rendered element without exchanging annotated screenshots.
Accepted interaction
UI-facing changes reload inside the existing Electron process and existing BrowserWindow. The window does not close, reopen, resize, move, activate, or lose its configured geometry.
Main-process or backend changes report that a restart is required; the watcher never silently tears down the application.
A failed build leaves the last working renderer and window untouched.
A user holds one development-only modifier gesture and clicks an element. Markover outlines and pins that element and copies one stable element reference.
An agent can use the same reference with a development CLI command to show the elements bounding box in the running Markover window.
The workflow requires no screenshots, drawing, DevTools inspection, or remote arbitrary JavaScript execution.
Delivery stack
Stable renderer live reload, based on main: classify watcher inputs, build UI assets separately, publish them atomically, and reload the existing web contents without replacing the BrowserWindow. Main-process changes stop at an explicit restart-required diagnostic.
Shared element callouts, based on slice 1: add the development-only picker, stable element-reference contract, authenticated CLI highlight command, renderer overlay, and focused tests.
The second PR depends on the first because it reuses the persistent development control path. The active UI-tuning PR #195 remains separate; this issue does not take ownership of its visual changes.
Complete when
repeated CSS, HTML, and renderer edits become visible without changing the Electron PID or BrowserWindow bounds;
UI-facing preload changes use the same stable-window path when Electron can safely reload them;
failed UI builds leave the displayed renderer unchanged and the next valid edit recovers;
main-process and backend inputs produce one clear restart-required state without automatic shutdown;
user selection is one modifier-click gesture that visibly pins the chosen box and copies a stable reference;
the development CLI can highlight or clear that exact reference in the addressed running instance;
ambiguous or stale references fail clearly without highlighting the wrong element;
production and non-watch runtimes expose no picker or highlight route;
focused deterministic tests and the full local gate pass for each slice;
native QA confirms stable bounds and the two-way callout flow in one running development instance.
Excludes
hot-swapping Electron main-process or backend modules;
preserving arbitrary unsaved in-memory renderer state beyond existing workspace and autosave contracts;
a general browser automation server, arbitrary renderer script execution, remote-debugging port, or production inspector;
Problem
The current development watcher performs a complete build, quits Electron, and launches a replacement application after every successful edit. That destroys the working window geometry and turns UI tuning into a stop-start QA loop. Developers and agents also have no shared, low-friction way to point at the same rendered element without exchanging annotated screenshots.
Accepted interaction
Delivery stack
main: classify watcher inputs, build UI assets separately, publish them atomically, and reload the existing web contents without replacing the BrowserWindow. Main-process changes stop at an explicit restart-required diagnostic.The second PR depends on the first because it reuses the persistent development control path. The active UI-tuning PR #195 remains separate; this issue does not take ownership of its visual changes.
Complete when
Excludes