Simulation platform for general-purpose robotics & embodied AI learning.
This report summarizes scanner evidence for Genesis-Embodied-AI/Genesis, a Python project with 30,038 GitHub stars. SynthScan examined 250,815 lines of code across 598 source files, recording 2776 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 20.4 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1666 finding(s).
Are imports declared and package/API names verified? 604 finding(s).
Are wrappers, guards, and repeated structures necessary? 1547 finding(s).
Which changes need focused human review? 2776 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2776 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/core/test_quadrants.py | 116 | actual_contacts = scene.rigid_solver.collider.collider_state.n_contacts.to_numpy() | CODE |
| CRITICAL⚡ | tests/integration/test_integration.py | 199 | links_pos_0 = scene.rigid_solver.dyn_state.links.pos.to_numpy()[:, 0] | CODE |
| CRITICAL⚡ | tests/integration/test_integration.py | 200 | links_quat_0 = scene.rigid_solver.dyn_state.links.quat.to_numpy()[:, 0] | CODE |
| CRITICAL⚡ | tests/integration/test_integration.py | 209 | links_pos_f = scene.rigid_solver.dyn_state.links.pos.to_numpy()[:, 0] | CODE |
| CRITICAL⚡ | tests/integration/test_integration.py | 210 | links_quat_f = scene.rigid_solver.dyn_state.links.quat.to_numpy()[:, 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_narrowphase.py | 430 | self.scene_analytical._sim.rigid_solver._errno.fill(0) | CODE |
| CRITICAL⚡ | tests/rigid/test_narrowphase.py | 437 | self.scene_gjk._sim.rigid_solver._errno.fill(0) | CODE |
| CRITICAL | tests/rigid/test_friction.py | 30 | velocity_zero = gs_sim.rigid_solver.dyn_state.dofs.vel.to_numpy()[:, 0] | CODE |
| CRITICAL | tests/rigid/test_friction.py | 38 | velocity_high = gs_sim.rigid_solver.dyn_state.dofs.vel.to_numpy()[:, 0] | CODE |
| CRITICAL | tests/rigid/test_friction.py | 49 | velocity_medium = gs_sim.rigid_solver.dyn_state.dofs.vel.to_numpy()[:, 0] | CODE |
| CRITICAL | tests/rigid/test_mujoco_parity.py | 351 | ctrl_mode = gs_sim.rigid_solver.dyn_state.dofs.ctrl_mode.to_numpy()[:, 0] | CODE |
| CRITICAL | tests/rigid/test_mujoco_parity.py | 358 | ctrl_mode = gs_sim.rigid_solver.dyn_state.dofs.ctrl_mode.to_numpy()[:, 0] | CODE |
| CRITICAL | tests/rigid/test_mujoco_parity.py | 376 | mj_sim.data.qvel[:] = gs_sim.rigid_solver.dyn_state.dofs.vel.to_numpy()[:, 0] | CODE |
| CRITICAL | tests/rigid/test_mujoco_parity.py | 384 | mj_sim.data.qvel[:] = gs_sim.rigid_solver.dyn_state.dofs.vel.to_numpy()[:, 0] | CODE |
| CRITICAL | tests/rigid/test_mujoco_parity.py | 416 | gs_sim.rigid_solver.dyn_state.dofs.ctrl_mode.fill(int(gs.CTRL_MODE.FORCE)) | CODE |
| CRITICAL | tests/rigid/test_mujoco_parity.py | 421 | dof_bounds = gs_sim.rigid_solver.dyn_info.dofs.limit.to_numpy() | CODE |
| CRITICAL⚡ | tests/rigid/test_control.py | 78 | dofs_armature = scene.rigid_solver.dyn_info.dofs.armature.to_numpy() | CODE |
| CRITICAL⚡ | tests/rigid/test_control.py | 80 | scene.rigid_solver.dyn_info.dofs.armature.from_numpy(dofs_armature) | CODE |
| CRITICAL⚡ | tests/rigid/test_control.py | 90 | qf_applied = scene.rigid_solver.dyn_state.dofs.qf_applied.to_numpy().T | CODE |
| CRITICAL | tests/rigid/test_control.py | 102 | scene.rigid_solver.dyn_info.dofs.force_range.from_numpy(tensor_to_array(force_range)) | CODE |
| CRITICAL | tests/rigid/test_control.py | 282 | assert scene.rigid_solver.collider.collider_state.n_contacts.to_numpy()[0] == 2 | CODE |
| CRITICAL | tests/rigid/test_control.py | 292 | if scene.rigid_solver.collider.collider_state.n_contacts.to_numpy()[0] > 2: | CODE |
| CRITICAL | tests/rigid/test_dynamics.py | 521 | if impact_step < 0 and scene.rigid_solver.collider.collider_state.n_contacts.to_numpy().any(): | CODE |
| CRITICAL | tests/rigid/test_dynamics.py | 1111 | assert (scene.rigid_solver.constraint_solver.constraint_state.n_constraints.to_numpy() > 0).all() | CODE |
| CRITICAL | tests/rigid/test_dynamics.py | 1113 | Mgrad = scene.rigid_solver.constraint_solver.constraint_state.Mgrad.to_numpy() | CODE |
| CRITICAL⚡ | tests/rigid/test_collision.py | 1733 | eq_type = scene.rigid_solver.dyn_info.equalities.eq_type.to_numpy()[: scene.rigid_solver.n_equalities, 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_collision.py | 1734 | eq_obj1id = scene.rigid_solver.dyn_info.equalities.eq_obj1id.to_numpy()[: scene.rigid_solver.n_equalities, 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_collision.py | 1735 | eq_obj2id = scene.rigid_solver.dyn_info.equalities.eq_obj2id.to_numpy()[: scene.rigid_solver.n_equalities, 0] | CODE |
| CRITICAL | tests/rigid/test_collision.py | 1588 | n_contacts = scene.rigid_solver.collider.collider_state.n_contacts.to_numpy() | CODE |
| CRITICAL | tests/rigid/test_collision.py | 2056 | collision_pair_idx = scene.rigid_solver.collider.collider_info.collision_pair_idx.to_numpy() | CODE |
| CRITICAL | tests/rigid/test_collision_nonconvex.py | 55 | qvel = scene.sim.rigid_solver.dyn_state.dofs.vel.to_numpy()[:, 0] | CODE |
| CRITICAL | tests/rigid/test_collision_nonconvex.py | 765 | assert gs_sim.rigid_solver.dyn_info.geoms.is_convex.to_numpy().all() | CODE |
| CRITICAL | tests/rigid/test_asset_loading.py | 219 | assert_allclose(scene.rigid_solver.dyn_state.dofs.vel.to_numpy(), 0.0, tol=1e-3) | CODE |
| CRITICAL | tests/rigid/test_asset_loading.py | 987 | assert_equal(np.array(quad_vgeom.vmesh.trimesh.visual.material.image.convert("RGB")), texture) | CODE |
| CRITICAL | tests/rigid/test_asset_loading.py | 1111 | qf_passive = scene.rigid_solver.dyn_state.dofs.qf_passive.to_numpy() | CODE |
| CRITICAL | tests/rigid/test_asset_loading.py | 2099 | collision_pair_idx = scene.rigid_solver.collider.collider_info.collision_pair_idx.to_numpy() | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 29 | assert_allclose(gs_sim.rigid_solver.dyn_state.links.cd_vel.to_numpy(), 0, tol=tol) | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 32 | cvel_0, cvel_1 = gs_sim.rigid_solver.dyn_state.links.cd_vel.to_numpy()[:, 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 42 | cvel_0, cvel_1 = gs_sim.rigid_solver.dyn_state.links.cd_vel.to_numpy()[:, 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 68 | cvel_0, cvel_1 = gs_sim.rigid_solver.dyn_state.links.cd_vel.to_numpy()[:, 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 69 | omega_0, omega_1 = gs_sim.rigid_solver.dyn_state.links.cd_ang.to_numpy()[:, 0, 2] | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 77 | xpos_0, xpos_1 = gs_sim.rigid_solver.dyn_state.links.pos.to_numpy()[:, 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 191 | theta_dot = gs_sim.rigid_solver.dyn_state.dofs.vel.to_numpy()[:, 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 197 | theta_ddot = gs_sim.rigid_solver.dyn_state.dofs.acc.to_numpy()[:, 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 206 | cacc_spatial_lin_world = gs_sim.rigid_solver.dyn_state.links.cacc_lin.to_numpy()[[0, 2, 4], 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 207 | com = gs_sim.rigid_solver.dyn_state.links.root_COM.to_numpy()[-1, 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 208 | pos = gs_sim.rigid_solver.dyn_state.links.pos.to_numpy()[[0, 2, 4], 0] | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 313 | expected_pos = scene.rigid_solver.dyn_state.joints.xanchor.to_numpy() | CODE |
| CRITICAL⚡ | tests/rigid/test_kinematics.py | 318 | expected_axis = scene.rigid_solver.dyn_state.joints.xaxis.to_numpy() | CODE |
| CRITICAL | tests/rigid/test_kinematics.py | 146 | acc_spatial_lin_world = gs_sim.rigid_solver.dyn_state.links.cacc_lin.to_numpy() | CODE |
| CRITICAL⚡ | tests/utils/mujoco_parity.py | 742 | # Acceleration pre- VS post-implicit damping gs_qacc_post = gs_sim.rigid_solver.dyn_state.dofs.acc.to_numpy()[:, 0] | COMMENT |
| CRITICAL⚡ | tests/utils/mujoco_parity.py | 404 | gs_inertia_i = gs_sim.rigid_solver.dyn_info.links.inertial_i.to_numpy()[gs_i, [0, 1, 2], [0, 1, 2]] | CODE |
| CRITICAL⚡ | tests/utils/mujoco_parity.py | 407 | gs_ipos_i = gs_sim.rigid_solver.dyn_info.links.inertial_pos.to_numpy()[gs_i] | CODE |
| CRITICAL⚡ | tests/utils/mujoco_parity.py | 410 | gs_iquat_i = gs_sim.rigid_solver.dyn_info.links.inertial_quat.to_numpy()[gs_i] | CODE |
| CRITICAL⚡ | tests/utils/mujoco_parity.py | 413 | gs_pos_i = gs_sim.rigid_solver.dyn_info.links.pos.to_numpy()[gs_i] | CODE |
| CRITICAL⚡ | tests/utils/mujoco_parity.py | 416 | gs_quat_i = gs_sim.rigid_solver.dyn_info.links.quat.to_numpy()[gs_i] | CODE |
| CRITICAL⚡ | tests/utils/mujoco_parity.py | 419 | gs_mass_i = gs_sim.rigid_solver.dyn_info.links.inertial_mass.to_numpy()[gs_i] | CODE |
| CRITICAL⚡ | tests/utils/mujoco_parity.py | 424 | gs_dof_damping = gs_sim.rigid_solver.dyn_info.dofs.damping.to_numpy() | CODE |
| CRITICAL⚡ | tests/utils/mujoco_parity.py | 428 | gs_dof_armature = gs_sim.rigid_solver.dyn_info.dofs.armature.to_numpy() | CODE |
| CRITICAL⚡ | tests/utils/mujoco_parity.py | 433 | gs_dof_stiffness = gs_sim.rigid_solver.dyn_info.dofs.stiffness.to_numpy() | CODE |
| 67 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/utils/mujoco_parity.py | 766 | # ------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/particles/test_sph.py | 260 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/particles/test_sph.py | 262 | # ============================================================================= | COMMENT |
| MEDIUM | tests/benchmarks/test_rigid.py | 204 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/benchmarks/test_rigid.py | 215 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/benchmarks/test_rigid.py | 936 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/benchmarks/test_rigid.py | 938 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/benchmarks/test_rigid.py | 985 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/benchmarks/test_rigid.py | 987 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/benchmarks/test_rigid.py | 1048 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/benchmarks/test_rigid.py | 1050 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/benchmarks/test_rigid.py | 1114 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/benchmarks/test_rigid.py | 1116 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 30 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 32 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 86 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 88 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 144 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 146 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 164 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 166 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 414 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 416 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 977 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/watertighten.py | 979 | # =============================================================================================================== | COMMENT |
| MEDIUM | genesis/utils/geom.py | 14 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/utils/geom.py | 16 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/utils/geom.py | 703 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/utils/geom.py | 705 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/utils/geom.py | 1823 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/utils/geom.py | 1825 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/utils/geom.py | 2394 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/utils/geom.py | 2396 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/utils/path_planning.py | 77 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/utils/path_planning.py | 79 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/utils/path_planning.py | 1065 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/utils/path_planning.py | 1067 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/vis/viewer.py | 451 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/vis/viewer.py | 453 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/vis/visualizer.py | 270 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/vis/visualizer.py | 272 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/scene.py | 1537 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/scene.py | 1539 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/scene.py | 1855 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/scene.py | 1857 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/simulator.py | 317 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/simulator.py | 319 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/simulator.py | 341 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/simulator.py | 343 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | genesis/engine/simulator.py | 430 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | genesis/engine/simulator.py | 432 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/simulator.py | 487 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/simulator.py | 489 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/simulator.py | 519 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/simulator.py | 521 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/couplers/legacy_coupler.py | 27 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/couplers/legacy_coupler.py | 29 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/couplers/sap_coupler.py | 178 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/couplers/sap_coupler.py | 180 | # ------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | genesis/engine/couplers/sap_coupler.py | 240 | # ------------------------------------------------------------------------------------ | COMMENT |
| 288 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 100 | def is_mem_monitoring_supported(): | CODE |
| LOW | tests/conftest.py | 111 | def pytest_make_parametrize_id(config, val, argname): | CODE |
| LOW | tests/conftest.py | 346 | def pytest_xdist_auto_num_workers(config): | CODE |
| LOW | tests/conftest.py | 417 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW | tests/conftest.py | 494 | def pytest_runtest_makereport(item, call): | CODE |
| LOW | tests/conftest.py | 798 | def use_deterministic_algorithms(request): | CODE |
| LOW | tests/gpu_info.py | 33 | def get_device_index_from_uuid(self, device_uuid: str) -> int: | CODE |
| LOW | tests/gpu_info.py | 74 | def get_device_index_from_uuid(self, device_uuid: str) -> int: | CODE |
| LOW | tests/gpu_info.py | 142 | def get_device_index_from_uuid(self, device_uuid: str) -> int: | CODE |
| LOW | tests/grad/conftest.py | 38 | def grad_revolute_frictionloss(): | CODE |
| LOW | tests/grad/conftest.py | 128 | def grad_hinge_pair_joint_eq_linear(): | CODE |
| LOW | tests/grad/conftest.py | 141 | def grad_hinge_pair_joint_eq_quadratic(): | CODE |
| LOW | tests/grad/conftest.py | 154 | def grad_hinge_joint_eq_constant(): | CODE |
| LOW | tests/grad/test_rigid_optim.py | 16 | def test_reference_trajectory_recovery_converges(control_target, grad_cartpole, show_viewer): | CODE |
| LOW | tests/grad/test_rigid_optim.py | 89 | def test_goal_pose_optimization_converges(show_viewer): | CODE |
| LOW | tests/grad/test_rigid_collision.py | 28 | def test_contact_per_step_force_grad_matches_fd(shape, grad_capsule, precision, show_viewer): | CODE |
| LOW | tests/grad/test_rigid_collision.py | 163 | def test_contact_no_tunneling_forward(show_viewer): | CODE |
| LOW | tests/grad/test_rigid_collision.py | 208 | def test_diff_unsupported_configuration_raises(): | CODE |
| LOW | tests/grad/test_rigid_collision.py | 282 | def test_contact_detection_jacobian_matches_fd(): | CODE |
| LOW | tests/grad/test_rigid_collision.py | 405 | def test_constraint_solver_backward_matches_fd(monkeypatch): | CODE |
| LOW | tests/grad/test_rigid_collision.py | 464 | def constraint_solver_resolve(): | CODE |
| LOW | tests/grad/test_rigid_dynamics.py | 136 | def test_fk_multistep_force_grad_matches_fd(model_name, request, precision, show_viewer): | CODE |
| LOW | tests/grad/test_rigid_dynamics.py | 198 | def test_per_step_pd_target_grad_matches_fd(control_mode, grad_revolute, precision, show_viewer): | CODE |
| LOW | tests/grad/test_rigid_constraints.py | 15 | def test_joint_limit_grad_matches_fd(grad_slider_limit, precision, show_viewer): | CODE |
| LOW | tests/grad/test_rigid_constraints.py | 102 | def test_per_step_force_into_limit_grad_matches_fd(model_name, request, precision, show_viewer): | CODE |
| LOW | tests/grad/test_rigid_constraints.py | 153 | def test_frictionloss_grad_matches_fd(grad_revolute_frictionloss, precision, show_viewer): | CODE |
| LOW | tests/grad/test_rigid_constraints.py | 192 | def test_equality_grad_matches_fd(model_name, n_rows, request, precision, show_viewer): | CODE |
| LOW | tests/grad/test_rigid_constraints.py | 227 | def test_all_constraint_groups_grad_matches_fd(grad_all_eq_fric, precision, show_viewer): | CODE |
| LOW | tests/grad/test_grad_tape.py | 15 | def test_horizon_truncation_matches_independent_scenes(model_name, request, show_viewer): | CODE |
| LOW | tests/grad/test_grad_tape.py | 85 | def test_sim_vs_solver_state_grad_parity(show_viewer): | CODE |
| LOW | tests/sensors/test_camera.py | 34 | def test_rasterizer_non_batched(n_envs, show_viewer): | CODE |
| LOW | tests/sensors/test_camera.py | 279 | def test_rasterizer_attached_batched(show_viewer, png_snapshot, tol): | CODE |
| LOW | tests/sensors/test_camera.py | 439 | def test_batch_renderer_destroy(): | CODE |
| LOW | tests/sensors/test_camera.py | 706 | def test_destroy_unbuilt_scene_with_camera(): | CODE |
| LOW | tests/sensors/test_camera.py | 717 | def test_destroy_idempotent_with_camera(): | CODE |
| LOW | tests/sensors/test_temperature.py | 11 | def test_grid_sensor_contact_and_reset(show_viewer, tol, n_envs): | CODE |
| LOW | tests/sensors/test_temperature.py | 116 | def test_grid_simulate_all_link_temps(show_viewer, tol, n_envs): | CODE |
| LOW | tests/sensors/test_joint_torque.py | 38 | def joint_torque_contact_pendulum(): | CODE |
| LOW | tests/sensors/test_joint_torque.py | 137 | def test_joint_torque_with_contact(joint_torque_contact_pendulum, show_viewer, tol, n_envs): | CODE |
| LOW | tests/sensors/test_imu.py | 204 | def test_lone_sensor_resolution_and_offset_setter(show_viewer, n_envs): | CODE |
| LOW | tests/sensors/test_tactile.py | 15 | def test_surface_distance_sensor_box_sphere(show_viewer, tol, n_envs): | CODE |
| LOW | tests/sensors/test_tactile.py | 165 | def test_kinematic_contact_probe_box_sphere_support(show_viewer, tol, n_envs): | CODE |
| LOW | tests/sensors/test_tactile.py | 374 | def test_raycast_probe_on_fully_fixed_solver(show_viewer): | CODE |
| LOW | tests/sensors/test_tactile.py | 412 | def test_contact_probe_hysteresis(show_viewer): | CODE |
| LOW | tests/sensors/test_tactile.py | 510 | def test_contact_depth_probe_hysteresis_gain_and_dead_resample(show_viewer, tol): | CODE |
| LOW | tests/sensors/test_tactile.py | 641 | def test_filler_probes_radius_zero(show_viewer, tol, n_envs): | CODE |
| LOW | tests/sensors/test_tactile.py | 766 | def test_contact_depth_query_sdf_vs_raycast_parity(show_viewer): | CODE |
| LOW | tests/sensors/test_tactile.py | 875 | def test_filtered_contact_survives_prefilter_cap(show_viewer, monkeypatch, n_envs): | CODE |
| LOW | tests/sensors/test_tactile.py | 930 | def test_kinematic_taxel_crosstalk(show_viewer): | CODE |
| LOW | tests/sensors/test_tactile.py | 1099 | def test_gaussian_crosstalk_kernel_helper(): | CODE |
| LOW | tests/sensors/test_tactile.py | 1117 | def test_proximity_taxel_crosstalk(show_viewer): | CODE |
| LOW | tests/sensors/test_tactile.py | 1196 | def test_proximity_taxel_twist_torque(show_viewer, tol, n_envs): | CODE |
| LOW | tests/sensors/test_tactile.py | 1288 | def test_proximity_sensor_box_on_box(show_viewer, tol, n_envs): | CODE |
| LOW | tests/sensors/test_tactile.py | 1366 | def test_elastomer_sensor_sphere_ground_dilate_shear(show_viewer, tol, n_envs): | CODE |
| LOW | tests/sensors/test_tactile.py | 1489 | def test_elastomer_sensor_grid_box_sphere(show_viewer, tol, n_envs): | CODE |
| LOW | tests/sensors/test_tactile.py | 1711 | def test_heterogeneous_object(show_viewer, tol): | CODE |
| LOW | tests/sensors/test_api.py | 16 | def test_lazy_sensor_discovery(show_viewer, tmp_path): | CODE |
| LOW | tests/sensors/test_api.py | 121 | def test_post_process_requires_intermediate_override(): | CODE |
| LOW | tests/sensors/test_api.py | 213 | def _apply_physics_imperfections(cls, metadata, slot_0, timeline): | CODE |
| LOW | tests/sensors/test_api.py | 226 | def _apply_hardware_imperfections(cls, metadata, working_buf): | CODE |
| 953 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 51 | CODE | |
| LOW | tests/upload_benchmarks_table_to_wandb.py | 20 | CODE | |
| LOW | tests/upload_benchmarks_table_to_wandb.py | 21 | CODE | |
| LOW | tests/upload_benchmarks_table_to_wandb.py | 22 | CODE | |
| LOW | tests/grad/utils.py | 4 | CODE | |
| LOW | tests/sensors/test_camera.py | 18 | CODE | |
| LOW | tests/sensors/test_camera.py | 24 | CODE | |
| LOW | tests/parsers/test_usd.py | 21 | CODE | |
| LOW | tests/rigid/test_narrowphase.py | 56 | CODE | |
| LOW | tests/rigid/test_serialization.py | 16 | CODE | |
| LOW | tests/ipc/test_rigid.py | 9 | CODE | |
| LOW | tests/ipc/test_rigid.py | 30 | CODE | |
| LOW | tests/ipc/test_deformable.py | 9 | CODE | |
| LOW | tests/ipc/test_deformable.py | 27 | CODE | |
| LOW | tests/ipc/utils.py | 5 | CODE | |
| LOW | tests/ipc/test_api.py | 6 | CODE | |
| LOW | tests/ipc/test_api.py | 19 | CODE | |
| LOW | tests/rendering/conftest.py | 70 | CODE | |
| LOW | tests/rendering/test_interactive_viewer.py | 7 | CODE | |
| LOW | examples/sensors/tactile_sandbox.py | 24 | CODE | |
| LOW | examples/sensors/tactile_sandbox.py | 25 | CODE | |
| LOW | examples/sensors/camera_as_sensor.py | 21 | CODE | |
| LOW | examples/sensors/camera_as_sensor.py | 30 | CODE | |
| LOW | examples/sensors/tactile_franka.py | 21 | CODE | |
| LOW | examples/sensors/tactile_franka.py | 22 | CODE | |
| LOW | examples/manipulation/grasp_env.py | 18 | CODE | |
| LOW | examples/viewer_plugin/mesh_point_selector.py | 16 | CODE | |
| LOW | examples/viewer_plugin/mesh_point_selector.py | 18 | CODE | |
| LOW | examples/drone/fly_route.py | 10 | CODE | |
| LOW | examples/drone/quadcopter_controller.py | 9 | CODE | |
| LOW | .github/workflows/scripts/alarm.py | 32 | CODE | |
| LOW | .github/workflows/scripts/alarm.py | 40 | CODE | |
| LOW | genesis/__init__.py | 430 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 455 | CODE | |
| LOW | genesis/__init__.py | 472 | CODE | |
| LOW | genesis/__init__.py | 473 | CODE | |
| LOW | genesis/__init__.py | 474 | CODE | |
| LOW | genesis/__init__.py | 475 | CODE | |
| LOW | genesis/__init__.py | 475 | CODE | |
| LOW | genesis/__init__.py | 475 | CODE | |
| LOW | genesis/__init__.py | 477 | CODE | |
| LOW | genesis/__init__.py | 478 | CODE | |
| LOW | genesis/__init__.py | 479 | CODE | |
| LOW | genesis/__init__.py | 480 | CODE | |
| LOW | genesis/__init__.py | 481 | CODE | |
| LOW | genesis/__init__.py | 483 | CODE | |
| LOW | genesis/__init__.py | 484 | CODE | |
| 415 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/monitor_test_mem.py | 63 | CODE | |
| LOW | tests/conftest.py | 346 | CODE | |
| LOW | tests/conftest.py | 457 | CODE | |
| LOW | tests/gpu_info.py | 85 | CODE | |
| LOW | tests/upload_benchmarks_table_to_wandb.py | 28 | CODE | |
| LOW | tests/grad/test_rigid_collision.py | 28 | CODE | |
| LOW | tests/grad/test_rigid_collision.py | 29 | CODE | |
| LOW | tests/grad/utils.py | 72 | CODE | |
| LOW | tests/core/test_utils.py | 41 | CODE | |
| LOW | tests/core/test_utils.py | 89 | CODE | |
| LOW | tests/core/test_utils.py | 216 | CODE | |
| LOW | tests/core/test_utils.py | 482 | CODE | |
| LOW | tests/rigid/conftest.py | 368 | CODE | |
| LOW | tests/rigid/test_narrowphase.py | 129 | CODE | |
| LOW | tests/rigid/test_narrowphase.py | 219 | CODE | |
| LOW | tests/rigid/test_narrowphase.py | 242 | CODE | |
| LOW | tests/rigid/test_narrowphase.py | 454 | CODE | |
| LOW | tests/rigid/test_narrowphase.py | 658 | CODE | |
| LOW | tests/rigid/test_narrowphase.py | 1086 | CODE | |
| LOW | tests/rigid/test_narrowphase.py | 1182 | CODE | |
| LOW | tests/rigid/test_friction.py | 720 | CODE | |
| LOW | tests/rigid/test_dynamics.py | 211 | CODE | |
| LOW | tests/rigid/test_collision.py | 430 | CODE | |
| LOW | tests/rigid/test_collision.py | 711 | CODE | |
| LOW | tests/rigid/test_collision.py | 1251 | CODE | |
| LOW | tests/rigid/test_collision.py | 1703 | CODE | |
| LOW | tests/rigid/test_api.py | 26 | CODE | |
| LOW | tests/rigid/test_api.py | 925 | CODE | |
| LOW | tests/rigid/test_asset_loading.py | 1534 | CODE | |
| LOW | tests/rigid/test_kinematics.py | 636 | CODE | |
| LOW | tests/utils/mujoco_parity.py | 17 | CODE | |
| LOW | tests/utils/mujoco_parity.py | 62 | CODE | |
| LOW | tests/utils/mujoco_parity.py | 95 | CODE | |
| LOW | tests/utils/mujoco_parity.py | 561 | CODE | |
| LOW | tests/utils/collision.py | 21 | CODE | |
| LOW | tests/utils/assets.py | 104 | CODE | |
| LOW | tests/benchmarks/test_rigid.py | 36 | CODE | |
| LOW | tests/benchmarks/test_rigid.py | 106 | CODE | |
| LOW | tests/ipc/test_rigid.py | 334 | CODE | |
| LOW | tests/rendering/test_dynamic_meshes.py | 345 | CODE | |
| LOW | tests/rendering/test_offscreen.py | 209 | CODE | |
| LOW | tests/rendering/test_offscreen.py | 446 | CODE | |
| LOW | examples/sensors/surface_distance_shadowhand.py | 32 | CODE | |
| LOW | examples/sensors/tactile_sandbox.py | 236 | CODE | |
| LOW | examples/sensors/tactile_franka.py | 111 | CODE | |
| LOW | examples/sensors/tactile_franka.py | 177 | CODE | |
| LOW | examples/sensors/depth_camera_custom_vverts.py | 15 | CODE | |
| LOW | examples/manipulation/grasp_env.py | 366 | CODE | |
| LOW | examples/rigid/hibernation.py | 27 | CODE | |
| LOW | examples/rigid/friction_breakaway.py | 61 | CODE | |
| LOW | examples/rigid/set_phys_attr.py | 8 | CODE | |
| LOW | examples/rigid/control_franka.py | 8 | CODE | |
| LOW | examples/rigid/merge_entities.py | 14 | CODE | |
| LOW | examples/tutorials/draw_debug.py | 7 | CODE | |
| LOW | examples/ipc/ipc_momentum.py | 11 | CODE | |
| LOW | examples/ipc/ipc_momentum.py | 86 | CODE | |
| LOW | examples/speed_benchmark/timers.py | 18 | CODE | |
| LOW | examples/collision/contact_manifold.py | 36 | CODE | |
| LOW | .github/workflows/scripts/alarm.py | 353 | CODE | |
| LOW | genesis/repr_base.py | 16 | CODE | |
| 400 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/monitor_test_mem.py | 78 | except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): | CODE |
| HIGH | tests/conftest.py | 487 | except (AttributeError, KeyError): | CODE |
| HIGH | tests/parsers/conftest.py | 25 | except ImportError: | CODE |
| HIGH | tests/utils/assets.py | 86 | except AttributeError: | CODE |
| HIGH | .github/workflows/scripts/alarm.py | 151 | except (ValueError, TypeError, KeyError): | CODE |
| HIGH | genesis/repr_base.py | 31 | except AttributeError: | CODE |
| HIGH | genesis/__init__.py | 420 | except (AttributeError, NameError): | CODE |
| HIGH | genesis/__init__.py | 439 | except OSError as e: | CODE |
| HIGH | genesis/__init__.py | 446 | except ImportError: | CODE |
| HIGH | genesis/__init__.py | 452 | except ImportError: | CODE |
| HIGH | genesis/datatypes.py | 120 | except OSError: | CODE |
| HIGH | genesis/options/morphs.py | 1017 | except (ET.ParseError, OSError): | CODE |
| HIGH | genesis/options/morphs.py | 1168 | except (ValueError, ET.ParseError, FileNotFoundError, OSError): | CODE |
| HIGH | genesis/ext/_trimesh_patch.py | 516 | except BaseException: | CODE |
| HIGH | genesis/ext/_trimesh_patch.py | 521 | except BaseException: | CODE |
| HIGH | genesis/ext/_trimesh_patch.py | 606 | except BaseException: | CODE |
| HIGH | genesis/ext/pyrender/shader_program.py | 71 | except OpenGL.error.GLError: | CODE |
| HIGH | genesis/ext/pyrender/shader_program.py | 158 | except OpenGL.error.Error: | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 661 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 695 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 699 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 703 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 707 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 682 | except (OpenGL.error.GLError, OpenGL.error.NullFunctionError): | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 829 | except (OpenGL.error.GLError, OpenGL.error.NullFunctionError): | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 1220 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 1224 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 1373 | except AttributeError: | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 1348 | except AttributeError: | CODE |
| HIGH | genesis/ext/pyrender/viewer.py | 1306 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/font.py | 48 | except OpenGL.error.GLError: | CODE |
| HIGH | genesis/ext/pyrender/primitive.py | 524 | except OpenGL.error.Error: | CODE |
| HIGH | genesis/ext/pyrender/texture.py | 254 | except OpenGL.error.Error: | CODE |
| HIGH | genesis/ext/pyrender/texture.py | 348 | except OpenGL.error.Error: | CODE |
| HIGH | genesis/ext/pyrender/jit_render.py | 441 | except (GL.error.GLError, GL.error.NullFunctionError): | CODE |
| HIGH | genesis/ext/pyrender/jit_render.py | 449 | except (GL.error.GLError, GL.error.NullFunctionError): | CODE |
| HIGH | genesis/ext/pyrender/jit_render.py | 434 | except (GL.error.GLError, GL.error.NullFunctionError): | CODE |
| HIGH | genesis/ext/pyrender/offscreen.py | 216 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/offscreen.py | 228 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/platforms/pyglet_platform.py | 24 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/platforms/pyglet_platform.py | 75 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/platforms/pyglet_platform.py | 99 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/platforms/base.py | 46 | except Exception: | CODE |
| HIGH | genesis/ext/pyrender/overlay/plugin.py | 304 | except ImportError: | CODE |
| HIGH | genesis/ext/pyrender/overlay/plugin.py | 286 | except Exception: | CODE |
| HIGH | genesis/utils/video_encoder.py | 156 | except queue.Full: | CODE |
| HIGH | genesis/utils/video_encoder.py | 238 | except AttributeError: | CODE |
| HIGH | genesis/utils/video_encoder.py | 256 | except queue.Full: | CODE |
| HIGH | genesis/recorders/plotters.py | 35 | except ImportError: | CODE |
| HIGH | genesis/recorders/plotters.py | 43 | except ImportError: | CODE |
| HIGH | genesis/recorders/base_recorder.py | 263 | except queue.Empty: | CODE |
| HIGH | genesis/recorders/base_recorder.py | 180 | except AttributeError: | CODE |
| HIGH | genesis/recorders/base_recorder.py | 255 | except queue.Full: | CODE |
| HIGH | genesis/vis/viewer.py | 199 | except Exception: | CODE |
| HIGH | genesis/vis/rasterizer.py | 178 | except (OpenGL.error.GLError, OpenGL.error.NullFunctionError, ImportError): | CODE |
| HIGH | genesis/vis/rasterizer.py | 187 | except (OpenGL.error.NullFunctionError, OSError): | CODE |
| HIGH | genesis/vis/rasterizer.py | 172 | except (OpenGL.error.NullFunctionError, OSError): | CODE |
| HIGH | genesis/vis/viewer_plugins/plugins/default_controls.py | 36 | except ImportError: | CODE |
| HIGH | genesis/engine/scene.py | 279 | except ValueError: | CODE |
| HIGH | genesis/engine/sensors/base_sensor.py | 63 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/monitor_test_mem.py | 9 | # This module is launched as a standalone script ('python tests/monitor_test_mem.py'), so its own directory is | COMMENT |
| MEDIUM | tests/sensors/test_api.py | 30 | # Create a fake plugin package in a temp directory | COMMENT |
| MEDIUM | tests/parsers/test_usd.py | 266 | # Create a simple triangle mesh with intentionally mismatched UVs | COMMENT |
| MEDIUM | tests/core/test_utils.py | 414 | # Create a matrix that will have det(U) = -1 by using a reflection | COMMENT |
| MEDIUM | tests/rigid/test_kinematics.py | 407 | # Define a local offset point in the end-effector frame (e.g., 10cm along Z-axis) | COMMENT |
| MEDIUM | tests/rendering/test_interactive_viewer.py | 221 | # Create a scene | COMMENT |
| MEDIUM | examples/rigid/single_franka_batch_render.py | 104 | # Create an image exporter | COMMENT |
| MEDIUM | genesis/__init__.py | 153 | # Define the right dtypes in accordance with selected backend and precision | COMMENT |
| MEDIUM | genesis/ext/urdfpy/urdf.py | 2742 | # Create the link graph and base link/end link sets | COMMENT |
| MEDIUM | genesis/ext/urdfpy/urdf.py | 3484 | # Create an array of times that loops from 0 to 1 and back to 0 | COMMENT |
| MEDIUM | genesis/ext/urdfpy/urdf.py | 3498 | # Create the new interpolated trajectory | COMMENT |
| MEDIUM | genesis/ext/urdfpy/urdf.py | 3503 | # Create the scene | COMMENT |
| MEDIUM | genesis/ext/pyrender/mesh.py | 211 | # Create the primitive | COMMENT |
| MEDIUM | genesis/ext/pyrender/platforms/egl.py | 243 | # Create an EGL context | COMMENT |
| MEDIUM | genesis/utils/hybrid.py | 246 | # Create the 3D figure | COMMENT |
| MEDIUM | genesis/utils/mesh.py | 1000 | # Define the vertices of the frustum | COMMENT |
| MEDIUM | genesis/utils/mesh.py | 1015 | # Define the faces of the frustum | COMMENT |
| MEDIUM | genesis/utils/mesh.py | 1030 | # Create the frustum mesh | COMMENT |
| MEDIUM | genesis/utils/usd/__init__.py | 29 | >>> # Create a USD morph and parse the stage, adding its entities while the stage stays open | STRING |
| MEDIUM | genesis/engine/couplers/ipc_coupler/coupler.py | 1037 | # This method handles both volumetric FEM (3D) and cloth (2D) post-processing | COMMENT |
| MEDIUM | genesis/engine/sensors/sensor_manager.py | 66 | # Create the shared context before the sensor, so the instance exists to hand to it. ``NoneType`` marks | COMMENT |
| MEDIUM | genesis/engine/sensors/camera.py | 69 | # Create a minimal rasterizer context for camera frustum visualization (required by BatchRenderer even though | COMMENT |
| MEDIUM | genesis/engine/solvers/rigid/collider/diff_gjk.py | 580 | # Define the face (possibly) on the boundary of the Minkowski difference in the default configuration | COMMENT |
| MEDIUM | genesis/engine/entities/rigid_entity/description.py | 1084 | # Define a flag that determines whether the link at hand is associated with a robot. | COMMENT |
| MEDIUM | genesis/engine/entities/rigid_entity/rigid_entity.py | 111 | # Initialize target variables and checkpoint | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 38 | except Exception: | CODE |
| LOW | examples/viewer_plugin/mesh_point_selector.py | 229 | except Exception as e: | CODE |
| LOW | .github/workflows/scripts/alarm.py | 315 | except Exception as e: | CODE |
| LOW | genesis/repr_base.py | 71 | except Exception: | CODE |
| LOW | genesis/grad/tensor.py | 57 | except Exception: # obj is a single tensor | CODE |
| LOW | genesis/ext/urdfpy/urdf.py | 90 | except Exception: | CODE |
| LOW⚡ | genesis/ext/pyrender/viewer.py | 695 | except Exception: | CODE |
| LOW⚡ | genesis/ext/pyrender/viewer.py | 699 | except Exception: | CODE |
| LOW⚡ | genesis/ext/pyrender/viewer.py | 703 | except Exception: | CODE |
| LOW⚡ | genesis/ext/pyrender/viewer.py | 707 | except Exception: | CODE |
| LOW | genesis/ext/pyrender/viewer.py | 661 | except Exception: | CODE |
| LOW | genesis/ext/pyrender/viewer.py | 1018 | except Exception as e: | CODE |
| LOW | genesis/ext/pyrender/viewer.py | 1220 | except Exception: | CODE |
| LOW | genesis/ext/pyrender/viewer.py | 1224 | except Exception: | CODE |
| LOW | genesis/ext/pyrender/viewer.py | 1306 | except Exception: | CODE |
| LOW | genesis/ext/pyrender/viewer.py | 1357 | except Exception as e: | CODE |
| LOW | genesis/ext/pyrender/offscreen.py | 216 | except Exception: | CODE |
| LOW | genesis/ext/pyrender/offscreen.py | 228 | except Exception: | CODE |
| MEDIUM | genesis/ext/pyrender/offscreen.py | 225 | def __del__(self): | CODE |
| LOW | genesis/ext/pyrender/platforms/pyglet_platform.py | 24 | except Exception: | CODE |
| LOW | genesis/ext/pyrender/platforms/pyglet_platform.py | 75 | except Exception: | CODE |
| LOW | genesis/ext/pyrender/platforms/pyglet_platform.py | 99 | except Exception: | CODE |
| MEDIUM | genesis/ext/pyrender/platforms/pyglet_platform.py | 72 | def make_uncurrent(self): | CODE |
| LOW | genesis/ext/pyrender/platforms/base.py | 46 | except Exception: | CODE |
| MEDIUM | genesis/ext/pyrender/platforms/base.py | 43 | def __del__(self): | CODE |
| LOW | genesis/ext/pyrender/overlay/plugin.py | 280 | except Exception: | CODE |
| LOW | genesis/ext/pyrender/overlay/plugin.py | 286 | except Exception: | CODE |
| LOW | genesis/ext/pyrender/overlay/plugin.py | 308 | except Exception as e: | CODE |
| MEDIUM | genesis/ext/pyrender/overlay/plugin.py | 275 | def _get_clipboard(_ctx): | CODE |
| MEDIUM | genesis/ext/pyrender/overlay/plugin.py | 283 | def _set_clipboard(_ctx, text): | CODE |
| LOW | genesis/utils/misc.py | 817 | except Exception: | CODE |
| LOW | genesis/utils/mesh.py | 342 | except Exception as e: | CODE |
| LOW | genesis/utils/particle.py | 310 | except Exception as e: | CODE |
| MEDIUM | genesis/utils/particle.py | 289 | def _splashsurf_worker(positions, radius, args_dict, result_queue): | CODE |
| LOW | genesis/utils/usd/usd_context.py | 157 | except Exception as e: | CODE |
| LOW | genesis/recorders/plotters.py | 270 | except Exception as e: | CODE |
| LOW | genesis/recorders/plotters.py | 445 | except Exception as e: | CODE |
| LOW | genesis/recorders/trajectory.py | 318 | except Exception as error: | CODE |
| LOW | genesis/recorders/base_recorder.py | 127 | except Exception as error: | CODE |
| LOW | genesis/recorders/base_recorder.py | 243 | except Exception: | CODE |
| LOW | genesis/recorders/recorder_manager.py | 62 | except Exception: | CODE |
| LOW | genesis/recorders/recorder_manager.py | 69 | except Exception as error: | CODE |
| LOW | genesis/recorders/recorder_manager.py | 90 | except Exception as recorder_error: | CODE |
| LOW | genesis/recorders/recorder_manager.py | 128 | except Exception as recorder_error: | CODE |
| LOW | genesis/vis/viewer.py | 199 | except Exception: | CODE |
| LOW | genesis/vis/visualizer.py | 50 | except Exception as e: | CODE |
| LOW | genesis/vis/visualizer.py | 63 | except Exception as e: | CODE |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 800 | except Exception as e: | CODE |
| LOW | genesis/engine/sensors/base_sensor.py | 63 | except Exception: | CODE |
| MEDIUM | genesis/engine/sensors/base_sensor.py | 60 | def __del__(self): | CODE |
| LOW | genesis/engine/sensors/sensor_manager.py | 123 | except Exception: | CODE |
| LOW | genesis/engine/entities/rigid_entity/drone_entity.py | 27 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/rigid/test_terrain.py | 102 | # Check if cache is being reloaded as expected | COMMENT |
| LOW | tests/rigid/test_kinematics.py | 739 | # Check if the cube is colliding with the robot | COMMENT |
| LOW | tests/utils/assets.py | 72 | # Check if the current commit is contained by main branch | COMMENT |
| LOW | examples/sensors/depth_camera_custom_vverts.py | 139 | # Set Go2 to a standing pose | COMMENT |
| LOW | genesis/utils/geom.py | 1491 | # Check if batched | COMMENT |
| LOW | genesis/utils/geom.py | 1705 | # Check if batched | COMMENT |
| LOW | genesis/utils/raycast_qd.py | 91 | # Check if ray hits the node's bounding box | COMMENT |
| LOW | genesis/utils/gltf.py | 167 | # Check if material has a base color texture | COMMENT |
| LOW | genesis/utils/mjcf.py | 761 | # Assign geoms to link | COMMENT |
| LOW | genesis/utils/usd/__init__.py | 40 | # Check if USD support is available before importing modules that depend on it | COMMENT |
| LOW | genesis/vis/rasterizer_context.py | 338 | # Check if the node has a valid name | COMMENT |
| LOW | genesis/vis/rasterizer_context.py | 342 | # Check if the name is already in use | COMMENT |
| LOW | genesis/engine/couplers/ipc_coupler/utils.py | 61 | # Check if there is any non-fixed joint | COMMENT |
| LOW | genesis/engine/couplers/ipc_coupler/coupler.py | 25 | # Check if libuipc is available | COMMENT |
| LOW | genesis/engine/couplers/ipc_coupler/coupler.py | 111 | # Check if uipc is available | COMMENT |
| LOW | genesis/engine/couplers/ipc_coupler/coupler.py | 950 | # Set delta_theta_tilde to IPC geometry | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/gjk_utils.py | 130 | # Check if the point predicted by the affine coordinates is equal to the point itself | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/diff_gjk.py | 290 | # Check if there is any duplicate contact point. | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/diff_gjk.py | 463 | # Check if the memory space is enough for attaching new faces | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/epa.py | 151 | # Check if the memory space is enough for attaching new faces | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/epa.py | 655 | # Check if v4 or v5 located inside the triangle. | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/epa.py | 1093 | # Check if the memory space is enough for attaching new faces | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/multi_contact.py | 160 | # Check if any of the edge normals match | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/gjk.py | 562 | # Check if the objects are separated using support vector | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/gjk.py | 778 | # Check if the origin is strictly outside of the Minkowski difference (which means there is no collision) | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/gjk.py | 1218 | # Check if the new vertex would make a valid simplex. | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/gjk.py | 1291 | # Check if the new vertex would make a valid simplex. | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/gjk.py | 1333 | # Check if the origin is strictly outside of the Minkowski difference (which means there is no collision) | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/gjk.py | 1404 | # Check if the new vertex is not very close to the existing vertices | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/gjk.py | 1530 | # Check if the new vertex is valid | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/gjk.py | 1566 | # Check if the new vertex is valid | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/gjk.py | 1755 | # Check if the updated simplex would be a degenerate simplex. | COMMENT |
| LOW | genesis/engine/entities/rigid_entity/description.py | 1073 | # Check if there is something weird with the options | COMMENT |
| LOW | genesis/engine/entities/rigid_entity/rigid_entity.py | 332 | # Check if base link was fixed but no longer is | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/sensors/test_tactile.py | 588 | # Step 1: no contact. All zero. | COMMENT |
| LOW⚡ | tests/sensors/test_tactile.py | 594 | # Step 2: jump to BOX_Z_ON. GT should equal plain measured (both = D). Hyst measured = D*(1+strength). | COMMENT |
| LOW⚡ | genesis/engine/couplers/sap_coupler.py | 1155 | # Step 2: z = D^{-1} w | COMMENT |
| LOW⚡ | genesis/engine/couplers/sap_coupler.py | 1161 | # Step 3: Solve x st. L @ x = z | COMMENT |
| LOW⚡ | genesis/engine/couplers/sap_coupler.py | 1195 | # Step 2: z = D^{-1} w | COMMENT |
| LOW⚡ | genesis/engine/couplers/sap_coupler.py | 1200 | # Step 3: Solve x st. L @ x = z | COMMENT |
| LOW | genesis/engine/couplers/sap_coupler.py | 1142 | # Step 1: Solve w st. L^T @ w = y | COMMENT |
| LOW | genesis/engine/couplers/sap_coupler.py | 1183 | # Step 1: Solve w st. L^T @ w = y | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 833 | # Step 1: Store Genesis rigid states (common) | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 836 | # Step 2: Pre-advance processing (per entity type) | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 839 | # Step 3: IPC advance + retrieve (common) | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 843 | # Step 4: Retrieve states | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 847 | # Step 5: Post-advance processing (per entity type) | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 852 | # Step 6: Update GUI if enabled | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/abd/manual_bw.py | 495 | # Step 1: solve L^T . u = seed (input from [0], output to [1]) | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/abd/manual_bw.py | 505 | # Step 2: v = D^{-1} . u (output to [0], overwriting input) | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/abd/manual_bw.py | 511 | # Step 3: solve L . delta = v (input from [0], output to [1]) | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/abd/forward_dynamics.py | 1147 | # Step 2: z = D^{-1} w | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/abd/forward_dynamics.py | 1151 | # Step 3: Solve x st. L @ x = z | COMMENT |
| LOW | genesis/engine/solvers/rigid/abd/forward_dynamics.py | 1136 | # Step 1: Solve w st. L^T @ w = y. Reading out[j_d] (j_d > i_d) from the buffer being written is safe: those entries | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/constraint/noslip.py | 19 | # Step 1: Solve w s.t. L^T @ w = y (backward substitution) | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/constraint/noslip.py | 27 | # Step 2: z = D^{-1} @ w | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/constraint/noslip.py | 31 | # Step 3: Solve x s.t. L @ x = z (forward substitution) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/sensors/test_tactile.py | 588 | # Step 1: no contact. All zero. | COMMENT |
| LOW⚡ | tests/sensors/test_tactile.py | 594 | # Step 2: jump to BOX_Z_ON. GT should equal plain measured (both = D). Hyst measured = D*(1+strength). | COMMENT |
| LOW⚡ | genesis/engine/couplers/sap_coupler.py | 1155 | # Step 2: z = D^{-1} w | COMMENT |
| LOW⚡ | genesis/engine/couplers/sap_coupler.py | 1161 | # Step 3: Solve x st. L @ x = z | COMMENT |
| LOW⚡ | genesis/engine/couplers/sap_coupler.py | 1195 | # Step 2: z = D^{-1} w | COMMENT |
| LOW⚡ | genesis/engine/couplers/sap_coupler.py | 1200 | # Step 3: Solve x st. L @ x = z | COMMENT |
| LOW | genesis/engine/couplers/sap_coupler.py | 1142 | # Step 1: Solve w st. L^T @ w = y | COMMENT |
| LOW | genesis/engine/couplers/sap_coupler.py | 1183 | # Step 1: Solve w st. L^T @ w = y | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 833 | # Step 1: Store Genesis rigid states (common) | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 836 | # Step 2: Pre-advance processing (per entity type) | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 839 | # Step 3: IPC advance + retrieve (common) | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 843 | # Step 4: Retrieve states | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 847 | # Step 5: Post-advance processing (per entity type) | COMMENT |
| LOW⚡ | genesis/engine/couplers/ipc_coupler/coupler.py | 852 | # Step 6: Update GUI if enabled | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/abd/manual_bw.py | 495 | # Step 1: solve L^T . u = seed (input from [0], output to [1]) | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/abd/manual_bw.py | 505 | # Step 2: v = D^{-1} . u (output to [0], overwriting input) | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/abd/manual_bw.py | 511 | # Step 3: solve L . delta = v (input from [0], output to [1]) | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/abd/forward_dynamics.py | 1147 | # Step 2: z = D^{-1} w | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/abd/forward_dynamics.py | 1151 | # Step 3: Solve x st. L @ x = z | COMMENT |
| LOW | genesis/engine/solvers/rigid/abd/forward_dynamics.py | 1136 | # Step 1: Solve w st. L^T @ w = y. Reading out[j_d] (j_d > i_d) from the buffer being written is safe: those entries | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/constraint/noslip.py | 19 | # Step 1: Solve w s.t. L^T @ w = y (backward substitution) | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/constraint/noslip.py | 27 | # Step 2: z = D^{-1} @ w | COMMENT |
| LOW⚡ | genesis/engine/solvers/rigid/constraint/noslip.py | 31 | # Step 3: Solve x s.t. L @ x = z (forward substitution) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/rigid/friction_breakaway.py | 0 | mjcf model of a free ball: a sphere collision geom with a checker-textured ball mesh as its visual, whose colorful patte | STRING |
| HIGH | examples/rigid/rolling_coast.py | 0 | mjcf model of a free ball: a sphere collision geom with a checker-textured ball mesh as its visual, whose colorful patte | STRING |
| HIGH | examples/rigid/torsional_grasp.py | 0 | mjcf model of a free ball: a sphere collision geom with a checker-textured ball mesh as its visual, whose colorful patte | STRING |
| HIGH | genesis/engine/scene.py | 0 | all the active solvers managed by the scene's simulator. | STRING |
| HIGH | genesis/engine/couplers/legacy_coupler.py | 0 | all the active solvers managed by the scene's simulator. | STRING |
| HIGH | genesis/engine/couplers/sap_coupler.py | 0 | all the active solvers managed by the scene's simulator. | STRING |
| HIGH | genesis/engine/solvers/rigid/rigid_solver.py | 0 | apply an external wrench over one simulation step on a set of the entity's links. parameters ---------- force : none | a | STRING |
| HIGH | genesis/engine/entities/rigid_entity/rigid_link.py | 0 | apply an external wrench over one simulation step on a set of the entity's links. parameters ---------- force : none | a | STRING |
| HIGH | genesis/engine/entities/rigid_entity/rigid_entity.py | 0 | apply an external wrench over one simulation step on a set of the entity's links. parameters ---------- force : none | a | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 41 | # Use by `Mesh.remesh`, which is involve in `PBDTetEntity.sample` | COMMENT |
| LOW | tests/rigid/test_narrowphase.py | 681 | # Sphere at capsule centre: dist = 0, pen = sum of radii = 0.2, normal is degenerate | COMMENT |
| LOW | tests/rigid/test_friction.py | 141 | # cone (high tangential impedance). Regularized friction alone lets the stack slide slowly under a sustained push. | COMMENT |
| LOW | tests/rigid/test_friction.py | 221 | # Force needed to hold the floating boxes static without slipping | COMMENT |
| LOW | tests/rigid/test_friction.py | 721 | N_ENVS = 8 | COMMENT |
| LOW | tests/rigid/test_friction.py | 741 | PILLAR_HEIGHT = 0.04 * scale | COMMENT |
| LOW | tests/rigid/test_control.py | 61 | # robot.set_dofs_kv(MOTORS_KD, envs_idx=0) | COMMENT |
| LOW | tests/rigid/test_heterogeneous.py | 21 | # each simulation picks, so the dual arms are compared with their references before. | COMMENT |
| LOW | tests/rigid/test_collision.py | 1481 | # Only check linear velocity at CoM and angular velocity around z-axis. | COMMENT |
| LOW | tests/rigid/test_collision.py | 1601 | [ | COMMENT |
| LOW | tests/rigid/test_asset_loading.py | 421 | COMMENT | |
| LOW | tests/utils/collision.py | 281 | COMMENT | |
| LOW | tests/utils/collision.py | 321 | depth = separation | COMMENT |
| LOW | tests/utils/simulators.py | 61 | model.opt.jacobian = mujoco.mjtJacobian.mjJAC_DENSE | COMMENT |
| LOW | tests/benchmarks/test_rigid.py | 201 | return {**options, **kwargs} | COMMENT |
| LOW | tests/benchmarks/test_rigid.py | 941 | def run_benchmark(step_fn, *, n_envs, meta): | COMMENT |
| LOW | tests/rendering/test_imgui_overlay.py | 21 | # deterministic 1/60 fallback instead of the wall clock) and parks the ImGui mouse cursor off-panel at | COMMENT |
| LOW | genesis/ext/_trimesh_patch.py | 141 | # we need to only take the face line before a newline | COMMENT |
| LOW | genesis/ext/_trimesh_patch.py | 421 | # if we have two values per vertex the second | COMMENT |
| LOW | genesis/utils/array_class.py | 361 | COMMENT | |
| LOW | genesis/utils/array_class.py | 541 | link_id: qd.Tensor | COMMENT |
| LOW | genesis/utils/array_class.py | 921 | # In practice, this variable is re-purposed to store the Cholesky factor L st H = L @ L.T to spare memory resources. | COMMENT |
| LOW | genesis/utils/array_class.py | 981 | # DRAM-bound once the combined per-env working sets exceed the CPU caches and batched stepping scales super-linearly | COMMENT |
| LOW | genesis/utils/array_class.py | 1901 | tolerance: qd.Tensor | COMMENT |
| LOW | genesis/utils/array_class.py | 1921 | contact_face_tol: qd.Tensor | COMMENT |
| LOW | genesis/utils/array_class.py | 2981 | # see the nt_H declaration for the packed-storage mechanics and the rigid solver's resolution for the gating. | COMMENT |
| LOW | genesis/utils/array_class.py | 3001 | mass_matrix_fits_shared: bool = False | COMMENT |
| LOW | genesis/utils/array_class.py | 3021 | # When True, the seed kernel assembles the env's one Hessian block and the monolith factors it with the scalar | COMMENT |
| LOW | genesis/utils/mesh.py | 501 | convexify, | COMMENT |
| LOW | genesis/engine/couplers/legacy_coupler.py | 841 | if signed_dist < self.pbd_solver.particle_size / 2: # skip non-penetration particles | COMMENT |
| LOW | genesis/engine/sensors/raycaster.py | 61 | # fixed link; for a visual BVH, all links in the solver are fixed), so that geometry only ever changes through an | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/narrowphase.py | 341 | # grads agreeing with that reference (positive dot product) are kept verbatim - this is what allows an A | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/narrowphase.py | 381 | # B's material occupies A's center: B passes through A's cavity (a nut around a bolt shaft). | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/narrowphase.py | 401 | if dyn_info.geoms.is_hollow[i_gb]: | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/mpr.py | 501 | reached = mpr_portal_reach_tolerance(i_ga, i_gb, i_b, ccd_tol, v, direction, mpr_state, collider_info) | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/mpr.py | 821 | # geometry, and the probability to accurately estimate the contact point decreases as this ratio increases. | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/collider.py | 701 | cap_convex = self.collider_config.n_contacts_per_convex_pair | COMMENT |
| LOW | genesis/engine/solvers/rigid/collider/contact.py | 1181 | n_hib = collider_state.n_contacts_hibernated[i_b] | COMMENT |
| LOW | genesis/engine/solvers/rigid/constraint/backward.py | 301 | # | COMMENT |
| LOW | genesis/engine/solvers/rigid/constraint/backward.py | 921 | # deriv enters via (jac_qvel through jac2 = -deriv) and (jac[dof2] = -deriv). | COMMENT |
| LOW | genesis/engine/solvers/rigid/constraint/backward.py | 941 | # vel_motion = cdof_vel - t_pos x cdof_ang | COMMENT |
| LOW | genesis/engine/solvers/rigid/constraint/backward.py | 1101 | # ga2 = trans(dyn_state.links.pos[link2], dyn_state.links.quat[link2]) * eq_data[0:3] | COMMENT |
| LOW | genesis/engine/entities/rigid_entity/description.py | 1341 | is_col = g_info["contype"] or g_info["conaffinity"] | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/rigid/test_collision.py | 1482 | # It is robust to loosing a few contact points while still asserting the failure modes that matter. | COMMENT |
| MEDIUM | tests/rigid/test_collision_nonconvex.py | 546 | # a small steady contact jitter in velocity, so the position band is the robust at-rest signal. | COMMENT |
| MEDIUM | tests/rigid/test_kinematics.py | 640 | # FIXME: Implement a more robust plan planning algorithm | COMMENT |
| LOW | genesis/ext/_trimesh_patch.py | 222 | # otherwise just use unmasked vertices | COMMENT |
| MEDIUM | genesis/ext/pyrender/trackball.py | 59 | """Set the state of the trackball in order to change the effect of | STRING |
| LOW | genesis/ext/pyrender/mesh.py | 310 | # NOTE: most assets seems to have incorrect mat.diffuse when texture image exists, So let's just | COMMENT |
| MEDIUM | genesis/engine/sensors/tactile_shared.py | 416 | # Averaged step vectors across all adjacent pairs along each axis -- robust to local jitter. | COMMENT |
| MEDIUM | genesis/engine/solvers/rigid/abd/forward_dynamics.py | 291 | # i_d_]. The fast-math-robust inversion is required: a raw sqrt drops the j=0 entry of every | COMMENT |
| MEDIUM | genesis/engine/solvers/rigid/collider/narrowphase.py | 375 | # would eject A. The pose-robust signature is that A's own center lies in a cavity rather than inside | COMMENT |
| MEDIUM | genesis/engine/solvers/rigid/collider/narrowphase.py | 390 | # line is the stacking axis and the robust contact normal, so use it directly (b->a) for every | COMMENT |
| MEDIUM | genesis/engine/solvers/rigid/collider/narrowphase.py | 3257 | # pair, re-enqueue so the robust pass re-decides, instead of dropping it on a marginal frame. | COMMENT |
| MEDIUM | genesis/engine/solvers/rigid/collider/mpr.py | 836 | # should be fine otherwise. Anyway, this is not a big deal in practice and MPR is robust enough to converge to | COMMENT |
| MEDIUM | genesis/engine/solvers/rigid/constraint/noslip.py | 219 | # Solve each mass block once, when visiting its first dof (order-robust, unlike previous-block tracking, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/grad/utils.py | 20 | CODE | |
| LOW | genesis/__init__.py | 57 | CODE | |
| LOW | genesis/ext/_trimesh_patch.py | 290 | CODE | |
| LOW | genesis/ext/_trimesh_patch.py | 756 | CODE | |
| LOW | genesis/ext/pyrender/material.py | 78 | CODE | |
| LOW | genesis/ext/pyrender/material.py | 360 | CODE | |
| LOW | genesis/ext/pyrender/material.py | 569 | CODE | |
| LOW | genesis/ext/pyrender/viewer.py | 162 | CODE | |
| LOW | genesis/ext/pyrender/viewer.py | 920 | CODE | |
| LOW | genesis/ext/pyrender/mesh.py | 126 | CODE | |
| LOW | genesis/ext/pyrender/primitive.py | 68 | CODE | |
| LOW | genesis/ext/pyrender/texture.py | 44 | CODE | |
| LOW | genesis/ext/pyrender/node.py | 48 | CODE | |
| LOW | genesis/ext/pyrender/offscreen.py | 65 | CODE | |
| LOW | genesis/utils/hybrid.py | 226 | CODE | |
| LOW | genesis/utils/path_planning.py | 266 | CODE | |
| LOW | genesis/utils/path_planning.py | 512 | CODE | |
| LOW | genesis/utils/path_planning.py | 895 | CODE | |
| LOW | genesis/vis/camera.py | 72 | CODE | |
| LOW | genesis/engine/scene.py | 178 | CODE | |
| LOW | genesis/engine/scene.py | 669 | CODE | |
| LOW | genesis/engine/mesh.py | 58 | CODE | |
| LOW | genesis/engine/mesh.py | 352 | CODE | |
| LOW | genesis/engine/force_fields.py | 283 | CODE | |
| LOW | genesis/engine/entities/rigid_entity/rigid_geom.py | 281 | CODE | |
| LOW | genesis/engine/entities/rigid_entity/rigid_entity.py | 1443 | CODE | |
| LOW | genesis/engine/entities/rigid_entity/rigid_entity.py | 1553 | CODE | |
| LOW | genesis/engine/entities/rigid_entity/rigid_entity.py | 1995 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/rigid/test_narrowphase.py | 420 | def update_pos_quat_analytical(self, entity_idx: int, pos, euler) -> None: | CODE |
| LOW⚡ | tests/rigid/test_narrowphase.py | 424 | def update_pos_quat_gjk(self, entity_idx: int, pos, euler) -> None: | CODE |
| LOW | genesis/options/surfaces.py | 738 | def update_texture(self, *, emissive_texture: Texture | None = None, force: bool = False, **kwargs) -> None: | CODE |
| LOW | genesis/options/__init__.py | 21 | __all__ = [ | CODE |
| LOW | genesis/ext/urdfpy/__init__.py | 29 | __all__ = [ | CODE |
| LOW | genesis/ext/pyrender/viewer.py | 1551 | __all__ = ["Viewer"] | CODE |
| LOW | genesis/ext/pyrender/light.py | 379 | __all__ = ["Light", "DirectionalLight", "SpotLight", "PointLight"] | CODE |
| LOW | genesis/ext/pyrender/constants.py | 170 | __all__ = ["RenderFlags", "TextAlign", "GLTF"] | CODE |
| LOW | genesis/ext/pyrender/__init__.py | 16 | __all__ = [ | CODE |
| LOW | genesis/ext/pyrender/camera.py | 391 | __all__ = ["Camera", "PerspectiveCamera", "OrthographicCamera", "IntrinsicsCamera"] | CODE |
| LOW | genesis/ext/pyrender/offscreen.py | 232 | __all__ = ["OffscreenRenderer"] | CODE |
| LOW | genesis/ext/pyrender/platforms/osmesa.py | 34 | __all__ = ["OSMesaPlatform"] | CODE |
| LOW | genesis/ext/pyrender/platforms/egl.py | 313 | __all__ = ["EGLPlatform"] | CODE |
| LOW | genesis/ext/pyrender/platforms/cgl.py | 130 | __all__ = ["CGLPlatform"] | CODE |
| LOW | genesis/ext/pyrender/platforms/pyglet_platform.py | 8 | __all__ = ["PygletPlatform"] | CODE |
| LOW | genesis/ext/pyrender/overlay/__init__.py | 6 | __all__ = ["ImGuiOverlayPlugin"] | CODE |
| LOW | genesis/vis/viewer_plugins/base.py | 54 | def update_on_sim_step(self) -> None: | CODE |
| LOW | genesis/vis/viewer_plugins/raycast.py | 227 | def update_on_sim_step(self) -> None: | CODE |
| LOW | genesis/vis/viewer_plugins/plugins/mouse_interaction.py | 181 | def update_on_sim_step(self) -> None: | CODE |
| LOW | genesis/vis/viewer_plugins/plugins/mouse_interaction.py | 323 | def _update_drag_plane(self) -> None: | CODE |
| LOW | genesis/vis/viewer_plugins/plugins/__init__.py | 4 | __all__ = [ | CODE |
| LOW | genesis/assets/tower/generate_tower.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | genesis/engine/couplers/ipc_coupler/__init__.py | 3 | __all__ = ["IPCCoupler"] | CODE |
| LOW | genesis/engine/sensors/tactile_shared.py | 818 | def _setup_crosstalk_grid(self, options) -> None: | CODE |
| LOW | genesis/engine/solvers/kinematic_solver.py | 962 | def set_state(self, f, state, envs_idx=None, *, partial: bool = False) -> None: | CODE |
| LOW | genesis/engine/solvers/rigid/rigid_solver.py | 1796 | def set_state(self, f, state, envs_idx=None, *, partial: bool = False) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | genesis/utils/tools.py | 114 | CODE | |
| MEDIUM | genesis/utils/tools.py | 117 | CODE | |
| MEDIUM | genesis/utils/tools.py | 120 | CODE | |
| MEDIUM | genesis/utils/tools.py | 121 | CODE | |
| MEDIUM | genesis/utils/tools.py | 122 | CODE | |
| MEDIUM | genesis/utils/tools.py | 123 | CODE | |
| MEDIUM | genesis/utils/tools.py | 125 | CODE | |
| MEDIUM | genesis/utils/tools.py | 132 | CODE | |
| MEDIUM | genesis/utils/tools.py | 141 | CODE | |
| MEDIUM | genesis/utils/tools.py | 145 | CODE | |
| MEDIUM | genesis/utils/tools.py | 146 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | genesis/ext/pyrender/mesh.py | 239 | # If the trimesh visual is undefined, return none for both | COMMENT |
| HIGH | genesis/engine/solvers/rigid/collider/mpr.py | 625 | # Coincident centers (within the solver's absolute length resolution) leave the ray direction undefined; probe | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/rigid/grasp_bottle.py | 100 | ) # you can use position control | CODE |
| MEDIUM | examples/deformable/differentiable_push.py | 118 | # you can use a scene_state | COMMENT |
| MEDIUM | examples/deformable/differentiable_push.py | 125 | # you can also use an entity's state | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | genesis/engine/sensors/tactile_shared.py | 249 | # Cached scaffolding bundle for kernel calls, built once on first use (the BVH is static after scene init). | COMMENT |