excalidraw/excalidraw-app
Ryan Di ce267aa0d3
feat: lasso selection (#9169)
* lasso without 'real' shape detection

* select a single linear el

* improve ux

* feed segments to worker

* simplify path threshold adaptive to zoom

* add a tiny threshold for checks

* refactor code

* lasso tests

* fix: ts

* do not capture lasso tool

* try worker-loader in next config

* update config

* refactor

* lint

* feat: show active tool when using "more tools"

* keep lasso if selected from toolbar

* fix incorrect checks for resetting to selection

* shift for additive selection

* bound text related fixes

* lint

* keep alt toggled lasso selection if shift pressed

* fix regression

* fix 'dead' lassos

* lint

* use workerpool and polyfill

* fix worker bundled with window related code

* refactor

* add file extension for worker constructor error

* another attempt at constructor error

* attempt at build issue

* attempt with dynamic import

* test not importing from math

* narrow down imports

* Reusing existing workers infrastructure (fallback to the main thread, type-safety)

* Points on curve inside the shared chunk

* Give up on experimental code splitting

* Remove potentially unnecessary optimisation

* Removing workers as the complexit is much worse, while perf. does not seem to be much better

* fix selecting text containers and containing frames together

* render fill directly from animated trail

* do not re-render static when setting selected element ids in lasso

* remove unnecessary property

* tweak trail animation

* slice points to remove notch

* always start alt-lasso from initial point

* revert build & worker changes (unused)

* remove `lasso` from `hasStrokeColor`

* label change

* remove unused props

* remove unsafe optimization

* snaps

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
Co-authored-by: Marcel Mraz <marcel@excalidraw.com>
2025-04-07 16:44:25 +10:00
..
app-language refactor: auto ordered imports (#9163) 2025-03-12 15:23:31 +01:00
collab feat: allow to disable preventUnload in dev (#9319) 2025-03-29 19:42:33 +01:00
components refactor: separate elements logic into a standalone package (#9285) 2025-03-26 15:24:59 +01:00
data refactor: separate elements logic into a standalone package (#9285) 2025-03-26 15:24:59 +01:00
share refactor: separate elements logic into a standalone package (#9285) 2025-03-26 15:24:59 +01:00
tests refactor: separate elements logic into a standalone package (#9285) 2025-03-26 15:24:59 +01:00
app-jotai.ts feat: update jotai (#9015) 2025-01-16 16:59:11 +01:00
App.tsx feat: allow to disable preventUnload in dev (#9319) 2025-03-29 19:42:33 +01:00
app_constants.ts feat: Visual debugger (#8344) 2024-08-27 19:46:00 +02:00
bug-issue-template.js build: move build process and excalidraw-app dependencies in its own package.json (#7021) 2023-12-07 16:39:11 +05:30
CustomStats.tsx refactor: separate elements logic into a standalone package (#9285) 2025-03-26 15:24:59 +01:00
debug.ts feat: Support mermaid flowchart and sequence diagrams to excalidraw diagrams 🥳 (#6920) 2023-11-03 17:41:34 +05:30
ExcalidrawPlusIframeExport.tsx refactor: separate elements logic into a standalone package (#9285) 2025-03-26 15:24:59 +01:00
global.d.ts chore: release @excalidraw/excalidraw@18.0.0 🎉 (#9127) 2025-02-28 16:49:09 +01:00
index.html fix: update old blog links & add canonical url (#8846) 2024-11-26 17:42:25 +01:00
index.scss feat: editable element stats (#6382) 2024-06-12 19:49:46 +02:00
index.tsx refactor: auto ordered imports (#9163) 2025-03-12 15:23:31 +01:00
package.json chore: upgrade to react@19 (#9182) 2025-02-25 19:18:42 +01:00
sentry.ts chore: Upgrade Sentry to latest and update debug messages (#9134) 2025-02-13 12:47:27 +01:00
useHandleAppTheme.ts refactor: separate elements logic into a standalone package (#9285) 2025-03-26 15:24:59 +01:00
vite-env.d.ts build: add a flag VITE_APP_ENABLE_PWA for enabling pwa in dev environment (#8784) 2024-11-09 21:45:37 +05:30
vite.config.mts feat: lasso selection (#9169) 2025-04-07 16:44:25 +10:00