luminarycloud 0.20.0__py3-none-any.whl → 0.22.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. luminarycloud/__init__.py +5 -1
  2. luminarycloud/_client/client.py +5 -0
  3. luminarycloud/_client/http_client.py +10 -8
  4. luminarycloud/_feature_flag.py +22 -0
  5. luminarycloud/_helpers/_create_simulation.py +7 -2
  6. luminarycloud/_helpers/_upload_mesh.py +1 -0
  7. luminarycloud/_helpers/download.py +3 -1
  8. luminarycloud/_helpers/pagination.py +62 -0
  9. luminarycloud/_helpers/proto_decorator.py +13 -5
  10. luminarycloud/_helpers/upload.py +18 -12
  11. luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2.py +55 -0
  12. luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2.pyi +52 -0
  13. luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2_grpc.py +72 -0
  14. luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2_grpc.pyi +35 -0
  15. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +168 -124
  16. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +133 -4
  17. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.py +66 -0
  18. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.pyi +20 -0
  19. luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2.py +8 -8
  20. luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2.pyi +5 -5
  21. luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.py +74 -73
  22. luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.pyi +17 -3
  23. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +33 -20
  24. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +21 -1
  25. luminarycloud/_proto/api/v0/luminarycloud/project/project_pb2.py +16 -16
  26. luminarycloud/_proto/api/v0/luminarycloud/project/project_pb2.pyi +7 -3
  27. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +97 -61
  28. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +72 -3
  29. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.py +34 -0
  30. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.pyi +12 -0
  31. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.py +33 -31
  32. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.pyi +23 -2
  33. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +68 -19
  34. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +98 -0
  35. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.py +33 -0
  36. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.pyi +10 -0
  37. luminarycloud/_proto/assistant/assistant_pb2.py +74 -41
  38. luminarycloud/_proto/assistant/assistant_pb2.pyi +64 -2
  39. luminarycloud/_proto/assistant/assistant_pb2_grpc.py +33 -0
  40. luminarycloud/_proto/assistant/assistant_pb2_grpc.pyi +10 -0
  41. luminarycloud/_proto/base/base_pb2.py +20 -7
  42. luminarycloud/_proto/base/base_pb2.pyi +38 -0
  43. luminarycloud/_proto/cad/shape_pb2.py +39 -19
  44. luminarycloud/_proto/cad/shape_pb2.pyi +86 -34
  45. luminarycloud/_proto/cad/transformation_pb2.py +60 -16
  46. luminarycloud/_proto/cad/transformation_pb2.pyi +138 -32
  47. luminarycloud/_proto/client/simulation_pb2.py +490 -348
  48. luminarycloud/_proto/client/simulation_pb2.pyi +570 -8
  49. luminarycloud/_proto/geometry/geometry_pb2.py +77 -63
  50. luminarycloud/_proto/geometry/geometry_pb2.pyi +42 -3
  51. luminarycloud/_proto/hexmesh/hexmesh_pb2.py +24 -18
  52. luminarycloud/_proto/hexmesh/hexmesh_pb2.pyi +23 -2
  53. luminarycloud/_proto/inferenceservice/inferenceservice_pb2.py +10 -10
  54. luminarycloud/_proto/inferenceservice/inferenceservice_pb2.pyi +5 -5
  55. luminarycloud/_proto/quantity/quantity_options_pb2.py +6 -6
  56. luminarycloud/_proto/quantity/quantity_options_pb2.pyi +10 -1
  57. luminarycloud/_proto/quantity/quantity_pb2.py +176 -167
  58. luminarycloud/_proto/quantity/quantity_pb2.pyi +11 -5
  59. luminarycloud/enum/__init__.py +1 -0
  60. luminarycloud/enum/gpu_type.py +2 -0
  61. luminarycloud/enum/quantity_type.py +9 -0
  62. luminarycloud/enum/vis_enums.py +23 -3
  63. luminarycloud/feature_modification.py +45 -35
  64. luminarycloud/geometry.py +104 -8
  65. luminarycloud/geometry_version.py +57 -3
  66. luminarycloud/meshing/mesh_generation_params.py +8 -8
  67. luminarycloud/params/enum/_enum_wrappers.py +537 -30
  68. luminarycloud/params/simulation/adaptive_mesh_refinement_.py +4 -0
  69. luminarycloud/params/simulation/physics/__init__.py +0 -1
  70. luminarycloud/params/simulation/physics/periodic_pair_.py +12 -31
  71. luminarycloud/physics_ai/architectures.py +5 -5
  72. luminarycloud/physics_ai/inference.py +13 -13
  73. luminarycloud/physics_ai/solution.py +3 -1
  74. luminarycloud/pipelines/__init__.py +11 -3
  75. luminarycloud/pipelines/api.py +240 -4
  76. luminarycloud/pipelines/arguments.py +15 -0
  77. luminarycloud/pipelines/core.py +113 -96
  78. luminarycloud/pipelines/{operators.py → stages.py} +96 -39
  79. luminarycloud/project.py +15 -47
  80. luminarycloud/simulation.py +66 -3
  81. luminarycloud/simulation_param.py +0 -9
  82. luminarycloud/types/matrix3.py +12 -0
  83. luminarycloud/vis/__init__.py +2 -0
  84. luminarycloud/vis/interactive_report.py +79 -93
  85. luminarycloud/vis/report.py +219 -65
  86. luminarycloud/vis/visualization.py +60 -0
  87. luminarycloud/volume_selection.py +132 -69
  88. {luminarycloud-0.20.0.dist-info → luminarycloud-0.22.0.dist-info}/METADATA +1 -1
  89. {luminarycloud-0.20.0.dist-info → luminarycloud-0.22.0.dist-info}/RECORD +90 -89
  90. luminarycloud/params/simulation/physics/periodic_pair/__init__.py +0 -2
  91. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/__init__.py +0 -2
  92. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/rotational_periodicity_.py +0 -31
  93. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/translational_periodicity_.py +0 -29
  94. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type_.py +0 -25
  95. {luminarycloud-0.20.0.dist-info → luminarycloud-0.22.0.dist-info}/WHEEL +0 -0
@@ -10,6 +10,7 @@ import google.protobuf.internal.enum_type_wrapper
10
10
  import google.protobuf.message
11
11
  import google.protobuf.timestamp_pb2
12
12
  import luminarycloud._proto.api.v0.luminarycloud.common.common_pb2
13
+ import luminarycloud._proto.api.v0.luminarycloud.simulation_template.simulation_template_pb2
13
14
  import luminarycloud._proto.base.base_pb2
14
15
  import luminarycloud._proto.client.simulation_pb2
15
16
  import luminarycloud._proto.output.output_pb2
@@ -182,11 +183,15 @@ class SimulationOptions(google.protobuf.message.Message):
182
183
  GPU_TYPE_UNSPECIFIED: SimulationOptions._GPUType.ValueType # 0
183
184
  GPU_TYPE_V100: SimulationOptions._GPUType.ValueType # 1
184
185
  GPU_TYPE_A100: SimulationOptions._GPUType.ValueType # 2
186
+ GPU_TYPE_T4: SimulationOptions._GPUType.ValueType # 3
187
+ GPU_TYPE_H100: SimulationOptions._GPUType.ValueType # 4
185
188
 
186
189
  class GPUType(_GPUType, metaclass=_GPUTypeEnumTypeWrapper): ...
187
190
  GPU_TYPE_UNSPECIFIED: SimulationOptions.GPUType.ValueType # 0
188
191
  GPU_TYPE_V100: SimulationOptions.GPUType.ValueType # 1
189
192
  GPU_TYPE_A100: SimulationOptions.GPUType.ValueType # 2
193
+ GPU_TYPE_T4: SimulationOptions.GPUType.ValueType # 3
194
+ GPU_TYPE_H100: SimulationOptions.GPUType.ValueType # 4
190
195
 
191
196
  BATCH_PROCESSING_FIELD_NUMBER: builtins.int
192
197
  GPU_TYPE_FIELD_NUMBER: builtins.int
@@ -226,6 +231,7 @@ class CreateSimulationRequest(google.protobuf.message.Message):
226
231
  SIMULATION_PARAM_JSON_FIELD_NUMBER: builtins.int
227
232
  DESCRIPTION_FIELD_NUMBER: builtins.int
228
233
  NAMED_VARIABLE_SET_VERSION_ID_FIELD_NUMBER: builtins.int
234
+ SIMULATION_TEMPLATE_FIELD_NUMBER: builtins.int
229
235
  project_id: builtins.str
230
236
  """Required. Project ID associated with this simulation."""
231
237
  mesh_id: builtins.str
@@ -235,7 +241,9 @@ class CreateSimulationRequest(google.protobuf.message.Message):
235
241
  Maximum allowed length is 256 characters.
236
242
  """
237
243
  simulation_template_id: builtins.str
238
- """Required. The simulation template ID containing the FVM parameters."""
244
+ """Optional. The simulation template ID containing the FVM parameters. Must be provided unless
245
+ simulation_template is provided.
246
+ """
239
247
  @property
240
248
  def simulation_options(self) -> global___SimulationOptions:
241
249
  """Optional. Various settings to configure how a simulation is run."""
@@ -257,6 +265,13 @@ class CreateSimulationRequest(google.protobuf.message.Message):
257
265
  """Named Variable Set Version ID.
258
266
  Used to resolve Named variables in the simulation template.
259
267
  """
268
+ @property
269
+ def simulation_template(self) -> luminarycloud._proto.api.v0.luminarycloud.simulation_template.simulation_template_pb2.SimulationTemplate:
270
+ """Optional. The simulation template to use for the simulation. This is an alternative to passing the
271
+ simulation_template_id, but it is not recommended since the SimulationTemplate schema evolves
272
+ over time, and we do not guarantee backwards compatibility. Passing the simulation_template_id
273
+ is the recommended way to create a simulation.
274
+ """
260
275
  def __init__(
261
276
  self,
262
277
  *,
@@ -269,9 +284,10 @@ class CreateSimulationRequest(google.protobuf.message.Message):
269
284
  simulation_param_json: builtins.bytes = ...,
270
285
  description: builtins.str = ...,
271
286
  named_variable_set_version_id: builtins.str = ...,
287
+ simulation_template: luminarycloud._proto.api.v0.luminarycloud.simulation_template.simulation_template_pb2.SimulationTemplate | None = ...,
272
288
  ) -> None: ...
273
- def HasField(self, field_name: typing_extensions.Literal["simulation_options", b"simulation_options", "simulation_param", b"simulation_param"]) -> builtins.bool: ...
274
- def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "mesh_id", b"mesh_id", "name", b"name", "named_variable_set_version_id", b"named_variable_set_version_id", "project_id", b"project_id", "simulation_options", b"simulation_options", "simulation_param", b"simulation_param", "simulation_param_json", b"simulation_param_json", "simulation_template_id", b"simulation_template_id"]) -> None: ...
289
+ def HasField(self, field_name: typing_extensions.Literal["simulation_options", b"simulation_options", "simulation_param", b"simulation_param", "simulation_template", b"simulation_template"]) -> builtins.bool: ...
290
+ def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "mesh_id", b"mesh_id", "name", b"name", "named_variable_set_version_id", b"named_variable_set_version_id", "project_id", b"project_id", "simulation_options", b"simulation_options", "simulation_param", b"simulation_param", "simulation_param_json", b"simulation_param_json", "simulation_template", b"simulation_template", "simulation_template_id", b"simulation_template_id"]) -> None: ...
275
291
 
276
292
  global___CreateSimulationRequest = CreateSimulationRequest
277
293
 
@@ -781,3 +797,56 @@ class ListQueuedSimulationsResponse(google.protobuf.message.Message):
781
797
  def ClearField(self, field_name: typing_extensions.Literal["next_page_token", b"next_page_token", "simulations", b"simulations", "total_count", b"total_count"]) -> None: ...
782
798
 
783
799
  global___ListQueuedSimulationsResponse = ListQueuedSimulationsResponse
800
+
801
+ class GetWorkflowIDsRequest(google.protobuf.message.Message):
802
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
803
+
804
+ SIMULATION_IDS_FIELD_NUMBER: builtins.int
805
+ @property
806
+ def simulation_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
807
+ """Required. The simulation IDs to look up the workflow IDs for."""
808
+ def __init__(
809
+ self,
810
+ *,
811
+ simulation_ids: collections.abc.Iterable[builtins.str] | None = ...,
812
+ ) -> None: ...
813
+ def ClearField(self, field_name: typing_extensions.Literal["simulation_ids", b"simulation_ids"]) -> None: ...
814
+
815
+ global___GetWorkflowIDsRequest = GetWorkflowIDsRequest
816
+
817
+ class GetWorkflowIDsResponse(google.protobuf.message.Message):
818
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
819
+
820
+ class DataEntry(google.protobuf.message.Message):
821
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
822
+
823
+ KEY_FIELD_NUMBER: builtins.int
824
+ VALUE_FIELD_NUMBER: builtins.int
825
+ key: builtins.str
826
+ value: builtins.str
827
+ def __init__(
828
+ self,
829
+ *,
830
+ key: builtins.str = ...,
831
+ value: builtins.str = ...,
832
+ ) -> None: ...
833
+ def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
834
+
835
+ DATA_FIELD_NUMBER: builtins.int
836
+ @property
837
+ def data(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
838
+ """The mapping from simulation ID to workflow ID.
839
+ Only simulation IDs that were successfully resolved to workflow IDs will be present as keys.
840
+ Simulation IDs are omitted if:
841
+ - The simulation ID does not exist
842
+ - The user lacks access to the simulation's project
843
+ - The simulation has no associated workflow ID
844
+ """
845
+ def __init__(
846
+ self,
847
+ *,
848
+ data: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
849
+ ) -> None: ...
850
+ def ClearField(self, field_name: typing_extensions.Literal["data", b"data"]) -> None: ...
851
+
852
+ global___GetWorkflowIDsResponse = GetWorkflowIDsResponse
@@ -77,6 +77,11 @@ class SimulationServiceStub(object):
77
77
  request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_simulation_dot_simulation__pb2.ListQueuedSimulationsRequest.SerializeToString,
78
78
  response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_simulation_dot_simulation__pb2.ListQueuedSimulationsResponse.FromString,
79
79
  )
80
+ self.GetWorkflowIDs = channel.unary_unary(
81
+ '/luminary.proto.api.v0.luminarycloud.simulation.SimulationService/GetWorkflowIDs',
82
+ request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_simulation_dot_simulation__pb2.GetWorkflowIDsRequest.SerializeToString,
83
+ response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_simulation_dot_simulation__pb2.GetWorkflowIDsResponse.FromString,
84
+ )
80
85
 
81
86
 
82
87
  class SimulationServiceServicer(object):
@@ -177,6 +182,13 @@ class SimulationServiceServicer(object):
177
182
  context.set_details('Method not implemented!')
178
183
  raise NotImplementedError('Method not implemented!')
179
184
 
185
+ def GetWorkflowIDs(self, request, context):
186
+ """Returns the workflow IDs corresponding to simulation IDs.
187
+ """
188
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
189
+ context.set_details('Method not implemented!')
190
+ raise NotImplementedError('Method not implemented!')
191
+
180
192
 
181
193
  def add_SimulationServiceServicer_to_server(servicer, server):
182
194
  rpc_method_handlers = {
@@ -240,6 +252,11 @@ def add_SimulationServiceServicer_to_server(servicer, server):
240
252
  request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_simulation_dot_simulation__pb2.ListQueuedSimulationsRequest.FromString,
241
253
  response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_simulation_dot_simulation__pb2.ListQueuedSimulationsResponse.SerializeToString,
242
254
  ),
255
+ 'GetWorkflowIDs': grpc.unary_unary_rpc_method_handler(
256
+ servicer.GetWorkflowIDs,
257
+ request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_simulation_dot_simulation__pb2.GetWorkflowIDsRequest.FromString,
258
+ response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_simulation_dot_simulation__pb2.GetWorkflowIDsResponse.SerializeToString,
259
+ ),
243
260
  }
244
261
  generic_handler = grpc.method_handlers_generic_handler(
245
262
  'luminary.proto.api.v0.luminarycloud.simulation.SimulationService', rpc_method_handlers)
@@ -454,3 +471,20 @@ class SimulationService(object):
454
471
  proto_dot_api_dot_v0_dot_luminarycloud_dot_simulation_dot_simulation__pb2.ListQueuedSimulationsResponse.FromString,
455
472
  options, channel_credentials,
456
473
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
474
+
475
+ @staticmethod
476
+ def GetWorkflowIDs(request,
477
+ target,
478
+ options=(),
479
+ channel_credentials=None,
480
+ call_credentials=None,
481
+ insecure=False,
482
+ compression=None,
483
+ wait_for_ready=None,
484
+ timeout=None,
485
+ metadata=None):
486
+ return grpc.experimental.unary_unary(request, target, '/luminary.proto.api.v0.luminarycloud.simulation.SimulationService/GetWorkflowIDs',
487
+ proto_dot_api_dot_v0_dot_luminarycloud_dot_simulation_dot_simulation__pb2.GetWorkflowIDsRequest.SerializeToString,
488
+ proto_dot_api_dot_v0_dot_luminarycloud_dot_simulation_dot_simulation__pb2.GetWorkflowIDsResponse.FromString,
489
+ options, channel_credentials,
490
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -88,6 +88,11 @@ class SimulationServiceStub:
88
88
  """Lists simulations in the queue for the account of the requester. Only
89
89
  available for accounts with unlimited billing type.
90
90
  """
91
+ GetWorkflowIDs: grpc.UnaryUnaryMultiCallable[
92
+ luminarycloud._proto.api.v0.luminarycloud.simulation.simulation_pb2.GetWorkflowIDsRequest,
93
+ luminarycloud._proto.api.v0.luminarycloud.simulation.simulation_pb2.GetWorkflowIDsResponse,
94
+ ]
95
+ """Returns the workflow IDs corresponding to simulation IDs."""
91
96
 
92
97
  class SimulationServiceServicer(metaclass=abc.ABCMeta):
93
98
  """Provides APIs for running simulations and retrieve outputs."""
@@ -192,5 +197,12 @@ class SimulationServiceServicer(metaclass=abc.ABCMeta):
192
197
  """Lists simulations in the queue for the account of the requester. Only
193
198
  available for accounts with unlimited billing type.
194
199
  """
200
+ @abc.abstractmethod
201
+ def GetWorkflowIDs(
202
+ self,
203
+ request: luminarycloud._proto.api.v0.luminarycloud.simulation.simulation_pb2.GetWorkflowIDsRequest,
204
+ context: grpc.ServicerContext,
205
+ ) -> luminarycloud._proto.api.v0.luminarycloud.simulation.simulation_pb2.GetWorkflowIDsResponse:
206
+ """Returns the workflow IDs corresponding to simulation IDs."""
195
207
 
196
208
  def add_SimulationServiceServicer_to_server(servicer: SimulationServiceServicer, server: grpc.Server) -> None: ...
@@ -16,9 +16,11 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
16
16
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
17
17
  from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
18
18
  from luminarycloud._proto.client import simulation_pb2 as proto_dot_client_dot_simulation__pb2
19
+ from luminarycloud._proto.frontend.output import output_pb2 as proto_dot_frontend_dot_output_dot_output__pb2
20
+ from luminarycloud._proto.api.v0.luminarycloud.stopping_condition import stopping_condition_pb2 as proto_dot_api_dot_v0_dot_luminarycloud_dot_stopping__condition_dot_stopping__condition__pb2
19
21
 
20
22
 
21
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nHproto/api/v0/luminarycloud/simulation_template/simulation_template.proto\x12\x37luminary.proto.api.v0.luminarycloud.simulation_template\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1dproto/client/simulation.proto\"\xe0\x01\n\x12SimulationTemplate\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12:\n\nparameters\x18\x03 \x01(\x0b\x32&.luminary.proto.client.SimulationParam\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nproject_id\x18\x06 \x01(\t\"\xa5\x01\n\x1f\x43reateSimulationTemplateRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12:\n\nparameters\x18\x03 \x01(\x0b\x32&.luminary.proto.client.SimulationParam\x12\x16\n\tcopy_from\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x0c\n\n_copy_from\"\x8c\x01\n CreateSimulationTemplateResponse\x12h\n\x13simulation_template\x18\x01 \x01(\x0b\x32K.luminary.proto.api.v0.luminarycloud.simulation_template.SimulationTemplate\"4\n\x1eListSimulationTemplatesRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"\x8c\x01\n\x1fListSimulationTemplatesResponse\x12i\n\x14simulation_templates\x18\x01 \x03(\x0b\x32K.luminary.proto.api.v0.luminarycloud.simulation_template.SimulationTemplate\"*\n\x1cGetSimulationTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x89\x01\n\x1dGetSimulationTemplateResponse\x12h\n\x13simulation_template\x18\x01 \x01(\x0b\x32K.luminary.proto.api.v0.luminarycloud.simulation_template.SimulationTemplate\"\xbf\x01\n\x1fUpdateSimulationTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12?\n\nparameters\x18\x03 \x01(\x0b\x32&.luminary.proto.client.SimulationParamH\x01\x88\x01\x01\x12\x16\n\tcopy_from\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_nameB\r\n\x0b_parametersB\x0c\n\n_copy_from\"\x8c\x01\n UpdateSimulationTemplateResponse\x12h\n\x13simulation_template\x18\x01 \x01(\x0b\x32K.luminary.proto.api.v0.luminarycloud.simulation_template.SimulationTemplate\"-\n\x1f\x44\x65leteSimulationTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"/\n!ValidateSimulationTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"H\n\"ValidateSimulationTemplateResponse\x12\x10\n\x08is_valid\x18\x01 \x01(\x08\x12\x10\n\x08messages\x18\x02 \x03(\t\"/\n!SyncSimulationTemplateToUIRequest\x12\n\n\x02id\x18\x01 \x01(\t\"$\n\"SyncSimulationTemplateToUIResponse2\xe3\r\n\x19SimulationTemplateService\x12\x8a\x02\n\x18\x43reateSimulationTemplate\x12X.luminary.proto.api.v0.luminarycloud.simulation_template.CreateSimulationTemplateRequest\x1aY.luminary.proto.api.v0.luminarycloud.simulation_template.CreateSimulationTemplateResponse\"9\x82\xd3\xe4\x93\x02\x33\"./v0/projects/{project_id}/simulation_templates:\x01*\x12\x84\x02\n\x17ListSimulationTemplates\x12W.luminary.proto.api.v0.luminarycloud.simulation_template.ListSimulationTemplatesRequest\x1aX.luminary.proto.api.v0.luminarycloud.simulation_template.ListSimulationTemplatesResponse\"6\x82\xd3\xe4\x93\x02\x30\x12./v0/projects/{project_id}/simulation_templates\x12\xed\x01\n\x15GetSimulationTemplate\x12U.luminary.proto.api.v0.luminarycloud.simulation_template.GetSimulationTemplateRequest\x1aV.luminary.proto.api.v0.luminarycloud.simulation_template.GetSimulationTemplateResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/v0/simulation_templates/{id}\x12\xf9\x01\n\x18UpdateSimulationTemplate\x12X.luminary.proto.api.v0.luminarycloud.simulation_template.UpdateSimulationTemplateRequest\x1aY.luminary.proto.api.v0.luminarycloud.simulation_template.UpdateSimulationTemplateResponse\"(\x82\xd3\xe4\x93\x02\"2\x1d/v0/simulation_templates/{id}:\x01*\x12\xb3\x01\n\x18\x44\x65leteSimulationTemplate\x12X.luminary.proto.api.v0.luminarycloud.simulation_template.DeleteSimulationTemplateRequest\x1a\x16.google.protobuf.Empty\"%\x82\xd3\xe4\x93\x02\x1f*\x1d/v0/simulation_templates/{id}\x12\x85\x02\n\x1aValidateSimulationTemplate\x12Z.luminary.proto.api.v0.luminarycloud.simulation_template.ValidateSimulationTemplateRequest\x1a[.luminary.proto.api.v0.luminarycloud.simulation_template.ValidateSimulationTemplateResponse\".\x82\xd3\xe4\x93\x02(\x12&/v0/simulation_templates/{id}:validate\x12\x87\x02\n\x1aSyncSimulationTemplateToUI\x12Z.luminary.proto.api.v0.luminarycloud.simulation_template.SyncSimulationTemplateToUIRequest\x1a[.luminary.proto.api.v0.luminarycloud.simulation_template.SyncSimulationTemplateToUIResponse\"0\x82\xd3\xe4\x93\x02*\"(/v0/simulation_templates/{id}:sync_to_uiBGZEluminarycloud.com/core/proto/api/v0/luminarycloud/simulation_templateb\x06proto3')
23
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nHproto/api/v0/luminarycloud/simulation_template/simulation_template.proto\x12\x37luminary.proto.api.v0.luminarycloud.simulation_template\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1dproto/client/simulation.proto\x1a\"proto/frontend/output/output.proto\x1a\x46proto/api/v0/luminarycloud/stopping_condition/stopping_condition.proto\"\x84\x04\n\x12SimulationTemplate\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12:\n\nparameters\x18\x03 \x01(\x0b\x32&.luminary.proto.client.SimulationParam\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nproject_id\x18\x06 \x01(\t\x12\x46\n\x12output_definitions\x18\x07 \x03(\x0b\x32*.luminary.proto.frontend.output.OutputNode\x12\x66\n\x13stopping_conditions\x18\x08 \x03(\x0b\x32I.luminary.proto.api.v0.luminarycloud.stopping_condition.StoppingCondition\x12r\n\x19\x62\x61sic_stopping_conditions\x18\t \x01(\x0b\x32O.luminary.proto.api.v0.luminarycloud.stopping_condition.BasicStoppingConditions\"\xa5\x01\n\x1f\x43reateSimulationTemplateRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12:\n\nparameters\x18\x03 \x01(\x0b\x32&.luminary.proto.client.SimulationParam\x12\x16\n\tcopy_from\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x0c\n\n_copy_from\"\x8c\x01\n CreateSimulationTemplateResponse\x12h\n\x13simulation_template\x18\x01 \x01(\x0b\x32K.luminary.proto.api.v0.luminarycloud.simulation_template.SimulationTemplate\"4\n\x1eListSimulationTemplatesRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"\x8c\x01\n\x1fListSimulationTemplatesResponse\x12i\n\x14simulation_templates\x18\x01 \x03(\x0b\x32K.luminary.proto.api.v0.luminarycloud.simulation_template.SimulationTemplate\"*\n\x1cGetSimulationTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x89\x01\n\x1dGetSimulationTemplateResponse\x12h\n\x13simulation_template\x18\x01 \x01(\x0b\x32K.luminary.proto.api.v0.luminarycloud.simulation_template.SimulationTemplate\"\xbf\x01\n\x1fUpdateSimulationTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12?\n\nparameters\x18\x03 \x01(\x0b\x32&.luminary.proto.client.SimulationParamH\x01\x88\x01\x01\x12\x16\n\tcopy_from\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_nameB\r\n\x0b_parametersB\x0c\n\n_copy_from\"\x8c\x01\n UpdateSimulationTemplateResponse\x12h\n\x13simulation_template\x18\x01 \x01(\x0b\x32K.luminary.proto.api.v0.luminarycloud.simulation_template.SimulationTemplate\"-\n\x1f\x44\x65leteSimulationTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"/\n!ValidateSimulationTemplateRequest\x12\n\n\x02id\x18\x01 \x01(\t\"H\n\"ValidateSimulationTemplateResponse\x12\x10\n\x08is_valid\x18\x01 \x01(\x08\x12\x10\n\x08messages\x18\x02 \x03(\t\"/\n!SyncSimulationTemplateToUIRequest\x12\n\n\x02id\x18\x01 \x01(\t\"$\n\"SyncSimulationTemplateToUIResponse2\xe3\r\n\x19SimulationTemplateService\x12\x8a\x02\n\x18\x43reateSimulationTemplate\x12X.luminary.proto.api.v0.luminarycloud.simulation_template.CreateSimulationTemplateRequest\x1aY.luminary.proto.api.v0.luminarycloud.simulation_template.CreateSimulationTemplateResponse\"9\x82\xd3\xe4\x93\x02\x33\"./v0/projects/{project_id}/simulation_templates:\x01*\x12\x84\x02\n\x17ListSimulationTemplates\x12W.luminary.proto.api.v0.luminarycloud.simulation_template.ListSimulationTemplatesRequest\x1aX.luminary.proto.api.v0.luminarycloud.simulation_template.ListSimulationTemplatesResponse\"6\x82\xd3\xe4\x93\x02\x30\x12./v0/projects/{project_id}/simulation_templates\x12\xed\x01\n\x15GetSimulationTemplate\x12U.luminary.proto.api.v0.luminarycloud.simulation_template.GetSimulationTemplateRequest\x1aV.luminary.proto.api.v0.luminarycloud.simulation_template.GetSimulationTemplateResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/v0/simulation_templates/{id}\x12\xf9\x01\n\x18UpdateSimulationTemplate\x12X.luminary.proto.api.v0.luminarycloud.simulation_template.UpdateSimulationTemplateRequest\x1aY.luminary.proto.api.v0.luminarycloud.simulation_template.UpdateSimulationTemplateResponse\"(\x82\xd3\xe4\x93\x02\"2\x1d/v0/simulation_templates/{id}:\x01*\x12\xb3\x01\n\x18\x44\x65leteSimulationTemplate\x12X.luminary.proto.api.v0.luminarycloud.simulation_template.DeleteSimulationTemplateRequest\x1a\x16.google.protobuf.Empty\"%\x82\xd3\xe4\x93\x02\x1f*\x1d/v0/simulation_templates/{id}\x12\x85\x02\n\x1aValidateSimulationTemplate\x12Z.luminary.proto.api.v0.luminarycloud.simulation_template.ValidateSimulationTemplateRequest\x1a[.luminary.proto.api.v0.luminarycloud.simulation_template.ValidateSimulationTemplateResponse\".\x82\xd3\xe4\x93\x02(\x12&/v0/simulation_templates/{id}:validate\x12\x87\x02\n\x1aSyncSimulationTemplateToUI\x12Z.luminary.proto.api.v0.luminarycloud.simulation_template.SyncSimulationTemplateToUIRequest\x1a[.luminary.proto.api.v0.luminarycloud.simulation_template.SyncSimulationTemplateToUIResponse\"0\x82\xd3\xe4\x93\x02*\"(/v0/simulation_templates/{id}:sync_to_uiBGZEluminarycloud.com/core/proto/api/v0/luminarycloud/simulation_templateb\x06proto3')
22
24
 
23
25
 
24
26
 
@@ -153,34 +155,34 @@ if _descriptor._USE_C_DESCRIPTORS == False:
153
155
  _SIMULATIONTEMPLATESERVICE.methods_by_name['ValidateSimulationTemplate']._serialized_options = b'\202\323\344\223\002(\022&/v0/simulation_templates/{id}:validate'
154
156
  _SIMULATIONTEMPLATESERVICE.methods_by_name['SyncSimulationTemplateToUI']._options = None
155
157
  _SIMULATIONTEMPLATESERVICE.methods_by_name['SyncSimulationTemplateToUI']._serialized_options = b'\202\323\344\223\002*\"(/v0/simulation_templates/{id}:sync_to_ui'
156
- _SIMULATIONTEMPLATE._serialized_start=257
157
- _SIMULATIONTEMPLATE._serialized_end=481
158
- _CREATESIMULATIONTEMPLATEREQUEST._serialized_start=484
159
- _CREATESIMULATIONTEMPLATEREQUEST._serialized_end=649
160
- _CREATESIMULATIONTEMPLATERESPONSE._serialized_start=652
161
- _CREATESIMULATIONTEMPLATERESPONSE._serialized_end=792
162
- _LISTSIMULATIONTEMPLATESREQUEST._serialized_start=794
163
- _LISTSIMULATIONTEMPLATESREQUEST._serialized_end=846
164
- _LISTSIMULATIONTEMPLATESRESPONSE._serialized_start=849
165
- _LISTSIMULATIONTEMPLATESRESPONSE._serialized_end=989
166
- _GETSIMULATIONTEMPLATEREQUEST._serialized_start=991
167
- _GETSIMULATIONTEMPLATEREQUEST._serialized_end=1033
168
- _GETSIMULATIONTEMPLATERESPONSE._serialized_start=1036
169
- _GETSIMULATIONTEMPLATERESPONSE._serialized_end=1173
170
- _UPDATESIMULATIONTEMPLATEREQUEST._serialized_start=1176
171
- _UPDATESIMULATIONTEMPLATEREQUEST._serialized_end=1367
172
- _UPDATESIMULATIONTEMPLATERESPONSE._serialized_start=1370
173
- _UPDATESIMULATIONTEMPLATERESPONSE._serialized_end=1510
174
- _DELETESIMULATIONTEMPLATEREQUEST._serialized_start=1512
175
- _DELETESIMULATIONTEMPLATEREQUEST._serialized_end=1557
176
- _VALIDATESIMULATIONTEMPLATEREQUEST._serialized_start=1559
177
- _VALIDATESIMULATIONTEMPLATEREQUEST._serialized_end=1606
178
- _VALIDATESIMULATIONTEMPLATERESPONSE._serialized_start=1608
179
- _VALIDATESIMULATIONTEMPLATERESPONSE._serialized_end=1680
180
- _SYNCSIMULATIONTEMPLATETOUIREQUEST._serialized_start=1682
181
- _SYNCSIMULATIONTEMPLATETOUIREQUEST._serialized_end=1729
182
- _SYNCSIMULATIONTEMPLATETOUIRESPONSE._serialized_start=1731
183
- _SYNCSIMULATIONTEMPLATETOUIRESPONSE._serialized_end=1767
184
- _SIMULATIONTEMPLATESERVICE._serialized_start=1770
185
- _SIMULATIONTEMPLATESERVICE._serialized_end=3533
158
+ _SIMULATIONTEMPLATE._serialized_start=365
159
+ _SIMULATIONTEMPLATE._serialized_end=881
160
+ _CREATESIMULATIONTEMPLATEREQUEST._serialized_start=884
161
+ _CREATESIMULATIONTEMPLATEREQUEST._serialized_end=1049
162
+ _CREATESIMULATIONTEMPLATERESPONSE._serialized_start=1052
163
+ _CREATESIMULATIONTEMPLATERESPONSE._serialized_end=1192
164
+ _LISTSIMULATIONTEMPLATESREQUEST._serialized_start=1194
165
+ _LISTSIMULATIONTEMPLATESREQUEST._serialized_end=1246
166
+ _LISTSIMULATIONTEMPLATESRESPONSE._serialized_start=1249
167
+ _LISTSIMULATIONTEMPLATESRESPONSE._serialized_end=1389
168
+ _GETSIMULATIONTEMPLATEREQUEST._serialized_start=1391
169
+ _GETSIMULATIONTEMPLATEREQUEST._serialized_end=1433
170
+ _GETSIMULATIONTEMPLATERESPONSE._serialized_start=1436
171
+ _GETSIMULATIONTEMPLATERESPONSE._serialized_end=1573
172
+ _UPDATESIMULATIONTEMPLATEREQUEST._serialized_start=1576
173
+ _UPDATESIMULATIONTEMPLATEREQUEST._serialized_end=1767
174
+ _UPDATESIMULATIONTEMPLATERESPONSE._serialized_start=1770
175
+ _UPDATESIMULATIONTEMPLATERESPONSE._serialized_end=1910
176
+ _DELETESIMULATIONTEMPLATEREQUEST._serialized_start=1912
177
+ _DELETESIMULATIONTEMPLATEREQUEST._serialized_end=1957
178
+ _VALIDATESIMULATIONTEMPLATEREQUEST._serialized_start=1959
179
+ _VALIDATESIMULATIONTEMPLATEREQUEST._serialized_end=2006
180
+ _VALIDATESIMULATIONTEMPLATERESPONSE._serialized_start=2008
181
+ _VALIDATESIMULATIONTEMPLATERESPONSE._serialized_end=2080
182
+ _SYNCSIMULATIONTEMPLATETOUIREQUEST._serialized_start=2082
183
+ _SYNCSIMULATIONTEMPLATETOUIREQUEST._serialized_end=2129
184
+ _SYNCSIMULATIONTEMPLATETOUIRESPONSE._serialized_start=2131
185
+ _SYNCSIMULATIONTEMPLATETOUIRESPONSE._serialized_end=2167
186
+ _SIMULATIONTEMPLATESERVICE._serialized_start=2170
187
+ _SIMULATIONTEMPLATESERVICE._serialized_end=3933
186
188
  # @@protoc_insertion_point(module_scope)
@@ -8,7 +8,9 @@ import google.protobuf.descriptor
8
8
  import google.protobuf.internal.containers
9
9
  import google.protobuf.message
10
10
  import google.protobuf.timestamp_pb2
11
+ import luminarycloud._proto.api.v0.luminarycloud.stopping_condition.stopping_condition_pb2
11
12
  import luminarycloud._proto.client.simulation_pb2
13
+ import luminarycloud._proto.frontend.output.output_pb2
12
14
  import sys
13
15
  import typing
14
16
 
@@ -30,6 +32,9 @@ class SimulationTemplate(google.protobuf.message.Message):
30
32
  CREATE_TIME_FIELD_NUMBER: builtins.int
31
33
  UPDATE_TIME_FIELD_NUMBER: builtins.int
32
34
  PROJECT_ID_FIELD_NUMBER: builtins.int
35
+ OUTPUT_DEFINITIONS_FIELD_NUMBER: builtins.int
36
+ STOPPING_CONDITIONS_FIELD_NUMBER: builtins.int
37
+ BASIC_STOPPING_CONDITIONS_FIELD_NUMBER: builtins.int
33
38
  id: builtins.str
34
39
  """Required. The unique identifier for the resource."""
35
40
  name: builtins.str
@@ -47,6 +52,19 @@ class SimulationTemplate(google.protobuf.message.Message):
47
52
  """Output only. The timestamp when the resource was last updated."""
48
53
  project_id: builtins.str
49
54
  """Required. The project this sim template belongs to."""
55
+ @property
56
+ def output_definitions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[luminarycloud._proto.frontend.output.output_pb2.OutputNode]:
57
+ """A list of this simulation template's output definitions. Order of output definitions is
58
+ unspecified.
59
+ """
60
+ @property
61
+ def stopping_conditions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[luminarycloud._proto.api.v0.luminarycloud.stopping_condition.stopping_condition_pb2.StoppingCondition]:
62
+ """A list of this simulation template's stopping conditions. Order of stopping conditions is
63
+ unspecified.
64
+ """
65
+ @property
66
+ def basic_stopping_conditions(self) -> luminarycloud._proto.api.v0.luminarycloud.stopping_condition.stopping_condition_pb2.BasicStoppingConditions:
67
+ """This simulation template's basic stopping conditions."""
50
68
  def __init__(
51
69
  self,
52
70
  *,
@@ -56,9 +74,12 @@ class SimulationTemplate(google.protobuf.message.Message):
56
74
  create_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
57
75
  update_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
58
76
  project_id: builtins.str = ...,
77
+ output_definitions: collections.abc.Iterable[luminarycloud._proto.frontend.output.output_pb2.OutputNode] | None = ...,
78
+ stopping_conditions: collections.abc.Iterable[luminarycloud._proto.api.v0.luminarycloud.stopping_condition.stopping_condition_pb2.StoppingCondition] | None = ...,
79
+ basic_stopping_conditions: luminarycloud._proto.api.v0.luminarycloud.stopping_condition.stopping_condition_pb2.BasicStoppingConditions | None = ...,
59
80
  ) -> None: ...
60
- def HasField(self, field_name: typing_extensions.Literal["create_time", b"create_time", "parameters", b"parameters", "update_time", b"update_time"]) -> builtins.bool: ...
61
- def ClearField(self, field_name: typing_extensions.Literal["create_time", b"create_time", "id", b"id", "name", b"name", "parameters", b"parameters", "project_id", b"project_id", "update_time", b"update_time"]) -> None: ...
81
+ def HasField(self, field_name: typing_extensions.Literal["basic_stopping_conditions", b"basic_stopping_conditions", "create_time", b"create_time", "parameters", b"parameters", "update_time", b"update_time"]) -> builtins.bool: ...
82
+ def ClearField(self, field_name: typing_extensions.Literal["basic_stopping_conditions", b"basic_stopping_conditions", "create_time", b"create_time", "id", b"id", "name", b"name", "output_definitions", b"output_definitions", "parameters", b"parameters", "project_id", b"project_id", "stopping_conditions", b"stopping_conditions", "update_time", b"update_time"]) -> None: ...
62
83
 
63
84
  global___SimulationTemplate = SimulationTemplate
64
85
 
@@ -20,7 +20,7 @@ from luminarycloud._proto.table import table_pb2 as proto_dot_table_dot_table__p
20
20
  from luminarycloud._proto.api.v0.luminarycloud.common import common_pb2 as proto_dot_api_dot_v0_dot_luminarycloud_dot_common_dot_common__pb2
21
21
 
22
22
 
23
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(proto/api/v0/luminarycloud/vis/vis.proto\x12\'luminary.proto.api.v0.luminarycloud.vis\x1a\x1cgoogle/api/annotations.proto\x1a\x1bproto/options/options.proto\x1a\x1dproto/quantity/quantity.proto\x1a\x17proto/table/table.proto\x1a.proto/api/v0/luminarycloud/common/common.proto\"=\n\x03Pan\x12\x1a\n\x01x\x18\x01 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x12\x1a\n\x01y\x18\x02 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00\"\xa4\x02\n\x0c\x43\x61meraLookAt\x12\x45\n\x08position\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x44\n\x07look_at\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12?\n\x02up\x18\x03 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12>\n\x03pan\x18\x04 \x01(\x0b\x32,.luminary.proto.api.v0.luminarycloud.vis.PanH\x00\x88\x01\x01\x42\x06\n\x04_pan\"}\n\nResolution\x12\x36\n\x05width\x18\x01 \x01(\x05\x42\'\x82\xb2\x19\x03\x30\x80\x0f\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xb0@\x8a\xb2\x19\x02\x18\x00\x12\x37\n\x06height\x18\x02 \x01(\x05\x42\'\x82\xb2\x19\x03\x30\xb8\x08\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xb0@\x8a\xb2\x19\x02\x18\x00\"\xde\x02\n\x06\x43\x61mera\x12U\n\nprojection\x18\x01 \x01(\x0e\x32\x39.luminary.proto.api.v0.luminarycloud.vis.CameraProjectionB\x06\x82\xb2\x19\x02 \x02\x12U\n\tdirection\x18\x02 \x01(\x0e\x32\x38.luminary.proto.api.v0.luminarycloud.vis.CameraDirectionB\x06\x82\xb2\x19\x02 \x03H\x00\x12H\n\x07look_at\x18\x03 \x01(\x0b\x32\x35.luminary.proto.api.v0.luminarycloud.vis.CameraLookAtH\x00\x12\x42\n\x04zoom\x18\x04 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x42\x0f\n\rspecificationB\x07\n\x05_zoom\"\xb2\x01\n\x17\x41nimationSettingsStatic\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\x12G\n\nresolution\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\x12\r\n\x05label\x18\x03 \x01(\t\"\xee\x02\n\x19\x41nimationSettingsTimeStep\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\x12G\n\nresolution\x18\x04 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\x12\x61\n\x06\x66ormat\x18\x05 \x01(\x0e\x32I.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsTimeStep.FormatB\x06\x82\xb2\x19\x02 \x02\x12\x13\n\x0bskip_frames\x18\x06 \x01(\x05\x12\r\n\x05label\x18\x07 \x01(\t\"@\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\x0e\n\nFORMAT_GIF\x10\x01\x12\x0e\n\nFORMAT_MP4\x10\x02\"a\n\x0eStaticSettings\x12O\n\x05items\x18\x01 \x03(\x0b\x32@.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsStatic\"e\n\x10TimeStepSettings\x12Q\n\x05items\x18\x01 \x03(\x0b\x32\x42.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsTimeStep\"\xbe\x01\n\x13\x41nimationProperties\x12J\n\x07statics\x18\x01 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.StaticSettingsH\x00\x12O\n\ntime_steps\x18\x02 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.TimeStepSettingsH\x00\x42\n\n\x08settings\"\x8e\x02\n\x05\x46ield\x12;\n\x0cquantity_typ\x18\x01 \x01(\x0e\x32%.luminary.proto.quantity.QuantityType\x12K\n\tcomponent\x18\x02 \x01(\x0e\x32\x38.luminary.proto.api.v0.luminarycloud.vis.Field.Component\"{\n\tComponent\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x43OMPONENT_X\x10\x01\x12\x0f\n\x0b\x43OMPONENT_Y\x10\x02\x12\x0f\n\x0b\x43OMPONENT_Z\x10\x03\x12 \n\x13\x43OMPONENT_MAGNITUDE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\"\xe7\x01\n\x11\x44isplayAttributes\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12\x14\n\x07visible\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12O\n\x0erepresentation\x18\x03 \x01(\x0e\x32\x37.luminary.proto.api.v0.luminarycloud.vis.Representation\x12\x14\n\x07opacity\x18\x04 \x01(\x01H\x01\x88\x01\x01\x42\n\n\x08_visibleB\n\n\x08_opacity\"\x91\x01\n\x05Plane\x12\x43\n\x06origin\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x43\n\x06normal\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\x8a\x01\n\x04\x41\x41\x42\x42\x12@\n\x03min\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03max\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"_\n\x05Slice\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12\x17\n\x0fproject_vectors\x18\x02 \x01(\x08\"\\\n\x07\x43ontour\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12\x12\n\niso_values\x18\x02 \x03(\x01\"\x81\x02\n\tThreshold\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12=\n\x05range\x18\x02 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Range\x12\x1b\n\x06smooth\x18\x03 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x00\x88\x01\x01\x12\x1b\n\x06invert\x18\x04 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12\x1b\n\x06strict\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x02\x88\x01\x01\x42\t\n\x07_smoothB\t\n\x07_invertB\t\n\x07_strict\"\x96\x01\n\x0eSeedRakeConfig\x12\x42\n\x05start\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\xed\x01\n\x11SeedSurfaceConfig\x12$\n\x06offset\x18\x01 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00H\x00\x88\x01\x01\x12\'\n\x12project_on_surface\x18\x02 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12@\n\x0bsample_rate\x18\x03 \x01(\x05\x42&\x82\xb2\x19\x02\x30\n\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x02\x88\x01\x01\x12\x15\n\rsurface_names\x18\x04 \x03(\tB\t\n\x07_offsetB\x15\n\x13_project_on_surfaceB\x0e\n\x0c_sample_rate\"\xcd\x03\n\x0eSeedGridConfig\x12=\n\x08rake_res\x18\x01 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x02\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x00\x88\x01\x01\x12=\n\x08seed_res\x18\x02 \x01(\x05\x42&\x82\xb2\x19\x02\x30\n\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12\x19\n\x0cseed_spacing\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12\x19\n\x0crake_spacing\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x43\n\x06\x63\x65nter\x18\x05 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x42\n\x05u_vec\x18\x06 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x42\n\x05v_vec\x18\x07 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3B\x0b\n\t_rake_resB\x0b\n\t_seed_resB\x0f\n\r_seed_spacingB\x0f\n\r_rake_spacing\"\x92\x04\n\x0bStreamlines\x12G\n\x04rake\x18\x01 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.SeedRakeConfigH\x00\x12M\n\x07surface\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.SeedSurfaceConfigH\x00\x12G\n\x04grid\x18\x03 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.SeedGridConfigH\x00\x12\x42\n\rn_streamlines\x18\x04 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x64\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12\x17\n\nmax_length\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12X\n\tdirection\x18\x06 \x01(\x0e\x32=.luminary.proto.api.v0.luminarycloud.vis.StreamlinesDirectionB\x06\x82\xb2\x19\x02 \x01\x12=\n\x05\x66ield\x18\x07 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.FieldB\x0b\n\tseed_typeB\x10\n\x0e_n_streamlinesB\r\n\x0b_max_length\"\xb4\x02\n\x05Glyph\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12=\n\x08n_glyphs\x18\x02 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x64\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12Y\n\rsampling_mode\x18\x03 \x01(\x0e\x32:.luminary.proto.api.v0.luminarycloud.vis.GlyphSamplingModeB\x06\x82\xb2\x19\x02 \x01\x12\x1b\n\x11\x66ixed_size_glyphs\x18\x04 \x01(\x01H\x00\x12\x1a\n\x10glyph_scale_size\x18\x05 \x01(\x01H\x00\x42\x0c\n\nglyph_sizeB\x0b\n\t_n_glyphs\"+\n\x12SurfaceLICGeomtery\x12\x15\n\rsurface_names\x18\x01 \x03(\t\"\x91\x01\n\x0fSurfaceLICPlane\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12?\n\x08\x63lip_box\x18\x02 \x01(\x0b\x32-.luminary.proto.api.v0.luminarycloud.vis.AABB\"\xb6\x02\n\nSurfaceLIC\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12O\n\x08geometry\x18\x02 \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICGeomteryH\x00\x12I\n\x05plane\x18\x03 \x01(\x0b\x32\x38.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICPlaneH\x00\x12\x41\n\x08\x63ontrast\x18\x04 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\t\x9a\x99\x99\x99\x99\x99\xc9?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\x08@\x8a\xb2\x19\x02\x18\x00\x42\n\n\x08lic_type\"s\n\x11IntersectionCurve\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12\x10\n\x08surfaces\x18\x02 \x03(\t\x12\r\n\x05label\x18\x03 \x01(\t\"\x1a\n\x18LineSampleMeshResolution\"\x8e\x02\n\nLineSample\x12\x42\n\x05start\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\r\n\x05label\x18\x03 \x01(\t\x12\\\n\x0fmesh_resolution\x18\x04 \x01(\x0b\x32\x41.luminary.proto.api.v0.luminarycloud.vis.LineSampleMeshResolutionH\x00\x42\r\n\x0bsample_type\"\xb9\x05\n\x06\x46ilter\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12?\n\x05slice\x18\x03 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.SliceH\x00\x12=\n\x04\x63lip\x18\x04 \x01(\x0b\x32-.luminary.proto.api.v0.luminarycloud.vis.ClipH\x00\x12\x43\n\x07\x63ontour\x18\x05 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.ContourH\x00\x12G\n\tthreshold\x18\x07 \x01(\x0b\x32\x32.luminary.proto.api.v0.luminarycloud.vis.ThresholdH\x00\x12K\n\x0bstreamlines\x18\x08 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.StreamlinesH\x00\x12?\n\x05glyph\x18\t \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.GlyphH\x00\x12J\n\x0bsurface_lic\x18\n \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICH\x00\x12X\n\x12intersection_curve\x18\x0b \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.IntersectionCurveH\x00\x12J\n\x0bline_sample\x18\x0c \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.LineSampleH\x00\x42\x07\n\x05value\"\x18\n\nMeshEntity\x12\n\n\x02id\x18\x01 \x01(\t\"3\n\x10SimulationEntity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0bsolution_id\x18\x02 \x01(\t\"9\n\x0eGeometryEntity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\"\xfc\x01\n\rExtractEntity\x12\x43\n\x04mesh\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.MeshEntityH\x00\x12O\n\nsimulation\x18\x02 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntityH\x00\x12K\n\x08geometry\x18\x03 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.GeometryEntityH\x00\x42\x08\n\x06\x65ntity\"!\n\x05Range\x12\x0b\n\x03min\x18\x01 \x01(\x01\x12\x0b\n\x03max\x18\x02 \x01(\x01\"\xc4\x0b\n\x08\x43olorMap\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12K\n\x04name\x18\x02 \x01(\x0e\x32\x35.luminary.proto.api.v0.luminarycloud.vis.ColorMapNameB\x06\x82\xb2\x19\x02 \x03\x12\x42\n\x05range\x18\x03 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.RangeH\x02\x88\x01\x01\x12\x1c\n\x07visible\x18\x04 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x03\x88\x01\x01\x12\x1f\n\ndiscretize\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x04\x88\x01\x01\x12=\n\x08n_colors\x18\x06 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x08\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00p@\x8a\xb2\x19\x02\x18\x00H\x05\x88\x01\x01\x12i\n\x12\x61utomatic_location\x18\x07 \x01(\x0e\x32\x43.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AutomaticLocationB\x06\x82\xb2\x19\x02 \x01H\x00\x12\x66\n\x1alower_left_anchor_location\x18\x08 \x01(\x0b\x32@.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AnchorLocationH\x00\x12U\n\x0e\x61utomatic_tick\x18\n \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AutomaticH\x01\x12Y\n\x11min_max_only_tick\x18\x0b \x01(\x0b\x32<.luminary.proto.api.v0.luminarycloud.vis.ColorMap.MinMaxOnlyH\x01\x12G\n\ttext_size\x18\x11 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x42@\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\x02\x18\x00H\x06\x88\x01\x01\x12\x1f\n\nhorizontal\x18\x12 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x07\x88\x01\x01\x12\x43\n\x05width\x18\x13 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xfc\xa9\xf1\xd2Mb\x80?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x08\x88\x01\x01\x12\x44\n\x06height\x18\x14 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xbaI\x0c\x02+\x87\x96?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\t\x88\x01\x01\x1a\x9e\x01\n\x0e\x41nchorLocation\x12?\n\x01x\x18\x01 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\tq=\n\xd7\xa3p\xed?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x00\x88\x01\x01\x12?\n\x01y\x18\x02 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xe1z\x14\xaeG\xe1\xda?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x42\x04\n\x02_xB\x04\n\x02_y\x1a\x0b\n\tAutomatic\x1a\x0c\n\nMinMaxOnly\"\xad\x01\n\x11\x41utomaticLocation\x12\"\n\x1e\x41UTOMATIC_LOCATION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x41UTOMATIC_LOCATION_RIGHT\x10\x01\x12\x1b\n\x17\x41UTOMATIC_LOCATION_LEFT\x10\x02\x12\x1d\n\x19\x41UTOMATIC_LOCATION_BOTTOM\x10\x03\x12\x1a\n\x16\x41UTOMATIC_LOCATION_TOP\x10\x04\x42\n\n\x08locationB\x14\n\x12tick_specificationB\x08\n\x06_rangeB\n\n\x08_visibleB\r\n\x0b_discretizeB\x0b\n\t_n_colorsB\x0c\n\n_text_sizeB\r\n\x0b_horizontalB\x08\n\x06_widthB\t\n\x07_height\"\xbb\x01\n\x05\x43olor\x12+\n\x01r\x18\x01 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01g\x18\x02 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01\x62\x18\x03 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01\x61\x18\x04 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\"e\n\x14\x42\x61\x63kgroundProperties\x12?\n\x05\x63olor\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.ColorH\x00\x42\x0c\n\nproperties\";\n\x0fTriadProperties\x12\x1c\n\x07visible\x18\x01 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x00\x88\x01\x01\x42\n\n\x08_visible\"(\n\x11\x46ilterConnections\x12\x13\n\x0b\x63hildren_id\x18\x01 \x03(\t\">\n\x12\x41xesGridProperties\x12\x1c\n\x07visible\x18\x01 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x00\x88\x01\x01\x42\n\n\x08_visible\"\x8b\n\n\x0b\x45xtractSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12K\n\x0b\x65ntity_type\x18\x03 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12Y\n\x14\x61xes_grid_properties\x18\x04 \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.AxesGridProperties\x12@\n\x07\x66ilters\x18\x05 \x03(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Filter\x12g\n\x12\x66ilter_connections\x18\x06 \x03(\x0b\x32K.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec.FilterConnectionsEntry\x12]\n\x19global_display_attributes\x18\x07 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.DisplayAttributes\x12g\n\x12\x64isplay_attributes\x18\x08 \x03(\x0b\x32K.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec.DisplayAttributesEntry\x12\x45\n\ncolor_maps\x18\t \x03(\x0b\x32\x31.luminary.proto.api.v0.luminarycloud.vis.ColorMap\x12Z\n\x14\x61nimation_properties\x18\n \x01(\x0b\x32<.luminary.proto.api.v0.luminarycloud.vis.AnimationProperties\x12R\n\x10triad_properties\x18\x0b \x01(\x0b\x32\x38.luminary.proto.api.v0.luminarycloud.vis.TriadProperties\x12\x61\n\x15\x62\x61\x63kground_properties\x18\x0c \x01(\x0b\x32=.luminary.proto.api.v0.luminarycloud.vis.BackgroundPropertiesH\x00\x88\x01\x01\x12 \n\x13supersampling_ratio\x18\r \x01(\x05H\x01\x88\x01\x01\x12\x16\n\tdata_only\x18\x0e \x01(\x08H\x02\x88\x01\x01\x1at\n\x16\x46ilterConnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.FilterConnections:\x02\x38\x01\x1at\n\x16\x44isplayAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.DisplayAttributes:\x02\x38\x01\x42\x18\n\x16_background_propertiesB\x16\n\x14_supersampling_ratioB\x0c\n\n_data_only\"n\n\x14\x43reateExtractRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x42\n\x04spec\x18\x02 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec\"\x9c\x01\n\x07\x45xtract\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x12\n\nproject_id\x18\x04 \x01(\t\x12\x46\n\x06status\x18\x05 \x01(\x0e\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractStatus\"\xd5\x01\n\x03\x42ox\x12\x43\n\x06\x63\x65nter\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x44\n\x07lengths\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x43\n\x06\x61ngles\x18\x03 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\xe9\x01\n\x04\x43lip\x12?\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.PlaneH\x00\x12;\n\x03\x62ox\x18\x02 \x01(\x0b\x32,.luminary.proto.api.v0.luminarycloud.vis.BoxH\x00\x12\x1d\n\x08inverted\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12\x1b\n\x06smooth\x18\x06 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x02\x88\x01\x01\x42\x0f\n\rclip_functionB\x0b\n\t_invertedB\t\n\x07_smooth\"Z\n\x15\x43reateExtractResponse\x12\x41\n\x07\x65xtract\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\"W\n\x12GetExtractResponse\x12\x41\n\x07\x65xtract\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\"\\\n\x16GetExtractSpecResponse\x12\x42\n\x04spec\x18\x01 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec\";\n\x11GetExtractRequest\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"@\n\x16\x44ownloadExtractRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x12\n\nextract_id\x18\x02 \x01(\t\"Y\n\x06Images\x12?\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\x12\x0e\n\x06labels\x18\x02 \x03(\t\"\x9f\x01\n\x17\x44ownloadExtractResponse\x12?\n\x06images\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Images\x12\x43\n\tline_data\x18\x02 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\"\x84\x01\n\x13ListExtractsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x46\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12\x11\n\tdata_only\x18\x03 \x01(\x08\"Z\n\x14ListExtractsResponse\x12\x42\n\x08\x65xtracts\x18\x01 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\">\n\x14\x44\x65leteExtractRequest\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"\x17\n\x15\x44\x65leteExtractResponse\"\xa4\x03\n\x18GetRenderDataUrlsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x46\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12@\n\x07\x66ilters\x18\x03 \x03(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Filter\x12t\n\x12\x66ilter_connections\x18\x04 \x03(\x0b\x32X.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsRequest.FilterConnectionsEntry\x1at\n\x16\x46ilterConnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.FilterConnections:\x02\x38\x01\"j\n\x0eRenderDataUrls\x12\x12\n\nfilter_ids\x18\x01 \x03(\t\x12\x44\n\ndata_files\x18\x03 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\"\xa2\x01\n\x19GetRenderDataUrlsResponse\x12\x1c\n\x0fworkspace_state\x18\x01 \x01(\tH\x00\x88\x01\x01\x12J\n\x04urls\x18\x02 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.RenderDataUrlsH\x01\x88\x01\x01\x42\x12\n\x10_workspace_stateB\x07\n\x05_urls\"~\n\x19ListSolutionFieldsRequest\x12M\n\nsimulation\x18\x01 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntity\x12\x12\n\nproject_id\x18\x02 \x01(\t\"T\n\x17ListSolutionFieldsReply\x12\x39\n\nquantities\x18\x01 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\".\n\x0b\x43\x61meraEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tcamera_id\x18\x02 \x01(\x03\"(\n\x12ListCamerasRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"X\n\x10ListCamerasReply\x12\x44\n\x06\x63\x61mera\x18\x01 \x03(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.CameraEntry\"n\n\x10GetCameraRequest\x12\x11\n\tcamera_id\x18\x01 \x01(\x03\x12G\n\nresolution\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\"Q\n\x0eGetCameraReply\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\"\x9e\x03\n\x0fLineDataExtract\x12R\n\x05lines\x18\x01 \x03(\x0b\x32\x43.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.LinesEntry\x12T\n\x06labels\x18\x02 \x03(\x0b\x32\x44.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.LabelsEntry\x1a\x44\n\x05Table\x12;\n\x0blines_table\x18\x01 \x03(\x0b\x32&.luminary.proto.table.RectilinearTable\x1al\n\nLinesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.Table:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*\x82\x01\n\x0f\x43\x61meraDirection\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nX_POSITIVE\x10\x01\x12\x0e\n\nY_POSITIVE\x10\x02\x12\x0e\n\nZ_POSITIVE\x10\x03\x12\x0e\n\nX_NEGATIVE\x10\x04\x12\x0e\n\nY_NEGATIVE\x10\x05\x12\x0e\n\nZ_NEGATIVE\x10\x06*5\n\x10\x43\x61meraProjection\x12\x10\n\x0cORTHOGRAPHIC\x10\x00\x12\x0f\n\x0bPERSPECTIVE\x10\x01*P\n\x0eRepresentation\x12\x0b\n\x07SURFACE\x10\x00\x12\x16\n\x12SURFACE_WITH_EDGES\x10\x01\x12\r\n\tWIREFRAME\x10\x02\x12\n\n\x06POINTS\x10\x03*\xa4\x01\n\x14StreamlinesDirection\x12%\n!STREAMLINES_DIRECTION_UNSPECIFIED\x10\x00\x12!\n\x1dSTREAMLINES_DIRECTION_FORWARD\x10\x01\x12\"\n\x1eSTREAMLINES_DIRECTION_BACKWARD\x10\x02\x12\x1e\n\x1aSTREAMLINES_DIRECTION_BOTH\x10\x03*[\n\x11GlyphSamplingMode\x12#\n\x1fGLYPH_SAMPLING_MODE_UNSPECIFIED\x10\x00\x12!\n\x1dGLYPH_SAMPLING_MODE_EVERY_NTH\x10\x01*\xea\x01\n\x0c\x43olorMapName\x12\x1e\n\x1a\x43OLOR_MAP_NAME_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OLOR_MAP_NAME_VIRIDIS\x10\x01\x12\x1f\n\x1b\x43OLOR_MAP_NAME_COOL_TO_WARM\x10\x02\x12\x18\n\x14\x43OLOR_MAP_NAME_TURBO\x10\x03\x12\x16\n\x12\x43OLOR_MAP_NAME_JET\x10\x04\x12\x17\n\x13\x43OLOR_MAP_NAME_WAVE\x10\x05\x12\x17\n\x13\x43OLOR_MAP_NAME_XRAY\x10\x06\x12\x19\n\x15\x43OLOR_MAP_NAME_PLASMA\x10\x07*C\n\rExtractStatus\x12\x0b\n\x07Invalid\x10\x00\x12\n\n\x06\x41\x63tive\x10\x01\x12\r\n\tCompleted\x10\x02\x12\n\n\x06\x46\x61iled\x10\x03*h\n\x14RenderDataUrlsStatus\x12\x19\n\x15RenderDataUrlsInvalid\x10\x00\x12\x1b\n\x17RenderDataUrlsCompleted\x10\x02\x12\x18\n\x14RenderDataUrlsFailed\x10\x03\x32\xc6\x0b\n\rVisAPIService\x12\x90\x01\n\rCreateExtract\x12=.luminary.proto.api.v0.luminarycloud.vis.CreateExtractRequest\x1a>.luminary.proto.api.v0.luminarycloud.vis.CreateExtractResponse\"\x00\x12\x87\x01\n\nGetExtract\x12:.luminary.proto.api.v0.luminarycloud.vis.GetExtractRequest\x1a;.luminary.proto.api.v0.luminarycloud.vis.GetExtractResponse\"\x00\x12\x8f\x01\n\x0eGetExtractSpec\x12:.luminary.proto.api.v0.luminarycloud.vis.GetExtractRequest\x1a?.luminary.proto.api.v0.luminarycloud.vis.GetExtractSpecResponse\"\x00\x12\x96\x01\n\x0f\x44ownloadExtract\x12?.luminary.proto.api.v0.luminarycloud.vis.DownloadExtractRequest\x1a@.luminary.proto.api.v0.luminarycloud.vis.DownloadExtractResponse\"\x00\x12\x8d\x01\n\x0cListExtracts\x12<.luminary.proto.api.v0.luminarycloud.vis.ListExtractsRequest\x1a=.luminary.proto.api.v0.luminarycloud.vis.ListExtractsResponse\"\x00\x12\x90\x01\n\rDeleteExtract\x12=.luminary.proto.api.v0.luminarycloud.vis.DeleteExtractRequest\x1a>.luminary.proto.api.v0.luminarycloud.vis.DeleteExtractResponse\"\x00\x12\x9c\x01\n\x11GetRenderDataUrls\x12\x41.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsRequest\x1a\x42.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsResponse\"\x00\x12\x9c\x01\n\x12ListSolutionFields\x12\x42.luminary.proto.api.v0.luminarycloud.vis.ListSolutionFieldsRequest\x1a@.luminary.proto.api.v0.luminarycloud.vis.ListSolutionFieldsReply\"\x00\x12\x87\x01\n\x0bListCameras\x12;.luminary.proto.api.v0.luminarycloud.vis.ListCamerasRequest\x1a\x39.luminary.proto.api.v0.luminarycloud.vis.ListCamerasReply\"\x00\x12\x81\x01\n\tGetCamera\x12\x39.luminary.proto.api.v0.luminarycloud.vis.GetCameraRequest\x1a\x37.luminary.proto.api.v0.luminarycloud.vis.GetCameraReply\"\x00\x42\x37Z5luminarycloud.com/core/proto/api/v0/luminarycloud/visb\x06proto3')
23
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(proto/api/v0/luminarycloud/vis/vis.proto\x12\'luminary.proto.api.v0.luminarycloud.vis\x1a\x1cgoogle/api/annotations.proto\x1a\x1bproto/options/options.proto\x1a\x1dproto/quantity/quantity.proto\x1a\x17proto/table/table.proto\x1a.proto/api/v0/luminarycloud/common/common.proto\"=\n\x03Pan\x12\x1a\n\x01x\x18\x01 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x12\x1a\n\x01y\x18\x02 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00\"\xa4\x02\n\x0c\x43\x61meraLookAt\x12\x45\n\x08position\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x44\n\x07look_at\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12?\n\x02up\x18\x03 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12>\n\x03pan\x18\x04 \x01(\x0b\x32,.luminary.proto.api.v0.luminarycloud.vis.PanH\x00\x88\x01\x01\x42\x06\n\x04_pan\"}\n\nResolution\x12\x36\n\x05width\x18\x01 \x01(\x05\x42\'\x82\xb2\x19\x03\x30\x80\x0f\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xb0@\x8a\xb2\x19\x02\x18\x00\x12\x37\n\x06height\x18\x02 \x01(\x05\x42\'\x82\xb2\x19\x03\x30\xb8\x08\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xb0@\x8a\xb2\x19\x02\x18\x00\"\xde\x02\n\x06\x43\x61mera\x12U\n\nprojection\x18\x01 \x01(\x0e\x32\x39.luminary.proto.api.v0.luminarycloud.vis.CameraProjectionB\x06\x82\xb2\x19\x02 \x02\x12U\n\tdirection\x18\x02 \x01(\x0e\x32\x38.luminary.proto.api.v0.luminarycloud.vis.CameraDirectionB\x06\x82\xb2\x19\x02 \x03H\x00\x12H\n\x07look_at\x18\x03 \x01(\x0b\x32\x35.luminary.proto.api.v0.luminarycloud.vis.CameraLookAtH\x00\x12\x42\n\x04zoom\x18\x04 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x42\x0f\n\rspecificationB\x07\n\x05_zoom\"\xb2\x01\n\x17\x41nimationSettingsStatic\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\x12G\n\nresolution\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\x12\r\n\x05label\x18\x03 \x01(\t\"\xee\x02\n\x19\x41nimationSettingsTimeStep\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\x12G\n\nresolution\x18\x04 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\x12\x61\n\x06\x66ormat\x18\x05 \x01(\x0e\x32I.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsTimeStep.FormatB\x06\x82\xb2\x19\x02 \x02\x12\x13\n\x0bskip_frames\x18\x06 \x01(\x05\x12\r\n\x05label\x18\x07 \x01(\t\"@\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\x0e\n\nFORMAT_GIF\x10\x01\x12\x0e\n\nFORMAT_MP4\x10\x02\"a\n\x0eStaticSettings\x12O\n\x05items\x18\x01 \x03(\x0b\x32@.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsStatic\"e\n\x10TimeStepSettings\x12Q\n\x05items\x18\x01 \x03(\x0b\x32\x42.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsTimeStep\"\xbe\x01\n\x13\x41nimationProperties\x12J\n\x07statics\x18\x01 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.StaticSettingsH\x00\x12O\n\ntime_steps\x18\x02 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.TimeStepSettingsH\x00\x42\n\n\x08settings\"\x8e\x02\n\x05\x46ield\x12;\n\x0cquantity_typ\x18\x01 \x01(\x0e\x32%.luminary.proto.quantity.QuantityType\x12K\n\tcomponent\x18\x02 \x01(\x0e\x32\x38.luminary.proto.api.v0.luminarycloud.vis.Field.Component\"{\n\tComponent\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x43OMPONENT_X\x10\x01\x12\x0f\n\x0b\x43OMPONENT_Y\x10\x02\x12\x0f\n\x0b\x43OMPONENT_Z\x10\x03\x12 \n\x13\x43OMPONENT_MAGNITUDE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\"\xe7\x01\n\x11\x44isplayAttributes\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12\x14\n\x07visible\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12O\n\x0erepresentation\x18\x03 \x01(\x0e\x32\x37.luminary.proto.api.v0.luminarycloud.vis.Representation\x12\x14\n\x07opacity\x18\x04 \x01(\x01H\x01\x88\x01\x01\x42\n\n\x08_visibleB\n\n\x08_opacity\"\x91\x01\n\x05Plane\x12\x43\n\x06origin\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x43\n\x06normal\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\x8a\x01\n\x04\x41\x41\x42\x42\x12@\n\x03min\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03max\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"_\n\x05Slice\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12\x17\n\x0fproject_vectors\x18\x02 \x01(\x08\"\\\n\x07\x43ontour\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12\x12\n\niso_values\x18\x02 \x03(\x01\"\x81\x02\n\tThreshold\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12=\n\x05range\x18\x02 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Range\x12\x1b\n\x06smooth\x18\x03 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x00\x88\x01\x01\x12\x1b\n\x06invert\x18\x04 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12\x1b\n\x06strict\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x02\x88\x01\x01\x42\t\n\x07_smoothB\t\n\x07_invertB\t\n\x07_strict\"\x96\x01\n\x0eSeedRakeConfig\x12\x42\n\x05start\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\xed\x01\n\x11SeedSurfaceConfig\x12$\n\x06offset\x18\x01 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00H\x00\x88\x01\x01\x12\'\n\x12project_on_surface\x18\x02 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12@\n\x0bsample_rate\x18\x03 \x01(\x05\x42&\x82\xb2\x19\x02\x30\n\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x02\x88\x01\x01\x12\x15\n\rsurface_names\x18\x04 \x03(\tB\t\n\x07_offsetB\x15\n\x13_project_on_surfaceB\x0e\n\x0c_sample_rate\"\xcd\x03\n\x0eSeedGridConfig\x12=\n\x08rake_res\x18\x01 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x02\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x00\x88\x01\x01\x12=\n\x08seed_res\x18\x02 \x01(\x05\x42&\x82\xb2\x19\x02\x30\n\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12\x19\n\x0cseed_spacing\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12\x19\n\x0crake_spacing\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x43\n\x06\x63\x65nter\x18\x05 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x42\n\x05u_vec\x18\x06 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x42\n\x05v_vec\x18\x07 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3B\x0b\n\t_rake_resB\x0b\n\t_seed_resB\x0f\n\r_seed_spacingB\x0f\n\r_rake_spacing\"\x92\x04\n\x0bStreamlines\x12G\n\x04rake\x18\x01 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.SeedRakeConfigH\x00\x12M\n\x07surface\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.SeedSurfaceConfigH\x00\x12G\n\x04grid\x18\x03 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.SeedGridConfigH\x00\x12\x42\n\rn_streamlines\x18\x04 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x64\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12\x17\n\nmax_length\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12X\n\tdirection\x18\x06 \x01(\x0e\x32=.luminary.proto.api.v0.luminarycloud.vis.StreamlinesDirectionB\x06\x82\xb2\x19\x02 \x01\x12=\n\x05\x66ield\x18\x07 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.FieldB\x0b\n\tseed_typeB\x10\n\x0e_n_streamlinesB\r\n\x0b_max_length\"\xb4\x02\n\x05Glyph\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12=\n\x08n_glyphs\x18\x02 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x64\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12Y\n\rsampling_mode\x18\x03 \x01(\x0e\x32:.luminary.proto.api.v0.luminarycloud.vis.GlyphSamplingModeB\x06\x82\xb2\x19\x02 \x01\x12\x1b\n\x11\x66ixed_size_glyphs\x18\x04 \x01(\x01H\x00\x12\x1a\n\x10glyph_scale_size\x18\x05 \x01(\x01H\x00\x42\x0c\n\nglyph_sizeB\x0b\n\t_n_glyphs\"+\n\x12SurfaceLICGeomtery\x12\x15\n\rsurface_names\x18\x01 \x03(\t\"\x91\x01\n\x0fSurfaceLICPlane\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12?\n\x08\x63lip_box\x18\x02 \x01(\x0b\x32-.luminary.proto.api.v0.luminarycloud.vis.AABB\"\xb6\x02\n\nSurfaceLIC\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12O\n\x08geometry\x18\x02 \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICGeomteryH\x00\x12I\n\x05plane\x18\x03 \x01(\x0b\x32\x38.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICPlaneH\x00\x12\x41\n\x08\x63ontrast\x18\x04 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\t\x9a\x99\x99\x99\x99\x99\xc9?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\x08@\x8a\xb2\x19\x02\x18\x00\x42\n\n\x08lic_type\"s\n\x11IntersectionCurve\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12\x10\n\x08surfaces\x18\x02 \x03(\t\x12\r\n\x05label\x18\x03 \x01(\t\"\x1a\n\x18LineSampleMeshResolution\"\x8e\x02\n\nLineSample\x12\x42\n\x05start\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\r\n\x05label\x18\x03 \x01(\t\x12\\\n\x0fmesh_resolution\x18\x04 \x01(\x0b\x32\x41.luminary.proto.api.v0.luminarycloud.vis.LineSampleMeshResolutionH\x00\x42\r\n\x0bsample_type\"\xb9\x05\n\x06\x46ilter\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12?\n\x05slice\x18\x03 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.SliceH\x00\x12=\n\x04\x63lip\x18\x04 \x01(\x0b\x32-.luminary.proto.api.v0.luminarycloud.vis.ClipH\x00\x12\x43\n\x07\x63ontour\x18\x05 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.ContourH\x00\x12G\n\tthreshold\x18\x07 \x01(\x0b\x32\x32.luminary.proto.api.v0.luminarycloud.vis.ThresholdH\x00\x12K\n\x0bstreamlines\x18\x08 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.StreamlinesH\x00\x12?\n\x05glyph\x18\t \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.GlyphH\x00\x12J\n\x0bsurface_lic\x18\n \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICH\x00\x12X\n\x12intersection_curve\x18\x0b \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.IntersectionCurveH\x00\x12J\n\x0bline_sample\x18\x0c \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.LineSampleH\x00\x42\x07\n\x05value\"\x18\n\nMeshEntity\x12\n\n\x02id\x18\x01 \x01(\t\"3\n\x10SimulationEntity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0bsolution_id\x18\x02 \x01(\t\"9\n\x0eGeometryEntity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\"\xfc\x01\n\rExtractEntity\x12\x43\n\x04mesh\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.MeshEntityH\x00\x12O\n\nsimulation\x18\x02 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntityH\x00\x12K\n\x08geometry\x18\x03 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.GeometryEntityH\x00\x42\x08\n\x06\x65ntity\"!\n\x05Range\x12\x0b\n\x03min\x18\x01 \x01(\x01\x12\x0b\n\x03max\x18\x02 \x01(\x01\"\xc4\x0b\n\x08\x43olorMap\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12K\n\x04name\x18\x02 \x01(\x0e\x32\x35.luminary.proto.api.v0.luminarycloud.vis.ColorMapNameB\x06\x82\xb2\x19\x02 \x03\x12\x42\n\x05range\x18\x03 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.RangeH\x02\x88\x01\x01\x12\x1c\n\x07visible\x18\x04 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x03\x88\x01\x01\x12\x1f\n\ndiscretize\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x04\x88\x01\x01\x12=\n\x08n_colors\x18\x06 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x08\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00p@\x8a\xb2\x19\x02\x18\x00H\x05\x88\x01\x01\x12i\n\x12\x61utomatic_location\x18\x07 \x01(\x0e\x32\x43.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AutomaticLocationB\x06\x82\xb2\x19\x02 \x01H\x00\x12\x66\n\x1alower_left_anchor_location\x18\x08 \x01(\x0b\x32@.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AnchorLocationH\x00\x12U\n\x0e\x61utomatic_tick\x18\n \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AutomaticH\x01\x12Y\n\x11min_max_only_tick\x18\x0b \x01(\x0b\x32<.luminary.proto.api.v0.luminarycloud.vis.ColorMap.MinMaxOnlyH\x01\x12G\n\ttext_size\x18\x11 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x42@\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\x02\x18\x00H\x06\x88\x01\x01\x12\x1f\n\nhorizontal\x18\x12 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x07\x88\x01\x01\x12\x43\n\x05width\x18\x13 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xfc\xa9\xf1\xd2Mb\x80?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x08\x88\x01\x01\x12\x44\n\x06height\x18\x14 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xbaI\x0c\x02+\x87\x96?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\t\x88\x01\x01\x1a\x9e\x01\n\x0e\x41nchorLocation\x12?\n\x01x\x18\x01 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\tq=\n\xd7\xa3p\xed?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x00\x88\x01\x01\x12?\n\x01y\x18\x02 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xe1z\x14\xaeG\xe1\xda?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x42\x04\n\x02_xB\x04\n\x02_y\x1a\x0b\n\tAutomatic\x1a\x0c\n\nMinMaxOnly\"\xad\x01\n\x11\x41utomaticLocation\x12\"\n\x1e\x41UTOMATIC_LOCATION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x41UTOMATIC_LOCATION_RIGHT\x10\x01\x12\x1b\n\x17\x41UTOMATIC_LOCATION_LEFT\x10\x02\x12\x1d\n\x19\x41UTOMATIC_LOCATION_BOTTOM\x10\x03\x12\x1a\n\x16\x41UTOMATIC_LOCATION_TOP\x10\x04\x42\n\n\x08locationB\x14\n\x12tick_specificationB\x08\n\x06_rangeB\n\n\x08_visibleB\r\n\x0b_discretizeB\x0b\n\t_n_colorsB\x0c\n\n_text_sizeB\r\n\x0b_horizontalB\x08\n\x06_widthB\t\n\x07_height\"\xbb\x01\n\x05\x43olor\x12+\n\x01r\x18\x01 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01g\x18\x02 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01\x62\x18\x03 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01\x61\x18\x04 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\"e\n\x14\x42\x61\x63kgroundProperties\x12?\n\x05\x63olor\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.ColorH\x00\x42\x0c\n\nproperties\";\n\x0fTriadProperties\x12\x1c\n\x07visible\x18\x01 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x00\x88\x01\x01\x42\n\n\x08_visible\"(\n\x11\x46ilterConnections\x12\x13\n\x0b\x63hildren_id\x18\x01 \x03(\t\">\n\x12\x41xesGridProperties\x12\x1c\n\x07visible\x18\x01 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x00\x88\x01\x01\x42\n\n\x08_visible\"\x8b\n\n\x0b\x45xtractSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12K\n\x0b\x65ntity_type\x18\x03 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12Y\n\x14\x61xes_grid_properties\x18\x04 \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.AxesGridProperties\x12@\n\x07\x66ilters\x18\x05 \x03(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Filter\x12g\n\x12\x66ilter_connections\x18\x06 \x03(\x0b\x32K.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec.FilterConnectionsEntry\x12]\n\x19global_display_attributes\x18\x07 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.DisplayAttributes\x12g\n\x12\x64isplay_attributes\x18\x08 \x03(\x0b\x32K.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec.DisplayAttributesEntry\x12\x45\n\ncolor_maps\x18\t \x03(\x0b\x32\x31.luminary.proto.api.v0.luminarycloud.vis.ColorMap\x12Z\n\x14\x61nimation_properties\x18\n \x01(\x0b\x32<.luminary.proto.api.v0.luminarycloud.vis.AnimationProperties\x12R\n\x10triad_properties\x18\x0b \x01(\x0b\x32\x38.luminary.proto.api.v0.luminarycloud.vis.TriadProperties\x12\x61\n\x15\x62\x61\x63kground_properties\x18\x0c \x01(\x0b\x32=.luminary.proto.api.v0.luminarycloud.vis.BackgroundPropertiesH\x00\x88\x01\x01\x12 \n\x13supersampling_ratio\x18\r \x01(\x05H\x01\x88\x01\x01\x12\x16\n\tdata_only\x18\x0e \x01(\x08H\x02\x88\x01\x01\x1at\n\x16\x46ilterConnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.FilterConnections:\x02\x38\x01\x1at\n\x16\x44isplayAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.DisplayAttributes:\x02\x38\x01\x42\x18\n\x16_background_propertiesB\x16\n\x14_supersampling_ratioB\x0c\n\n_data_only\"n\n\x14\x43reateExtractRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x42\n\x04spec\x18\x02 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec\"\x9c\x01\n\x07\x45xtract\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x12\n\nproject_id\x18\x04 \x01(\t\x12\x46\n\x06status\x18\x05 \x01(\x0e\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractStatus\"\xd5\x01\n\x03\x42ox\x12\x43\n\x06\x63\x65nter\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x44\n\x07lengths\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x43\n\x06\x61ngles\x18\x03 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\xe9\x01\n\x04\x43lip\x12?\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.PlaneH\x00\x12;\n\x03\x62ox\x18\x02 \x01(\x0b\x32,.luminary.proto.api.v0.luminarycloud.vis.BoxH\x00\x12\x1d\n\x08inverted\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12\x1b\n\x06smooth\x18\x06 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x02\x88\x01\x01\x42\x0f\n\rclip_functionB\x0b\n\t_invertedB\t\n\x07_smooth\"Z\n\x15\x43reateExtractResponse\x12\x41\n\x07\x65xtract\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\"W\n\x12GetExtractResponse\x12\x41\n\x07\x65xtract\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\"\\\n\x16GetExtractSpecResponse\x12\x42\n\x04spec\x18\x01 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec\";\n\x11GetExtractRequest\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"@\n\x16\x44ownloadExtractRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x12\n\nextract_id\x18\x02 \x01(\t\"Y\n\x06Images\x12?\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\x12\x0e\n\x06labels\x18\x02 \x03(\t\"\x9f\x01\n\x17\x44ownloadExtractResponse\x12?\n\x06images\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Images\x12\x43\n\tline_data\x18\x02 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\"\x84\x01\n\x13ListExtractsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x46\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12\x11\n\tdata_only\x18\x03 \x01(\x08\"Z\n\x14ListExtractsResponse\x12\x42\n\x08\x65xtracts\x18\x01 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\">\n\x14\x44\x65leteExtractRequest\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"\x17\n\x15\x44\x65leteExtractResponse\"\xa4\x03\n\x18GetRenderDataUrlsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x46\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12@\n\x07\x66ilters\x18\x03 \x03(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Filter\x12t\n\x12\x66ilter_connections\x18\x04 \x03(\x0b\x32X.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsRequest.FilterConnectionsEntry\x1at\n\x16\x46ilterConnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.FilterConnections:\x02\x38\x01\"j\n\x0eRenderDataUrls\x12\x12\n\nfilter_ids\x18\x01 \x03(\t\x12\x44\n\ndata_files\x18\x03 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\"\xa2\x01\n\x19GetRenderDataUrlsResponse\x12\x1c\n\x0fworkspace_state\x18\x01 \x01(\tH\x00\x88\x01\x01\x12J\n\x04urls\x18\x02 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.RenderDataUrlsH\x01\x88\x01\x01\x42\x12\n\x10_workspace_stateB\x07\n\x05_urls\"~\n\x19ListSolutionFieldsRequest\x12M\n\nsimulation\x18\x01 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntity\x12\x12\n\nproject_id\x18\x02 \x01(\t\"T\n\x17ListSolutionFieldsReply\x12\x39\n\nquantities\x18\x01 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\".\n\x0b\x43\x61meraEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tcamera_id\x18\x02 \x01(\x03\"(\n\x12ListCamerasRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"X\n\x10ListCamerasReply\x12\x44\n\x06\x63\x61mera\x18\x01 \x03(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.CameraEntry\"n\n\x10GetCameraRequest\x12\x11\n\tcamera_id\x18\x01 \x01(\x03\x12G\n\nresolution\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\"Q\n\x0eGetCameraReply\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\"\x9e\x03\n\x0fLineDataExtract\x12R\n\x05lines\x18\x01 \x03(\x0b\x32\x43.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.LinesEntry\x12T\n\x06labels\x18\x02 \x03(\x0b\x32\x44.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.LabelsEntry\x1a\x44\n\x05Table\x12;\n\x0blines_table\x18\x01 \x03(\x0b\x32&.luminary.proto.table.RectilinearTable\x1al\n\nLinesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.Table:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"h\n\x0bRangeEntity\x12O\n\nsimulation\x18\x01 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntityH\x00\x42\x08\n\x06\x65ntity\"\xe8\x01\n\x11RangeQueryRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x44\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.RangeEntity\x12T\n\x11\x66ield_association\x18\x03 \x01(\x0e\x32\x39.luminary.proto.api.v0.luminarycloud.vis.FieldAssociation\x12#\n\x13include_only_volume\x18\x04 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00\"\x99\x01\n\x0bRangeResult\x12=\n\x05range\x18\x01 \x03(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Range\x12\x37\n\x08quantity\x18\x02 \x01(\x0e\x32%.luminary.proto.quantity.QuantityType\x12\x12\n\nfield_name\x18\x03 \x01(\t\"V\n\x0fRangeQueryReply\x12\x43\n\x05range\x18\x01 \x03(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.RangeResult*\x82\x01\n\x0f\x43\x61meraDirection\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nX_POSITIVE\x10\x01\x12\x0e\n\nY_POSITIVE\x10\x02\x12\x0e\n\nZ_POSITIVE\x10\x03\x12\x0e\n\nX_NEGATIVE\x10\x04\x12\x0e\n\nY_NEGATIVE\x10\x05\x12\x0e\n\nZ_NEGATIVE\x10\x06*5\n\x10\x43\x61meraProjection\x12\x10\n\x0cORTHOGRAPHIC\x10\x00\x12\x0f\n\x0bPERSPECTIVE\x10\x01*P\n\x0eRepresentation\x12\x0b\n\x07SURFACE\x10\x00\x12\x16\n\x12SURFACE_WITH_EDGES\x10\x01\x12\r\n\tWIREFRAME\x10\x02\x12\n\n\x06POINTS\x10\x03*\xa4\x01\n\x14StreamlinesDirection\x12%\n!STREAMLINES_DIRECTION_UNSPECIFIED\x10\x00\x12!\n\x1dSTREAMLINES_DIRECTION_FORWARD\x10\x01\x12\"\n\x1eSTREAMLINES_DIRECTION_BACKWARD\x10\x02\x12\x1e\n\x1aSTREAMLINES_DIRECTION_BOTH\x10\x03*[\n\x11GlyphSamplingMode\x12#\n\x1fGLYPH_SAMPLING_MODE_UNSPECIFIED\x10\x00\x12!\n\x1dGLYPH_SAMPLING_MODE_EVERY_NTH\x10\x01*\xea\x01\n\x0c\x43olorMapName\x12\x1e\n\x1a\x43OLOR_MAP_NAME_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OLOR_MAP_NAME_VIRIDIS\x10\x01\x12\x1f\n\x1b\x43OLOR_MAP_NAME_COOL_TO_WARM\x10\x02\x12\x18\n\x14\x43OLOR_MAP_NAME_TURBO\x10\x03\x12\x16\n\x12\x43OLOR_MAP_NAME_JET\x10\x04\x12\x17\n\x13\x43OLOR_MAP_NAME_WAVE\x10\x05\x12\x17\n\x13\x43OLOR_MAP_NAME_XRAY\x10\x06\x12\x19\n\x15\x43OLOR_MAP_NAME_PLASMA\x10\x07*C\n\rExtractStatus\x12\x0b\n\x07Invalid\x10\x00\x12\n\n\x06\x41\x63tive\x10\x01\x12\r\n\tCompleted\x10\x02\x12\n\n\x06\x46\x61iled\x10\x03*h\n\x14RenderDataUrlsStatus\x12\x19\n\x15RenderDataUrlsInvalid\x10\x00\x12\x1b\n\x17RenderDataUrlsCompleted\x10\x02\x12\x18\n\x14RenderDataUrlsFailed\x10\x03*p\n\x10\x46ieldAssociation\x12!\n\x1d\x46IELD_ASSOCIATION_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x46IELD_ASSOCIATION_CELLS\x10\x01\x12\x1c\n\x18\x46IELD_ASSOCIATION_POINTS\x10\x02\x32\xcd\x0c\n\rVisAPIService\x12\x90\x01\n\rCreateExtract\x12=.luminary.proto.api.v0.luminarycloud.vis.CreateExtractRequest\x1a>.luminary.proto.api.v0.luminarycloud.vis.CreateExtractResponse\"\x00\x12\x87\x01\n\nGetExtract\x12:.luminary.proto.api.v0.luminarycloud.vis.GetExtractRequest\x1a;.luminary.proto.api.v0.luminarycloud.vis.GetExtractResponse\"\x00\x12\x8f\x01\n\x0eGetExtractSpec\x12:.luminary.proto.api.v0.luminarycloud.vis.GetExtractRequest\x1a?.luminary.proto.api.v0.luminarycloud.vis.GetExtractSpecResponse\"\x00\x12\x96\x01\n\x0f\x44ownloadExtract\x12?.luminary.proto.api.v0.luminarycloud.vis.DownloadExtractRequest\x1a@.luminary.proto.api.v0.luminarycloud.vis.DownloadExtractResponse\"\x00\x12\x8d\x01\n\x0cListExtracts\x12<.luminary.proto.api.v0.luminarycloud.vis.ListExtractsRequest\x1a=.luminary.proto.api.v0.luminarycloud.vis.ListExtractsResponse\"\x00\x12\x90\x01\n\rDeleteExtract\x12=.luminary.proto.api.v0.luminarycloud.vis.DeleteExtractRequest\x1a>.luminary.proto.api.v0.luminarycloud.vis.DeleteExtractResponse\"\x00\x12\x9c\x01\n\x11GetRenderDataUrls\x12\x41.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsRequest\x1a\x42.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsResponse\"\x00\x12\x9c\x01\n\x12ListSolutionFields\x12\x42.luminary.proto.api.v0.luminarycloud.vis.ListSolutionFieldsRequest\x1a@.luminary.proto.api.v0.luminarycloud.vis.ListSolutionFieldsReply\"\x00\x12\x87\x01\n\x0bListCameras\x12;.luminary.proto.api.v0.luminarycloud.vis.ListCamerasRequest\x1a\x39.luminary.proto.api.v0.luminarycloud.vis.ListCamerasReply\"\x00\x12\x81\x01\n\tGetCamera\x12\x39.luminary.proto.api.v0.luminarycloud.vis.GetCameraRequest\x1a\x37.luminary.proto.api.v0.luminarycloud.vis.GetCameraReply\"\x00\x12\x84\x01\n\nRangeQuery\x12:.luminary.proto.api.v0.luminarycloud.vis.RangeQueryRequest\x1a\x38.luminary.proto.api.v0.luminarycloud.vis.RangeQueryReply\"\x00\x42\x37Z5luminarycloud.com/core/proto/api/v0/luminarycloud/visb\x06proto3')
24
24
 
25
25
  _CAMERADIRECTION = DESCRIPTOR.enum_types_by_name['CameraDirection']
26
26
  CameraDirection = enum_type_wrapper.EnumTypeWrapper(_CAMERADIRECTION)
@@ -38,6 +38,8 @@ _EXTRACTSTATUS = DESCRIPTOR.enum_types_by_name['ExtractStatus']
38
38
  ExtractStatus = enum_type_wrapper.EnumTypeWrapper(_EXTRACTSTATUS)
39
39
  _RENDERDATAURLSSTATUS = DESCRIPTOR.enum_types_by_name['RenderDataUrlsStatus']
40
40
  RenderDataUrlsStatus = enum_type_wrapper.EnumTypeWrapper(_RENDERDATAURLSSTATUS)
41
+ _FIELDASSOCIATION = DESCRIPTOR.enum_types_by_name['FieldAssociation']
42
+ FieldAssociation = enum_type_wrapper.EnumTypeWrapper(_FIELDASSOCIATION)
41
43
  UNSPECIFIED = 0
42
44
  X_POSITIVE = 1
43
45
  Y_POSITIVE = 2
@@ -72,6 +74,9 @@ Failed = 3
72
74
  RenderDataUrlsInvalid = 0
73
75
  RenderDataUrlsCompleted = 2
74
76
  RenderDataUrlsFailed = 3
77
+ FIELD_ASSOCIATION_UNSPECIFIED = 0
78
+ FIELD_ASSOCIATION_CELLS = 1
79
+ FIELD_ASSOCIATION_POINTS = 2
75
80
 
76
81
 
77
82
  _PAN = DESCRIPTOR.message_types_by_name['Pan']
@@ -149,6 +154,10 @@ _LINEDATAEXTRACT = DESCRIPTOR.message_types_by_name['LineDataExtract']
149
154
  _LINEDATAEXTRACT_TABLE = _LINEDATAEXTRACT.nested_types_by_name['Table']
150
155
  _LINEDATAEXTRACT_LINESENTRY = _LINEDATAEXTRACT.nested_types_by_name['LinesEntry']
151
156
  _LINEDATAEXTRACT_LABELSENTRY = _LINEDATAEXTRACT.nested_types_by_name['LabelsEntry']
157
+ _RANGEENTITY = DESCRIPTOR.message_types_by_name['RangeEntity']
158
+ _RANGEQUERYREQUEST = DESCRIPTOR.message_types_by_name['RangeQueryRequest']
159
+ _RANGERESULT = DESCRIPTOR.message_types_by_name['RangeResult']
160
+ _RANGEQUERYREPLY = DESCRIPTOR.message_types_by_name['RangeQueryReply']
152
161
  _ANIMATIONSETTINGSTIMESTEP_FORMAT = _ANIMATIONSETTINGSTIMESTEP.enum_types_by_name['Format']
153
162
  _FIELD_COMPONENT = _FIELD.enum_types_by_name['Component']
154
163
  _COLORMAP_AUTOMATICLOCATION = _COLORMAP.enum_types_by_name['AutomaticLocation']
@@ -686,6 +695,34 @@ _sym_db.RegisterMessage(LineDataExtract.Table)
686
695
  _sym_db.RegisterMessage(LineDataExtract.LinesEntry)
687
696
  _sym_db.RegisterMessage(LineDataExtract.LabelsEntry)
688
697
 
698
+ RangeEntity = _reflection.GeneratedProtocolMessageType('RangeEntity', (_message.Message,), {
699
+ 'DESCRIPTOR' : _RANGEENTITY,
700
+ '__module__' : 'proto.api.v0.luminarycloud.vis.vis_pb2'
701
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.vis.RangeEntity)
702
+ })
703
+ _sym_db.RegisterMessage(RangeEntity)
704
+
705
+ RangeQueryRequest = _reflection.GeneratedProtocolMessageType('RangeQueryRequest', (_message.Message,), {
706
+ 'DESCRIPTOR' : _RANGEQUERYREQUEST,
707
+ '__module__' : 'proto.api.v0.luminarycloud.vis.vis_pb2'
708
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.vis.RangeQueryRequest)
709
+ })
710
+ _sym_db.RegisterMessage(RangeQueryRequest)
711
+
712
+ RangeResult = _reflection.GeneratedProtocolMessageType('RangeResult', (_message.Message,), {
713
+ 'DESCRIPTOR' : _RANGERESULT,
714
+ '__module__' : 'proto.api.v0.luminarycloud.vis.vis_pb2'
715
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.vis.RangeResult)
716
+ })
717
+ _sym_db.RegisterMessage(RangeResult)
718
+
719
+ RangeQueryReply = _reflection.GeneratedProtocolMessageType('RangeQueryReply', (_message.Message,), {
720
+ 'DESCRIPTOR' : _RANGEQUERYREPLY,
721
+ '__module__' : 'proto.api.v0.luminarycloud.vis.vis_pb2'
722
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.vis.RangeQueryReply)
723
+ })
724
+ _sym_db.RegisterMessage(RangeQueryReply)
725
+
689
726
  _VISAPISERVICE = DESCRIPTOR.services_by_name['VisAPIService']
690
727
  if _descriptor._USE_C_DESCRIPTORS == False:
691
728
 
@@ -781,22 +818,26 @@ if _descriptor._USE_C_DESCRIPTORS == False:
781
818
  _LINEDATAEXTRACT_LINESENTRY._serialized_options = b'8\001'
782
819
  _LINEDATAEXTRACT_LABELSENTRY._options = None
783
820
  _LINEDATAEXTRACT_LABELSENTRY._serialized_options = b'8\001'
784
- _CAMERADIRECTION._serialized_start=13661
785
- _CAMERADIRECTION._serialized_end=13791
786
- _CAMERAPROJECTION._serialized_start=13793
787
- _CAMERAPROJECTION._serialized_end=13846
788
- _REPRESENTATION._serialized_start=13848
789
- _REPRESENTATION._serialized_end=13928
790
- _STREAMLINESDIRECTION._serialized_start=13931
791
- _STREAMLINESDIRECTION._serialized_end=14095
792
- _GLYPHSAMPLINGMODE._serialized_start=14097
793
- _GLYPHSAMPLINGMODE._serialized_end=14188
794
- _COLORMAPNAME._serialized_start=14191
795
- _COLORMAPNAME._serialized_end=14425
796
- _EXTRACTSTATUS._serialized_start=14427
797
- _EXTRACTSTATUS._serialized_end=14494
798
- _RENDERDATAURLSSTATUS._serialized_start=14496
799
- _RENDERDATAURLSSTATUS._serialized_end=14600
821
+ _RANGEQUERYREQUEST.fields_by_name['include_only_volume']._options = None
822
+ _RANGEQUERYREQUEST.fields_by_name['include_only_volume']._serialized_options = b'\202\262\031\002(\000'
823
+ _CAMERADIRECTION._serialized_start=14246
824
+ _CAMERADIRECTION._serialized_end=14376
825
+ _CAMERAPROJECTION._serialized_start=14378
826
+ _CAMERAPROJECTION._serialized_end=14431
827
+ _REPRESENTATION._serialized_start=14433
828
+ _REPRESENTATION._serialized_end=14513
829
+ _STREAMLINESDIRECTION._serialized_start=14516
830
+ _STREAMLINESDIRECTION._serialized_end=14680
831
+ _GLYPHSAMPLINGMODE._serialized_start=14682
832
+ _GLYPHSAMPLINGMODE._serialized_end=14773
833
+ _COLORMAPNAME._serialized_start=14776
834
+ _COLORMAPNAME._serialized_end=15010
835
+ _EXTRACTSTATUS._serialized_start=15012
836
+ _EXTRACTSTATUS._serialized_end=15079
837
+ _RENDERDATAURLSSTATUS._serialized_start=15081
838
+ _RENDERDATAURLSSTATUS._serialized_end=15185
839
+ _FIELDASSOCIATION._serialized_start=15187
840
+ _FIELDASSOCIATION._serialized_end=15299
800
841
  _PAN._serialized_start=248
801
842
  _PAN._serialized_end=309
802
843
  _CAMERALOOKAT._serialized_start=312
@@ -953,6 +994,14 @@ if _descriptor._USE_C_DESCRIPTORS == False:
953
994
  _LINEDATAEXTRACT_LINESENTRY._serialized_end=13611
954
995
  _LINEDATAEXTRACT_LABELSENTRY._serialized_start=13613
955
996
  _LINEDATAEXTRACT_LABELSENTRY._serialized_end=13658
956
- _VISAPISERVICE._serialized_start=14603
957
- _VISAPISERVICE._serialized_end=16081
997
+ _RANGEENTITY._serialized_start=13660
998
+ _RANGEENTITY._serialized_end=13764
999
+ _RANGEQUERYREQUEST._serialized_start=13767
1000
+ _RANGEQUERYREQUEST._serialized_end=13999
1001
+ _RANGERESULT._serialized_start=14002
1002
+ _RANGERESULT._serialized_end=14155
1003
+ _RANGEQUERYREPLY._serialized_start=14157
1004
+ _RANGEQUERYREPLY._serialized_end=14243
1005
+ _VISAPISERVICE._serialized_start=15302
1006
+ _VISAPISERVICE._serialized_end=16915
958
1007
  # @@protoc_insertion_point(module_scope)