mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-29 20:27:05 -06:00
Rotate View: resize and rotate cursors turn with the view
In a rotated view the resize and rotate cursors were the ones for an unturned view. With the view turned 90°, the right-middle handle of a selection's bounding box shows at the middle of the box's bottom edge and drags up and down, but its cursor was the left-right arrow. This affected the Selection, Free Transform, Artboard, Slice Selection, Crop Image, Perspective Grid and Perspective Selection tools, ruler guides, and the spread handle of a freeform gradient. Now each of these cursors turns with the view to the nearest 45°. The Selection tool and the Perspective Selection tool turn the handle's direction by the view's angle before they round it to a cursor. ToolContext::view_angle reads the view's angle from the screen frame, and Cursor::turned turns a resize or rotate cursor by it. The new Cursor::rotate_about_in_view turns the pointer's direction from the center by the view before it picks one of the rotate cursor's eight directions. Cursor::rotate_about keeps its signature and behavior. At 0° every cursor is as it was. Docs: docs/target-app-parity.md.
This commit is contained in:
@@ -683,6 +683,7 @@ Moved from the ROADMAP's "Shipped so far" on 2026-10-10. Update it when a featur
|
||||
Use Precise Cursors restores the crosshair. The same glyph feeds OS bitmaps and painted
|
||||
cursors. DPI/hotspot and preference checks in `cursors.rs` and `tests_prefs.rs` cover #1269;
|
||||
actual OS display and Caps Lock remain unverified. Behaviour reference: [public tool-pointer documentation](https://helpx.adobe.com/illustrator/using/tools.html#change_tool_pointers). Tool cursors are painted into the window on Wayland (#1652; not run on Linux, #1645 stays open until confirmed). A Precise Cursors command toggles the preference and can take a shortcut (#1663). On macOS the tool cursor is painted only while the window has the focus. Over a window behind another app, or under the File › Open… sheet, the system pointer shows alone instead of next to the painted cursor (#2020).
|
||||
In a rotated view the resize and rotate cursors turn with the view, to the nearest 45°.
|
||||
- **Performance:** 20k shapes + 1k texts render in 27 ms per full-retina frame (7.8 ms zoomed), 7× faster than the first version. The UI thread never blocks. The web build is 7.1 MB gzipped. Print-size images (more than 512 MB decoded, up to 2 GB) draw in the canvas and in raster exports and can be trimmed with Crop Image; an image with a side past 65,535 px is shrunk to fit, a raster export says when an image could not be decoded, and Crop Image's trim leaves CMYK images alone (#1517). On Windows `vectorcraft-cli perf` reports the cores busy and, with `--deep`, its working set, and warns on a busy machine as it does on macOS and Linux (#1502).
|
||||
With `--deep`, each memory row of `vectorcraft-cli perf` also gives the peak so far: the peak working set on Windows and the peak resident memory (`VmHWM`) on Linux. A new last row gives the memory after the SVG export and the save → open → save at the end of the run.
|
||||
The renderer composes the two ink planes of a CMYK document that shows transparency into screen colors on up to as many threads as it rasterizes with, instead of on one. At 2880 × 1800 on 8 threads, a page of 300 shapes at 20% to 90% opacity takes 30 ms a frame instead of 55 ms, and 50,000 paths with one at 99% opacity take 258 ms instead of 361 ms (`vectorcraft-cli bench`), with the same pixels.
|
||||
|
||||
Reference in New Issue
Block a user