- Implemented feather brush tool in the brushRaster module, allowing for feathered edges in brush strokes. - Added new FeatherControls component for UI adjustments of feather settings including size, radius, strength, and smoothing. - Updated brush preview logic to accommodate feather tool alongside existing brush and eraser tools. - Enhanced layer rendering to support feather mask previews and interactions. - Introduced blending logic for feathered strokes to mix blurred mask values with original pixels. - Added unit tests for feather blending functionality and tool keybindings. - Updated cursor handling to reflect feather tool usage.
17 lines
712 B
TypeScript
17 lines
712 B
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { canvasCursorClass } from "./cursor";
|
|
|
|
describe("canvas cursor", () => {
|
|
test("keeps the brush cursor while non-operation UI is open", () => {
|
|
expect(canvasCursorClass({ type: "tool", tool: "brush" }, false, false, true, false)).toBe("cursor-crosshair");
|
|
});
|
|
|
|
test("uses the default cursor while an operation suspends canvas tools", () => {
|
|
expect(canvasCursorClass({ type: "tool", tool: "brush" }, false, false, true, true)).toBe("cursor-default");
|
|
});
|
|
|
|
test("uses the live brush cursor for feathering", () => {
|
|
expect(canvasCursorClass({ type: "tool", tool: "feather" }, false, true, true, false)).toBe("cursor-none");
|
|
});
|
|
});
|