feat: remove resize debounce, and move to batch system for rerendering#89
Open
BeksOmega wants to merge 3 commits intorough-stuff:masterfrom
Open
feat: remove resize debounce, and move to batch system for rerendering#89BeksOmega wants to merge 3 commits intorough-stuff:masterfrom
BeksOmega wants to merge 3 commits intorough-stuff:masterfrom
Conversation
* feat: Add animation to hide method This change introduces an animation to the `hide()` method, making the annotation disappear with a reverse animation of the `show()` method. Previously, `hide()` would immediately remove the annotation's SVG elements from the DOM. This change modifies the `hide()` method to: - Play the `show()` animation in reverse. - Use `requestAnimationFrame` to ensure the animation restart is smooth. - Use `setTimeout` to remove the SVG elements only after the animation has completed. This prevents race conditions when `show()` is called again while a `hide()` animation is in progress. This addresses issue rough-stuff#57. * feat(demo): Add demo.html for local testing This commit adds a `demo.html` file to showcase the animated `hide()` functionality. This allows for easy local testing and verification of the feature. * fixup implementation to actually work * remove console log --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
c8844c9 to
0fa1164
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes: None I think
jank, if we remove the debounce, then the jank is caused by browser performance rather than a hard-coded implementation)
requestAnimationFrameso that we're doing all recalculation at once instead of in individual callbacks.Profiling
Attached two performance profiles (with 4x CPU throttling enabled, as recommended). "resize" is a performance log for actually resizing the buttons the annotations are associated with. "move" is a peformance log for making the buttons move by changing the browser size.
move-profile.json
resize-profile.json
Testing
Didn't super thoroughly test this because I wanted to know if it was likely to get merged before I invested more time (since I know it's a big change). Let me know what you think and I can try to find time to hammer it more!
Base branch
I know I'm branched off my other branch atm haha. Just didn't want to duplicate changes and conflict with myself, assuming that other one gets merged.