A live object reached the renderer without passing the isolated-object check that groups go
through, so an isolated repeat was dimmed with the art around it. Tests cover leaving isolation
(double-click outside, exitIsolation), undo/redo of an edit inside, and a repeat of a group.
set_loader keeps the first registration, so a test registering blue_page first left the gate
out. Every test in the file now registers gated_blue_page (blue_page while the gate is open).
A double-click on a Radial, Grid or Mirror Repeat with the Selection
tool enters isolation mode on it. There its source art is selected and
edited as usual (a double-click on type in it switches to the Type tool
on that text) and every copy follows, the repeat keeping its settings.
a_ready_bitmap_draws_again_where_its_file_shows assumed the first frame shows placeholders,
but the background worker can make the tiny test bitmaps between scheduling and the frame's
second lookup, so the frame already showed them ("the bitmaps show" failed on FreeBSD CI).
The test's loader now waits until that frame is drawn.
Found while testing crates/svg/src/export/output.rs:360 (dublin_core, around line 81)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
An effect bound to Cmd+Enter wasn't among all_shortcuts, so the active tool took the Enter
before the keymap ran the effect. Effect items' own shortcuts are now listed with the rest.
Found while testing crates/engine/src/cmd/fileio/zip.rs:26 (store, deflate) vs :178 (Archive::open)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Edit > Keyboard Shortcuts lists every Effect menu item under its menu
path and gives each one a shortcut (stored as effect:<id>, mapped to
effect.dialog {effect}, or effect.apply for an effect without options).
The menu shows it, and pressing it opens that effect's dialog for the
selection.
After a click on a Layers or Appearance row, a plain Delete or
Backspace now goes to that panel even when the active tool claims the
key. Before, the Artboard tool (and Gradient, Width, Puppet Warp…)
took it first: Delete after a click on a layer row deleted the active
artboard, not the layer.
The Type tool still keeps Delete and Backspace while it edits text.
The native-window harness records each window's texts, so a test can
find a row in it. Delete after a click on the Fill row of an Appearance
panel floating in its own OS window removes the row and leaves the
object.
When an effect that isn't highlighted is dropped on Delete above the
active one, the active effect, the highlight and its anchor now move up
with their rows, and removed rows drop out of the highlight. Before,
they kept their old row numbers and pointed at the wrong effects.