fix: 8 image editor bugs found during Docker-based E2E testing

- fix WebP export silently producing PNG when background is non-transparent
- fix autosave not converting blob: URLs inside image-type canvas objects
- fix project load not resetting selection/crop/clipboard state
- fix rotateCanvas not updating object rotation attributes
- fix flipCanvas not negating object rotation attributes
- fix line shadow props overridden by effect spread ordering
- fix "outside" stroke position rendering same as "center"
- add missing pencil tool keyboard shortcut (N)
- remove misleading resample dropdown from image resize dialog
- fix E2E autosave tests for production builds (no Vite dynamic imports)
- fix color picker test case sensitivity (CSS uppercase vs DOM text)
- add 4 unit tests for rotation attribute transforms
This commit is contained in:
SnapOtter
2026-05-08 20:27:06 +08:00
parent 6c56950f39
commit a1a71e507f
8 changed files with 219 additions and 61 deletions
@@ -169,6 +169,16 @@ export function useEditorShortcuts(callbacks?: {
{ preventDefault: true },
);
// N - Pencil tool
useHotkeys(
"n",
() => {
if (isInputFocused()) return;
useEditorStore.getState().setTool("pencil");
},
{ preventDefault: true },
);
// E - Eraser tool
useHotkeys(
"e",