The idea is to allow relatively flexible visualisations in the browser, while minimising rendering load on the server.
28 lines
569 B
Protocol Buffer
28 lines
569 B
Protocol Buffer
syntax = "proto3";
|
|
|
|
import "figure_type/line.proto";
|
|
import "figure_type/heatmap.proto";
|
|
|
|
message Figure {
|
|
string uuid = 1;
|
|
string title = 2;
|
|
string x_label = 3;
|
|
string y_label = 4;
|
|
}
|
|
|
|
message FigureData {
|
|
string uuid = 1;
|
|
oneof figure {
|
|
LineChartData line = 2;
|
|
HeatmapData heatmap = 3;
|
|
}
|
|
}
|
|
|
|
message FigureRequest {}
|
|
message FigureDataRequest { string uuid = 1; }
|
|
|
|
service FigureService {
|
|
rpc GetFigure(FigureRequest) returns (stream Figure) {}
|
|
rpc GetFigureUpdate(FigureDataRequest) returns (stream FigureData) {}
|
|
}
|