luminarycloud 0.15.1__py3-none-any.whl → 0.15.3__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 (53) hide show
  1. luminarycloud/_client/client.py +3 -0
  2. luminarycloud/_helpers/_code_representation.py +44 -19
  3. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +81 -81
  4. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +7 -1
  5. luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2.py +61 -0
  6. luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2.pyi +76 -0
  7. luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2_grpc.py +67 -0
  8. luminarycloud/_proto/api/v0/luminarycloud/inference/inference_pb2_grpc.pyi +26 -0
  9. luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.py +29 -27
  10. luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.pyi +5 -1
  11. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +46 -46
  12. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +7 -1
  13. luminarycloud/_proto/assistant/assistant_pb2.py +23 -23
  14. luminarycloud/_proto/assistant/assistant_pb2.pyi +21 -11
  15. luminarycloud/_proto/assistant/assistant_pb2_grpc.py +13 -13
  16. luminarycloud/_proto/assistant/assistant_pb2_grpc.pyi +6 -6
  17. luminarycloud/_proto/client/simulation_pb2.py +333 -324
  18. luminarycloud/_proto/client/simulation_pb2.pyi +26 -1
  19. luminarycloud/_proto/geometry/geometry_pb2.py +69 -61
  20. luminarycloud/_proto/geometry/geometry_pb2.pyi +30 -3
  21. luminarycloud/_proto/hexmesh/hexmesh_pb2.py +41 -37
  22. luminarycloud/_proto/hexmesh/hexmesh_pb2.pyi +18 -8
  23. luminarycloud/_proto/inferenceservice/inferenceservice_pb2.py +69 -0
  24. luminarycloud/_proto/inferenceservice/inferenceservice_pb2.pyi +80 -0
  25. luminarycloud/_proto/luminarycloud/luminarycloud_api.pb +0 -0
  26. luminarycloud/_proto/named_variable_set/named_variable_set_pb2.py +49 -0
  27. luminarycloud/_proto/named_variable_set/named_variable_set_pb2.pyi +53 -0
  28. luminarycloud/_proto/quantity/quantity_pb2.py +8 -5
  29. luminarycloud/_proto/quantity/quantity_pb2.pyi +2 -0
  30. luminarycloud/enum/__init__.py +3 -0
  31. luminarycloud/meshing/mesh_generation_params.py +6 -5
  32. luminarycloud/meshing/sizing_strategy/sizing_strategies.py +2 -1
  33. luminarycloud/named_variable_set.py +3 -1
  34. luminarycloud/physics_ai/inference.py +55 -0
  35. luminarycloud/pipeline_util/dictable.py +27 -0
  36. luminarycloud/pipeline_util/yaml.py +55 -0
  37. luminarycloud/pipelines/__init__.py +29 -0
  38. luminarycloud/pipelines/core.py +225 -0
  39. luminarycloud/pipelines/operators.py +197 -0
  40. luminarycloud/pipelines/parameters.py +42 -0
  41. luminarycloud/project.py +6 -6
  42. luminarycloud/simulation.py +35 -4
  43. luminarycloud/simulation_param.py +16 -12
  44. luminarycloud/simulation_template.py +10 -6
  45. luminarycloud/types/vector3.py +2 -1
  46. luminarycloud/vis/__init__.py +0 -3
  47. luminarycloud/vis/display.py +3 -2
  48. luminarycloud/vis/filters.py +1 -2
  49. luminarycloud/vis/interactive_scene.py +1 -1
  50. luminarycloud/vis/visualization.py +17 -1
  51. {luminarycloud-0.15.1.dist-info → luminarycloud-0.15.3.dist-info}/METADATA +2 -1
  52. {luminarycloud-0.15.1.dist-info → luminarycloud-0.15.3.dist-info}/RECORD +53 -37
  53. {luminarycloud-0.15.1.dist-info → luminarycloud-0.15.3.dist-info}/WHEEL +0 -0
@@ -31,6 +31,7 @@ from .._proto.api.v0.luminarycloud.named_variable_set.named_variable_set_pb2_grp
31
31
  from .._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2_grpc import (
32
32
  PhysicsAiServiceStub,
33
33
  )
34
+ from .._proto.api.v0.luminarycloud.inference.inference_pb2_grpc import InferenceServiceStub
34
35
  from .._proto.api.v0.luminarycloud.solution.solution_pb2_grpc import SolutionServiceStub
35
36
  from .._proto.api.v0.luminarycloud.upload.upload_pb2_grpc import UploadServiceStub
36
37
  from .._proto.api.v0.luminarycloud.vis.vis_pb2_grpc import VisAPIServiceStub
@@ -58,6 +59,7 @@ class Client(
58
59
  StoppingConditionServiceStub,
59
60
  NamedVariableSetServiceStub,
60
61
  PhysicsAiServiceStub,
62
+ InferenceServiceStub,
61
63
  ):
62
64
  """
63
65
  Creates a Luminary API client.
@@ -202,6 +204,7 @@ class Client(
202
204
  OutputDefinitionServiceStub.__init__(self, self._channel)
203
205
  StoppingConditionServiceStub.__init__(self, self._channel)
204
206
  PhysicsAiServiceStub.__init__(self, self._channel)
207
+ InferenceServiceStub.__init__(self, self._channel)
205
208
  NamedVariableSetServiceStub.__init__(self, self._channel)
206
209
  for name, value in self.__dict__.items():
207
210
  if isinstance(value, grpc.UnaryUnaryMultiCallable):
@@ -9,16 +9,16 @@ from google.protobuf.message import Message as _ProtoMessage
9
9
  # object being generated, e.g. they will be of the form " = Type()", ".field = val".
10
10
  # Derived classes can use _to_code_helper to insert an adequate object name.
11
11
  class CodeRepr:
12
- def to_code(self, hide_defaults: bool = True) -> str:
12
+ def _to_code(self, hide_defaults: bool = True, use_tmp_objs: bool = True) -> str:
13
13
  # Returns the code representation of a value with special cases for enums and classes
14
- # that also implement "to_code" (thus triggering recursion), otherwise uses the default
14
+ # that also implement "_to_code" (thus triggering recursion), otherwise uses the default
15
15
  # conversion to string.
16
16
  def to_string(val: Any) -> str:
17
17
  if "<enum " in str(type(val)):
18
18
  str_val = val.__repr__()
19
19
  return str_val.split(": ")[0][1:]
20
20
  try:
21
- return val.to_code(hide_defaults)
21
+ return val._to_code(hide_defaults, use_tmp_objs)
22
22
  except:
23
23
  return str(val)
24
24
 
@@ -29,14 +29,30 @@ class CodeRepr:
29
29
  if issubclass(type(val), _ProtoMessage):
30
30
  # Special case for protos.
31
31
  # TODO(pedro): This is not working 100%.
32
- code += "# NOTE: Google protobuf types are not fully supported yet.\n"
33
- code += f".{field} = {type(val).__name__}()\n"
34
- for line in str_val.split("\n"):
32
+ lines = str_val.split("\n")
33
+ short = len(lines) <= 4
34
+ code += f".{field} = {type(val).__name__}("
35
+ if not short:
36
+ # Default and set each field vs init fields in constructor.
37
+ code += ")\n"
38
+ needs_warning = False
39
+ for line in lines:
35
40
  if ":" in line:
36
- mod_line = line.replace(":", " =")
37
- code += f".{field}.{mod_line}\n"
41
+ if short:
42
+ mod_line = line.replace(": ", "=")
43
+ code += f"{mod_line}, "
44
+ else:
45
+ mod_line = line.replace(":", " =")
46
+ code += f".{field}.{mod_line}\n"
47
+ elif line:
48
+ needs_warning = True
49
+ if short:
50
+ code = code.strip(", ") + ")\n"
51
+ if needs_warning:
52
+ code = f"# NOTE: Google protobuf types are not fully supported yet.\n{code}"
53
+
38
54
  elif str_val.endswith("\n"):
39
- # Special case for fields with their own "to_code".
55
+ # Special case for fields with their own "_to_code".
40
56
  for line in str_val.split("\n"):
41
57
  if line.startswith("new_") or line.startswith("#"):
42
58
  code += f"{line}\n"
@@ -73,7 +89,7 @@ class CodeRepr:
73
89
  path = (
74
90
  str(type(self))
75
91
  .split("'")[1]
76
- .replace("luminarycloud.params.simulation", "params")
92
+ .replace("luminarycloud.params.simulation", "sim_params")
77
93
  .replace("luminarycloud.outputs.output_definitions", "outputs")
78
94
  )
79
95
  names = path.split(".")
@@ -100,9 +116,12 @@ class CodeRepr:
100
116
  elif isinstance(value, str):
101
117
  code += f'.{field}[{map_key(key)}] = "{value}"\n'
102
118
  else:
103
- code += f"# Create a new {type(value).__name__} instance and insert it.\n"
104
- code += generate(f"new_{field_short_name}", value)
105
- code += f".{field}[{map_key(key)}] = new_{field_short_name}\n"
119
+ code += f"# Insert a new {type(value).__name__}.\n"
120
+ if use_tmp_objs:
121
+ code += generate(f"new_{field_short_name}", value)
122
+ code += f".{field}[{map_key(key)}] = new_{field_short_name}\n"
123
+ else:
124
+ code += generate(f"{field}[{map_key(key)}]", value)
106
125
  elif isinstance(val, list):
107
126
  # Similar to maps, for classes with more complex representations create temporaries
108
127
  # and append, otherwise use the default list representation (which also covers
@@ -110,10 +129,14 @@ class CodeRepr:
110
129
  if len(val) > 0 and to_string(val[0]).endswith("\n"):
111
130
  code += f"# Clear the list of {type(val[0]).__name__} and append new items.\n"
112
131
  code += f".{field} = []\n"
113
- for value in val:
114
- code += f"# Create a new {type(value).__name__} instance and append it.\n"
115
- code += generate(f"new_{field_short_name}", value)
116
- code += f".{field}.append(new_{field_short_name})\n"
132
+ for i, value in enumerate(val):
133
+ code += f"# Append a new {type(value).__name__}.\n"
134
+ if use_tmp_objs:
135
+ code += generate(f"new_{field_short_name}", value)
136
+ code += f".{field}.append(new_{field_short_name})\n"
137
+ else:
138
+ code += f".{field}.append(None)\n"
139
+ code += generate(f"{field}[{i}]", value)
117
140
  else:
118
141
  code += f".{field} = {to_string(val)}\n"
119
142
  else:
@@ -121,9 +144,11 @@ class CodeRepr:
121
144
  return code
122
145
 
123
146
  # See the class description.
124
- def _to_code_helper(self, obj_name: str = "obj", hide_defaults: bool = True) -> str:
147
+ def _to_code_helper(
148
+ self, obj_name: str = "obj", hide_defaults: bool = True, use_tmp_objs: bool = True
149
+ ) -> str:
125
150
  code = ""
126
- for line in CodeRepr.to_code(self, hide_defaults).split("\n"):
151
+ for line in CodeRepr._to_code(self, hide_defaults, use_tmp_objs).split("\n"):
127
152
  if line:
128
153
  if line.startswith(".new_"):
129
154
  code += f"{line[1:]}\n"
@@ -21,7 +21,7 @@ from luminarycloud._proto.lcn import lcmesh_pb2 as proto_dot_lcn_dot_lcmesh__pb2
21
21
  from luminarycloud._proto.ratelimit import ratelimit_pb2 as proto_dot_ratelimit_dot_ratelimit__pb2
22
22
 
23
23
 
24
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2proto/api/v0/luminarycloud/geometry/geometry.proto\x12,luminary.proto.api.v0.luminarycloud.geometry\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1dproto/geometry/geometry.proto\x1a#proto/cadmetadata/cadmetadata.proto\x1a\x16proto/lcn/lcmesh.proto\x1a\x1fproto/ratelimit/ratelimit.proto\"\xa2\x03\n\x08Geometry\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12/\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x17\n\x0flast_version_id\x18\x06 \x01(\t\x12\x11\n\tuses_tags\x18\x07 \x01(\x08\x12\x16\n\x0e\x66orce_discrete\x18\x08 \x01(\x08\x12\x12\n\nproject_id\x18\t \x01(\t\x12R\n\x06status\x18\n \x01(\x0e\x32=.luminary.proto.api.v0.luminarycloud.geometry.Geometry.StatusH\x00\x88\x01\x01\"R\n\x06Status\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tIMPORTING\x10\x01\x12\x0f\n\x0bNEEDS_CHECK\x10\x02\x12\x10\n\x0c\x46\x41ILED_CHECK\x10\x03\x12\t\n\x05READY\x10\x04\x42\t\n\x07_status\"c\n\x0fGeometryVersion\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0bgeometry_id\x18\x02 \x01(\t\x12/\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x84\x02\n\x10TessellationData\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x11\n\tmeta_data\x18\x02 \x01(\x0c\x12\x36\n\x08lcn_meta\x18\x03 \x01(\x0b\x32$.luminary.proto.lcn.MeshFileMetadata\x12=\n\x0c\x63\x61\x64_metadata\x18\x04 \x01(\x0b\x32\'.luminary.proto.cadmetadata.CadMetadata\x12\x1b\n\x13geometry_version_id\x18\x05 \x01(\t\x12\x12\n\nfeature_id\x18\x06 \x01(\t\x12\x10\n\x08\x64\x61ta_url\x18\x07 \x01(\t\x12\x15\n\rmeta_data_url\x18\x08 \x01(\t\")\n\x12GetGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"_\n\x13GetGeometryResponse\x12H\n\x08geometry\x18\x01 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.geometry.Geometry\"i\n\x1bListGeometryFeaturesRequest\x12\x15\n\x0bgeometry_id\x18\x01 \x01(\tH\x00\x12\x1d\n\x13geometry_version_id\x18\x02 \x01(\tH\x00\x42\x14\n\x12parent_resource_id\"R\n\x1cListGeometryFeaturesResponse\x12\x32\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0b\x32 .luminary.proto.geometry.Feature\"n\n ListGeometryFeatureIssuesRequest\x12\x15\n\x0bgeometry_id\x18\x01 \x01(\tH\x00\x12\x1d\n\x13geometry_version_id\x18\x02 \x01(\tH\x00\x42\x14\n\x12parent_resource_id\"d\n!ListGeometryFeatureIssuesResponse\x12?\n\x0f\x66\x65\x61tures_issues\x18\x01 \x03(\x0b\x32&.luminary.proto.geometry.FeatureIssues\"i\n\x1bListGeometryEntitiesRequest\x12\x15\n\x0bgeometry_id\x18\x01 \x01(\tH\x00\x12\x1d\n\x13geometry_version_id\x18\x02 \x01(\tH\x00\x42\x14\n\x12parent_resource_id\"{\n\x1cListGeometryEntitiesResponse\x12,\n\x05\x66\x61\x63\x65s\x18\x01 \x03(\x0b\x32\x1d.luminary.proto.geometry.Face\x12-\n\x06\x62odies\x18\x02 \x03(\x0b\x32\x1d.luminary.proto.geometry.Body\"+\n\x15ListGeometriesRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"d\n\x16ListGeometriesResponse\x12J\n\ngeometries\x18\x01 \x03(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.geometry.Geometry\"I\n\x18SubscribeGeometryRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0bgeometry_id\x18\x02 \x01(\tJ\x04\x08\x03\x10\x04\"\xa0\x02\n\x0fGeometryHistory\x12\x61\n\rhistory_entry\x18\x01 \x01(\x0b\x32J.luminary.proto.api.v0.luminarycloud.geometry.GeometryHistory.HistoryEntry\x1a\xa9\x01\n\x0cHistoryEntry\x12;\n\x0cmodification\x18\x01 \x01(\x0b\x32%.luminary.proto.geometry.Modification\x12#\n\x1bgeometry_version_initial_id\x18\x02 \x01(\t\x12\x1f\n\x17geometry_version_new_id\x18\x03 \x01(\t\x12\x16\n\x0e\x63heckpoint_url\x18\x04 \x01(\t\"\xc9\x0e\n\x19SubscribeGeometryResponse\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12p\n\ncheckpoint\x18\x05 \x01(\x0b\x32Z.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.GeometryCheckpointH\x00\x12\x61\n\x04\x62usy\x18\x06 \x01(\x0b\x32Q.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyStateH\x00\x12\x1d\n\x13worker_disconnected\x18\x07 \x01(\x08H\x00\x12\x18\n\x0ereceived_error\x18\x08 \x01(\x08H\x00\x1a\xaa\x03\n\x12GeometryCheckpoint\x12\x10\n\x08mesh_url\x18\x02 \x01(\t\x12\x32\n\x08\x66\x65\x61tures\x18\x03 \x03(\x0b\x32 .luminary.proto.geometry.Feature\x12?\n\x0f\x66\x65\x61tures_issues\x18\x08 \x03(\x0b\x32&.luminary.proto.geometry.FeatureIssues\x12W\n\x10geometry_history\x18\x04 \x03(\x0b\x32=.luminary.proto.api.v0.luminarycloud.geometry.GeometryHistory\x12Y\n\x11tessellation_data\x18\x05 \x01(\x0b\x32>.luminary.proto.api.v0.luminarycloud.geometry.TessellationData\x12\x15\n\rn_avail_undos\x18\x06 \x01(\x05\x12\x15\n\rn_avail_redos\x18\x07 \x01(\x05\x12+\n\x04tags\x18\t \x01(\x0b\x32\x1d.luminary.proto.geometry.Tags\x1a\xcb\x08\n\tBusyState\x12\x0f\n\x07message\x18\x01 \x01(\t\x12}\n\x10\x66\x65\x61ture_progress\x18\x05 \x01(\x0b\x32\x61.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.FeatureProgressH\x00\x12\x85\x01\n\x14\x66\x65\x61ture_tessellation\x18\x06 \x01(\x0b\x32\x65.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.FeatureTessellationH\x00\x12o\n\tundo_redo\x18\x07 \x01(\x0b\x32Z.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.UndoRedoH\x00\x12p\n\treloading\x18\x08 \x01(\x0b\x32[.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.ReloadingH\x00\x12y\n\x0e\x64\x65lete_feature\x18\t \x01(\x0b\x32_.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.DeleteFeatureH\x00\x12y\n\x0erename_feature\x18\n \x01(\x0b\x32_.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.RenameFeatureH\x00\x12w\n\rtag_operation\x18\x0b \x01(\x0b\x32^.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.TagOperationH\x00\x1a%\n\x0f\x46\x65\x61tureProgress\x12\x12\n\nfeature_id\x18\x02 \x01(\t\x1a)\n\x13\x46\x65\x61tureTessellation\x12\x12\n\nfeature_id\x18\x03 \x01(\t\x1a\n\n\x08UndoRedo\x1a\x0b\n\tReloading\x1a#\n\rDeleteFeature\x12\x12\n\nfeature_id\x18\x04 \x01(\t\x1a#\n\rRenameFeature\x12\x12\n\nfeature_id\x18\x01 \x01(\t\x1a\x0e\n\x0cTagOperationB\x0f\n\rBusyStateTypeB\x0e\n\x0cResponseType\"}\n\x15ModifyGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12;\n\x0cmodification\x18\x02 \x01(\x0b\x32%.luminary.proto.geometry.Modification\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"\xbf\x01\n\x16ModifyGeometryResponse\x12\x32\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0b\x32 .luminary.proto.geometry.Feature\x12\x30\n\x07volumes\x18\x02 \x03(\x0b\x32\x1f.luminary.proto.geometry.Volume\x12?\n\x0f\x66\x65\x61tures_issues\x18\x03 \x03(\x0b\x32&.luminary.proto.geometry.FeatureIssues\"\xb0\x01\n\x15\x43reateGeometryRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x17\n\x0fweb_geometry_id\x18\t \x01(\t\x12\x0f\n\x07scaling\x18\x04 \x01(\x01\x12\x0c\n\x04wait\x18\x05 \x01(\x08\x12\x16\n\x0e\x66orce_discrete\x18\x07 \x01(\x08\x12\x12\n\nrequest_id\x18\x08 \x01(\tJ\x04\x08\x06\x10\x07\"b\n\x16\x43reateGeometryResponse\x12H\n\x08geometry\x18\x01 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.geometry.Geometry\"L\n\x13\x43opyGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"`\n\x14\x43opyGeometryResponse\x12H\n\x08geometry\x18\x01 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.geometry.Geometry\",\n\x15\x44\x65leteGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"\x18\n\x16\x44\x65leteGeometryResponse\"H\n\x14\x43heckGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\"3\n\x15\x43heckGeometryResponse\x12\n\n\x02ok\x18\x01 \x01(\x08\x12\x0e\n\x06issues\x18\x02 \x03(\t\"H\n\x18GetCheckGeometryResponse\x12\n\n\x02ok\x18\x01 \x01(\x08\x12\x0e\n\x06issues\x18\x02 \x03(\t\x12\x10\n\x08\x66inished\x18\x03 \x01(\x08\"S\n#TessellationUpToModificationRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x17\n\x0fmodification_id\x18\x02 \x01(\t\":\n$TessellationUpToModificationResponse\x12\x12\n\ntessel_url\x18\x01 \x01(\t\"0\n\x19LatestTessellationRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"5\n\x1aLatestTessellationResponse\x12\x17\n\x0ftesselation_url\x18\x01 \x01(\t\"\'\n\x10KeepAliveRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"\x13\n\x11KeepAliveResponse\"\x0e\n\x0cPanicRequest\"\x0f\n\rPanicResponse\"(\n\x11StopWorkerRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"\x14\n\x12StopWorkerResponse\"B\n\x0eGetTagsRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\">\n\x0fGetTagsResponse\x12+\n\x04tags\x18\x01 \x01(\x0b\x32\x1d.luminary.proto.geometry.Tags\"R\n\x03Tag\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06\x62odies\x18\x03 \x03(\x05\x12\x0f\n\x07volumes\x18\x04 \x03(\t\x12\x10\n\x08surfaces\x18\x05 \x03(\t\"]\n\x0fListTagsRequest\x12\x15\n\x0bgeometry_id\x18\x01 \x01(\tH\x00\x12\x1d\n\x13geometry_version_id\x18\x02 \x01(\tH\x00\x42\x14\n\x12parent_resource_id\"S\n\x10ListTagsResponse\x12?\n\x04tags\x18\x01 \x03(\x0b\x32\x31.luminary.proto.api.v0.luminarycloud.geometry.Tag\"8\n\x19GetGeometryVersionRequest\x12\x1b\n\x13geometry_version_id\x18\x01 \x01(\t\"u\n\x1aGetGeometryVersionResponse\x12W\n\x10geometry_version\x18\x01 \x01(\x0b\x32=.luminary.proto.api.v0.luminarycloud.geometry.GeometryVersion\"E\n\x11GetSdkCodeRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\"&\n\x12GetSdkCodeResponse\x12\x10\n\x08sdk_code\x18\x01 \x01(\t2\x87#\n\x0fGeometryService\x12\xd3\x01\n\x0eListGeometries\x12\x43.luminary.proto.api.v0.luminarycloud.geometry.ListGeometriesRequest\x1a\x44.luminary.proto.api.v0.luminarycloud.geometry.ListGeometriesResponse\"6\x82\xd3\xe4\x93\x02&\x12$/v0/projects/{project_id}/geometries\x8a\xb5\x18\x06\x08<\x12\x02\x08\x01\x12\x91\x02\n\x14ListGeometryEntities\x12I.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryEntitiesRequest\x1aJ.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryEntitiesResponse\"b\x82\xd3\xe4\x93\x02\\\x12#/v0/geometry/{geometry_id}/entitiesZ5\x12\x33/v0/geometry_version/{geometry_version_id}/entities\x12\xb6\x01\n\x0bGetGeometry\x12@.luminary.proto.api.v0.luminarycloud.geometry.GetGeometryRequest\x1a\x41.luminary.proto.api.v0.luminarycloud.geometry.GetGeometryResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/v0/geometry/{geometry_id}\x12\x91\x02\n\x14ListGeometryFeatures\x12I.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeaturesRequest\x1aJ.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeaturesResponse\"b\x82\xd3\xe4\x93\x02\\\x12#/v0/geometry/{geometry_id}/featuresZ5\x12\x33/v0/geometry_version/{geometry_version_id}/features\x12\xae\x02\n\x19ListGeometryFeatureIssues\x12N.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeatureIssuesRequest\x1aO.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeatureIssuesResponse\"p\x82\xd3\xe4\x93\x02j\x12*/v0/geometry/{geometry_id}/features/issuesZ<\x12:/v0/geometry_version/{geometry_version_id}/features/issues\x12\xae\x01\n\x11SubscribeGeometry\x12\x46.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryRequest\x1aG.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse\"\x06\x8a\xb5\x18\x02\x08\x32\x30\x01\x12\xd3\x01\n\x0eModifyGeometry\x12\x43.luminary.proto.api.v0.luminarycloud.geometry.ModifyGeometryRequest\x1a\x44.luminary.proto.api.v0.luminarycloud.geometry.ModifyGeometryResponse\"6\x82\xd3\xe4\x93\x02&\"!/v0/geometry/{geometry_id}/modify:\x01*\x8a\xb5\x18\x06\x08<\x12\x02\x08\x01\x12\xdb\x01\n\x0e\x43reateGeometry\x12\x43.luminary.proto.api.v0.luminarycloud.geometry.CreateGeometryRequest\x1a\x44.luminary.proto.api.v0.luminarycloud.geometry.CreateGeometryResponse\">\x82\xd3\xe4\x93\x02.\")/v0/projects/{project_id}/create-geometry:\x01*\x8a\xb5\x18\x06\x08\x1e\x12\x02\x08\x03\x12\xcb\x01\n\x0c\x43opyGeometry\x12\x41.luminary.proto.api.v0.luminarycloud.geometry.CopyGeometryRequest\x1a\x42.luminary.proto.api.v0.luminarycloud.geometry.CopyGeometryResponse\"4\x82\xd3\xe4\x93\x02$\"\x1f/v0/geometry/{geometry_id}:copy:\x01*\x8a\xb5\x18\x06\x08\x1e\x12\x02\x08\x03\x12\xd3\x01\n\x0e\x44\x65leteGeometry\x12\x43.luminary.proto.api.v0.luminarycloud.geometry.DeleteGeometryRequest\x1a\x44.luminary.proto.api.v0.luminarycloud.geometry.DeleteGeometryResponse\"6\x82\xd3\xe4\x93\x02&\"!/v0/geometry/{geometry_id}:delete:\x01*\x8a\xb5\x18\x06\x08\x1e\x12\x02\x08\x03\x12\xad\x01\n\x12StartCheckGeometry\x12\x42.luminary.proto.api.v0.luminarycloud.geometry.CheckGeometryRequest\x1a\x16.google.protobuf.Empty\";\x82\xd3\xe4\x93\x02+\"&/v0/geometry/{geometry_id}/start_check:\x01*\x8a\xb5\x18\x06\x08\x14\x12\x02\x08\x01\x12\xcf\x01\n\x10GetCheckGeometry\x12\x42.luminary.proto.api.v0.luminarycloud.geometry.CheckGeometryRequest\x1a\x46.luminary.proto.api.v0.luminarycloud.geometry.GetCheckGeometryResponse\"/\x82\xd3\xe4\x93\x02)\"$/v0/geometry/{geometry_id}/get_check:\x01*\x12\xc5\x01\n\rCheckGeometry\x12\x42.luminary.proto.api.v0.luminarycloud.geometry.CheckGeometryRequest\x1a\x43.luminary.proto.api.v0.luminarycloud.geometry.CheckGeometryResponse\"+\x82\xd3\xe4\x93\x02%\" /v0/geometry/{geometry_id}/check:\x01*\x12\xd0\x01\n\x1bTesselationUpToModification\x12Q.luminary.proto.api.v0.luminarycloud.geometry.TessellationUpToModificationRequest\x1aR.luminary.proto.api.v0.luminarycloud.geometry.TessellationUpToModificationResponse\"\n\x8a\xb5\x18\x06\x08\x14\x12\x02\x08\x01\x12\xa7\x01\n\x12LatestTessellation\x12G.luminary.proto.api.v0.luminarycloud.geometry.LatestTessellationRequest\x1aH.luminary.proto.api.v0.luminarycloud.geometry.LatestTessellationResponse\x12\x98\x01\n\tKeepAlive\x12>.luminary.proto.api.v0.luminarycloud.geometry.KeepAliveRequest\x1a?.luminary.proto.api.v0.luminarycloud.geometry.KeepAliveResponse\"\n\x8a\xb5\x18\x06\x08\x14\x12\x02\x08\x01\x12\x80\x01\n\x05Panic\x12:.luminary.proto.api.v0.luminarycloud.geometry.PanicRequest\x1a;.luminary.proto.api.v0.luminarycloud.geometry.PanicResponse\x12\x8f\x01\n\nStopWorker\x12?.luminary.proto.api.v0.luminarycloud.geometry.StopWorkerRequest\x1a@.luminary.proto.api.v0.luminarycloud.geometry.StopWorkerResponse\x12\x86\x01\n\x07GetTags\x12<.luminary.proto.api.v0.luminarycloud.geometry.GetTagsRequest\x1a=.luminary.proto.api.v0.luminarycloud.geometry.GetTagsResponse\x12\xe5\x01\n\x08ListTags\x12=.luminary.proto.api.v0.luminarycloud.geometry.ListTagsRequest\x1a>.luminary.proto.api.v0.luminarycloud.geometry.ListTagsResponse\"Z\x82\xd3\xe4\x93\x02T\x12\x1f/v0/geometry/{geometry_id}/tagsZ1\x12//v0/geometry_version/{geometry_version_id}/tags\x12\xdb\x01\n\x12GetGeometryVersion\x12G.luminary.proto.api.v0.luminarycloud.geometry.GetGeometryVersionRequest\x1aH.luminary.proto.api.v0.luminarycloud.geometry.GetGeometryVersionResponse\"2\x82\xd3\xe4\x93\x02,\x12*/v0/geometry_version/{geometry_version_id}\x12\xbc\x01\n\nGetSdkCode\x12?.luminary.proto.api.v0.luminarycloud.geometry.GetSdkCodeRequest\x1a@.luminary.proto.api.v0.luminarycloud.geometry.GetSdkCodeResponse\"+\x82\xd3\xe4\x93\x02%\x12#/v0/geometry/{geometry_id}/sdk-codeB<Z:luminarycloud.com/core/proto/api/v0/luminarycloud/geometryb\x06proto3')
24
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2proto/api/v0/luminarycloud/geometry/geometry.proto\x12,luminary.proto.api.v0.luminarycloud.geometry\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1dproto/geometry/geometry.proto\x1a#proto/cadmetadata/cadmetadata.proto\x1a\x16proto/lcn/lcmesh.proto\x1a\x1fproto/ratelimit/ratelimit.proto\"\xa2\x03\n\x08Geometry\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12/\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x17\n\x0flast_version_id\x18\x06 \x01(\t\x12\x11\n\tuses_tags\x18\x07 \x01(\x08\x12\x16\n\x0e\x66orce_discrete\x18\x08 \x01(\x08\x12\x12\n\nproject_id\x18\t \x01(\t\x12R\n\x06status\x18\n \x01(\x0e\x32=.luminary.proto.api.v0.luminarycloud.geometry.Geometry.StatusH\x00\x88\x01\x01\"R\n\x06Status\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tIMPORTING\x10\x01\x12\x0f\n\x0bNEEDS_CHECK\x10\x02\x12\x10\n\x0c\x46\x41ILED_CHECK\x10\x03\x12\t\n\x05READY\x10\x04\x42\t\n\x07_status\"c\n\x0fGeometryVersion\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0bgeometry_id\x18\x02 \x01(\t\x12/\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x84\x02\n\x10TessellationData\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x11\n\tmeta_data\x18\x02 \x01(\x0c\x12\x36\n\x08lcn_meta\x18\x03 \x01(\x0b\x32$.luminary.proto.lcn.MeshFileMetadata\x12=\n\x0c\x63\x61\x64_metadata\x18\x04 \x01(\x0b\x32\'.luminary.proto.cadmetadata.CadMetadata\x12\x1b\n\x13geometry_version_id\x18\x05 \x01(\t\x12\x12\n\nfeature_id\x18\x06 \x01(\t\x12\x10\n\x08\x64\x61ta_url\x18\x07 \x01(\t\x12\x15\n\rmeta_data_url\x18\x08 \x01(\t\")\n\x12GetGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"_\n\x13GetGeometryResponse\x12H\n\x08geometry\x18\x01 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.geometry.Geometry\"i\n\x1bListGeometryFeaturesRequest\x12\x15\n\x0bgeometry_id\x18\x01 \x01(\tH\x00\x12\x1d\n\x13geometry_version_id\x18\x02 \x01(\tH\x00\x42\x14\n\x12parent_resource_id\"R\n\x1cListGeometryFeaturesResponse\x12\x32\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0b\x32 .luminary.proto.geometry.Feature\"n\n ListGeometryFeatureIssuesRequest\x12\x15\n\x0bgeometry_id\x18\x01 \x01(\tH\x00\x12\x1d\n\x13geometry_version_id\x18\x02 \x01(\tH\x00\x42\x14\n\x12parent_resource_id\"d\n!ListGeometryFeatureIssuesResponse\x12?\n\x0f\x66\x65\x61tures_issues\x18\x01 \x03(\x0b\x32&.luminary.proto.geometry.FeatureIssues\"i\n\x1bListGeometryEntitiesRequest\x12\x15\n\x0bgeometry_id\x18\x01 \x01(\tH\x00\x12\x1d\n\x13geometry_version_id\x18\x02 \x01(\tH\x00\x42\x14\n\x12parent_resource_id\"{\n\x1cListGeometryEntitiesResponse\x12,\n\x05\x66\x61\x63\x65s\x18\x01 \x03(\x0b\x32\x1d.luminary.proto.geometry.Face\x12-\n\x06\x62odies\x18\x02 \x03(\x0b\x32\x1d.luminary.proto.geometry.Body\"+\n\x15ListGeometriesRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"d\n\x16ListGeometriesResponse\x12J\n\ngeometries\x18\x01 \x03(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.geometry.Geometry\"I\n\x18SubscribeGeometryRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x13\n\x0bgeometry_id\x18\x02 \x01(\tJ\x04\x08\x03\x10\x04\"\xa0\x02\n\x0fGeometryHistory\x12\x61\n\rhistory_entry\x18\x01 \x01(\x0b\x32J.luminary.proto.api.v0.luminarycloud.geometry.GeometryHistory.HistoryEntry\x1a\xa9\x01\n\x0cHistoryEntry\x12;\n\x0cmodification\x18\x01 \x01(\x0b\x32%.luminary.proto.geometry.Modification\x12#\n\x1bgeometry_version_initial_id\x18\x02 \x01(\t\x12\x1f\n\x17geometry_version_new_id\x18\x03 \x01(\t\x12\x16\n\x0e\x63heckpoint_url\x18\x04 \x01(\t\"\xaa\x0f\n\x19SubscribeGeometryResponse\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12p\n\ncheckpoint\x18\x05 \x01(\x0b\x32Z.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.GeometryCheckpointH\x00\x12\x61\n\x04\x62usy\x18\x06 \x01(\x0b\x32Q.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyStateH\x00\x12\x1d\n\x13worker_disconnected\x18\x07 \x01(\x08H\x00\x12\x18\n\x0ereceived_error\x18\x08 \x01(\x08H\x00\x1a\x8b\x04\n\x12GeometryCheckpoint\x12\x10\n\x08mesh_url\x18\x02 \x01(\t\x12\x32\n\x08\x66\x65\x61tures\x18\x03 \x03(\x0b\x32 .luminary.proto.geometry.Feature\x12?\n\x0f\x66\x65\x61tures_issues\x18\x08 \x03(\x0b\x32&.luminary.proto.geometry.FeatureIssues\x12W\n\x10geometry_history\x18\x04 \x03(\x0b\x32=.luminary.proto.api.v0.luminarycloud.geometry.GeometryHistory\x12Y\n\x11tessellation_data\x18\x05 \x01(\x0b\x32>.luminary.proto.api.v0.luminarycloud.geometry.TessellationData\x12\x15\n\rn_avail_undos\x18\x06 \x01(\x05\x12\x15\n\rn_avail_redos\x18\x07 \x01(\x05\x12+\n\x04tags\x18\t \x01(\x0b\x32\x1d.luminary.proto.geometry.Tags\x12\x38\n\x0bkernel_type\x18\n \x01(\x0e\x32#.luminary.proto.geometry.KernelType\x12%\n\x1dnamed_variable_set_version_id\x18\x0b \x01(\t\x1a\xcb\x08\n\tBusyState\x12\x0f\n\x07message\x18\x01 \x01(\t\x12}\n\x10\x66\x65\x61ture_progress\x18\x05 \x01(\x0b\x32\x61.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.FeatureProgressH\x00\x12\x85\x01\n\x14\x66\x65\x61ture_tessellation\x18\x06 \x01(\x0b\x32\x65.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.FeatureTessellationH\x00\x12o\n\tundo_redo\x18\x07 \x01(\x0b\x32Z.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.UndoRedoH\x00\x12p\n\treloading\x18\x08 \x01(\x0b\x32[.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.ReloadingH\x00\x12y\n\x0e\x64\x65lete_feature\x18\t \x01(\x0b\x32_.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.DeleteFeatureH\x00\x12y\n\x0erename_feature\x18\n \x01(\x0b\x32_.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.RenameFeatureH\x00\x12w\n\rtag_operation\x18\x0b \x01(\x0b\x32^.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse.BusyState.TagOperationH\x00\x1a%\n\x0f\x46\x65\x61tureProgress\x12\x12\n\nfeature_id\x18\x02 \x01(\t\x1a)\n\x13\x46\x65\x61tureTessellation\x12\x12\n\nfeature_id\x18\x03 \x01(\t\x1a\n\n\x08UndoRedo\x1a\x0b\n\tReloading\x1a#\n\rDeleteFeature\x12\x12\n\nfeature_id\x18\x04 \x01(\t\x1a#\n\rRenameFeature\x12\x12\n\nfeature_id\x18\x01 \x01(\t\x1a\x0e\n\x0cTagOperationB\x0f\n\rBusyStateTypeB\x0e\n\x0cResponseType\"}\n\x15ModifyGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12;\n\x0cmodification\x18\x02 \x01(\x0b\x32%.luminary.proto.geometry.Modification\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"\xbf\x01\n\x16ModifyGeometryResponse\x12\x32\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0b\x32 .luminary.proto.geometry.Feature\x12\x30\n\x07volumes\x18\x02 \x03(\x0b\x32\x1f.luminary.proto.geometry.Volume\x12?\n\x0f\x66\x65\x61tures_issues\x18\x03 \x03(\x0b\x32&.luminary.proto.geometry.FeatureIssues\"\xb0\x01\n\x15\x43reateGeometryRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x17\n\x0fweb_geometry_id\x18\t \x01(\t\x12\x0f\n\x07scaling\x18\x04 \x01(\x01\x12\x0c\n\x04wait\x18\x05 \x01(\x08\x12\x16\n\x0e\x66orce_discrete\x18\x07 \x01(\x08\x12\x12\n\nrequest_id\x18\x08 \x01(\tJ\x04\x08\x06\x10\x07\"b\n\x16\x43reateGeometryResponse\x12H\n\x08geometry\x18\x01 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.geometry.Geometry\"L\n\x13\x43opyGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"`\n\x14\x43opyGeometryResponse\x12H\n\x08geometry\x18\x01 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.geometry.Geometry\",\n\x15\x44\x65leteGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"\x18\n\x16\x44\x65leteGeometryResponse\"H\n\x14\x43heckGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\"3\n\x15\x43heckGeometryResponse\x12\n\n\x02ok\x18\x01 \x01(\x08\x12\x0e\n\x06issues\x18\x02 \x03(\t\"H\n\x18GetCheckGeometryResponse\x12\n\n\x02ok\x18\x01 \x01(\x08\x12\x0e\n\x06issues\x18\x02 \x03(\t\x12\x10\n\x08\x66inished\x18\x03 \x01(\x08\"S\n#TessellationUpToModificationRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x17\n\x0fmodification_id\x18\x02 \x01(\t\":\n$TessellationUpToModificationResponse\x12\x12\n\ntessel_url\x18\x01 \x01(\t\"0\n\x19LatestTessellationRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"5\n\x1aLatestTessellationResponse\x12\x17\n\x0ftesselation_url\x18\x01 \x01(\t\"\'\n\x10KeepAliveRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"\x13\n\x11KeepAliveResponse\"\x0e\n\x0cPanicRequest\"\x0f\n\rPanicResponse\"(\n\x11StopWorkerRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"\x14\n\x12StopWorkerResponse\"B\n\x0eGetTagsRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\">\n\x0fGetTagsResponse\x12+\n\x04tags\x18\x01 \x01(\x0b\x32\x1d.luminary.proto.geometry.Tags\"R\n\x03Tag\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06\x62odies\x18\x03 \x03(\x05\x12\x0f\n\x07volumes\x18\x04 \x03(\t\x12\x10\n\x08surfaces\x18\x05 \x03(\t\"]\n\x0fListTagsRequest\x12\x15\n\x0bgeometry_id\x18\x01 \x01(\tH\x00\x12\x1d\n\x13geometry_version_id\x18\x02 \x01(\tH\x00\x42\x14\n\x12parent_resource_id\"S\n\x10ListTagsResponse\x12?\n\x04tags\x18\x01 \x03(\x0b\x32\x31.luminary.proto.api.v0.luminarycloud.geometry.Tag\"8\n\x19GetGeometryVersionRequest\x12\x1b\n\x13geometry_version_id\x18\x01 \x01(\t\"u\n\x1aGetGeometryVersionResponse\x12W\n\x10geometry_version\x18\x01 \x01(\x0b\x32=.luminary.proto.api.v0.luminarycloud.geometry.GeometryVersion\"E\n\x11GetSdkCodeRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\"&\n\x12GetSdkCodeResponse\x12\x10\n\x08sdk_code\x18\x01 \x01(\t2\x87#\n\x0fGeometryService\x12\xd3\x01\n\x0eListGeometries\x12\x43.luminary.proto.api.v0.luminarycloud.geometry.ListGeometriesRequest\x1a\x44.luminary.proto.api.v0.luminarycloud.geometry.ListGeometriesResponse\"6\x82\xd3\xe4\x93\x02&\x12$/v0/projects/{project_id}/geometries\x8a\xb5\x18\x06\x08<\x12\x02\x08\x01\x12\x91\x02\n\x14ListGeometryEntities\x12I.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryEntitiesRequest\x1aJ.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryEntitiesResponse\"b\x82\xd3\xe4\x93\x02\\\x12#/v0/geometry/{geometry_id}/entitiesZ5\x12\x33/v0/geometry_version/{geometry_version_id}/entities\x12\xb6\x01\n\x0bGetGeometry\x12@.luminary.proto.api.v0.luminarycloud.geometry.GetGeometryRequest\x1a\x41.luminary.proto.api.v0.luminarycloud.geometry.GetGeometryResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/v0/geometry/{geometry_id}\x12\x91\x02\n\x14ListGeometryFeatures\x12I.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeaturesRequest\x1aJ.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeaturesResponse\"b\x82\xd3\xe4\x93\x02\\\x12#/v0/geometry/{geometry_id}/featuresZ5\x12\x33/v0/geometry_version/{geometry_version_id}/features\x12\xae\x02\n\x19ListGeometryFeatureIssues\x12N.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeatureIssuesRequest\x1aO.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeatureIssuesResponse\"p\x82\xd3\xe4\x93\x02j\x12*/v0/geometry/{geometry_id}/features/issuesZ<\x12:/v0/geometry_version/{geometry_version_id}/features/issues\x12\xae\x01\n\x11SubscribeGeometry\x12\x46.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryRequest\x1aG.luminary.proto.api.v0.luminarycloud.geometry.SubscribeGeometryResponse\"\x06\x8a\xb5\x18\x02\x08\x32\x30\x01\x12\xd3\x01\n\x0eModifyGeometry\x12\x43.luminary.proto.api.v0.luminarycloud.geometry.ModifyGeometryRequest\x1a\x44.luminary.proto.api.v0.luminarycloud.geometry.ModifyGeometryResponse\"6\x82\xd3\xe4\x93\x02&\"!/v0/geometry/{geometry_id}/modify:\x01*\x8a\xb5\x18\x06\x08<\x12\x02\x08\x01\x12\xdb\x01\n\x0e\x43reateGeometry\x12\x43.luminary.proto.api.v0.luminarycloud.geometry.CreateGeometryRequest\x1a\x44.luminary.proto.api.v0.luminarycloud.geometry.CreateGeometryResponse\">\x82\xd3\xe4\x93\x02.\")/v0/projects/{project_id}/create-geometry:\x01*\x8a\xb5\x18\x06\x08\x1e\x12\x02\x08\x03\x12\xcb\x01\n\x0c\x43opyGeometry\x12\x41.luminary.proto.api.v0.luminarycloud.geometry.CopyGeometryRequest\x1a\x42.luminary.proto.api.v0.luminarycloud.geometry.CopyGeometryResponse\"4\x82\xd3\xe4\x93\x02$\"\x1f/v0/geometry/{geometry_id}:copy:\x01*\x8a\xb5\x18\x06\x08\x1e\x12\x02\x08\x03\x12\xd3\x01\n\x0e\x44\x65leteGeometry\x12\x43.luminary.proto.api.v0.luminarycloud.geometry.DeleteGeometryRequest\x1a\x44.luminary.proto.api.v0.luminarycloud.geometry.DeleteGeometryResponse\"6\x82\xd3\xe4\x93\x02&\"!/v0/geometry/{geometry_id}:delete:\x01*\x8a\xb5\x18\x06\x08\x1e\x12\x02\x08\x03\x12\xad\x01\n\x12StartCheckGeometry\x12\x42.luminary.proto.api.v0.luminarycloud.geometry.CheckGeometryRequest\x1a\x16.google.protobuf.Empty\";\x82\xd3\xe4\x93\x02+\"&/v0/geometry/{geometry_id}/start_check:\x01*\x8a\xb5\x18\x06\x08\x14\x12\x02\x08\x01\x12\xcf\x01\n\x10GetCheckGeometry\x12\x42.luminary.proto.api.v0.luminarycloud.geometry.CheckGeometryRequest\x1a\x46.luminary.proto.api.v0.luminarycloud.geometry.GetCheckGeometryResponse\"/\x82\xd3\xe4\x93\x02)\"$/v0/geometry/{geometry_id}/get_check:\x01*\x12\xc5\x01\n\rCheckGeometry\x12\x42.luminary.proto.api.v0.luminarycloud.geometry.CheckGeometryRequest\x1a\x43.luminary.proto.api.v0.luminarycloud.geometry.CheckGeometryResponse\"+\x82\xd3\xe4\x93\x02%\" /v0/geometry/{geometry_id}/check:\x01*\x12\xd0\x01\n\x1bTesselationUpToModification\x12Q.luminary.proto.api.v0.luminarycloud.geometry.TessellationUpToModificationRequest\x1aR.luminary.proto.api.v0.luminarycloud.geometry.TessellationUpToModificationResponse\"\n\x8a\xb5\x18\x06\x08\x14\x12\x02\x08\x01\x12\xa7\x01\n\x12LatestTessellation\x12G.luminary.proto.api.v0.luminarycloud.geometry.LatestTessellationRequest\x1aH.luminary.proto.api.v0.luminarycloud.geometry.LatestTessellationResponse\x12\x98\x01\n\tKeepAlive\x12>.luminary.proto.api.v0.luminarycloud.geometry.KeepAliveRequest\x1a?.luminary.proto.api.v0.luminarycloud.geometry.KeepAliveResponse\"\n\x8a\xb5\x18\x06\x08\x14\x12\x02\x08\x01\x12\x80\x01\n\x05Panic\x12:.luminary.proto.api.v0.luminarycloud.geometry.PanicRequest\x1a;.luminary.proto.api.v0.luminarycloud.geometry.PanicResponse\x12\x8f\x01\n\nStopWorker\x12?.luminary.proto.api.v0.luminarycloud.geometry.StopWorkerRequest\x1a@.luminary.proto.api.v0.luminarycloud.geometry.StopWorkerResponse\x12\x86\x01\n\x07GetTags\x12<.luminary.proto.api.v0.luminarycloud.geometry.GetTagsRequest\x1a=.luminary.proto.api.v0.luminarycloud.geometry.GetTagsResponse\x12\xe5\x01\n\x08ListTags\x12=.luminary.proto.api.v0.luminarycloud.geometry.ListTagsRequest\x1a>.luminary.proto.api.v0.luminarycloud.geometry.ListTagsResponse\"Z\x82\xd3\xe4\x93\x02T\x12\x1f/v0/geometry/{geometry_id}/tagsZ1\x12//v0/geometry_version/{geometry_version_id}/tags\x12\xdb\x01\n\x12GetGeometryVersion\x12G.luminary.proto.api.v0.luminarycloud.geometry.GetGeometryVersionRequest\x1aH.luminary.proto.api.v0.luminarycloud.geometry.GetGeometryVersionResponse\"2\x82\xd3\xe4\x93\x02,\x12*/v0/geometry_version/{geometry_version_id}\x12\xbc\x01\n\nGetSdkCode\x12?.luminary.proto.api.v0.luminarycloud.geometry.GetSdkCodeRequest\x1a@.luminary.proto.api.v0.luminarycloud.geometry.GetSdkCodeResponse\"+\x82\xd3\xe4\x93\x02%\x12#/v0/geometry/{geometry_id}/sdk-codeB<Z:luminarycloud.com/core/proto/api/v0/luminarycloud/geometryb\x06proto3')
25
25
 
26
26
 
27
27
 
@@ -560,85 +560,85 @@ if _descriptor._USE_C_DESCRIPTORS == False:
560
560
  _GEOMETRYHISTORY_HISTORYENTRY._serialized_start=2221
561
561
  _GEOMETRYHISTORY_HISTORYENTRY._serialized_end=2390
562
562
  _SUBSCRIBEGEOMETRYRESPONSE._serialized_start=2393
563
- _SUBSCRIBEGEOMETRYRESPONSE._serialized_end=4258
563
+ _SUBSCRIBEGEOMETRYRESPONSE._serialized_end=4355
564
564
  _SUBSCRIBEGEOMETRYRESPONSE_GEOMETRYCHECKPOINT._serialized_start=2714
565
- _SUBSCRIBEGEOMETRYRESPONSE_GEOMETRYCHECKPOINT._serialized_end=3140
566
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE._serialized_start=3143
567
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE._serialized_end=4242
568
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATUREPROGRESS._serialized_start=4030
569
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATUREPROGRESS._serialized_end=4067
570
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATURETESSELLATION._serialized_start=4069
571
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATURETESSELLATION._serialized_end=4110
572
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_UNDOREDO._serialized_start=4112
573
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_UNDOREDO._serialized_end=4122
574
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RELOADING._serialized_start=4124
575
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RELOADING._serialized_end=4135
576
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_DELETEFEATURE._serialized_start=4137
577
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_DELETEFEATURE._serialized_end=4172
578
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RENAMEFEATURE._serialized_start=4174
579
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RENAMEFEATURE._serialized_end=4209
580
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_TAGOPERATION._serialized_start=4211
581
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_TAGOPERATION._serialized_end=4225
582
- _MODIFYGEOMETRYREQUEST._serialized_start=4260
583
- _MODIFYGEOMETRYREQUEST._serialized_end=4385
584
- _MODIFYGEOMETRYRESPONSE._serialized_start=4388
585
- _MODIFYGEOMETRYRESPONSE._serialized_end=4579
586
- _CREATEGEOMETRYREQUEST._serialized_start=4582
587
- _CREATEGEOMETRYREQUEST._serialized_end=4758
588
- _CREATEGEOMETRYRESPONSE._serialized_start=4760
589
- _CREATEGEOMETRYRESPONSE._serialized_end=4858
590
- _COPYGEOMETRYREQUEST._serialized_start=4860
591
- _COPYGEOMETRYREQUEST._serialized_end=4936
592
- _COPYGEOMETRYRESPONSE._serialized_start=4938
593
- _COPYGEOMETRYRESPONSE._serialized_end=5034
594
- _DELETEGEOMETRYREQUEST._serialized_start=5036
595
- _DELETEGEOMETRYREQUEST._serialized_end=5080
596
- _DELETEGEOMETRYRESPONSE._serialized_start=5082
597
- _DELETEGEOMETRYRESPONSE._serialized_end=5106
598
- _CHECKGEOMETRYREQUEST._serialized_start=5108
599
- _CHECKGEOMETRYREQUEST._serialized_end=5180
600
- _CHECKGEOMETRYRESPONSE._serialized_start=5182
601
- _CHECKGEOMETRYRESPONSE._serialized_end=5233
602
- _GETCHECKGEOMETRYRESPONSE._serialized_start=5235
603
- _GETCHECKGEOMETRYRESPONSE._serialized_end=5307
604
- _TESSELLATIONUPTOMODIFICATIONREQUEST._serialized_start=5309
605
- _TESSELLATIONUPTOMODIFICATIONREQUEST._serialized_end=5392
606
- _TESSELLATIONUPTOMODIFICATIONRESPONSE._serialized_start=5394
607
- _TESSELLATIONUPTOMODIFICATIONRESPONSE._serialized_end=5452
608
- _LATESTTESSELLATIONREQUEST._serialized_start=5454
609
- _LATESTTESSELLATIONREQUEST._serialized_end=5502
610
- _LATESTTESSELLATIONRESPONSE._serialized_start=5504
611
- _LATESTTESSELLATIONRESPONSE._serialized_end=5557
612
- _KEEPALIVEREQUEST._serialized_start=5559
613
- _KEEPALIVEREQUEST._serialized_end=5598
614
- _KEEPALIVERESPONSE._serialized_start=5600
615
- _KEEPALIVERESPONSE._serialized_end=5619
616
- _PANICREQUEST._serialized_start=5621
617
- _PANICREQUEST._serialized_end=5635
618
- _PANICRESPONSE._serialized_start=5637
619
- _PANICRESPONSE._serialized_end=5652
620
- _STOPWORKERREQUEST._serialized_start=5654
621
- _STOPWORKERREQUEST._serialized_end=5694
622
- _STOPWORKERRESPONSE._serialized_start=5696
623
- _STOPWORKERRESPONSE._serialized_end=5716
624
- _GETTAGSREQUEST._serialized_start=5718
625
- _GETTAGSREQUEST._serialized_end=5784
626
- _GETTAGSRESPONSE._serialized_start=5786
627
- _GETTAGSRESPONSE._serialized_end=5848
628
- _TAG._serialized_start=5850
629
- _TAG._serialized_end=5932
630
- _LISTTAGSREQUEST._serialized_start=5934
631
- _LISTTAGSREQUEST._serialized_end=6027
632
- _LISTTAGSRESPONSE._serialized_start=6029
633
- _LISTTAGSRESPONSE._serialized_end=6112
634
- _GETGEOMETRYVERSIONREQUEST._serialized_start=6114
635
- _GETGEOMETRYVERSIONREQUEST._serialized_end=6170
636
- _GETGEOMETRYVERSIONRESPONSE._serialized_start=6172
637
- _GETGEOMETRYVERSIONRESPONSE._serialized_end=6289
638
- _GETSDKCODEREQUEST._serialized_start=6291
639
- _GETSDKCODEREQUEST._serialized_end=6360
640
- _GETSDKCODERESPONSE._serialized_start=6362
641
- _GETSDKCODERESPONSE._serialized_end=6400
642
- _GEOMETRYSERVICE._serialized_start=6403
643
- _GEOMETRYSERVICE._serialized_end=10890
565
+ _SUBSCRIBEGEOMETRYRESPONSE_GEOMETRYCHECKPOINT._serialized_end=3237
566
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE._serialized_start=3240
567
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE._serialized_end=4339
568
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATUREPROGRESS._serialized_start=4127
569
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATUREPROGRESS._serialized_end=4164
570
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATURETESSELLATION._serialized_start=4166
571
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATURETESSELLATION._serialized_end=4207
572
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_UNDOREDO._serialized_start=4209
573
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_UNDOREDO._serialized_end=4219
574
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RELOADING._serialized_start=4221
575
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RELOADING._serialized_end=4232
576
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_DELETEFEATURE._serialized_start=4234
577
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_DELETEFEATURE._serialized_end=4269
578
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RENAMEFEATURE._serialized_start=4271
579
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RENAMEFEATURE._serialized_end=4306
580
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_TAGOPERATION._serialized_start=4308
581
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_TAGOPERATION._serialized_end=4322
582
+ _MODIFYGEOMETRYREQUEST._serialized_start=4357
583
+ _MODIFYGEOMETRYREQUEST._serialized_end=4482
584
+ _MODIFYGEOMETRYRESPONSE._serialized_start=4485
585
+ _MODIFYGEOMETRYRESPONSE._serialized_end=4676
586
+ _CREATEGEOMETRYREQUEST._serialized_start=4679
587
+ _CREATEGEOMETRYREQUEST._serialized_end=4855
588
+ _CREATEGEOMETRYRESPONSE._serialized_start=4857
589
+ _CREATEGEOMETRYRESPONSE._serialized_end=4955
590
+ _COPYGEOMETRYREQUEST._serialized_start=4957
591
+ _COPYGEOMETRYREQUEST._serialized_end=5033
592
+ _COPYGEOMETRYRESPONSE._serialized_start=5035
593
+ _COPYGEOMETRYRESPONSE._serialized_end=5131
594
+ _DELETEGEOMETRYREQUEST._serialized_start=5133
595
+ _DELETEGEOMETRYREQUEST._serialized_end=5177
596
+ _DELETEGEOMETRYRESPONSE._serialized_start=5179
597
+ _DELETEGEOMETRYRESPONSE._serialized_end=5203
598
+ _CHECKGEOMETRYREQUEST._serialized_start=5205
599
+ _CHECKGEOMETRYREQUEST._serialized_end=5277
600
+ _CHECKGEOMETRYRESPONSE._serialized_start=5279
601
+ _CHECKGEOMETRYRESPONSE._serialized_end=5330
602
+ _GETCHECKGEOMETRYRESPONSE._serialized_start=5332
603
+ _GETCHECKGEOMETRYRESPONSE._serialized_end=5404
604
+ _TESSELLATIONUPTOMODIFICATIONREQUEST._serialized_start=5406
605
+ _TESSELLATIONUPTOMODIFICATIONREQUEST._serialized_end=5489
606
+ _TESSELLATIONUPTOMODIFICATIONRESPONSE._serialized_start=5491
607
+ _TESSELLATIONUPTOMODIFICATIONRESPONSE._serialized_end=5549
608
+ _LATESTTESSELLATIONREQUEST._serialized_start=5551
609
+ _LATESTTESSELLATIONREQUEST._serialized_end=5599
610
+ _LATESTTESSELLATIONRESPONSE._serialized_start=5601
611
+ _LATESTTESSELLATIONRESPONSE._serialized_end=5654
612
+ _KEEPALIVEREQUEST._serialized_start=5656
613
+ _KEEPALIVEREQUEST._serialized_end=5695
614
+ _KEEPALIVERESPONSE._serialized_start=5697
615
+ _KEEPALIVERESPONSE._serialized_end=5716
616
+ _PANICREQUEST._serialized_start=5718
617
+ _PANICREQUEST._serialized_end=5732
618
+ _PANICRESPONSE._serialized_start=5734
619
+ _PANICRESPONSE._serialized_end=5749
620
+ _STOPWORKERREQUEST._serialized_start=5751
621
+ _STOPWORKERREQUEST._serialized_end=5791
622
+ _STOPWORKERRESPONSE._serialized_start=5793
623
+ _STOPWORKERRESPONSE._serialized_end=5813
624
+ _GETTAGSREQUEST._serialized_start=5815
625
+ _GETTAGSREQUEST._serialized_end=5881
626
+ _GETTAGSRESPONSE._serialized_start=5883
627
+ _GETTAGSRESPONSE._serialized_end=5945
628
+ _TAG._serialized_start=5947
629
+ _TAG._serialized_end=6029
630
+ _LISTTAGSREQUEST._serialized_start=6031
631
+ _LISTTAGSREQUEST._serialized_end=6124
632
+ _LISTTAGSRESPONSE._serialized_start=6126
633
+ _LISTTAGSRESPONSE._serialized_end=6209
634
+ _GETGEOMETRYVERSIONREQUEST._serialized_start=6211
635
+ _GETGEOMETRYVERSIONREQUEST._serialized_end=6267
636
+ _GETGEOMETRYVERSIONRESPONSE._serialized_start=6269
637
+ _GETGEOMETRYVERSIONRESPONSE._serialized_end=6386
638
+ _GETSDKCODEREQUEST._serialized_start=6388
639
+ _GETSDKCODEREQUEST._serialized_end=6457
640
+ _GETSDKCODERESPONSE._serialized_start=6459
641
+ _GETSDKCODERESPONSE._serialized_end=6497
642
+ _GEOMETRYSERVICE._serialized_start=6500
643
+ _GEOMETRYSERVICE._serialized_end=10987
644
644
  # @@protoc_insertion_point(module_scope)
@@ -400,6 +400,8 @@ class SubscribeGeometryResponse(google.protobuf.message.Message):
400
400
  N_AVAIL_UNDOS_FIELD_NUMBER: builtins.int
401
401
  N_AVAIL_REDOS_FIELD_NUMBER: builtins.int
402
402
  TAGS_FIELD_NUMBER: builtins.int
403
+ KERNEL_TYPE_FIELD_NUMBER: builtins.int
404
+ NAMED_VARIABLE_SET_VERSION_ID_FIELD_NUMBER: builtins.int
403
405
  mesh_url: builtins.str
404
406
  @property
405
407
  def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[luminarycloud._proto.geometry.geometry_pb2.Feature]: ...
@@ -419,6 +421,8 @@ class SubscribeGeometryResponse(google.protobuf.message.Message):
419
421
  n_avail_redos: builtins.int
420
422
  @property
421
423
  def tags(self) -> luminarycloud._proto.geometry.geometry_pb2.Tags: ...
424
+ kernel_type: luminarycloud._proto.geometry.geometry_pb2.KernelType.ValueType
425
+ named_variable_set_version_id: builtins.str
422
426
  def __init__(
423
427
  self,
424
428
  *,
@@ -430,9 +434,11 @@ class SubscribeGeometryResponse(google.protobuf.message.Message):
430
434
  n_avail_undos: builtins.int = ...,
431
435
  n_avail_redos: builtins.int = ...,
432
436
  tags: luminarycloud._proto.geometry.geometry_pb2.Tags | None = ...,
437
+ kernel_type: luminarycloud._proto.geometry.geometry_pb2.KernelType.ValueType = ...,
438
+ named_variable_set_version_id: builtins.str = ...,
433
439
  ) -> None: ...
434
440
  def HasField(self, field_name: typing_extensions.Literal["tags", b"tags", "tessellation_data", b"tessellation_data"]) -> builtins.bool: ...
435
- def ClearField(self, field_name: typing_extensions.Literal["features", b"features", "features_issues", b"features_issues", "geometry_history", b"geometry_history", "mesh_url", b"mesh_url", "n_avail_redos", b"n_avail_redos", "n_avail_undos", b"n_avail_undos", "tags", b"tags", "tessellation_data", b"tessellation_data"]) -> None: ...
441
+ def ClearField(self, field_name: typing_extensions.Literal["features", b"features", "features_issues", b"features_issues", "geometry_history", b"geometry_history", "kernel_type", b"kernel_type", "mesh_url", b"mesh_url", "n_avail_redos", b"n_avail_redos", "n_avail_undos", b"n_avail_undos", "named_variable_set_version_id", b"named_variable_set_version_id", "tags", b"tags", "tessellation_data", b"tessellation_data"]) -> None: ...
436
442
 
437
443
  class BusyState(google.protobuf.message.Message):
438
444
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -0,0 +1,61 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: proto/api/v0/luminarycloud/inference/inference.proto
4
+ """Generated protocol buffer code."""
5
+ from google.protobuf.internal import enum_type_wrapper
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import message as _message
9
+ from google.protobuf import reflection as _reflection
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ # @@protoc_insertion_point(imports)
12
+
13
+ _sym_db = _symbol_database.Default()
14
+
15
+
16
+ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
17
+ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
18
+ from luminarycloud._proto.inferenceservice import inferenceservice_pb2 as proto_dot_inferenceservice_dot_inferenceservice__pb2
19
+
20
+
21
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4proto/api/v0/luminarycloud/inference/inference.proto\x12-luminary.proto.api.v0.luminarycloud.inference\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a-proto/inferenceservice/inferenceservice.proto\"q\n CreateInferenceServiceJobRequest\x12\x0f\n\x07stl_url\x18\x01 \x01(\t\x12\x11\n\tmodel_url\x18\x02 \x01(\t\x12\x13\n\x0b\x63onfig_name\x18\x03 \x01(\t\x12\x14\n\x0cstencil_size\x18\x04 \x01(\x05\"\x8e\x01\n!CreateInferenceServiceJobResponse\x12\x45\n\x06status\x18\x01 \x01(\x0e\x32\x35.luminary.proto.api.v0.luminarycloud.inference.Status\x12\x15\n\x08response\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_response*D\n\x06Status\x12\x12\n\x0eSTATUS_PENDING\x10\x00\x12\x12\n\x0eSTATUS_SUCCESS\x10\x01\x12\x12\n\x0eSTATUS_FAILURE\x10\x02\x32\xea\x01\n\x10InferenceService\x12\xd5\x01\n\x19\x43reateInferenceServiceJob\x12O.luminary.proto.api.v0.luminarycloud.inference.CreateInferenceServiceJobRequest\x1aP.luminary.proto.api.v0.luminarycloud.inference.CreateInferenceServiceJobResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\"\r/v0/inferenceB=Z;luminarycloud.com/core/proto/api/v0/luminarycloud/inferenceb\x06proto3')
22
+
23
+ _STATUS = DESCRIPTOR.enum_types_by_name['Status']
24
+ Status = enum_type_wrapper.EnumTypeWrapper(_STATUS)
25
+ STATUS_PENDING = 0
26
+ STATUS_SUCCESS = 1
27
+ STATUS_FAILURE = 2
28
+
29
+
30
+ _CREATEINFERENCESERVICEJOBREQUEST = DESCRIPTOR.message_types_by_name['CreateInferenceServiceJobRequest']
31
+ _CREATEINFERENCESERVICEJOBRESPONSE = DESCRIPTOR.message_types_by_name['CreateInferenceServiceJobResponse']
32
+ CreateInferenceServiceJobRequest = _reflection.GeneratedProtocolMessageType('CreateInferenceServiceJobRequest', (_message.Message,), {
33
+ 'DESCRIPTOR' : _CREATEINFERENCESERVICEJOBREQUEST,
34
+ '__module__' : 'proto.api.v0.luminarycloud.inference.inference_pb2'
35
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.inference.CreateInferenceServiceJobRequest)
36
+ })
37
+ _sym_db.RegisterMessage(CreateInferenceServiceJobRequest)
38
+
39
+ CreateInferenceServiceJobResponse = _reflection.GeneratedProtocolMessageType('CreateInferenceServiceJobResponse', (_message.Message,), {
40
+ 'DESCRIPTOR' : _CREATEINFERENCESERVICEJOBRESPONSE,
41
+ '__module__' : 'proto.api.v0.luminarycloud.inference.inference_pb2'
42
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.inference.CreateInferenceServiceJobResponse)
43
+ })
44
+ _sym_db.RegisterMessage(CreateInferenceServiceJobResponse)
45
+
46
+ _INFERENCESERVICE = DESCRIPTOR.services_by_name['InferenceService']
47
+ if _descriptor._USE_C_DESCRIPTORS == False:
48
+
49
+ DESCRIPTOR._options = None
50
+ DESCRIPTOR._serialized_options = b'Z;luminarycloud.com/core/proto/api/v0/luminarycloud/inference'
51
+ _INFERENCESERVICE.methods_by_name['CreateInferenceServiceJob']._options = None
52
+ _INFERENCESERVICE.methods_by_name['CreateInferenceServiceJob']._serialized_options = b'\202\323\344\223\002\017\"\r/v0/inference'
53
+ _STATUS._serialized_start=469
54
+ _STATUS._serialized_end=537
55
+ _CREATEINFERENCESERVICEJOBREQUEST._serialized_start=209
56
+ _CREATEINFERENCESERVICEJOBREQUEST._serialized_end=322
57
+ _CREATEINFERENCESERVICEJOBRESPONSE._serialized_start=325
58
+ _CREATEINFERENCESERVICEJOBRESPONSE._serialized_end=467
59
+ _INFERENCESERVICE._serialized_start=540
60
+ _INFERENCESERVICE._serialized_end=774
61
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,76 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ import google.protobuf.descriptor
7
+ import google.protobuf.internal.enum_type_wrapper
8
+ import google.protobuf.message
9
+ import sys
10
+ import typing
11
+
12
+ if sys.version_info >= (3, 10):
13
+ import typing as typing_extensions
14
+ else:
15
+ import typing_extensions
16
+
17
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
18
+
19
+ class _Status:
20
+ ValueType = typing.NewType("ValueType", builtins.int)
21
+ V: typing_extensions.TypeAlias = ValueType
22
+
23
+ class _StatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Status.ValueType], builtins.type): # noqa: F821
24
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
25
+ STATUS_PENDING: _Status.ValueType # 0
26
+ STATUS_SUCCESS: _Status.ValueType # 1
27
+ STATUS_FAILURE: _Status.ValueType # 2
28
+
29
+ class Status(_Status, metaclass=_StatusEnumTypeWrapper): ...
30
+
31
+ STATUS_PENDING: Status.ValueType # 0
32
+ STATUS_SUCCESS: Status.ValueType # 1
33
+ STATUS_FAILURE: Status.ValueType # 2
34
+ global___Status = Status
35
+
36
+ class CreateInferenceServiceJobRequest(google.protobuf.message.Message):
37
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
38
+
39
+ STL_URL_FIELD_NUMBER: builtins.int
40
+ MODEL_URL_FIELD_NUMBER: builtins.int
41
+ CONFIG_NAME_FIELD_NUMBER: builtins.int
42
+ STENCIL_SIZE_FIELD_NUMBER: builtins.int
43
+ stl_url: builtins.str
44
+ model_url: builtins.str
45
+ config_name: builtins.str
46
+ stencil_size: builtins.int
47
+ def __init__(
48
+ self,
49
+ *,
50
+ stl_url: builtins.str = ...,
51
+ model_url: builtins.str = ...,
52
+ config_name: builtins.str = ...,
53
+ stencil_size: builtins.int = ...,
54
+ ) -> None: ...
55
+ def ClearField(self, field_name: typing_extensions.Literal["config_name", b"config_name", "model_url", b"model_url", "stencil_size", b"stencil_size", "stl_url", b"stl_url"]) -> None: ...
56
+
57
+ global___CreateInferenceServiceJobRequest = CreateInferenceServiceJobRequest
58
+
59
+ class CreateInferenceServiceJobResponse(google.protobuf.message.Message):
60
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
61
+
62
+ STATUS_FIELD_NUMBER: builtins.int
63
+ RESPONSE_FIELD_NUMBER: builtins.int
64
+ status: global___Status.ValueType
65
+ response: builtins.bytes
66
+ def __init__(
67
+ self,
68
+ *,
69
+ status: global___Status.ValueType = ...,
70
+ response: builtins.bytes | None = ...,
71
+ ) -> None: ...
72
+ def HasField(self, field_name: typing_extensions.Literal["_response", b"_response", "response", b"response"]) -> builtins.bool: ...
73
+ def ClearField(self, field_name: typing_extensions.Literal["_response", b"_response", "response", b"response", "status", b"status"]) -> None: ...
74
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_response", b"_response"]) -> typing_extensions.Literal["response"] | None: ...
75
+
76
+ global___CreateInferenceServiceJobResponse = CreateInferenceServiceJobResponse
@@ -0,0 +1,67 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
5
+ from luminarycloud._proto.api.v0.luminarycloud.inference import inference_pb2 as proto_dot_api_dot_v0_dot_luminarycloud_dot_inference_dot_inference__pb2
6
+
7
+
8
+ class InferenceServiceStub(object):
9
+ """Missing associated documentation comment in .proto file."""
10
+
11
+ def __init__(self, channel):
12
+ """Constructor.
13
+
14
+ Args:
15
+ channel: A grpc.Channel.
16
+ """
17
+ self.CreateInferenceServiceJob = channel.unary_unary(
18
+ '/luminary.proto.api.v0.luminarycloud.inference.InferenceService/CreateInferenceServiceJob',
19
+ request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_inference_dot_inference__pb2.CreateInferenceServiceJobRequest.SerializeToString,
20
+ response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_inference_dot_inference__pb2.CreateInferenceServiceJobResponse.FromString,
21
+ )
22
+
23
+
24
+ class InferenceServiceServicer(object):
25
+ """Missing associated documentation comment in .proto file."""
26
+
27
+ def CreateInferenceServiceJob(self, request, context):
28
+ """Lists the geometries available in a project.
29
+ """
30
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
31
+ context.set_details('Method not implemented!')
32
+ raise NotImplementedError('Method not implemented!')
33
+
34
+
35
+ def add_InferenceServiceServicer_to_server(servicer, server):
36
+ rpc_method_handlers = {
37
+ 'CreateInferenceServiceJob': grpc.unary_unary_rpc_method_handler(
38
+ servicer.CreateInferenceServiceJob,
39
+ request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_inference_dot_inference__pb2.CreateInferenceServiceJobRequest.FromString,
40
+ response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_inference_dot_inference__pb2.CreateInferenceServiceJobResponse.SerializeToString,
41
+ ),
42
+ }
43
+ generic_handler = grpc.method_handlers_generic_handler(
44
+ 'luminary.proto.api.v0.luminarycloud.inference.InferenceService', rpc_method_handlers)
45
+ server.add_generic_rpc_handlers((generic_handler,))
46
+
47
+
48
+ # This class is part of an EXPERIMENTAL API.
49
+ class InferenceService(object):
50
+ """Missing associated documentation comment in .proto file."""
51
+
52
+ @staticmethod
53
+ def CreateInferenceServiceJob(request,
54
+ target,
55
+ options=(),
56
+ channel_credentials=None,
57
+ call_credentials=None,
58
+ insecure=False,
59
+ compression=None,
60
+ wait_for_ready=None,
61
+ timeout=None,
62
+ metadata=None):
63
+ return grpc.experimental.unary_unary(request, target, '/luminary.proto.api.v0.luminarycloud.inference.InferenceService/CreateInferenceServiceJob',
64
+ proto_dot_api_dot_v0_dot_luminarycloud_dot_inference_dot_inference__pb2.CreateInferenceServiceJobRequest.SerializeToString,
65
+ proto_dot_api_dot_v0_dot_luminarycloud_dot_inference_dot_inference__pb2.CreateInferenceServiceJobResponse.FromString,
66
+ options, channel_credentials,
67
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)