fix(studio): a repair lands under the brush with no pill over it, and a browser with no device is not asked for one

This commit is contained in:
2026-10-14 08:59:13 +07:00
parent 24ce97edcc
commit 5aa6a5ba23
4 changed files with 28 additions and 11 deletions
+6 -1
View File
@@ -1050,7 +1050,12 @@ export function Workspace() {
if (!engine || !previewBytes || shooting) return;
const token = ++renderToken.current;
const timer = setTimeout(async () => {
setBusy(t('act.rendering'));
// No spinner for this one, deliberately. The render is the page keeping up
// with the reader — the brush's own spots are already drawn on the layer
// above the photo, so the repair arriving under them a moment later is the
// photo catching up and not a thing being waited for. A pill saying so was
// read as the studio doing something to the frame (an export, a second
// copy), and it stayed up through a HEAL long enough to be noticed.
try {
// The geometry is the frame's own; only the recipe differs between the
// render and the compare copy, so the two can never drift apart.