// This file generated for packaging, do not edit.
// To edit, see original source:
// /home/runner/work/farm-ng-core/farm-ng-core/protos/farm_ng/core/recorder.proto.
//
//    Copyright 2022, farm-ng 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 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.

syntax = "proto3";

import "farm_ng/core/event_service.proto";
import "farm_ng/core/timestamp.proto";
import "google/protobuf/struct.proto";

package farm_ng.core.proto;

enum AnnotationKind {
    ANNOTATION_UNKNOWN = 0;
    ANNOTATION_ROW_START = 1;
    ANNOTATION_ROW_END = 2;
    ANNOTATION_PATH_START = 3;
    ANNOTATION_PATH_END = 4;
    ANNOTATION_WAYPOINT = 5;
    ANNOTATION_NOTE = 6;
}

message RecorderProfile {
    string name = 1;
    repeated SubscribeRequest subscriptions = 2;
    google.protobuf.Struct metadata = 3;
}

// A message that can be used to live annotate a recording.

message RecorderAnnotation {
    repeated farm_ng.core.proto.Timestamp stamps = 1; // The timestamp of the annotation.
    AnnotationKind kind = 2; // The kind of annotation.
    string message = 3; // An optional message of the annotation. E.g., "Start of row 1".
}
