Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
140 stars 2 forks source link

Allow showing custom laser cursors for Grabbables and UIX elements #2902

Open 5H4D0W-X opened 2 months ago

5H4D0W-X commented 2 months ago

Is your feature request related to a problem? Please describe.

Some UIX elements such as sliders show different cursors when hovered over, which gives useful information on the function of an input method (such as the direction of a slider). This is not possible with Grabbables (and sliders, joints etc) and for UIX elements where cursors do change, the new cursor can’t be overridden

Describe the solution you'd like

A new component or settings on Grabbables and UIX interactables that allow overriding the hover and interaction cursor with a custom grayscale graphic, and a setting that allows a custom tint for that cursor (for example to display ❌ when an interaction is unavailable)

Describe alternatives you've considered

Showing a small mesh but that requires manually finding the cursor and doesn’t work with things that don’t report hover status such as Grabbable

Additional Context

I came up with this idea because I was thinking about making a custom window manager system to align and snap inspectors and other common windows, and I wanted to have handles for moving and resizing windows without constantly displaying icons (much like how hovering on the side edge of a window on a desktop shows a ↔️ icon)

Requesters

ShadowX

Frooxius commented 2 months ago

This is something I wanted to add at some point. The plumbing for this is mostly in place, so it wouldn't take too much to add.