antioch-py 2.0.7__py3-none-any.whl → 2.2.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.

Potentially problematic release.


This version of antioch-py might be problematic. Click here for more details.

Files changed (58) hide show
  1. antioch/session/__init__.py +15 -13
  2. antioch/session/ark.py +22 -26
  3. antioch/session/objects/__init__.py +40 -0
  4. antioch/session/{views → objects}/animation.py +25 -52
  5. antioch/session/{views → objects}/articulation.py +30 -95
  6. antioch/session/{views → objects}/basis_curve.py +48 -54
  7. antioch/session/{views → objects}/camera.py +12 -39
  8. antioch/session/objects/collision.py +46 -0
  9. antioch/session/{views → objects}/geometry.py +6 -22
  10. antioch/session/{views → objects}/ground_plane.py +5 -20
  11. antioch/session/{views → objects}/imu.py +10 -30
  12. antioch/session/{views → objects}/joint.py +5 -20
  13. antioch/session/{views → objects}/light.py +14 -66
  14. antioch/session/{views → objects}/pir_sensor.py +20 -62
  15. antioch/session/objects/radar.py +62 -0
  16. antioch/session/{views → objects}/rigid_body.py +25 -110
  17. antioch/session/{views → objects}/xform.py +24 -24
  18. antioch/session/scene.py +116 -134
  19. antioch/session/session.py +34 -43
  20. antioch/session/task.py +2 -16
  21. {antioch_py-2.0.7.dist-info → antioch_py-2.2.1.dist-info}/METADATA +1 -1
  22. antioch_py-2.2.1.dist-info/RECORD +85 -0
  23. common/ark/ark.py +2 -0
  24. common/ark/hardware.py +1 -5
  25. common/ark/kinematics.py +1 -1
  26. common/constants.py +16 -2
  27. common/core/agent.py +28 -0
  28. common/core/auth.py +1 -3
  29. common/message/__init__.py +2 -0
  30. common/message/velocity.py +11 -0
  31. common/session/__init__.py +1 -24
  32. common/session/config.py +390 -0
  33. common/session/sim.py +36 -147
  34. antioch/session/views/__init__.py +0 -42
  35. antioch/session/views/collision.py +0 -75
  36. antioch/session/views/material.py +0 -54
  37. antioch/session/views/radar.py +0 -131
  38. antioch_py-2.0.7.dist-info/RECORD +0 -101
  39. common/session/views/__init__.py +0 -263
  40. common/session/views/animation.py +0 -73
  41. common/session/views/articulation.py +0 -184
  42. common/session/views/basis_curve.py +0 -102
  43. common/session/views/camera.py +0 -147
  44. common/session/views/collision.py +0 -59
  45. common/session/views/geometry.py +0 -102
  46. common/session/views/ground_plane.py +0 -41
  47. common/session/views/imu.py +0 -66
  48. common/session/views/joint.py +0 -81
  49. common/session/views/light.py +0 -96
  50. common/session/views/material.py +0 -25
  51. common/session/views/pir_sensor.py +0 -119
  52. common/session/views/radar.py +0 -107
  53. common/session/views/rigid_body.py +0 -236
  54. common/session/views/viewport.py +0 -21
  55. common/session/views/xform.py +0 -39
  56. {antioch_py-2.0.7.dist-info → antioch_py-2.2.1.dist-info}/WHEEL +0 -0
  57. {antioch_py-2.0.7.dist-info → antioch_py-2.2.1.dist-info}/entry_points.txt +0 -0
  58. {antioch_py-2.0.7.dist-info → antioch_py-2.2.1.dist-info}/top_level.txt +0 -0
antioch/session/task.py CHANGED
@@ -201,8 +201,8 @@ class Task(SessionContainer):
201
201
  except Exception as e:
202
202
  raise SessionTaskError(f"Failed to create bundle: {e}") from e
203
203
 
204
- # Reset telemetry and save the MCAP file to disk
205
- self._agent.reset_telemetry()
204
+ # Save the MCAP file to disk (does not reset websocket session)
205
+ self._agent.save_telemetry()
206
206
 
207
207
  # Upload task to Antioch Cloud
208
208
  try:
@@ -224,20 +224,6 @@ class Task(SessionContainer):
224
224
  self._ark_hash = None
225
225
  self._task_start_time = None
226
226
 
227
- def clear(self) -> None:
228
- """
229
- Clear the task and reset the task state.
230
- """
231
-
232
- self._agent.reset_telemetry()
233
- self._logger = None
234
- self._started = False
235
- self._mcap_path = None
236
- self._ark_name = None
237
- self._ark_version = None
238
- self._ark_hash = None
239
- self._task_start_time = None
240
-
241
227
  def _create_bundle(self, bundle_paths: list[Path]) -> str:
242
228
  """
243
229
  Create a tar.gz archive from the provided file paths.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: antioch-py
3
- Version: 2.0.7
3
+ Version: 2.2.1
4
4
  Summary: The Antioch Python SDK
5
5
  Author-email: Antioch Robotics <support@antioch.dev>
6
6
  License-Expression: MIT
@@ -0,0 +1,85 @@
1
+ antioch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ antioch/message.py,sha256=7YsmUA6H3Imikv6beUJilTpA8Nb5DCkeOwbRQwOLfGI,1463
3
+ antioch/module/__init__.py,sha256=nSbYXkicwbypnfyko2cN2JwvIzSntfVEYyP63VVPaGU,1008
4
+ antioch/module/clock.py,sha256=54NpvlbkFLtmiLGMXADGCkYbooUaKsDGN-xjjDqq7mw,2026
5
+ antioch/module/execution.py,sha256=bASbLFz3YqP7Ma5Pbga6W7ddNCQo3GzbjAlgrQXYWSw,7995
6
+ antioch/module/input.py,sha256=BGbJ6AOgm7gVTO6PBYs8B53q0v_YD3Jy2joM5M7kUlk,4317
7
+ antioch/module/module.py,sha256=6b9s_N1Tpr4Wtp8hXVxZHDzhfKgG2IHeOd8KE65TfMk,7581
8
+ antioch/module/node.py,sha256=1EDNzKbQINs4nKZiSdn_FEPg-3MyCKdC0b7pfucmLgk,14542
9
+ antioch/module/token.py,sha256=6KJbPMoaMqUrx8nfYzAgVTf8EaazT46g6KMC1zO97Pk,830
10
+ antioch/session/__init__.py,sha256=-TtFaO3SCjIjBvh29Dso54qlfqnfdUbUN_p8tW5i220,3526
11
+ antioch/session/ark.py,sha256=r8hpCM8wymtgIX1mcvGofQR6mZOdn9UCsnFAtnnpvto,18814
12
+ antioch/session/asset.py,sha256=G4wKHVxDkzLEtUap7b7jDF6Y_I4gdHiJ-b756QFBx54,2222
13
+ antioch/session/error.py,sha256=hEByLcsS8PPpK46prnz1GSWBx0ErGTnSkwBd29FUmWg,1685
14
+ antioch/session/record.py,sha256=acNeikDeWJFZLovgwbXGHTriqi5-szYjjrnt9s_cdUY,5527
15
+ antioch/session/scene.py,sha256=srg2F8PH4tOx9f2an2Q9TULyDtGPcBpBC3Gm6gMzjo8,60036
16
+ antioch/session/session.py,sha256=K25RZZ8HYMUpyeDoCzzWh-YLs1DcjBlrzxN2SvbtZ4E,6348
17
+ antioch/session/task.py,sha256=OBGFAD-oWRjkQUAElO9bXhJ_SI-j7S6TxKpUmCgN1-M,11484
18
+ antioch/session/objects/__init__.py,sha256=n7EYDfneWwro1OaXphbWGyasZ0tvAAAGe72PcUmTF_Y,1184
19
+ antioch/session/objects/animation.py,sha256=FIgYsHG9TWcdi5aG3ycGorJv-nJBFkiHArDWXLEx8bY,5427
20
+ antioch/session/objects/articulation.py,sha256=bSAvi6ZOAGOPTsXEtt8fGAG3VF8UR8TxSL0L1izGtbQ,6644
21
+ antioch/session/objects/basis_curve.py,sha256=I5x5CklyDeg7m3907Gs9vDa4PP9mjnMPZutjg7Vc8Kg,5918
22
+ antioch/session/objects/camera.py,sha256=clFfSKKlvMlh8x_OZb7AmHrqmWxO9sI760_LGvIBwBM,2252
23
+ antioch/session/objects/collision.py,sha256=ZGAINF7p3MbCoTwvx4Pzicc8dIfbJgjBgUn_TC_hrT0,1479
24
+ antioch/session/objects/geometry.py,sha256=MuC6qnHCVGnxYGovHU8U2G-tRGbINoL273t3yYQAPCE,1954
25
+ antioch/session/objects/ground_plane.py,sha256=o82nW9Ndhw-AiwiSKUrr1IhspFmdah7BYOTc1EUVEeg,1460
26
+ antioch/session/objects/imu.py,sha256=vx59MutAg1HOEvZESqOmxlQocrnXEW1B5rqD7LBzLwM,1602
27
+ antioch/session/objects/joint.py,sha256=_mqXq1IDvzQ9FnvCpKXGa0YNh8f9zCtmskC8UP4QgNI,1476
28
+ antioch/session/objects/light.py,sha256=Sl0zPIiCnocCCLUaaJaiDLbHVhAJ-ZnIr9IOueIrc_g,3831
29
+ antioch/session/objects/pir_sensor.py,sha256=M7-xs4h0-Mq3_Qea0K4ZrezDTOnqL4nXVjLZIIKHdwU,3455
30
+ antioch/session/objects/radar.py,sha256=BXl8OzngiY_urBRBB7kAlBHvtpR9aosWv7nuYcKSeWo,1930
31
+ antioch/session/objects/rigid_body.py,sha256=TuJ04vG0eyzg4lFAVp7ZE0YTzOjhlcqLoNaeW2sZM0E,6294
32
+ antioch/session/objects/xform.py,sha256=VkSDIfFEuutrDVuKO2F5sI4zKsGa0xZzxFeH-tRMjp0,3237
33
+ common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
+ common/constants.py,sha256=0jsX0pWUklL9UNLK4_rzGuo53qFWZX1_PIw9j2aKDnU,1652
35
+ common/ark/__init__.py,sha256=Lu2lJ5k7-vN6ZGeX2sYhRwzXEyt9kCyXtgsyvdIaCiU,1472
36
+ common/ark/ark.py,sha256=RqD8fmSPK_cjnaUOsscAj9406BsMXVCEynu_RtGa6qk,2444
37
+ common/ark/hardware.py,sha256=5AH9jkrjIvVK6JBfWM7Okpqm9Iqbs7gtyxktlzBS4oI,2252
38
+ common/ark/kinematics.py,sha256=BCPQKmQ5vWlZBCie861TIImmR3X5BniiuGRPoIvByDM,748
39
+ common/ark/module.py,sha256=IwkoirFb4dZkfVpn3tjgChRy5S6hVPbrtR9XgJ5UIBI,1922
40
+ common/ark/node.py,sha256=PWESl7sDdY_Q6aA3CZMRTQ0SONlO9LkUmXhRbUhT8_g,2303
41
+ common/ark/scheduler.py,sha256=QGO_-ZewCvOHJ-w9BAJJQdco0-b-mbbzufpSX9b-mNo,15703
42
+ common/ark/sim.py,sha256=SQtZkf97QF91oLWkTUEhq62GYL3yk7-LLDDR-lXVKcA,900
43
+ common/assets/__init__.py,sha256=We71LsStYI5-hknGd2XHrvHg8G4k1dity887BnI5oPI,102
44
+ common/core/__init__.py,sha256=L8rvLHQd-mOCfDQ2WN9BZiMqU0skeTTkeQvpJ59ouqI,1110
45
+ common/core/agent.py,sha256=EBNSTuxCOUM66UV7e1LA1aQLyYgIsRjFZXWqbbp-lR0,8613
46
+ common/core/auth.py,sha256=ihMnlhyDWJ73VhxqSulLTPxgorDK76WT7Mx97RCAhLY,9244
47
+ common/core/registry.py,sha256=J2Ihhgr6aTfovm-zSiGEcyHB8iBcpFcZVw6vVYKFjNg,11399
48
+ common/core/task.py,sha256=eybV7yQ8nPYgQtYuse-QvoMJ87Msh6rAN_LUOTGmN94,629
49
+ common/message/__init__.py,sha256=JHTTMFuMYUF9jspydMihfz2dK9-Mp37zWOTMZBUwK5g,1802
50
+ common/message/annotation.py,sha256=BlzDYhioAK1ATFfgZozmaF7uOqFdSr7KBhe2m03Z2q4,1911
51
+ common/message/array.py,sha256=Fly7u8BE-_QRwnkmv3k6P2EI0FguEUIzF_tE-mFGT1Q,13971
52
+ common/message/base.py,sha256=kdBEmcHy6R9EV_QbarSwPWZE0n_Sar-gXK8g5ceT2-U,18080
53
+ common/message/camera.py,sha256=Xv3Y31ppg9fkjncMteHwgB3Dx7RNRWbnStoDFp-YnhM,3075
54
+ common/message/color.py,sha256=PsM-mD-LAitJJD4DCvMaSFGwXjFEiWgdcrqxFRj0wGI,3292
55
+ common/message/frame.py,sha256=J8J0EutQ3mfHvmGjna-7hhWgIyqHgkKPPjIgMMyxCUw,1674
56
+ common/message/image.py,sha256=aF_rU_sOSJQci6g_Wr5Sd16FUFnHm2kgurqWcPPKbaA,5296
57
+ common/message/imu.py,sha256=mwIu_dK64aixrnz6Hsg8v-vXVKUabLBNbfHe2KqbVPo,328
58
+ common/message/joint.py,sha256=V9qEILZVaWoAbKGT_V3wvSAvZzoJ7YmrcROkIdzmg5o,1051
59
+ common/message/log.py,sha256=VN1zCwrUtTPNiyakNjYPZuz3UDMtW19fhD1F1M8MTf8,552
60
+ common/message/pir.py,sha256=nSm5dymphomoOZqZAtQeUCowrIginEjVvLwW9NdGNAU,797
61
+ common/message/point.py,sha256=oryHZEltba1z3GFRyb099oDddmiLE5SM4TKexgtBYaE,2229
62
+ common/message/point_cloud.py,sha256=e06e6-bGaN8VzwkCy4MltDZocnKP7Bbr14gBlUhXu-A,2035
63
+ common/message/pose.py,sha256=fcb0-xuIYWaaHHGC_iET9yma1fuicFvXJsaJaLO5XVI,4703
64
+ common/message/quaternion.py,sha256=Y6-XR3g7VaWVOkLoK6hE26wTYjnJFjrHIv9y17GM1EY,6897
65
+ common/message/radar.py,sha256=18w89hpq5tahh9V_49CWKXkU78b21xrTj_bH35u1UFE,2014
66
+ common/message/types.py,sha256=k2wtbozsyd4HhMBoDfPFMLyCAGmTxaOvVhzIr-wx3N0,480
67
+ common/message/vector.py,sha256=IrREGUi2zKTUmp5PG4YNiJKEM1zRXLl0fK9QuF7I06o,20302
68
+ common/message/velocity.py,sha256=vHcFH_nMNBgobwY7dLeBaHJNvNiJxsQaPxImUh3GjHY,205
69
+ common/rome/__init__.py,sha256=hfwUw5wbT-Ph-OFwGhiqw3XEeWaZwmLAs66LOYKqfzU,210
70
+ common/rome/client.py,sha256=6cFzqXilZWNndRAhJctqdPjQQbJM4a0BzoyGYZapIh0,15462
71
+ common/rome/error.py,sha256=oW8yI81o3hQghop4omFcMkXx4IbacGye38Iyw2VKihQ,294
72
+ common/session/__init__.py,sha256=S6DsgJbRwFHaEcqe2CNrR_KI2811B1auLv-VX4g5JVU,643
73
+ common/session/config.py,sha256=IxNK4uGRVmruLq9eFktBu8opyc_ACg1kysgkvCb5lho,17874
74
+ common/session/environment.py,sha256=CVW00KXWF8L0L6ocUsZ2UWt-iqAiP0usFdhZsK43fak,714
75
+ common/session/sim.py,sha256=CrwVPbu0m8UAFUSsTsU_TMgD1Ik9FKxs9FsaepIuZzg,2859
76
+ common/utils/__init__.py,sha256=9zRb7XayzCGRs4I94hWKJHyQ1MevlUiTzXsPNBLBX7Y,113
77
+ common/utils/comms.py,sha256=1lpnb9ra5I3xv-Eo0GFZ7nR4TjKseOeDNf9QMWQZbds,17283
78
+ common/utils/logger.py,sha256=VcZ4dduWut8xWPs-F5ye8RRrNdBehSSG3r1LAWc-IBY,3389
79
+ common/utils/time.py,sha256=kGDzObbaqWOep4vT1Y2W-BheunxdjYBI4V3Nfp4Ck3Q,790
80
+ common/utils/usd.py,sha256=to4VPtnamMDIQK-pwDIVfiuzUnNzEImj5szOar1NHiE,253
81
+ antioch_py-2.2.1.dist-info/METADATA,sha256=tAfB1wW9PidvVyBtDfXQBpCt3DoP3jboH_QbI9isJeo,3485
82
+ antioch_py-2.2.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
83
+ antioch_py-2.2.1.dist-info/entry_points.txt,sha256=1bLTH5BXCOsQkS8k6L_wJ6Nj62j4aoU9Ey_PhWzsRRM,59
84
+ antioch_py-2.2.1.dist-info/top_level.txt,sha256=GtzNccsep3YdBt9VXQ7-ZFsFJFffr4hyZvqg0YqRqtw,15
85
+ antioch_py-2.2.1.dist-info/RECORD,,
common/ark/ark.py CHANGED
@@ -65,6 +65,7 @@ class ArkVersionReference(Message):
65
65
  size_bytes: int
66
66
  asset_path: str | None = None
67
67
  asset_size_bytes: int | None = None
68
+ metadata: dict[str, str] = {}
68
69
 
69
70
 
70
71
  class ArkReference(Message):
@@ -88,6 +89,7 @@ class AssetVersionReference(Message):
88
89
  size_bytes: int
89
90
  created_at: str
90
91
  updated_at: str
92
+ metadata: dict[str, str] = {}
91
93
 
92
94
 
93
95
  class AssetReference(Message):
common/ark/hardware.py CHANGED
@@ -6,11 +6,7 @@ from typing import Annotated, Literal, Union
6
6
  from pydantic import Field
7
7
 
8
8
  from common.message import Message, Pose
9
- from common.session.views.articulation import ArticulationConfig
10
- from common.session.views.camera import CameraConfig
11
- from common.session.views.imu import ImuConfig
12
- from common.session.views.pir_sensor import PirSensorConfig
13
- from common.session.views.radar import RadarConfig
9
+ from common.session.config import ArticulationConfig, CameraConfig, ImuConfig, PirSensorConfig, RadarConfig
14
10
 
15
11
 
16
12
  class HardwareType(str, Enum):
common/ark/kinematics.py CHANGED
@@ -1,5 +1,5 @@
1
1
  from common.message import Message, Pose
2
- from common.session.views.joint import JointAxis, JointType
2
+ from common.session.config import JointAxis, JointType
3
3
 
4
4
 
5
5
  class Joint(Message):
common/constants.py CHANGED
@@ -1,8 +1,22 @@
1
1
  import os
2
2
  from pathlib import Path
3
3
 
4
- ANTIOCH_API_URL = os.environ.get("ANTIOCH_API_URL", "https://staging.api.antioch.com")
5
- ANTIOCH_DIR = os.environ.get("ANTIOCH_DIR", str(Path.home() / ".antioch"))
4
+ ANTIOCH_ENV = os.environ.get("ANTIOCH_ENV", "prod").lower()
5
+ if ANTIOCH_ENV not in ("prod", "staging"):
6
+ raise ValueError(f"Invalid ANTIOCH_ENV: {ANTIOCH_ENV}")
7
+
8
+ if ANTIOCH_ENV == "staging":
9
+ ANTIOCH_API_URL = "https://staging.api.antioch.com"
10
+ AUTH_DOMAIN = "https://staging.auth.antioch.com"
11
+ AUTH_CLIENT_ID = "x0aOquV43Xe76ehqAm6Zir80O0MWpqTV"
12
+ else:
13
+ ANTIOCH_API_URL = "https://api.antioch.com"
14
+ AUTH_DOMAIN = "https://auth.antioch.com"
15
+ AUTH_CLIENT_ID = "8RLoPEgMP3ih10sfJsGPkwbUWGilsoyX"
16
+
17
+ ANTIOCH_API_URL = os.environ.get("ANTIOCH_API_URL", ANTIOCH_API_URL)
18
+ AUTH_DOMAIN = os.environ.get("AUTH_DOMAIN", AUTH_DOMAIN)
19
+ ANTIOCH_DIR = os.environ.get("ANTIOCH_DIR", str(Path.home() / ".antioch" / ANTIOCH_ENV))
6
20
 
7
21
 
8
22
  def get_auth_dir() -> Path:
common/core/agent.py CHANGED
@@ -63,6 +63,14 @@ class RecordTelemetryRequest(Message):
63
63
  websocket_port: int | None = None
64
64
 
65
65
 
66
+ class SaveTelemetryRequest(Message):
67
+ """
68
+ Request to save telemetry (finalize MCAP without resetting session).
69
+ """
70
+
71
+ _type = "antioch/agent/save_telemetry_request"
72
+
73
+
66
74
  class AgentResponse(Message):
67
75
  """
68
76
  Generic response for agent operations.
@@ -251,6 +259,26 @@ class Agent:
251
259
  if not response.success:
252
260
  raise AgentError(f"Failed to start recording telemetry: {response.error}")
253
261
 
262
+ def save_telemetry(self) -> None:
263
+ """
264
+ Save telemetry by finalizing the MCAP file.
265
+
266
+ Closes the current MCAP recording if one is active. Does NOT reset the websocket
267
+ session or time tracking - telemetry continues streaming to connected clients.
268
+
269
+ :raises AgentError: If the agent fails to save telemetry.
270
+ """
271
+
272
+ response = self.comms.query(
273
+ path="_agent/save_telemetry",
274
+ response_type=AgentResponse,
275
+ request=SaveTelemetryRequest(),
276
+ timeout=5.0,
277
+ )
278
+
279
+ if not response.success:
280
+ raise AgentError(f"Failed to save telemetry: {response.error}")
281
+
254
282
  def reset_telemetry(self) -> None:
255
283
  """
256
284
  Reset telemetry session completely.
common/core/auth.py CHANGED
@@ -7,15 +7,13 @@ from pathlib import Path
7
7
  import requests
8
8
  from pydantic import BaseModel
9
9
 
10
- from common.constants import get_auth_dir
10
+ from common.constants import AUTH_CLIENT_ID, AUTH_DOMAIN, get_auth_dir
11
11
 
12
12
  # Authentication routes
13
- AUTH_DOMAIN = os.environ.get("AUTH_DOMAIN", "https://staging.auth.antioch.com")
14
13
  AUTH_TOKEN_URL = f"{AUTH_DOMAIN}/oauth/token"
15
14
  DEVICE_CODE_URL = f"{AUTH_DOMAIN}/oauth/device/code"
16
15
 
17
16
  # Authentication constants
18
- AUTH_CLIENT_ID = "x0aOquV43Xe76ehqAm6Zir80O0MWpqTV"
19
17
  ALGORITHMS = ["RS256"]
20
18
  AUDIENCE = "https://sessions.antioch.com"
21
19
  AUTH_SCOPE = "openid profile email"
@@ -16,6 +16,7 @@ from common.message.quaternion import Quaternion
16
16
  from common.message.radar import RadarDetection, RadarScan
17
17
  from common.message.types import Bool, Float, Int, String
18
18
  from common.message.vector import Vector2, Vector3
19
+ from common.message.velocity import Twist
19
20
 
20
21
  __all__ = [
21
22
  "Array",
@@ -56,4 +57,5 @@ __all__ = [
56
57
  "TextAnnotation",
57
58
  "Vector2",
58
59
  "Vector3",
60
+ "Twist",
59
61
  ]
@@ -0,0 +1,11 @@
1
+ from common.message.base import Message
2
+ from common.message.vector import Vector3
3
+
4
+
5
+ class Twist(Message):
6
+ """
7
+ Linear and angular velocity (twist).
8
+ """
9
+
10
+ linear: Vector3
11
+ angular: Vector3
@@ -1,54 +1,31 @@
1
+ from common.session.config import BodyType, DistortionModel, GeometryType, LightType, MeshApproximation
1
2
  from common.session.sim import (
2
- AddAsset,
3
- GetLocalPose,
4
- GetPrimAttribute,
5
- GetWorldPose,
6
3
  PrimAttributeValue,
7
4
  PrimInfo,
8
- QueryScene,
9
5
  RpcCall,
10
6
  RpcError,
11
7
  RpcResponse,
12
8
  SceneQueryResponse,
13
9
  SceneTarget,
14
- SetLocalPose,
15
- SetPrimAttribute,
16
- SetWorldPose,
17
10
  SimulationInfo,
18
11
  SimulationState,
19
12
  SimulationTime,
20
- Step,
21
- ToggleUi,
22
13
  )
23
- from common.session.views.camera import DistortionModel
24
- from common.session.views.geometry import GeometryType, MeshApproximation
25
- from common.session.views.light import LightType
26
- from common.session.views.rigid_body import BodyType
27
14
 
28
15
  __all__ = [
29
- "AddAsset",
30
16
  "BodyType",
31
17
  "DistortionModel",
32
18
  "GeometryType",
33
- "GetLocalPose",
34
- "GetPrimAttribute",
35
- "GetWorldPose",
36
19
  "LightType",
37
20
  "MeshApproximation",
38
21
  "PrimAttributeValue",
39
22
  "PrimInfo",
40
- "QueryScene",
41
23
  "RpcCall",
42
24
  "RpcError",
43
25
  "RpcResponse",
44
26
  "SceneQueryResponse",
45
27
  "SceneTarget",
46
- "SetLocalPose",
47
- "SetPrimAttribute",
48
- "SetWorldPose",
49
28
  "SimulationInfo",
50
29
  "SimulationState",
51
30
  "SimulationTime",
52
- "Step",
53
- "ToggleUi",
54
31
  ]