UNPKG

spot-sdk-ts

Version:

TypeScript bindings based on protobufs (proto3) provided by Boston Dynamics

4,698 lines 205 kB
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.RandomRotateParams = exports.HopParams = exports.RunningManParams = exports.KneelLegMove2Params = exports.KneelLegMoveParams = exports.GripperParams = exports.Figure8Params = exports.WorkspaceArmMoveParams = exports.ArmMoveParams = exports.SwayParams = exports.BodyHoldParams = exports.EulerRateZYXValue = exports.EulerZYXValue = exports.rippleColorParams_LightSideToJSON = exports.rippleColorParams_LightSideFromJSON = exports.RippleColorParams_LightSide = exports.rippleColorParams_PatternToJSON = exports.rippleColorParams_PatternFromJSON = exports.RippleColorParams_Pattern = exports.frameSnapshotParams_InclusionToJSON = exports.frameSnapshotParams_InclusionFromJSON = exports.FrameSnapshotParams_Inclusion = exports.fidgetStandParams_FidgetPresetToJSON = exports.fidgetStandParams_FidgetPresetFromJSON = exports.FidgetStandParams_FidgetPreset = exports.jumpParams_LeadToJSON = exports.jumpParams_LeadFromJSON = exports.JumpParams_Lead = exports.sideParams_SideToJSON = exports.sideParams_SideFromJSON = exports.SideParams_Side = exports.swayParams_SwayStyleToJSON = exports.swayParams_SwayStyleFromJSON = exports.SwayParams_SwayStyle = exports.ledLightToJSON = exports.ledLightFromJSON = exports.LedLight = exports.legToJSON = exports.legFromJSON = exports.Leg = exports.armMoveFrameToJSON = exports.armMoveFrameFromJSON = exports.ArmMoveFrame = exports.easingToJSON = exports.easingFromJSON = exports.Easing = exports.pivotToJSON = exports.pivotFromJSON = exports.Pivot = exports.protobufPackage = void 0;
exports.AnimateParams = exports.RippleColorParams = exports.Color = exports.IndependentColorParams = exports.FadeColorParams = exports.SetColorParams = exports.FrameSnapshotParams = exports.FidgetStandParams = exports.FrontUpParams = exports.KneelCircleParams = exports.ClapParams = exports.ChickenHeadParams = exports.Pace2StepParams = exports.TurnParams = exports.TwerkParams = exports.ButtCircleParams = exports.RotateBodyParams = exports.StepParams = exports.JumpParams = exports.SideParams = exports.BourreeParams = exports.GotoParams = exports.CrawlParams = void 0;
/* eslint-disable */
const geometry_1 = require("../geometry");
const minimal_1 = __importDefault(require("protobufjs/minimal"));
const wrappers_1 = require("../../../google/protobuf/wrappers");
exports.protobufPackage = "bosdyn.api.spot";
/** Enum for the pivot point for certain choreography sequence moves. */
var Pivot;
(function (Pivot) {
    Pivot[Pivot["PIVOT_UNKNOWN"] = 0] = "PIVOT_UNKNOWN";
    Pivot[Pivot["PIVOT_FRONT"] = 1] = "PIVOT_FRONT";
    Pivot[Pivot["PIVOT_HIND"] = 2] = "PIVOT_HIND";
    Pivot[Pivot["PIVOT_CENTER"] = 3] = "PIVOT_CENTER";
    Pivot[Pivot["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(Pivot = exports.Pivot || (exports.Pivot = {}));
function pivotFromJSON(object) {
    switch (object) {
        case 0:
        case "PIVOT_UNKNOWN":
            return Pivot.PIVOT_UNKNOWN;
        case 1:
        case "PIVOT_FRONT":
            return Pivot.PIVOT_FRONT;
        case 2:
        case "PIVOT_HIND":
            return Pivot.PIVOT_HIND;
        case 3:
        case "PIVOT_CENTER":
            return Pivot.PIVOT_CENTER;
        case -1:
        case "UNRECOGNIZED":
        default:
            return Pivot.UNRECOGNIZED;
    }
}
exports.pivotFromJSON = pivotFromJSON;
function pivotToJSON(object) {
    switch (object) {
        case Pivot.PIVOT_UNKNOWN:
            return "PIVOT_UNKNOWN";
        case Pivot.PIVOT_FRONT:
            return "PIVOT_FRONT";
        case Pivot.PIVOT_HIND:
            return "PIVOT_HIND";
        case Pivot.PIVOT_CENTER:
            return "PIVOT_CENTER";
        case Pivot.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.pivotToJSON = pivotToJSON;
/**
 * Enum to describe the type of easing to perform for the slices at either (or both) the
 * beginning and end of a move.
 */
var Easing;
(function (Easing) {
    Easing[Easing["EASING_UNKNOWN"] = 0] = "EASING_UNKNOWN";
    Easing[Easing["EASING_LINEAR"] = 1] = "EASING_LINEAR";
    Easing[Easing["EASING_QUADRATIC_INPUT"] = 2] = "EASING_QUADRATIC_INPUT";
    Easing[Easing["EASING_QUADRATIC_OUTPUT"] = 3] = "EASING_QUADRATIC_OUTPUT";
    Easing[Easing["EASING_QUADRATIC_IN_OUT"] = 4] = "EASING_QUADRATIC_IN_OUT";
    Easing[Easing["EASING_CUBIC_INPUT"] = 5] = "EASING_CUBIC_INPUT";
    Easing[Easing["EASING_CUBIC_OUTPUT"] = 6] = "EASING_CUBIC_OUTPUT";
    Easing[Easing["EASING_CUBIC_IN_OUT"] = 7] = "EASING_CUBIC_IN_OUT";
    Easing[Easing["EASING_EXPONENTIAL_INPUT"] = 8] = "EASING_EXPONENTIAL_INPUT";
    Easing[Easing["EASING_EXPONENTIAL_OUTPUT"] = 9] = "EASING_EXPONENTIAL_OUTPUT";
    Easing[Easing["EASING_EXPONENTIAL_IN_OUT"] = 10] = "EASING_EXPONENTIAL_IN_OUT";
    Easing[Easing["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(Easing = exports.Easing || (exports.Easing = {}));
function easingFromJSON(object) {
    switch (object) {
        case 0:
        case "EASING_UNKNOWN":
            return Easing.EASING_UNKNOWN;
        case 1:
        case "EASING_LINEAR":
            return Easing.EASING_LINEAR;
        case 2:
        case "EASING_QUADRATIC_INPUT":
            return Easing.EASING_QUADRATIC_INPUT;
        case 3:
        case "EASING_QUADRATIC_OUTPUT":
            return Easing.EASING_QUADRATIC_OUTPUT;
        case 4:
        case "EASING_QUADRATIC_IN_OUT":
            return Easing.EASING_QUADRATIC_IN_OUT;
        case 5:
        case "EASING_CUBIC_INPUT":
            return Easing.EASING_CUBIC_INPUT;
        case 6:
        case "EASING_CUBIC_OUTPUT":
            return Easing.EASING_CUBIC_OUTPUT;
        case 7:
        case "EASING_CUBIC_IN_OUT":
            return Easing.EASING_CUBIC_IN_OUT;
        case 8:
        case "EASING_EXPONENTIAL_INPUT":
            return Easing.EASING_EXPONENTIAL_INPUT;
        case 9:
        case "EASING_EXPONENTIAL_OUTPUT":
            return Easing.EASING_EXPONENTIAL_OUTPUT;
        case 10:
        case "EASING_EXPONENTIAL_IN_OUT":
            return Easing.EASING_EXPONENTIAL_IN_OUT;
        case -1:
        case "UNRECOGNIZED":
        default:
            return Easing.UNRECOGNIZED;
    }
}
exports.easingFromJSON = easingFromJSON;
function easingToJSON(object) {
    switch (object) {
        case Easing.EASING_UNKNOWN:
            return "EASING_UNKNOWN";
        case Easing.EASING_LINEAR:
            return "EASING_LINEAR";
        case Easing.EASING_QUADRATIC_INPUT:
            return "EASING_QUADRATIC_INPUT";
        case Easing.EASING_QUADRATIC_OUTPUT:
            return "EASING_QUADRATIC_OUTPUT";
        case Easing.EASING_QUADRATIC_IN_OUT:
            return "EASING_QUADRATIC_IN_OUT";
        case Easing.EASING_CUBIC_INPUT:
            return "EASING_CUBIC_INPUT";
        case Easing.EASING_CUBIC_OUTPUT:
            return "EASING_CUBIC_OUTPUT";
        case Easing.EASING_CUBIC_IN_OUT:
            return "EASING_CUBIC_IN_OUT";
        case Easing.EASING_EXPONENTIAL_INPUT:
            return "EASING_EXPONENTIAL_INPUT";
        case Easing.EASING_EXPONENTIAL_OUTPUT:
            return "EASING_EXPONENTIAL_OUTPUT";
        case Easing.EASING_EXPONENTIAL_IN_OUT:
            return "EASING_EXPONENTIAL_IN_OUT";
        case Easing.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.easingToJSON = easingToJSON;
var ArmMoveFrame;
(function (ArmMoveFrame) {
    ArmMoveFrame[ArmMoveFrame["ARM_MOVE_FRAME_UNKNOWN"] = 0] = "ARM_MOVE_FRAME_UNKNOWN";
    ArmMoveFrame[ArmMoveFrame["ARM_MOVE_FRAME_CENTER_OF_FOOTPRINT"] = 1] = "ARM_MOVE_FRAME_CENTER_OF_FOOTPRINT";
    ArmMoveFrame[ArmMoveFrame["ARM_MOVE_FRAME_HAND"] = 2] = "ARM_MOVE_FRAME_HAND";
    ArmMoveFrame[ArmMoveFrame["ARM_MOVE_FRAME_BODY"] = 3] = "ARM_MOVE_FRAME_BODY";
    ArmMoveFrame[ArmMoveFrame["ARM_MOVE_FRAME_SHOULDER"] = 4] = "ARM_MOVE_FRAME_SHOULDER";
    ArmMoveFrame[ArmMoveFrame["ARM_MOVE_FRAME_SHADOW"] = 5] = "ARM_MOVE_FRAME_SHADOW";
    ArmMoveFrame[ArmMoveFrame["ARM_MOVE_FRAME_DANCE"] = 6] = "ARM_MOVE_FRAME_DANCE";
    ArmMoveFrame[ArmMoveFrame["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(ArmMoveFrame = exports.ArmMoveFrame || (exports.ArmMoveFrame = {}));
function armMoveFrameFromJSON(object) {
    switch (object) {
        case 0:
        case "ARM_MOVE_FRAME_UNKNOWN":
            return ArmMoveFrame.ARM_MOVE_FRAME_UNKNOWN;
        case 1:
        case "ARM_MOVE_FRAME_CENTER_OF_FOOTPRINT":
            return ArmMoveFrame.ARM_MOVE_FRAME_CENTER_OF_FOOTPRINT;
        case 2:
        case "ARM_MOVE_FRAME_HAND":
            return ArmMoveFrame.ARM_MOVE_FRAME_HAND;
        case 3:
        case "ARM_MOVE_FRAME_BODY":
            return ArmMoveFrame.ARM_MOVE_FRAME_BODY;
        case 4:
        case "ARM_MOVE_FRAME_SHOULDER":
            return ArmMoveFrame.ARM_MOVE_FRAME_SHOULDER;
        case 5:
        case "ARM_MOVE_FRAME_SHADOW":
            return ArmMoveFrame.ARM_MOVE_FRAME_SHADOW;
        case 6:
        case "ARM_MOVE_FRAME_DANCE":
            return ArmMoveFrame.ARM_MOVE_FRAME_DANCE;
        case -1:
        case "UNRECOGNIZED":
        default:
            return ArmMoveFrame.UNRECOGNIZED;
    }
}
exports.armMoveFrameFromJSON = armMoveFrameFromJSON;
function armMoveFrameToJSON(object) {
    switch (object) {
        case ArmMoveFrame.ARM_MOVE_FRAME_UNKNOWN:
            return "ARM_MOVE_FRAME_UNKNOWN";
        case ArmMoveFrame.ARM_MOVE_FRAME_CENTER_OF_FOOTPRINT:
            return "ARM_MOVE_FRAME_CENTER_OF_FOOTPRINT";
        case ArmMoveFrame.ARM_MOVE_FRAME_HAND:
            return "ARM_MOVE_FRAME_HAND";
        case ArmMoveFrame.ARM_MOVE_FRAME_BODY:
            return "ARM_MOVE_FRAME_BODY";
        case ArmMoveFrame.ARM_MOVE_FRAME_SHOULDER:
            return "ARM_MOVE_FRAME_SHOULDER";
        case ArmMoveFrame.ARM_MOVE_FRAME_SHADOW:
            return "ARM_MOVE_FRAME_SHADOW";
        case ArmMoveFrame.ARM_MOVE_FRAME_DANCE:
            return "ARM_MOVE_FRAME_DANCE";
        case ArmMoveFrame.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.armMoveFrameToJSON = armMoveFrameToJSON;
/** Enum to describe which leg is being referenced in specific choreography sequence moves. */
var Leg;
(function (Leg) {
    Leg[Leg["LEG_UNKNOWN"] = 0] = "LEG_UNKNOWN";
    Leg[Leg["LEG_FRONT_LEFT"] = 1] = "LEG_FRONT_LEFT";
    Leg[Leg["LEG_FRONT_RIGHT"] = 2] = "LEG_FRONT_RIGHT";
    Leg[Leg["LEG_HIND_LEFT"] = 3] = "LEG_HIND_LEFT";
    Leg[Leg["LEG_HIND_RIGHT"] = 4] = "LEG_HIND_RIGHT";
    Leg[Leg["LEG_NO_LEG"] = -1] = "LEG_NO_LEG";
    Leg[Leg["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(Leg = exports.Leg || (exports.Leg = {}));
function legFromJSON(object) {
    switch (object) {
        case 0:
        case "LEG_UNKNOWN":
            return Leg.LEG_UNKNOWN;
        case 1:
        case "LEG_FRONT_LEFT":
            return Leg.LEG_FRONT_LEFT;
        case 2:
        case "LEG_FRONT_RIGHT":
            return Leg.LEG_FRONT_RIGHT;
        case 3:
        case "LEG_HIND_LEFT":
            return Leg.LEG_HIND_LEFT;
        case 4:
        case "LEG_HIND_RIGHT":
            return Leg.LEG_HIND_RIGHT;
        case -1:
        case "LEG_NO_LEG":
            return Leg.LEG_NO_LEG;
        case -1:
        case "UNRECOGNIZED":
        default:
            return Leg.UNRECOGNIZED;
    }
}
exports.legFromJSON = legFromJSON;
function legToJSON(object) {
    switch (object) {
        case Leg.LEG_UNKNOWN:
            return "LEG_UNKNOWN";
        case Leg.LEG_FRONT_LEFT:
            return "LEG_FRONT_LEFT";
        case Leg.LEG_FRONT_RIGHT:
            return "LEG_FRONT_RIGHT";
        case Leg.LEG_HIND_LEFT:
            return "LEG_HIND_LEFT";
        case Leg.LEG_HIND_RIGHT:
            return "LEG_HIND_RIGHT";
        case Leg.LEG_NO_LEG:
            return "LEG_NO_LEG";
        case Leg.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.legToJSON = legToJSON;
var LedLight;
(function (LedLight) {
    LedLight[LedLight["LED_LIGHT_UNKNOWN"] = 0] = "LED_LIGHT_UNKNOWN";
    LedLight[LedLight["LED_LIGHT_LEFT1"] = 1] = "LED_LIGHT_LEFT1";
    LedLight[LedLight["LED_LIGHT_LEFT2"] = 2] = "LED_LIGHT_LEFT2";
    LedLight[LedLight["LED_LIGHT_LEFT3"] = 3] = "LED_LIGHT_LEFT3";
    LedLight[LedLight["LED_LIGHT_LEFT4"] = 4] = "LED_LIGHT_LEFT4";
    LedLight[LedLight["LED_LIGHT_RIGHT1"] = 5] = "LED_LIGHT_RIGHT1";
    LedLight[LedLight["LED_LIGHT_RIGHT2"] = 6] = "LED_LIGHT_RIGHT2";
    LedLight[LedLight["LED_LIGHT_RIGHT3"] = 7] = "LED_LIGHT_RIGHT3";
    LedLight[LedLight["LED_LIGHT_RIGHT4"] = 8] = "LED_LIGHT_RIGHT4";
    LedLight[LedLight["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(LedLight = exports.LedLight || (exports.LedLight = {}));
function ledLightFromJSON(object) {
    switch (object) {
        case 0:
        case "LED_LIGHT_UNKNOWN":
            return LedLight.LED_LIGHT_UNKNOWN;
        case 1:
        case "LED_LIGHT_LEFT1":
            return LedLight.LED_LIGHT_LEFT1;
        case 2:
        case "LED_LIGHT_LEFT2":
            return LedLight.LED_LIGHT_LEFT2;
        case 3:
        case "LED_LIGHT_LEFT3":
            return LedLight.LED_LIGHT_LEFT3;
        case 4:
        case "LED_LIGHT_LEFT4":
            return LedLight.LED_LIGHT_LEFT4;
        case 5:
        case "LED_LIGHT_RIGHT1":
            return LedLight.LED_LIGHT_RIGHT1;
        case 6:
        case "LED_LIGHT_RIGHT2":
            return LedLight.LED_LIGHT_RIGHT2;
        case 7:
        case "LED_LIGHT_RIGHT3":
            return LedLight.LED_LIGHT_RIGHT3;
        case 8:
        case "LED_LIGHT_RIGHT4":
            return LedLight.LED_LIGHT_RIGHT4;
        case -1:
        case "UNRECOGNIZED":
        default:
            return LedLight.UNRECOGNIZED;
    }
}
exports.ledLightFromJSON = ledLightFromJSON;
function ledLightToJSON(object) {
    switch (object) {
        case LedLight.LED_LIGHT_UNKNOWN:
            return "LED_LIGHT_UNKNOWN";
        case LedLight.LED_LIGHT_LEFT1:
            return "LED_LIGHT_LEFT1";
        case LedLight.LED_LIGHT_LEFT2:
            return "LED_LIGHT_LEFT2";
        case LedLight.LED_LIGHT_LEFT3:
            return "LED_LIGHT_LEFT3";
        case LedLight.LED_LIGHT_LEFT4:
            return "LED_LIGHT_LEFT4";
        case LedLight.LED_LIGHT_RIGHT1:
            return "LED_LIGHT_RIGHT1";
        case LedLight.LED_LIGHT_RIGHT2:
            return "LED_LIGHT_RIGHT2";
        case LedLight.LED_LIGHT_RIGHT3:
            return "LED_LIGHT_RIGHT3";
        case LedLight.LED_LIGHT_RIGHT4:
            return "LED_LIGHT_RIGHT4";
        case LedLight.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.ledLightToJSON = ledLightToJSON;
/** The type of motion used by the Sway sequence move. */
var SwayParams_SwayStyle;
(function (SwayParams_SwayStyle) {
    SwayParams_SwayStyle[SwayParams_SwayStyle["SWAY_STYLE_UNKNOWN"] = 0] = "SWAY_STYLE_UNKNOWN";
    SwayParams_SwayStyle[SwayParams_SwayStyle["SWAY_STYLE_STANDARD"] = 1] = "SWAY_STYLE_STANDARD";
    SwayParams_SwayStyle[SwayParams_SwayStyle["SWAY_STYLE_FAST_OUT"] = 2] = "SWAY_STYLE_FAST_OUT";
    SwayParams_SwayStyle[SwayParams_SwayStyle["SWAY_STYLE_FAST_RETURN"] = 3] = "SWAY_STYLE_FAST_RETURN";
    SwayParams_SwayStyle[SwayParams_SwayStyle["SWAY_STYLE_SQUARE"] = 4] = "SWAY_STYLE_SQUARE";
    SwayParams_SwayStyle[SwayParams_SwayStyle["SWAY_STYLE_SPIKE"] = 5] = "SWAY_STYLE_SPIKE";
    SwayParams_SwayStyle[SwayParams_SwayStyle["SWAY_STYLE_PLATEAU"] = 6] = "SWAY_STYLE_PLATEAU";
    SwayParams_SwayStyle[SwayParams_SwayStyle["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(SwayParams_SwayStyle = exports.SwayParams_SwayStyle || (exports.SwayParams_SwayStyle = {}));
function swayParams_SwayStyleFromJSON(object) {
    switch (object) {
        case 0:
        case "SWAY_STYLE_UNKNOWN":
            return SwayParams_SwayStyle.SWAY_STYLE_UNKNOWN;
        case 1:
        case "SWAY_STYLE_STANDARD":
            return SwayParams_SwayStyle.SWAY_STYLE_STANDARD;
        case 2:
        case "SWAY_STYLE_FAST_OUT":
            return SwayParams_SwayStyle.SWAY_STYLE_FAST_OUT;
        case 3:
        case "SWAY_STYLE_FAST_RETURN":
            return SwayParams_SwayStyle.SWAY_STYLE_FAST_RETURN;
        case 4:
        case "SWAY_STYLE_SQUARE":
            return SwayParams_SwayStyle.SWAY_STYLE_SQUARE;
        case 5:
        case "SWAY_STYLE_SPIKE":
            return SwayParams_SwayStyle.SWAY_STYLE_SPIKE;
        case 6:
        case "SWAY_STYLE_PLATEAU":
            return SwayParams_SwayStyle.SWAY_STYLE_PLATEAU;
        case -1:
        case "UNRECOGNIZED":
        default:
            return SwayParams_SwayStyle.UNRECOGNIZED;
    }
}
exports.swayParams_SwayStyleFromJSON = swayParams_SwayStyleFromJSON;
function swayParams_SwayStyleToJSON(object) {
    switch (object) {
        case SwayParams_SwayStyle.SWAY_STYLE_UNKNOWN:
            return "SWAY_STYLE_UNKNOWN";
        case SwayParams_SwayStyle.SWAY_STYLE_STANDARD:
            return "SWAY_STYLE_STANDARD";
        case SwayParams_SwayStyle.SWAY_STYLE_FAST_OUT:
            return "SWAY_STYLE_FAST_OUT";
        case SwayParams_SwayStyle.SWAY_STYLE_FAST_RETURN:
            return "SWAY_STYLE_FAST_RETURN";
        case SwayParams_SwayStyle.SWAY_STYLE_SQUARE:
            return "SWAY_STYLE_SQUARE";
        case SwayParams_SwayStyle.SWAY_STYLE_SPIKE:
            return "SWAY_STYLE_SPIKE";
        case SwayParams_SwayStyle.SWAY_STYLE_PLATEAU:
            return "SWAY_STYLE_PLATEAU";
        case SwayParams_SwayStyle.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.swayParams_SwayStyleToJSON = swayParams_SwayStyleToJSON;
var SideParams_Side;
(function (SideParams_Side) {
    SideParams_Side[SideParams_Side["SIDE_UNKNOWN"] = 0] = "SIDE_UNKNOWN";
    SideParams_Side[SideParams_Side["SIDE_LEFT"] = 1] = "SIDE_LEFT";
    SideParams_Side[SideParams_Side["SIDE_RIGHT"] = 2] = "SIDE_RIGHT";
    SideParams_Side[SideParams_Side["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(SideParams_Side = exports.SideParams_Side || (exports.SideParams_Side = {}));
function sideParams_SideFromJSON(object) {
    switch (object) {
        case 0:
        case "SIDE_UNKNOWN":
            return SideParams_Side.SIDE_UNKNOWN;
        case 1:
        case "SIDE_LEFT":
            return SideParams_Side.SIDE_LEFT;
        case 2:
        case "SIDE_RIGHT":
            return SideParams_Side.SIDE_RIGHT;
        case -1:
        case "UNRECOGNIZED":
        default:
            return SideParams_Side.UNRECOGNIZED;
    }
}
exports.sideParams_SideFromJSON = sideParams_SideFromJSON;
function sideParams_SideToJSON(object) {
    switch (object) {
        case SideParams_Side.SIDE_UNKNOWN:
            return "SIDE_UNKNOWN";
        case SideParams_Side.SIDE_LEFT:
            return "SIDE_LEFT";
        case SideParams_Side.SIDE_RIGHT:
            return "SIDE_RIGHT";
        case SideParams_Side.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.sideParams_SideToJSON = sideParams_SideToJSON;
/** If split_fraction is non-zero, which legs to lift first. */
var JumpParams_Lead;
(function (JumpParams_Lead) {
    JumpParams_Lead[JumpParams_Lead["LEAD_UNKNOWN"] = 0] = "LEAD_UNKNOWN";
    JumpParams_Lead[JumpParams_Lead["LEAD_AUTO"] = 1] = "LEAD_AUTO";
    JumpParams_Lead[JumpParams_Lead["LEAD_FRONT"] = 2] = "LEAD_FRONT";
    JumpParams_Lead[JumpParams_Lead["LEAD_HIND"] = 3] = "LEAD_HIND";
    JumpParams_Lead[JumpParams_Lead["LEAD_LEFT"] = 4] = "LEAD_LEFT";
    JumpParams_Lead[JumpParams_Lead["LEAD_RIGHT"] = 5] = "LEAD_RIGHT";
    JumpParams_Lead[JumpParams_Lead["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(JumpParams_Lead = exports.JumpParams_Lead || (exports.JumpParams_Lead = {}));
function jumpParams_LeadFromJSON(object) {
    switch (object) {
        case 0:
        case "LEAD_UNKNOWN":
            return JumpParams_Lead.LEAD_UNKNOWN;
        case 1:
        case "LEAD_AUTO":
            return JumpParams_Lead.LEAD_AUTO;
        case 2:
        case "LEAD_FRONT":
            return JumpParams_Lead.LEAD_FRONT;
        case 3:
        case "LEAD_HIND":
            return JumpParams_Lead.LEAD_HIND;
        case 4:
        case "LEAD_LEFT":
            return JumpParams_Lead.LEAD_LEFT;
        case 5:
        case "LEAD_RIGHT":
            return JumpParams_Lead.LEAD_RIGHT;
        case -1:
        case "UNRECOGNIZED":
        default:
            return JumpParams_Lead.UNRECOGNIZED;
    }
}
exports.jumpParams_LeadFromJSON = jumpParams_LeadFromJSON;
function jumpParams_LeadToJSON(object) {
    switch (object) {
        case JumpParams_Lead.LEAD_UNKNOWN:
            return "LEAD_UNKNOWN";
        case JumpParams_Lead.LEAD_AUTO:
            return "LEAD_AUTO";
        case JumpParams_Lead.LEAD_FRONT:
            return "LEAD_FRONT";
        case JumpParams_Lead.LEAD_HIND:
            return "LEAD_HIND";
        case JumpParams_Lead.LEAD_LEFT:
            return "LEAD_LEFT";
        case JumpParams_Lead.LEAD_RIGHT:
            return "LEAD_RIGHT";
        case JumpParams_Lead.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.jumpParams_LeadToJSON = jumpParams_LeadToJSON;
var FidgetStandParams_FidgetPreset;
(function (FidgetStandParams_FidgetPreset) {
    FidgetStandParams_FidgetPreset[FidgetStandParams_FidgetPreset["PRESET_UNKNOWN"] = 0] = "PRESET_UNKNOWN";
    FidgetStandParams_FidgetPreset[FidgetStandParams_FidgetPreset["PRESET_CUSTOM"] = 1] = "PRESET_CUSTOM";
    FidgetStandParams_FidgetPreset[FidgetStandParams_FidgetPreset["PRESET_INTEREST"] = 2] = "PRESET_INTEREST";
    FidgetStandParams_FidgetPreset[FidgetStandParams_FidgetPreset["PRESET_PLAYFUL"] = 3] = "PRESET_PLAYFUL";
    FidgetStandParams_FidgetPreset[FidgetStandParams_FidgetPreset["PRESET_FEAR"] = 4] = "PRESET_FEAR";
    FidgetStandParams_FidgetPreset[FidgetStandParams_FidgetPreset["PRESET_NERVOUS"] = 5] = "PRESET_NERVOUS";
    FidgetStandParams_FidgetPreset[FidgetStandParams_FidgetPreset["PRESET_EXHAUSTED"] = 6] = "PRESET_EXHAUSTED";
    FidgetStandParams_FidgetPreset[FidgetStandParams_FidgetPreset["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(FidgetStandParams_FidgetPreset = exports.FidgetStandParams_FidgetPreset || (exports.FidgetStandParams_FidgetPreset = {}));
function fidgetStandParams_FidgetPresetFromJSON(object) {
    switch (object) {
        case 0:
        case "PRESET_UNKNOWN":
            return FidgetStandParams_FidgetPreset.PRESET_UNKNOWN;
        case 1:
        case "PRESET_CUSTOM":
            return FidgetStandParams_FidgetPreset.PRESET_CUSTOM;
        case 2:
        case "PRESET_INTEREST":
            return FidgetStandParams_FidgetPreset.PRESET_INTEREST;
        case 3:
        case "PRESET_PLAYFUL":
            return FidgetStandParams_FidgetPreset.PRESET_PLAYFUL;
        case 4:
        case "PRESET_FEAR":
            return FidgetStandParams_FidgetPreset.PRESET_FEAR;
        case 5:
        case "PRESET_NERVOUS":
            return FidgetStandParams_FidgetPreset.PRESET_NERVOUS;
        case 6:
        case "PRESET_EXHAUSTED":
            return FidgetStandParams_FidgetPreset.PRESET_EXHAUSTED;
        case -1:
        case "UNRECOGNIZED":
        default:
            return FidgetStandParams_FidgetPreset.UNRECOGNIZED;
    }
}
exports.fidgetStandParams_FidgetPresetFromJSON = fidgetStandParams_FidgetPresetFromJSON;
function fidgetStandParams_FidgetPresetToJSON(object) {
    switch (object) {
        case FidgetStandParams_FidgetPreset.PRESET_UNKNOWN:
            return "PRESET_UNKNOWN";
        case FidgetStandParams_FidgetPreset.PRESET_CUSTOM:
            return "PRESET_CUSTOM";
        case FidgetStandParams_FidgetPreset.PRESET_INTEREST:
            return "PRESET_INTEREST";
        case FidgetStandParams_FidgetPreset.PRESET_PLAYFUL:
            return "PRESET_PLAYFUL";
        case FidgetStandParams_FidgetPreset.PRESET_FEAR:
            return "PRESET_FEAR";
        case FidgetStandParams_FidgetPreset.PRESET_NERVOUS:
            return "PRESET_NERVOUS";
        case FidgetStandParams_FidgetPreset.PRESET_EXHAUSTED:
            return "PRESET_EXHAUSTED";
        case FidgetStandParams_FidgetPreset.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.fidgetStandParams_FidgetPresetToJSON = fidgetStandParams_FidgetPresetToJSON;
var FrameSnapshotParams_Inclusion;
(function (FrameSnapshotParams_Inclusion) {
    FrameSnapshotParams_Inclusion[FrameSnapshotParams_Inclusion["INCLUSION_UNKNOWN"] = 0] = "INCLUSION_UNKNOWN";
    FrameSnapshotParams_Inclusion[FrameSnapshotParams_Inclusion["INCLUSION_IF_STANCE"] = 1] = "INCLUSION_IF_STANCE";
    FrameSnapshotParams_Inclusion[FrameSnapshotParams_Inclusion["INCLUSION_INCLUDED"] = 2] = "INCLUSION_INCLUDED";
    FrameSnapshotParams_Inclusion[FrameSnapshotParams_Inclusion["INCLUSION_EXCLUDED"] = 3] = "INCLUSION_EXCLUDED";
    FrameSnapshotParams_Inclusion[FrameSnapshotParams_Inclusion["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(FrameSnapshotParams_Inclusion = exports.FrameSnapshotParams_Inclusion || (exports.FrameSnapshotParams_Inclusion = {}));
function frameSnapshotParams_InclusionFromJSON(object) {
    switch (object) {
        case 0:
        case "INCLUSION_UNKNOWN":
            return FrameSnapshotParams_Inclusion.INCLUSION_UNKNOWN;
        case 1:
        case "INCLUSION_IF_STANCE":
            return FrameSnapshotParams_Inclusion.INCLUSION_IF_STANCE;
        case 2:
        case "INCLUSION_INCLUDED":
            return FrameSnapshotParams_Inclusion.INCLUSION_INCLUDED;
        case 3:
        case "INCLUSION_EXCLUDED":
            return FrameSnapshotParams_Inclusion.INCLUSION_EXCLUDED;
        case -1:
        case "UNRECOGNIZED":
        default:
            return FrameSnapshotParams_Inclusion.UNRECOGNIZED;
    }
}
exports.frameSnapshotParams_InclusionFromJSON = frameSnapshotParams_InclusionFromJSON;
function frameSnapshotParams_InclusionToJSON(object) {
    switch (object) {
        case FrameSnapshotParams_Inclusion.INCLUSION_UNKNOWN:
            return "INCLUSION_UNKNOWN";
        case FrameSnapshotParams_Inclusion.INCLUSION_IF_STANCE:
            return "INCLUSION_IF_STANCE";
        case FrameSnapshotParams_Inclusion.INCLUSION_INCLUDED:
            return "INCLUSION_INCLUDED";
        case FrameSnapshotParams_Inclusion.INCLUSION_EXCLUDED:
            return "INCLUSION_EXCLUDED";
        case FrameSnapshotParams_Inclusion.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.frameSnapshotParams_InclusionToJSON = frameSnapshotParams_InclusionToJSON;
var RippleColorParams_Pattern;
(function (RippleColorParams_Pattern) {
    RippleColorParams_Pattern[RippleColorParams_Pattern["PATTERN_UNKNOWN"] = 0] = "PATTERN_UNKNOWN";
    RippleColorParams_Pattern[RippleColorParams_Pattern["PATTERN_FLASHING"] = 1] = "PATTERN_FLASHING";
    RippleColorParams_Pattern[RippleColorParams_Pattern["PATTERN_SNAKE"] = 2] = "PATTERN_SNAKE";
    RippleColorParams_Pattern[RippleColorParams_Pattern["PATTERN_ALTERNATE_COLORS"] = 3] = "PATTERN_ALTERNATE_COLORS";
    RippleColorParams_Pattern[RippleColorParams_Pattern["PATTERN_FINE_GRAINED_ALTERNATE_COLORS"] = 4] = "PATTERN_FINE_GRAINED_ALTERNATE_COLORS";
    RippleColorParams_Pattern[RippleColorParams_Pattern["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(RippleColorParams_Pattern = exports.RippleColorParams_Pattern || (exports.RippleColorParams_Pattern = {}));
function rippleColorParams_PatternFromJSON(object) {
    switch (object) {
        case 0:
        case "PATTERN_UNKNOWN":
            return RippleColorParams_Pattern.PATTERN_UNKNOWN;
        case 1:
        case "PATTERN_FLASHING":
            return RippleColorParams_Pattern.PATTERN_FLASHING;
        case 2:
        case "PATTERN_SNAKE":
            return RippleColorParams_Pattern.PATTERN_SNAKE;
        case 3:
        case "PATTERN_ALTERNATE_COLORS":
            return RippleColorParams_Pattern.PATTERN_ALTERNATE_COLORS;
        case 4:
        case "PATTERN_FINE_GRAINED_ALTERNATE_COLORS":
            return RippleColorParams_Pattern.PATTERN_FINE_GRAINED_ALTERNATE_COLORS;
        case -1:
        case "UNRECOGNIZED":
        default:
            return RippleColorParams_Pattern.UNRECOGNIZED;
    }
}
exports.rippleColorParams_PatternFromJSON = rippleColorParams_PatternFromJSON;
function rippleColorParams_PatternToJSON(object) {
    switch (object) {
        case RippleColorParams_Pattern.PATTERN_UNKNOWN:
            return "PATTERN_UNKNOWN";
        case RippleColorParams_Pattern.PATTERN_FLASHING:
            return "PATTERN_FLASHING";
        case RippleColorParams_Pattern.PATTERN_SNAKE:
            return "PATTERN_SNAKE";
        case RippleColorParams_Pattern.PATTERN_ALTERNATE_COLORS:
            return "PATTERN_ALTERNATE_COLORS";
        case RippleColorParams_Pattern.PATTERN_FINE_GRAINED_ALTERNATE_COLORS:
            return "PATTERN_FINE_GRAINED_ALTERNATE_COLORS";
        case RippleColorParams_Pattern.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.rippleColorParams_PatternToJSON = rippleColorParams_PatternToJSON;
var RippleColorParams_LightSide;
(function (RippleColorParams_LightSide) {
    RippleColorParams_LightSide[RippleColorParams_LightSide["LIGHT_SIDE_UNKNOWN"] = 0] = "LIGHT_SIDE_UNKNOWN";
    RippleColorParams_LightSide[RippleColorParams_LightSide["LIGHT_SIDE_LEFT"] = 1] = "LIGHT_SIDE_LEFT";
    RippleColorParams_LightSide[RippleColorParams_LightSide["LIGHT_SIDE_RIGHT"] = 2] = "LIGHT_SIDE_RIGHT";
    RippleColorParams_LightSide[RippleColorParams_LightSide["LIGHT_SIDE_BOTH_IN_SEQUENCE"] = 3] = "LIGHT_SIDE_BOTH_IN_SEQUENCE";
    RippleColorParams_LightSide[RippleColorParams_LightSide["LIGHT_SIDE_BOTH_MATCHING"] = 4] = "LIGHT_SIDE_BOTH_MATCHING";
    RippleColorParams_LightSide[RippleColorParams_LightSide["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(RippleColorParams_LightSide = exports.RippleColorParams_LightSide || (exports.RippleColorParams_LightSide = {}));
function rippleColorParams_LightSideFromJSON(object) {
    switch (object) {
        case 0:
        case "LIGHT_SIDE_UNKNOWN":
            return RippleColorParams_LightSide.LIGHT_SIDE_UNKNOWN;
        case 1:
        case "LIGHT_SIDE_LEFT":
            return RippleColorParams_LightSide.LIGHT_SIDE_LEFT;
        case 2:
        case "LIGHT_SIDE_RIGHT":
            return RippleColorParams_LightSide.LIGHT_SIDE_RIGHT;
        case 3:
        case "LIGHT_SIDE_BOTH_IN_SEQUENCE":
            return RippleColorParams_LightSide.LIGHT_SIDE_BOTH_IN_SEQUENCE;
        case 4:
        case "LIGHT_SIDE_BOTH_MATCHING":
            return RippleColorParams_LightSide.LIGHT_SIDE_BOTH_MATCHING;
        case -1:
        case "UNRECOGNIZED":
        default:
            return RippleColorParams_LightSide.UNRECOGNIZED;
    }
}
exports.rippleColorParams_LightSideFromJSON = rippleColorParams_LightSideFromJSON;
function rippleColorParams_LightSideToJSON(object) {
    switch (object) {
        case RippleColorParams_LightSide.LIGHT_SIDE_UNKNOWN:
            return "LIGHT_SIDE_UNKNOWN";
        case RippleColorParams_LightSide.LIGHT_SIDE_LEFT:
            return "LIGHT_SIDE_LEFT";
        case RippleColorParams_LightSide.LIGHT_SIDE_RIGHT:
            return "LIGHT_SIDE_RIGHT";
        case RippleColorParams_LightSide.LIGHT_SIDE_BOTH_IN_SEQUENCE:
            return "LIGHT_SIDE_BOTH_IN_SEQUENCE";
        case RippleColorParams_LightSide.LIGHT_SIDE_BOTH_MATCHING:
            return "LIGHT_SIDE_BOTH_MATCHING";
        case RippleColorParams_LightSide.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.rippleColorParams_LightSideToJSON = rippleColorParams_LightSideToJSON;
function createBaseEulerZYXValue() {
    return { roll: undefined, pitch: undefined, yaw: undefined };
}
exports.EulerZYXValue = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.roll !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.roll }, writer.uint32(10).fork()).ldelim();
        }
        if (message.pitch !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.pitch }, writer.uint32(18).fork()).ldelim();
        }
        if (message.yaw !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.yaw }, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseEulerZYXValue();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.roll = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.pitch = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.yaw = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            roll: isSet(object.roll) ? Number(object.roll) : undefined,
            pitch: isSet(object.pitch) ? Number(object.pitch) : undefined,
            yaw: isSet(object.yaw) ? Number(object.yaw) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.roll !== undefined && (obj.roll = message.roll);
        message.pitch !== undefined && (obj.pitch = message.pitch);
        message.yaw !== undefined && (obj.yaw = message.yaw);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseEulerZYXValue();
        message.roll = object.roll ?? undefined;
        message.pitch = object.pitch ?? undefined;
        message.yaw = object.yaw ?? undefined;
        return message;
    },
};
function createBaseEulerRateZYXValue() {
    return { roll: undefined, pitch: undefined, yaw: undefined };
}
exports.EulerRateZYXValue = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.roll !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.roll }, writer.uint32(10).fork()).ldelim();
        }
        if (message.pitch !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.pitch }, writer.uint32(18).fork()).ldelim();
        }
        if (message.yaw !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.yaw }, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseEulerRateZYXValue();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.roll = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.pitch = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.yaw = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            roll: isSet(object.roll) ? Number(object.roll) : undefined,
            pitch: isSet(object.pitch) ? Number(object.pitch) : undefined,
            yaw: isSet(object.yaw) ? Number(object.yaw) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.roll !== undefined && (obj.roll = message.roll);
        message.pitch !== undefined && (obj.pitch = message.pitch);
        message.yaw !== undefined && (obj.yaw = message.yaw);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseEulerRateZYXValue();
        message.roll = object.roll ?? undefined;
        message.pitch = object.pitch ?? undefined;
        message.yaw = object.yaw ?? undefined;
        return message;
    },
};
function createBaseBodyHoldParams() {
    return {
        rotation: undefined,
        translation: undefined,
        entrySlices: undefined,
        exitSlices: undefined,
    };
}
exports.BodyHoldParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.rotation !== undefined) {
            exports.EulerZYXValue.encode(message.rotation, writer.uint32(10).fork()).ldelim();
        }
        if (message.translation !== undefined) {
            geometry_1.Vec3Value.encode(message.translation, writer.uint32(18).fork()).ldelim();
        }
        if (message.entrySlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.entrySlices }, writer.uint32(26).fork()).ldelim();
        }
        if (message.exitSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.exitSlices }, writer.uint32(34).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBodyHoldParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.rotation = exports.EulerZYXValue.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.translation = geometry_1.Vec3Value.decode(reader, reader.uint32());
                    break;
                case 3:
                    message.entrySlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.exitSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            rotation: isSet(object.rotation)
                ? exports.EulerZYXValue.fromJSON(object.rotation)
                : undefined,
            translation: isSet(object.translation)
                ? geometry_1.Vec3Value.fromJSON(object.translation)
                : undefined,
            entrySlices: isSet(object.entrySlices)
                ? Number(object.entrySlices)
                : undefined,
            exitSlices: isSet(object.exitSlices)
                ? Number(object.exitSlices)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.rotation !== undefined &&
            (obj.rotation = message.rotation
                ? exports.EulerZYXValue.toJSON(message.rotation)
                : undefined);
        message.translation !== undefined &&
            (obj.translation = message.translation
                ? geometry_1.Vec3Value.toJSON(message.translation)
                : undefined);
        message.entrySlices !== undefined &&
            (obj.entrySlices = message.entrySlices);
        message.exitSlices !== undefined && (obj.exitSlices = message.exitSlices);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseBodyHoldParams();
        message.rotation =
            object.rotation !== undefined && object.rotation !== null
                ? exports.EulerZYXValue.fromPartial(object.rotation)
                : undefined;
        message.translation =
            object.translation !== undefined && object.translation !== null
                ? geometry_1.Vec3Value.fromPartial(object.translation)
                : undefined;
        message.entrySlices = object.entrySlices ?? undefined;
        message.exitSlices = object.exitSlices ?? undefined;
        return message;
    },
};
function createBaseSwayParams() {
    return {
        vertical: undefined,
        horizontal: undefined,
        roll: undefined,
        pivot: 0,
        style: 0,
        pronounced: undefined,
        holdZeroAxes: undefined,
    };
}
exports.SwayParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.vertical !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.vertical }, writer.uint32(10).fork()).ldelim();
        }
        if (message.horizontal !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.horizontal }, writer.uint32(18).fork()).ldelim();
        }
        if (message.roll !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.roll }, writer.uint32(26).fork()).ldelim();
        }
        if (message.pivot !== 0) {
            writer.uint32(32).int32(message.pivot);
        }
        if (message.style !== 0) {
            writer.uint32(40).int32(message.style);
        }
        if (message.pronounced !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.pronounced }, writer.uint32(50).fork()).ldelim();
        }
        if (message.holdZeroAxes !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.holdZeroAxes }, writer.uint32(58).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSwayParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.vertical = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.horizontal = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.roll = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.pivot = reader.int32();
                    break;
                case 5:
                    message.style = reader.int32();
                    break;
                case 6:
                    message.pronounced = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 7:
                    message.holdZeroAxes = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            vertical: isSet(object.vertical) ? Number(object.vertical) : undefined,
            horizontal: isSet(object.horizontal)
                ? Number(object.horizontal)
                : undefined,
            roll: isSet(object.roll) ? Number(object.roll) : undefined,
            pivot: isSet(object.pivot) ? pivotFromJSON(object.pivot) : 0,
            style: isSet(object.style)
                ? swayParams_SwayStyleFromJSON(object.style)
                : 0,
            pronounced: isSet(object.pronounced)
                ? Number(object.pronounced)
                : undefined,
            holdZeroAxes: isSet(object.holdZeroAxes)
                ? Boolean(object.holdZeroAxes)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.vertical !== undefined && (obj.vertical = message.vertical);
        message.horizontal !== undefined && (obj.horizontal = message.horizontal);
        message.roll !== undefined && (obj.roll = message.roll);
        message.pivot !== undefined && (obj.pivot = pivotToJSON(message.pivot));
        message.style !== undefined &&
            (obj.style = swayParams_SwayStyleToJSON(message.style));
        message.pronounced !== undefined && (obj.pronounced = message.pronounced);
        message.holdZeroAxes !== undefined &&
            (obj.holdZeroAxes = message.holdZeroAxes);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSwayParams();
        message.vertical = object.vertical ?? undefined;
        message.horizontal = object.horizontal ?? undefined;
        message.roll = object.roll ?? undefined;
        message.pivot = object.pivot ?? 0;
        message.style = object.style ?? 0;
        message.pronounced = object.pronounced ?? undefined;
        message.holdZeroAxes = object.holdZeroAxes ?? undefined;
        return message;
    },
};
function createBaseArmMoveParams() {
    return {
        shoulder0: undefined,
        shoulder1: undefined,
        elbow0: undefined,
        elbow1: undefined,
        wrist0: undefined,
        wrist1: undefined,
        easing: 0,
        gripper: undefined,
    };
}
exports.ArmMoveParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.shoulder0 !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.shoulder0 }, writer.uint32(10).fork()).ldelim();
        }
        if (message.shoulder1 !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.shoulder1 }, writer.uint32(18).fork()).ldelim();
        }
        if (message.elbow0 !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.elbow0 }, writer.uint32(26).fork()).ldelim();
        }
        if (message.elbow1 !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.elbow1 }, writer.uint32(34).fork()).ldelim();
        }
        if (message.wrist0 !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.wrist0 }, writer.uint32(42).fork()).ldelim();
        }
        if (message.wrist1 !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.wrist1 }, writer.uint32(50).fork()).ldelim();
        }
        if (message.easing !== 0) {
            writer.uint32(56).int32(message.easing);
        }
        if (message.gripper !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.gripper }, writer.uint32(66).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseArmMoveParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.shoulder0 = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.shoulder1 = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.elbow0 = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.elbow1 = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.wrist0 = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 6:
                    message.wrist1 = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 7:
                    message.easing = reader.int32();
                    break;
                case 8:
                    message.gripper = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            shoulder0: isSet(object.shoulder0) ? Number(object.shoulder0) : undefined,
            shoulder1: isSet(object.shoulder1) ? Number(object.shoulder1) : undefined,
            elbow0: isSet(object.elbow0) ? Number(object.elbow0) : undefined,
            elbow1: isSet(object.elbow1) ? Number(object.elbow1) : undefined,
            wrist0: isSet(object.wrist0) ? Number(object.wrist0) : undefined,
            wrist1: isSet(object.wrist1) ? Number(object.wrist1) : undefined,
            easing: isSet(object.easing) ? easingFromJSON(object.easing) : 0,
            gripper: isSet(object.gripper) ? Number(object.gripper) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.shoulder0 !== undefined && (obj.shoulder0 = message.shoulder0);
        message.shoulder1 !== undefined && (obj.shoulder1 = message.shoulder1);
        message.elbow0 !== undefined && (obj.elbow0 = message.elbow0);
        message.elbow1 !== undefined && (obj.elbow1 = message.elbow1);
        message.wrist0 !== undefined && (obj.wrist0 = message.wrist0);
        message.wrist1 !== undefined && (obj.wrist1 = message.wrist1);
        message.easing !== undefined && (obj.easing = easingToJSON(message.easing));
        message.gripper !== undefined && (obj.gripper = message.gripper);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseArmMoveParams();
        message.shoulder0 = object.shoulder0 ?? undefined;
        message.shoulder1 = object.shoulder1 ?? undefined;
        message.elbow0 = object.elbow0 ?? undefined;
        message.elbow1 = object.elbow1 ?? undefined;
        message.wrist0 = object.wrist0 ?? undefined;
        message.wrist1 = object.wrist1 ?? undefined;
        message.easing = object.easing ?? 0;
        message.gripper = object.gripper ?? undefined;
        return message;
    },
};
function createBaseWorkspaceArmMoveParams() {
    return {
        rotation: undefined,
        translation: undefined,
        absolute: undefined,
        frame: 0,
        easing: 0,
        danceFrameId: undefined,
    };
}
exports.WorkspaceArmMoveParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.rotation !== undefined) {
            exports.EulerZYXValue.encode(message.rotation, writer.uint32(10).fork()).ldelim();
        }
        if (message.translation !== undefined) {
            geometry_1.Vec3Value.encode(message.translation, writer.uint32(18).fork()).ldelim();
        }
        if (message.absolute !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.absolute }, writer.uint32(26).fork()).ldelim();
        }
        if (message.frame !== 0) {
            writer.uint32(32).int32(message.frame);
        }
        if (message.easing !== 0) {
            writer.uint32(40).int32(message.easing);
        }
        if (message.danceFrameId !== undefined) {
            wrappers_1.Int32Value.encode({ value: message.danceFrameId }, writer.uint32(50).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseWorkspaceArmMoveParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.rotation = exports.EulerZYXValue.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.translation = geometry_1.Vec3Value.decode(reader, reader.uint32());
                    break;
                case 3:
                    message.absolute = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.frame = reader.int32();
                    break;
                case 5:
                    message.easing = reader.int32();
                    break;
                case 6:
                    message.danceFrameId = wrappers_1.Int32Value.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            rotation: isSet(object.rotation)
                ? exports.EulerZYXValue.fromJSON(object.rotation)
                : undefined,
            translation: isSet(object.translation)
                ? geometry_1.Vec3Value.fromJSON(object.translation)
                : undefined,
            absolute: isSet(object.absolute) ? Boolean(object.absolute) : undefined,
            frame: isSet(object.frame) ? armMoveFrameFromJSON(object.frame) : 0,
            easing: isSet(object.easing) ? easingFromJSON(object.easing) : 0,
            danceFrameId: isSet(object.danceFrameId)
                ? Number(object.danceFrameId)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.rotation !== undefined &&
            (obj.rotation = message.rotation
                ? exports.EulerZYXValue.toJSON(message.rotation)
                : undefined);
        message.translation !== undefined &&
            (obj.translation = message.translation
                ? geometry_1.Vec3Value.toJSON(message.translation)
                : undefined);
        message.absolute !== undefined && (obj.absolute = message.absolute);
        message.frame !== undefined &&
            (obj.frame = armMoveFrameToJSON(message.frame));
        message.easing !== undefined && (obj.easing = easingToJSON(message.easing));
        message.danceFrameId !== undefined &&
            (obj.danceFrameId = message.danceFrameId);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseWorkspaceArmMoveParams();
        message.rotation =
            object.rotation !== undefined && object.rotation !== null
                ? exports.EulerZYXValue.fromPartial(object.rotation)
                : undefined;
        message.translation =
            object.translation !== undefined && object.translation !== null
                ? geometry_1.Vec3Value.fromPartial(object.translation)
                : undefined;
        message.absolute = object.absolute ?? undefined;
        message.frame = object.frame ?? 0;
        message.easing = object.easing ?? 0;
        message.danceFrameId = object.danceFrameId ?? undefined;
        return message;
    },
};
function createBaseFigure8Params() {
    return { height: undefined, width: undefined, beatsPerCycle: undefined };
}
exports.Figure8Params = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.height !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.height }, writer.uint32(10).fork()).ldelim();
        }
        if (message.width !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.width }, writer.uint32(18).fork()).ldelim();
        }
        if (message.beatsPerCycle !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.beatsPerCycle }, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseFigure8Params();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.height = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.width = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.beatsPerCycle = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            height: isSet(object.height) ? Number(object.height) : undefined,
            width: isSet(object.width) ? Number(object.width) : undefined,
            beatsPerCycle: isSet(object.beatsPerCycle)
                ? Number(object.beatsPerCycle)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.height !== undefined && (obj.height = message.height);
        message.width !== undefined && (obj.width = message.width);
        message.beatsPerCycle !== undefined &&
            (obj.beatsPerCycle = message.beatsPerCycle);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseFigure8Params();
        message.height = object.height ?? undefined;
        message.width = object.width ?? undefined;
        message.beatsPerCycle = object.beatsPerCycle ?? undefined;
        return message;
    },
};
function createBaseGripperParams() {
    return { angle: undefined, speed: undefined };
}
exports.GripperParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.angle !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.angle }, writer.uint32(10).fork()).ldelim();
        }
        if (message.speed !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.speed }, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseGripperParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.angle = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.speed = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            angle: isSet(object.angle) ? Number(object.angle) : undefined,
            speed: isSet(object.speed) ? Number(object.speed) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.angle !== undefined && (obj.angle = message.angle);
        message.speed !== undefined && (obj.speed = message.speed);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseGripperParams();
        message.angle = object.angle ?? undefined;
        message.speed = object.speed ?? undefined;
        return message;
    },
};
function createBaseKneelLegMoveParams() {
    return {
        hipX: undefined,
        hipY: undefined,
        knee: undefined,
        mirror: undefined,
        easing: 0,
    };
}
exports.KneelLegMoveParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.hipX !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.hipX }, writer.uint32(10).fork()).ldelim();
        }
        if (message.hipY !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.hipY }, writer.uint32(18).fork()).ldelim();
        }
        if (message.knee !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.knee }, writer.uint32(26).fork()).ldelim();
        }
        if (message.mirror !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.mirror }, writer.uint32(34).fork()).ldelim();
        }
        if (message.easing !== 0) {
            writer.uint32(40).int32(message.easing);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseKneelLegMoveParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.hipX = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.hipY = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.knee = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.mirror = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.easing = reader.int32();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            hipX: isSet(object.hipX) ? Number(object.hipX) : undefined,
            hipY: isSet(object.hipY) ? Number(object.hipY) : undefined,
            knee: isSet(object.knee) ? Number(object.knee) : undefined,
            mirror: isSet(object.mirror) ? Boolean(object.mirror) : undefined,
            easing: isSet(object.easing) ? easingFromJSON(object.easing) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        message.hipX !== undefined && (obj.hipX = message.hipX);
        message.hipY !== undefined && (obj.hipY = message.hipY);
        message.knee !== undefined && (obj.knee = message.knee);
        message.mirror !== undefined && (obj.mirror = message.mirror);
        message.easing !== undefined && (obj.easing = easingToJSON(message.easing));
        return obj;
    },
    fromPartial(object) {
        const message = createBaseKneelLegMoveParams();
        message.hipX = object.hipX ?? undefined;
        message.hipY = object.hipY ?? undefined;
        message.knee = object.knee ?? undefined;
        message.mirror = object.mirror ?? undefined;
        message.easing = object.easing ?? 0;
        return message;
    },
};
function createBaseKneelLegMove2Params() {
    return {
        leftHipX: undefined,
        leftHipY: undefined,
        leftKnee: undefined,
        rightHipX: undefined,
        rightHipY: undefined,
        rightKnee: undefined,
        easing: 0,
        linkToNext: undefined,
    };
}
exports.KneelLegMove2Params = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.leftHipX !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.leftHipX }, writer.uint32(10).fork()).ldelim();
        }
        if (message.leftHipY !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.leftHipY }, writer.uint32(18).fork()).ldelim();
        }
        if (message.leftKnee !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.leftKnee }, writer.uint32(26).fork()).ldelim();
        }
        if (message.rightHipX !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.rightHipX }, writer.uint32(34).fork()).ldelim();
        }
        if (message.rightHipY !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.rightHipY }, writer.uint32(42).fork()).ldelim();
        }
        if (message.rightKnee !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.rightKnee }, writer.uint32(50).fork()).ldelim();
        }
        if (message.easing !== 0) {
            writer.uint32(56).int32(message.easing);
        }
        if (message.linkToNext !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.linkToNext }, writer.uint32(66).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseKneelLegMove2Params();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.leftHipX = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.leftHipY = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.leftKnee = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.rightHipX = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.rightHipY = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 6:
                    message.rightKnee = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 7:
                    message.easing = reader.int32();
                    break;
                case 8:
                    message.linkToNext = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            leftHipX: isSet(object.leftHipX) ? Number(object.leftHipX) : undefined,
            leftHipY: isSet(object.leftHipY) ? Number(object.leftHipY) : undefined,
            leftKnee: isSet(object.leftKnee) ? Number(object.leftKnee) : undefined,
            rightHipX: isSet(object.rightHipX) ? Number(object.rightHipX) : undefined,
            rightHipY: isSet(object.rightHipY) ? Number(object.rightHipY) : undefined,
            rightKnee: isSet(object.rightKnee) ? Number(object.rightKnee) : undefined,
            easing: isSet(object.easing) ? easingFromJSON(object.easing) : 0,
            linkToNext: isSet(object.linkToNext)
                ? Boolean(object.linkToNext)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.leftHipX !== undefined && (obj.leftHipX = message.leftHipX);
        message.leftHipY !== undefined && (obj.leftHipY = message.leftHipY);
        message.leftKnee !== undefined && (obj.leftKnee = message.leftKnee);
        message.rightHipX !== undefined && (obj.rightHipX = message.rightHipX);
        message.rightHipY !== undefined && (obj.rightHipY = message.rightHipY);
        message.rightKnee !== undefined && (obj.rightKnee = message.rightKnee);
        message.easing !== undefined && (obj.easing = easingToJSON(message.easing));
        message.linkToNext !== undefined && (obj.linkToNext = message.linkToNext);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseKneelLegMove2Params();
        message.leftHipX = object.leftHipX ?? undefined;
        message.leftHipY = object.leftHipY ?? undefined;
        message.leftKnee = object.leftKnee ?? undefined;
        message.rightHipX = object.rightHipX ?? undefined;
        message.rightHipY = object.rightHipY ?? undefined;
        message.rightKnee = object.rightKnee ?? undefined;
        message.easing = object.easing ?? 0;
        message.linkToNext = object.linkToNext ?? undefined;
        return message;
    },
};
function createBaseRunningManParams() {
    return {
        velocity: undefined,
        swingHeight: undefined,
        spread: undefined,
        reverse: undefined,
        preMoveCycles: undefined,
        speedMultiplier: undefined,
        dutyCycle: undefined,
        comHeight: undefined,
    };
}
exports.RunningManParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.velocity !== undefined) {
            geometry_1.Vec2Value.encode(message.velocity, writer.uint32(10).fork()).ldelim();
        }
        if (message.swingHeight !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.swingHeight }, writer.uint32(18).fork()).ldelim();
        }
        if (message.spread !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.spread }, writer.uint32(26).fork()).ldelim();
        }
        if (message.reverse !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.reverse }, writer.uint32(34).fork()).ldelim();
        }
        if (message.preMoveCycles !== undefined) {
            wrappers_1.Int32Value.encode({ value: message.preMoveCycles }, writer.uint32(42).fork()).ldelim();
        }
        if (message.speedMultiplier !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.speedMultiplier }, writer.uint32(50).fork()).ldelim();
        }
        if (message.dutyCycle !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.dutyCycle }, writer.uint32(58).fork()).ldelim();
        }
        if (message.comHeight !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.comHeight }, writer.uint32(66).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseRunningManParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.velocity = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.swingHeight = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.spread = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.reverse = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.preMoveCycles = wrappers_1.Int32Value.decode(reader, reader.uint32()).value;
                    break;
                case 6:
                    message.speedMultiplier = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 7:
                    message.dutyCycle = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 8:
                    message.comHeight = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            velocity: isSet(object.velocity)
                ? geometry_1.Vec2Value.fromJSON(object.velocity)
                : undefined,
            swingHeight: isSet(object.swingHeight)
                ? Number(object.swingHeight)
                : undefined,
            spread: isSet(object.spread) ? Number(object.spread) : undefined,
            reverse: isSet(object.reverse) ? Boolean(object.reverse) : undefined,
            preMoveCycles: isSet(object.preMoveCycles)
                ? Number(object.preMoveCycles)
                : undefined,
            speedMultiplier: isSet(object.speedMultiplier)
                ? Number(object.speedMultiplier)
                : undefined,
            dutyCycle: isSet(object.dutyCycle) ? Number(object.dutyCycle) : undefined,
            comHeight: isSet(object.comHeight) ? Number(object.comHeight) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.velocity !== undefined &&
            (obj.velocity = message.velocity
                ? geometry_1.Vec2Value.toJSON(message.velocity)
                : undefined);
        message.swingHeight !== undefined &&
            (obj.swingHeight = message.swingHeight);
        message.spread !== undefined && (obj.spread = message.spread);
        message.reverse !== undefined && (obj.reverse = message.reverse);
        message.preMoveCycles !== undefined &&
            (obj.preMoveCycles = message.preMoveCycles);
        message.speedMultiplier !== undefined &&
            (obj.speedMultiplier = message.speedMultiplier);
        message.dutyCycle !== undefined && (obj.dutyCycle = message.dutyCycle);
        message.comHeight !== undefined && (obj.comHeight = message.comHeight);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseRunningManParams();
        message.velocity =
            object.velocity !== undefined && object.velocity !== null
                ? geometry_1.Vec2Value.fromPartial(object.velocity)
                : undefined;
        message.swingHeight = object.swingHeight ?? undefined;
        message.spread = object.spread ?? undefined;
        message.reverse = object.reverse ?? undefined;
        message.preMoveCycles = object.preMoveCycles ?? undefined;
        message.speedMultiplier = object.speedMultiplier ?? undefined;
        message.dutyCycle = object.dutyCycle ?? undefined;
        message.comHeight = object.comHeight ?? undefined;
        return message;
    },
};
function createBaseHopParams() {
    return { velocity: undefined, yawRate: undefined, standTime: undefined };
}
exports.HopParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.velocity !== undefined) {
            geometry_1.Vec2Value.encode(message.velocity, writer.uint32(10).fork()).ldelim();
        }
        if (message.yawRate !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.yawRate }, writer.uint32(18).fork()).ldelim();
        }
        if (message.standTime !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.standTime }, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseHopParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.velocity = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.yawRate = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.standTime = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            velocity: isSet(object.velocity)
                ? geometry_1.Vec2Value.fromJSON(object.velocity)
                : undefined,
            yawRate: isSet(object.yawRate) ? Number(object.yawRate) : undefined,
            standTime: isSet(object.standTime) ? Number(object.standTime) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.velocity !== undefined &&
            (obj.velocity = message.velocity
                ? geometry_1.Vec2Value.toJSON(message.velocity)
                : undefined);
        message.yawRate !== undefined && (obj.yawRate = message.yawRate);
        message.standTime !== undefined && (obj.standTime = message.standTime);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseHopParams();
        message.velocity =
            object.velocity !== undefined && object.velocity !== null
                ? geometry_1.Vec2Value.fromPartial(object.velocity)
                : undefined;
        message.yawRate = object.yawRate ?? undefined;
        message.standTime = object.standTime ?? undefined;
        return message;
    },
};
function createBaseRandomRotateParams() {
    return {
        amplitude: undefined,
        speed: undefined,
        speedVariation: undefined,
        numSpeedTiers: undefined,
        tierVariation: undefined,
    };
}
exports.RandomRotateParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.amplitude !== undefined) {
            exports.EulerZYXValue.encode(message.amplitude, writer.uint32(10).fork()).ldelim();
        }
        if (message.speed !== undefined) {
            exports.EulerRateZYXValue.encode(message.speed, writer.uint32(18).fork()).ldelim();
        }
        if (message.speedVariation !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.speedVariation }, writer.uint32(26).fork()).ldelim();
        }
        if (message.numSpeedTiers !== undefined) {
            wrappers_1.Int32Value.encode({ value: message.numSpeedTiers }, writer.uint32(34).fork()).ldelim();
        }
        if (message.tierVariation !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.tierVariation }, writer.uint32(42).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseRandomRotateParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.amplitude = exports.EulerZYXValue.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.speed = exports.EulerRateZYXValue.decode(reader, reader.uint32());
                    break;
                case 3:
                    message.speedVariation = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.numSpeedTiers = wrappers_1.Int32Value.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.tierVariation = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            amplitude: isSet(object.amplitude)
                ? exports.EulerZYXValue.fromJSON(object.amplitude)
                : undefined,
            speed: isSet(object.speed)
                ? exports.EulerRateZYXValue.fromJSON(object.speed)
                : undefined,
            speedVariation: isSet(object.speedVariation)
                ? Number(object.speedVariation)
                : undefined,
            numSpeedTiers: isSet(object.numSpeedTiers)
                ? Number(object.numSpeedTiers)
                : undefined,
            tierVariation: isSet(object.tierVariation)
                ? Number(object.tierVariation)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.amplitude !== undefined &&
            (obj.amplitude = message.amplitude
                ? exports.EulerZYXValue.toJSON(message.amplitude)
                : undefined);
        message.speed !== undefined &&
            (obj.speed = message.speed
                ? exports.EulerRateZYXValue.toJSON(message.speed)
                : undefined);
        message.speedVariation !== undefined &&
            (obj.speedVariation = message.speedVariation);
        message.numSpeedTiers !== undefined &&
            (obj.numSpeedTiers = message.numSpeedTiers);
        message.tierVariation !== undefined &&
            (obj.tierVariation = message.tierVariation);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseRandomRotateParams();
        message.amplitude =
            object.amplitude !== undefined && object.amplitude !== null
                ? exports.EulerZYXValue.fromPartial(object.amplitude)
                : undefined;
        message.speed =
            object.speed !== undefined && object.speed !== null
                ? exports.EulerRateZYXValue.fromPartial(object.speed)
                : undefined;
        message.speedVariation = object.speedVariation ?? undefined;
        message.numSpeedTiers = object.numSpeedTiers ?? undefined;
        message.tierVariation = object.tierVariation ?? undefined;
        return message;
    },
};
function createBaseCrawlParams() {
    return {
        swingSlices: undefined,
        velocity: undefined,
        stanceWidth: undefined,
        stanceLength: undefined,
    };
}
exports.CrawlParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.swingSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.swingSlices }, writer.uint32(10).fork()).ldelim();
        }
        if (message.velocity !== undefined) {
            geometry_1.Vec2Value.encode(message.velocity, writer.uint32(18).fork()).ldelim();
        }
        if (message.stanceWidth !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.stanceWidth }, writer.uint32(26).fork()).ldelim();
        }
        if (message.stanceLength !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.stanceLength }, writer.uint32(34).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseCrawlParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.swingSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.velocity = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 3:
                    message.stanceWidth = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.stanceLength = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            swingSlices: isSet(object.swingSlices)
                ? Number(object.swingSlices)
                : undefined,
            velocity: isSet(object.velocity)
                ? geometry_1.Vec2Value.fromJSON(object.velocity)
                : undefined,
            stanceWidth: isSet(object.stanceWidth)
                ? Number(object.stanceWidth)
                : undefined,
            stanceLength: isSet(object.stanceLength)
                ? Number(object.stanceLength)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.swingSlices !== undefined &&
            (obj.swingSlices = message.swingSlices);
        message.velocity !== undefined &&
            (obj.velocity = message.velocity
                ? geometry_1.Vec2Value.toJSON(message.velocity)
                : undefined);
        message.stanceWidth !== undefined &&
            (obj.stanceWidth = message.stanceWidth);
        message.stanceLength !== undefined &&
            (obj.stanceLength = message.stanceLength);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseCrawlParams();
        message.swingSlices = object.swingSlices ?? undefined;
        message.velocity =
            object.velocity !== undefined && object.velocity !== null
                ? geometry_1.Vec2Value.fromPartial(object.velocity)
                : undefined;
        message.stanceWidth = object.stanceWidth ?? undefined;
        message.stanceLength = object.stanceLength ?? undefined;
        return message;
    },
};
function createBaseGotoParams() {
    return {
        absolutePosition: undefined,
        absoluteYaw: undefined,
        stepPositionStiffness: undefined,
        dutyCycle: undefined,
        linkToNext: undefined,
    };
}
exports.GotoParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.absolutePosition !== undefined) {
            geometry_1.Vec2Value.encode(message.absolutePosition, writer.uint32(10).fork()).ldelim();
        }
        if (message.absoluteYaw !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.absoluteYaw }, writer.uint32(18).fork()).ldelim();
        }
        if (message.stepPositionStiffness !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.stepPositionStiffness }, writer.uint32(26).fork()).ldelim();
        }
        if (message.dutyCycle !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.dutyCycle }, writer.uint32(34).fork()).ldelim();
        }
        if (message.linkToNext !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.linkToNext }, writer.uint32(42).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseGotoParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.absolutePosition = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.absoluteYaw = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.stepPositionStiffness = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.dutyCycle = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.linkToNext = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            absolutePosition: isSet(object.absolutePosition)
                ? geometry_1.Vec2Value.fromJSON(object.absolutePosition)
                : undefined,
            absoluteYaw: isSet(object.absoluteYaw)
                ? Number(object.absoluteYaw)
                : undefined,
            stepPositionStiffness: isSet(object.stepPositionStiffness)
                ? Number(object.stepPositionStiffness)
                : undefined,
            dutyCycle: isSet(object.dutyCycle) ? Number(object.dutyCycle) : undefined,
            linkToNext: isSet(object.linkToNext)
                ? Boolean(object.linkToNext)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.absolutePosition !== undefined &&
            (obj.absolutePosition = message.absolutePosition
                ? geometry_1.Vec2Value.toJSON(message.absolutePosition)
                : undefined);
        message.absoluteYaw !== undefined &&
            (obj.absoluteYaw = message.absoluteYaw);
        message.stepPositionStiffness !== undefined &&
            (obj.stepPositionStiffness = message.stepPositionStiffness);
        message.dutyCycle !== undefined && (obj.dutyCycle = message.dutyCycle);
        message.linkToNext !== undefined && (obj.linkToNext = message.linkToNext);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseGotoParams();
        message.absolutePosition =
            object.absolutePosition !== undefined && object.absolutePosition !== null
                ? geometry_1.Vec2Value.fromPartial(object.absolutePosition)
                : undefined;
        message.absoluteYaw = object.absoluteYaw ?? undefined;
        message.stepPositionStiffness = object.stepPositionStiffness ?? undefined;
        message.dutyCycle = object.dutyCycle ?? undefined;
        message.linkToNext = object.linkToNext ?? undefined;
        return message;
    },
};
function createBaseBourreeParams() {
    return { velocity: undefined, yawRate: undefined, stanceLength: undefined };
}
exports.BourreeParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.velocity !== undefined) {
            geometry_1.Vec2Value.encode(message.velocity, writer.uint32(10).fork()).ldelim();
        }
        if (message.yawRate !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.yawRate }, writer.uint32(18).fork()).ldelim();
        }
        if (message.stanceLength !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.stanceLength }, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBourreeParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.velocity = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.yawRate = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.stanceLength = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            velocity: isSet(object.velocity)
                ? geometry_1.Vec2Value.fromJSON(object.velocity)
                : undefined,
            yawRate: isSet(object.yawRate) ? Number(object.yawRate) : undefined,
            stanceLength: isSet(object.stanceLength)
                ? Number(object.stanceLength)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.velocity !== undefined &&
            (obj.velocity = message.velocity
                ? geometry_1.Vec2Value.toJSON(message.velocity)
                : undefined);
        message.yawRate !== undefined && (obj.yawRate = message.yawRate);
        message.stanceLength !== undefined &&
            (obj.stanceLength = message.stanceLength);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseBourreeParams();
        message.velocity =
            object.velocity !== undefined && object.velocity !== null
                ? geometry_1.Vec2Value.fromPartial(object.velocity)
                : undefined;
        message.yawRate = object.yawRate ?? undefined;
        message.stanceLength = object.stanceLength ?? undefined;
        return message;
    },
};
function createBaseSideParams() {
    return { side: 0 };
}
exports.SideParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.side !== 0) {
            writer.uint32(8).int32(message.side);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSideParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.side = reader.int32();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            side: isSet(object.side) ? sideParams_SideFromJSON(object.side) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        message.side !== undefined &&
            (obj.side = sideParams_SideToJSON(message.side));
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSideParams();
        message.side = object.side ?? 0;
        return message;
    },
};
function createBaseJumpParams() {
    return {
        yaw: undefined,
        flightSlices: undefined,
        stanceWidth: undefined,
        stanceLength: undefined,
        translation: undefined,
        splitFraction: undefined,
        leadLegPair: 0,
        yawIsAbsolute: undefined,
        translationIsAbsolute: undefined,
        absoluteYaw: undefined,
        absoluteTranslation: undefined,
        swingHeight: undefined,
        absolute: undefined,
    };
}
exports.JumpParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.yaw !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.yaw }, writer.uint32(10).fork()).ldelim();
        }
        if (message.flightSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.flightSlices }, writer.uint32(18).fork()).ldelim();
        }
        if (message.stanceWidth !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.stanceWidth }, writer.uint32(26).fork()).ldelim();
        }
        if (message.stanceLength !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.stanceLength }, writer.uint32(34).fork()).ldelim();
        }
        if (message.translation !== undefined) {
            geometry_1.Vec2Value.encode(message.translation, writer.uint32(50).fork()).ldelim();
        }
        if (message.splitFraction !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.splitFraction }, writer.uint32(58).fork()).ldelim();
        }
        if (message.leadLegPair !== 0) {
            writer.uint32(64).int32(message.leadLegPair);
        }
        if (message.yawIsAbsolute !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.yawIsAbsolute }, writer.uint32(90).fork()).ldelim();
        }
        if (message.translationIsAbsolute !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.translationIsAbsolute }, writer.uint32(98).fork()).ldelim();
        }
        if (message.absoluteYaw !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.absoluteYaw }, writer.uint32(74).fork()).ldelim();
        }
        if (message.absoluteTranslation !== undefined) {
            geometry_1.Vec2Value.encode(message.absoluteTranslation, writer.uint32(82).fork()).ldelim();
        }
        if (message.swingHeight !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.swingHeight }, writer.uint32(106).fork()).ldelim();
        }
        if (message.absolute !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.absolute }, writer.uint32(42).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseJumpParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.yaw = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.flightSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.stanceWidth = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.stanceLength = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 6:
                    message.translation = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 7:
                    message.splitFraction = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 8:
                    message.leadLegPair = reader.int32();
                    break;
                case 11:
                    message.yawIsAbsolute = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 12:
                    message.translationIsAbsolute = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 9:
                    message.absoluteYaw = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 10:
                    message.absoluteTranslation = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 13:
                    message.swingHeight = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.absolute = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            yaw: isSet(object.yaw) ? Number(object.yaw) : undefined,
            flightSlices: isSet(object.flightSlices)
                ? Number(object.flightSlices)
                : undefined,
            stanceWidth: isSet(object.stanceWidth)
                ? Number(object.stanceWidth)
                : undefined,
            stanceLength: isSet(object.stanceLength)
                ? Number(object.stanceLength)
                : undefined,
            translation: isSet(object.translation)
                ? geometry_1.Vec2Value.fromJSON(object.translation)
                : undefined,
            splitFraction: isSet(object.splitFraction)
                ? Number(object.splitFraction)
                : undefined,
            leadLegPair: isSet(object.leadLegPair)
                ? jumpParams_LeadFromJSON(object.leadLegPair)
                : 0,
            yawIsAbsolute: isSet(object.yawIsAbsolute)
                ? Boolean(object.yawIsAbsolute)
                : undefined,
            translationIsAbsolute: isSet(object.translationIsAbsolute)
                ? Boolean(object.translationIsAbsolute)
                : undefined,
            absoluteYaw: isSet(object.absoluteYaw)
                ? Number(object.absoluteYaw)
                : undefined,
            absoluteTranslation: isSet(object.absoluteTranslation)
                ? geometry_1.Vec2Value.fromJSON(object.absoluteTranslation)
                : undefined,
            swingHeight: isSet(object.swingHeight)
                ? Number(object.swingHeight)
                : undefined,
            absolute: isSet(object.absolute) ? Boolean(object.absolute) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.yaw !== undefined && (obj.yaw = message.yaw);
        message.flightSlices !== undefined &&
            (obj.flightSlices = message.flightSlices);
        message.stanceWidth !== undefined &&
            (obj.stanceWidth = message.stanceWidth);
        message.stanceLength !== undefined &&
            (obj.stanceLength = message.stanceLength);
        message.translation !== undefined &&
            (obj.translation = message.translation
                ? geometry_1.Vec2Value.toJSON(message.translation)
                : undefined);
        message.splitFraction !== undefined &&
            (obj.splitFraction = message.splitFraction);
        message.leadLegPair !== undefined &&
            (obj.leadLegPair = jumpParams_LeadToJSON(message.leadLegPair));
        message.yawIsAbsolute !== undefined &&
            (obj.yawIsAbsolute = message.yawIsAbsolute);
        message.translationIsAbsolute !== undefined &&
            (obj.translationIsAbsolute = message.translationIsAbsolute);
        message.absoluteYaw !== undefined &&
            (obj.absoluteYaw = message.absoluteYaw);
        message.absoluteTranslation !== undefined &&
            (obj.absoluteTranslation = message.absoluteTranslation
                ? geometry_1.Vec2Value.toJSON(message.absoluteTranslation)
                : undefined);
        message.swingHeight !== undefined &&
            (obj.swingHeight = message.swingHeight);
        message.absolute !== undefined && (obj.absolute = message.absolute);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseJumpParams();
        message.yaw = object.yaw ?? undefined;
        message.flightSlices = object.flightSlices ?? undefined;
        message.stanceWidth = object.stanceWidth ?? undefined;
        message.stanceLength = object.stanceLength ?? undefined;
        message.translation =
            object.translation !== undefined && object.translation !== null
                ? geometry_1.Vec2Value.fromPartial(object.translation)
                : undefined;
        message.splitFraction = object.splitFraction ?? undefined;
        message.leadLegPair = object.leadLegPair ?? 0;
        message.yawIsAbsolute = object.yawIsAbsolute ?? undefined;
        message.translationIsAbsolute = object.translationIsAbsolute ?? undefined;
        message.absoluteYaw = object.absoluteYaw ?? undefined;
        message.absoluteTranslation =
            object.absoluteTranslation !== undefined &&
                object.absoluteTranslation !== null
                ? geometry_1.Vec2Value.fromPartial(object.absoluteTranslation)
                : undefined;
        message.swingHeight = object.swingHeight ?? undefined;
        message.absolute = object.absolute ?? undefined;
        return message;
    },
};
function createBaseStepParams() {
    return {
        foot: 0,
        offset: undefined,
        secondFoot: 0,
        swingWaypoint: undefined,
        swingHeight: undefined,
        liftoffVelocity: undefined,
        touchdownVelocity: undefined,
        mirrorX: undefined,
        mirrorY: undefined,
        mirror: undefined,
        waypointDwell: undefined,
        touch: undefined,
        touchOffset: undefined,
    };
}
exports.StepParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.foot !== 0) {
            writer.uint32(8).int32(message.foot);
        }
        if (message.offset !== undefined) {
            geometry_1.Vec2Value.encode(message.offset, writer.uint32(18).fork()).ldelim();
        }
        if (message.secondFoot !== 0) {
            writer.uint32(24).int32(message.secondFoot);
        }
        if (message.swingWaypoint !== undefined) {
            geometry_1.Vec3Value.encode(message.swingWaypoint, writer.uint32(42).fork()).ldelim();
        }
        if (message.swingHeight !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.swingHeight }, writer.uint32(50).fork()).ldelim();
        }
        if (message.liftoffVelocity !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.liftoffVelocity }, writer.uint32(58).fork()).ldelim();
        }
        if (message.touchdownVelocity !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.touchdownVelocity }, writer.uint32(66).fork()).ldelim();
        }
        if (message.mirrorX !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.mirrorX }, writer.uint32(74).fork()).ldelim();
        }
        if (message.mirrorY !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.mirrorY }, writer.uint32(82).fork()).ldelim();
        }
        if (message.mirror !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.mirror }, writer.uint32(34).fork()).ldelim();
        }
        if (message.waypointDwell !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.waypointDwell }, writer.uint32(90).fork()).ldelim();
        }
        if (message.touch !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.touch }, writer.uint32(98).fork()).ldelim();
        }
        if (message.touchOffset !== undefined) {
            geometry_1.Vec2Value.encode(message.touchOffset, writer.uint32(106).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseStepParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.foot = reader.int32();
                    break;
                case 2:
                    message.offset = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 3:
                    message.secondFoot = reader.int32();
                    break;
                case 5:
                    message.swingWaypoint = geometry_1.Vec3Value.decode(reader, reader.uint32());
                    break;
                case 6:
                    message.swingHeight = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 7:
                    message.liftoffVelocity = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 8:
                    message.touchdownVelocity = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 9:
                    message.mirrorX = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 10:
                    message.mirrorY = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.mirror = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 11:
                    message.waypointDwell = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 12:
                    message.touch = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 13:
                    message.touchOffset = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            foot: isSet(object.foot) ? legFromJSON(object.foot) : 0,
            offset: isSet(object.offset)
                ? geometry_1.Vec2Value.fromJSON(object.offset)
                : undefined,
            secondFoot: isSet(object.secondFoot) ? legFromJSON(object.secondFoot) : 0,
            swingWaypoint: isSet(object.swingWaypoint)
                ? geometry_1.Vec3Value.fromJSON(object.swingWaypoint)
                : undefined,
            swingHeight: isSet(object.swingHeight)
                ? Number(object.swingHeight)
                : undefined,
            liftoffVelocity: isSet(object.liftoffVelocity)
                ? Number(object.liftoffVelocity)
                : undefined,
            touchdownVelocity: isSet(object.touchdownVelocity)
                ? Number(object.touchdownVelocity)
                : undefined,
            mirrorX: isSet(object.mirrorX) ? Boolean(object.mirrorX) : undefined,
            mirrorY: isSet(object.mirrorY) ? Boolean(object.mirrorY) : undefined,
            mirror: isSet(object.mirror) ? Boolean(object.mirror) : undefined,
            waypointDwell: isSet(object.waypointDwell)
                ? Number(object.waypointDwell)
                : undefined,
            touch: isSet(object.touch) ? Boolean(object.touch) : undefined,
            touchOffset: isSet(object.touchOffset)
                ? geometry_1.Vec2Value.fromJSON(object.touchOffset)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.foot !== undefined && (obj.foot = legToJSON(message.foot));
        message.offset !== undefined &&
            (obj.offset = message.offset
                ? geometry_1.Vec2Value.toJSON(message.offset)
                : undefined);
        message.secondFoot !== undefined &&
            (obj.secondFoot = legToJSON(message.secondFoot));
        message.swingWaypoint !== undefined &&
            (obj.swingWaypoint = message.swingWaypoint
                ? geometry_1.Vec3Value.toJSON(message.swingWaypoint)
                : undefined);
        message.swingHeight !== undefined &&
            (obj.swingHeight = message.swingHeight);
        message.liftoffVelocity !== undefined &&
            (obj.liftoffVelocity = message.liftoffVelocity);
        message.touchdownVelocity !== undefined &&
            (obj.touchdownVelocity = message.touchdownVelocity);
        message.mirrorX !== undefined && (obj.mirrorX = message.mirrorX);
        message.mirrorY !== undefined && (obj.mirrorY = message.mirrorY);
        message.mirror !== undefined && (obj.mirror = message.mirror);
        message.waypointDwell !== undefined &&
            (obj.waypointDwell = message.waypointDwell);
        message.touch !== undefined && (obj.touch = message.touch);
        message.touchOffset !== undefined &&
            (obj.touchOffset = message.touchOffset
                ? geometry_1.Vec2Value.toJSON(message.touchOffset)
                : undefined);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseStepParams();
        message.foot = object.foot ?? 0;
        message.offset =
            object.offset !== undefined && object.offset !== null
                ? geometry_1.Vec2Value.fromPartial(object.offset)
                : undefined;
        message.secondFoot = object.secondFoot ?? 0;
        message.swingWaypoint =
            object.swingWaypoint !== undefined && object.swingWaypoint !== null
                ? geometry_1.Vec3Value.fromPartial(object.swingWaypoint)
                : undefined;
        message.swingHeight = object.swingHeight ?? undefined;
        message.liftoffVelocity = object.liftoffVelocity ?? undefined;
        message.touchdownVelocity = object.touchdownVelocity ?? undefined;
        message.mirrorX = object.mirrorX ?? undefined;
        message.mirrorY = object.mirrorY ?? undefined;
        message.mirror = object.mirror ?? undefined;
        message.waypointDwell = object.waypointDwell ?? undefined;
        message.touch = object.touch ?? undefined;
        message.touchOffset =
            object.touchOffset !== undefined && object.touchOffset !== null
                ? geometry_1.Vec2Value.fromPartial(object.touchOffset)
                : undefined;
        return message;
    },
};
function createBaseRotateBodyParams() {
    return { rotation: undefined, returnToStartPose: undefined };
}
exports.RotateBodyParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.rotation !== undefined) {
            exports.EulerZYXValue.encode(message.rotation, writer.uint32(10).fork()).ldelim();
        }
        if (message.returnToStartPose !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.returnToStartPose }, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseRotateBodyParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.rotation = exports.EulerZYXValue.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.returnToStartPose = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            rotation: isSet(object.rotation)
                ? exports.EulerZYXValue.fromJSON(object.rotation)
                : undefined,
            returnToStartPose: isSet(object.returnToStartPose)
                ? Boolean(object.returnToStartPose)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.rotation !== undefined &&
            (obj.rotation = message.rotation
                ? exports.EulerZYXValue.toJSON(message.rotation)
                : undefined);
        message.returnToStartPose !== undefined &&
            (obj.returnToStartPose = message.returnToStartPose);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseRotateBodyParams();
        message.rotation =
            object.rotation !== undefined && object.rotation !== null
                ? exports.EulerZYXValue.fromPartial(object.rotation)
                : undefined;
        message.returnToStartPose = object.returnToStartPose ?? undefined;
        return message;
    },
};
function createBaseButtCircleParams() {
    return {
        radius: undefined,
        beatsPerCircle: undefined,
        numberOfCircles: undefined,
        pivot: 0,
        clockwise: undefined,
        startingAngle: undefined,
    };
}
exports.ButtCircleParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.radius !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.radius }, writer.uint32(10).fork()).ldelim();
        }
        if (message.beatsPerCircle !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.beatsPerCircle }, writer.uint32(18).fork()).ldelim();
        }
        if (message.numberOfCircles !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.numberOfCircles }, writer.uint32(26).fork()).ldelim();
        }
        if (message.pivot !== 0) {
            writer.uint32(32).int32(message.pivot);
        }
        if (message.clockwise !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.clockwise }, writer.uint32(42).fork()).ldelim();
        }
        if (message.startingAngle !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.startingAngle }, writer.uint32(50).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseButtCircleParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.radius = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.beatsPerCircle = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.numberOfCircles = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.pivot = reader.int32();
                    break;
                case 5:
                    message.clockwise = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 6:
                    message.startingAngle = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            radius: isSet(object.radius) ? Number(object.radius) : undefined,
            beatsPerCircle: isSet(object.beatsPerCircle)
                ? Number(object.beatsPerCircle)
                : undefined,
            numberOfCircles: isSet(object.numberOfCircles)
                ? Number(object.numberOfCircles)
                : undefined,
            pivot: isSet(object.pivot) ? pivotFromJSON(object.pivot) : 0,
            clockwise: isSet(object.clockwise)
                ? Boolean(object.clockwise)
                : undefined,
            startingAngle: isSet(object.startingAngle)
                ? Number(object.startingAngle)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.radius !== undefined && (obj.radius = message.radius);
        message.beatsPerCircle !== undefined &&
            (obj.beatsPerCircle = message.beatsPerCircle);
        message.numberOfCircles !== undefined &&
            (obj.numberOfCircles = message.numberOfCircles);
        message.pivot !== undefined && (obj.pivot = pivotToJSON(message.pivot));
        message.clockwise !== undefined && (obj.clockwise = message.clockwise);
        message.startingAngle !== undefined &&
            (obj.startingAngle = message.startingAngle);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseButtCircleParams();
        message.radius = object.radius ?? undefined;
        message.beatsPerCircle = object.beatsPerCircle ?? undefined;
        message.numberOfCircles = object.numberOfCircles ?? undefined;
        message.pivot = object.pivot ?? 0;
        message.clockwise = object.clockwise ?? undefined;
        message.startingAngle = object.startingAngle ?? undefined;
        return message;
    },
};
function createBaseTwerkParams() {
    return { height: undefined };
}
exports.TwerkParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.height !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.height }, writer.uint32(10).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseTwerkParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.height = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            height: isSet(object.height) ? Number(object.height) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.height !== undefined && (obj.height = message.height);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseTwerkParams();
        message.height = object.height ?? undefined;
        return message;
    },
};
function createBaseTurnParams() {
    return {
        yaw: undefined,
        absoluteYaw: undefined,
        yawIsAbsolute: undefined,
        swingHeight: undefined,
        swingVelocity: undefined,
        motion: undefined,
        absoluteMotion: undefined,
        motionIsAbsolute: undefined,
        absolute: undefined,
    };
}
exports.TurnParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.yaw !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.yaw }, writer.uint32(10).fork()).ldelim();
        }
        if (message.absoluteYaw !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.absoluteYaw }, writer.uint32(42).fork()).ldelim();
        }
        if (message.yawIsAbsolute !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.yawIsAbsolute }, writer.uint32(50).fork()).ldelim();
        }
        if (message.swingHeight !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.swingHeight }, writer.uint32(26).fork()).ldelim();
        }
        if (message.swingVelocity !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.swingVelocity }, writer.uint32(34).fork()).ldelim();
        }
        if (message.motion !== undefined) {
            geometry_1.Vec2Value.encode(message.motion, writer.uint32(58).fork()).ldelim();
        }
        if (message.absoluteMotion !== undefined) {
            geometry_1.Vec2Value.encode(message.absoluteMotion, writer.uint32(66).fork()).ldelim();
        }
        if (message.motionIsAbsolute !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.motionIsAbsolute }, writer.uint32(74).fork()).ldelim();
        }
        if (message.absolute !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.absolute }, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseTurnParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.yaw = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.absoluteYaw = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 6:
                    message.yawIsAbsolute = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.swingHeight = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.swingVelocity = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 7:
                    message.motion = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 8:
                    message.absoluteMotion = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 9:
                    message.motionIsAbsolute = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.absolute = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            yaw: isSet(object.yaw) ? Number(object.yaw) : undefined,
            absoluteYaw: isSet(object.absoluteYaw)
                ? Number(object.absoluteYaw)
                : undefined,
            yawIsAbsolute: isSet(object.yawIsAbsolute)
                ? Boolean(object.yawIsAbsolute)
                : undefined,
            swingHeight: isSet(object.swingHeight)
                ? Number(object.swingHeight)
                : undefined,
            swingVelocity: isSet(object.swingVelocity)
                ? Number(object.swingVelocity)
                : undefined,
            motion: isSet(object.motion)
                ? geometry_1.Vec2Value.fromJSON(object.motion)
                : undefined,
            absoluteMotion: isSet(object.absoluteMotion)
                ? geometry_1.Vec2Value.fromJSON(object.absoluteMotion)
                : undefined,
            motionIsAbsolute: isSet(object.motionIsAbsolute)
                ? Boolean(object.motionIsAbsolute)
                : undefined,
            absolute: isSet(object.absolute) ? Boolean(object.absolute) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.yaw !== undefined && (obj.yaw = message.yaw);
        message.absoluteYaw !== undefined &&
            (obj.absoluteYaw = message.absoluteYaw);
        message.yawIsAbsolute !== undefined &&
            (obj.yawIsAbsolute = message.yawIsAbsolute);
        message.swingHeight !== undefined &&
            (obj.swingHeight = message.swingHeight);
        message.swingVelocity !== undefined &&
            (obj.swingVelocity = message.swingVelocity);
        message.motion !== undefined &&
            (obj.motion = message.motion
                ? geometry_1.Vec2Value.toJSON(message.motion)
                : undefined);
        message.absoluteMotion !== undefined &&
            (obj.absoluteMotion = message.absoluteMotion
                ? geometry_1.Vec2Value.toJSON(message.absoluteMotion)
                : undefined);
        message.motionIsAbsolute !== undefined &&
            (obj.motionIsAbsolute = message.motionIsAbsolute);
        message.absolute !== undefined && (obj.absolute = message.absolute);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseTurnParams();
        message.yaw = object.yaw ?? undefined;
        message.absoluteYaw = object.absoluteYaw ?? undefined;
        message.yawIsAbsolute = object.yawIsAbsolute ?? undefined;
        message.swingHeight = object.swingHeight ?? undefined;
        message.swingVelocity = object.swingVelocity ?? undefined;
        message.motion =
            object.motion !== undefined && object.motion !== null
                ? geometry_1.Vec2Value.fromPartial(object.motion)
                : undefined;
        message.absoluteMotion =
            object.absoluteMotion !== undefined && object.absoluteMotion !== null
                ? geometry_1.Vec2Value.fromPartial(object.absoluteMotion)
                : undefined;
        message.motionIsAbsolute = object.motionIsAbsolute ?? undefined;
        message.absolute = object.absolute ?? undefined;
        return message;
    },
};
function createBasePace2StepParams() {
    return {
        motion: undefined,
        absoluteMotion: undefined,
        motionIsAbsolute: undefined,
        swingHeight: undefined,
        swingVelocity: undefined,
        yaw: undefined,
        absoluteYaw: undefined,
        yawIsAbsolute: undefined,
        absolute: undefined,
    };
}
exports.Pace2StepParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.motion !== undefined) {
            geometry_1.Vec2Value.encode(message.motion, writer.uint32(10).fork()).ldelim();
        }
        if (message.absoluteMotion !== undefined) {
            geometry_1.Vec2Value.encode(message.absoluteMotion, writer.uint32(50).fork()).ldelim();
        }
        if (message.motionIsAbsolute !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.motionIsAbsolute }, writer.uint32(58).fork()).ldelim();
        }
        if (message.swingHeight !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.swingHeight }, writer.uint32(26).fork()).ldelim();
        }
        if (message.swingVelocity !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.swingVelocity }, writer.uint32(34).fork()).ldelim();
        }
        if (message.yaw !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.yaw }, writer.uint32(66).fork()).ldelim();
        }
        if (message.absoluteYaw !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.absoluteYaw }, writer.uint32(74).fork()).ldelim();
        }
        if (message.yawIsAbsolute !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.yawIsAbsolute }, writer.uint32(82).fork()).ldelim();
        }
        if (message.absolute !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.absolute }, writer.uint32(42).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBasePace2StepParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.motion = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 6:
                    message.absoluteMotion = geometry_1.Vec2Value.decode(reader, reader.uint32());
                    break;
                case 7:
                    message.motionIsAbsolute = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.swingHeight = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.swingVelocity = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 8:
                    message.yaw = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 9:
                    message.absoluteYaw = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 10:
                    message.yawIsAbsolute = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.absolute = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            motion: isSet(object.motion)
                ? geometry_1.Vec2Value.fromJSON(object.motion)
                : undefined,
            absoluteMotion: isSet(object.absoluteMotion)
                ? geometry_1.Vec2Value.fromJSON(object.absoluteMotion)
                : undefined,
            motionIsAbsolute: isSet(object.motionIsAbsolute)
                ? Boolean(object.motionIsAbsolute)
                : undefined,
            swingHeight: isSet(object.swingHeight)
                ? Number(object.swingHeight)
                : undefined,
            swingVelocity: isSet(object.swingVelocity)
                ? Number(object.swingVelocity)
                : undefined,
            yaw: isSet(object.yaw) ? Number(object.yaw) : undefined,
            absoluteYaw: isSet(object.absoluteYaw)
                ? Number(object.absoluteYaw)
                : undefined,
            yawIsAbsolute: isSet(object.yawIsAbsolute)
                ? Boolean(object.yawIsAbsolute)
                : undefined,
            absolute: isSet(object.absolute) ? Boolean(object.absolute) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.motion !== undefined &&
            (obj.motion = message.motion
                ? geometry_1.Vec2Value.toJSON(message.motion)
                : undefined);
        message.absoluteMotion !== undefined &&
            (obj.absoluteMotion = message.absoluteMotion
                ? geometry_1.Vec2Value.toJSON(message.absoluteMotion)
                : undefined);
        message.motionIsAbsolute !== undefined &&
            (obj.motionIsAbsolute = message.motionIsAbsolute);
        message.swingHeight !== undefined &&
            (obj.swingHeight = message.swingHeight);
        message.swingVelocity !== undefined &&
            (obj.swingVelocity = message.swingVelocity);
        message.yaw !== undefined && (obj.yaw = message.yaw);
        message.absoluteYaw !== undefined &&
            (obj.absoluteYaw = message.absoluteYaw);
        message.yawIsAbsolute !== undefined &&
            (obj.yawIsAbsolute = message.yawIsAbsolute);
        message.absolute !== undefined && (obj.absolute = message.absolute);
        return obj;
    },
    fromPartial(object) {
        const message = createBasePace2StepParams();
        message.motion =
            object.motion !== undefined && object.motion !== null
                ? geometry_1.Vec2Value.fromPartial(object.motion)
                : undefined;
        message.absoluteMotion =
            object.absoluteMotion !== undefined && object.absoluteMotion !== null
                ? geometry_1.Vec2Value.fromPartial(object.absoluteMotion)
                : undefined;
        message.motionIsAbsolute = object.motionIsAbsolute ?? undefined;
        message.swingHeight = object.swingHeight ?? undefined;
        message.swingVelocity = object.swingVelocity ?? undefined;
        message.yaw = object.yaw ?? undefined;
        message.absoluteYaw = object.absoluteYaw ?? undefined;
        message.yawIsAbsolute = object.yawIsAbsolute ?? undefined;
        message.absolute = object.absolute ?? undefined;
        return message;
    },
};
function createBaseChickenHeadParams() {
    return {
        bobMagnitude: undefined,
        beatsPerCycle: undefined,
        follow: undefined,
    };
}
exports.ChickenHeadParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.bobMagnitude !== undefined) {
            geometry_1.Vec3Value.encode(message.bobMagnitude, writer.uint32(10).fork()).ldelim();
        }
        if (message.beatsPerCycle !== undefined) {
            wrappers_1.Int32Value.encode({ value: message.beatsPerCycle }, writer.uint32(18).fork()).ldelim();
        }
        if (message.follow !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.follow }, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseChickenHeadParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.bobMagnitude = geometry_1.Vec3Value.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.beatsPerCycle = wrappers_1.Int32Value.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.follow = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            bobMagnitude: isSet(object.bobMagnitude)
                ? geometry_1.Vec3Value.fromJSON(object.bobMagnitude)
                : undefined,
            beatsPerCycle: isSet(object.beatsPerCycle)
                ? Number(object.beatsPerCycle)
                : undefined,
            follow: isSet(object.follow) ? Boolean(object.follow) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.bobMagnitude !== undefined &&
            (obj.bobMagnitude = message.bobMagnitude
                ? geometry_1.Vec3Value.toJSON(message.bobMagnitude)
                : undefined);
        message.beatsPerCycle !== undefined &&
            (obj.beatsPerCycle = message.beatsPerCycle);
        message.follow !== undefined && (obj.follow = message.follow);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseChickenHeadParams();
        message.bobMagnitude =
            object.bobMagnitude !== undefined && object.bobMagnitude !== null
                ? geometry_1.Vec3Value.fromPartial(object.bobMagnitude)
                : undefined;
        message.beatsPerCycle = object.beatsPerCycle ?? undefined;
        message.follow = object.follow ?? undefined;
        return message;
    },
};
function createBaseClapParams() {
    return {
        direction: undefined,
        location: undefined,
        speed: undefined,
        clapDistance: undefined,
    };
}
exports.ClapParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.direction !== undefined) {
            geometry_1.Vec3Value.encode(message.direction, writer.uint32(10).fork()).ldelim();
        }
        if (message.location !== undefined) {
            geometry_1.Vec3Value.encode(message.location, writer.uint32(18).fork()).ldelim();
        }
        if (message.speed !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.speed }, writer.uint32(26).fork()).ldelim();
        }
        if (message.clapDistance !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.clapDistance }, writer.uint32(34).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseClapParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.direction = geometry_1.Vec3Value.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.location = geometry_1.Vec3Value.decode(reader, reader.uint32());
                    break;
                case 3:
                    message.speed = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.clapDistance = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            direction: isSet(object.direction)
                ? geometry_1.Vec3Value.fromJSON(object.direction)
                : undefined,
            location: isSet(object.location)
                ? geometry_1.Vec3Value.fromJSON(object.location)
                : undefined,
            speed: isSet(object.speed) ? Number(object.speed) : undefined,
            clapDistance: isSet(object.clapDistance)
                ? Number(object.clapDistance)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.direction !== undefined &&
            (obj.direction = message.direction
                ? geometry_1.Vec3Value.toJSON(message.direction)
                : undefined);
        message.location !== undefined &&
            (obj.location = message.location
                ? geometry_1.Vec3Value.toJSON(message.location)
                : undefined);
        message.speed !== undefined && (obj.speed = message.speed);
        message.clapDistance !== undefined &&
            (obj.clapDistance = message.clapDistance);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseClapParams();
        message.direction =
            object.direction !== undefined && object.direction !== null
                ? geometry_1.Vec3Value.fromPartial(object.direction)
                : undefined;
        message.location =
            object.location !== undefined && object.location !== null
                ? geometry_1.Vec3Value.fromPartial(object.location)
                : undefined;
        message.speed = object.speed ?? undefined;
        message.clapDistance = object.clapDistance ?? undefined;
        return message;
    },
};
function createBaseKneelCircleParams() {
    return {
        location: undefined,
        beatsPerCircle: undefined,
        numberOfCircles: undefined,
        offset: undefined,
        radius: undefined,
        reverse: undefined,
    };
}
exports.KneelCircleParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.location !== undefined) {
            geometry_1.Vec3Value.encode(message.location, writer.uint32(10).fork()).ldelim();
        }
        if (message.beatsPerCircle !== undefined) {
            wrappers_1.Int32Value.encode({ value: message.beatsPerCircle }, writer.uint32(18).fork()).ldelim();
        }
        if (message.numberOfCircles !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.numberOfCircles }, writer.uint32(26).fork()).ldelim();
        }
        if (message.offset !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.offset }, writer.uint32(34).fork()).ldelim();
        }
        if (message.radius !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.radius }, writer.uint32(42).fork()).ldelim();
        }
        if (message.reverse !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.reverse }, writer.uint32(50).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseKneelCircleParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.location = geometry_1.Vec3Value.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.beatsPerCircle = wrappers_1.Int32Value.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.numberOfCircles = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.offset = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.radius = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 6:
                    message.reverse = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            location: isSet(object.location)
                ? geometry_1.Vec3Value.fromJSON(object.location)
                : undefined,
            beatsPerCircle: isSet(object.beatsPerCircle)
                ? Number(object.beatsPerCircle)
                : undefined,
            numberOfCircles: isSet(object.numberOfCircles)
                ? Number(object.numberOfCircles)
                : undefined,
            offset: isSet(object.offset) ? Number(object.offset) : undefined,
            radius: isSet(object.radius) ? Number(object.radius) : undefined,
            reverse: isSet(object.reverse) ? Boolean(object.reverse) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.location !== undefined &&
            (obj.location = message.location
                ? geometry_1.Vec3Value.toJSON(message.location)
                : undefined);
        message.beatsPerCircle !== undefined &&
            (obj.beatsPerCircle = message.beatsPerCircle);
        message.numberOfCircles !== undefined &&
            (obj.numberOfCircles = message.numberOfCircles);
        message.offset !== undefined && (obj.offset = message.offset);
        message.radius !== undefined && (obj.radius = message.radius);
        message.reverse !== undefined && (obj.reverse = message.reverse);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseKneelCircleParams();
        message.location =
            object.location !== undefined && object.location !== null
                ? geometry_1.Vec3Value.fromPartial(object.location)
                : undefined;
        message.beatsPerCircle = object.beatsPerCircle ?? undefined;
        message.numberOfCircles = object.numberOfCircles ?? undefined;
        message.offset = object.offset ?? undefined;
        message.radius = object.radius ?? undefined;
        message.reverse = object.reverse ?? undefined;
        return message;
    },
};
function createBaseFrontUpParams() {
    return { mirror: undefined };
}
exports.FrontUpParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.mirror !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.mirror }, writer.uint32(10).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseFrontUpParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.mirror = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            mirror: isSet(object.mirror) ? Boolean(object.mirror) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.mirror !== undefined && (obj.mirror = message.mirror);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseFrontUpParams();
        message.mirror = object.mirror ?? undefined;
        return message;
    },
};
function createBaseFidgetStandParams() {
    return {
        preset: 0,
        minGazePitch: undefined,
        maxGazePitch: undefined,
        gazeMeanPeriod: undefined,
        gazeCenterCfp: undefined,
        shiftMeanPeriod: undefined,
        shiftMaxTransitionTime: undefined,
        breathMinZ: undefined,
        breathMaxZ: undefined,
        breathMaxPeriod: undefined,
        legGestureMeanPeriod: undefined,
        gazeSlewRate: undefined,
        gazePositionGenerationGain: undefined,
        gazeRollGenerationGain: undefined,
    };
}
exports.FidgetStandParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.preset !== 0) {
            writer.uint32(8).int32(message.preset);
        }
        if (message.minGazePitch !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.minGazePitch }, writer.uint32(18).fork()).ldelim();
        }
        if (message.maxGazePitch !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.maxGazePitch }, writer.uint32(26).fork()).ldelim();
        }
        if (message.gazeMeanPeriod !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.gazeMeanPeriod }, writer.uint32(34).fork()).ldelim();
        }
        if (message.gazeCenterCfp !== undefined) {
            geometry_1.Vec3Value.encode(message.gazeCenterCfp, writer.uint32(42).fork()).ldelim();
        }
        if (message.shiftMeanPeriod !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.shiftMeanPeriod }, writer.uint32(50).fork()).ldelim();
        }
        if (message.shiftMaxTransitionTime !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.shiftMaxTransitionTime }, writer.uint32(58).fork()).ldelim();
        }
        if (message.breathMinZ !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.breathMinZ }, writer.uint32(66).fork()).ldelim();
        }
        if (message.breathMaxZ !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.breathMaxZ }, writer.uint32(74).fork()).ldelim();
        }
        if (message.breathMaxPeriod !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.breathMaxPeriod }, writer.uint32(82).fork()).ldelim();
        }
        if (message.legGestureMeanPeriod !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.legGestureMeanPeriod }, writer.uint32(90).fork()).ldelim();
        }
        if (message.gazeSlewRate !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.gazeSlewRate }, writer.uint32(98).fork()).ldelim();
        }
        if (message.gazePositionGenerationGain !== undefined) {
            geometry_1.Vec3Value.encode(message.gazePositionGenerationGain, writer.uint32(106).fork()).ldelim();
        }
        if (message.gazeRollGenerationGain !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.gazeRollGenerationGain }, writer.uint32(114).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseFidgetStandParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.preset = reader.int32();
                    break;
                case 2:
                    message.minGazePitch = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.maxGazePitch = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.gazeMeanPeriod = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.gazeCenterCfp = geometry_1.Vec3Value.decode(reader, reader.uint32());
                    break;
                case 6:
                    message.shiftMeanPeriod = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 7:
                    message.shiftMaxTransitionTime = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 8:
                    message.breathMinZ = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 9:
                    message.breathMaxZ = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 10:
                    message.breathMaxPeriod = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 11:
                    message.legGestureMeanPeriod = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 12:
                    message.gazeSlewRate = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 13:
                    message.gazePositionGenerationGain = geometry_1.Vec3Value.decode(reader, reader.uint32());
                    break;
                case 14:
                    message.gazeRollGenerationGain = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            preset: isSet(object.preset)
                ? fidgetStandParams_FidgetPresetFromJSON(object.preset)
                : 0,
            minGazePitch: isSet(object.minGazePitch)
                ? Number(object.minGazePitch)
                : undefined,
            maxGazePitch: isSet(object.maxGazePitch)
                ? Number(object.maxGazePitch)
                : undefined,
            gazeMeanPeriod: isSet(object.gazeMeanPeriod)
                ? Number(object.gazeMeanPeriod)
                : undefined,
            gazeCenterCfp: isSet(object.gazeCenterCfp)
                ? geometry_1.Vec3Value.fromJSON(object.gazeCenterCfp)
                : undefined,
            shiftMeanPeriod: isSet(object.shiftMeanPeriod)
                ? Number(object.shiftMeanPeriod)
                : undefined,
            shiftMaxTransitionTime: isSet(object.shiftMaxTransitionTime)
                ? Number(object.shiftMaxTransitionTime)
                : undefined,
            breathMinZ: isSet(object.breathMinZ)
                ? Number(object.breathMinZ)
                : undefined,
            breathMaxZ: isSet(object.breathMaxZ)
                ? Number(object.breathMaxZ)
                : undefined,
            breathMaxPeriod: isSet(object.breathMaxPeriod)
                ? Number(object.breathMaxPeriod)
                : undefined,
            legGestureMeanPeriod: isSet(object.legGestureMeanPeriod)
                ? Number(object.legGestureMeanPeriod)
                : undefined,
            gazeSlewRate: isSet(object.gazeSlewRate)
                ? Number(object.gazeSlewRate)
                : undefined,
            gazePositionGenerationGain: isSet(object.gazePositionGenerationGain)
                ? geometry_1.Vec3Value.fromJSON(object.gazePositionGenerationGain)
                : undefined,
            gazeRollGenerationGain: isSet(object.gazeRollGenerationGain)
                ? Number(object.gazeRollGenerationGain)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.preset !== undefined &&
            (obj.preset = fidgetStandParams_FidgetPresetToJSON(message.preset));
        message.minGazePitch !== undefined &&
            (obj.minGazePitch = message.minGazePitch);
        message.maxGazePitch !== undefined &&
            (obj.maxGazePitch = message.maxGazePitch);
        message.gazeMeanPeriod !== undefined &&
            (obj.gazeMeanPeriod = message.gazeMeanPeriod);
        message.gazeCenterCfp !== undefined &&
            (obj.gazeCenterCfp = message.gazeCenterCfp
                ? geometry_1.Vec3Value.toJSON(message.gazeCenterCfp)
                : undefined);
        message.shiftMeanPeriod !== undefined &&
            (obj.shiftMeanPeriod = message.shiftMeanPeriod);
        message.shiftMaxTransitionTime !== undefined &&
            (obj.shiftMaxTransitionTime = message.shiftMaxTransitionTime);
        message.breathMinZ !== undefined && (obj.breathMinZ = message.breathMinZ);
        message.breathMaxZ !== undefined && (obj.breathMaxZ = message.breathMaxZ);
        message.breathMaxPeriod !== undefined &&
            (obj.breathMaxPeriod = message.breathMaxPeriod);
        message.legGestureMeanPeriod !== undefined &&
            (obj.legGestureMeanPeriod = message.legGestureMeanPeriod);
        message.gazeSlewRate !== undefined &&
            (obj.gazeSlewRate = message.gazeSlewRate);
        message.gazePositionGenerationGain !== undefined &&
            (obj.gazePositionGenerationGain = message.gazePositionGenerationGain
                ? geometry_1.Vec3Value.toJSON(message.gazePositionGenerationGain)
                : undefined);
        message.gazeRollGenerationGain !== undefined &&
            (obj.gazeRollGenerationGain = message.gazeRollGenerationGain);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseFidgetStandParams();
        message.preset = object.preset ?? 0;
        message.minGazePitch = object.minGazePitch ?? undefined;
        message.maxGazePitch = object.maxGazePitch ?? undefined;
        message.gazeMeanPeriod = object.gazeMeanPeriod ?? undefined;
        message.gazeCenterCfp =
            object.gazeCenterCfp !== undefined && object.gazeCenterCfp !== null
                ? geometry_1.Vec3Value.fromPartial(object.gazeCenterCfp)
                : undefined;
        message.shiftMeanPeriod = object.shiftMeanPeriod ?? undefined;
        message.shiftMaxTransitionTime = object.shiftMaxTransitionTime ?? undefined;
        message.breathMinZ = object.breathMinZ ?? undefined;
        message.breathMaxZ = object.breathMaxZ ?? undefined;
        message.breathMaxPeriod = object.breathMaxPeriod ?? undefined;
        message.legGestureMeanPeriod = object.legGestureMeanPeriod ?? undefined;
        message.gazeSlewRate = object.gazeSlewRate ?? undefined;
        message.gazePositionGenerationGain =
            object.gazePositionGenerationGain !== undefined &&
                object.gazePositionGenerationGain !== null
                ? geometry_1.Vec3Value.fromPartial(object.gazePositionGenerationGain)
                : undefined;
        message.gazeRollGenerationGain = object.gazeRollGenerationGain ?? undefined;
        return message;
    },
};
function createBaseFrameSnapshotParams() {
    return {
        frameId: undefined,
        fiducialNumber: undefined,
        includeFrontLeftLeg: 0,
        includeFrontRightLeg: 0,
        includeHindLeftLeg: 0,
        includeHindRightLeg: 0,
        compensated: undefined,
    };
}
exports.FrameSnapshotParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.frameId !== undefined) {
            wrappers_1.Int32Value.encode({ value: message.frameId }, writer.uint32(10).fork()).ldelim();
        }
        if (message.fiducialNumber !== undefined) {
            wrappers_1.Int32Value.encode({ value: message.fiducialNumber }, writer.uint32(18).fork()).ldelim();
        }
        if (message.includeFrontLeftLeg !== 0) {
            writer.uint32(24).int32(message.includeFrontLeftLeg);
        }
        if (message.includeFrontRightLeg !== 0) {
            writer.uint32(32).int32(message.includeFrontRightLeg);
        }
        if (message.includeHindLeftLeg !== 0) {
            writer.uint32(40).int32(message.includeHindLeftLeg);
        }
        if (message.includeHindRightLeg !== 0) {
            writer.uint32(48).int32(message.includeHindRightLeg);
        }
        if (message.compensated !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.compensated }, writer.uint32(58).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseFrameSnapshotParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.frameId = wrappers_1.Int32Value.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.fiducialNumber = wrappers_1.Int32Value.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.includeFrontLeftLeg = reader.int32();
                    break;
                case 4:
                    message.includeFrontRightLeg = reader.int32();
                    break;
                case 5:
                    message.includeHindLeftLeg = reader.int32();
                    break;
                case 6:
                    message.includeHindRightLeg = reader.int32();
                    break;
                case 7:
                    message.compensated = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            frameId: isSet(object.frameId) ? Number(object.frameId) : undefined,
            fiducialNumber: isSet(object.fiducialNumber)
                ? Number(object.fiducialNumber)
                : undefined,
            includeFrontLeftLeg: isSet(object.includeFrontLeftLeg)
                ? frameSnapshotParams_InclusionFromJSON(object.includeFrontLeftLeg)
                : 0,
            includeFrontRightLeg: isSet(object.includeFrontRightLeg)
                ? frameSnapshotParams_InclusionFromJSON(object.includeFrontRightLeg)
                : 0,
            includeHindLeftLeg: isSet(object.includeHindLeftLeg)
                ? frameSnapshotParams_InclusionFromJSON(object.includeHindLeftLeg)
                : 0,
            includeHindRightLeg: isSet(object.includeHindRightLeg)
                ? frameSnapshotParams_InclusionFromJSON(object.includeHindRightLeg)
                : 0,
            compensated: isSet(object.compensated)
                ? Boolean(object.compensated)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.frameId !== undefined && (obj.frameId = message.frameId);
        message.fiducialNumber !== undefined &&
            (obj.fiducialNumber = message.fiducialNumber);
        message.includeFrontLeftLeg !== undefined &&
            (obj.includeFrontLeftLeg = frameSnapshotParams_InclusionToJSON(message.includeFrontLeftLeg));
        message.includeFrontRightLeg !== undefined &&
            (obj.includeFrontRightLeg = frameSnapshotParams_InclusionToJSON(message.includeFrontRightLeg));
        message.includeHindLeftLeg !== undefined &&
            (obj.includeHindLeftLeg = frameSnapshotParams_InclusionToJSON(message.includeHindLeftLeg));
        message.includeHindRightLeg !== undefined &&
            (obj.includeHindRightLeg = frameSnapshotParams_InclusionToJSON(message.includeHindRightLeg));
        message.compensated !== undefined &&
            (obj.compensated = message.compensated);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseFrameSnapshotParams();
        message.frameId = object.frameId ?? undefined;
        message.fiducialNumber = object.fiducialNumber ?? undefined;
        message.includeFrontLeftLeg = object.includeFrontLeftLeg ?? 0;
        message.includeFrontRightLeg = object.includeFrontRightLeg ?? 0;
        message.includeHindLeftLeg = object.includeHindLeftLeg ?? 0;
        message.includeHindRightLeg = object.includeHindRightLeg ?? 0;
        message.compensated = object.compensated ?? undefined;
        return message;
    },
};
function createBaseSetColorParams() {
    return {
        leftColor: undefined,
        rightSameAsLeft: undefined,
        rightColor: undefined,
        fadeInSlices: undefined,
        fadeOutSlices: undefined,
    };
}
exports.SetColorParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.leftColor !== undefined) {
            exports.Color.encode(message.leftColor, writer.uint32(10).fork()).ldelim();
        }
        if (message.rightSameAsLeft !== undefined) {
            wrappers_1.BoolValue.encode({ value: message.rightSameAsLeft }, writer.uint32(18).fork()).ldelim();
        }
        if (message.rightColor !== undefined) {
            exports.Color.encode(message.rightColor, writer.uint32(26).fork()).ldelim();
        }
        if (message.fadeInSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.fadeInSlices }, writer.uint32(34).fork()).ldelim();
        }
        if (message.fadeOutSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.fadeOutSlices }, writer.uint32(42).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSetColorParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.leftColor = exports.Color.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.rightSameAsLeft = wrappers_1.BoolValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.rightColor = exports.Color.decode(reader, reader.uint32());
                    break;
                case 4:
                    message.fadeInSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 5:
                    message.fadeOutSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            leftColor: isSet(object.leftColor)
                ? exports.Color.fromJSON(object.leftColor)
                : undefined,
            rightSameAsLeft: isSet(object.rightSameAsLeft)
                ? Boolean(object.rightSameAsLeft)
                : undefined,
            rightColor: isSet(object.rightColor)
                ? exports.Color.fromJSON(object.rightColor)
                : undefined,
            fadeInSlices: isSet(object.fadeInSlices)
                ? Number(object.fadeInSlices)
                : undefined,
            fadeOutSlices: isSet(object.fadeOutSlices)
                ? Number(object.fadeOutSlices)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.leftColor !== undefined &&
            (obj.leftColor = message.leftColor
                ? exports.Color.toJSON(message.leftColor)
                : undefined);
        message.rightSameAsLeft !== undefined &&
            (obj.rightSameAsLeft = message.rightSameAsLeft);
        message.rightColor !== undefined &&
            (obj.rightColor = message.rightColor
                ? exports.Color.toJSON(message.rightColor)
                : undefined);
        message.fadeInSlices !== undefined &&
            (obj.fadeInSlices = message.fadeInSlices);
        message.fadeOutSlices !== undefined &&
            (obj.fadeOutSlices = message.fadeOutSlices);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSetColorParams();
        message.leftColor =
            object.leftColor !== undefined && object.leftColor !== null
                ? exports.Color.fromPartial(object.leftColor)
                : undefined;
        message.rightSameAsLeft = object.rightSameAsLeft ?? undefined;
        message.rightColor =
            object.rightColor !== undefined && object.rightColor !== null
                ? exports.Color.fromPartial(object.rightColor)
                : undefined;
        message.fadeInSlices = object.fadeInSlices ?? undefined;
        message.fadeOutSlices = object.fadeOutSlices ?? undefined;
        return message;
    },
};
function createBaseFadeColorParams() {
    return {
        topColor: undefined,
        bottomColor: undefined,
        fadeInSlices: undefined,
        fadeOutSlices: undefined,
    };
}
exports.FadeColorParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.topColor !== undefined) {
            exports.Color.encode(message.topColor, writer.uint32(10).fork()).ldelim();
        }
        if (message.bottomColor !== undefined) {
            exports.Color.encode(message.bottomColor, writer.uint32(18).fork()).ldelim();
        }
        if (message.fadeInSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.fadeInSlices }, writer.uint32(26).fork()).ldelim();
        }
        if (message.fadeOutSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.fadeOutSlices }, writer.uint32(34).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseFadeColorParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.topColor = exports.Color.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.bottomColor = exports.Color.decode(reader, reader.uint32());
                    break;
                case 3:
                    message.fadeInSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.fadeOutSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            topColor: isSet(object.topColor)
                ? exports.Color.fromJSON(object.topColor)
                : undefined,
            bottomColor: isSet(object.bottomColor)
                ? exports.Color.fromJSON(object.bottomColor)
                : undefined,
            fadeInSlices: isSet(object.fadeInSlices)
                ? Number(object.fadeInSlices)
                : undefined,
            fadeOutSlices: isSet(object.fadeOutSlices)
                ? Number(object.fadeOutSlices)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.topColor !== undefined &&
            (obj.topColor = message.topColor
                ? exports.Color.toJSON(message.topColor)
                : undefined);
        message.bottomColor !== undefined &&
            (obj.bottomColor = message.bottomColor
                ? exports.Color.toJSON(message.bottomColor)
                : undefined);
        message.fadeInSlices !== undefined &&
            (obj.fadeInSlices = message.fadeInSlices);
        message.fadeOutSlices !== undefined &&
            (obj.fadeOutSlices = message.fadeOutSlices);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseFadeColorParams();
        message.topColor =
            object.topColor !== undefined && object.topColor !== null
                ? exports.Color.fromPartial(object.topColor)
                : undefined;
        message.bottomColor =
            object.bottomColor !== undefined && object.bottomColor !== null
                ? exports.Color.fromPartial(object.bottomColor)
                : undefined;
        message.fadeInSlices = object.fadeInSlices ?? undefined;
        message.fadeOutSlices = object.fadeOutSlices ?? undefined;
        return message;
    },
};
function createBaseIndependentColorParams() {
    return {
        topLeft: undefined,
        upperMidLeft: undefined,
        lowerMidLeft: undefined,
        bottomLeft: undefined,
        topRight: undefined,
        upperMidRight: undefined,
        lowerMidRight: undefined,
        bottomRight: undefined,
        fadeInSlices: undefined,
        fadeOutSlices: undefined,
    };
}
exports.IndependentColorParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.topLeft !== undefined) {
            exports.Color.encode(message.topLeft, writer.uint32(10).fork()).ldelim();
        }
        if (message.upperMidLeft !== undefined) {
            exports.Color.encode(message.upperMidLeft, writer.uint32(18).fork()).ldelim();
        }
        if (message.lowerMidLeft !== undefined) {
            exports.Color.encode(message.lowerMidLeft, writer.uint32(26).fork()).ldelim();
        }
        if (message.bottomLeft !== undefined) {
            exports.Color.encode(message.bottomLeft, writer.uint32(34).fork()).ldelim();
        }
        if (message.topRight !== undefined) {
            exports.Color.encode(message.topRight, writer.uint32(42).fork()).ldelim();
        }
        if (message.upperMidRight !== undefined) {
            exports.Color.encode(message.upperMidRight, writer.uint32(50).fork()).ldelim();
        }
        if (message.lowerMidRight !== undefined) {
            exports.Color.encode(message.lowerMidRight, writer.uint32(58).fork()).ldelim();
        }
        if (message.bottomRight !== undefined) {
            exports.Color.encode(message.bottomRight, writer.uint32(66).fork()).ldelim();
        }
        if (message.fadeInSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.fadeInSlices }, writer.uint32(74).fork()).ldelim();
        }
        if (message.fadeOutSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.fadeOutSlices }, writer.uint32(82).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseIndependentColorParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.topLeft = exports.Color.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.upperMidLeft = exports.Color.decode(reader, reader.uint32());
                    break;
                case 3:
                    message.lowerMidLeft = exports.Color.decode(reader, reader.uint32());
                    break;
                case 4:
                    message.bottomLeft = exports.Color.decode(reader, reader.uint32());
                    break;
                case 5:
                    message.topRight = exports.Color.decode(reader, reader.uint32());
                    break;
                case 6:
                    message.upperMidRight = exports.Color.decode(reader, reader.uint32());
                    break;
                case 7:
                    message.lowerMidRight = exports.Color.decode(reader, reader.uint32());
                    break;
                case 8:
                    message.bottomRight = exports.Color.decode(reader, reader.uint32());
                    break;
                case 9:
                    message.fadeInSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 10:
                    message.fadeOutSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            topLeft: isSet(object.topLeft)
                ? exports.Color.fromJSON(object.topLeft)
                : undefined,
            upperMidLeft: isSet(object.upperMidLeft)
                ? exports.Color.fromJSON(object.upperMidLeft)
                : undefined,
            lowerMidLeft: isSet(object.lowerMidLeft)
                ? exports.Color.fromJSON(object.lowerMidLeft)
                : undefined,
            bottomLeft: isSet(object.bottomLeft)
                ? exports.Color.fromJSON(object.bottomLeft)
                : undefined,
            topRight: isSet(object.topRight)
                ? exports.Color.fromJSON(object.topRight)
                : undefined,
            upperMidRight: isSet(object.upperMidRight)
                ? exports.Color.fromJSON(object.upperMidRight)
                : undefined,
            lowerMidRight: isSet(object.lowerMidRight)
                ? exports.Color.fromJSON(object.lowerMidRight)
                : undefined,
            bottomRight: isSet(object.bottomRight)
                ? exports.Color.fromJSON(object.bottomRight)
                : undefined,
            fadeInSlices: isSet(object.fadeInSlices)
                ? Number(object.fadeInSlices)
                : undefined,
            fadeOutSlices: isSet(object.fadeOutSlices)
                ? Number(object.fadeOutSlices)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.topLeft !== undefined &&
            (obj.topLeft = message.topLeft
                ? exports.Color.toJSON(message.topLeft)
                : undefined);
        message.upperMidLeft !== undefined &&
            (obj.upperMidLeft = message.upperMidLeft
                ? exports.Color.toJSON(message.upperMidLeft)
                : undefined);
        message.lowerMidLeft !== undefined &&
            (obj.lowerMidLeft = message.lowerMidLeft
                ? exports.Color.toJSON(message.lowerMidLeft)
                : undefined);
        message.bottomLeft !== undefined &&
            (obj.bottomLeft = message.bottomLeft
                ? exports.Color.toJSON(message.bottomLeft)
                : undefined);
        message.topRight !== undefined &&
            (obj.topRight = message.topRight
                ? exports.Color.toJSON(message.topRight)
                : undefined);
        message.upperMidRight !== undefined &&
            (obj.upperMidRight = message.upperMidRight
                ? exports.Color.toJSON(message.upperMidRight)
                : undefined);
        message.lowerMidRight !== undefined &&
            (obj.lowerMidRight = message.lowerMidRight
                ? exports.Color.toJSON(message.lowerMidRight)
                : undefined);
        message.bottomRight !== undefined &&
            (obj.bottomRight = message.bottomRight
                ? exports.Color.toJSON(message.bottomRight)
                : undefined);
        message.fadeInSlices !== undefined &&
            (obj.fadeInSlices = message.fadeInSlices);
        message.fadeOutSlices !== undefined &&
            (obj.fadeOutSlices = message.fadeOutSlices);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseIndependentColorParams();
        message.topLeft =
            object.topLeft !== undefined && object.topLeft !== null
                ? exports.Color.fromPartial(object.topLeft)
                : undefined;
        message.upperMidLeft =
            object.upperMidLeft !== undefined && object.upperMidLeft !== null
                ? exports.Color.fromPartial(object.upperMidLeft)
                : undefined;
        message.lowerMidLeft =
            object.lowerMidLeft !== undefined && object.lowerMidLeft !== null
                ? exports.Color.fromPartial(object.lowerMidLeft)
                : undefined;
        message.bottomLeft =
            object.bottomLeft !== undefined && object.bottomLeft !== null
                ? exports.Color.fromPartial(object.bottomLeft)
                : undefined;
        message.topRight =
            object.topRight !== undefined && object.topRight !== null
                ? exports.Color.fromPartial(object.topRight)
                : undefined;
        message.upperMidRight =
            object.upperMidRight !== undefined && object.upperMidRight !== null
                ? exports.Color.fromPartial(object.upperMidRight)
                : undefined;
        message.lowerMidRight =
            object.lowerMidRight !== undefined && object.lowerMidRight !== null
                ? exports.Color.fromPartial(object.lowerMidRight)
                : undefined;
        message.bottomRight =
            object.bottomRight !== undefined && object.bottomRight !== null
                ? exports.Color.fromPartial(object.bottomRight)
                : undefined;
        message.fadeInSlices = object.fadeInSlices ?? undefined;
        message.fadeOutSlices = object.fadeOutSlices ?? undefined;
        return message;
    },
};
function createBaseColor() {
    return { red: undefined, green: undefined, blue: undefined };
}
exports.Color = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.red !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.red }, writer.uint32(10).fork()).ldelim();
        }
        if (message.green !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.green }, writer.uint32(18).fork()).ldelim();
        }
        if (message.blue !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.blue }, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseColor();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.red = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 2:
                    message.green = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.blue = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            red: isSet(object.red) ? Number(object.red) : undefined,
            green: isSet(object.green) ? Number(object.green) : undefined,
            blue: isSet(object.blue) ? Number(object.blue) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.red !== undefined && (obj.red = message.red);
        message.green !== undefined && (obj.green = message.green);
        message.blue !== undefined && (obj.blue = message.blue);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseColor();
        message.red = object.red ?? undefined;
        message.green = object.green ?? undefined;
        message.blue = object.blue ?? undefined;
        return message;
    },
};
function createBaseRippleColorParams() {
    return {
        main: undefined,
        secondary: undefined,
        pattern: 0,
        lightSide: 0,
        incrementSlices: undefined,
    };
}
exports.RippleColorParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.main !== undefined) {
            exports.Color.encode(message.main, writer.uint32(10).fork()).ldelim();
        }
        if (message.secondary !== undefined) {
            exports.Color.encode(message.secondary, writer.uint32(18).fork()).ldelim();
        }
        if (message.pattern !== 0) {
            writer.uint32(24).int32(message.pattern);
        }
        if (message.lightSide !== 0) {
            writer.uint32(32).int32(message.lightSide);
        }
        if (message.incrementSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.incrementSlices }, writer.uint32(42).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseRippleColorParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.main = exports.Color.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.secondary = exports.Color.decode(reader, reader.uint32());
                    break;
                case 3:
                    message.pattern = reader.int32();
                    break;
                case 4:
                    message.lightSide = reader.int32();
                    break;
                case 5:
                    message.incrementSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            main: isSet(object.main) ? exports.Color.fromJSON(object.main) : undefined,
            secondary: isSet(object.secondary)
                ? exports.Color.fromJSON(object.secondary)
                : undefined,
            pattern: isSet(object.pattern)
                ? rippleColorParams_PatternFromJSON(object.pattern)
                : 0,
            lightSide: isSet(object.lightSide)
                ? rippleColorParams_LightSideFromJSON(object.lightSide)
                : 0,
            incrementSlices: isSet(object.incrementSlices)
                ? Number(object.incrementSlices)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.main !== undefined &&
            (obj.main = message.main ? exports.Color.toJSON(message.main) : undefined);
        message.secondary !== undefined &&
            (obj.secondary = message.secondary
                ? exports.Color.toJSON(message.secondary)
                : undefined);
        message.pattern !== undefined &&
            (obj.pattern = rippleColorParams_PatternToJSON(message.pattern));
        message.lightSide !== undefined &&
            (obj.lightSide = rippleColorParams_LightSideToJSON(message.lightSide));
        message.incrementSlices !== undefined &&
            (obj.incrementSlices = message.incrementSlices);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseRippleColorParams();
        message.main =
            object.main !== undefined && object.main !== null
                ? exports.Color.fromPartial(object.main)
                : undefined;
        message.secondary =
            object.secondary !== undefined && object.secondary !== null
                ? exports.Color.fromPartial(object.secondary)
                : undefined;
        message.pattern = object.pattern ?? 0;
        message.lightSide = object.lightSide ?? 0;
        message.incrementSlices = object.incrementSlices ?? undefined;
        return message;
    },
};
function createBaseAnimateParams() {
    return {
        animationName: "",
        bodyEntrySlices: undefined,
        bodyExitSlices: undefined,
        translationMultiplier: undefined,
        rotationMultiplier: undefined,
        armEntrySlices: undefined,
        shoulder0Offset: undefined,
        shoulder1Offset: undefined,
        elbow0Offset: undefined,
        elbow1Offset: undefined,
        wrist0Offset: undefined,
        wrist1Offset: undefined,
        gripperOffset: undefined,
        speed: undefined,
        offsetSlices: undefined,
        gripperMultiplier: undefined,
        gripperStrengthFraction: undefined,
        armDanceFrameId: undefined,
        bodyTrackingStiffness: undefined,
    };
}
exports.AnimateParams = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.animationName !== "") {
            writer.uint32(10).string(message.animationName);
        }
        if (message.bodyEntrySlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.bodyEntrySlices }, writer.uint32(18).fork()).ldelim();
        }
        if (message.bodyExitSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.bodyExitSlices }, writer.uint32(26).fork()).ldelim();
        }
        if (message.translationMultiplier !== undefined) {
            geometry_1.Vec3Value.encode(message.translationMultiplier, writer.uint32(34).fork()).ldelim();
        }
        if (message.rotationMultiplier !== undefined) {
            exports.EulerZYXValue.encode(message.rotationMultiplier, writer.uint32(42).fork()).ldelim();
        }
        if (message.armEntrySlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.armEntrySlices }, writer.uint32(50).fork()).ldelim();
        }
        if (message.shoulder0Offset !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.shoulder0Offset }, writer.uint32(58).fork()).ldelim();
        }
        if (message.shoulder1Offset !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.shoulder1Offset }, writer.uint32(66).fork()).ldelim();
        }
        if (message.elbow0Offset !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.elbow0Offset }, writer.uint32(74).fork()).ldelim();
        }
        if (message.elbow1Offset !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.elbow1Offset }, writer.uint32(82).fork()).ldelim();
        }
        if (message.wrist0Offset !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.wrist0Offset }, writer.uint32(90).fork()).ldelim();
        }
        if (message.wrist1Offset !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.wrist1Offset }, writer.uint32(98).fork()).ldelim();
        }
        if (message.gripperOffset !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.gripperOffset }, writer.uint32(106).fork()).ldelim();
        }
        if (message.speed !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.speed }, writer.uint32(114).fork()).ldelim();
        }
        if (message.offsetSlices !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.offsetSlices }, writer.uint32(122).fork()).ldelim();
        }
        if (message.gripperMultiplier !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.gripperMultiplier }, writer.uint32(130).fork()).ldelim();
        }
        if (message.gripperStrengthFraction !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.gripperStrengthFraction }, writer.uint32(138).fork()).ldelim();
        }
        if (message.armDanceFrameId !== undefined) {
            wrappers_1.Int32Value.encode({ value: message.armDanceFrameId }, writer.uint32(146).fork()).ldelim();
        }
        if (message.bodyTrackingStiffness !== undefined) {
            wrappers_1.DoubleValue.encode({ value: message.bodyTrackingStiffness }, writer.uint32(154).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseAnimateParams();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.animationName = reader.string();
                    break;
                case 2:
                    message.bodyEntrySlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 3:
                    message.bodyExitSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 4:
                    message.translationMultiplier = geometry_1.Vec3Value.decode(reader, reader.uint32());
                    break;
                case 5:
                    message.rotationMultiplier = exports.EulerZYXValue.decode(reader, reader.uint32());
                    break;
                case 6:
                    message.armEntrySlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 7:
                    message.shoulder0Offset = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 8:
                    message.shoulder1Offset = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 9:
                    message.elbow0Offset = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 10:
                    message.elbow1Offset = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 11:
                    message.wrist0Offset = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 12:
                    message.wrist1Offset = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 13:
                    message.gripperOffset = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 14:
                    message.speed = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 15:
                    message.offsetSlices = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 16:
                    message.gripperMultiplier = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 17:
                    message.gripperStrengthFraction = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                case 18:
                    message.armDanceFrameId = wrappers_1.Int32Value.decode(reader, reader.uint32()).value;
                    break;
                case 19:
                    message.bodyTrackingStiffness = wrappers_1.DoubleValue.decode(reader, reader.uint32()).value;
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            animationName: isSet(object.animationName)
                ? String(object.animationName)
                : "",
            bodyEntrySlices: isSet(object.bodyEntrySlices)
                ? Number(object.bodyEntrySlices)
                : undefined,
            bodyExitSlices: isSet(object.bodyExitSlices)
                ? Number(object.bodyExitSlices)
                : undefined,
            translationMultiplier: isSet(object.translationMultiplier)
                ? geometry_1.Vec3Value.fromJSON(object.translationMultiplier)
                : undefined,
            rotationMultiplier: isSet(object.rotationMultiplier)
                ? exports.EulerZYXValue.fromJSON(object.rotationMultiplier)
                : undefined,
            armEntrySlices: isSet(object.armEntrySlices)
                ? Number(object.armEntrySlices)
                : undefined,
            shoulder0Offset: isSet(object.shoulder0Offset)
                ? Number(object.shoulder0Offset)
                : undefined,
            shoulder1Offset: isSet(object.shoulder1Offset)
                ? Number(object.shoulder1Offset)
                : undefined,
            elbow0Offset: isSet(object.elbow0Offset)
                ? Number(object.elbow0Offset)
                : undefined,
            elbow1Offset: isSet(object.elbow1Offset)
                ? Number(object.elbow1Offset)
                : undefined,
            wrist0Offset: isSet(object.wrist0Offset)
                ? Number(object.wrist0Offset)
                : undefined,
            wrist1Offset: isSet(object.wrist1Offset)
                ? Number(object.wrist1Offset)
                : undefined,
            gripperOffset: isSet(object.gripperOffset)
                ? Number(object.gripperOffset)
                : undefined,
            speed: isSet(object.speed) ? Number(object.speed) : undefined,
            offsetSlices: isSet(object.offsetSlices)
                ? Number(object.offsetSlices)
                : undefined,
            gripperMultiplier: isSet(object.gripperMultiplier)
                ? Number(object.gripperMultiplier)
                : undefined,
            gripperStrengthFraction: isSet(object.gripperStrengthFraction)
                ? Number(object.gripperStrengthFraction)
                : undefined,
            armDanceFrameId: isSet(object.armDanceFrameId)
                ? Number(object.armDanceFrameId)
                : undefined,
            bodyTrackingStiffness: isSet(object.bodyTrackingStiffness)
                ? Number(object.bodyTrackingStiffness)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.animationName !== undefined &&
            (obj.animationName = message.animationName);
        message.bodyEntrySlices !== undefined &&
            (obj.bodyEntrySlices = message.bodyEntrySlices);
        message.bodyExitSlices !== undefined &&
            (obj.bodyExitSlices = message.bodyExitSlices);
        message.translationMultiplier !== undefined &&
            (obj.translationMultiplier = message.translationMultiplier
                ? geometry_1.Vec3Value.toJSON(message.translationMultiplier)
                : undefined);
        message.rotationMultiplier !== undefined &&
            (obj.rotationMultiplier = message.rotationMultiplier
                ? exports.EulerZYXValue.toJSON(message.rotationMultiplier)
                : undefined);
        message.armEntrySlices !== undefined &&
            (obj.armEntrySlices = message.armEntrySlices);
        message.shoulder0Offset !== undefined &&
            (obj.shoulder0Offset = message.shoulder0Offset);
        message.shoulder1Offset !== undefined &&
            (obj.shoulder1Offset = message.shoulder1Offset);
        message.elbow0Offset !== undefined &&
            (obj.elbow0Offset = message.elbow0Offset);
        message.elbow1Offset !== undefined &&
            (obj.elbow1Offset = message.elbow1Offset);
        message.wrist0Offset !== undefined &&
            (obj.wrist0Offset = message.wrist0Offset);
        message.wrist1Offset !== undefined &&
            (obj.wrist1Offset = message.wrist1Offset);
        message.gripperOffset !== undefined &&
            (obj.gripperOffset = message.gripperOffset);
        message.speed !== undefined && (obj.speed = message.speed);
        message.offsetSlices !== undefined &&
            (obj.offsetSlices = message.offsetSlices);
        message.gripperMultiplier !== undefined &&
            (obj.gripperMultiplier = message.gripperMultiplier);
        message.gripperStrengthFraction !== undefined &&
            (obj.gripperStrengthFraction = message.gripperStrengthFraction);
        message.armDanceFrameId !== undefined &&
            (obj.armDanceFrameId = message.armDanceFrameId);
        message.bodyTrackingStiffness !== undefined &&
            (obj.bodyTrackingStiffness = message.bodyTrackingStiffness);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseAnimateParams();
        message.animationName = object.animationName ?? "";
        message.bodyEntrySlices = object.bodyEntrySlices ?? undefined;
        message.bodyExitSlices = object.bodyExitSlices ?? undefined;
        message.translationMultiplier =
            object.translationMultiplier !== undefined &&
                object.translationMultiplier !== null
                ? geometry_1.Vec3Value.fromPartial(object.translationMultiplier)
                : undefined;
        message.rotationMultiplier =
            object.rotationMultiplier !== undefined &&
                object.rotationMultiplier !== null
                ? exports.EulerZYXValue.fromPartial(object.rotationMultiplier)
                : undefined;
        message.armEntrySlices = object.armEntrySlices ?? undefined;
        message.shoulder0Offset = object.shoulder0Offset ?? undefined;
        message.shoulder1Offset = object.shoulder1Offset ?? undefined;
        message.elbow0Offset = object.elbow0Offset ?? undefined;
        message.elbow1Offset = object.elbow1Offset ?? undefined;
        message.wrist0Offset = object.wrist0Offset ?? undefined;
        message.wrist1Offset = object.wrist1Offset ?? undefined;
        message.gripperOffset = object.gripperOffset ?? undefined;
        message.speed = object.speed ?? undefined;
        message.offsetSlices = object.offsetSlices ?? undefined;
        message.gripperMultiplier = object.gripperMultiplier ?? undefined;
        message.gripperStrengthFraction =
            object.gripperStrengthFraction ?? undefined;
        message.armDanceFrameId = object.armDanceFrameId ?? undefined;
        message.bodyTrackingStiffness = object.bodyTrackingStiffness ?? undefined;
        return message;
    },
};
function isSet(value) {
    return value !== null && value !== undefined;
}
//# sourceMappingURL=choreography_params.js.map