Closed ReikaKalseki closed 2 months ago
Thank you for reporting this issue. It's probably caused by the major changes we introduced in v1.3.0. As you correctly described, the option allow overdragging
is meant to affect both axes, but for some reason breaks when the container is scrollable on both axes.
If you want to use a working version until this issue gets fixed, v1.2.9 will probably not have this and the other issue you reported.
@HaroldLever maybe you have an idea what could cause this issue?
By "jittery" I mean trying to drag the pane around causes it to flicker wildly as it reaches the bottom or right edges of the valid scroll zone. So wildly in fact, that OBS cannot capture it properly. In addition to this, I can still clearly drag it well past the left and top borders, which defeats the entire point of the option.
If it is convenient for you, please provide more information like Godot version, Smooth scroll container version, detail description (how does it behave and what do you think it should work like), steps to reproduce and minimal reproduction project. This would help us find out where the issue is more easily.
I have found a bug that might be relative to this issue. #53 You could fix it manually to see if it can fix the issue you mentioned. Restrict max fps in project setting might slow down the situation which you said "jittery", it could be useful to record videos.
What I expected disabling the "Allow Overdrag" option to do was simply hard-limit the scrolling to within [0,size]. I saw on another issue here - related to overdrag - some debate over desired behavior, so I am going to say this in case this is for some reason not what that option is meant to do: I do not want phone-like UX, be that overdrag, "drag physics", or anything like that; I want a standard windows-style scrollable pane that also supports click-drag for movement.
If so, I believe unchecking allow_overdrag
is exaclty what you want.
If it is convenient for you, please provide more information like Godot version, Smooth scroll container version, detail description (how does it behave and what do you think it should work like), steps to reproduce and minimal reproduction project. This would help us find out where the issue is more easily.
The versions are the same as in my other issue (#51); "latest as of yesterday" for the plugin and 4.2.1 for Godot. I already described the current and expected behavior, as well as the step to reproduce (literally just disable overdrag and try dragging to the edges). I do not have the ability to make a reproduction project, but if this is a "native issue" in SmoothScroll it should be as simple as setting up a basic scrollable pane (my top-level script does not have _Process
overridden so should be irrelevant):
Turning down the FPS did however allow me to get a clearer view of what is happening:
I am going to link to #2 because it sounds kind of similar.
@SpyrexDE How do I roll back a plugin to a specific version? I see no option in asset lib or the project plugins menu to do this.
Or should I not try because you appeared to have merged the fix into master?
Godot does not offer choosing specific plugin versions yet. You can however, download the new version v1.3.1 that (hopefully) fixed your issue here: https://github.com/SpyrexDE/SmoothScroll/archive/refs/tags/godot4-v1.3.1.zip. Then just replace your addons/SmoothScroll
directory with the addons/SmoothScroll
in the extracted zip file.
I can confirm you fixed it. :)
By "jittery" I mean trying to drag the pane around causes it to flicker wildly as it reaches the bottom or right edges of the valid scroll zone. So wildly in fact, that OBS cannot capture it properly.
In addition to this, I can still clearly drag it well past the left and top borders, which defeats the entire point of the option.
What I expected disabling the "Allow Overdrag" option to do was simply hard-limit the scrolling to within [0,size]. I saw on another issue here - related to overdrag - some debate over desired behavior, so I am going to say this in case this is for some reason not what that option is meant to do: I do not want phone-like UX, be that overdrag, "drag physics", or anything like that; I want a standard windows-style scrollable pane that also supports click-drag for movement.