railbird-gql/rbproto/shot.proto
2024-09-10 13:31:57 -07:00

65 lines
1.1 KiB
Protocol Buffer

syntax = "proto3";
package serialized_shot;
message Box {
float left = 1;
float top = 2;
float width = 3;
float height = 4;
}
message Point {
float x = 1;
float y = 2;
}
message BallDetection {
Point plane_position = 1;
Box annotation = 2;
bool interpolated = 3;
}
message RLEBallDetection {
BallDetection detection = 1;
uint32 count = 2;
}
message RLEDetectionHistory {
repeated RLEBallDetection detections = 1;
}
message DetectionHistory {
repeated BallDetection detections = 1;
}
message CollisionInfo {
uint32 source = 1;
map<uint32, Point> ball_identifiers = 2;
uint32 wall_identifier = 3;
uint32 frame_index = 4;
bool static = 5;
}
message Path {
uint32 start_frame = 1;
uint32 end_frame = 2;
oneof detection_history {
DetectionHistory detections = 3;
RLEDetectionHistory rle_detections = 4;
bool not_present = 5;
}
bool is_static = 6;
CollisionInfo start_info = 7;
CollisionInfo end_info = 8;
}
message IdentifierHistory {
uint32 ball_identifier = 1;
repeated Path paths = 2;
}
message Shot {
repeated IdentifierHistory identifier_histories = 3;
}