The fix had two parts.
* Make Avatar::getAbsoluteDefaultJointXXXInObjectFrame thread safe
* Make teleport.js handle a zero foot offset more gracefully, to prevent the avatar from teleporting into the floor.
Particle Editor was agressively refreshing when ever a particle was be
ing up dated
Added a flag check to make sure the particle was always using the latest
version
In entityPropeties.js
line #1079 says:
elParentJointIndex.addEventListener('change', createEmitNumberPropertyUpdateFunction('parentJointIndex'));
The problem should be fixed by changing it to:
elParentJointIndex.addEventListener('change', createEmitNumberPropertyUpdateFunction('parentJointIndex', 0));
createEmitNumberPropertyUpdateFunction() is parsing the value as a
float to a default decimal position of 4. Looks like it only accepts
integers. By adding in that 0 as a second argument, it should coerce the
value to one that will be recognized by the UI/backend.
We're seeing the ignoreRayIntersection flag not take effect before findRayIntersection calls. This may be due to editOverlay and editOverlays becoming non-blocking in 1f7d2b2 .
This altered the flow in mousePressEvent significantly; the first block, intended to handle scale/clone only, started handling rotation (should have been second block) and sometimes selection (should have been third block).
Similarly, in the various rotate grabbers' onMove methods, the pickRay will no longer intersect anything other than rotateOverlayTarget; this avoids some awful behavior when scrubbing over the size and clone grabbers.
This also reverts unnecessary parts of the prior commits to keep the diff for this WL cleaner, and adds a few TODO comments to revisit about redundant statements and incorrect names.
In addition, we've noticed but not fixed herein:
* There is a minor edgecase near 0 and 180, where it's difficult to get within a degree or two of the poles occasionally.
* The scale/clone grabbers don't stay disappeared for rotation in some cases. This doesn't impact usability anymore, but it'd be nice to determine why they come back when they hide briefly.
* The addGrabbers for yaw/pitch/roll could be deduplicated, and yaw has some multiselect "reposition" enable/disable logic that pitch and roll lack.
Reviewed-by: LaShonda Hopper <lashonda@1stplayable.com>