You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Numeric drag: pin and hide the pointer, as the Chili version does
Dragging a value now behaves like a content-creation tool: the pointer is
swapped for the empty cursor and warped back to where the drag began after every
move, so the value can be pushed as far as the user likes and the cursor never
runs off the field, the panel, or the screen. It is restored to the anchor when
the drag ends.
This is what NumericField:__StartDragging/__StopDragging already did in Lua
(SB.SetMouseCursor("empty") + Spring.WarpMouse), and the bindings for it were
already there -- so no engine change was needed after all. The cursor has to be
re-asserted every tick: the engine syncs the cursor to whatever RmlUi is
hovering on each frame, so setting it once at dragstart is undone immediately.
The harness grew `move_relative`, because a pinned pointer consumes *relative*
motion; absolute `mousemove` fights the warp (the pointer is put back on its
anchor, and the next absolute move re-applies the whole offset from it).
Objects -> Collision gets its own scenario, split out of props so both stay
quick and focused. It checks the thing the editor is for: with the debug volume
shown, scaling an axis and changing the volume type must visibly redraw the
shape on the object -- asserted by pixel diff, not just by the command.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments