luminarycloud 0.10.0__py3-none-any.whl → 0.10.1__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 (74) hide show
  1. luminarycloud/__init__.py +1 -0
  2. luminarycloud/_helpers/__init__.py +3 -0
  3. luminarycloud/_helpers/_upload_table.py +2 -5
  4. luminarycloud/_helpers/create_geometry.py +1 -1
  5. luminarycloud/_helpers/proto_decorator.py +47 -0
  6. luminarycloud/_helpers/upload.py +2 -2
  7. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +106 -96
  8. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +4 -1
  9. luminarycloud/_proto/api/v0/luminarycloud/project/project_pb2.py +16 -16
  10. luminarycloud/_proto/api/v0/luminarycloud/project/project_pb2.pyi +35 -4
  11. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +56 -56
  12. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +5 -1
  13. luminarycloud/_proto/base/base_pb2.py +21 -11
  14. luminarycloud/_proto/base/base_pb2.pyi +18 -0
  15. luminarycloud/_proto/client/simulation_pb2.py +377 -371
  16. luminarycloud/_proto/client/simulation_pb2.pyi +321 -306
  17. luminarycloud/_proto/upload/upload_pb2.py +35 -25
  18. luminarycloud/_proto/upload/upload_pb2.pyi +16 -3
  19. luminarycloud/geometry.py +76 -3
  20. luminarycloud/params/convergence_criteria/stopping_condition.py +13 -4
  21. luminarycloud/params/geometry/shapes.py +11 -0
  22. luminarycloud/params/outputs/residual_output.py +2 -2
  23. luminarycloud/params/param_wrappers/simulation_param/__init__.py +17 -17
  24. luminarycloud/params/param_wrappers/simulation_param/adjoint_.py +5 -0
  25. luminarycloud/params/param_wrappers/simulation_param/material/fluid/__init__.py +4 -4
  26. luminarycloud/params/param_wrappers/simulation_param/material/fluid/material_model/__init__.py +1 -1
  27. luminarycloud/params/param_wrappers/simulation_param/material/fluid/thermal_conductivity_model/__init__.py +1 -1
  28. luminarycloud/params/param_wrappers/simulation_param/motion_data/__init__.py +1 -1
  29. luminarycloud/params/param_wrappers/simulation_param/motion_data/motion_type/__init__.py +1 -1
  30. luminarycloud/params/param_wrappers/simulation_param/motion_data_.py +12 -1
  31. luminarycloud/params/param_wrappers/simulation_param/physics/__init__.py +2 -2
  32. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/__init__.py +7 -7
  33. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/__init__.py +4 -4
  34. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/inlet/__init__.py +3 -3
  35. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/outlet/outlet_strategy/__init__.py +1 -1
  36. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/__init__.py +1 -1
  37. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/komega/__init__.py +1 -1
  38. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/spalart_allmaras/__init__.py +1 -1
  39. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/wall/__init__.py +1 -1
  40. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/wall/momentum/__init__.py +1 -1
  41. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/__init__.py +2 -2
  42. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/__init__.py +1 -1
  43. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/komega/__init__.py +1 -1
  44. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras/__init__.py +1 -1
  45. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/physical_behavior/__init__.py +1 -1
  46. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/physical_behavior/physical_behavior_model/__init__.py +3 -3
  47. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/__init__.py +2 -2
  48. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/solution_controls/fluid_relaxation_method/__init__.py +1 -1
  49. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/__init__.py +1 -1
  50. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/solution_controls/pseudo_time_step_method/__init__.py +1 -1
  51. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/spatial_discretization/__init__.py +1 -1
  52. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/spatial_discretization/convective_scheme/__init__.py +2 -2
  53. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/turbulence/__init__.py +5 -5
  54. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/turbulence/des_formulation/__init__.py +2 -2
  55. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/turbulence/komega_sst/constants/__init__.py +1 -1
  56. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/turbulence/komega_sst_.py +9 -4
  57. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/turbulence/sub_grid_scale_model/__init__.py +2 -2
  58. luminarycloud/params/param_wrappers/simulation_param/physics/fluid_.py +23 -4
  59. luminarycloud/params/param_wrappers/simulation_param/physics/heat/__init__.py +3 -3
  60. luminarycloud/params/param_wrappers/simulation_param/physics/heat/boundary_conditions/__init__.py +3 -3
  61. luminarycloud/params/param_wrappers/simulation_param/physics/heat/heat_source/heat_source_type/__init__.py +1 -1
  62. luminarycloud/params/param_wrappers/simulation_param/physics/heat/initialization/__init__.py +1 -1
  63. luminarycloud/params/param_wrappers/simulation_param/physics/heat_.py +30 -3
  64. luminarycloud/params/param_wrappers/simulation_param/time/__init__.py +2 -2
  65. luminarycloud/params/param_wrappers/simulation_param_.py +2 -1
  66. luminarycloud/project.py +145 -19
  67. luminarycloud/simulation.py +3 -2
  68. luminarycloud/types/__init__.py +1 -0
  69. luminarycloud/types/matrix3.py +26 -0
  70. luminarycloud/volume_selection.py +570 -0
  71. {luminarycloud-0.10.0.dist-info → luminarycloud-0.10.1.dist-info}/METADATA +2 -1
  72. {luminarycloud-0.10.0.dist-info → luminarycloud-0.10.1.dist-info}/RECORD +74 -71
  73. {luminarycloud-0.10.0.dist-info → luminarycloud-0.10.1.dist-info}/WHEEL +0 -0
  74. {luminarycloud-0.10.0.dist-info → luminarycloud-0.10.1.dist-info}/top_level.txt +0 -0
luminarycloud/__init__.py CHANGED
@@ -29,6 +29,7 @@ from .project import (
29
29
  create_project as create_project,
30
30
  get_project as get_project,
31
31
  list_projects as list_projects,
32
+ iterate_projects as iterate_projects,
32
33
  Project as Project,
33
34
  )
34
35
  from .simulation import (
@@ -20,6 +20,9 @@ from .simulation_params_from_json import (
20
20
  from .timestamp_to_datetime import (
21
21
  timestamp_to_datetime,
22
22
  )
23
+ from .upload import (
24
+ upload_file,
25
+ )
23
26
  from ._upload_mesh import (
24
27
  upload_mesh,
25
28
  upload_mesh_from_local_file,
@@ -57,13 +57,12 @@ def upload_table_as_json(
57
57
  project_id,
58
58
  uploadpb.ResourceParams(geometry_params=uploadpb.GeometryParams()),
59
59
  pathlib.Path(tmp_file_path),
60
- ).url
60
+ )[1].url
61
61
 
62
62
 
63
63
  def upload_c81_as_json(
64
64
  client: Client,
65
65
  project_id: str,
66
- name: str,
67
66
  c81: PathLike,
68
67
  ) -> str:
69
68
  """
@@ -75,8 +74,6 @@ def upload_c81_as_json(
75
74
  A LuminaryCloud Client (see client.py)
76
75
  project_id: str
77
76
  The ID of the project to upload the table under
78
- name: str
79
- Name to use for the uploaded file
80
77
  c81: PathLike
81
78
  Path to c81 file to upload
82
79
 
@@ -91,4 +88,4 @@ def upload_c81_as_json(
91
88
  project_id,
92
89
  uploadpb.ResourceParams(c81_params=uploadpb.C81Params()),
93
90
  pathlib.Path(c81),
94
- ).url
91
+ )[1].url
@@ -34,7 +34,7 @@ def create_geometry(
34
34
  project_id,
35
35
  uploadpb.ResourceParams(geometry_params=uploadpb.GeometryParams()),
36
36
  cad_file_path,
37
- )
37
+ )[1]
38
38
 
39
39
  # create geometry
40
40
  if name is None:
@@ -0,0 +1,47 @@
1
+ # Copyright 2025 Luminary Cloud, Inc. All Rights Reserved.
2
+ from typing import (
3
+ Generic,
4
+ TypeVar,
5
+ get_type_hints,
6
+ get_origin,
7
+ )
8
+
9
+ from google.protobuf.message import Message
10
+
11
+ from luminarycloud.types import Vector3
12
+
13
+ P = TypeVar("P", bound=Message)
14
+ C = TypeVar("C")
15
+
16
+
17
+ class proto_decorator(Generic[P]):
18
+ """
19
+ A decorator that adds a `to_proto` method to a class.
20
+
21
+ NOTE: only works for primitive and basepb.Vector3 fields right now.
22
+ """
23
+
24
+ def __init__(decorator, proto_type: type[P]):
25
+ decorator.proto_type = proto_type
26
+
27
+ def __call__(decorator, cls: type[C]) -> type[C]:
28
+ type_hints = get_type_hints(cls)
29
+ fields = decorator.proto_type.DESCRIPTOR.fields
30
+
31
+ def _to_proto(self) -> decorator.proto_type:
32
+ proto = decorator.proto_type()
33
+ for field in fields:
34
+ _type = type_hints.get(field.name, None)
35
+ if _type:
36
+ value = getattr(self, field.name)
37
+ if issubclass(_type, Vector3):
38
+ vector_proto = getattr(proto, field.name)
39
+ vector_proto.x = value.x
40
+ vector_proto.y = value.y
41
+ vector_proto.z = value.z
42
+ else:
43
+ setattr(proto, field.name, value)
44
+ return proto
45
+
46
+ setattr(cls, "_to_proto", _to_proto)
47
+ return cls
@@ -71,7 +71,7 @@ def upload_file(
71
71
  project_id: str,
72
72
  resource_params: uploadpb.ResourceParams,
73
73
  file_path: PathLike,
74
- ) -> uploadpb.FinishUploadReply:
74
+ ) -> tuple[str, uploadpb.FinishUploadReply]:
75
75
  file_metadata = util.get_file_metadata(pathlib.Path(file_path))
76
76
 
77
77
  create_upload_res: uploadpb.CreateUploadReply = client.CreateUpload(
@@ -101,4 +101,4 @@ def upload_file(
101
101
  )
102
102
  logger.debug(f"finished upload")
103
103
 
104
- return finish_res
104
+ return upload_id, finish_res
@@ -20,7 +20,7 @@ from luminarycloud._proto.lcn import lcmesh_pb2 as proto_dot_lcn_dot_lcmesh__pb2
20
20
  from luminarycloud._proto.ratelimit import ratelimit_pb2 as proto_dot_ratelimit_dot_ratelimit__pb2
21
21
 
22
22
 
23
- 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\x1fgoogle/protobuf/timestamp.proto\x1a\x1dproto/geometry/geometry.proto\x1a#proto/cadmetadata/cadmetadata.proto\x1a\x16proto/lcn/lcmesh.proto\x1a\x1fproto/ratelimit/ratelimit.proto\"\xb0\x01\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\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(\x08J\x04\x08\x04\x10\x05\"\xdb\x01\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\")\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\"2\n\x1bListGeometryFeaturesRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"R\n\x1cListGeometryFeaturesResponse\x12\x32\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0b\x32 .luminary.proto.geometry.Feature\"7\n ListGeometryFeatureIssuesRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"d\n!ListGeometryFeatureIssuesResponse\x12?\n\x0f\x66\x65\x61tures_issues\x18\x01 \x03(\x0b\x32&.luminary.proto.geometry.FeatureIssues\"2\n\x1bListGeometryEntitiesRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"{\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\"\x83\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\x0f\n\x07scaling\x18\x04 \x01(\x01\x12\x0c\n\x04wait\x18\x05 \x01(\x08\x12\x16\n\x0e\x66orce_discrete\x18\x07 \x01(\x08J\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\"+\n\x14\x43heckGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"3\n\x15\x43heckGeometryResponse\x12\n\n\x02ok\x18\x01 \x01(\x08\x12\x0e\n\x06issues\x18\x02 \x03(\t\"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\"C\n\x0fListTagsRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\"S\n\x10ListTagsResponse\x12?\n\x04tags\x18\x01 \x03(\x0b\x32\x31.luminary.proto.api.v0.luminarycloud.geometry.Tag2\xb8\x15\n\x0fGeometryService\x12\xa7\x01\n\x0eListGeometries\x12\x43.luminary.proto.api.v0.luminarycloud.geometry.ListGeometriesRequest\x1a\x44.luminary.proto.api.v0.luminarycloud.geometry.ListGeometriesResponse\"\n\x8a\xb5\x18\x06\x08<\x12\x02\x08\x01\x12\xaf\x01\n\x14ListGeometryEntities\x12I.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryEntitiesRequest\x1aJ.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryEntitiesResponse\"\x00\x12\x94\x01\n\x0bGetGeometry\x12@.luminary.proto.api.v0.luminarycloud.geometry.GetGeometryRequest\x1a\x41.luminary.proto.api.v0.luminarycloud.geometry.GetGeometryResponse\"\x00\x12\xaf\x01\n\x14ListGeometryFeatures\x12I.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeaturesRequest\x1aJ.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeaturesResponse\"\x00\x12\xbe\x01\n\x19ListGeometryFeatureIssues\x12N.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeatureIssuesRequest\x1aO.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeatureIssuesResponse\"\x00\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\xa7\x01\n\x0eModifyGeometry\x12\x43.luminary.proto.api.v0.luminarycloud.geometry.ModifyGeometryRequest\x1a\x44.luminary.proto.api.v0.luminarycloud.geometry.ModifyGeometryResponse\"\n\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(\x12\x02\x08\x01\x12\x9a\x01\n\rCheckGeometry\x12\x42.luminary.proto.api.v0.luminarycloud.geometry.CheckGeometryRequest\x1a\x43.luminary.proto.api.v0.luminarycloud.geometry.CheckGeometryResponse\"\x00\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\xb2\x01\n\x08ListTags\x12=.luminary.proto.api.v0.luminarycloud.geometry.ListTagsRequest\x1a>.luminary.proto.api.v0.luminarycloud.geometry.ListTagsResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/v0/geometry/{geometry_id}/tagsB<Z:luminarycloud.com/core/proto/api/v0/luminarycloud/geometryb\x06proto3')
23
+ 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\x1fgoogle/protobuf/timestamp.proto\x1a\x1dproto/geometry/geometry.proto\x1a#proto/cadmetadata/cadmetadata.proto\x1a\x16proto/lcn/lcmesh.proto\x1a\x1fproto/ratelimit/ratelimit.proto\"\xc4\x01\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\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(\tJ\x04\x08\x04\x10\x05\"\xdb\x01\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\")\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\"2\n\x1bListGeometryFeaturesRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"R\n\x1cListGeometryFeaturesResponse\x12\x32\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0b\x32 .luminary.proto.geometry.Feature\"7\n ListGeometryFeatureIssuesRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"d\n!ListGeometryFeatureIssuesResponse\x12?\n\x0f\x66\x65\x61tures_issues\x18\x01 \x03(\x0b\x32&.luminary.proto.geometry.FeatureIssues\"2\n\x1bListGeometryEntitiesRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"{\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\"\x83\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\x0f\n\x07scaling\x18\x04 \x01(\x01\x12\x0c\n\x04wait\x18\x05 \x01(\x08\x12\x16\n\x0e\x66orce_discrete\x18\x07 \x01(\x08J\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\"+\n\x14\x43heckGeometryRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\"3\n\x15\x43heckGeometryResponse\x12\n\n\x02ok\x18\x01 \x01(\x08\x12\x0e\n\x06issues\x18\x02 \x03(\t\"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\"C\n\x0fListTagsRequest\x12\x13\n\x0bgeometry_id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\"S\n\x10ListTagsResponse\x12?\n\x04tags\x18\x01 \x03(\x0b\x32\x31.luminary.proto.api.v0.luminarycloud.geometry.Tag2\xe5\x17\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\xda\x01\n\x14ListGeometryEntities\x12I.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryEntitiesRequest\x1aJ.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryEntitiesResponse\"+\x82\xd3\xe4\x93\x02%\x12#/v0/geometry/{geometry_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\xda\x01\n\x14ListGeometryFeatures\x12I.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeaturesRequest\x1aJ.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeaturesResponse\"+\x82\xd3\xe4\x93\x02%\x12#/v0/geometry/{geometry_id}/features\x12\xf0\x01\n\x19ListGeometryFeatureIssues\x12N.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeatureIssuesRequest\x1aO.luminary.proto.api.v0.luminarycloud.geometry.ListGeometryFeatureIssuesResponse\"2\x82\xd3\xe4\x93\x02,\x12*/v0/geometry/{geometry_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(\x12\x02\x08\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\xb2\x01\n\x08ListTags\x12=.luminary.proto.api.v0.luminarycloud.geometry.ListTagsRequest\x1a>.luminary.proto.api.v0.luminarycloud.geometry.ListTagsResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/v0/geometry/{geometry_id}/tagsB<Z:luminarycloud.com/core/proto/api/v0/luminarycloud/geometryb\x06proto3')
24
24
 
25
25
 
26
26
 
@@ -408,13 +408,23 @@ if _descriptor._USE_C_DESCRIPTORS == False:
408
408
  DESCRIPTOR._options = None
409
409
  DESCRIPTOR._serialized_options = b'Z:luminarycloud.com/core/proto/api/v0/luminarycloud/geometry'
410
410
  _GEOMETRYSERVICE.methods_by_name['ListGeometries']._options = None
411
- _GEOMETRYSERVICE.methods_by_name['ListGeometries']._serialized_options = b'\212\265\030\006\010<\022\002\010\001'
411
+ _GEOMETRYSERVICE.methods_by_name['ListGeometries']._serialized_options = b'\202\323\344\223\002&\022$/v0/projects/{project_id}/geometries\212\265\030\006\010<\022\002\010\001'
412
+ _GEOMETRYSERVICE.methods_by_name['ListGeometryEntities']._options = None
413
+ _GEOMETRYSERVICE.methods_by_name['ListGeometryEntities']._serialized_options = b'\202\323\344\223\002%\022#/v0/geometry/{geometry_id}/entities'
414
+ _GEOMETRYSERVICE.methods_by_name['GetGeometry']._options = None
415
+ _GEOMETRYSERVICE.methods_by_name['GetGeometry']._serialized_options = b'\202\323\344\223\002\034\022\032/v0/geometry/{geometry_id}'
416
+ _GEOMETRYSERVICE.methods_by_name['ListGeometryFeatures']._options = None
417
+ _GEOMETRYSERVICE.methods_by_name['ListGeometryFeatures']._serialized_options = b'\202\323\344\223\002%\022#/v0/geometry/{geometry_id}/features'
418
+ _GEOMETRYSERVICE.methods_by_name['ListGeometryFeatureIssues']._options = None
419
+ _GEOMETRYSERVICE.methods_by_name['ListGeometryFeatureIssues']._serialized_options = b'\202\323\344\223\002,\022*/v0/geometry/{geometry_id}/features/issues'
412
420
  _GEOMETRYSERVICE.methods_by_name['SubscribeGeometry']._options = None
413
421
  _GEOMETRYSERVICE.methods_by_name['SubscribeGeometry']._serialized_options = b'\212\265\030\002\0102'
414
422
  _GEOMETRYSERVICE.methods_by_name['ModifyGeometry']._options = None
415
- _GEOMETRYSERVICE.methods_by_name['ModifyGeometry']._serialized_options = b'\212\265\030\006\010<\022\002\010\001'
423
+ _GEOMETRYSERVICE.methods_by_name['ModifyGeometry']._serialized_options = b'\202\323\344\223\002&\"!/v0/geometry/{geometry_id}/modify:\001*\212\265\030\006\010<\022\002\010\001'
416
424
  _GEOMETRYSERVICE.methods_by_name['CreateGeometry']._options = None
417
425
  _GEOMETRYSERVICE.methods_by_name['CreateGeometry']._serialized_options = b'\202\323\344\223\002.\")/v0/projects/{project_id}/create-geometry:\001*\212\265\030\006\010(\022\002\010\001'
426
+ _GEOMETRYSERVICE.methods_by_name['CheckGeometry']._options = None
427
+ _GEOMETRYSERVICE.methods_by_name['CheckGeometry']._serialized_options = b'\202\323\344\223\002%\" /v0/geometry/{geometry_id}/check:\001*'
418
428
  _GEOMETRYSERVICE.methods_by_name['TesselationUpToModification']._options = None
419
429
  _GEOMETRYSERVICE.methods_by_name['TesselationUpToModification']._serialized_options = b'\212\265\030\006\010\024\022\002\010\001'
420
430
  _GEOMETRYSERVICE.methods_by_name['KeepAlive']._options = None
@@ -422,97 +432,97 @@ if _descriptor._USE_C_DESCRIPTORS == False:
422
432
  _GEOMETRYSERVICE.methods_by_name['ListTags']._options = None
423
433
  _GEOMETRYSERVICE.methods_by_name['ListTags']._serialized_options = b'\202\323\344\223\002!\022\037/v0/geometry/{geometry_id}/tags'
424
434
  _GEOMETRY._serialized_start=289
425
- _GEOMETRY._serialized_end=465
426
- _TESSELLATIONDATA._serialized_start=468
427
- _TESSELLATIONDATA._serialized_end=687
428
- _GETGEOMETRYREQUEST._serialized_start=689
429
- _GETGEOMETRYREQUEST._serialized_end=730
430
- _GETGEOMETRYRESPONSE._serialized_start=732
431
- _GETGEOMETRYRESPONSE._serialized_end=827
432
- _LISTGEOMETRYFEATURESREQUEST._serialized_start=829
433
- _LISTGEOMETRYFEATURESREQUEST._serialized_end=879
434
- _LISTGEOMETRYFEATURESRESPONSE._serialized_start=881
435
- _LISTGEOMETRYFEATURESRESPONSE._serialized_end=963
436
- _LISTGEOMETRYFEATUREISSUESREQUEST._serialized_start=965
437
- _LISTGEOMETRYFEATUREISSUESREQUEST._serialized_end=1020
438
- _LISTGEOMETRYFEATUREISSUESRESPONSE._serialized_start=1022
439
- _LISTGEOMETRYFEATUREISSUESRESPONSE._serialized_end=1122
440
- _LISTGEOMETRYENTITIESREQUEST._serialized_start=1124
441
- _LISTGEOMETRYENTITIESREQUEST._serialized_end=1174
442
- _LISTGEOMETRYENTITIESRESPONSE._serialized_start=1176
443
- _LISTGEOMETRYENTITIESRESPONSE._serialized_end=1299
444
- _LISTGEOMETRIESREQUEST._serialized_start=1301
445
- _LISTGEOMETRIESREQUEST._serialized_end=1344
446
- _LISTGEOMETRIESRESPONSE._serialized_start=1346
447
- _LISTGEOMETRIESRESPONSE._serialized_end=1446
448
- _SUBSCRIBEGEOMETRYREQUEST._serialized_start=1448
449
- _SUBSCRIBEGEOMETRYREQUEST._serialized_end=1521
450
- _GEOMETRYHISTORY._serialized_start=1524
451
- _GEOMETRYHISTORY._serialized_end=1812
452
- _GEOMETRYHISTORY_HISTORYENTRY._serialized_start=1643
453
- _GEOMETRYHISTORY_HISTORYENTRY._serialized_end=1812
454
- _SUBSCRIBEGEOMETRYRESPONSE._serialized_start=1815
455
- _SUBSCRIBEGEOMETRYRESPONSE._serialized_end=3680
456
- _SUBSCRIBEGEOMETRYRESPONSE_GEOMETRYCHECKPOINT._serialized_start=2136
457
- _SUBSCRIBEGEOMETRYRESPONSE_GEOMETRYCHECKPOINT._serialized_end=2562
458
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE._serialized_start=2565
459
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE._serialized_end=3664
460
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATUREPROGRESS._serialized_start=3452
461
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATUREPROGRESS._serialized_end=3489
462
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATURETESSELLATION._serialized_start=3491
463
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATURETESSELLATION._serialized_end=3532
464
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_UNDOREDO._serialized_start=3534
465
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_UNDOREDO._serialized_end=3544
466
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RELOADING._serialized_start=3546
467
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RELOADING._serialized_end=3557
468
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_DELETEFEATURE._serialized_start=3559
469
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_DELETEFEATURE._serialized_end=3594
470
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RENAMEFEATURE._serialized_start=3596
471
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RENAMEFEATURE._serialized_end=3631
472
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_TAGOPERATION._serialized_start=3633
473
- _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_TAGOPERATION._serialized_end=3647
474
- _MODIFYGEOMETRYREQUEST._serialized_start=3682
475
- _MODIFYGEOMETRYREQUEST._serialized_end=3807
476
- _MODIFYGEOMETRYRESPONSE._serialized_start=3810
477
- _MODIFYGEOMETRYRESPONSE._serialized_end=4001
478
- _CREATEGEOMETRYREQUEST._serialized_start=4004
479
- _CREATEGEOMETRYREQUEST._serialized_end=4135
480
- _CREATEGEOMETRYRESPONSE._serialized_start=4137
481
- _CREATEGEOMETRYRESPONSE._serialized_end=4235
482
- _CHECKGEOMETRYREQUEST._serialized_start=4237
483
- _CHECKGEOMETRYREQUEST._serialized_end=4280
484
- _CHECKGEOMETRYRESPONSE._serialized_start=4282
485
- _CHECKGEOMETRYRESPONSE._serialized_end=4333
486
- _TESSELLATIONUPTOMODIFICATIONREQUEST._serialized_start=4335
487
- _TESSELLATIONUPTOMODIFICATIONREQUEST._serialized_end=4418
488
- _TESSELLATIONUPTOMODIFICATIONRESPONSE._serialized_start=4420
489
- _TESSELLATIONUPTOMODIFICATIONRESPONSE._serialized_end=4478
490
- _LATESTTESSELLATIONREQUEST._serialized_start=4480
491
- _LATESTTESSELLATIONREQUEST._serialized_end=4528
492
- _LATESTTESSELLATIONRESPONSE._serialized_start=4530
493
- _LATESTTESSELLATIONRESPONSE._serialized_end=4583
494
- _KEEPALIVEREQUEST._serialized_start=4585
495
- _KEEPALIVEREQUEST._serialized_end=4624
496
- _KEEPALIVERESPONSE._serialized_start=4626
497
- _KEEPALIVERESPONSE._serialized_end=4645
498
- _PANICREQUEST._serialized_start=4647
499
- _PANICREQUEST._serialized_end=4661
500
- _PANICRESPONSE._serialized_start=4663
501
- _PANICRESPONSE._serialized_end=4678
502
- _STOPWORKERREQUEST._serialized_start=4680
503
- _STOPWORKERREQUEST._serialized_end=4720
504
- _STOPWORKERRESPONSE._serialized_start=4722
505
- _STOPWORKERRESPONSE._serialized_end=4742
506
- _GETTAGSREQUEST._serialized_start=4744
507
- _GETTAGSREQUEST._serialized_end=4810
508
- _GETTAGSRESPONSE._serialized_start=4812
509
- _GETTAGSRESPONSE._serialized_end=4874
510
- _TAG._serialized_start=4876
511
- _TAG._serialized_end=4958
512
- _LISTTAGSREQUEST._serialized_start=4960
513
- _LISTTAGSREQUEST._serialized_end=5027
514
- _LISTTAGSRESPONSE._serialized_start=5029
515
- _LISTTAGSRESPONSE._serialized_end=5112
516
- _GEOMETRYSERVICE._serialized_start=5115
517
- _GEOMETRYSERVICE._serialized_end=7859
435
+ _GEOMETRY._serialized_end=485
436
+ _TESSELLATIONDATA._serialized_start=488
437
+ _TESSELLATIONDATA._serialized_end=707
438
+ _GETGEOMETRYREQUEST._serialized_start=709
439
+ _GETGEOMETRYREQUEST._serialized_end=750
440
+ _GETGEOMETRYRESPONSE._serialized_start=752
441
+ _GETGEOMETRYRESPONSE._serialized_end=847
442
+ _LISTGEOMETRYFEATURESREQUEST._serialized_start=849
443
+ _LISTGEOMETRYFEATURESREQUEST._serialized_end=899
444
+ _LISTGEOMETRYFEATURESRESPONSE._serialized_start=901
445
+ _LISTGEOMETRYFEATURESRESPONSE._serialized_end=983
446
+ _LISTGEOMETRYFEATUREISSUESREQUEST._serialized_start=985
447
+ _LISTGEOMETRYFEATUREISSUESREQUEST._serialized_end=1040
448
+ _LISTGEOMETRYFEATUREISSUESRESPONSE._serialized_start=1042
449
+ _LISTGEOMETRYFEATUREISSUESRESPONSE._serialized_end=1142
450
+ _LISTGEOMETRYENTITIESREQUEST._serialized_start=1144
451
+ _LISTGEOMETRYENTITIESREQUEST._serialized_end=1194
452
+ _LISTGEOMETRYENTITIESRESPONSE._serialized_start=1196
453
+ _LISTGEOMETRYENTITIESRESPONSE._serialized_end=1319
454
+ _LISTGEOMETRIESREQUEST._serialized_start=1321
455
+ _LISTGEOMETRIESREQUEST._serialized_end=1364
456
+ _LISTGEOMETRIESRESPONSE._serialized_start=1366
457
+ _LISTGEOMETRIESRESPONSE._serialized_end=1466
458
+ _SUBSCRIBEGEOMETRYREQUEST._serialized_start=1468
459
+ _SUBSCRIBEGEOMETRYREQUEST._serialized_end=1541
460
+ _GEOMETRYHISTORY._serialized_start=1544
461
+ _GEOMETRYHISTORY._serialized_end=1832
462
+ _GEOMETRYHISTORY_HISTORYENTRY._serialized_start=1663
463
+ _GEOMETRYHISTORY_HISTORYENTRY._serialized_end=1832
464
+ _SUBSCRIBEGEOMETRYRESPONSE._serialized_start=1835
465
+ _SUBSCRIBEGEOMETRYRESPONSE._serialized_end=3700
466
+ _SUBSCRIBEGEOMETRYRESPONSE_GEOMETRYCHECKPOINT._serialized_start=2156
467
+ _SUBSCRIBEGEOMETRYRESPONSE_GEOMETRYCHECKPOINT._serialized_end=2582
468
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE._serialized_start=2585
469
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE._serialized_end=3684
470
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATUREPROGRESS._serialized_start=3472
471
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATUREPROGRESS._serialized_end=3509
472
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATURETESSELLATION._serialized_start=3511
473
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_FEATURETESSELLATION._serialized_end=3552
474
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_UNDOREDO._serialized_start=3554
475
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_UNDOREDO._serialized_end=3564
476
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RELOADING._serialized_start=3566
477
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RELOADING._serialized_end=3577
478
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_DELETEFEATURE._serialized_start=3579
479
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_DELETEFEATURE._serialized_end=3614
480
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RENAMEFEATURE._serialized_start=3616
481
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_RENAMEFEATURE._serialized_end=3651
482
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_TAGOPERATION._serialized_start=3653
483
+ _SUBSCRIBEGEOMETRYRESPONSE_BUSYSTATE_TAGOPERATION._serialized_end=3667
484
+ _MODIFYGEOMETRYREQUEST._serialized_start=3702
485
+ _MODIFYGEOMETRYREQUEST._serialized_end=3827
486
+ _MODIFYGEOMETRYRESPONSE._serialized_start=3830
487
+ _MODIFYGEOMETRYRESPONSE._serialized_end=4021
488
+ _CREATEGEOMETRYREQUEST._serialized_start=4024
489
+ _CREATEGEOMETRYREQUEST._serialized_end=4155
490
+ _CREATEGEOMETRYRESPONSE._serialized_start=4157
491
+ _CREATEGEOMETRYRESPONSE._serialized_end=4255
492
+ _CHECKGEOMETRYREQUEST._serialized_start=4257
493
+ _CHECKGEOMETRYREQUEST._serialized_end=4300
494
+ _CHECKGEOMETRYRESPONSE._serialized_start=4302
495
+ _CHECKGEOMETRYRESPONSE._serialized_end=4353
496
+ _TESSELLATIONUPTOMODIFICATIONREQUEST._serialized_start=4355
497
+ _TESSELLATIONUPTOMODIFICATIONREQUEST._serialized_end=4438
498
+ _TESSELLATIONUPTOMODIFICATIONRESPONSE._serialized_start=4440
499
+ _TESSELLATIONUPTOMODIFICATIONRESPONSE._serialized_end=4498
500
+ _LATESTTESSELLATIONREQUEST._serialized_start=4500
501
+ _LATESTTESSELLATIONREQUEST._serialized_end=4548
502
+ _LATESTTESSELLATIONRESPONSE._serialized_start=4550
503
+ _LATESTTESSELLATIONRESPONSE._serialized_end=4603
504
+ _KEEPALIVEREQUEST._serialized_start=4605
505
+ _KEEPALIVEREQUEST._serialized_end=4644
506
+ _KEEPALIVERESPONSE._serialized_start=4646
507
+ _KEEPALIVERESPONSE._serialized_end=4665
508
+ _PANICREQUEST._serialized_start=4667
509
+ _PANICREQUEST._serialized_end=4681
510
+ _PANICRESPONSE._serialized_start=4683
511
+ _PANICRESPONSE._serialized_end=4698
512
+ _STOPWORKERREQUEST._serialized_start=4700
513
+ _STOPWORKERREQUEST._serialized_end=4740
514
+ _STOPWORKERRESPONSE._serialized_start=4742
515
+ _STOPWORKERRESPONSE._serialized_end=4762
516
+ _GETTAGSREQUEST._serialized_start=4764
517
+ _GETTAGSREQUEST._serialized_end=4830
518
+ _GETTAGSRESPONSE._serialized_start=4832
519
+ _GETTAGSRESPONSE._serialized_end=4894
520
+ _TAG._serialized_start=4896
521
+ _TAG._serialized_end=4978
522
+ _LISTTAGSREQUEST._serialized_start=4980
523
+ _LISTTAGSREQUEST._serialized_end=5047
524
+ _LISTTAGSRESPONSE._serialized_start=5049
525
+ _LISTTAGSRESPONSE._serialized_end=5132
526
+ _GEOMETRYSERVICE._serialized_start=5135
527
+ _GEOMETRYSERVICE._serialized_end=8180
518
528
  # @@protoc_insertion_point(module_scope)
@@ -30,6 +30,7 @@ class Geometry(google.protobuf.message.Message):
30
30
  LAST_VERSION_ID_FIELD_NUMBER: builtins.int
31
31
  USES_TAGS_FIELD_NUMBER: builtins.int
32
32
  FORCE_DISCRETE_FIELD_NUMBER: builtins.int
33
+ PROJECT_ID_FIELD_NUMBER: builtins.int
33
34
  id: builtins.str
34
35
  name: builtins.str
35
36
  @property
@@ -38,6 +39,7 @@ class Geometry(google.protobuf.message.Message):
38
39
  last_version_id: builtins.str
39
40
  uses_tags: builtins.bool
40
41
  force_discrete: builtins.bool
42
+ project_id: builtins.str
41
43
  def __init__(
42
44
  self,
43
45
  *,
@@ -48,9 +50,10 @@ class Geometry(google.protobuf.message.Message):
48
50
  last_version_id: builtins.str = ...,
49
51
  uses_tags: builtins.bool = ...,
50
52
  force_discrete: builtins.bool = ...,
53
+ project_id: builtins.str = ...,
51
54
  ) -> None: ...
52
55
  def HasField(self, field_name: typing_extensions.Literal["create_time", b"create_time"]) -> builtins.bool: ...
53
- def ClearField(self, field_name: typing_extensions.Literal["create_time", b"create_time", "deleted", b"deleted", "force_discrete", b"force_discrete", "id", b"id", "last_version_id", b"last_version_id", "name", b"name", "uses_tags", b"uses_tags"]) -> None: ...
56
+ def ClearField(self, field_name: typing_extensions.Literal["create_time", b"create_time", "deleted", b"deleted", "force_discrete", b"force_discrete", "id", b"id", "last_version_id", b"last_version_id", "name", b"name", "project_id", b"project_id", "uses_tags", b"uses_tags"]) -> None: ...
54
57
 
55
58
  global___Geometry = Geometry
56
59
 
@@ -17,7 +17,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
17
17
  from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
18
18
 
19
19
 
20
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0proto/api/v0/luminarycloud/project/project.proto\x12+luminary.proto.api.v0.luminarycloud.project\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto\"\xdc\x01\n\x07Project\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\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\x0e\n\x06meshes\x18\x06 \x03(\t\x12\x13\n\x0bsimulations\x18\x07 \x03(\t\x12\x1b\n\x13storage_usage_bytes\x18\x08 \x01(\x04\"9\n\x14\x43reateProjectRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"^\n\x15\x43reateProjectResponse\x12\x45\n\x07project\x18\x01 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.project.Project\"\x1f\n\x11GetProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\"[\n\x12GetProjectResponse\x12\x45\n\x07project\x18\x01 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.project.Project\"\x15\n\x13ListProjectsRequest\"^\n\x14ListProjectsResponse\x12\x46\n\x08projects\x18\x01 \x03(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.project.Project\"E\n\x14UpdateProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"^\n\x15UpdateProjectResponse\x12\x45\n\x07project\x18\x01 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.project.Project\"\"\n\x14\x44\x65leteProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\"=\n\x1aLoadGeometryToSetupRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0bgeometry_id\x18\x02 \x01(\t\"\x1d\n\x1bLoadGeometryToSetupResponse2\xaf\x08\n\x0eProjectService\x12\xaf\x01\n\rCreateProject\x12\x41.luminary.proto.api.v0.luminarycloud.project.CreateProjectRequest\x1a\x42.luminary.proto.api.v0.luminarycloud.project.CreateProjectResponse\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/v0/projects:\x01*\x12\xa8\x01\n\nGetProject\x12>.luminary.proto.api.v0.luminarycloud.project.GetProjectRequest\x1a?.luminary.proto.api.v0.luminarycloud.project.GetProjectResponse\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/v0/projects/{id}\x12\xa9\x01\n\x0cListProjects\x12@.luminary.proto.api.v0.luminarycloud.project.ListProjectsRequest\x1a\x41.luminary.proto.api.v0.luminarycloud.project.ListProjectsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v0/projects\x12\xb4\x01\n\rUpdateProject\x12\x41.luminary.proto.api.v0.luminarycloud.project.UpdateProjectRequest\x1a\x42.luminary.proto.api.v0.luminarycloud.project.UpdateProjectResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x32\x11/v0/projects/{id}:\x01*\x12\x85\x01\n\rDeleteProject\x12\x41.luminary.proto.api.v0.luminarycloud.project.DeleteProjectRequest\x1a\x16.google.protobuf.Empty\"\x19\x82\xd3\xe4\x93\x02\x13*\x11/v0/projects/{id}\x12\xd4\x01\n\x13LoadGeometryToSetup\x12G.luminary.proto.api.v0.luminarycloud.project.LoadGeometryToSetupRequest\x1aH.luminary.proto.api.v0.luminarycloud.project.LoadGeometryToSetupResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/v0/projects/{id}/load-geometry:\x01*B;Z9luminarycloud.com/core/proto/api/v0/luminarycloud/projectb\x06proto3')
20
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0proto/api/v0/luminarycloud/project/project.proto\x12+luminary.proto.api.v0.luminarycloud.project\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto\"\xdc\x01\n\x07Project\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\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\x0e\n\x06meshes\x18\x06 \x03(\t\x12\x13\n\x0bsimulations\x18\x07 \x03(\t\x12\x1b\n\x13storage_usage_bytes\x18\x08 \x01(\x04\"9\n\x14\x43reateProjectRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"^\n\x15\x43reateProjectResponse\x12\x45\n\x07project\x18\x01 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.project.Project\"\x1f\n\x11GetProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\"[\n\x12GetProjectResponse\x12\x45\n\x07project\x18\x01 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.project.Project\"c\n\x13ListProjectsRequest\x12\x16\n\tpage_size\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x17\n\npage_token\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x0c\n\n_page_sizeB\r\n\x0b_page_token\"\x8c\x01\n\x14ListProjectsResponse\x12\x46\n\x08projects\x18\x01 \x03(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.project.Project\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0btotal_count\x18\x03 \x01(\x05\"E\n\x14UpdateProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"^\n\x15UpdateProjectResponse\x12\x45\n\x07project\x18\x01 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.project.Project\"\"\n\x14\x44\x65leteProjectRequest\x12\n\n\x02id\x18\x01 \x01(\t\"=\n\x1aLoadGeometryToSetupRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0bgeometry_id\x18\x02 \x01(\t\"\x1d\n\x1bLoadGeometryToSetupResponse2\xaf\x08\n\x0eProjectService\x12\xaf\x01\n\rCreateProject\x12\x41.luminary.proto.api.v0.luminarycloud.project.CreateProjectRequest\x1a\x42.luminary.proto.api.v0.luminarycloud.project.CreateProjectResponse\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/v0/projects:\x01*\x12\xa8\x01\n\nGetProject\x12>.luminary.proto.api.v0.luminarycloud.project.GetProjectRequest\x1a?.luminary.proto.api.v0.luminarycloud.project.GetProjectResponse\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/v0/projects/{id}\x12\xa9\x01\n\x0cListProjects\x12@.luminary.proto.api.v0.luminarycloud.project.ListProjectsRequest\x1a\x41.luminary.proto.api.v0.luminarycloud.project.ListProjectsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v0/projects\x12\xb4\x01\n\rUpdateProject\x12\x41.luminary.proto.api.v0.luminarycloud.project.UpdateProjectRequest\x1a\x42.luminary.proto.api.v0.luminarycloud.project.UpdateProjectResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x32\x11/v0/projects/{id}:\x01*\x12\x85\x01\n\rDeleteProject\x12\x41.luminary.proto.api.v0.luminarycloud.project.DeleteProjectRequest\x1a\x16.google.protobuf.Empty\"\x19\x82\xd3\xe4\x93\x02\x13*\x11/v0/projects/{id}\x12\xd4\x01\n\x13LoadGeometryToSetup\x12G.luminary.proto.api.v0.luminarycloud.project.LoadGeometryToSetupRequest\x1aH.luminary.proto.api.v0.luminarycloud.project.LoadGeometryToSetupResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/v0/projects/{id}/load-geometry:\x01*B;Z9luminarycloud.com/core/proto/api/v0/luminarycloud/projectb\x06proto3')
21
21
 
22
22
 
23
23
 
@@ -145,19 +145,19 @@ if _descriptor._USE_C_DESCRIPTORS == False:
145
145
  _GETPROJECTRESPONSE._serialized_start=600
146
146
  _GETPROJECTRESPONSE._serialized_end=691
147
147
  _LISTPROJECTSREQUEST._serialized_start=693
148
- _LISTPROJECTSREQUEST._serialized_end=714
149
- _LISTPROJECTSRESPONSE._serialized_start=716
150
- _LISTPROJECTSRESPONSE._serialized_end=810
151
- _UPDATEPROJECTREQUEST._serialized_start=812
152
- _UPDATEPROJECTREQUEST._serialized_end=881
153
- _UPDATEPROJECTRESPONSE._serialized_start=883
154
- _UPDATEPROJECTRESPONSE._serialized_end=977
155
- _DELETEPROJECTREQUEST._serialized_start=979
156
- _DELETEPROJECTREQUEST._serialized_end=1013
157
- _LOADGEOMETRYTOSETUPREQUEST._serialized_start=1015
158
- _LOADGEOMETRYTOSETUPREQUEST._serialized_end=1076
159
- _LOADGEOMETRYTOSETUPRESPONSE._serialized_start=1078
160
- _LOADGEOMETRYTOSETUPRESPONSE._serialized_end=1107
161
- _PROJECTSERVICE._serialized_start=1110
162
- _PROJECTSERVICE._serialized_end=2181
148
+ _LISTPROJECTSREQUEST._serialized_end=792
149
+ _LISTPROJECTSRESPONSE._serialized_start=795
150
+ _LISTPROJECTSRESPONSE._serialized_end=935
151
+ _UPDATEPROJECTREQUEST._serialized_start=937
152
+ _UPDATEPROJECTREQUEST._serialized_end=1006
153
+ _UPDATEPROJECTRESPONSE._serialized_start=1008
154
+ _UPDATEPROJECTRESPONSE._serialized_end=1102
155
+ _DELETEPROJECTREQUEST._serialized_start=1104
156
+ _DELETEPROJECTREQUEST._serialized_end=1138
157
+ _LOADGEOMETRYTOSETUPREQUEST._serialized_start=1140
158
+ _LOADGEOMETRYTOSETUPREQUEST._serialized_end=1201
159
+ _LOADGEOMETRYTOSETUPRESPONSE._serialized_start=1203
160
+ _LOADGEOMETRYTOSETUPRESPONSE._serialized_end=1232
161
+ _PROJECTSERVICE._serialized_start=1235
162
+ _PROJECTSERVICE._serialized_end=2306
163
163
  # @@protoc_insertion_point(module_scope)
@@ -9,6 +9,7 @@ import google.protobuf.internal.containers
9
9
  import google.protobuf.message
10
10
  import google.protobuf.timestamp_pb2
11
11
  import sys
12
+ import typing
12
13
 
13
14
  if sys.version_info >= (3, 8):
14
15
  import typing as typing_extensions
@@ -144,13 +145,33 @@ class GetProjectResponse(google.protobuf.message.Message):
144
145
  global___GetProjectResponse = GetProjectResponse
145
146
 
146
147
  class ListProjectsRequest(google.protobuf.message.Message):
147
- """Empty request. Fields may be added in the future."""
148
-
149
148
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
150
149
 
150
+ PAGE_SIZE_FIELD_NUMBER: builtins.int
151
+ PAGE_TOKEN_FIELD_NUMBER: builtins.int
152
+ page_size: builtins.int
153
+ """Optional. The maximum number of projects to return. The service may return fewer than this
154
+ value. Default is 50, max is 500. Values above 500 will be clipped to 500.
155
+ """
156
+ page_token: builtins.str
157
+ """A page token, received from a previous `ListProjects` call. Provide this to retrieve the
158
+ subsequent page.
159
+
160
+ When paginating, all other parameters provided to `ListProjects` must match the call that
161
+ provided the page token.
162
+ """
151
163
  def __init__(
152
164
  self,
165
+ *,
166
+ page_size: builtins.int | None = ...,
167
+ page_token: builtins.str | None = ...,
153
168
  ) -> None: ...
169
+ def HasField(self, field_name: typing_extensions.Literal["_page_size", b"_page_size", "_page_token", b"_page_token", "page_size", b"page_size", "page_token", b"page_token"]) -> builtins.bool: ...
170
+ def ClearField(self, field_name: typing_extensions.Literal["_page_size", b"_page_size", "_page_token", b"_page_token", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...
171
+ @typing.overload
172
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_page_size", b"_page_size"]) -> typing_extensions.Literal["page_size"] | None: ...
173
+ @typing.overload
174
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_page_token", b"_page_token"]) -> typing_extensions.Literal["page_token"] | None: ...
154
175
 
155
176
  global___ListProjectsRequest = ListProjectsRequest
156
177
 
@@ -158,15 +179,25 @@ class ListProjectsResponse(google.protobuf.message.Message):
158
179
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
159
180
 
160
181
  PROJECTS_FIELD_NUMBER: builtins.int
182
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
183
+ TOTAL_COUNT_FIELD_NUMBER: builtins.int
161
184
  @property
162
185
  def projects(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Project]:
163
- """A list of the user's projects. Order of projects is unspecified."""
186
+ """Projects ordered by creation time, most recent first."""
187
+ next_page_token: builtins.str
188
+ """A token that can be used to retrieve the next page of results.
189
+ If empty, there are no more results.
190
+ """
191
+ total_count: builtins.int
192
+ """The total number of projects accessible to the user."""
164
193
  def __init__(
165
194
  self,
166
195
  *,
167
196
  projects: collections.abc.Iterable[global___Project] | None = ...,
197
+ next_page_token: builtins.str = ...,
198
+ total_count: builtins.int = ...,
168
199
  ) -> None: ...
169
- def ClearField(self, field_name: typing_extensions.Literal["projects", b"projects"]) -> None: ...
200
+ def ClearField(self, field_name: typing_extensions.Literal["next_page_token", b"next_page_token", "projects", b"projects", "total_count", b"total_count"]) -> None: ...
170
201
 
171
202
  global___ListProjectsResponse = ListProjectsResponse
172
203