syntax = "proto3"; // playing around with ideas here package gitpb; // import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp import "google/protobuf/any.proto"; // Import 'Any' message Size { int64 width = 1; int64 height = 2; } message Location { int64 x = 1; int64 y = 2; } message Tree { Widget parent = 1; repeated Widget children = 2; } message Widget { int64 id = 1; string name = 2; int64 size = 3; // Size size = 3; // Location location = 4; // string color = 5; // google.protobuf.Any TK = 6; // google.protobuf.Any val = 7; } message Widgets { string uuid = 1; // `autogenpb:uuid:0331fcd7-3c8c-43e4-be1b-77db6a6bc58c` string version = 2; // `autogenpb:version:v1` repeated Widget Widgets = 3; }