}
    // #endregion

    // #region SETTERS / GETTERS
    setTargetPos( v ){
        this._targetPos[ 0 ] = v[ 0 ];
        this._targetPos[ 1 ] = v[ 1 ];
        this._targetPos[ 2 ] = v[ 2 ];
        return this;
    }

    setEffectorBone( boneIdx ){
        this.effectorBone = boneIdx;
        return this;
    }
    // #endregion

    resolve( chain, pose, debug ){
        // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        this._preProcess( chain, pose, debug );
        
        // Move Ef