Closed kephale closed 11 months ago
@kephale I finished the revamp of the navigation control settings. Those five properties are now persisted when mutated through sciview or sciview.controls, but not when changed directly on the sciview.controls.parameters object itself. This was the easiest approach since the sciview.controls has access to the SciJava context and therefore the PrefService
, whereas the scijava.controls.parameters is a lower level context-free thing.
Yeah, napari's shift + right came up in the original issue thread. I haven't tried implementing that one yet, but maybe we can punt for now :)
Arcball mode resets camera after FPS mode camera movement
I guess this is probably intended behavior, but if you move around in FPS mode, then zoom or rotate using mouse wheel or left drag respectively, the camera "snaps back" so that the selected object is recentered again. This is not how napari (nor IIRC VisAD nor 3D Viewer) behaves; rather, in napari if you hold shift and left drag it pans the object (or the camera moves, I'm not sure—either way, it comes across like the object moving off center), and then click and drag again to rotate, it does not snap back, but rather the arcball rotates around the new center, so the object sort of "swings" around more widely. Maybe it would make sense for arcball to operate around the current center of the view, rather than always the center of the selected object?
Arcball currently uses the active node as the center. I think this means that when a Node is selected we need to save its position, then when FPS movement happens we update that position. As a consequence Arcball will use a Vector as its center instead of a Node's position.
Initial camera position does not match initial mouse drag
This one needs more poking. I thought it was related to how Arcball's lastX and lastY are initialized at the center of the screen, but I still got funky behaviors.
Ctrl + left drag corrupts object position
Addressed
Y axis rotation inversion
Addressed
Left drag and right drag do the same thing?
I'm open to using this for Node manipulation for sure. However, I believe one of the reasons napari uses right drag for zoom is because it was a request from trackpad users. Since I'm a trackpad user sometimes I don't quite understand that.
Description tooltips in Controls dialog need updating
I vote to remove the descriptions. This should be in the UI Behavior dialog, not hard coded strings.
@ctrueden y-axis is flipped now. I propose punting on:
Some of the code duplication [between sciview and scenery] here is related to https://github.com/scenerygraphics/scenery/issues/591 but that is easy to resolve down the road.
I vote to remove the descriptions. This should be in the UI Behavior dialog, not hard coded strings.
I kinda like the short descriptions you changed to—I vote to keep them like that for now, rather than having none whatsoever.
I see that #541 covers the two remaining issues discussed above. I also filed one more additional issue #543.
This has some changes that include:
Closes https://github.com/scenerygraphics/sciview/issues/209