suppress pyrefly errors in mujoco
Startblock: * // Put other blockers before this line to avoid churning. * has lgtm * is approved * and then * all comments are resolved * and then PiperOrigin-RevId: 961854282 Change-Id: I9d323a8ef9f36ffe69cc62d449849eac82dc6858
This commit is contained in:
committed by
Copybara-Service
parent
d6dc966c04
commit
0aad65868d
@@ -53,7 +53,7 @@ def _call_render(
|
|||||||
token = token_array.reshape(
|
token = token_array.reshape(
|
||||||
d._impl._jax_token.shape # pytype: disable=attribute-error
|
d._impl._jax_token.shape # pytype: disable=attribute-error
|
||||||
)
|
)
|
||||||
d = d.tree_replace({'_impl._jax_token': token})
|
d = d.tree_replace({'_impl._jax_token': token}) # pyrefly: ignore[bad-assignment]
|
||||||
return rgb, depth, seg, d
|
return rgb, depth, seg, d
|
||||||
|
|
||||||
raise NotImplementedError('render only implemented for MuJoCo Warp.')
|
raise NotImplementedError('render only implemented for MuJoCo Warp.')
|
||||||
|
|||||||
@@ -466,7 +466,7 @@ def sensor_acc(m: Model, d: Data) -> Data:
|
|||||||
# compute contact forces
|
# compute contact forces
|
||||||
contact_force = []
|
contact_force = []
|
||||||
condim_ids = []
|
condim_ids = []
|
||||||
for dim in set(d._impl.contact.dim):
|
for dim in set(d._impl.contact.dim): # pyrefly: ignore[missing-attribute]
|
||||||
force, condim_id = support.contact_force_dim(m, d, dim)
|
force, condim_id = support.contact_force_dim(m, d, dim)
|
||||||
contact_force.append(force)
|
contact_force.append(force)
|
||||||
condim_ids.append(condim_id)
|
condim_ids.append(condim_id)
|
||||||
@@ -485,7 +485,7 @@ def sensor_acc(m: Model, d: Data) -> Data:
|
|||||||
|
|
||||||
if sensor_type == SensorType.TOUCH:
|
if sensor_type == SensorType.TOUCH:
|
||||||
# get bodies of contact geoms
|
# get bodies of contact geoms
|
||||||
conbody = jp.array(m.geom_bodyid)[d._impl.contact.geom]
|
conbody = jp.array(m.geom_bodyid)[d._impl.contact.geom] # pyrefly: ignore[missing-attribute]
|
||||||
|
|
||||||
# get site information
|
# get site information
|
||||||
site_bodyid = m.site_bodyid[objid]
|
site_bodyid = m.site_bodyid[objid]
|
||||||
@@ -495,14 +495,14 @@ def sensor_acc(m: Model, d: Data) -> Data:
|
|||||||
site_type = m.site_type[objid]
|
site_type = m.site_type[objid]
|
||||||
conbody0 = site_bodyid[:, None] == conbody[:, 0]
|
conbody0 = site_bodyid[:, None] == conbody[:, 0]
|
||||||
conbody1 = site_bodyid[:, None] == conbody[:, 1]
|
conbody1 = site_bodyid[:, None] == conbody[:, 1]
|
||||||
contacts = (d._impl.contact.efc_address >= 0)[None] & (
|
contacts = (d._impl.contact.efc_address >= 0)[None] & ( # pyrefly: ignore[missing-attribute]
|
||||||
conbody0 | conbody1
|
conbody0 | conbody1
|
||||||
)
|
)
|
||||||
|
|
||||||
# compute conray, flip if second body
|
# compute conray, flip if second body
|
||||||
conray = jax.vmap(
|
conray = jax.vmap(
|
||||||
lambda frame, force: math.normalize(frame[0] * force[0])
|
lambda frame, force: math.normalize(frame[0] * force[0])
|
||||||
)(d._impl.contact.frame, contact_force) # pyrefly: ignore[unbound-name]
|
)(d._impl.contact.frame, contact_force) # pyrefly: ignore[missing-attribute, unbound-name]
|
||||||
conray = jp.where(conbody1[..., None], -conray, conray)
|
conray = jp.where(conbody1[..., None], -conray, conray)
|
||||||
|
|
||||||
# compute distance, mapping over sites and contacts
|
# compute distance, mapping over sites and contacts
|
||||||
@@ -524,7 +524,7 @@ def sensor_acc(m: Model, d: Data) -> Data:
|
|||||||
site_xpos[dist_id_site],
|
site_xpos[dist_id_site],
|
||||||
site_xmat[dist_id_site],
|
site_xmat[dist_id_site],
|
||||||
st,
|
st,
|
||||||
d._impl.contact.pos,
|
d._impl.contact.pos, # pyrefly: ignore[missing-attribute]
|
||||||
conray[dist_id_site],
|
conray[dist_id_site],
|
||||||
)
|
)
|
||||||
dist.append(jp.where(jp.isinf(dist_site), 0, dist_site))
|
dist.append(jp.where(jp.isinf(dist_site), 0, dist_site))
|
||||||
@@ -535,11 +535,11 @@ def sensor_acc(m: Model, d: Data) -> Data:
|
|||||||
sensor = jp.dot((dist > 0) & contacts, contact_force[:, 0])
|
sensor = jp.dot((dist > 0) & contacts, contact_force[:, 0])
|
||||||
elif sensor_type == SensorType.CONTACT:
|
elif sensor_type == SensorType.CONTACT:
|
||||||
# maximum number of contacts
|
# maximum number of contacts
|
||||||
ncon = d._impl.ncon
|
ncon = d._impl.ncon # pyrefly: ignore[missing-attribute]
|
||||||
|
|
||||||
# active contacts
|
# active contacts
|
||||||
dist = d._impl.contact.dist
|
dist = d._impl.contact.dist # pyrefly: ignore[missing-attribute]
|
||||||
pos = dist - d._impl.contact.includemargin
|
pos = dist - d._impl.contact.includemargin # pyrefly: ignore[missing-attribute]
|
||||||
is_contact = pos < 0
|
is_contact = pos < 0
|
||||||
|
|
||||||
# reduction criteria
|
# reduction criteria
|
||||||
@@ -607,8 +607,8 @@ def sensor_acc(m: Model, d: Data) -> Data:
|
|||||||
elif objtype == ObjType.GEOM or reftype == ObjType.GEOM:
|
elif objtype == ObjType.GEOM or reftype == ObjType.GEOM:
|
||||||
sensorid1 = objid[idx_ds]
|
sensorid1 = objid[idx_ds]
|
||||||
sensorid2 = refid[idx_ds]
|
sensorid2 = refid[idx_ds]
|
||||||
geomid0 = d._impl.contact.geom[:, 0]
|
geomid0 = d._impl.contact.geom[:, 0] # pyrefly: ignore[missing-attribute]
|
||||||
geomid1 = d._impl.contact.geom[:, 1]
|
geomid1 = d._impl.contact.geom[:, 1] # pyrefly: ignore[missing-attribute]
|
||||||
|
|
||||||
# match sensor ids and contact geom ids
|
# match sensor ids and contact geom ids
|
||||||
geom0id1 = geomid0 == sensorid1[:, None]
|
geom0id1 = geomid0 == sensorid1[:, None]
|
||||||
@@ -671,13 +671,13 @@ def sensor_acc(m: Model, d: Data) -> Data:
|
|||||||
slot.append(dist[cid, None])
|
slot.append(dist[cid, None])
|
||||||
|
|
||||||
if dataspec & (1 << 4): # pos
|
if dataspec & (1 << 4): # pos
|
||||||
slot.append(d._impl.contact.pos[cid])
|
slot.append(d._impl.contact.pos[cid]) # pyrefly: ignore[missing-attribute]
|
||||||
|
|
||||||
if dataspec & (1 << 5): # normal
|
if dataspec & (1 << 5): # normal
|
||||||
slot.append(flip[:, 2, None] * d._impl.contact.frame[cid, 0])
|
slot.append(flip[:, 2, None] * d._impl.contact.frame[cid, 0]) # pyrefly: ignore[missing-attribute]
|
||||||
|
|
||||||
if dataspec & (1 << 6): # tangent
|
if dataspec & (1 << 6): # tangent
|
||||||
slot.append(flip[:, 2, None] * d._impl.contact.frame[cid, 1])
|
slot.append(flip[:, 2, None] * d._impl.contact.frame[cid, 1]) # pyrefly: ignore[missing-attribute]
|
||||||
|
|
||||||
found = jp.tile(jp.arange(num), nsensor) < jp.repeat(nfound, num)
|
found = jp.tile(jp.arange(num), nsensor) < jp.repeat(nfound, num)
|
||||||
sensors.append((found[:, None] * jp.hstack(slot)).reshape(-1))
|
sensors.append((found[:, None] * jp.hstack(slot)).reshape(-1))
|
||||||
|
|||||||
@@ -395,40 +395,40 @@ class SensorType(enum.IntEnum):
|
|||||||
FRAMEANGACC: 3D angular acceleration
|
FRAMEANGACC: 3D angular acceleration
|
||||||
"""
|
"""
|
||||||
|
|
||||||
MAGNETOMETER = mujoco.mjtSensor.mjSENS_MAGNETOMETER
|
MAGNETOMETER = mujoco.mjtSensor.mjSENS_MAGNETOMETER # pyrefly: ignore[bad-assignment]
|
||||||
CAMPROJECTION = mujoco.mjtSensor.mjSENS_CAMPROJECTION
|
CAMPROJECTION = mujoco.mjtSensor.mjSENS_CAMPROJECTION # pyrefly: ignore[bad-assignment]
|
||||||
RANGEFINDER = mujoco.mjtSensor.mjSENS_RANGEFINDER
|
RANGEFINDER = mujoco.mjtSensor.mjSENS_RANGEFINDER # pyrefly: ignore[bad-assignment]
|
||||||
JOINTPOS = mujoco.mjtSensor.mjSENS_JOINTPOS
|
JOINTPOS = mujoco.mjtSensor.mjSENS_JOINTPOS # pyrefly: ignore[bad-assignment]
|
||||||
TENDONPOS = mujoco.mjtSensor.mjSENS_TENDONPOS
|
TENDONPOS = mujoco.mjtSensor.mjSENS_TENDONPOS # pyrefly: ignore[bad-assignment]
|
||||||
ACTUATORPOS = mujoco.mjtSensor.mjSENS_ACTUATORPOS
|
ACTUATORPOS = mujoco.mjtSensor.mjSENS_ACTUATORPOS # pyrefly: ignore[bad-assignment]
|
||||||
BALLQUAT = mujoco.mjtSensor.mjSENS_BALLQUAT
|
BALLQUAT = mujoco.mjtSensor.mjSENS_BALLQUAT # pyrefly: ignore[bad-assignment]
|
||||||
FRAMEPOS = mujoco.mjtSensor.mjSENS_FRAMEPOS
|
FRAMEPOS = mujoco.mjtSensor.mjSENS_FRAMEPOS # pyrefly: ignore[bad-assignment]
|
||||||
FRAMEXAXIS = mujoco.mjtSensor.mjSENS_FRAMEXAXIS
|
FRAMEXAXIS = mujoco.mjtSensor.mjSENS_FRAMEXAXIS # pyrefly: ignore[bad-assignment]
|
||||||
FRAMEYAXIS = mujoco.mjtSensor.mjSENS_FRAMEYAXIS
|
FRAMEYAXIS = mujoco.mjtSensor.mjSENS_FRAMEYAXIS # pyrefly: ignore[bad-assignment]
|
||||||
FRAMEZAXIS = mujoco.mjtSensor.mjSENS_FRAMEZAXIS
|
FRAMEZAXIS = mujoco.mjtSensor.mjSENS_FRAMEZAXIS # pyrefly: ignore[bad-assignment]
|
||||||
FRAMEQUAT = mujoco.mjtSensor.mjSENS_FRAMEQUAT
|
FRAMEQUAT = mujoco.mjtSensor.mjSENS_FRAMEQUAT # pyrefly: ignore[bad-assignment]
|
||||||
SUBTREECOM = mujoco.mjtSensor.mjSENS_SUBTREECOM
|
SUBTREECOM = mujoco.mjtSensor.mjSENS_SUBTREECOM # pyrefly: ignore[bad-assignment]
|
||||||
CLOCK = mujoco.mjtSensor.mjSENS_CLOCK
|
CLOCK = mujoco.mjtSensor.mjSENS_CLOCK # pyrefly: ignore[bad-assignment]
|
||||||
VELOCIMETER = mujoco.mjtSensor.mjSENS_VELOCIMETER
|
VELOCIMETER = mujoco.mjtSensor.mjSENS_VELOCIMETER # pyrefly: ignore[bad-assignment]
|
||||||
GYRO = mujoco.mjtSensor.mjSENS_GYRO
|
GYRO = mujoco.mjtSensor.mjSENS_GYRO # pyrefly: ignore[bad-assignment]
|
||||||
JOINTVEL = mujoco.mjtSensor.mjSENS_JOINTVEL
|
JOINTVEL = mujoco.mjtSensor.mjSENS_JOINTVEL # pyrefly: ignore[bad-assignment]
|
||||||
TENDONVEL = mujoco.mjtSensor.mjSENS_TENDONVEL
|
TENDONVEL = mujoco.mjtSensor.mjSENS_TENDONVEL # pyrefly: ignore[bad-assignment]
|
||||||
ACTUATORVEL = mujoco.mjtSensor.mjSENS_ACTUATORVEL
|
ACTUATORVEL = mujoco.mjtSensor.mjSENS_ACTUATORVEL # pyrefly: ignore[bad-assignment]
|
||||||
BALLANGVEL = mujoco.mjtSensor.mjSENS_BALLANGVEL
|
BALLANGVEL = mujoco.mjtSensor.mjSENS_BALLANGVEL # pyrefly: ignore[bad-assignment]
|
||||||
FRAMELINVEL = mujoco.mjtSensor.mjSENS_FRAMELINVEL
|
FRAMELINVEL = mujoco.mjtSensor.mjSENS_FRAMELINVEL # pyrefly: ignore[bad-assignment]
|
||||||
FRAMEANGVEL = mujoco.mjtSensor.mjSENS_FRAMEANGVEL
|
FRAMEANGVEL = mujoco.mjtSensor.mjSENS_FRAMEANGVEL # pyrefly: ignore[bad-assignment]
|
||||||
SUBTREELINVEL = mujoco.mjtSensor.mjSENS_SUBTREELINVEL
|
SUBTREELINVEL = mujoco.mjtSensor.mjSENS_SUBTREELINVEL # pyrefly: ignore[bad-assignment]
|
||||||
SUBTREEANGMOM = mujoco.mjtSensor.mjSENS_SUBTREEANGMOM
|
SUBTREEANGMOM = mujoco.mjtSensor.mjSENS_SUBTREEANGMOM # pyrefly: ignore[bad-assignment]
|
||||||
TOUCH = mujoco.mjtSensor.mjSENS_TOUCH
|
TOUCH = mujoco.mjtSensor.mjSENS_TOUCH # pyrefly: ignore[bad-assignment]
|
||||||
CONTACT = mujoco.mjtSensor.mjSENS_CONTACT
|
CONTACT = mujoco.mjtSensor.mjSENS_CONTACT # pyrefly: ignore[bad-assignment]
|
||||||
ACCELEROMETER = mujoco.mjtSensor.mjSENS_ACCELEROMETER
|
ACCELEROMETER = mujoco.mjtSensor.mjSENS_ACCELEROMETER # pyrefly: ignore[bad-assignment]
|
||||||
FORCE = mujoco.mjtSensor.mjSENS_FORCE
|
FORCE = mujoco.mjtSensor.mjSENS_FORCE # pyrefly: ignore[bad-assignment]
|
||||||
TORQUE = mujoco.mjtSensor.mjSENS_TORQUE
|
TORQUE = mujoco.mjtSensor.mjSENS_TORQUE # pyrefly: ignore[bad-assignment]
|
||||||
ACTUATORFRC = mujoco.mjtSensor.mjSENS_ACTUATORFRC
|
ACTUATORFRC = mujoco.mjtSensor.mjSENS_ACTUATORFRC # pyrefly: ignore[bad-assignment]
|
||||||
JOINTACTFRC = mujoco.mjtSensor.mjSENS_JOINTACTFRC
|
JOINTACTFRC = mujoco.mjtSensor.mjSENS_JOINTACTFRC # pyrefly: ignore[bad-assignment]
|
||||||
TENDONACTFRC = mujoco.mjtSensor.mjSENS_TENDONACTFRC
|
TENDONACTFRC = mujoco.mjtSensor.mjSENS_TENDONACTFRC # pyrefly: ignore[bad-assignment]
|
||||||
FRAMELINACC = mujoco.mjtSensor.mjSENS_FRAMELINACC
|
FRAMELINACC = mujoco.mjtSensor.mjSENS_FRAMELINACC # pyrefly: ignore[bad-assignment]
|
||||||
FRAMEANGACC = mujoco.mjtSensor.mjSENS_FRAMEANGACC
|
FRAMEANGACC = mujoco.mjtSensor.mjSENS_FRAMEANGACC # pyrefly: ignore[bad-assignment]
|
||||||
|
|
||||||
|
|
||||||
class ObjType(PyTreeNode):
|
class ObjType(PyTreeNode):
|
||||||
@@ -1213,6 +1213,6 @@ def tree_path_to_attr_str(path: jax.tree_util.KeyPath) -> str:
|
|||||||
path = path[: is_seq_key.index(True)]
|
path = path[: is_seq_key.index(True)]
|
||||||
|
|
||||||
assert all(isinstance(p, jax.tree_util.GetAttrKey) for p in path)
|
assert all(isinstance(p, jax.tree_util.GetAttrKey) for p in path)
|
||||||
path = [p for p in path if p.name != '_impl']
|
path = [p for p in path if p.name != '_impl'] # pyrefly: ignore[bad-assignment]
|
||||||
return '__'.join(p.name for p in path)
|
return '__'.join(p.name for p in path)
|
||||||
|
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ def _get_target_annotation_node(
|
|||||||
return _ast_parse_type('int')
|
return _ast_parse_type('int')
|
||||||
|
|
||||||
if dataclasses.is_dataclass(annotation):
|
if dataclasses.is_dataclass(annotation):
|
||||||
return _ast_parse_type(annotation.__name__)
|
return _ast_parse_type(annotation.__name__) # pyrefly: ignore[missing-attribute]
|
||||||
|
|
||||||
is_tuple = typing.get_origin(annotation) == tuple
|
is_tuple = typing.get_origin(annotation) == tuple
|
||||||
if is_tuple and typing.get_args(annotation)[1] != ...:
|
if is_tuple and typing.get_args(annotation)[1] != ...:
|
||||||
@@ -230,7 +230,7 @@ def _build_new_class_body_ast(
|
|||||||
)
|
)
|
||||||
|
|
||||||
new_body_nodes.append(
|
new_body_nodes.append(
|
||||||
ast.AnnAssign(
|
ast.AnnAssign( # pyrefly: ignore[no-matching-overload]
|
||||||
target=ast.Name(id=key, ctx=ast.Store()),
|
target=ast.Name(id=key, ctx=ast.Store()),
|
||||||
annotation=annotation_node,
|
annotation=annotation_node,
|
||||||
value=value_node,
|
value=value_node,
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ def _get_imported_module_fpaths(fpath: epath.Path) -> Dict[str, str]:
|
|||||||
if not (fully_qualified_name.startswith('mujoco_warp') or
|
if not (fully_qualified_name.startswith('mujoco_warp') or
|
||||||
fully_qualified_name.startswith('mujoco')):
|
fully_qualified_name.startswith('mujoco')):
|
||||||
continue
|
continue
|
||||||
fpath = _resolve_module_name_to_fpath(fully_qualified_name)
|
fpath = _resolve_module_name_to_fpath(fully_qualified_name) # pyrefly: ignore[bad-assignment]
|
||||||
if fpath:
|
if fpath:
|
||||||
all_resolved_fpaths[alias] = fpath
|
all_resolved_fpaths[alias] = fpath
|
||||||
return all_resolved_fpaths
|
return all_resolved_fpaths
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ class GhostRenderer:
|
|||||||
self._viewer.extra_geoms.clear()
|
self._viewer.extra_geoms.clear()
|
||||||
if self._last_time is None or data.time < self._last_time:
|
if self._last_time is None or data.time < self._last_time:
|
||||||
self._history.clear()
|
self._history.clear()
|
||||||
if not self._history or data.time > self._last_time:
|
if not self._history or data.time > self._last_time: # pyrefly: ignore[unsupported-operation]
|
||||||
self._history.append((
|
self._history.append((
|
||||||
data.time,
|
data.time,
|
||||||
data.geom_xpos.copy(),
|
data.geom_xpos.copy(),
|
||||||
@@ -129,7 +129,7 @@ class GhostRenderer:
|
|||||||
while len(self._history) > 1 and self._history[1][0] <= target_time:
|
while len(self._history) > 1 and self._history[1][0] <= target_time:
|
||||||
self._history.popleft()
|
self._history.popleft()
|
||||||
|
|
||||||
_, xpos, xmat = self._history[0]
|
_, xpos, xmat = self._history[0] # pyrefly: ignore[bad-assignment]
|
||||||
if len(xpos) != model.ngeom or len(xmat) != model.ngeom:
|
if len(xpos) != model.ngeom or len(xmat) != model.ngeom:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ def main(argv: list[str]) -> None:
|
|||||||
print(f'Error saving image to `{_OUTPUT.value}`: {ex}')
|
print(f'Error saving image to `{_OUTPUT.value}`: {ex}')
|
||||||
sys.exit(-3)
|
sys.exit(-3)
|
||||||
|
|
||||||
return 0
|
return 0 # pyrefly: ignore[bad-return]
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ def main(argv: list[str]) -> None:
|
|||||||
) as handle:
|
) as handle:
|
||||||
# Send the model to the viewer, if we have a model.
|
# Send the model to the viewer, if we have a model.
|
||||||
if model is not None:
|
if model is not None:
|
||||||
handle.send_to_viewer(messages.ModelEvent(model=model, path=model_path))
|
handle.send_to_viewer(messages.ModelEvent(model=model, path=model_path)) # pyrefly: ignore[bad-argument-type]
|
||||||
|
|
||||||
# Run the simulation.
|
# Run the simulation.
|
||||||
step_control = sim.StepControl()
|
step_control = sim.StepControl()
|
||||||
|
|||||||
@@ -792,7 +792,7 @@ def _run_server(
|
|||||||
try:
|
try:
|
||||||
# Handshake: browser CmdVersion -> client; client CmdVersion -> browser.
|
# Handshake: browser CmdVersion -> client; client CmdVersion -> browser.
|
||||||
browser_version = await ws.recv()
|
browser_version = await ws.recv()
|
||||||
my_writer.write(browser_version)
|
my_writer.write(browser_version) # pyrefly: ignore[bad-argument-type]
|
||||||
await my_writer.drain()
|
await my_writer.drain()
|
||||||
server_version = await my_reader.readexactly(_NETIMGUI_CMD_VERSION_SIZE)
|
server_version = await my_reader.readexactly(_NETIMGUI_CMD_VERSION_SIZE)
|
||||||
await ws.send(server_version)
|
await ws.send(server_version)
|
||||||
@@ -869,10 +869,10 @@ def _run_server(
|
|||||||
gen_before = generation.value
|
gen_before = generation.value
|
||||||
if gen_before & 1:
|
if gen_before & 1:
|
||||||
continue
|
continue
|
||||||
(used,) = struct.unpack("<I", bytes(shm_array[:4]))
|
(used,) = struct.unpack("<I", bytes(shm_array[:4])) # pyrefly: ignore[unsupported-operation]
|
||||||
if used == 0 or used > shm_capacity:
|
if used == 0 or used > shm_capacity:
|
||||||
return None
|
return None
|
||||||
data = bytes(shm_array[4 : 4 + used])
|
data = bytes(shm_array[4 : 4 + used]) # pyrefly: ignore[unsupported-operation]
|
||||||
if generation.value == gen_before:
|
if generation.value == gen_before:
|
||||||
return gen_before, data
|
return gen_before, data
|
||||||
return None
|
return None
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ def generate_usd_trajectory(local_args):
|
|||||||
# create an instance of the USDExporter
|
# create an instance of the USDExporter
|
||||||
exp = exporter.USDExporter(
|
exp = exporter.USDExporter(
|
||||||
model=m,
|
model=m,
|
||||||
output_directory_name=pathlib.Path(local_args.model_path).stem,
|
output_directory_name=pathlib.Path(local_args.model_path).stem, # pyrefly: ignore[unexpected-keyword]
|
||||||
output_directory_root=local_args.output_directory_root,
|
output_directory_root=local_args.output_directory_root,
|
||||||
camera_names=local_args.camera_names,
|
camera_names=local_args.camera_names,
|
||||||
)
|
)
|
||||||
@@ -42,7 +42,7 @@ def generate_usd_trajectory(local_args):
|
|||||||
if exp.frame_count < d.time * local_args.framerate:
|
if exp.frame_count < d.time * local_args.framerate:
|
||||||
exp.update_scene(data=d)
|
exp.update_scene(data=d)
|
||||||
|
|
||||||
exp.add_light(pos=(0, 0, 0),
|
exp.add_light(pos=(0, 0, 0), # pyrefly: ignore[bad-argument-type]
|
||||||
intensity=2000,
|
intensity=2000,
|
||||||
light_type='dome')
|
light_type='dome')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user