Thanks for the fast response, Nate. I resolved the issue. But I am not sure if my implementation makes use of the runtime as intended or is a workaround for an issue with the runtime. Here's what I found...
The following update loop will change the bend direction but will not render it. It will, however, render the bone position.
function update() {
this.skeletonMesh.update(deltaTime);
// after skeletonMesh.update the bendDirection reverts back to -1
// specifically when the state.apply(skeleton) function is called
// within the skeletonMesh.update function
// move my IK bone to the right
this.IKRightArm.bone.data.x += 1.5;
// update the IKConstraint to the new bendDirection
this.IKRightArm.constraint.bendDirection = 1;
this.IKRightArm.constraint.update();
this.skeletonMesh.skeleton.updateWorldTransform();
// at this point the bendDirection = 1 but is not rendered on the screen
}
The problem is that the new bendDirection won't be rendered until the next skeletonMesh.update and that function will reset the bendDirection to -1 before it renders it.
My solution was to add the following at end of my update loop which allowed for the new bendDirection to be rendered before the next skeletonMesh.update call at the top of my update function.
function update() {
...
this.skeletonMesh.updateGeometry();
// at this point the bend direction is rendered
}
It's not entirely intuitive to me that I would need to call the updateGeometry separately, but it works. If there is an alternate, preferred solution to my hack, I'd love to hear it. In the meantime, thanks again for the response.