The annotation editor renders its errors in four different places, and the one a
person is most likely to meet — the suggest tool's refusal card — sits in the corner
the zoom and fullscreen cluster already occupies. At the same time the top bar's two
forward actions are a bar apart, and the more consequential of the pair is the quieter
one.
Where an in-editor error can appear today
| Surface |
Where |
What it carries |
suggest-panel (SuggestPanel, warn tone) |
bottom-right of the stage, bottom-16 right-3, max-w-80 |
a suggest refusal, and the two blocker states |
save-state (SaveState, destructive badge) |
top bar, left zone, inside the ● annotated · Saved microtext |
why a save did not happen |
opening-refusal (OpeningRefusal, destructive badge) |
top bar, left zone |
why the batch or the job could not be opened |
action-refusal |
a full-bleed strip under the header |
why Skip / Un-skip / Accept / Finish job refused |
Four placements, three visual treatments, one class of message. Nothing in the editor
is rendered through a sonner toast: the only two toast calls on the page are
toast.success, so no error class has to be moved off a disappearing surface.
The bottom-right placement is the sharpest of the four. ZoomWidget sits at
bottom-3 right-3 and the suggest card clears it by an explicit bottom-16 — a
constant one component holds about another. The corner is occupied, and the card is
there because it was the last corner free at the time.
The notice's width clips a model reference
The card is max-w-80 (320px) and the body has no wrap rule. A model reference is a
single unbroken token —
IDEA-Research/grounding-dino-tiny@0123456789abcdef0123456789abcdef01234567 — so a
refusal quoting one overflows its own card. Widening helps and does not fix it: no
fixed width guarantees the next reference fits, so wrapping is the invariant and width
is comfort.
The forward actions
The bar's action group reads Skip · [primary next-action] in the centre cluster, with
Save and stay a zone away on the right as a ghost carrying a ⌘S keycap chip. The
two halves of the forward gesture — advance, or persist in place — are not adjacent,
and the one that keeps work where it is reads as the least important control on the bar.
Scope
Frontend only. No save semantics change, no suggest-flow change, no wire change, no new
dependency. The viewport-reset defect this editor also has is tracked separately and is
not fixed here.
The annotation editor renders its errors in four different places, and the one a
person is most likely to meet — the suggest tool's refusal card — sits in the corner
the zoom and fullscreen cluster already occupies. At the same time the top bar's two
forward actions are a bar apart, and the more consequential of the pair is the quieter
one.
Where an in-editor error can appear today
suggest-panel(SuggestPanel, warn tone)bottom-16 right-3,max-w-80save-state(SaveState, destructive badge)● annotated · Savedmicrotextopening-refusal(OpeningRefusal, destructive badge)action-refusalFour placements, three visual treatments, one class of message. Nothing in the editor
is rendered through a sonner toast: the only two
toastcalls on the page aretoast.success, so no error class has to be moved off a disappearing surface.The bottom-right placement is the sharpest of the four.
ZoomWidgetsits atbottom-3 right-3and the suggest card clears it by an explicitbottom-16— aconstant one component holds about another. The corner is occupied, and the card is
there because it was the last corner free at the time.
The notice's width clips a model reference
The card is
max-w-80(320px) and the body has no wrap rule. A model reference is asingle unbroken token —
IDEA-Research/grounding-dino-tiny@0123456789abcdef0123456789abcdef01234567— so arefusal quoting one overflows its own card. Widening helps and does not fix it: no
fixed width guarantees the next reference fits, so wrapping is the invariant and width
is comfort.
The forward actions
The bar's action group reads
Skip · [primary next-action]in the centre cluster, withSave and staya zone away on the right as a ghost carrying a⌘Skeycap chip. Thetwo halves of the forward gesture — advance, or persist in place — are not adjacent,
and the one that keeps work where it is reads as the least important control on the bar.
Scope
Frontend only. No save semantics change, no suggest-flow change, no wire change, no new
dependency. The viewport-reset defect this editor also has is tracked separately and is
not fixed here.