-
-
Notifications
You must be signed in to change notification settings - Fork 381
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
Tracking Issue: Improve the NumberInput widget UX #313
Comments
May I suggest that in addition to |
We can certainly make it work with the horizontal wheel while holding Ctrl, however it is too dangerous to accidentally disrupt values just while scrolling around the interface. Perhaps clicking the input, then horizontally scrolling, would be another acceptable alternative that requires some explicit interaction to avoid accidental disruption. |
yeah, having Draggy Number Fields would be really important to me. Some thoughts regarding that; it's best implemented with pointer warping (or, pointer pinning), so that the mouse pointer doesn't move while the button is held down and the value is being dragged, this allows the user to drag it as far in any direction as they want without being worried about hitting the edge of the screen and stalling out, and it's also mildly beneficial for the mouse to remain where it is just in itself, as the direction the user wants to drag the value in doesn't really meaningfully correlate with where they're going to want the mouse pointer to be once they're done dragging, and often, due to grouping related UIs in the same place, they're going to want it to be pretty much where it started. I just went looking, and it seems like that is actually supported in web browsers now, which is neat. https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API |
|
TODO: immediately update
REVIEW Q: * if in `.svelte` `export let` then MUST I add in `.rs` `NumberInput` this field? specifically: `export let defaultValue: number = 0;` * also can there be any order of non-export fields in `.svelte` or it MUST stay after `export` fields?
TODO: * `ctrl` / `shift` to diff paces * undo on `Esc`
maybe need to add many more `defaultValue`
TODO: immediately update
REVIEW Q: * if in `.svelte` `export let` then MUST I add in `.rs` `NumberInput` this field? specifically: `export let defaultValue: number = 0;` * also can there be any order of non-export fields in `.svelte` or it MUST stay after `export` fields?
TODO: * `ctrl` / `shift` to diff paces * undo on `Esc`
TODO: immediately update
REVIEW Q: * if in `.svelte` `export let` then MUST I add in `.rs` `NumberInput` this field? specifically: `export let defaultValue: number = 0;` * also can there be any order of non-export fields in `.svelte` or it MUST stay after `export` fields?
TODO: * `ctrl` / `shift` to diff paces * undo on `Esc`
The NumberInput widget should support more common ways of modifying numerical widgets, namely:
123.450000000000003
or0.9999999999997
using a heuristic to convert those to123.45
and1.0
.Number.MAX_SAFE_INTEGER
(9007199254740991
) which is still less than Rust'su64
. Typing certain values like9007199254740995
and9007199254740997
both get turned into nearby values like9007199254740995
for some but not all values. This means we need to usebigint
more consistently throughout the entire pipeline in the frontend.The text was updated successfully, but these errors were encountered: