feat: optimize edgeless alignment (#10435)

### Changed
- alignment line style
- threshold of snapping
- optimize alignment checking performance
This commit is contained in:
doouding
2025-03-04 03:03:30 +00:00
parent 321247a2fa
commit 1c29d0e269
6 changed files with 428 additions and 172 deletions

View File

@@ -194,16 +194,16 @@ test.describe('lock', () => {
const { lock, unlock } = getButtons(page);
await lock.click();
await assertEdgelessSelectedModelRect(page, [0, 0, 120, 120]); // frame outline and shape
await assertEdgelessSelectedModelRect(page, [0, 0, 125, 125]); // frame outline and shape
await pressEscape(page);
await clickView(page, [100, 100]);
await assertEdgelessSelectedModelRect(page, [0, 0, 120, 120]);
await assertEdgelessSelectedModelRect(page, [0, 0, 125, 125]);
await unlock.click();
await assertEdgelessSelectedModelRect(page, [0, 0, 100, 100]);
await pressEscape(page);
await clickView(page, [100, 100]);
await assertEdgelessSelectedModelRect(page, [70, 70, 50, 50]);
await assertEdgelessSelectedModelRect(page, [75, 75, 50, 50]);
await deleteAll(page);

View File

@@ -170,7 +170,7 @@ test('selection box of shape element sync on fast dragging', async ({
{ click: true }
);
await assertEdgelessSelectedRect(page, [650, 446, 100, 100]);
await assertEdgelessSelectedRect(page, [650, 450, 100, 100]);
});
test('when the selection is always a note, it should remain in an active state', async ({

View File

@@ -18,11 +18,11 @@ test.describe('snap', () => {
await assertSelectedBound(page, [300, 0, 100, 100]);
await dragBetweenViewCoords(page, [300 + 5, 50], [300 + 5, 50 + 5]);
await assertSelectedBound(page, [300, 5, 100, 100]);
await dragBetweenViewCoords(page, [350, 50], [350, 50 + 10]);
await assertSelectedBound(page, [300, 10, 100, 100]);
await undoByClick(page);
await dragBetweenViewCoords(page, [300 + 5, 50], [300 + 5, 50 + 3]);
await dragBetweenViewCoords(page, [350, 50], [350, 50 + 7]);
await assertSelectedBound(page, [300, 0, 100, 100]);
});