gitextract_nsnm_v9o/ ├── .claude/ │ └── skills/ │ └── newton-api-design/ │ └── SKILL.md ├── .coderabbit.yml ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── 1-bug-report.yml │ │ ├── 2-feature-request.yml │ │ ├── 3-documentation.yml │ │ └── config.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── codecov.yml │ └── workflows/ │ ├── aws_gpu_benchmarks.yml │ ├── aws_gpu_tests.yml │ ├── ci.yml │ ├── docs-dev.yml │ ├── docs-release.yml │ ├── merge_queue_aws_gpu.yml │ ├── minimum_deps_tests.yml │ ├── mujoco_warp_tests.yml │ ├── pr.yml │ ├── pr_closed.yml │ ├── pr_license_check.yml │ ├── pr_target_aws_gpu_benchmarks.yml │ ├── pr_target_aws_gpu_tests.yml │ ├── push_aws_gpu.yml │ ├── release.yml │ ├── scheduled_nightly.yml │ └── warp_nightly_tests.yml ├── .gitignore ├── .licenserc-docs.yaml ├── .licenserc.yaml ├── .pre-commit-config.yaml ├── .python-version ├── AGENTS.md ├── CHANGELOG.md ├── CITATION.cff ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── SECURITY.md ├── asv/ │ └── benchmarks/ │ ├── __init__.py │ ├── benchmark_ik.py │ ├── benchmark_mujoco.py │ ├── compilation/ │ │ ├── __init__.py │ │ └── bench_example_load.py │ ├── setup/ │ │ ├── __init__.py │ │ └── bench_model.py │ └── simulation/ │ ├── __init__.py │ ├── bench_anymal.py │ ├── bench_cable.py │ ├── bench_cloth.py │ ├── bench_contacts.py │ ├── bench_heightfield.py │ ├── bench_ik.py │ ├── bench_mujoco.py │ ├── bench_quadruped_xpbd.py │ ├── bench_selection.py │ ├── bench_sensor_tiled_camera.py │ └── bench_viewer.py ├── asv.conf.json ├── docs/ │ ├── Makefile │ ├── _ext/ │ │ ├── autodoc_filter.py │ │ └── autodoc_wpfunc.py │ ├── _static/ │ │ ├── custom.css │ │ ├── gh-pages-404.html │ │ └── switcher.json │ ├── _templates/ │ │ ├── autosummary/ │ │ │ └── class.rst │ │ ├── class.rst │ │ ├── genindex.html │ │ ├── py-modindex.html │ │ ├── search.html │ │ └── sidebar-nav-bs.html │ ├── api/ │ │ ├── newton.rst │ │ ├── newton_geometry.rst │ │ ├── newton_ik.rst │ │ ├── newton_math.rst │ │ ├── newton_selection.rst │ │ ├── newton_sensors.rst │ │ ├── newton_solvers.rst │ │ ├── newton_solvers_style3d.rst │ │ ├── newton_usd.rst │ │ ├── newton_utils.rst │ │ └── newton_viewer.rst │ ├── concepts/ │ │ ├── articulations.rst │ │ ├── collisions.rst │ │ ├── conventions.rst │ │ ├── custom_attributes.rst │ │ ├── extended_attributes.rst │ │ ├── mass_inertia.rst │ │ ├── sensors.rst │ │ ├── sites.rst │ │ ├── usd_parsing.rst │ │ └── worlds.rst │ ├── conf.py │ ├── faq.rst │ ├── generate_api.py │ ├── guide/ │ │ ├── development.rst │ │ ├── installation.rst │ │ ├── overview.rst │ │ ├── release.rst │ │ ├── tutorials.rst │ │ └── visualization.rst │ ├── images/ │ │ └── examples/ │ │ ├── resize.bat │ │ └── resize.sh │ ├── index.rst │ ├── integrations/ │ │ ├── index.rst │ │ ├── isaac-lab.rst │ │ └── mujoco.rst │ ├── make.bat │ ├── migration.rst │ ├── print_api.py │ ├── serve.py │ └── tutorials/ │ └── 00_introduction.ipynb ├── newton/ │ ├── __init__.py │ ├── _src/ │ │ ├── core/ │ │ │ ├── __init__.py │ │ │ └── types.py │ │ ├── geometry/ │ │ │ ├── __init__.py │ │ │ ├── broad_phase_common.py │ │ │ ├── broad_phase_nxn.py │ │ │ ├── broad_phase_sap.py │ │ │ ├── collision_convex.py │ │ │ ├── collision_core.py │ │ │ ├── collision_primitive.py │ │ │ ├── contact_data.py │ │ │ ├── contact_reduction.py │ │ │ ├── contact_reduction_global.py │ │ │ ├── contact_reduction_hydroelastic.py │ │ │ ├── differentiable_contacts.py │ │ │ ├── flags.py │ │ │ ├── hashtable.py │ │ │ ├── inertia.py │ │ │ ├── kernels.py │ │ │ ├── mpr.py │ │ │ ├── multicontact.py │ │ │ ├── narrow_phase.py │ │ │ ├── raycast.py │ │ │ ├── remesh.py │ │ │ ├── sdf_contact.py │ │ │ ├── sdf_hydroelastic.py │ │ │ ├── sdf_mc.py │ │ │ ├── sdf_texture.py │ │ │ ├── sdf_utils.py │ │ │ ├── simplex_solver.py │ │ │ ├── support_function.py │ │ │ ├── terrain_generator.py │ │ │ ├── types.py │ │ │ └── utils.py │ │ ├── math/ │ │ │ ├── __init__.py │ │ │ └── spatial.py │ │ ├── sensors/ │ │ │ ├── __init__.py │ │ │ ├── sensor_contact.py │ │ │ ├── sensor_frame_transform.py │ │ │ ├── sensor_imu.py │ │ │ ├── sensor_raycast.py │ │ │ ├── sensor_tiled_camera.py │ │ │ └── warp_raytrace/ │ │ │ ├── __init__.py │ │ │ ├── bvh.py │ │ │ ├── gaussians.py │ │ │ ├── lighting.py │ │ │ ├── ray_intersect.py │ │ │ ├── raytrace.py │ │ │ ├── render.py │ │ │ ├── render_context.py │ │ │ ├── textures.py │ │ │ ├── tiling.py │ │ │ ├── types.py │ │ │ └── utils.py │ │ ├── sim/ │ │ │ ├── __init__.py │ │ │ ├── articulation.py │ │ │ ├── builder.py │ │ │ ├── collide.py │ │ │ ├── contacts.py │ │ │ ├── control.py │ │ │ ├── enums.py │ │ │ ├── graph_coloring.py │ │ │ ├── ik/ │ │ │ │ ├── __init__.py │ │ │ │ ├── ik_common.py │ │ │ │ ├── ik_lbfgs_optimizer.py │ │ │ │ ├── ik_lm_optimizer.py │ │ │ │ ├── ik_objectives.py │ │ │ │ └── ik_solver.py │ │ │ ├── model.py │ │ │ └── state.py │ │ ├── solvers/ │ │ │ ├── __init__.py │ │ │ ├── featherstone/ │ │ │ │ ├── __init__.py │ │ │ │ ├── kernels.py │ │ │ │ └── solver_featherstone.py │ │ │ ├── flags.py │ │ │ ├── implicit_mpm/ │ │ │ │ ├── __init__.py │ │ │ │ ├── contact_solver_kernels.py │ │ │ │ ├── implicit_mpm_model.py │ │ │ │ ├── implicit_mpm_solver_kernels.py │ │ │ │ ├── rasterized_collisions.py │ │ │ │ ├── render_grains.py │ │ │ │ ├── rheology_solver_kernels.py │ │ │ │ ├── solve_rheology.py │ │ │ │ └── solver_implicit_mpm.py │ │ │ ├── kamino/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── _src/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── core/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── bodies.py │ │ │ │ │ │ ├── builder.py │ │ │ │ │ │ ├── control.py │ │ │ │ │ │ ├── conversions.py │ │ │ │ │ │ ├── data.py │ │ │ │ │ │ ├── geometry.py │ │ │ │ │ │ ├── gravity.py │ │ │ │ │ │ ├── inertia.py │ │ │ │ │ │ ├── joints.py │ │ │ │ │ │ ├── materials.py │ │ │ │ │ │ ├── math.py │ │ │ │ │ │ ├── model.py │ │ │ │ │ │ ├── shapes.py │ │ │ │ │ │ ├── size.py │ │ │ │ │ │ ├── state.py │ │ │ │ │ │ ├── time.py │ │ │ │ │ │ ├── types.py │ │ │ │ │ │ └── world.py │ │ │ │ │ ├── dynamics/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── delassus.py │ │ │ │ │ │ ├── dual.py │ │ │ │ │ │ └── wrenches.py │ │ │ │ │ ├── geometry/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── aggregation.py │ │ │ │ │ │ ├── contacts.py │ │ │ │ │ │ ├── detector.py │ │ │ │ │ │ ├── keying.py │ │ │ │ │ │ ├── primitive/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── broadphase.py │ │ │ │ │ │ │ ├── narrowphase.py │ │ │ │ │ │ │ └── pipeline.py │ │ │ │ │ │ └── unified.py │ │ │ │ │ ├── integrators/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── euler.py │ │ │ │ │ │ ├── integrator.py │ │ │ │ │ │ └── moreau.py │ │ │ │ │ ├── kinematics/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── constraints.py │ │ │ │ │ │ ├── jacobians.py │ │ │ │ │ │ ├── joints.py │ │ │ │ │ │ ├── limits.py │ │ │ │ │ │ └── resets.py │ │ │ │ │ ├── linalg/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── blas.py │ │ │ │ │ │ ├── conjugate.py │ │ │ │ │ │ ├── core.py │ │ │ │ │ │ ├── factorize/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── llt_blocked.py │ │ │ │ │ │ │ ├── llt_blocked_semi_sparse.py │ │ │ │ │ │ │ └── llt_sequential.py │ │ │ │ │ │ ├── linear.py │ │ │ │ │ │ ├── sparse_matrix.py │ │ │ │ │ │ ├── sparse_operator.py │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── matrix.py │ │ │ │ │ │ ├── rand.py │ │ │ │ │ │ └── range.py │ │ │ │ │ ├── models/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── assets/ │ │ │ │ │ │ │ ├── basics/ │ │ │ │ │ │ │ │ ├── box_on_plane.usda │ │ │ │ │ │ │ │ ├── box_pendulum.usda │ │ │ │ │ │ │ │ ├── boxes_fourbar.usda │ │ │ │ │ │ │ │ ├── boxes_hinged.usda │ │ │ │ │ │ │ │ ├── boxes_nunchaku.usda │ │ │ │ │ │ │ │ └── cartpole.usda │ │ │ │ │ │ │ └── testing/ │ │ │ │ │ │ │ ├── geoms/ │ │ │ │ │ │ │ │ ├── test_geom_box.usda │ │ │ │ │ │ │ │ ├── test_geom_capsule.usda │ │ │ │ │ │ │ │ ├── test_geom_cone.usda │ │ │ │ │ │ │ │ ├── test_geom_cylinder.usda │ │ │ │ │ │ │ │ ├── test_geom_ellipsoid.usda │ │ │ │ │ │ │ │ └── test_geom_sphere.usda │ │ │ │ │ │ │ └── joints/ │ │ │ │ │ │ │ ├── test_joint_cartesian_actuated.usda │ │ │ │ │ │ │ ├── test_joint_cartesian_actuated_unary.usda │ │ │ │ │ │ │ ├── test_joint_cartesian_passive.usda │ │ │ │ │ │ │ ├── test_joint_cartesian_passive_unary.usda │ │ │ │ │ │ │ ├── test_joint_cylindrical_actuated.usda │ │ │ │ │ │ │ ├── test_joint_cylindrical_actuated_unary.usda │ │ │ │ │ │ │ ├── test_joint_cylindrical_passive.usda │ │ │ │ │ │ │ ├── test_joint_cylindrical_passive_unary.usda │ │ │ │ │ │ │ ├── test_joint_d6_6dof_actuated.usda │ │ │ │ │ │ │ ├── test_joint_d6_6dof_passive.usda │ │ │ │ │ │ │ ├── test_joint_d6_cartesian_actuated.usda │ │ │ │ │ │ │ ├── test_joint_d6_cartesian_passive.usda │ │ │ │ │ │ │ ├── test_joint_d6_cylindrical_actuated.usda │ │ │ │ │ │ │ ├── test_joint_d6_cylindrical_passive.usda │ │ │ │ │ │ │ ├── test_joint_d6_prismatic_actuated.usda │ │ │ │ │ │ │ ├── test_joint_d6_prismatic_passive.usda │ │ │ │ │ │ │ ├── test_joint_d6_revolute_actuated.usda │ │ │ │ │ │ │ ├── test_joint_d6_revolute_passive.usda │ │ │ │ │ │ │ ├── test_joint_d6_spherical_actuated.usda │ │ │ │ │ │ │ ├── test_joint_d6_spherical_passive.usda │ │ │ │ │ │ │ ├── test_joint_d6_universal_actuated.usda │ │ │ │ │ │ │ ├── test_joint_d6_universal_passive.usda │ │ │ │ │ │ │ ├── test_joint_fixed.usda │ │ │ │ │ │ │ ├── test_joint_fixed_unary.usda │ │ │ │ │ │ │ ├── test_joint_prismatic_actuated.usda │ │ │ │ │ │ │ ├── test_joint_prismatic_actuated_unary.usda │ │ │ │ │ │ │ ├── test_joint_prismatic_passive.usda │ │ │ │ │ │ │ ├── test_joint_prismatic_passive_unary.usda │ │ │ │ │ │ │ ├── test_joint_revolute_actuated.usda │ │ │ │ │ │ │ ├── test_joint_revolute_actuated_unary.usda │ │ │ │ │ │ │ ├── test_joint_revolute_passive.usda │ │ │ │ │ │ │ ├── test_joint_revolute_passive_unary.usda │ │ │ │ │ │ │ ├── test_joint_spherical.usda │ │ │ │ │ │ │ ├── test_joint_spherical_unary.usda │ │ │ │ │ │ │ ├── test_joint_universal_actuated.usda │ │ │ │ │ │ │ ├── test_joint_universal_actuated_unary.usda │ │ │ │ │ │ │ ├── test_joint_universal_passive.usda │ │ │ │ │ │ │ └── test_joint_universal_passive_unary.usda │ │ │ │ │ │ └── builders/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── basics.py │ │ │ │ │ │ ├── basics_newton.py │ │ │ │ │ │ ├── testing.py │ │ │ │ │ │ └── utils.py │ │ │ │ │ ├── solver_kamino_impl.py │ │ │ │ │ ├── solvers/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── fk.py │ │ │ │ │ │ ├── metrics.py │ │ │ │ │ │ ├── padmm/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── kernels.py │ │ │ │ │ │ │ ├── math.py │ │ │ │ │ │ │ ├── solver.py │ │ │ │ │ │ │ └── types.py │ │ │ │ │ │ └── warmstart.py │ │ │ │ │ └── utils/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── benchmark/ │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── __main__.py │ │ │ │ │ │ ├── configs.py │ │ │ │ │ │ ├── metrics.py │ │ │ │ │ │ ├── problems.py │ │ │ │ │ │ ├── render.py │ │ │ │ │ │ └── runner.py │ │ │ │ │ ├── control/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── animation.py │ │ │ │ │ │ ├── pid.py │ │ │ │ │ │ └── rand.py │ │ │ │ │ ├── device.py │ │ │ │ │ ├── io/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── usd.py │ │ │ │ │ ├── logger.py │ │ │ │ │ ├── profiles.py │ │ │ │ │ ├── sim/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── datalog.py │ │ │ │ │ │ ├── runner.py │ │ │ │ │ │ ├── simulator.py │ │ │ │ │ │ └── viewer.py │ │ │ │ │ ├── sparse.py │ │ │ │ │ └── viewer.py │ │ │ │ ├── config.py │ │ │ │ ├── examples/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── newton/ │ │ │ │ │ │ ├── example_anymal_d.py │ │ │ │ │ │ ├── example_dr_legs.py │ │ │ │ │ │ └── example_fourbar.py │ │ │ │ │ ├── reset/ │ │ │ │ │ │ └── example_reset_dr_legs.py │ │ │ │ │ ├── rl/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── camera_follow.py │ │ │ │ │ │ ├── example_rl_bipedal.py │ │ │ │ │ │ ├── example_rl_drlegs.py │ │ │ │ │ │ ├── joystick.py │ │ │ │ │ │ ├── observations.py │ │ │ │ │ │ ├── simulation.py │ │ │ │ │ │ ├── simulation_runner.py │ │ │ │ │ │ ├── test_multi_env_dr_legs.py │ │ │ │ │ │ └── utils.py │ │ │ │ │ └── sim/ │ │ │ │ │ ├── example_sim_basics_all_heterogeneous.py │ │ │ │ │ ├── example_sim_basics_box_on_plane.py │ │ │ │ │ ├── example_sim_basics_box_pendulum.py │ │ │ │ │ ├── example_sim_basics_boxes_fourbar.py │ │ │ │ │ ├── example_sim_basics_boxes_hinged.py │ │ │ │ │ ├── example_sim_basics_cartpole.py │ │ │ │ │ ├── example_sim_dr_legs.py │ │ │ │ │ ├── example_sim_dr_testmech.py │ │ │ │ │ ├── example_sim_test_all_geoms.py │ │ │ │ │ └── example_sim_test_all_joints.py │ │ │ │ ├── solver_kamino.py │ │ │ │ └── tests/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── __main__.py │ │ │ │ ├── test_core_builder.py │ │ │ │ ├── test_core_geometry.py │ │ │ │ ├── test_core_joints.py │ │ │ │ ├── test_core_materials.py │ │ │ │ ├── test_core_model.py │ │ │ │ ├── test_core_shapes.py │ │ │ │ ├── test_core_world.py │ │ │ │ ├── test_dynamics_delassus.py │ │ │ │ ├── test_dynamics_dual.py │ │ │ │ ├── test_dynamics_wrenches.py │ │ │ │ ├── test_geometry_aggregation.py │ │ │ │ ├── test_geometry_contacts.py │ │ │ │ ├── test_geometry_detector.py │ │ │ │ ├── test_geometry_keying.py │ │ │ │ ├── test_geometry_margin_gap.py │ │ │ │ ├── test_geometry_primitive.py │ │ │ │ ├── test_geometry_unified.py │ │ │ │ ├── test_kinematics_constraints.py │ │ │ │ ├── test_kinematics_jacobians.py │ │ │ │ ├── test_kinematics_joints.py │ │ │ │ ├── test_kinematics_limits.py │ │ │ │ ├── test_linalg_core.py │ │ │ │ ├── test_linalg_factorize_llt_blocked.py │ │ │ │ ├── test_linalg_factorize_llt_sequential.py │ │ │ │ ├── test_linalg_solve_cg.py │ │ │ │ ├── test_linalg_solver_llt_blocked.py │ │ │ │ ├── test_linalg_solver_llt_sequential.py │ │ │ │ ├── test_linalg_sparse.py │ │ │ │ ├── test_linalg_utils_matrix.py │ │ │ │ ├── test_linalg_utils_rand.py │ │ │ │ ├── test_solver_kamino.py │ │ │ │ ├── test_solvers_forward_kinematics.py │ │ │ │ ├── test_solvers_metrics.py │ │ │ │ ├── test_solvers_padmm.py │ │ │ │ ├── test_utils_control_animation.py │ │ │ │ ├── test_utils_control_pid.py │ │ │ │ ├── test_utils_control_rand.py │ │ │ │ ├── test_utils_io_usd.py │ │ │ │ ├── test_utils_logger.py │ │ │ │ ├── test_utils_profiles.py │ │ │ │ ├── test_utils_random.py │ │ │ │ ├── test_utils_sim_simulator.py │ │ │ │ └── utils/ │ │ │ │ ├── __init__.py │ │ │ │ ├── checks.py │ │ │ │ ├── diff_check.py │ │ │ │ ├── extract.py │ │ │ │ ├── make.py │ │ │ │ ├── print.py │ │ │ │ └── rand.py │ │ │ ├── mujoco/ │ │ │ │ ├── __init__.py │ │ │ │ ├── kernels.py │ │ │ │ └── solver_mujoco.py │ │ │ ├── semi_implicit/ │ │ │ │ ├── __init__.py │ │ │ │ ├── kernels_body.py │ │ │ │ ├── kernels_contact.py │ │ │ │ ├── kernels_muscle.py │ │ │ │ ├── kernels_particle.py │ │ │ │ └── solver_semi_implicit.py │ │ │ ├── solver.py │ │ │ ├── style3d/ │ │ │ │ ├── __init__.py │ │ │ │ ├── builder.py │ │ │ │ ├── cloth.py │ │ │ │ ├── collision/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── bvh/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── bvh.py │ │ │ │ │ │ └── kernels.py │ │ │ │ │ ├── collision.py │ │ │ │ │ ├── collision_legacy.py │ │ │ │ │ └── kernels.py │ │ │ │ ├── kernels.py │ │ │ │ ├── linear_solver.py │ │ │ │ └── solver_style3d.py │ │ │ ├── vbd/ │ │ │ │ ├── __init__.py │ │ │ │ ├── particle_vbd_kernels.py │ │ │ │ ├── rigid_vbd_kernels.py │ │ │ │ ├── solver_vbd.py │ │ │ │ └── tri_mesh_collision.py │ │ │ └── xpbd/ │ │ │ ├── __init__.py │ │ │ ├── kernels.py │ │ │ └── solver_xpbd.py │ │ ├── usd/ │ │ │ ├── __init__.py │ │ │ ├── schema_resolver.py │ │ │ ├── schemas.py │ │ │ └── utils.py │ │ ├── utils/ │ │ │ ├── __init__.py │ │ │ ├── benchmark.py │ │ │ ├── cable.py │ │ │ ├── download_assets.py │ │ │ ├── heightfield.py │ │ │ ├── import_mjcf.py │ │ │ ├── import_urdf.py │ │ │ ├── import_usd.py │ │ │ ├── import_utils.py │ │ │ ├── mesh.py │ │ │ ├── render.py │ │ │ ├── selection.py │ │ │ ├── texture.py │ │ │ └── topology.py │ │ └── viewer/ │ │ ├── __init__.py │ │ ├── camera.py │ │ ├── gl/ │ │ │ ├── gui.py │ │ │ ├── icon.py │ │ │ ├── opengl.py │ │ │ └── shaders.py │ │ ├── kernels.py │ │ ├── picking.py │ │ ├── viewer.py │ │ ├── viewer_file.py │ │ ├── viewer_gl.py │ │ ├── viewer_null.py │ │ ├── viewer_rerun.py │ │ ├── viewer_usd.py │ │ ├── viewer_viser.py │ │ ├── viser/ │ │ │ └── static/ │ │ │ ├── assets/ │ │ │ │ ├── Sorter-Df0J3ZWJ.wasm │ │ │ │ ├── SplatSortWorker-DiSpcAPr.js │ │ │ │ ├── WebsocketServerWorker-C6PJJ7Dx.js │ │ │ │ ├── __vite-browser-external-BIHI7g3E.js │ │ │ │ ├── index-BVvA0mmR.css │ │ │ │ └── index-H4DT9vxj.js │ │ │ ├── index.html │ │ │ ├── manifest.json │ │ │ └── robots.txt │ │ └── wind.py │ ├── _version.py │ ├── examples/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── assets/ │ │ │ ├── ant.usda │ │ │ ├── anymal_walking_policy.pt │ │ │ ├── axis_cube.usda │ │ │ ├── bear.usd │ │ │ ├── boxes_fourbar.usda │ │ │ ├── bunny.usd │ │ │ ├── cartpole.urdf │ │ │ ├── cartpole.usda │ │ │ ├── cartpole_single_pendulum.usda │ │ │ ├── crazyflie.usd │ │ │ ├── curvedSurface.usd │ │ │ ├── humanoid.usda │ │ │ ├── nv_ant.xml │ │ │ ├── nv_humanoid.xml │ │ │ ├── quadruped.urdf │ │ │ ├── rj45_plug.usd │ │ │ ├── sensor_contact_scene.usda │ │ │ ├── tabletop.xml │ │ │ └── unisex_shirt.usd │ │ ├── basic/ │ │ │ ├── example_basic_conveyor.py │ │ │ ├── example_basic_heightfield.py │ │ │ ├── example_basic_joints.py │ │ │ ├── example_basic_pendulum.py │ │ │ ├── example_basic_plotting.py │ │ │ ├── example_basic_shapes.py │ │ │ ├── example_basic_urdf.py │ │ │ ├── example_basic_viewer.py │ │ │ ├── example_recording.py │ │ │ └── example_replay_viewer.py │ │ ├── cable/ │ │ │ ├── example_cable_bundle_hysteresis.py │ │ │ ├── example_cable_pile.py │ │ │ ├── example_cable_twist.py │ │ │ └── example_cable_y_junction.py │ │ ├── cloth/ │ │ │ ├── example_cloth_bending.py │ │ │ ├── example_cloth_franka.py │ │ │ ├── example_cloth_h1.py │ │ │ ├── example_cloth_hanging.py │ │ │ ├── example_cloth_poker_cards.py │ │ │ ├── example_cloth_rollers.py │ │ │ ├── example_cloth_style3d.py │ │ │ └── example_cloth_twist.py │ │ ├── contacts/ │ │ │ ├── example_brick_stacking.py │ │ │ ├── example_contacts_rj45_plug.py │ │ │ ├── example_nut_bolt_hydro.py │ │ │ ├── example_nut_bolt_sdf.py │ │ │ └── example_pyramid.py │ │ ├── diffsim/ │ │ │ ├── example_diffsim_ball.py │ │ │ ├── example_diffsim_bear.py │ │ │ ├── example_diffsim_cloth.py │ │ │ ├── example_diffsim_drone.py │ │ │ ├── example_diffsim_soft_body.py │ │ │ └── example_diffsim_spring_cage.py │ │ ├── ik/ │ │ │ ├── example_ik_cube_stacking.py │ │ │ ├── example_ik_custom.py │ │ │ ├── example_ik_franka.py │ │ │ └── example_ik_h1.py │ │ ├── mpm/ │ │ │ ├── example_mpm_anymal.py │ │ │ ├── example_mpm_beam_twist.py │ │ │ ├── example_mpm_grain_rendering.py │ │ │ ├── example_mpm_granular.py │ │ │ ├── example_mpm_multi_material.py │ │ │ ├── example_mpm_snow_ball.py │ │ │ ├── example_mpm_twoway_coupling.py │ │ │ └── example_mpm_viscous.py │ │ ├── multiphysics/ │ │ │ ├── example_softbody_dropping_to_cloth.py │ │ │ └── example_softbody_gift.py │ │ ├── robot/ │ │ │ ├── example_robot_allegro_hand.py │ │ │ ├── example_robot_anymal_c_walk.py │ │ │ ├── example_robot_anymal_d.py │ │ │ ├── example_robot_cartpole.py │ │ │ ├── example_robot_g1.py │ │ │ ├── example_robot_h1.py │ │ │ ├── example_robot_panda_hydro.py │ │ │ ├── example_robot_policy.py │ │ │ └── example_robot_ur10.py │ │ ├── selection/ │ │ │ ├── example_selection_articulations.py │ │ │ ├── example_selection_cartpole.py │ │ │ ├── example_selection_materials.py │ │ │ └── example_selection_multiple.py │ │ ├── sensors/ │ │ │ ├── example_sensor_contact.py │ │ │ ├── example_sensor_imu.py │ │ │ └── example_sensor_tiled_camera.py │ │ └── softbody/ │ │ ├── example_softbody_franka.py │ │ └── example_softbody_hanging.py │ ├── geometry.py │ ├── ik.py │ ├── licenses/ │ │ ├── CC-BY-4.0.txt │ │ ├── unittest-parallel-LICENSE.txt │ │ └── viser_and_inter-font-family.txt │ ├── math.py │ ├── py.typed │ ├── selection.py │ ├── sensors.py │ ├── solvers.py │ ├── tests/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── assets/ │ │ │ ├── actuator_test.usda │ │ │ ├── ant.usda │ │ │ ├── ant_mixed.usda │ │ │ ├── ant_multi.usda │ │ │ ├── cartpole_mjc.usda │ │ │ ├── constraints.xml │ │ │ ├── cube_cylinder.usda │ │ │ ├── four_link_chain_articulation.usda │ │ │ ├── humanoid.urdf │ │ │ ├── humanoid.usda │ │ │ ├── mjcf_exclude_hyphen_test.xml │ │ │ ├── mjcf_exclude_test.xml │ │ │ ├── pendulum_revolute_vs_d6.usda │ │ │ ├── revolute_articulation.usda │ │ │ ├── simple_articulation_with_mesh.usda │ │ │ ├── tetmesh_custom_attrs.usda │ │ │ ├── tetmesh_multi.usda │ │ │ ├── tetmesh_simple.usda │ │ │ └── tetmesh_with_material.usda │ │ ├── golden_data/ │ │ │ └── test_sensor_tiled_camera/ │ │ │ ├── color.npy │ │ │ └── depth.npy │ │ ├── test_actuators.py │ │ ├── test_anymal_reset.py │ │ ├── test_api.py │ │ ├── test_body_force.py │ │ ├── test_body_velocity.py │ │ ├── test_broad_phase.py │ │ ├── test_cable.py │ │ ├── test_cloth.py │ │ ├── test_collision_cloth.py │ │ ├── test_collision_pipeline.py │ │ ├── test_collision_primitives.py │ │ ├── test_coloring.py │ │ ├── test_cone_orientation.py │ │ ├── test_contact_reduction.py │ │ ├── test_contact_reduction_global.py │ │ ├── test_control_force.py │ │ ├── test_custom_attributes.py │ │ ├── test_differentiable_contacts.py │ │ ├── test_download_assets.py │ │ ├── test_environment_group_collision.py │ │ ├── test_equality_constraints.py │ │ ├── test_example_browser.py │ │ ├── test_examples.py │ │ ├── test_fixed_tendon.py │ │ ├── test_gjk.py │ │ ├── test_hashtable.py │ │ ├── test_heightfield.py │ │ ├── test_hydroelastic.py │ │ ├── test_ik.py │ │ ├── test_ik_fk_kernels.py │ │ ├── test_ik_lbfgs.py │ │ ├── test_implicit_mpm.py │ │ ├── test_implicit_mpm_flow_rule.py │ │ ├── test_import_mjcf.py │ │ ├── test_import_urdf.py │ │ ├── test_import_usd.py │ │ ├── test_inertia.py │ │ ├── test_inertia_validation.py │ │ ├── test_jacobian_mass_matrix.py │ │ ├── test_joint_controllers.py │ │ ├── test_joint_drive.py │ │ ├── test_joint_limits.py │ │ ├── test_kinematic_links.py │ │ ├── test_kinematics.py │ │ ├── test_match_labels.py │ │ ├── test_menagerie_mujoco.py │ │ ├── test_menagerie_usd_mujoco.py │ │ ├── test_mesh_aabb.py │ │ ├── test_model.py │ │ ├── test_mujoco_general_actuators.py │ │ ├── test_mujoco_solver.py │ │ ├── test_narrow_phase.py │ │ ├── test_obb.py │ │ ├── test_parent_force.py │ │ ├── test_pendulum_revolute_vs_d6.py │ │ ├── test_physics_validation.py │ │ ├── test_raycast.py │ │ ├── test_recorder.py │ │ ├── test_remesh.py │ │ ├── test_rigid_contact.py │ │ ├── test_robot_composer.py │ │ ├── test_runtime_gravity.py │ │ ├── test_schema_resolver.py │ │ ├── test_sdf_compute.py │ │ ├── test_sdf_primitive.py │ │ ├── test_sdf_texture.py │ │ ├── test_selection.py │ │ ├── test_sensor_contact.py │ │ ├── test_sensor_frame_transform.py │ │ ├── test_sensor_imu.py │ │ ├── test_sensor_raycast.py │ │ ├── test_sensor_tiled_camera.py │ │ ├── test_sensor_tiled_camera_forward_depth.py │ │ ├── test_sensor_tiled_camera_particles_multiworld.py │ │ ├── test_shape_colors.py │ │ ├── test_shapes_no_bounce.py │ │ ├── test_sites.py │ │ ├── test_sites_mjcf_import.py │ │ ├── test_sites_mujoco_export.py │ │ ├── test_sites_usd_import.py │ │ ├── test_softbody.py │ │ ├── test_solver_vbd.py │ │ ├── test_solver_xpbd.py │ │ ├── test_spatial_tendon.py │ │ ├── test_terrain_generator.py │ │ ├── test_tolerance_clamping.py │ │ ├── test_up_axis.py │ │ ├── test_viewer_geometry_batching.py │ │ ├── test_viewer_log_shapes.py │ │ ├── test_viewer_particle_flags.py │ │ ├── test_viewer_picking.py │ │ ├── test_viewer_rerun_hidden.py │ │ ├── test_viewer_rerun_init_args.py │ │ ├── test_viewer_usd.py │ │ ├── test_viewer_world_offsets.py │ │ ├── test_warp_config_cli.py │ │ ├── thirdparty/ │ │ │ ├── __init__.py │ │ │ └── unittest_parallel.py │ │ └── unittest_utils.py │ ├── usd.py │ ├── utils.py │ └── viewer.py ├── pyproject.toml └── scripts/ ├── check_warp_array_syntax.py └── ci/ ├── dispatch_workflow_and_wait.py └── update_docs_switcher.py