Transition interruption not behaving as expected
See original GitHub issueSteps to reproduce:
- Render a dot file (first)
- Transition into a different dot file (second) rendering
- Interrupt transition before it finishes
- Transition again into a third dot file
Expected behaviour
- The third transition should begin right away and from the state the svg is at the moment of the interruption
Current behaviour
- The second transition is interrupted but there is a delay (as big as the remaining transition time)
- Then the third transition takes over (choppy)
My rendering code
selectAll([container]).selectAll("*").interrupt("reload");
const t = transition("reload").ease(easeCubic).duration(3000);
graphviz(container)
.zoomScaleExtent([0, Infinity])
.zoom(true)
.tweenShapes(true)
.convertEqualSidedPolygons(false)
.growEnteringEdges(true)
.tweenPaths(true)
.fade(true)
.tweenPrecision("25")
.transition(t as any) // @TODO: no clue why there is a type problem there
.renderDot(dot);
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (2 by maintainers)
Top Results From Across the Web
Interruption of a CSS transition does not work for same ...
Here is a minimal example showing the expected behaviour. It works but the properties with comments behind have to be different for some...
Read more >Why Do Kids Have Trouble With Transitions?
Being asked to change activities or locations is often a trigger for behavior like whining, complaining, or throwing tantrums. Kids may not ...
Read more >Interruptions and Task Transitions: Understanding Their ...
Breaks during working hours are another common interruption. They may be planned or unscheduled recesses from work to accommodate personal needs ...
Read more >transitions do not work correctly with Ordered Interruption
3) Select "GameObject" in Hierarchy tab. 4) Press Play and go to Animator window. 5) You should see the Any State -> scale_some...
Read more >Interrupted transitions to AnyState transitions cause weird ...
The only workarounds I'm aware of are to disable transition interruptions (causes animations to drag) or to set transition durations to 0s ( ......
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Thank you so much for this. I’ll look into it as soon as I can carve out some time and mental space for it.
Got it.
I suspect something is waiting for the end event in the transition to happen. Calling element.__transition[group].timer.call(duration) on all elements does make the next transition start right away (but does jump to the end of the previous transition).
I’ll make a test repo soon then 😃.
Thanks for this awesome module btw, I’ve been using it for years, great work!