// Copyright (c) 2018 Anki, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License in the file LICENSE.txt or at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// External interface for robot <-> app and robot <-> sdk communication

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v6.31.1
// source: cube.proto

package Anki_Vector_external_interface

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type ObjectType int32

const (
	ObjectType_INVALID_OBJECT ObjectType = 0
	ObjectType_UNKNOWN_OBJECT ObjectType = 1
	// ////////////////////////////////////////////////////////////////////////
	// Light Cube (a.k.a. Active Block)
	ObjectType_BLOCK_LIGHTCUBE1         ObjectType = 2
	ObjectType_CHARGER_BASIC            ObjectType = 6
	ObjectType_FIRST_CUSTOM_OBJECT_TYPE ObjectType = 15
)

// Enum value maps for ObjectType.
var (
	ObjectType_name = map[int32]string{
		0:  "INVALID_OBJECT",
		1:  "UNKNOWN_OBJECT",
		2:  "BLOCK_LIGHTCUBE1",
		6:  "CHARGER_BASIC",
		15: "FIRST_CUSTOM_OBJECT_TYPE",
	}
	ObjectType_value = map[string]int32{
		"INVALID_OBJECT":           0,
		"UNKNOWN_OBJECT":           1,
		"BLOCK_LIGHTCUBE1":         2,
		"CHARGER_BASIC":            6,
		"FIRST_CUSTOM_OBJECT_TYPE": 15,
	}
)

func (x ObjectType) Enum() *ObjectType {
	p := new(ObjectType)
	*p = x
	return p
}

func (x ObjectType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ObjectType) Descriptor() protoreflect.EnumDescriptor {
	return file_cube_proto_enumTypes[0].Descriptor()
}

func (ObjectType) Type() protoreflect.EnumType {
	return &file_cube_proto_enumTypes[0]
}

func (x ObjectType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ObjectType.Descriptor instead.
func (ObjectType) EnumDescriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{0}
}

type CustomType int32

const (
	CustomType_INVALID_CUSTOM_TYPE CustomType = 0
	CustomType_CUSTOM_TYPE_00      CustomType = 1
	CustomType_CUSTOM_TYPE_01      CustomType = 2
	CustomType_CUSTOM_TYPE_02      CustomType = 3
	CustomType_CUSTOM_TYPE_03      CustomType = 4
	CustomType_CUSTOM_TYPE_04      CustomType = 5
	CustomType_CUSTOM_TYPE_05      CustomType = 6
	CustomType_CUSTOM_TYPE_06      CustomType = 7
	CustomType_CUSTOM_TYPE_07      CustomType = 8
	CustomType_CUSTOM_TYPE_08      CustomType = 9
	CustomType_CUSTOM_TYPE_09      CustomType = 10
	CustomType_CUSTOM_TYPE_10      CustomType = 11
	CustomType_CUSTOM_TYPE_11      CustomType = 12
	CustomType_CUSTOM_TYPE_12      CustomType = 13
	CustomType_CUSTOM_TYPE_13      CustomType = 14
	CustomType_CUSTOM_TYPE_14      CustomType = 15
	CustomType_CUSTOM_TYPE_15      CustomType = 16
	CustomType_CUSTOM_TYPE_16      CustomType = 17
	CustomType_CUSTOM_TYPE_17      CustomType = 18
	CustomType_CUSTOM_TYPE_18      CustomType = 19
	CustomType_CUSTOM_TYPE_19      CustomType = 20
	CustomType_CUSTOM_TYPE_COUNT   CustomType = 20
)

// Enum value maps for CustomType.
var (
	CustomType_name = map[int32]string{
		0:  "INVALID_CUSTOM_TYPE",
		1:  "CUSTOM_TYPE_00",
		2:  "CUSTOM_TYPE_01",
		3:  "CUSTOM_TYPE_02",
		4:  "CUSTOM_TYPE_03",
		5:  "CUSTOM_TYPE_04",
		6:  "CUSTOM_TYPE_05",
		7:  "CUSTOM_TYPE_06",
		8:  "CUSTOM_TYPE_07",
		9:  "CUSTOM_TYPE_08",
		10: "CUSTOM_TYPE_09",
		11: "CUSTOM_TYPE_10",
		12: "CUSTOM_TYPE_11",
		13: "CUSTOM_TYPE_12",
		14: "CUSTOM_TYPE_13",
		15: "CUSTOM_TYPE_14",
		16: "CUSTOM_TYPE_15",
		17: "CUSTOM_TYPE_16",
		18: "CUSTOM_TYPE_17",
		19: "CUSTOM_TYPE_18",
		20: "CUSTOM_TYPE_19",
		// Duplicate value: 20: "CUSTOM_TYPE_COUNT",
	}
	CustomType_value = map[string]int32{
		"INVALID_CUSTOM_TYPE": 0,
		"CUSTOM_TYPE_00":      1,
		"CUSTOM_TYPE_01":      2,
		"CUSTOM_TYPE_02":      3,
		"CUSTOM_TYPE_03":      4,
		"CUSTOM_TYPE_04":      5,
		"CUSTOM_TYPE_05":      6,
		"CUSTOM_TYPE_06":      7,
		"CUSTOM_TYPE_07":      8,
		"CUSTOM_TYPE_08":      9,
		"CUSTOM_TYPE_09":      10,
		"CUSTOM_TYPE_10":      11,
		"CUSTOM_TYPE_11":      12,
		"CUSTOM_TYPE_12":      13,
		"CUSTOM_TYPE_13":      14,
		"CUSTOM_TYPE_14":      15,
		"CUSTOM_TYPE_15":      16,
		"CUSTOM_TYPE_16":      17,
		"CUSTOM_TYPE_17":      18,
		"CUSTOM_TYPE_18":      19,
		"CUSTOM_TYPE_19":      20,
		"CUSTOM_TYPE_COUNT":   20,
	}
)

func (x CustomType) Enum() *CustomType {
	p := new(CustomType)
	*p = x
	return p
}

func (x CustomType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CustomType) Descriptor() protoreflect.EnumDescriptor {
	return file_cube_proto_enumTypes[1].Descriptor()
}

func (CustomType) Type() protoreflect.EnumType {
	return &file_cube_proto_enumTypes[1]
}

func (x CustomType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use CustomType.Descriptor instead.
func (CustomType) EnumDescriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{1}
}

// Note: ObjectFamily is deprecated and will be removed in future releases
type ObjectFamily int32

const (
	ObjectFamily_INVALID_FAMILY      ObjectFamily = 0
	ObjectFamily_UNKNOWN_FAMILY      ObjectFamily = 1
	ObjectFamily_BLOCK               ObjectFamily = 2
	ObjectFamily_LIGHT_CUBE          ObjectFamily = 3
	ObjectFamily_CHARGER             ObjectFamily = 4
	ObjectFamily_CUSTOM_OBJECT       ObjectFamily = 7
	ObjectFamily_OBJECT_FAMILY_COUNT ObjectFamily = 7
)

// Enum value maps for ObjectFamily.
var (
	ObjectFamily_name = map[int32]string{
		0: "INVALID_FAMILY",
		1: "UNKNOWN_FAMILY",
		2: "BLOCK",
		3: "LIGHT_CUBE",
		4: "CHARGER",
		7: "CUSTOM_OBJECT",
		// Duplicate value: 7: "OBJECT_FAMILY_COUNT",
	}
	ObjectFamily_value = map[string]int32{
		"INVALID_FAMILY":      0,
		"UNKNOWN_FAMILY":      1,
		"BLOCK":               2,
		"LIGHT_CUBE":          3,
		"CHARGER":             4,
		"CUSTOM_OBJECT":       7,
		"OBJECT_FAMILY_COUNT": 7,
	}
)

func (x ObjectFamily) Enum() *ObjectFamily {
	p := new(ObjectFamily)
	*p = x
	return p
}

func (x ObjectFamily) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ObjectFamily) Descriptor() protoreflect.EnumDescriptor {
	return file_cube_proto_enumTypes[2].Descriptor()
}

func (ObjectFamily) Type() protoreflect.EnumType {
	return &file_cube_proto_enumTypes[2]
}

func (x ObjectFamily) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ObjectFamily.Descriptor instead.
func (ObjectFamily) EnumDescriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{2}
}

type UpAxis int32

const (
	UpAxis_INVALID_AXIS UpAxis = 0
	UpAxis_X_NEGATIVE   UpAxis = 1
	UpAxis_X_POSITIVE   UpAxis = 2
	UpAxis_Y_NEGATIVE   UpAxis = 3
	UpAxis_Y_POSITIVE   UpAxis = 4
	UpAxis_Z_NEGATIVE   UpAxis = 5
	UpAxis_Z_POSITIVE   UpAxis = 6
	UpAxis_NUM_AXES     UpAxis = 7
)

// Enum value maps for UpAxis.
var (
	UpAxis_name = map[int32]string{
		0: "INVALID_AXIS",
		1: "X_NEGATIVE",
		2: "X_POSITIVE",
		3: "Y_NEGATIVE",
		4: "Y_POSITIVE",
		5: "Z_NEGATIVE",
		6: "Z_POSITIVE",
		7: "NUM_AXES",
	}
	UpAxis_value = map[string]int32{
		"INVALID_AXIS": 0,
		"X_NEGATIVE":   1,
		"X_POSITIVE":   2,
		"Y_NEGATIVE":   3,
		"Y_POSITIVE":   4,
		"Z_NEGATIVE":   5,
		"Z_POSITIVE":   6,
		"NUM_AXES":     7,
	}
)

func (x UpAxis) Enum() *UpAxis {
	p := new(UpAxis)
	*p = x
	return p
}

func (x UpAxis) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (UpAxis) Descriptor() protoreflect.EnumDescriptor {
	return file_cube_proto_enumTypes[3].Descriptor()
}

func (UpAxis) Type() protoreflect.EnumType {
	return &file_cube_proto_enumTypes[3]
}

func (x UpAxis) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use UpAxis.Descriptor instead.
func (UpAxis) EnumDescriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{3}
}

// Constants associated with the audio feed
type ObjectConstants int32

const (
	ObjectConstants_OBJECT_CONSTANTS_NULL          ObjectConstants = 0  // error value
	ObjectConstants_FIXED_CUSTOM_WALL_THICKNESS_MM ObjectConstants = 10 // The depth of custom walls used in the engine
)

// Enum value maps for ObjectConstants.
var (
	ObjectConstants_name = map[int32]string{
		0:  "OBJECT_CONSTANTS_NULL",
		10: "FIXED_CUSTOM_WALL_THICKNESS_MM",
	}
	ObjectConstants_value = map[string]int32{
		"OBJECT_CONSTANTS_NULL":          0,
		"FIXED_CUSTOM_WALL_THICKNESS_MM": 10,
	}
)

func (x ObjectConstants) Enum() *ObjectConstants {
	p := new(ObjectConstants)
	*p = x
	return p
}

func (x ObjectConstants) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ObjectConstants) Descriptor() protoreflect.EnumDescriptor {
	return file_cube_proto_enumTypes[4].Descriptor()
}

func (ObjectConstants) Type() protoreflect.EnumType {
	return &file_cube_proto_enumTypes[4]
}

func (x ObjectConstants) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ObjectConstants.Descriptor instead.
func (ObjectConstants) EnumDescriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{4}
}

type CustomObjectMarker int32

const (
	CustomObjectMarker_CUSTOM_MARKER_UNKNOWN     CustomObjectMarker = 0
	CustomObjectMarker_CUSTOM_MARKER_CIRCLES_2   CustomObjectMarker = 1
	CustomObjectMarker_CUSTOM_MARKER_CIRCLES_3   CustomObjectMarker = 2
	CustomObjectMarker_CUSTOM_MARKER_CIRCLES_4   CustomObjectMarker = 3
	CustomObjectMarker_CUSTOM_MARKER_CIRCLES_5   CustomObjectMarker = 4
	CustomObjectMarker_CUSTOM_MARKER_DIAMONDS_2  CustomObjectMarker = 5
	CustomObjectMarker_CUSTOM_MARKER_DIAMONDS_3  CustomObjectMarker = 6
	CustomObjectMarker_CUSTOM_MARKER_DIAMONDS_4  CustomObjectMarker = 7
	CustomObjectMarker_CUSTOM_MARKER_DIAMONDS_5  CustomObjectMarker = 8
	CustomObjectMarker_CUSTOM_MARKER_HEXAGONS_2  CustomObjectMarker = 9
	CustomObjectMarker_CUSTOM_MARKER_HEXAGONS_3  CustomObjectMarker = 10
	CustomObjectMarker_CUSTOM_MARKER_HEXAGONS_4  CustomObjectMarker = 11
	CustomObjectMarker_CUSTOM_MARKER_HEXAGONS_5  CustomObjectMarker = 12
	CustomObjectMarker_CUSTOM_MARKER_TRIANGLES_2 CustomObjectMarker = 13
	CustomObjectMarker_CUSTOM_MARKER_TRIANGLES_3 CustomObjectMarker = 14
	CustomObjectMarker_CUSTOM_MARKER_TRIANGLES_4 CustomObjectMarker = 15
	CustomObjectMarker_CUSTOM_MARKER_TRIANGLES_5 CustomObjectMarker = 16
	CustomObjectMarker_CUSTOM_MARKER_COUNT       CustomObjectMarker = 16
)

// Enum value maps for CustomObjectMarker.
var (
	CustomObjectMarker_name = map[int32]string{
		0:  "CUSTOM_MARKER_UNKNOWN",
		1:  "CUSTOM_MARKER_CIRCLES_2",
		2:  "CUSTOM_MARKER_CIRCLES_3",
		3:  "CUSTOM_MARKER_CIRCLES_4",
		4:  "CUSTOM_MARKER_CIRCLES_5",
		5:  "CUSTOM_MARKER_DIAMONDS_2",
		6:  "CUSTOM_MARKER_DIAMONDS_3",
		7:  "CUSTOM_MARKER_DIAMONDS_4",
		8:  "CUSTOM_MARKER_DIAMONDS_5",
		9:  "CUSTOM_MARKER_HEXAGONS_2",
		10: "CUSTOM_MARKER_HEXAGONS_3",
		11: "CUSTOM_MARKER_HEXAGONS_4",
		12: "CUSTOM_MARKER_HEXAGONS_5",
		13: "CUSTOM_MARKER_TRIANGLES_2",
		14: "CUSTOM_MARKER_TRIANGLES_3",
		15: "CUSTOM_MARKER_TRIANGLES_4",
		16: "CUSTOM_MARKER_TRIANGLES_5",
		// Duplicate value: 16: "CUSTOM_MARKER_COUNT",
	}
	CustomObjectMarker_value = map[string]int32{
		"CUSTOM_MARKER_UNKNOWN":     0,
		"CUSTOM_MARKER_CIRCLES_2":   1,
		"CUSTOM_MARKER_CIRCLES_3":   2,
		"CUSTOM_MARKER_CIRCLES_4":   3,
		"CUSTOM_MARKER_CIRCLES_5":   4,
		"CUSTOM_MARKER_DIAMONDS_2":  5,
		"CUSTOM_MARKER_DIAMONDS_3":  6,
		"CUSTOM_MARKER_DIAMONDS_4":  7,
		"CUSTOM_MARKER_DIAMONDS_5":  8,
		"CUSTOM_MARKER_HEXAGONS_2":  9,
		"CUSTOM_MARKER_HEXAGONS_3":  10,
		"CUSTOM_MARKER_HEXAGONS_4":  11,
		"CUSTOM_MARKER_HEXAGONS_5":  12,
		"CUSTOM_MARKER_TRIANGLES_2": 13,
		"CUSTOM_MARKER_TRIANGLES_3": 14,
		"CUSTOM_MARKER_TRIANGLES_4": 15,
		"CUSTOM_MARKER_TRIANGLES_5": 16,
		"CUSTOM_MARKER_COUNT":       16,
	}
)

func (x CustomObjectMarker) Enum() *CustomObjectMarker {
	p := new(CustomObjectMarker)
	*p = x
	return p
}

func (x CustomObjectMarker) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CustomObjectMarker) Descriptor() protoreflect.EnumDescriptor {
	return file_cube_proto_enumTypes[5].Descriptor()
}

func (CustomObjectMarker) Type() protoreflect.EnumType {
	return &file_cube_proto_enumTypes[5]
}

func (x CustomObjectMarker) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use CustomObjectMarker.Descriptor instead.
func (CustomObjectMarker) EnumDescriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{5}
}

type CustomObjectDeletionMode int32

const (
	CustomObjectDeletionMode_DELETION_MASK_UNKNOWN               CustomObjectDeletionMode = 0
	CustomObjectDeletionMode_DELETION_MASK_FIXED_CUSTOM_OBJECTS  CustomObjectDeletionMode = 1
	CustomObjectDeletionMode_DELETION_MASK_CUSTOM_MARKER_OBJECTS CustomObjectDeletionMode = 2
	CustomObjectDeletionMode_DELETION_MASK_ARCHETYPES            CustomObjectDeletionMode = 3
)

// Enum value maps for CustomObjectDeletionMode.
var (
	CustomObjectDeletionMode_name = map[int32]string{
		0: "DELETION_MASK_UNKNOWN",
		1: "DELETION_MASK_FIXED_CUSTOM_OBJECTS",
		2: "DELETION_MASK_CUSTOM_MARKER_OBJECTS",
		3: "DELETION_MASK_ARCHETYPES",
	}
	CustomObjectDeletionMode_value = map[string]int32{
		"DELETION_MASK_UNKNOWN":               0,
		"DELETION_MASK_FIXED_CUSTOM_OBJECTS":  1,
		"DELETION_MASK_CUSTOM_MARKER_OBJECTS": 2,
		"DELETION_MASK_ARCHETYPES":            3,
	}
)

func (x CustomObjectDeletionMode) Enum() *CustomObjectDeletionMode {
	p := new(CustomObjectDeletionMode)
	*p = x
	return p
}

func (x CustomObjectDeletionMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CustomObjectDeletionMode) Descriptor() protoreflect.EnumDescriptor {
	return file_cube_proto_enumTypes[6].Descriptor()
}

func (CustomObjectDeletionMode) Type() protoreflect.EnumType {
	return &file_cube_proto_enumTypes[6]
}

func (x CustomObjectDeletionMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use CustomObjectDeletionMode.Descriptor instead.
func (CustomObjectDeletionMode) EnumDescriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{6}
}

// This is a uint_8 internally.
type SetCubeLightsRequest_MakeRelativeMode int32

const (
	SetCubeLightsRequest_UNKNOWN   SetCubeLightsRequest_MakeRelativeMode = 0
	SetCubeLightsRequest_OFF       SetCubeLightsRequest_MakeRelativeMode = 1
	SetCubeLightsRequest_BY_CORNER SetCubeLightsRequest_MakeRelativeMode = 2
	SetCubeLightsRequest_BY_SIDE   SetCubeLightsRequest_MakeRelativeMode = 3
)

// Enum value maps for SetCubeLightsRequest_MakeRelativeMode.
var (
	SetCubeLightsRequest_MakeRelativeMode_name = map[int32]string{
		0: "UNKNOWN",
		1: "OFF",
		2: "BY_CORNER",
		3: "BY_SIDE",
	}
	SetCubeLightsRequest_MakeRelativeMode_value = map[string]int32{
		"UNKNOWN":   0,
		"OFF":       1,
		"BY_CORNER": 2,
		"BY_SIDE":   3,
	}
)

func (x SetCubeLightsRequest_MakeRelativeMode) Enum() *SetCubeLightsRequest_MakeRelativeMode {
	p := new(SetCubeLightsRequest_MakeRelativeMode)
	*p = x
	return p
}

func (x SetCubeLightsRequest_MakeRelativeMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SetCubeLightsRequest_MakeRelativeMode) Descriptor() protoreflect.EnumDescriptor {
	return file_cube_proto_enumTypes[7].Descriptor()
}

func (SetCubeLightsRequest_MakeRelativeMode) Type() protoreflect.EnumType {
	return &file_cube_proto_enumTypes[7]
}

func (x SetCubeLightsRequest_MakeRelativeMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SetCubeLightsRequest_MakeRelativeMode.Descriptor instead.
func (SetCubeLightsRequest_MakeRelativeMode) EnumDescriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{12, 0}
}

// Attempt to connect to a cube. If a cube is currently connected,
// this will do nothing.
type ConnectCubeRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ConnectCubeRequest) Reset() {
	*x = ConnectCubeRequest{}
	mi := &file_cube_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ConnectCubeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConnectCubeRequest) ProtoMessage() {}

func (x *ConnectCubeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ConnectCubeRequest.ProtoReflect.Descriptor instead.
func (*ConnectCubeRequest) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{0}
}

type ConnectCubeResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *ResponseStatus        `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	Success       bool                   `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"`
	ObjectId      uint32                 `protobuf:"varint,3,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	FactoryId     string                 `protobuf:"bytes,4,opt,name=factory_id,json=factoryId,proto3" json:"factory_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ConnectCubeResponse) Reset() {
	*x = ConnectCubeResponse{}
	mi := &file_cube_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ConnectCubeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConnectCubeResponse) ProtoMessage() {}

func (x *ConnectCubeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ConnectCubeResponse.ProtoReflect.Descriptor instead.
func (*ConnectCubeResponse) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{1}
}

func (x *ConnectCubeResponse) GetStatus() *ResponseStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *ConnectCubeResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *ConnectCubeResponse) GetObjectId() uint32 {
	if x != nil {
		return x.ObjectId
	}
	return 0
}

func (x *ConnectCubeResponse) GetFactoryId() string {
	if x != nil {
		return x.FactoryId
	}
	return ""
}

type CubesAvailableRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CubesAvailableRequest) Reset() {
	*x = CubesAvailableRequest{}
	mi := &file_cube_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CubesAvailableRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CubesAvailableRequest) ProtoMessage() {}

func (x *CubesAvailableRequest) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CubesAvailableRequest.ProtoReflect.Descriptor instead.
func (*CubesAvailableRequest) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{2}
}

type CubesAvailableResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *ResponseStatus        `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	FactoryIds    []string               `protobuf:"bytes,2,rep,name=factory_ids,json=factoryIds,proto3" json:"factory_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CubesAvailableResponse) Reset() {
	*x = CubesAvailableResponse{}
	mi := &file_cube_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CubesAvailableResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CubesAvailableResponse) ProtoMessage() {}

func (x *CubesAvailableResponse) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CubesAvailableResponse.ProtoReflect.Descriptor instead.
func (*CubesAvailableResponse) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{3}
}

func (x *CubesAvailableResponse) GetStatus() *ResponseStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *CubesAvailableResponse) GetFactoryIds() []string {
	if x != nil {
		return x.FactoryIds
	}
	return nil
}

// Requests a disconnection from the currently connected cube.
type DisconnectCubeRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DisconnectCubeRequest) Reset() {
	*x = DisconnectCubeRequest{}
	mi := &file_cube_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DisconnectCubeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DisconnectCubeRequest) ProtoMessage() {}

func (x *DisconnectCubeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DisconnectCubeRequest.ProtoReflect.Descriptor instead.
func (*DisconnectCubeRequest) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{4}
}

type DisconnectCubeResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *ResponseStatus        `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DisconnectCubeResponse) Reset() {
	*x = DisconnectCubeResponse{}
	mi := &file_cube_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DisconnectCubeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DisconnectCubeResponse) ProtoMessage() {}

func (x *DisconnectCubeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DisconnectCubeResponse.ProtoReflect.Descriptor instead.
func (*DisconnectCubeResponse) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{5}
}

func (x *DisconnectCubeResponse) GetStatus() *ResponseStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

// Plays the default cube connection animation on the currently
// connected cube's lights.  This is intended for app level user
// surfacing of cube connectivity, not for sdk cube light control.
type FlashCubeLightsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FlashCubeLightsRequest) Reset() {
	*x = FlashCubeLightsRequest{}
	mi := &file_cube_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FlashCubeLightsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FlashCubeLightsRequest) ProtoMessage() {}

func (x *FlashCubeLightsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FlashCubeLightsRequest.ProtoReflect.Descriptor instead.
func (*FlashCubeLightsRequest) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{6}
}

type FlashCubeLightsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *ResponseStatus        `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FlashCubeLightsResponse) Reset() {
	*x = FlashCubeLightsResponse{}
	mi := &file_cube_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FlashCubeLightsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FlashCubeLightsResponse) ProtoMessage() {}

func (x *FlashCubeLightsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FlashCubeLightsResponse.ProtoReflect.Descriptor instead.
func (*FlashCubeLightsResponse) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{7}
}

func (x *FlashCubeLightsResponse) GetStatus() *ResponseStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

// Forget the robot's preferred cube. This will cause the robot to
// connect to the cube with the highest RSSI (signal strength) next
// time a connection is requested. Saves this preference to disk.
// The next cube that the robot connects to will become its
// preferred cube.
type ForgetPreferredCubeRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ForgetPreferredCubeRequest) Reset() {
	*x = ForgetPreferredCubeRequest{}
	mi := &file_cube_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ForgetPreferredCubeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ForgetPreferredCubeRequest) ProtoMessage() {}

func (x *ForgetPreferredCubeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ForgetPreferredCubeRequest.ProtoReflect.Descriptor instead.
func (*ForgetPreferredCubeRequest) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{8}
}

type ForgetPreferredCubeResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *ResponseStatus        `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ForgetPreferredCubeResponse) Reset() {
	*x = ForgetPreferredCubeResponse{}
	mi := &file_cube_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ForgetPreferredCubeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ForgetPreferredCubeResponse) ProtoMessage() {}

func (x *ForgetPreferredCubeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ForgetPreferredCubeResponse.ProtoReflect.Descriptor instead.
func (*ForgetPreferredCubeResponse) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{9}
}

func (x *ForgetPreferredCubeResponse) GetStatus() *ResponseStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

// Set the robot's preferred cube and save it to disk. The robot
// will always attempt to connect to this cube if it is available.
// This is only used in simulation for now.
type SetPreferredCubeRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FactoryId     string                 `protobuf:"bytes,1,opt,name=factory_id,json=factoryId,proto3" json:"factory_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetPreferredCubeRequest) Reset() {
	*x = SetPreferredCubeRequest{}
	mi := &file_cube_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetPreferredCubeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetPreferredCubeRequest) ProtoMessage() {}

func (x *SetPreferredCubeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetPreferredCubeRequest.ProtoReflect.Descriptor instead.
func (*SetPreferredCubeRequest) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{10}
}

func (x *SetPreferredCubeRequest) GetFactoryId() string {
	if x != nil {
		return x.FactoryId
	}
	return ""
}

type SetPreferredCubeResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *ResponseStatus        `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetPreferredCubeResponse) Reset() {
	*x = SetPreferredCubeResponse{}
	mi := &file_cube_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetPreferredCubeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetPreferredCubeResponse) ProtoMessage() {}

func (x *SetPreferredCubeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetPreferredCubeResponse.ProtoReflect.Descriptor instead.
func (*SetPreferredCubeResponse) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{11}
}

func (x *SetPreferredCubeResponse) GetStatus() *ResponseStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

// Sets each LED on victor's cube.  Two states are specified
// designated 'on' and 'off', each with a color, duration,
// and state transition time
type SetCubeLightsRequest struct {
	state                 protoimpl.MessageState                `protogen:"open.v1"`
	ObjectId              uint32                                `protobuf:"varint,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	OnColor               []uint32                              `protobuf:"varint,2,rep,packed,name=on_color,json=onColor,proto3" json:"on_color,omitempty"`
	OffColor              []uint32                              `protobuf:"varint,3,rep,packed,name=off_color,json=offColor,proto3" json:"off_color,omitempty"`
	OnPeriodMs            []uint32                              `protobuf:"varint,4,rep,packed,name=on_period_ms,json=onPeriodMs,proto3" json:"on_period_ms,omitempty"`
	OffPeriodMs           []uint32                              `protobuf:"varint,5,rep,packed,name=off_period_ms,json=offPeriodMs,proto3" json:"off_period_ms,omitempty"`
	TransitionOnPeriodMs  []uint32                              `protobuf:"varint,6,rep,packed,name=transition_on_period_ms,json=transitionOnPeriodMs,proto3" json:"transition_on_period_ms,omitempty"`
	TransitionOffPeriodMs []uint32                              `protobuf:"varint,7,rep,packed,name=transition_off_period_ms,json=transitionOffPeriodMs,proto3" json:"transition_off_period_ms,omitempty"`
	Offset                []int32                               `protobuf:"varint,8,rep,packed,name=offset,proto3" json:"offset,omitempty"`
	RelativeToX           float32                               `protobuf:"fixed32,9,opt,name=relative_to_x,json=relativeToX,proto3" json:"relative_to_x,omitempty"`
	RelativeToY           float32                               `protobuf:"fixed32,10,opt,name=relative_to_y,json=relativeToY,proto3" json:"relative_to_y,omitempty"`
	Rotate                bool                                  `protobuf:"varint,11,opt,name=rotate,proto3" json:"rotate,omitempty"`
	MakeRelative          SetCubeLightsRequest_MakeRelativeMode `protobuf:"varint,12,opt,name=make_relative,json=makeRelative,proto3,enum=Anki.Vector.external_interface.SetCubeLightsRequest_MakeRelativeMode" json:"make_relative,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *SetCubeLightsRequest) Reset() {
	*x = SetCubeLightsRequest{}
	mi := &file_cube_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetCubeLightsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetCubeLightsRequest) ProtoMessage() {}

func (x *SetCubeLightsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetCubeLightsRequest.ProtoReflect.Descriptor instead.
func (*SetCubeLightsRequest) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{12}
}

func (x *SetCubeLightsRequest) GetObjectId() uint32 {
	if x != nil {
		return x.ObjectId
	}
	return 0
}

func (x *SetCubeLightsRequest) GetOnColor() []uint32 {
	if x != nil {
		return x.OnColor
	}
	return nil
}

func (x *SetCubeLightsRequest) GetOffColor() []uint32 {
	if x != nil {
		return x.OffColor
	}
	return nil
}

func (x *SetCubeLightsRequest) GetOnPeriodMs() []uint32 {
	if x != nil {
		return x.OnPeriodMs
	}
	return nil
}

func (x *SetCubeLightsRequest) GetOffPeriodMs() []uint32 {
	if x != nil {
		return x.OffPeriodMs
	}
	return nil
}

func (x *SetCubeLightsRequest) GetTransitionOnPeriodMs() []uint32 {
	if x != nil {
		return x.TransitionOnPeriodMs
	}
	return nil
}

func (x *SetCubeLightsRequest) GetTransitionOffPeriodMs() []uint32 {
	if x != nil {
		return x.TransitionOffPeriodMs
	}
	return nil
}

func (x *SetCubeLightsRequest) GetOffset() []int32 {
	if x != nil {
		return x.Offset
	}
	return nil
}

func (x *SetCubeLightsRequest) GetRelativeToX() float32 {
	if x != nil {
		return x.RelativeToX
	}
	return 0
}

func (x *SetCubeLightsRequest) GetRelativeToY() float32 {
	if x != nil {
		return x.RelativeToY
	}
	return 0
}

func (x *SetCubeLightsRequest) GetRotate() bool {
	if x != nil {
		return x.Rotate
	}
	return false
}

func (x *SetCubeLightsRequest) GetMakeRelative() SetCubeLightsRequest_MakeRelativeMode {
	if x != nil {
		return x.MakeRelative
	}
	return SetCubeLightsRequest_UNKNOWN
}

type SetCubeLightsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *ResponseStatus        `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetCubeLightsResponse) Reset() {
	*x = SetCubeLightsResponse{}
	mi := &file_cube_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetCubeLightsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetCubeLightsResponse) ProtoMessage() {}

func (x *SetCubeLightsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetCubeLightsResponse.ProtoReflect.Descriptor instead.
func (*SetCubeLightsResponse) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{13}
}

func (x *SetCubeLightsResponse) GetStatus() *ResponseStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

type ObjectAvailable struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FactoryId     string                 `protobuf:"bytes,1,opt,name=factory_id,json=factoryId,proto3" json:"factory_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ObjectAvailable) Reset() {
	*x = ObjectAvailable{}
	mi := &file_cube_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ObjectAvailable) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ObjectAvailable) ProtoMessage() {}

func (x *ObjectAvailable) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ObjectAvailable.ProtoReflect.Descriptor instead.
func (*ObjectAvailable) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{14}
}

func (x *ObjectAvailable) GetFactoryId() string {
	if x != nil {
		return x.FactoryId
	}
	return ""
}

// Indicates that a cube has connected or disconnected to the robot.
// This message will be sent for any connects or disconnects regardless
// of whether it originated from us or underlying robot behavior.
type ObjectConnectionState struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ObjectId      uint32                 `protobuf:"varint,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	FactoryId     string                 `protobuf:"bytes,2,opt,name=factory_id,json=factoryId,proto3" json:"factory_id,omitempty"`
	ObjectType    ObjectType             `protobuf:"varint,3,opt,name=object_type,json=objectType,proto3,enum=Anki.Vector.external_interface.ObjectType" json:"object_type,omitempty"`
	Connected     bool                   `protobuf:"varint,4,opt,name=connected,proto3" json:"connected,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ObjectConnectionState) Reset() {
	*x = ObjectConnectionState{}
	mi := &file_cube_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ObjectConnectionState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ObjectConnectionState) ProtoMessage() {}

func (x *ObjectConnectionState) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ObjectConnectionState.ProtoReflect.Descriptor instead.
func (*ObjectConnectionState) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{15}
}

func (x *ObjectConnectionState) GetObjectId() uint32 {
	if x != nil {
		return x.ObjectId
	}
	return 0
}

func (x *ObjectConnectionState) GetFactoryId() string {
	if x != nil {
		return x.FactoryId
	}
	return ""
}

func (x *ObjectConnectionState) GetObjectType() ObjectType {
	if x != nil {
		return x.ObjectType
	}
	return ObjectType_INVALID_OBJECT
}

func (x *ObjectConnectionState) GetConnected() bool {
	if x != nil {
		return x.Connected
	}
	return false
}

type ObjectMoved struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Timestamp     uint32                 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	ObjectId      uint32                 `protobuf:"varint,2,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ObjectMoved) Reset() {
	*x = ObjectMoved{}
	mi := &file_cube_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ObjectMoved) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ObjectMoved) ProtoMessage() {}

func (x *ObjectMoved) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ObjectMoved.ProtoReflect.Descriptor instead.
func (*ObjectMoved) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{16}
}

func (x *ObjectMoved) GetTimestamp() uint32 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *ObjectMoved) GetObjectId() uint32 {
	if x != nil {
		return x.ObjectId
	}
	return 0
}

type ObjectStoppedMoving struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Timestamp     uint32                 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	ObjectId      uint32                 `protobuf:"varint,2,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ObjectStoppedMoving) Reset() {
	*x = ObjectStoppedMoving{}
	mi := &file_cube_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ObjectStoppedMoving) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ObjectStoppedMoving) ProtoMessage() {}

func (x *ObjectStoppedMoving) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ObjectStoppedMoving.ProtoReflect.Descriptor instead.
func (*ObjectStoppedMoving) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{17}
}

func (x *ObjectStoppedMoving) GetTimestamp() uint32 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *ObjectStoppedMoving) GetObjectId() uint32 {
	if x != nil {
		return x.ObjectId
	}
	return 0
}

type ObjectUpAxisChanged struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Timestamp     uint32                 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	ObjectId      uint32                 `protobuf:"varint,2,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	UpAxis        UpAxis                 `protobuf:"varint,3,opt,name=up_axis,json=upAxis,proto3,enum=Anki.Vector.external_interface.UpAxis" json:"up_axis,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ObjectUpAxisChanged) Reset() {
	*x = ObjectUpAxisChanged{}
	mi := &file_cube_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ObjectUpAxisChanged) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ObjectUpAxisChanged) ProtoMessage() {}

func (x *ObjectUpAxisChanged) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ObjectUpAxisChanged.ProtoReflect.Descriptor instead.
func (*ObjectUpAxisChanged) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{18}
}

func (x *ObjectUpAxisChanged) GetTimestamp() uint32 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *ObjectUpAxisChanged) GetObjectId() uint32 {
	if x != nil {
		return x.ObjectId
	}
	return 0
}

func (x *ObjectUpAxisChanged) GetUpAxis() UpAxis {
	if x != nil {
		return x.UpAxis
	}
	return UpAxis_INVALID_AXIS
}

type ObjectTapped struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Timestamp     uint32                 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	ObjectId      uint32                 `protobuf:"varint,2,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ObjectTapped) Reset() {
	*x = ObjectTapped{}
	mi := &file_cube_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ObjectTapped) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ObjectTapped) ProtoMessage() {}

func (x *ObjectTapped) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ObjectTapped.ProtoReflect.Descriptor instead.
func (*ObjectTapped) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{19}
}

func (x *ObjectTapped) GetTimestamp() uint32 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *ObjectTapped) GetObjectId() uint32 {
	if x != nil {
		return x.ObjectId
	}
	return 0
}

// RobotObservedObject for signaling that an object
//
//	with specified ID/Type was seen at a particular location in the image
//	and the world
type RobotObservedObject struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	Timestamp             uint32                 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	ObjectFamily          ObjectFamily           `protobuf:"varint,2,opt,name=object_family,json=objectFamily,proto3,enum=Anki.Vector.external_interface.ObjectFamily" json:"object_family,omitempty"` // ObjectFamily is deprecated. Use ObjectType instead to reason about groupings of objects.
	ObjectType            ObjectType             `protobuf:"varint,3,opt,name=object_type,json=objectType,proto3,enum=Anki.Vector.external_interface.ObjectType" json:"object_type,omitempty"`
	ObjectId              int32                  `protobuf:"varint,4,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` // signed to match U2G::PickAndPlaceObject which has the option to have objectID<0
	ImgRect               *CladRect              `protobuf:"bytes,5,opt,name=img_rect,json=imgRect,proto3" json:"img_rect,omitempty"`     // position in image coords
	Pose                  *PoseStruct            `protobuf:"bytes,6,opt,name=pose,proto3" json:"pose,omitempty"`
	TopFaceOrientationRad float32                `protobuf:"fixed32,7,opt,name=top_face_orientation_rad,json=topFaceOrientationRad,proto3" json:"top_face_orientation_rad,omitempty"` // absolute orienation of top face, iff isActive==true
	IsActive              uint32                 `protobuf:"varint,8,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *RobotObservedObject) Reset() {
	*x = RobotObservedObject{}
	mi := &file_cube_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RobotObservedObject) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RobotObservedObject) ProtoMessage() {}

func (x *RobotObservedObject) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RobotObservedObject.ProtoReflect.Descriptor instead.
func (*RobotObservedObject) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{20}
}

func (x *RobotObservedObject) GetTimestamp() uint32 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *RobotObservedObject) GetObjectFamily() ObjectFamily {
	if x != nil {
		return x.ObjectFamily
	}
	return ObjectFamily_INVALID_FAMILY
}

func (x *RobotObservedObject) GetObjectType() ObjectType {
	if x != nil {
		return x.ObjectType
	}
	return ObjectType_INVALID_OBJECT
}

func (x *RobotObservedObject) GetObjectId() int32 {
	if x != nil {
		return x.ObjectId
	}
	return 0
}

func (x *RobotObservedObject) GetImgRect() *CladRect {
	if x != nil {
		return x.ImgRect
	}
	return nil
}

func (x *RobotObservedObject) GetPose() *PoseStruct {
	if x != nil {
		return x.Pose
	}
	return nil
}

func (x *RobotObservedObject) GetTopFaceOrientationRad() float32 {
	if x != nil {
		return x.TopFaceOrientationRad
	}
	return 0
}

func (x *RobotObservedObject) GetIsActive() uint32 {
	if x != nil {
		return x.IsActive
	}
	return 0
}

// Indicates that a the connection subscribed through ConnectCube has
// been lost.
type CubeConnectionLost struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CubeConnectionLost) Reset() {
	*x = CubeConnectionLost{}
	mi := &file_cube_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CubeConnectionLost) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CubeConnectionLost) ProtoMessage() {}

func (x *CubeConnectionLost) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CubeConnectionLost.ProtoReflect.Descriptor instead.
func (*CubeConnectionLost) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{21}
}

// Deletes all custom objects matching a given deletion mode.
type DeleteCustomObjectsRequest struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Mode          CustomObjectDeletionMode `protobuf:"varint,1,opt,name=mode,proto3,enum=Anki.Vector.external_interface.CustomObjectDeletionMode" json:"mode,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteCustomObjectsRequest) Reset() {
	*x = DeleteCustomObjectsRequest{}
	mi := &file_cube_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteCustomObjectsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteCustomObjectsRequest) ProtoMessage() {}

func (x *DeleteCustomObjectsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteCustomObjectsRequest.ProtoReflect.Descriptor instead.
func (*DeleteCustomObjectsRequest) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{22}
}

func (x *DeleteCustomObjectsRequest) GetMode() CustomObjectDeletionMode {
	if x != nil {
		return x.Mode
	}
	return CustomObjectDeletionMode_DELETION_MASK_UNKNOWN
}

type DeleteCustomObjectsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *ResponseStatus        `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteCustomObjectsResponse) Reset() {
	*x = DeleteCustomObjectsResponse{}
	mi := &file_cube_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteCustomObjectsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteCustomObjectsResponse) ProtoMessage() {}

func (x *DeleteCustomObjectsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteCustomObjectsResponse.ProtoReflect.Descriptor instead.
func (*DeleteCustomObjectsResponse) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{23}
}

func (x *DeleteCustomObjectsResponse) GetStatus() *ResponseStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

// Creates a CustomObject at the specific pose with no markers associated with it
// Since this object has no markers with which to be observed, it will remain in the
// specified pose as an obstacle forever (or until deleted with a deletion message above)
type CreateFixedCustomObjectRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Pose          *PoseStruct            `protobuf:"bytes,1,opt,name=pose,proto3" json:"pose,omitempty"`
	XSizeMm       float32                `protobuf:"fixed32,2,opt,name=x_size_mm,json=xSizeMm,proto3" json:"x_size_mm,omitempty"`
	YSizeMm       float32                `protobuf:"fixed32,3,opt,name=y_size_mm,json=ySizeMm,proto3" json:"y_size_mm,omitempty"`
	ZSizeMm       float32                `protobuf:"fixed32,4,opt,name=z_size_mm,json=zSizeMm,proto3" json:"z_size_mm,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateFixedCustomObjectRequest) Reset() {
	*x = CreateFixedCustomObjectRequest{}
	mi := &file_cube_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateFixedCustomObjectRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateFixedCustomObjectRequest) ProtoMessage() {}

func (x *CreateFixedCustomObjectRequest) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateFixedCustomObjectRequest.ProtoReflect.Descriptor instead.
func (*CreateFixedCustomObjectRequest) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{24}
}

func (x *CreateFixedCustomObjectRequest) GetPose() *PoseStruct {
	if x != nil {
		return x.Pose
	}
	return nil
}

func (x *CreateFixedCustomObjectRequest) GetXSizeMm() float32 {
	if x != nil {
		return x.XSizeMm
	}
	return 0
}

func (x *CreateFixedCustomObjectRequest) GetYSizeMm() float32 {
	if x != nil {
		return x.YSizeMm
	}
	return 0
}

func (x *CreateFixedCustomObjectRequest) GetZSizeMm() float32 {
	if x != nil {
		return x.ZSizeMm
	}
	return 0
}

type CreateFixedCustomObjectResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *ResponseStatus        `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	ObjectId      uint32                 `protobuf:"varint,2,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateFixedCustomObjectResponse) Reset() {
	*x = CreateFixedCustomObjectResponse{}
	mi := &file_cube_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateFixedCustomObjectResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateFixedCustomObjectResponse) ProtoMessage() {}

func (x *CreateFixedCustomObjectResponse) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateFixedCustomObjectResponse.ProtoReflect.Descriptor instead.
func (*CreateFixedCustomObjectResponse) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{25}
}

func (x *CreateFixedCustomObjectResponse) GetStatus() *ResponseStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *CreateFixedCustomObjectResponse) GetObjectId() uint32 {
	if x != nil {
		return x.ObjectId
	}
	return 0
}

// Defines a custom object of the given size with the given markers centered on each side
// If isUnique=true, there is guaranteed to be no more than one object of this type present in the world
type CustomBoxDefinition struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	MarkerFront    CustomObjectMarker     `protobuf:"varint,1,opt,name=marker_front,json=markerFront,proto3,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_front,omitempty"`
	MarkerBack     CustomObjectMarker     `protobuf:"varint,2,opt,name=marker_back,json=markerBack,proto3,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_back,omitempty"`
	MarkerTop      CustomObjectMarker     `protobuf:"varint,3,opt,name=marker_top,json=markerTop,proto3,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_top,omitempty"`
	MarkerBottom   CustomObjectMarker     `protobuf:"varint,4,opt,name=marker_bottom,json=markerBottom,proto3,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_bottom,omitempty"`
	MarkerLeft     CustomObjectMarker     `protobuf:"varint,5,opt,name=marker_left,json=markerLeft,proto3,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_left,omitempty"`
	MarkerRight    CustomObjectMarker     `protobuf:"varint,6,opt,name=marker_right,json=markerRight,proto3,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker_right,omitempty"`
	XSizeMm        float32                `protobuf:"fixed32,7,opt,name=x_size_mm,json=xSizeMm,proto3" json:"x_size_mm,omitempty"`
	YSizeMm        float32                `protobuf:"fixed32,8,opt,name=y_size_mm,json=ySizeMm,proto3" json:"y_size_mm,omitempty"`
	ZSizeMm        float32                `protobuf:"fixed32,9,opt,name=z_size_mm,json=zSizeMm,proto3" json:"z_size_mm,omitempty"`
	MarkerWidthMm  float32                `protobuf:"fixed32,10,opt,name=marker_width_mm,json=markerWidthMm,proto3" json:"marker_width_mm,omitempty"`
	MarkerHeightMm float32                `protobuf:"fixed32,11,opt,name=marker_height_mm,json=markerHeightMm,proto3" json:"marker_height_mm,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CustomBoxDefinition) Reset() {
	*x = CustomBoxDefinition{}
	mi := &file_cube_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CustomBoxDefinition) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CustomBoxDefinition) ProtoMessage() {}

func (x *CustomBoxDefinition) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CustomBoxDefinition.ProtoReflect.Descriptor instead.
func (*CustomBoxDefinition) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{26}
}

func (x *CustomBoxDefinition) GetMarkerFront() CustomObjectMarker {
	if x != nil {
		return x.MarkerFront
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (x *CustomBoxDefinition) GetMarkerBack() CustomObjectMarker {
	if x != nil {
		return x.MarkerBack
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (x *CustomBoxDefinition) GetMarkerTop() CustomObjectMarker {
	if x != nil {
		return x.MarkerTop
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (x *CustomBoxDefinition) GetMarkerBottom() CustomObjectMarker {
	if x != nil {
		return x.MarkerBottom
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (x *CustomBoxDefinition) GetMarkerLeft() CustomObjectMarker {
	if x != nil {
		return x.MarkerLeft
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (x *CustomBoxDefinition) GetMarkerRight() CustomObjectMarker {
	if x != nil {
		return x.MarkerRight
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (x *CustomBoxDefinition) GetXSizeMm() float32 {
	if x != nil {
		return x.XSizeMm
	}
	return 0
}

func (x *CustomBoxDefinition) GetYSizeMm() float32 {
	if x != nil {
		return x.YSizeMm
	}
	return 0
}

func (x *CustomBoxDefinition) GetZSizeMm() float32 {
	if x != nil {
		return x.ZSizeMm
	}
	return 0
}

func (x *CustomBoxDefinition) GetMarkerWidthMm() float32 {
	if x != nil {
		return x.MarkerWidthMm
	}
	return 0
}

func (x *CustomBoxDefinition) GetMarkerHeightMm() float32 {
	if x != nil {
		return x.MarkerHeightMm
	}
	return 0
}

// Defines a custom cube of the given size. The cube will have the same marker centered on all faces.
// If isUnique=true, there is guaranteed to be no more than one cube of this type present in the world at a time.
type CustomCubeDefinition struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Marker         CustomObjectMarker     `protobuf:"varint,1,opt,name=marker,proto3,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker,omitempty"`
	SizeMm         float32                `protobuf:"fixed32,2,opt,name=size_mm,json=sizeMm,proto3" json:"size_mm,omitempty"`
	MarkerWidthMm  float32                `protobuf:"fixed32,3,opt,name=marker_width_mm,json=markerWidthMm,proto3" json:"marker_width_mm,omitempty"`
	MarkerHeightMm float32                `protobuf:"fixed32,4,opt,name=marker_height_mm,json=markerHeightMm,proto3" json:"marker_height_mm,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CustomCubeDefinition) Reset() {
	*x = CustomCubeDefinition{}
	mi := &file_cube_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CustomCubeDefinition) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CustomCubeDefinition) ProtoMessage() {}

func (x *CustomCubeDefinition) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CustomCubeDefinition.ProtoReflect.Descriptor instead.
func (*CustomCubeDefinition) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{27}
}

func (x *CustomCubeDefinition) GetMarker() CustomObjectMarker {
	if x != nil {
		return x.Marker
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (x *CustomCubeDefinition) GetSizeMm() float32 {
	if x != nil {
		return x.SizeMm
	}
	return 0
}

func (x *CustomCubeDefinition) GetMarkerWidthMm() float32 {
	if x != nil {
		return x.MarkerWidthMm
	}
	return 0
}

func (x *CustomCubeDefinition) GetMarkerHeightMm() float32 {
	if x != nil {
		return x.MarkerHeightMm
	}
	return 0
}

// Defines a custom wall of the given height and width, with the same marker centered on both sides (front and back).
// The wall's thickness is assumed to be 1cm (and thus there are no markers on its left, right, top, or bottom)
// If isUnique=true, there is guaranteed to be no more than one wall of this type present in the world at a time.
type CustomWallDefinition struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Marker         CustomObjectMarker     `protobuf:"varint,1,opt,name=marker,proto3,enum=Anki.Vector.external_interface.CustomObjectMarker" json:"marker,omitempty"`
	WidthMm        float32                `protobuf:"fixed32,2,opt,name=width_mm,json=widthMm,proto3" json:"width_mm,omitempty"`
	HeightMm       float32                `protobuf:"fixed32,3,opt,name=height_mm,json=heightMm,proto3" json:"height_mm,omitempty"`
	MarkerWidthMm  float32                `protobuf:"fixed32,4,opt,name=marker_width_mm,json=markerWidthMm,proto3" json:"marker_width_mm,omitempty"`
	MarkerHeightMm float32                `protobuf:"fixed32,5,opt,name=marker_height_mm,json=markerHeightMm,proto3" json:"marker_height_mm,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CustomWallDefinition) Reset() {
	*x = CustomWallDefinition{}
	mi := &file_cube_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CustomWallDefinition) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CustomWallDefinition) ProtoMessage() {}

func (x *CustomWallDefinition) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CustomWallDefinition.ProtoReflect.Descriptor instead.
func (*CustomWallDefinition) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{28}
}

func (x *CustomWallDefinition) GetMarker() CustomObjectMarker {
	if x != nil {
		return x.Marker
	}
	return CustomObjectMarker_CUSTOM_MARKER_UNKNOWN
}

func (x *CustomWallDefinition) GetWidthMm() float32 {
	if x != nil {
		return x.WidthMm
	}
	return 0
}

func (x *CustomWallDefinition) GetHeightMm() float32 {
	if x != nil {
		return x.HeightMm
	}
	return 0
}

func (x *CustomWallDefinition) GetMarkerWidthMm() float32 {
	if x != nil {
		return x.MarkerWidthMm
	}
	return 0
}

func (x *CustomWallDefinition) GetMarkerHeightMm() float32 {
	if x != nil {
		return x.MarkerHeightMm
	}
	return 0
}

type DefineCustomObjectRequest struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	CustomType CustomType             `protobuf:"varint,1,opt,name=custom_type,json=customType,proto3,enum=Anki.Vector.external_interface.CustomType" json:"custom_type,omitempty"`
	IsUnique   bool                   `protobuf:"varint,2,opt,name=is_unique,json=isUnique,proto3" json:"is_unique,omitempty"`
	// Types that are valid to be assigned to CustomObjectDefinition:
	//
	//	*DefineCustomObjectRequest_CustomBox
	//	*DefineCustomObjectRequest_CustomCube
	//	*DefineCustomObjectRequest_CustomWall
	CustomObjectDefinition isDefineCustomObjectRequest_CustomObjectDefinition `protobuf_oneof:"custom_object_definition"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *DefineCustomObjectRequest) Reset() {
	*x = DefineCustomObjectRequest{}
	mi := &file_cube_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DefineCustomObjectRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DefineCustomObjectRequest) ProtoMessage() {}

func (x *DefineCustomObjectRequest) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DefineCustomObjectRequest.ProtoReflect.Descriptor instead.
func (*DefineCustomObjectRequest) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{29}
}

func (x *DefineCustomObjectRequest) GetCustomType() CustomType {
	if x != nil {
		return x.CustomType
	}
	return CustomType_INVALID_CUSTOM_TYPE
}

func (x *DefineCustomObjectRequest) GetIsUnique() bool {
	if x != nil {
		return x.IsUnique
	}
	return false
}

func (x *DefineCustomObjectRequest) GetCustomObjectDefinition() isDefineCustomObjectRequest_CustomObjectDefinition {
	if x != nil {
		return x.CustomObjectDefinition
	}
	return nil
}

func (x *DefineCustomObjectRequest) GetCustomBox() *CustomBoxDefinition {
	if x != nil {
		if x, ok := x.CustomObjectDefinition.(*DefineCustomObjectRequest_CustomBox); ok {
			return x.CustomBox
		}
	}
	return nil
}

func (x *DefineCustomObjectRequest) GetCustomCube() *CustomCubeDefinition {
	if x != nil {
		if x, ok := x.CustomObjectDefinition.(*DefineCustomObjectRequest_CustomCube); ok {
			return x.CustomCube
		}
	}
	return nil
}

func (x *DefineCustomObjectRequest) GetCustomWall() *CustomWallDefinition {
	if x != nil {
		if x, ok := x.CustomObjectDefinition.(*DefineCustomObjectRequest_CustomWall); ok {
			return x.CustomWall
		}
	}
	return nil
}

type isDefineCustomObjectRequest_CustomObjectDefinition interface {
	isDefineCustomObjectRequest_CustomObjectDefinition()
}

type DefineCustomObjectRequest_CustomBox struct {
	CustomBox *CustomBoxDefinition `protobuf:"bytes,3,opt,name=custom_box,json=customBox,proto3,oneof"`
}

type DefineCustomObjectRequest_CustomCube struct {
	CustomCube *CustomCubeDefinition `protobuf:"bytes,4,opt,name=custom_cube,json=customCube,proto3,oneof"`
}

type DefineCustomObjectRequest_CustomWall struct {
	CustomWall *CustomWallDefinition `protobuf:"bytes,5,opt,name=custom_wall,json=customWall,proto3,oneof"`
}

func (*DefineCustomObjectRequest_CustomBox) isDefineCustomObjectRequest_CustomObjectDefinition() {}

func (*DefineCustomObjectRequest_CustomCube) isDefineCustomObjectRequest_CustomObjectDefinition() {}

func (*DefineCustomObjectRequest_CustomWall) isDefineCustomObjectRequest_CustomObjectDefinition() {}

type DefineCustomObjectResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *ResponseStatus        `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	Success       bool                   `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DefineCustomObjectResponse) Reset() {
	*x = DefineCustomObjectResponse{}
	mi := &file_cube_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DefineCustomObjectResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DefineCustomObjectResponse) ProtoMessage() {}

func (x *DefineCustomObjectResponse) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DefineCustomObjectResponse.ProtoReflect.Descriptor instead.
func (*DefineCustomObjectResponse) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{30}
}

func (x *DefineCustomObjectResponse) GetStatus() *ResponseStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *DefineCustomObjectResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

type ObjectEvent struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to ObjectEventType:
	//
	//	*ObjectEvent_ObjectAvailable
	//	*ObjectEvent_ObjectConnectionState
	//	*ObjectEvent_ObjectMoved
	//	*ObjectEvent_ObjectStoppedMoving
	//	*ObjectEvent_ObjectUpAxisChanged
	//	*ObjectEvent_ObjectTapped
	//	*ObjectEvent_RobotObservedObject
	//	*ObjectEvent_CubeConnectionLost
	ObjectEventType isObjectEvent_ObjectEventType `protobuf_oneof:"object_event_type"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ObjectEvent) Reset() {
	*x = ObjectEvent{}
	mi := &file_cube_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ObjectEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ObjectEvent) ProtoMessage() {}

func (x *ObjectEvent) ProtoReflect() protoreflect.Message {
	mi := &file_cube_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ObjectEvent.ProtoReflect.Descriptor instead.
func (*ObjectEvent) Descriptor() ([]byte, []int) {
	return file_cube_proto_rawDescGZIP(), []int{31}
}

func (x *ObjectEvent) GetObjectEventType() isObjectEvent_ObjectEventType {
	if x != nil {
		return x.ObjectEventType
	}
	return nil
}

func (x *ObjectEvent) GetObjectAvailable() *ObjectAvailable {
	if x != nil {
		if x, ok := x.ObjectEventType.(*ObjectEvent_ObjectAvailable); ok {
			return x.ObjectAvailable
		}
	}
	return nil
}

func (x *ObjectEvent) GetObjectConnectionState() *ObjectConnectionState {
	if x != nil {
		if x, ok := x.ObjectEventType.(*ObjectEvent_ObjectConnectionState); ok {
			return x.ObjectConnectionState
		}
	}
	return nil
}

func (x *ObjectEvent) GetObjectMoved() *ObjectMoved {
	if x != nil {
		if x, ok := x.ObjectEventType.(*ObjectEvent_ObjectMoved); ok {
			return x.ObjectMoved
		}
	}
	return nil
}

func (x *ObjectEvent) GetObjectStoppedMoving() *ObjectStoppedMoving {
	if x != nil {
		if x, ok := x.ObjectEventType.(*ObjectEvent_ObjectStoppedMoving); ok {
			return x.ObjectStoppedMoving
		}
	}
	return nil
}

func (x *ObjectEvent) GetObjectUpAxisChanged() *ObjectUpAxisChanged {
	if x != nil {
		if x, ok := x.ObjectEventType.(*ObjectEvent_ObjectUpAxisChanged); ok {
			return x.ObjectUpAxisChanged
		}
	}
	return nil
}

func (x *ObjectEvent) GetObjectTapped() *ObjectTapped {
	if x != nil {
		if x, ok := x.ObjectEventType.(*ObjectEvent_ObjectTapped); ok {
			return x.ObjectTapped
		}
	}
	return nil
}

func (x *ObjectEvent) GetRobotObservedObject() *RobotObservedObject {
	if x != nil {
		if x, ok := x.ObjectEventType.(*ObjectEvent_RobotObservedObject); ok {
			return x.RobotObservedObject
		}
	}
	return nil
}

func (x *ObjectEvent) GetCubeConnectionLost() *CubeConnectionLost {
	if x != nil {
		if x, ok := x.ObjectEventType.(*ObjectEvent_CubeConnectionLost); ok {
			return x.CubeConnectionLost
		}
	}
	return nil
}

type isObjectEvent_ObjectEventType interface {
	isObjectEvent_ObjectEventType()
}

type ObjectEvent_ObjectAvailable struct {
	ObjectAvailable *ObjectAvailable `protobuf:"bytes,1,opt,name=object_available,json=objectAvailable,proto3,oneof"`
}

type ObjectEvent_ObjectConnectionState struct {
	ObjectConnectionState *ObjectConnectionState `protobuf:"bytes,2,opt,name=object_connection_state,json=objectConnectionState,proto3,oneof"`
}

type ObjectEvent_ObjectMoved struct {
	ObjectMoved *ObjectMoved `protobuf:"bytes,3,opt,name=object_moved,json=objectMoved,proto3,oneof"`
}

type ObjectEvent_ObjectStoppedMoving struct {
	ObjectStoppedMoving *ObjectStoppedMoving `protobuf:"bytes,4,opt,name=object_stopped_moving,json=objectStoppedMoving,proto3,oneof"`
}

type ObjectEvent_ObjectUpAxisChanged struct {
	ObjectUpAxisChanged *ObjectUpAxisChanged `protobuf:"bytes,5,opt,name=object_up_axis_changed,json=objectUpAxisChanged,proto3,oneof"`
}

type ObjectEvent_ObjectTapped struct {
	ObjectTapped *ObjectTapped `protobuf:"bytes,6,opt,name=object_tapped,json=objectTapped,proto3,oneof"`
}

type ObjectEvent_RobotObservedObject struct {
	RobotObservedObject *RobotObservedObject `protobuf:"bytes,7,opt,name=robot_observed_object,json=robotObservedObject,proto3,oneof"`
}

type ObjectEvent_CubeConnectionLost struct {
	CubeConnectionLost *CubeConnectionLost `protobuf:"bytes,8,opt,name=cube_connection_lost,json=cubeConnectionLost,proto3,oneof"`
}

func (*ObjectEvent_ObjectAvailable) isObjectEvent_ObjectEventType() {}

func (*ObjectEvent_ObjectConnectionState) isObjectEvent_ObjectEventType() {}

func (*ObjectEvent_ObjectMoved) isObjectEvent_ObjectEventType() {}

func (*ObjectEvent_ObjectStoppedMoving) isObjectEvent_ObjectEventType() {}

func (*ObjectEvent_ObjectUpAxisChanged) isObjectEvent_ObjectEventType() {}

func (*ObjectEvent_ObjectTapped) isObjectEvent_ObjectEventType() {}

func (*ObjectEvent_RobotObservedObject) isObjectEvent_ObjectEventType() {}

func (*ObjectEvent_CubeConnectionLost) isObjectEvent_ObjectEventType() {}

var File_cube_proto protoreflect.FileDescriptor

const file_cube_proto_rawDesc = "" +
	"\n" +
	"\n" +
	"cube.proto\x12\x1eAnki.Vector.external_interface\x1a\x0emessages.proto\x1a\x15response_status.proto\"\x14\n" +
	"\x12ConnectCubeRequest\"\xb3\x01\n" +
	"\x13ConnectCubeResponse\x12F\n" +
	"\x06status\x18\x01 \x01(\v2..Anki.Vector.external_interface.ResponseStatusR\x06status\x12\x18\n" +
	"\asuccess\x18\x02 \x01(\bR\asuccess\x12\x1b\n" +
	"\tobject_id\x18\x03 \x01(\rR\bobjectId\x12\x1d\n" +
	"\n" +
	"factory_id\x18\x04 \x01(\tR\tfactoryId\"\x17\n" +
	"\x15CubesAvailableRequest\"\x81\x01\n" +
	"\x16CubesAvailableResponse\x12F\n" +
	"\x06status\x18\x01 \x01(\v2..Anki.Vector.external_interface.ResponseStatusR\x06status\x12\x1f\n" +
	"\vfactory_ids\x18\x02 \x03(\tR\n" +
	"factoryIds\"\x17\n" +
	"\x15DisconnectCubeRequest\"`\n" +
	"\x16DisconnectCubeResponse\x12F\n" +
	"\x06status\x18\x01 \x01(\v2..Anki.Vector.external_interface.ResponseStatusR\x06status\"\x18\n" +
	"\x16FlashCubeLightsRequest\"a\n" +
	"\x17FlashCubeLightsResponse\x12F\n" +
	"\x06status\x18\x01 \x01(\v2..Anki.Vector.external_interface.ResponseStatusR\x06status\"\x1c\n" +
	"\x1aForgetPreferredCubeRequest\"e\n" +
	"\x1bForgetPreferredCubeResponse\x12F\n" +
	"\x06status\x18\x01 \x01(\v2..Anki.Vector.external_interface.ResponseStatusR\x06status\"8\n" +
	"\x17SetPreferredCubeRequest\x12\x1d\n" +
	"\n" +
	"factory_id\x18\x01 \x01(\tR\tfactoryId\"b\n" +
	"\x18SetPreferredCubeResponse\x12F\n" +
	"\x06status\x18\x01 \x01(\v2..Anki.Vector.external_interface.ResponseStatusR\x06status\"\xcb\x04\n" +
	"\x14SetCubeLightsRequest\x12\x1b\n" +
	"\tobject_id\x18\x01 \x01(\rR\bobjectId\x12\x19\n" +
	"\bon_color\x18\x02 \x03(\rR\aonColor\x12\x1b\n" +
	"\toff_color\x18\x03 \x03(\rR\boffColor\x12 \n" +
	"\fon_period_ms\x18\x04 \x03(\rR\n" +
	"onPeriodMs\x12\"\n" +
	"\roff_period_ms\x18\x05 \x03(\rR\voffPeriodMs\x125\n" +
	"\x17transition_on_period_ms\x18\x06 \x03(\rR\x14transitionOnPeriodMs\x127\n" +
	"\x18transition_off_period_ms\x18\a \x03(\rR\x15transitionOffPeriodMs\x12\x16\n" +
	"\x06offset\x18\b \x03(\x05R\x06offset\x12\"\n" +
	"\rrelative_to_x\x18\t \x01(\x02R\vrelativeToX\x12\"\n" +
	"\rrelative_to_y\x18\n" +
	" \x01(\x02R\vrelativeToY\x12\x16\n" +
	"\x06rotate\x18\v \x01(\bR\x06rotate\x12j\n" +
	"\rmake_relative\x18\f \x01(\x0e2E.Anki.Vector.external_interface.SetCubeLightsRequest.MakeRelativeModeR\fmakeRelative\"D\n" +
	"\x10MakeRelativeMode\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\a\n" +
	"\x03OFF\x10\x01\x12\r\n" +
	"\tBY_CORNER\x10\x02\x12\v\n" +
	"\aBY_SIDE\x10\x03\"_\n" +
	"\x15SetCubeLightsResponse\x12F\n" +
	"\x06status\x18\x01 \x01(\v2..Anki.Vector.external_interface.ResponseStatusR\x06status\"0\n" +
	"\x0fObjectAvailable\x12\x1d\n" +
	"\n" +
	"factory_id\x18\x01 \x01(\tR\tfactoryId\"\xbe\x01\n" +
	"\x15ObjectConnectionState\x12\x1b\n" +
	"\tobject_id\x18\x01 \x01(\rR\bobjectId\x12\x1d\n" +
	"\n" +
	"factory_id\x18\x02 \x01(\tR\tfactoryId\x12K\n" +
	"\vobject_type\x18\x03 \x01(\x0e2*.Anki.Vector.external_interface.ObjectTypeR\n" +
	"objectType\x12\x1c\n" +
	"\tconnected\x18\x04 \x01(\bR\tconnected\"H\n" +
	"\vObjectMoved\x12\x1c\n" +
	"\ttimestamp\x18\x01 \x01(\rR\ttimestamp\x12\x1b\n" +
	"\tobject_id\x18\x02 \x01(\rR\bobjectId\"P\n" +
	"\x13ObjectStoppedMoving\x12\x1c\n" +
	"\ttimestamp\x18\x01 \x01(\rR\ttimestamp\x12\x1b\n" +
	"\tobject_id\x18\x02 \x01(\rR\bobjectId\"\x91\x01\n" +
	"\x13ObjectUpAxisChanged\x12\x1c\n" +
	"\ttimestamp\x18\x01 \x01(\rR\ttimestamp\x12\x1b\n" +
	"\tobject_id\x18\x02 \x01(\rR\bobjectId\x12?\n" +
	"\aup_axis\x18\x03 \x01(\x0e2&.Anki.Vector.external_interface.UpAxisR\x06upAxis\"I\n" +
	"\fObjectTapped\x12\x1c\n" +
	"\ttimestamp\x18\x01 \x01(\rR\ttimestamp\x12\x1b\n" +
	"\tobject_id\x18\x02 \x01(\rR\bobjectId\"\xcb\x03\n" +
	"\x13RobotObservedObject\x12\x1c\n" +
	"\ttimestamp\x18\x01 \x01(\rR\ttimestamp\x12Q\n" +
	"\robject_family\x18\x02 \x01(\x0e2,.Anki.Vector.external_interface.ObjectFamilyR\fobjectFamily\x12K\n" +
	"\vobject_type\x18\x03 \x01(\x0e2*.Anki.Vector.external_interface.ObjectTypeR\n" +
	"objectType\x12\x1b\n" +
	"\tobject_id\x18\x04 \x01(\x05R\bobjectId\x12C\n" +
	"\bimg_rect\x18\x05 \x01(\v2(.Anki.Vector.external_interface.CladRectR\aimgRect\x12>\n" +
	"\x04pose\x18\x06 \x01(\v2*.Anki.Vector.external_interface.PoseStructR\x04pose\x127\n" +
	"\x18top_face_orientation_rad\x18\a \x01(\x02R\x15topFaceOrientationRad\x12\x1b\n" +
	"\tis_active\x18\b \x01(\rR\bisActive\"\x14\n" +
	"\x12CubeConnectionLost\"j\n" +
	"\x1aDeleteCustomObjectsRequest\x12L\n" +
	"\x04mode\x18\x01 \x01(\x0e28.Anki.Vector.external_interface.CustomObjectDeletionModeR\x04mode\"e\n" +
	"\x1bDeleteCustomObjectsResponse\x12F\n" +
	"\x06status\x18\x01 \x01(\v2..Anki.Vector.external_interface.ResponseStatusR\x06status\"\xb4\x01\n" +
	"\x1eCreateFixedCustomObjectRequest\x12>\n" +
	"\x04pose\x18\x01 \x01(\v2*.Anki.Vector.external_interface.PoseStructR\x04pose\x12\x1a\n" +
	"\tx_size_mm\x18\x02 \x01(\x02R\axSizeMm\x12\x1a\n" +
	"\ty_size_mm\x18\x03 \x01(\x02R\aySizeMm\x12\x1a\n" +
	"\tz_size_mm\x18\x04 \x01(\x02R\azSizeMm\"\x86\x01\n" +
	"\x1fCreateFixedCustomObjectResponse\x12F\n" +
	"\x06status\x18\x01 \x01(\v2..Anki.Vector.external_interface.ResponseStatusR\x06status\x12\x1b\n" +
	"\tobject_id\x18\x02 \x01(\rR\bobjectId\"\xbf\x05\n" +
	"\x13CustomBoxDefinition\x12U\n" +
	"\fmarker_front\x18\x01 \x01(\x0e22.Anki.Vector.external_interface.CustomObjectMarkerR\vmarkerFront\x12S\n" +
	"\vmarker_back\x18\x02 \x01(\x0e22.Anki.Vector.external_interface.CustomObjectMarkerR\n" +
	"markerBack\x12Q\n" +
	"\n" +
	"marker_top\x18\x03 \x01(\x0e22.Anki.Vector.external_interface.CustomObjectMarkerR\tmarkerTop\x12W\n" +
	"\rmarker_bottom\x18\x04 \x01(\x0e22.Anki.Vector.external_interface.CustomObjectMarkerR\fmarkerBottom\x12S\n" +
	"\vmarker_left\x18\x05 \x01(\x0e22.Anki.Vector.external_interface.CustomObjectMarkerR\n" +
	"markerLeft\x12U\n" +
	"\fmarker_right\x18\x06 \x01(\x0e22.Anki.Vector.external_interface.CustomObjectMarkerR\vmarkerRight\x12\x1a\n" +
	"\tx_size_mm\x18\a \x01(\x02R\axSizeMm\x12\x1a\n" +
	"\ty_size_mm\x18\b \x01(\x02R\aySizeMm\x12\x1a\n" +
	"\tz_size_mm\x18\t \x01(\x02R\azSizeMm\x12&\n" +
	"\x0fmarker_width_mm\x18\n" +
	" \x01(\x02R\rmarkerWidthMm\x12(\n" +
	"\x10marker_height_mm\x18\v \x01(\x02R\x0emarkerHeightMm\"\xcd\x01\n" +
	"\x14CustomCubeDefinition\x12J\n" +
	"\x06marker\x18\x01 \x01(\x0e22.Anki.Vector.external_interface.CustomObjectMarkerR\x06marker\x12\x17\n" +
	"\asize_mm\x18\x02 \x01(\x02R\x06sizeMm\x12&\n" +
	"\x0fmarker_width_mm\x18\x03 \x01(\x02R\rmarkerWidthMm\x12(\n" +
	"\x10marker_height_mm\x18\x04 \x01(\x02R\x0emarkerHeightMm\"\xec\x01\n" +
	"\x14CustomWallDefinition\x12J\n" +
	"\x06marker\x18\x01 \x01(\x0e22.Anki.Vector.external_interface.CustomObjectMarkerR\x06marker\x12\x19\n" +
	"\bwidth_mm\x18\x02 \x01(\x02R\awidthMm\x12\x1b\n" +
	"\theight_mm\x18\x03 \x01(\x02R\bheightMm\x12&\n" +
	"\x0fmarker_width_mm\x18\x04 \x01(\x02R\rmarkerWidthMm\x12(\n" +
	"\x10marker_height_mm\x18\x05 \x01(\x02R\x0emarkerHeightMm\"\xa9\x03\n" +
	"\x19DefineCustomObjectRequest\x12K\n" +
	"\vcustom_type\x18\x01 \x01(\x0e2*.Anki.Vector.external_interface.CustomTypeR\n" +
	"customType\x12\x1b\n" +
	"\tis_unique\x18\x02 \x01(\bR\bisUnique\x12T\n" +
	"\n" +
	"custom_box\x18\x03 \x01(\v23.Anki.Vector.external_interface.CustomBoxDefinitionH\x00R\tcustomBox\x12W\n" +
	"\vcustom_cube\x18\x04 \x01(\v24.Anki.Vector.external_interface.CustomCubeDefinitionH\x00R\n" +
	"customCube\x12W\n" +
	"\vcustom_wall\x18\x05 \x01(\v24.Anki.Vector.external_interface.CustomWallDefinitionH\x00R\n" +
	"customWallB\x1a\n" +
	"\x18custom_object_definition\"~\n" +
	"\x1aDefineCustomObjectResponse\x12F\n" +
	"\x06status\x18\x01 \x01(\v2..Anki.Vector.external_interface.ResponseStatusR\x06status\x12\x18\n" +
	"\asuccess\x18\x02 \x01(\bR\asuccess\"\xc2\x06\n" +
	"\vObjectEvent\x12\\\n" +
	"\x10object_available\x18\x01 \x01(\v2/.Anki.Vector.external_interface.ObjectAvailableH\x00R\x0fobjectAvailable\x12o\n" +
	"\x17object_connection_state\x18\x02 \x01(\v25.Anki.Vector.external_interface.ObjectConnectionStateH\x00R\x15objectConnectionState\x12P\n" +
	"\fobject_moved\x18\x03 \x01(\v2+.Anki.Vector.external_interface.ObjectMovedH\x00R\vobjectMoved\x12i\n" +
	"\x15object_stopped_moving\x18\x04 \x01(\v23.Anki.Vector.external_interface.ObjectStoppedMovingH\x00R\x13objectStoppedMoving\x12j\n" +
	"\x16object_up_axis_changed\x18\x05 \x01(\v23.Anki.Vector.external_interface.ObjectUpAxisChangedH\x00R\x13objectUpAxisChanged\x12S\n" +
	"\robject_tapped\x18\x06 \x01(\v2,.Anki.Vector.external_interface.ObjectTappedH\x00R\fobjectTapped\x12i\n" +
	"\x15robot_observed_object\x18\a \x01(\v23.Anki.Vector.external_interface.RobotObservedObjectH\x00R\x13robotObservedObject\x12f\n" +
	"\x14cube_connection_lost\x18\b \x01(\v22.Anki.Vector.external_interface.CubeConnectionLostH\x00R\x12cubeConnectionLostB\x13\n" +
	"\x11object_event_type*{\n" +
	"\n" +
	"ObjectType\x12\x12\n" +
	"\x0eINVALID_OBJECT\x10\x00\x12\x12\n" +
	"\x0eUNKNOWN_OBJECT\x10\x01\x12\x14\n" +
	"\x10BLOCK_LIGHTCUBE1\x10\x02\x12\x11\n" +
	"\rCHARGER_BASIC\x10\x06\x12\x1c\n" +
	"\x18FIRST_CUSTOM_OBJECT_TYPE\x10\x0f*\xd0\x03\n" +
	"\n" +
	"CustomType\x12\x17\n" +
	"\x13INVALID_CUSTOM_TYPE\x10\x00\x12\x12\n" +
	"\x0eCUSTOM_TYPE_00\x10\x01\x12\x12\n" +
	"\x0eCUSTOM_TYPE_01\x10\x02\x12\x12\n" +
	"\x0eCUSTOM_TYPE_02\x10\x03\x12\x12\n" +
	"\x0eCUSTOM_TYPE_03\x10\x04\x12\x12\n" +
	"\x0eCUSTOM_TYPE_04\x10\x05\x12\x12\n" +
	"\x0eCUSTOM_TYPE_05\x10\x06\x12\x12\n" +
	"\x0eCUSTOM_TYPE_06\x10\a\x12\x12\n" +
	"\x0eCUSTOM_TYPE_07\x10\b\x12\x12\n" +
	"\x0eCUSTOM_TYPE_08\x10\t\x12\x12\n" +
	"\x0eCUSTOM_TYPE_09\x10\n" +
	"\x12\x12\n" +
	"\x0eCUSTOM_TYPE_10\x10\v\x12\x12\n" +
	"\x0eCUSTOM_TYPE_11\x10\f\x12\x12\n" +
	"\x0eCUSTOM_TYPE_12\x10\r\x12\x12\n" +
	"\x0eCUSTOM_TYPE_13\x10\x0e\x12\x12\n" +
	"\x0eCUSTOM_TYPE_14\x10\x0f\x12\x12\n" +
	"\x0eCUSTOM_TYPE_15\x10\x10\x12\x12\n" +
	"\x0eCUSTOM_TYPE_16\x10\x11\x12\x12\n" +
	"\x0eCUSTOM_TYPE_17\x10\x12\x12\x12\n" +
	"\x0eCUSTOM_TYPE_18\x10\x13\x12\x12\n" +
	"\x0eCUSTOM_TYPE_19\x10\x14\x12\x15\n" +
	"\x11CUSTOM_TYPE_COUNT\x10\x14\x1a\x02\x10\x01*\x8e\x01\n" +
	"\fObjectFamily\x12\x12\n" +
	"\x0eINVALID_FAMILY\x10\x00\x12\x12\n" +
	"\x0eUNKNOWN_FAMILY\x10\x01\x12\t\n" +
	"\x05BLOCK\x10\x02\x12\x0e\n" +
	"\n" +
	"LIGHT_CUBE\x10\x03\x12\v\n" +
	"\aCHARGER\x10\x04\x12\x11\n" +
	"\rCUSTOM_OBJECT\x10\a\x12\x17\n" +
	"\x13OBJECT_FAMILY_COUNT\x10\a\x1a\x02\x10\x01*\x88\x01\n" +
	"\x06UpAxis\x12\x10\n" +
	"\fINVALID_AXIS\x10\x00\x12\x0e\n" +
	"\n" +
	"X_NEGATIVE\x10\x01\x12\x0e\n" +
	"\n" +
	"X_POSITIVE\x10\x02\x12\x0e\n" +
	"\n" +
	"Y_NEGATIVE\x10\x03\x12\x0e\n" +
	"\n" +
	"Y_POSITIVE\x10\x04\x12\x0e\n" +
	"\n" +
	"Z_NEGATIVE\x10\x05\x12\x0e\n" +
	"\n" +
	"Z_POSITIVE\x10\x06\x12\f\n" +
	"\bNUM_AXES\x10\a*P\n" +
	"\x0fObjectConstants\x12\x19\n" +
	"\x15OBJECT_CONSTANTS_NULL\x10\x00\x12\"\n" +
	"\x1eFIXED_CUSTOM_WALL_THICKNESS_MM\x10\n" +
	"*\xac\x04\n" +
	"\x12CustomObjectMarker\x12\x19\n" +
	"\x15CUSTOM_MARKER_UNKNOWN\x10\x00\x12\x1b\n" +
	"\x17CUSTOM_MARKER_CIRCLES_2\x10\x01\x12\x1b\n" +
	"\x17CUSTOM_MARKER_CIRCLES_3\x10\x02\x12\x1b\n" +
	"\x17CUSTOM_MARKER_CIRCLES_4\x10\x03\x12\x1b\n" +
	"\x17CUSTOM_MARKER_CIRCLES_5\x10\x04\x12\x1c\n" +
	"\x18CUSTOM_MARKER_DIAMONDS_2\x10\x05\x12\x1c\n" +
	"\x18CUSTOM_MARKER_DIAMONDS_3\x10\x06\x12\x1c\n" +
	"\x18CUSTOM_MARKER_DIAMONDS_4\x10\a\x12\x1c\n" +
	"\x18CUSTOM_MARKER_DIAMONDS_5\x10\b\x12\x1c\n" +
	"\x18CUSTOM_MARKER_HEXAGONS_2\x10\t\x12\x1c\n" +
	"\x18CUSTOM_MARKER_HEXAGONS_3\x10\n" +
	"\x12\x1c\n" +
	"\x18CUSTOM_MARKER_HEXAGONS_4\x10\v\x12\x1c\n" +
	"\x18CUSTOM_MARKER_HEXAGONS_5\x10\f\x12\x1d\n" +
	"\x19CUSTOM_MARKER_TRIANGLES_2\x10\r\x12\x1d\n" +
	"\x19CUSTOM_MARKER_TRIANGLES_3\x10\x0e\x12\x1d\n" +
	"\x19CUSTOM_MARKER_TRIANGLES_4\x10\x0f\x12\x1d\n" +
	"\x19CUSTOM_MARKER_TRIANGLES_5\x10\x10\x12\x17\n" +
	"\x13CUSTOM_MARKER_COUNT\x10\x10\x1a\x02\x10\x01*\xa4\x01\n" +
	"\x18CustomObjectDeletionMode\x12\x19\n" +
	"\x15DELETION_MASK_UNKNOWN\x10\x00\x12&\n" +
	"\"DELETION_MASK_FIXED_CUSTOM_OBJECTS\x10\x01\x12'\n" +
	"#DELETION_MASK_CUSTOM_MARKER_OBJECTS\x10\x02\x12\x1c\n" +
	"\x18DELETION_MASK_ARCHETYPES\x10\x03B Z\x1eAnki.Vector.external_interfaceb\x06proto3"

var (
	file_cube_proto_rawDescOnce sync.Once
	file_cube_proto_rawDescData []byte
)

func file_cube_proto_rawDescGZIP() []byte {
	file_cube_proto_rawDescOnce.Do(func() {
		file_cube_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_cube_proto_rawDesc), len(file_cube_proto_rawDesc)))
	})
	return file_cube_proto_rawDescData
}

var file_cube_proto_enumTypes = make([]protoimpl.EnumInfo, 8)
var file_cube_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
var file_cube_proto_goTypes = []any{
	(ObjectType)(0),                            // 0: Anki.Vector.external_interface.ObjectType
	(CustomType)(0),                            // 1: Anki.Vector.external_interface.CustomType
	(ObjectFamily)(0),                          // 2: Anki.Vector.external_interface.ObjectFamily
	(UpAxis)(0),                                // 3: Anki.Vector.external_interface.UpAxis
	(ObjectConstants)(0),                       // 4: Anki.Vector.external_interface.ObjectConstants
	(CustomObjectMarker)(0),                    // 5: Anki.Vector.external_interface.CustomObjectMarker
	(CustomObjectDeletionMode)(0),              // 6: Anki.Vector.external_interface.CustomObjectDeletionMode
	(SetCubeLightsRequest_MakeRelativeMode)(0), // 7: Anki.Vector.external_interface.SetCubeLightsRequest.MakeRelativeMode
	(*ConnectCubeRequest)(nil),                 // 8: Anki.Vector.external_interface.ConnectCubeRequest
	(*ConnectCubeResponse)(nil),                // 9: Anki.Vector.external_interface.ConnectCubeResponse
	(*CubesAvailableRequest)(nil),              // 10: Anki.Vector.external_interface.CubesAvailableRequest
	(*CubesAvailableResponse)(nil),             // 11: Anki.Vector.external_interface.CubesAvailableResponse
	(*DisconnectCubeRequest)(nil),              // 12: Anki.Vector.external_interface.DisconnectCubeRequest
	(*DisconnectCubeResponse)(nil),             // 13: Anki.Vector.external_interface.DisconnectCubeResponse
	(*FlashCubeLightsRequest)(nil),             // 14: Anki.Vector.external_interface.FlashCubeLightsRequest
	(*FlashCubeLightsResponse)(nil),            // 15: Anki.Vector.external_interface.FlashCubeLightsResponse
	(*ForgetPreferredCubeRequest)(nil),         // 16: Anki.Vector.external_interface.ForgetPreferredCubeRequest
	(*ForgetPreferredCubeResponse)(nil),        // 17: Anki.Vector.external_interface.ForgetPreferredCubeResponse
	(*SetPreferredCubeRequest)(nil),            // 18: Anki.Vector.external_interface.SetPreferredCubeRequest
	(*SetPreferredCubeResponse)(nil),           // 19: Anki.Vector.external_interface.SetPreferredCubeResponse
	(*SetCubeLightsRequest)(nil),               // 20: Anki.Vector.external_interface.SetCubeLightsRequest
	(*SetCubeLightsResponse)(nil),              // 21: Anki.Vector.external_interface.SetCubeLightsResponse
	(*ObjectAvailable)(nil),                    // 22: Anki.Vector.external_interface.ObjectAvailable
	(*ObjectConnectionState)(nil),              // 23: Anki.Vector.external_interface.ObjectConnectionState
	(*ObjectMoved)(nil),                        // 24: Anki.Vector.external_interface.ObjectMoved
	(*ObjectStoppedMoving)(nil),                // 25: Anki.Vector.external_interface.ObjectStoppedMoving
	(*ObjectUpAxisChanged)(nil),                // 26: Anki.Vector.external_interface.ObjectUpAxisChanged
	(*ObjectTapped)(nil),                       // 27: Anki.Vector.external_interface.ObjectTapped
	(*RobotObservedObject)(nil),                // 28: Anki.Vector.external_interface.RobotObservedObject
	(*CubeConnectionLost)(nil),                 // 29: Anki.Vector.external_interface.CubeConnectionLost
	(*DeleteCustomObjectsRequest)(nil),         // 30: Anki.Vector.external_interface.DeleteCustomObjectsRequest
	(*DeleteCustomObjectsResponse)(nil),        // 31: Anki.Vector.external_interface.DeleteCustomObjectsResponse
	(*CreateFixedCustomObjectRequest)(nil),     // 32: Anki.Vector.external_interface.CreateFixedCustomObjectRequest
	(*CreateFixedCustomObjectResponse)(nil),    // 33: Anki.Vector.external_interface.CreateFixedCustomObjectResponse
	(*CustomBoxDefinition)(nil),                // 34: Anki.Vector.external_interface.CustomBoxDefinition
	(*CustomCubeDefinition)(nil),               // 35: Anki.Vector.external_interface.CustomCubeDefinition
	(*CustomWallDefinition)(nil),               // 36: Anki.Vector.external_interface.CustomWallDefinition
	(*DefineCustomObjectRequest)(nil),          // 37: Anki.Vector.external_interface.DefineCustomObjectRequest
	(*DefineCustomObjectResponse)(nil),         // 38: Anki.Vector.external_interface.DefineCustomObjectResponse
	(*ObjectEvent)(nil),                        // 39: Anki.Vector.external_interface.ObjectEvent
	(*ResponseStatus)(nil),                     // 40: Anki.Vector.external_interface.ResponseStatus
	(*CladRect)(nil),                           // 41: Anki.Vector.external_interface.CladRect
	(*PoseStruct)(nil),                         // 42: Anki.Vector.external_interface.PoseStruct
}
var file_cube_proto_depIdxs = []int32{
	40, // 0: Anki.Vector.external_interface.ConnectCubeResponse.status:type_name -> Anki.Vector.external_interface.ResponseStatus
	40, // 1: Anki.Vector.external_interface.CubesAvailableResponse.status:type_name -> Anki.Vector.external_interface.ResponseStatus
	40, // 2: Anki.Vector.external_interface.DisconnectCubeResponse.status:type_name -> Anki.Vector.external_interface.ResponseStatus
	40, // 3: Anki.Vector.external_interface.FlashCubeLightsResponse.status:type_name -> Anki.Vector.external_interface.ResponseStatus
	40, // 4: Anki.Vector.external_interface.ForgetPreferredCubeResponse.status:type_name -> Anki.Vector.external_interface.ResponseStatus
	40, // 5: Anki.Vector.external_interface.SetPreferredCubeResponse.status:type_name -> Anki.Vector.external_interface.ResponseStatus
	7,  // 6: Anki.Vector.external_interface.SetCubeLightsRequest.make_relative:type_name -> Anki.Vector.external_interface.SetCubeLightsRequest.MakeRelativeMode
	40, // 7: Anki.Vector.external_interface.SetCubeLightsResponse.status:type_name -> Anki.Vector.external_interface.ResponseStatus
	0,  // 8: Anki.Vector.external_interface.ObjectConnectionState.object_type:type_name -> Anki.Vector.external_interface.ObjectType
	3,  // 9: Anki.Vector.external_interface.ObjectUpAxisChanged.up_axis:type_name -> Anki.Vector.external_interface.UpAxis
	2,  // 10: Anki.Vector.external_interface.RobotObservedObject.object_family:type_name -> Anki.Vector.external_interface.ObjectFamily
	0,  // 11: Anki.Vector.external_interface.RobotObservedObject.object_type:type_name -> Anki.Vector.external_interface.ObjectType
	41, // 12: Anki.Vector.external_interface.RobotObservedObject.img_rect:type_name -> Anki.Vector.external_interface.CladRect
	42, // 13: Anki.Vector.external_interface.RobotObservedObject.pose:type_name -> Anki.Vector.external_interface.PoseStruct
	6,  // 14: Anki.Vector.external_interface.DeleteCustomObjectsRequest.mode:type_name -> Anki.Vector.external_interface.CustomObjectDeletionMode
	40, // 15: Anki.Vector.external_interface.DeleteCustomObjectsResponse.status:type_name -> Anki.Vector.external_interface.ResponseStatus
	42, // 16: Anki.Vector.external_interface.CreateFixedCustomObjectRequest.pose:type_name -> Anki.Vector.external_interface.PoseStruct
	40, // 17: Anki.Vector.external_interface.CreateFixedCustomObjectResponse.status:type_name -> Anki.Vector.external_interface.ResponseStatus
	5,  // 18: Anki.Vector.external_interface.CustomBoxDefinition.marker_front:type_name -> Anki.Vector.external_interface.CustomObjectMarker
	5,  // 19: Anki.Vector.external_interface.CustomBoxDefinition.marker_back:type_name -> Anki.Vector.external_interface.CustomObjectMarker
	5,  // 20: Anki.Vector.external_interface.CustomBoxDefinition.marker_top:type_name -> Anki.Vector.external_interface.CustomObjectMarker
	5,  // 21: Anki.Vector.external_interface.CustomBoxDefinition.marker_bottom:type_name -> Anki.Vector.external_interface.CustomObjectMarker
	5,  // 22: Anki.Vector.external_interface.CustomBoxDefinition.marker_left:type_name -> Anki.Vector.external_interface.CustomObjectMarker
	5,  // 23: Anki.Vector.external_interface.CustomBoxDefinition.marker_right:type_name -> Anki.Vector.external_interface.CustomObjectMarker
	5,  // 24: Anki.Vector.external_interface.CustomCubeDefinition.marker:type_name -> Anki.Vector.external_interface.CustomObjectMarker
	5,  // 25: Anki.Vector.external_interface.CustomWallDefinition.marker:type_name -> Anki.Vector.external_interface.CustomObjectMarker
	1,  // 26: Anki.Vector.external_interface.DefineCustomObjectRequest.custom_type:type_name -> Anki.Vector.external_interface.CustomType
	34, // 27: Anki.Vector.external_interface.DefineCustomObjectRequest.custom_box:type_name -> Anki.Vector.external_interface.CustomBoxDefinition
	35, // 28: Anki.Vector.external_interface.DefineCustomObjectRequest.custom_cube:type_name -> Anki.Vector.external_interface.CustomCubeDefinition
	36, // 29: Anki.Vector.external_interface.DefineCustomObjectRequest.custom_wall:type_name -> Anki.Vector.external_interface.CustomWallDefinition
	40, // 30: Anki.Vector.external_interface.DefineCustomObjectResponse.status:type_name -> Anki.Vector.external_interface.ResponseStatus
	22, // 31: Anki.Vector.external_interface.ObjectEvent.object_available:type_name -> Anki.Vector.external_interface.ObjectAvailable
	23, // 32: Anki.Vector.external_interface.ObjectEvent.object_connection_state:type_name -> Anki.Vector.external_interface.ObjectConnectionState
	24, // 33: Anki.Vector.external_interface.ObjectEvent.object_moved:type_name -> Anki.Vector.external_interface.ObjectMoved
	25, // 34: Anki.Vector.external_interface.ObjectEvent.object_stopped_moving:type_name -> Anki.Vector.external_interface.ObjectStoppedMoving
	26, // 35: Anki.Vector.external_interface.ObjectEvent.object_up_axis_changed:type_name -> Anki.Vector.external_interface.ObjectUpAxisChanged
	27, // 36: Anki.Vector.external_interface.ObjectEvent.object_tapped:type_name -> Anki.Vector.external_interface.ObjectTapped
	28, // 37: Anki.Vector.external_interface.ObjectEvent.robot_observed_object:type_name -> Anki.Vector.external_interface.RobotObservedObject
	29, // 38: Anki.Vector.external_interface.ObjectEvent.cube_connection_lost:type_name -> Anki.Vector.external_interface.CubeConnectionLost
	39, // [39:39] is the sub-list for method output_type
	39, // [39:39] is the sub-list for method input_type
	39, // [39:39] is the sub-list for extension type_name
	39, // [39:39] is the sub-list for extension extendee
	0,  // [0:39] is the sub-list for field type_name
}

func init() { file_cube_proto_init() }
func file_cube_proto_init() {
	if File_cube_proto != nil {
		return
	}
	file_messages_proto_init()
	file_response_status_proto_init()
	file_cube_proto_msgTypes[29].OneofWrappers = []any{
		(*DefineCustomObjectRequest_CustomBox)(nil),
		(*DefineCustomObjectRequest_CustomCube)(nil),
		(*DefineCustomObjectRequest_CustomWall)(nil),
	}
	file_cube_proto_msgTypes[31].OneofWrappers = []any{
		(*ObjectEvent_ObjectAvailable)(nil),
		(*ObjectEvent_ObjectConnectionState)(nil),
		(*ObjectEvent_ObjectMoved)(nil),
		(*ObjectEvent_ObjectStoppedMoving)(nil),
		(*ObjectEvent_ObjectUpAxisChanged)(nil),
		(*ObjectEvent_ObjectTapped)(nil),
		(*ObjectEvent_RobotObservedObject)(nil),
		(*ObjectEvent_CubeConnectionLost)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_cube_proto_rawDesc), len(file_cube_proto_rawDesc)),
			NumEnums:      8,
			NumMessages:   32,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_cube_proto_goTypes,
		DependencyIndexes: file_cube_proto_depIdxs,
		EnumInfos:         file_cube_proto_enumTypes,
		MessageInfos:      file_cube_proto_msgTypes,
	}.Build()
	File_cube_proto = out.File
	file_cube_proto_goTypes = nil
	file_cube_proto_depIdxs = nil
}
