-
-
Notifications
You must be signed in to change notification settings - Fork 418
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add bulk deletion variant of eraser #41
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: Kevin Lindsey <[email protected]>
…th plainjs. remove layers for now
What is this 2d.js ? I don't have anything against using an external library, but if we do so, then we should probably switch the frontend to use some kind of compilation system, and use npm for dependencies. And we have to make sure any library we use is compatible with the GPL license of this repository. Making the frontend to a proper web application, using npm, adds some overhead, but I think it's with it. What do you think ? |
I'm not 100% sure, I believe it is used in the masking eraser. @rdbeach Can you explain it? Otherwise I'd work around it and implement necessary functions myself. I have removed it for now. |
I have adjusted the |
D2 is not used for the masking eraser. It's used for the transform tool. The library is from http://www.kevlindev.com/. It had some capabilities to put handles on objects and transform them a bit. I used it as a starting point for making the transform tool. With a bit of reworking, you could probably get rid of it. |
Good that we could get rid of 2d.js. I find the tool a little bit unintuitive as it is. I think we should completely remove the original delete on hover behavior, and the tool should just :
|
I quite like the current delete function to quickly delete handwritten text. With the increased width of the eraser it works a lot better than it currently does. It would benefit from a different UI that better explains what each tool does. |
d2ff89d
to
189ebbe
Compare
Co-authored-by: Ophir LOJKINE <[email protected]>
The svg standard defines a function to list the elements inside a rectangle: |
And if you want to test your changes on large boards, you can download the ic board: http://wbo.ophir.dev/download/ic |
I am currently performing some testing with the ic board. The multi-eraser that deletes everything fully contained in a rectangular area has no issues with large boards, the regular eraser in both the click and drag variety has significant issues, locking up the CPU for several seconds. I will attempt to create a function that can determine whether the cursor is over the path of a svg shape and check if I can get it to be faster than the current solution |
Again code mainly by @rdbeach.
Adds secondary function to eraser where a rectangle can be drawn and everything that is fully inside this rectangle will get deleted.