SYMBOL INDEX (14598 symbols across 479 files) FILE: asv/benchmarks/benchmark_ik.py function create_franka_model (line 21) | def create_franka_model() -> newton.Model: function random_solutions (line 30) | def random_solutions(model: newton.Model, n: int, rng: np.random.Generat... function build_ik_solver (line 42) | def build_ik_solver(model: newton.Model, n_problems: int, ee_links: tupl... function fk_targets (line 80) | def fk_targets(solver, model: newton.Model, q_batch: np.ndarray, ee_link... function eval_success (line 95) | def eval_success(solver, model, q_best, tgt_pos, tgt_rot, ee_links, pos_... FILE: asv/benchmarks/benchmark_mujoco.py function _setup_humanoid (line 97) | def _setup_humanoid(articulation_builder): function _setup_g1 (line 113) | def _setup_g1(articulation_builder): function _setup_h1 (line 144) | def _setup_h1(articulation_builder): function _setup_cartpole (line 174) | def _setup_cartpole(articulation_builder): function _setup_ant (line 197) | def _setup_ant(articulation_builder): function _setup_quadruped (line 210) | def _setup_quadruped(articulation_builder): function _setup_allegro (line 230) | def _setup_allegro(articulation_builder): function _setup_kitchen (line 250) | def _setup_kitchen(articulation_builder): function _setup_tabletop (line 263) | def _setup_tabletop(articulation_builder): class Example (line 270) | class Example: method __init__ (line 271) | def __init__( method simulate (line 365) | def simulate(self): method step (line 374) | def step(self): method render (line 391) | def render(self): method create_model_builder (line 400) | def create_model_builder(robot, world_count, environment="None", rando... method create_solver (line 445) | def create_solver( function print_trace (line 486) | def print_trace(trace, indent, steps): FILE: asv/benchmarks/compilation/bench_example_load.py class SlowExampleRobotAnymal (line 15) | class SlowExampleRobotAnymal: method setup (line 21) | def setup(self): method time_load (line 26) | def time_load(self): class SlowExampleRobotCartpole (line 43) | class SlowExampleRobotCartpole: method setup (line 49) | def setup(self): method time_load (line 54) | def time_load(self): class SlowExampleClothFranka (line 71) | class SlowExampleClothFranka: method setup (line 76) | def setup(self): method time_load (line 81) | def time_load(self): class SlowExampleClothTwist (line 98) | class SlowExampleClothTwist: method setup (line 103) | def setup(self): method time_load (line 108) | def time_load(self): class SlowExampleBasicUrdf (line 125) | class SlowExampleBasicUrdf: method setup (line 131) | def setup(self): method time_load (line 136) | def time_load(self): FILE: asv/benchmarks/setup/bench_model.py class KpiInitializeModel (line 26) | class KpiInitializeModel: method setup (line 36) | def setup(self, robot, world_count): method time_initialize_model (line 40) | def time_initialize_model(self, robot, world_count): class KpiInitializeSolver (line 48) | class KpiInitializeSolver: method setup (line 58) | def setup(self, robot, world_count): method time_initialize_solver (line 66) | def time_initialize_solver(self, robot, world_count): method teardown (line 70) | def teardown(self, robot, world_count): class KpiInitializeViewerGL (line 75) | class KpiInitializeViewerGL: method setup (line 84) | def setup(self, robot, world_count): method time_initialize_renderer (line 92) | def time_initialize_renderer(self, robot, world_count): method teardown (line 100) | def teardown(self, robot, world_count): class FastInitializeModel (line 104) | class FastInitializeModel: method setup_cache (line 113) | def setup_cache(self): method time_initialize_model (line 122) | def time_initialize_model(self, robot, world_count): method peakmem_initialize_model_cpu (line 129) | def peakmem_initialize_model_cpu(self, robot, world_count): class FastInitializeSolver (line 141) | class FastInitializeSolver: method setup (line 150) | def setup(self, robot, world_count): method time_initialize_solver (line 158) | def time_initialize_solver(self, robot, world_count): method teardown (line 162) | def teardown(self, robot, world_count): class FastInitializeViewerGL (line 167) | class FastInitializeViewerGL: method setup (line 176) | def setup(self, robot, world_count): method time_initialize_renderer (line 184) | def time_initialize_renderer(self, robot, world_count): method teardown (line 192) | def teardown(self, robot, world_count): FILE: asv/benchmarks/simulation/bench_anymal.py class FastExampleAnymalPretrained (line 15) | class FastExampleAnymalPretrained: method setup (line 19) | def setup(self): method time_simulate (line 28) | def time_simulate(self): FILE: asv/benchmarks/simulation/bench_cable.py class FastExampleCablePile (line 15) | class FastExampleCablePile: method setup (line 20) | def setup(self): method time_simulate (line 30) | def time_simulate(self): FILE: asv/benchmarks/simulation/bench_cloth.py class FastExampleClothManipulation (line 15) | class FastExampleClothManipulation: method setup (line 20) | def setup(self): method time_simulate (line 29) | def time_simulate(self): class FastExampleClothTwist (line 35) | class FastExampleClothTwist: method setup (line 39) | def setup(self): method time_simulate (line 48) | def time_simulate(self): FILE: asv/benchmarks/simulation/bench_contacts.py function _import_example_class (line 24) | def _import_example_class(module_names: list[str]): class FastExampleContactSdfDefaults (line 46) | class FastExampleContactSdfDefaults: method setup_cache (line 52) | def setup_cache(self): method setup (line 55) | def setup(self): method time_simulate (line 76) | def time_simulate(self): class FastExampleContactHydroWorkingDefaults (line 82) | class FastExampleContactHydroWorkingDefaults: method setup_cache (line 88) | def setup_cache(self): method setup (line 91) | def setup(self): method time_simulate (line 112) | def time_simulate(self): class FastExampleContactPyramidDefaults (line 118) | class FastExampleContactPyramidDefaults: method setup (line 124) | def setup(self): method time_simulate (line 142) | def time_simulate(self): FILE: asv/benchmarks/simulation/bench_heightfield.py function _build_heightfield_scene (line 15) | def _build_heightfield_scene(num_bodies=200, nrow=100, ncol=100): class HeightfieldCollision (line 49) | class HeightfieldCollision: method setup (line 55) | def setup(self): method time_simulate (line 83) | def time_simulate(self): FILE: asv/benchmarks/simulation/bench_ik.py class _IKBenchmark (line 22) | class _IKBenchmark: method setup (line 39) | def setup(self, batch_size): method time_solve (line 68) | def time_solve(self, batch_size): method teardown (line 73) | def teardown(self, batch_size): class FastIKSolve (line 90) | class FastIKSolve(_IKBenchmark): FILE: asv/benchmarks/simulation/bench_mujoco.py function apply_random_control (line 23) | def apply_random_control(state: wp.uint32, joint_target: wp.array[float]): class _FastBenchmark (line 29) | class _FastBenchmark: method setup (line 41) | def setup(self): method time_simulate (line 78) | def time_simulate(self): class _KpiBenchmark (line 84) | class _KpiBenchmark: method setup (line 96) | def setup(self, world_count): method track_simulate (line 105) | def track_simulate(self, world_count): class _NewtonOverheadBenchmark (line 131) | class _NewtonOverheadBenchmark: method setup (line 142) | def setup(self, world_count): method track_simulate (line 151) | def track_simulate(self, world_count): class FastCartpole (line 180) | class FastCartpole(_FastBenchmark): class KpiCartpole (line 189) | class KpiCartpole(_KpiBenchmark): class FastG1 (line 199) | class FastG1(_FastBenchmark): class KpiG1 (line 208) | class KpiG1(_KpiBenchmark): class FastNewtonOverheadG1 (line 219) | class FastNewtonOverheadG1(_NewtonOverheadBenchmark): class KpiNewtonOverheadG1 (line 228) | class KpiNewtonOverheadG1(_NewtonOverheadBenchmark): class FastHumanoid (line 238) | class FastHumanoid(_FastBenchmark): class KpiHumanoid (line 247) | class KpiHumanoid(_KpiBenchmark): class FastNewtonOverheadHumanoid (line 257) | class FastNewtonOverheadHumanoid(_NewtonOverheadBenchmark): class KpiNewtonOverheadHumanoid (line 266) | class KpiNewtonOverheadHumanoid(_NewtonOverheadBenchmark): class FastAllegro (line 275) | class FastAllegro(_FastBenchmark): class KpiAllegro (line 284) | class KpiAllegro(_KpiBenchmark): class FastKitchenG1 (line 294) | class FastKitchenG1(_FastBenchmark): class KpiKitchenG1 (line 303) | class KpiKitchenG1(_KpiBenchmark): FILE: asv/benchmarks/simulation/bench_quadruped_xpbd.py class FastExampleQuadrupedXPBD (line 15) | class FastExampleQuadrupedXPBD: method setup (line 19) | def setup(self): method time_simulate (line 29) | def time_simulate(self): FILE: asv/benchmarks/simulation/bench_selection.py class FastExampleSelectionCartpoleMuJoCo (line 15) | class FastExampleSelectionCartpoleMuJoCo: method setup (line 19) | def setup(self): method time_simulate (line 30) | def time_simulate(self): FILE: asv/benchmarks/simulation/bench_sensor_tiled_camera.py function nice_name (line 18) | def nice_name(value): function nice_name_collector (line 26) | def nice_name_collector(): class SensorTiledCameraBenchmark (line 37) | class SensorTiledCameraBenchmark: method setup (line 41) | def setup(self, resolution: int, world_count: int, iterations: int): method time_rendering_pixel_priority_color_depth (line 110) | def time_rendering_pixel_priority_color_depth(self, resolution: int, w... method time_rendering_pixel_priority_color_only (line 125) | def time_rendering_pixel_priority_color_only(self, resolution: int, wo... method time_rendering_pixel_priority_depth_only (line 139) | def time_rendering_pixel_priority_depth_only(self, resolution: int, wo... method time_rendering_tiled_color_depth (line 153) | def time_rendering_tiled_color_depth(self, resolution: int, world_coun... method time_rendering_tiled_color_only (line 170) | def time_rendering_tiled_color_only(self, resolution: int, world_count... method time_rendering_tiled_depth_only (line 186) | def time_rendering_tiled_depth_only(self, resolution: int, world_count... function print_fps (line 201) | def print_fps(name: str, duration: float, resolution: int, world_count: ... function print_fps_results (line 214) | def print_fps_results(results: dict[tuple[str, tuple[int, int, int]], fl... FILE: asv/benchmarks/simulation/bench_viewer.py class KpiViewerGL (line 25) | class KpiViewerGL: method setup (line 34) | def setup(self, robot, world_count): method time_rendering_frame (line 47) | def time_rendering_frame(self, robot, world_count): method teardown (line 54) | def teardown(self, robot, world_count): class FastViewerGL (line 61) | class FastViewerGL: method setup (line 70) | def setup(self, robot, world_count): method time_rendering_frame (line 83) | def time_rendering_frame(self, robot, world_count): method teardown (line 90) | def teardown(self, robot, world_count): FILE: docs/_ext/autodoc_filter.py function _should_skip_member (line 18) | def _should_skip_member( function setup (line 89) | def setup(app): # type: ignore[override] FILE: docs/_ext/autodoc_wpfunc.py class WarpFunctionDocumenter (line 30) | class WarpFunctionDocumenter(FunctionDocumenter): method _looks_like_warp_function (line 42) | def _looks_like_warp_function(obj: Any) -> bool: method can_document_member (line 48) | def can_document_member( method _unwrap (line 61) | def _unwrap(self): method format_args (line 70) | def format_args(self): method get_doc (line 74) | def get_doc(self, *args: Any, **kwargs: Any) -> list[list[str]]: method add_directive_header (line 78) | def add_directive_header(self, sig: str) -> None: function setup (line 88) | def setup(app): # type: ignore[override] FILE: docs/conf.py function linkcode_resolve (line 311) | def linkcode_resolve(domain: str, info: dict[str, str]) -> str | None: function _copy_viser_client_into_output_static (line 394) | def _copy_viser_client_into_output_static(*, outdir: Path) -> None: function _on_builder_inited (line 430) | def _on_builder_inited(_app: Any) -> None: function setup (line 435) | def setup(app: Any) -> None: FILE: docs/generate_api.py function public_symbols (line 67) | def public_symbols(mod: ModuleType) -> list[str]: function _is_solver_only_module (line 81) | def _is_solver_only_module(mod: ModuleType) -> bool: function solver_submodule_pages (line 88) | def solver_submodule_pages() -> list[str]: function write_module_page (line 113) | def write_module_page(mod_name: str) -> None: function generate_all (line 285) | def generate_all() -> None: FILE: docs/print_api.py function public_symbols (line 8) | def public_symbols(mod) -> list[str]: function get_symbols (line 22) | def get_symbols(mod_name: str): function print_symbols (line 37) | def print_symbols(sym_dict, indent=0): FILE: docs/serve.py class CORSHTTPRequestHandler (line 36) | class CORSHTTPRequestHandler(http.server.SimpleHTTPRequestHandler): method guess_type (line 59) | def guess_type(self, path): method end_headers (line 70) | def end_headers(self): method do_OPTIONS (line 77) | def do_OPTIONS(self): function main (line 83) | def main(): FILE: newton/_src/core/types.py function _override_noop (line 19) | def _override_noop(func: _F, /) -> _F: function flag_to_int (line 41) | def flag_to_int(flag): class Axis (line 81) | class Axis(IntEnum): method from_string (line 92) | def from_string(cls, axis_str: str) -> Axis: method from_any (line 115) | def from_any(cls, value: AxisType) -> Axis: method __str__ (line 138) | def __str__(self): method __repr__ (line 142) | def __repr__(self): method __eq__ (line 146) | def __eq__(self, other): method __hash__ (line 154) | def __hash__(self): method to_vector (line 157) | def to_vector(self) -> tuple[float, float, float]: method to_vec3 (line 171) | def to_vec3(self) -> wp.vec3: method quat_between_axes (line 180) | def quat_between_axes(self, other: Axis) -> wp.quat: function axis_to_vec3 (line 191) | def axis_to_vec3(axis: AxisType | Vec3) -> wp.vec3: FILE: newton/_src/geometry/broad_phase_common.py function check_aabb_overlap (line 19) | def check_aabb_overlap( function binary_search (line 39) | def binary_search(values: wp.array[Any], value: Any, lower: int, upper: ... function _vec2i_less (line 51) | def _vec2i_less(p: wp.vec2i, q: wp.vec2i) -> bool: function _vec2i_equal (line 69) | def _vec2i_equal(p: wp.vec2i, q: wp.vec2i) -> bool: function is_pair_excluded (line 83) | def is_pair_excluded( function write_pair (line 117) | def write_pair( function test_group_pair (line 133) | def test_group_pair(group_a: int, group_b: int) -> bool: function test_world_and_group_pair (line 154) | def test_world_and_group_pair(world_a: int, world_b: int, collision_grou... function precompute_world_map (line 183) | def precompute_world_map(shape_world: np.ndarray | list[int], shape_flag... FILE: newton/_src/geometry/broad_phase_nxn.py function _nxn_broadphase_precomputed_pairs (line 29) | def _nxn_broadphase_precomputed_pairs( function _get_lower_triangular_indices (line 70) | def _get_lower_triangular_indices(index: int, matrix_size: int) -> tuple... function _find_world_and_local_id (line 92) | def _find_world_and_local_id( function _nxn_broadphase_kernel (line 130) | def _nxn_broadphase_kernel( class BroadPhaseAllPairs (line 217) | class BroadPhaseAllPairs: method __init__ (line 233) | def __init__( method launch (line 305) | def launch( class BroadPhaseExplicit (line 388) | class BroadPhaseExplicit: method __init__ (line 399) | def __init__(self) -> None: method launch (line 402) | def launch( FILE: newton/_src/geometry/broad_phase_sap.py function _normalize_sort_mode (line 36) | def _normalize_sort_mode(mode: str) -> SAPSortMode: function _sap_project_aabb (line 44) | def _sap_project_aabb( function binary_search_segment (line 67) | def binary_search_segment( function _create_tile_sort_kernel (line 99) | def _create_tile_sort_kernel(tile_size: int): function _sap_project_kernel (line 145) | def _sap_project_kernel( function _sap_range_kernel (line 190) | def _sap_range_kernel( function _process_single_sap_pair (line 243) | def _process_single_sap_pair( function _sap_broadphase_kernel (line 285) | def _sap_broadphase_kernel( class BroadPhaseSAP (line 397) | class BroadPhaseSAP: method __init__ (line 405) | def __init__( method launch (line 510) | def launch( FILE: newton/_src/geometry/collision_convex.py function create_solve_convex_multi_contact (line 26) | def create_solve_convex_multi_contact(support_func: Any, writer_func: An... function create_solve_convex_single_contact (line 121) | def create_solve_convex_single_contact(support_func: Any, writer_func: A... FILE: newton/_src/geometry/collision_core.py function is_discrete_shape (line 38) | def is_discrete_shape(shape_type: int) -> bool: function project_point_onto_plane (line 49) | def project_point_onto_plane(point: wp.vec3, plane_point: wp.vec3, plane... function compute_plane_normal_from_contacts (line 68) | def compute_plane_normal_from_contacts( function no_post_process_contact (line 130) | def no_post_process_contact( function post_process_minkowski_only (line 143) | def post_process_minkowski_only( function post_process_axial_on_discrete_contact (line 171) | def post_process_axial_on_discrete_contact( function create_compute_gjk_mpr_contacts (line 276) | def create_compute_gjk_mpr_contacts( function compute_tight_aabb_from_support (line 394) | def compute_tight_aabb_from_support( function compute_bounding_sphere_from_aabb (line 492) | def compute_bounding_sphere_from_aabb(aabb_lower: wp.vec3, aabb_upper: w... function convert_infinite_plane_to_cube (line 506) | def convert_infinite_plane_to_cube( function check_infinite_plane_bsphere_overlap (line 568) | def check_infinite_plane_bsphere_overlap( function create_find_contacts (line 623) | def create_find_contacts(writer_func: Any, support_func: Any = None, pos... function pre_contact_check (line 726) | def pre_contact_check( function mesh_vs_convex_midphase (line 855) | def mesh_vs_convex_midphase( function find_pair_from_cumulative_index (line 969) | def find_pair_from_cumulative_index( function get_triangle_shape_from_mesh (line 1003) | def get_triangle_shape_from_mesh( function get_box_axes (line 1056) | def get_box_axes(q: wp.quat) -> wp.mat33: function project_box_onto_axis (line 1072) | def project_box_onto_axis(transform: wp.transform, extents: wp.vec3, axi... function test_axis_separation (line 1090) | def test_axis_separation( function sat_box_intersection (line 1110) | def sat_box_intersection( FILE: newton/_src/geometry/collision_primitive.py function closest_segment_point (line 49) | def closest_segment_point(a: wp.vec3, b: wp.vec3, pt: wp.vec3) -> wp.vec3: function closest_segment_point_and_dist (line 57) | def closest_segment_point_and_dist(a: wp.vec3, b: wp.vec3, pt: wp.vec3) ... function closest_segment_to_segment_points (line 65) | def closest_segment_to_segment_points(a0: wp.vec3, a1: wp.vec3, b0: wp.v... function collide_plane_sphere (line 101) | def collide_plane_sphere( function collide_sphere_sphere (line 111) | def collide_sphere_sphere( function collide_sphere_capsule (line 144) | def collide_sphere_capsule( function collide_capsule_capsule (line 181) | def collide_capsule_capsule( function collide_plane_capsule (line 279) | def collide_plane_capsule( function collide_plane_ellipsoid (line 334) | def collide_plane_ellipsoid( function collide_plane_box (line 366) | def collide_plane_box( function collide_sphere_cylinder (line 443) | def collide_sphere_cylinder( function collide_plane_cylinder (line 516) | def collide_plane_cylinder( function _compute_rotmore (line 672) | def _compute_rotmore(face_idx: int) -> wp.mat33: function collide_box_box (line 704) | def collide_box_box( function collide_sphere_box (line 1162) | def collide_sphere_box( function collide_capsule_box (line 1219) | def collide_capsule_box( FILE: newton/_src/geometry/contact_data.py class ContactData (line 18) | class ContactData: function contact_passes_gap_check (line 58) | def contact_passes_gap_check( FILE: newton/_src/geometry/contact_reduction.py function float_flip (line 109) | def float_flip(f: float) -> wp.uint32: ... function synchronize (line 117) | def synchronize(): ... function get_slot (line 219) | def get_slot(normal: wp.vec3) -> int: function project_point_to_plane (line 328) | def project_point_to_plane(bin_normal_idx: wp.int32, point: wp.vec3) -> ... function get_spatial_direction_2d (line 355) | def get_spatial_direction_2d(dir_idx: int) -> wp.vec2: function compute_num_reduction_slots (line 368) | def compute_num_reduction_slots() -> int: function compute_voxel_index (line 379) | def compute_voxel_index( function create_shared_memory_pointer_block_dim_func (line 418) | def create_shared_memory_pointer_block_dim_func( function create_shared_memory_pointer_block_dim_mul_func (line 447) | def create_shared_memory_pointer_block_dim_mul_func( FILE: newton/_src/geometry/contact_reduction_global.py function is_contact_already_exported (line 96) | def is_contact_already_exported( function compute_effective_radius (line 120) | def compute_effective_radius(shape_type: int, shape_scale: wp.vec4) -> f... function reduction_update_slot (line 147) | def reduction_update_slot( function reduction_insert_slot (line 173) | def reduction_insert_slot( function make_contact_key (line 227) | def make_contact_key(shape_a: int, shape_b: int, bin_id: int) -> wp.uint64: function make_contact_value (line 246) | def make_contact_value(score: float, contact_id: int) -> wp.uint64: function unpack_contact_id (line 265) | def unpack_contact_id(packed: wp.uint64) -> int: function encode_oct (line 271) | def encode_oct(n: wp.vec3) -> wp.vec2: function decode_oct (line 301) | def decode_oct(e: wp.vec2) -> wp.vec3: class GlobalContactReducerData (line 326) | class GlobalContactReducerData: function _clear_active_kernel (line 381) | def _clear_active_kernel( function _zero_count_and_contacts_kernel (line 447) | def _zero_count_and_contacts_kernel( class GlobalContactReducer (line 459) | class GlobalContactReducer: method __init__ (line 507) | def __init__( method clear (line 595) | def clear(self): method clear_active (line 602) | def clear_active(self): method get_data_struct (line 648) | def get_data_struct(self) -> GlobalContactReducerData: function export_contact_to_buffer (line 678) | def export_contact_to_buffer( function reduce_contact_in_hashtable (line 714) | def reduce_contact_in_hashtable( function export_and_reduce_contact (line 819) | def export_and_reduce_contact( function export_and_reduce_contact_centered (line 850) | def export_and_reduce_contact_centered( function reduce_buffered_contacts_kernel (line 973) | def reduce_buffered_contacts_kernel( function unpack_contact (line 1017) | def unpack_contact( function write_contact_to_reducer (line 1044) | def write_contact_to_reducer( function create_export_reduced_contacts_kernel (line 1082) | def create_export_reduced_contacts_kernel(writer_func: Any): function mesh_triangle_contacts_to_reducer_kernel (line 1218) | def mesh_triangle_contacts_to_reducer_kernel( FILE: newton/_src/geometry/contact_reduction_hydroelastic.py function _compute_normal_matching_rotation (line 69) | def _compute_normal_matching_rotation( function _effective_stiffness (line 99) | def _effective_stiffness(k_a: wp.float32, k_b: wp.float32) -> wp.float32: function export_hydroelastic_contact_to_buffer (line 112) | def export_hydroelastic_contact_to_buffer( function get_reduce_hydroelastic_contacts_kernel (line 155) | def get_reduce_hydroelastic_contacts_kernel(): function _create_accumulate_reduced_depth_kernel (line 285) | def _create_accumulate_reduced_depth_kernel(): function _create_accumulate_moments_kernel (line 355) | def _create_accumulate_moments_kernel(normal_matching: bool = True): function create_export_hydroelastic_reduced_contacts_kernel (line 449) | def create_export_hydroelastic_reduced_contacts_kernel( class HydroelasticReductionConfig (line 880) | class HydroelasticReductionConfig: class HydroelasticContactReduction (line 900) | class HydroelasticContactReduction: method __init__ (line 953) | def __init__( method contact_count (line 1006) | def contact_count(self) -> wp.array: method capacity (line 1011) | def capacity(self) -> int: method get_data_struct (line 1015) | def get_data_struct(self) -> GlobalContactReducerData: method clear (line 1024) | def clear(self): method reduce (line 1032) | def reduce( method export (line 1077) | def export( method reduce_and_export (line 1168) | def reduce_and_export( FILE: newton/_src/geometry/differentiable_contacts.py function differentiable_contact_augment_kernel (line 25) | def differentiable_contact_augment_kernel( function launch_differentiable_contact_augment (line 91) | def launch_differentiable_contact_augment( FILE: newton/_src/geometry/flags.py class ParticleFlags (line 8) | class ParticleFlags(IntEnum): class ShapeFlags (line 18) | class ShapeFlags(IntEnum): FILE: newton/_src/geometry/hashtable.py function _next_power_of_two (line 41) | def _next_power_of_two(n: int) -> int: function _hashtable_hash (line 56) | def _hashtable_hash(key: wp.uint64, capacity_mask: int) -> int: function hashtable_find (line 66) | def hashtable_find( function hashtable_find_or_insert (line 107) | def hashtable_find_or_insert( function _hashtable_clear_keys_kernel (line 163) | def _hashtable_clear_keys_kernel( function _zero_count_kernel (line 189) | def _zero_count_kernel( class HashTable (line 197) | class HashTable: method __init__ (line 214) | def __init__(self, capacity: int, device: str | None = None): method clear (line 230) | def clear(self): method clear_active (line 235) | def clear_active(self): FILE: newton/_src/geometry/inertia.py function compute_inertia_sphere (line 42) | def compute_inertia_sphere(density: float, radius: float) -> tuple[float... function compute_inertia_capsule (line 64) | def compute_inertia_capsule(density: float, radius: float, half_height: ... function compute_inertia_cylinder (line 97) | def compute_inertia_cylinder(density: float, radius: float, half_height:... function compute_inertia_cone (line 123) | def compute_inertia_cone(density: float, radius: float, half_height: flo... function compute_inertia_ellipsoid (line 154) | def compute_inertia_ellipsoid(density: float, rx: float, ry: float, rz: ... function compute_inertia_box_from_mass (line 186) | def compute_inertia_box_from_mass(mass: float, hx: float, hy: float, hz:... function compute_inertia_box (line 208) | def compute_inertia_box(density: float, hx: float, hy: float, hz: float)... function triangle_inertia (line 230) | def triangle_inertia( function compute_solid_mesh_inertia (line 250) | def compute_solid_mesh_inertia( function compute_hollow_mesh_inertia (line 270) | def compute_hollow_mesh_inertia( function compute_inertia_mesh (line 343) | def compute_inertia_mesh( function transform_inertia (line 436) | def transform_inertia(mass: float, inertia: wp.mat33, offset: wp.vec3, q... function compute_inertia_shape (line 474) | def compute_inertia_shape( function verify_and_correct_inertia (line 608) | def verify_and_correct_inertia( function validate_and_correct_inertia_kernel (line 806) | def validate_and_correct_inertia_kernel( FILE: newton/_src/geometry/kernels.py function triangle_closest_point_barycentric (line 16) | def triangle_closest_point_barycentric(a: wp.vec3, b: wp.vec3, c: wp.vec... function triangle_closest_point (line 64) | def triangle_closest_point(a: wp.vec3, b: wp.vec3, c: wp.vec3, p: wp.vec3): function _sdf_point_to_z_up (line 132) | def _sdf_point_to_z_up(point: wp.vec3, up_axis: int): function _sdf_capped_cone_z (line 141) | def _sdf_capped_cone_z(bottom_radius: float, top_radius: float, half_hei... function sdf_sphere (line 165) | def sdf_sphere(point: wp.vec3, radius: float): function sdf_sphere_grad (line 179) | def sdf_sphere_grad(point: wp.vec3, radius: float): function sdf_box (line 198) | def sdf_box(point: wp.vec3, hx: float, hy: float, hz: float): function sdf_box_grad (line 221) | def sdf_box_grad(point: wp.vec3, hx: float, hy: float, hz: float): function sdf_capsule (line 262) | def sdf_capsule(point: wp.vec3, radius: float, half_height: float, up_ax... function _sdf_vector_from_z_up (line 285) | def _sdf_vector_from_z_up(v: wp.vec3, up_axis: int): function sdf_capsule_grad (line 294) | def sdf_capsule_grad(point: wp.vec3, radius: float, half_height: float, ... function sdf_cylinder (line 332) | def sdf_cylinder( function sdf_cylinder_grad (line 360) | def sdf_cylinder_grad( function sdf_ellipsoid (line 449) | def sdf_ellipsoid(point: wp.vec3, radii: wp.vec3): function sdf_ellipsoid_grad (line 480) | def sdf_ellipsoid_grad(point: wp.vec3, radii: wp.vec3): function sdf_cone (line 515) | def sdf_cone(point: wp.vec3, radius: float, half_height: float, up_axis:... function sdf_cone_grad (line 532) | def sdf_cone_grad(point: wp.vec3, radius: float, half_height: float, up_... function sdf_plane (line 568) | def sdf_plane(point: wp.vec3, width: float, length: float): function sdf_plane_grad (line 592) | def sdf_plane_grad(point: wp.vec3, width: float, length: float): function closest_point_plane (line 608) | def closest_point_plane(width: float, length: float, point: wp.vec3): function closest_point_line_segment (line 622) | def closest_point_line_segment(a: wp.vec3, b: wp.vec3, point: wp.vec3): function closest_point_box (line 631) | def closest_point_box(upper: wp.vec3, point: wp.vec3): function get_box_vertex (line 652) | def get_box_vertex(point_id: int, upper: wp.vec3): function get_box_edge (line 668) | def get_box_edge(edge_id: int, upper: wp.vec3): function get_plane_edge (line 689) | def get_plane_edge(edge_id: int, plane_width: float, plane_length: float): function closest_edge_coordinate_box (line 703) | def closest_edge_coordinate_box(upper: wp.vec3, edge_a: wp.vec3, edge_b:... function closest_edge_coordinate_plane (line 742) | def closest_edge_coordinate_plane( function closest_edge_coordinate_capsule (line 787) | def closest_edge_coordinate_capsule(radius: float, half_height: float, e... function closest_edge_coordinate_cylinder (line 827) | def closest_edge_coordinate_cylinder( function mesh_sdf (line 869) | def mesh_sdf(mesh: wp.uint64, point: wp.vec3, max_dist: float): function sdf_mesh (line 883) | def sdf_mesh(mesh: wp.uint64, point: wp.vec3, max_dist: float): function closest_point_mesh (line 898) | def closest_point_mesh(mesh: wp.uint64, point: wp.vec3, max_dist: float): function closest_edge_coordinate_mesh (line 912) | def closest_edge_coordinate_mesh(mesh: wp.uint64, edge_a: wp.vec3, edge_... function volume_grad (line 951) | def volume_grad(volume: wp.uint64, p: wp.vec3): function counter_increment (line 970) | def counter_increment(counter: wp.array[int], counter_index: int, tids: ... function counter_increment_replay (line 994) | def counter_increment_replay( function create_soft_contacts (line 1001) | def create_soft_contacts( function compute_tri_aabb (line 1163) | def compute_tri_aabb( function compute_tri_aabbs (line 1175) | def compute_tri_aabbs( function compute_edge_aabbs (line 1194) | def compute_edge_aabbs( function tri_is_neighbor (line 1210) | def tri_is_neighbor(a_1: wp.int32, a_2: wp.int32, a_3: wp.int32, b_1: wp... function vertex_adjacent_to_triangle (line 1227) | def vertex_adjacent_to_triangle(v: wp.int32, a: wp.int32, b: wp.int32, c... function init_triangle_collision_data_kernel (line 1232) | def init_triangle_collision_data_kernel( function vertex_triangle_collision_detection_kernel (line 1250) | def vertex_triangle_collision_detection_kernel( function edge_colliding_edges_detection_kernel (line 1389) | def edge_colliding_edges_detection_kernel( function triangle_triangle_collision_detection_kernel (line 1499) | def triangle_triangle_collision_detection_kernel( FILE: newton/_src/geometry/mpr.py class Vert (line 40) | class Vert: function vert_a (line 48) | def vert_a(vert: Vert) -> wp.vec3: function create_support_map_function (line 53) | def create_support_map_function(support_func: Any): function create_solve_mpr (line 183) | def create_solve_mpr(support_func: Any, _support_funcs: Any = None): FILE: newton/_src/geometry/multicontact.py function should_include_deepest_contact (line 38) | def should_include_deepest_contact(normal_dot: float) -> bool: function excess_normal_deviation (line 43) | def excess_normal_deviation(dir_a: wp.vec3, dir_b: wp.vec3) -> bool: function signed_area (line 62) | def signed_area(a: wp.vec2, b: wp.vec2, query_point: wp.vec2) -> float: function ray_plane_intersection (line 87) | def ray_plane_intersection( class BodyProjector (line 117) | class BodyProjector: class IncrementalPlaneTracker (line 133) | class IncrementalPlaneTracker: function update_incremental_plane_tracker (line 141) | def update_incremental_plane_tracker( function compute_line_segment_projector_normal (line 167) | def compute_line_segment_projector_normal( function create_body_projectors (line 189) | def create_body_projectors( function body_projector_project (line 239) | def body_projector_project( function intersection_point (line 263) | def intersection_point(trim_seg_start: wp.vec2, trim_seg_end: wp.vec2, a... function insert_vec2 (line 289) | def insert_vec2(arr: wp.array[wp.vec2], arr_count: int, index: int, elem... function trim_in_place (line 307) | def trim_in_place( function trim_all_in_place (line 398) | def trim_all_in_place( function approx_max_quadrilateral_area_with_calipers (line 485) | def approx_max_quadrilateral_area_with_calipers(hull: wp.array[wp.vec2],... function remove_zero_length_edges (line 581) | def remove_zero_length_edges(loop: wp.array[wp.vec2], loop_count: int, e... function add_avoid_duplicates_vec2 (line 621) | def add_avoid_duplicates_vec2(arr: wp.array[wp.vec2], arr_count: int, ve... function get_ptr (line 651) | def get_ptr(a: wp.array[wp.vec2]) -> wp.uint64: ... function create_build_manifold (line 654) | def create_build_manifold(support_func: Any, writer_func: Any, post_proc... FILE: newton/_src/geometry/narrow_phase.py class ContactWriterData (line 65) | class ContactWriterData: function write_contact_simple (line 76) | def write_contact_simple( function create_narrow_phase_primitive_kernel (line 128) | def create_narrow_phase_primitive_kernel(writer_func: Any): function create_narrow_phase_kernel_gjk_mpr (line 595) | def create_narrow_phase_kernel_gjk_mpr( function narrow_phase_find_mesh_triangle_overlaps_kernel (line 766) | def narrow_phase_find_mesh_triangle_overlaps_kernel( function create_narrow_phase_process_mesh_triangle_contacts_kernel (line 873) | def create_narrow_phase_process_mesh_triangle_contacts_kernel(writer_fun... function compute_mesh_plane_vert_counts (line 963) | def compute_mesh_plane_vert_counts( function compute_mesh_plane_block_offsets_scan (line 988) | def compute_mesh_plane_block_offsets_scan( function create_narrow_phase_process_mesh_plane_contacts_kernel (line 1035) | def create_narrow_phase_process_mesh_plane_contacts_kernel( function verify_narrow_phase_buffers (line 1294) | def verify_narrow_phase_buffers( class NarrowPhase (line 1368) | class NarrowPhase: method __init__ (line 1378) | def __init__( method launch_custom_write (line 1630) | def launch_custom_write( method launch (line 2046) | def launch( FILE: newton/_src/geometry/raycast.py function _spinlock_acquire (line 17) | def _spinlock_acquire(lock: wp.array[wp.int32]): function _spinlock_release (line 24) | def _spinlock_release(lock: wp.array[wp.int32]): function ray_intersect_sphere (line 30) | def ray_intersect_sphere(geom_to_world: wp.transform, ray_origin: wp.vec... function ray_intersect_particle_sphere (line 74) | def ray_intersect_particle_sphere(ray_origin: wp.vec3, ray_direction: wp... function ray_intersect_ellipsoid (line 107) | def ray_intersect_ellipsoid( function ray_intersect_box (line 168) | def ray_intersect_box(geom_to_world: wp.transform, ray_origin: wp.vec3, ... function ray_intersect_capsule (line 216) | def ray_intersect_capsule(geom_to_world: wp.transform, ray_origin: wp.ve... function ray_intersect_cylinder (line 307) | def ray_intersect_cylinder( function ray_intersect_cone (line 377) | def ray_intersect_cone( function ray_intersect_mesh (line 460) | def ray_intersect_mesh( function ray_intersect_geom (line 520) | def ray_intersect_geom( function raycast_kernel (line 576) | def raycast_kernel( function ray_for_pixel (line 657) | def ray_for_pixel( function sensor_raycast_kernel (line 710) | def sensor_raycast_kernel( function sensor_raycast_particles_kernel (line 795) | def sensor_raycast_particles_kernel( FILE: newton/_src/geometry/remesh.py function _split_by_3 (line 87) | def _split_by_3(x: wp.uint64) -> wp.uint64: function morton_encode_3d (line 101) | def morton_encode_3d(cx: wp.int32, cy: wp.int32, cz: wp.int32) -> wp.uin... function compute_voxel_key (line 116) | def compute_voxel_key( function rand_init (line 138) | def rand_init(seed: wp.uint32, thread_id: wp.uint32) -> wp.uint32: function rand_next (line 150) | def rand_next(state: wp.uint32) -> wp.uint32: function rand_float (line 156) | def rand_float(state: wp.uint32) -> float: function rand_next_float (line 163) | def rand_next_float(state: wp.uint32) -> tuple[wp.uint32, float]: function _accumulate_point_kernel (line 179) | def _accumulate_point_kernel( function _finalize_voxels_kernel (line 212) | def _finalize_voxels_kernel( class VoxelHashGrid (line 262) | class VoxelHashGrid: method __init__ (line 284) | def __init__( method keys (line 313) | def keys(self) -> wp.array: method active_slots (line 318) | def active_slots(self) -> wp.array: method clear (line 322) | def clear(self): method get_num_voxels (line 334) | def get_num_voxels(self) -> int: method finalize (line 338) | def finalize(self) -> tuple[np.ndarray, np.ndarray, int]: function compute_bounding_sphere (line 391) | def compute_bounding_sphere(vertices: np.ndarray) -> tuple[np.ndarray, f... function create_icosahedron_directions (line 424) | def create_icosahedron_directions(edge_segments: int = 2) -> np.ndarray: function compute_hemisphere_edge_segments (line 573) | def compute_hemisphere_edge_segments(target_rays: int) -> int: function create_hemisphere_directions (line 593) | def create_hemisphere_directions(target_rays: int) -> np.ndarray: function compute_camera_basis (line 618) | def compute_camera_basis(direction: np.ndarray) -> tuple[np.ndarray, np.... function raycast_orthographic_kernel (line 651) | def raycast_orthographic_kernel( function raycast_hemisphere_kernel (line 783) | def raycast_hemisphere_kernel( class PointCloudExtractor (line 876) | class PointCloudExtractor: method __init__ (line 939) | def __init__( method extract (line 982) | def extract( class SurfaceReconstructor (line 1350) | class SurfaceReconstructor: method __init__ (line 1393) | def __init__( method reconstruct (line 1429) | def reconstruct( method _simplify_pyfqmr (line 1514) | def _simplify_pyfqmr(self, mesh, num_triangles_before: int, verbose: b... method _simplify_open3d (line 1550) | def _simplify_open3d(self, mesh, num_triangles_before: int, verbose: b... function extract_largest_island (line 1582) | def extract_largest_island( function remesh_poisson (line 1700) | def remesh_poisson( FILE: newton/_src/geometry/sdf_contact.py function scale_sdf_result_to_world (line 27) | def scale_sdf_result_to_world( function sample_sdf_using_mesh (line 62) | def sample_sdf_using_mesh( function sample_sdf_grad_using_mesh (line 97) | def sample_sdf_grad_using_mesh( function closest_pt_point_bary_triangle (line 160) | def closest_pt_point_bary_triangle(c: wp.vec3) -> wp.vec3: function get_triangle_from_mesh (line 227) | def get_triangle_from_mesh( function get_bounding_sphere (line 276) | def get_bounding_sphere(v0: wp.vec3, v1: wp.vec3, v2: wp.vec3) -> tuple[... function add_to_shared_buffer_atomic (line 302) | def add_to_shared_buffer_atomic( function get_triangle_from_heightfield (line 362) | def get_triangle_from_heightfield( function get_triangle_count (line 423) | def get_triangle_count(shape_type: int, mesh_id: wp.uint64, hfd: Heightf... function _create_sdf_contact_funcs (line 432) | def _create_sdf_contact_funcs(enable_heightfields: bool): function compute_mesh_mesh_tri_counts (line 704) | def compute_mesh_mesh_tri_counts( function compute_block_counts_from_weights (line 743) | def compute_block_counts_from_weights( function compute_mesh_mesh_block_offsets_scan (line 778) | def compute_mesh_mesh_block_offsets_scan( function create_narrow_phase_process_mesh_mesh_contacts_kernel (line 834) | def create_narrow_phase_process_mesh_mesh_contacts_kernel( FILE: newton/_src/geometry/sdf_hydroelastic.py function map_shape_texture_sdf_data_kernel (line 67) | def map_shape_texture_sdf_data_kernel( function int_to_vec3f (line 86) | def int_to_vec3f(x: wp.int32, y: wp.int32, z: wp.int32): function get_effective_stiffness (line 91) | def get_effective_stiffness(k_a: wp.float32, k_b: wp.float32) -> wp.floa... function mc_calc_face_texture (line 100) | def mc_calc_face_texture( class HydroelasticSDF (line 160) | class HydroelasticSDF: class Config (line 205) | class Config: class ContactSurfaceData (line 257) | class ContactSurfaceData: method __init__ (line 276) | def __init__( method _from_model (line 423) | def _from_model( method get_contact_surface (line 503) | def get_contact_surface(self) -> ContactSurfaceData | None: method launch (line 520) | def launch( method _broadphase_sdfs (line 625) | def _broadphase_sdfs( method _find_iso_voxels (line 696) | def _find_iso_voxels( method _generate_contacts (line 759) | def _generate_contacts( method _decode_contacts (line 815) | def _decode_contacts( method _reduce_decode_contacts (line 846) | def _reduce_decode_contacts( function broadphase_collision_pairs_count (line 878) | def broadphase_collision_pairs_count( function broadphase_collision_pairs_scatter (line 930) | def broadphase_collision_pairs_scatter( function broadphase_get_block_coords (line 979) | def broadphase_get_block_coords( function encode_coords_8 (line 996) | def encode_coords_8(x: wp.int32, y: wp.int32, z: wp.int32) -> wp.uint8: function decode_coords_8 (line 1002) | def decode_coords_8(bit_pos: wp.uint8) -> wp.vec3ub: function get_rel_stiffness (line 1010) | def get_rel_stiffness(k_a: wp.float32, k_b: wp.float32) -> tuple[wp.floa... function sdf_diff_sdf (line 1016) | def sdf_diff_sdf( function sdf_diff_sdf (line 1050) | def sdf_diff_sdf( function count_iso_voxels_block (line 1080) | def count_iso_voxels_block( function scatter_iso_subblock (line 1159) | def scatter_iso_subblock( function mc_iterate_voxel_vertices (line 1193) | def mc_iterate_voxel_vertices( function get_decode_contacts_kernel (line 1251) | def get_decode_contacts_kernel(margin_contact_area: float = 1e-4, writer... function get_generate_contacts_kernel (line 1363) | def get_generate_contacts_kernel( function verify_collision_step (line 1670) | def verify_collision_step( FILE: newton/_src/geometry/sdf_mc.py function get_mc_tables (line 24) | def get_mc_tables(device): function int_to_vec3f (line 80) | def int_to_vec3f(x: wp.int32, y: wp.int32, z: wp.int32): function get_triangle_fraction (line 86) | def get_triangle_fraction(vert_depths: wp.vec3f, num_inside: wp.int32) -... function mc_calc_face (line 135) | def mc_calc_face( FILE: newton/_src/geometry/sdf_texture.py class QuantizationMode (line 39) | class QuantizationMode: class TextureSDFData (line 48) | class TextureSDFData: function _idx3d (line 89) | def _idx3d(x: int, y: int, z: int, size_x: int, size_y: int) -> int: function _id_to_xyz (line 95) | def _id_to_xyz(idx: int, size_x: int, size_y: int) -> wp.vec3i: function _check_subgrid_occupied_kernel (line 105) | def _check_subgrid_occupied_kernel( function _check_subgrid_linearity_kernel (line 130) | def _check_subgrid_linearity_kernel( function _build_coarse_sdf_from_mesh_kernel (line 221) | def _build_coarse_sdf_from_mesh_kernel( function _populate_subgrid_texture_float32_kernel (line 254) | def _populate_subgrid_texture_float32_kernel( function _populate_subgrid_texture_uint16_kernel (line 328) | def _populate_subgrid_texture_uint16_kernel( function _populate_subgrid_texture_uint8_kernel (line 407) | def _populate_subgrid_texture_uint8_kernel( function _sample_volume_at_positions_kernel (line 491) | def _sample_volume_at_positions_kernel( function apply_subgrid_start (line 509) | def apply_subgrid_start(start_slot: wp.uint32, local_f: wp.vec3, subgrid... function apply_subgrid_sdf_scale (line 523) | def apply_subgrid_sdf_scale(raw_value: float, min_value: float, value_ra... function _read_cell_corners (line 532) | def _read_cell_corners( function _trilinear (line 640) | def _trilinear(corners: vec8f, tx: float, ty: float, tz: float) -> float: function texture_sample_sdf_at_voxel (line 652) | def texture_sample_sdf_at_voxel( function texture_sample_sdf (line 711) | def texture_sample_sdf( function texture_sample_sdf_grad (line 833) | def texture_sample_sdf_grad( function build_sparse_sdf_from_mesh (line 894) | def build_sparse_sdf_from_mesh( function create_sparse_sdf_textures (line 1207) | def create_sparse_sdf_textures( function create_texture_sdf_from_mesh (line 1266) | def create_texture_sdf_from_mesh( function create_texture_sdf_from_volume (line 1353) | def create_texture_sdf_from_volume( function block_coords_from_subgrid_required (line 1714) | def block_coords_from_subgrid_required( function create_empty_texture_sdf_data (line 1755) | def create_empty_texture_sdf_data() -> TextureSDFData: function _count_isomesh_faces_texture_kernel (line 1786) | def _count_isomesh_faces_texture_kernel( function _generate_isomesh_texture_kernel (line 1819) | def _generate_isomesh_texture_kernel( function compute_isomesh_from_texture_sdf (line 1879) | def compute_isomesh_from_texture_sdf( FILE: newton/_src/geometry/sdf_utils.py class SDFData (line 23) | class SDFData: function sample_sdf_extrapolated (line 51) | def sample_sdf_extrapolated( function sample_sdf_grad_extrapolated (line 103) | def sample_sdf_grad_extrapolated( class SDF (line 165) | class SDF: method __init__ (line 168) | def __init__( method to_kernel_data (line 197) | def to_kernel_data(self) -> SDFData: method to_texture_kernel_data (line 201) | def to_texture_kernel_data(self) -> "TextureSDFData | None": method is_empty (line 205) | def is_empty(self) -> bool: method validate (line 209) | def validate(self) -> None: method extract_isomesh (line 216) | def extract_isomesh(self, isovalue: float = 0.0, device: "Devicelike |... method __copy__ (line 255) | def __copy__(self) -> "SDF": method __deepcopy__ (line 259) | def __deepcopy__(self, memo: dict[int, object]) -> "SDF": method create_from_points (line 269) | def create_from_points( method create_from_mesh (line 313) | def create_from_mesh( method create_from_data (line 426) | def create_from_data( function create_empty_sdf_data (line 474) | def create_empty_sdf_data() -> SDFData: function compute_mesh_signed_volume_kernel (line 494) | def compute_mesh_signed_volume_kernel( function compute_mesh_signed_volume (line 507) | def compute_mesh_signed_volume(points: wp.array, indices: wp.array) -> f... function get_distance_to_mesh (line 516) | def get_distance_to_mesh(mesh: wp.uint64, point: wp.vec3, max_dist: wp.f... function sdf_from_mesh_kernel (line 531) | def sdf_from_mesh_kernel( function sdf_from_primitive_kernel (line 557) | def sdf_from_primitive_kernel( function check_tile_occupied_mesh_kernel (line 594) | def check_tile_occupied_mesh_kernel( function check_tile_occupied_primitive_kernel (line 614) | def check_tile_occupied_primitive_kernel( function get_primitive_extents (line 646) | def get_primitive_extents(shape_type: int, shape_scale: Sequence[float])... function _compute_sdf_from_shape_impl (line 682) | def _compute_sdf_from_shape_impl( function compute_sdf_from_shape (line 912) | def compute_sdf_from_shape( function compute_isomesh (line 979) | def compute_isomesh(volume: wp.Volume, isovalue: float = 0.0, device: De... function compute_offset_mesh (line 1043) | def compute_offset_mesh( function count_isomesh_faces_kernel (line 1134) | def count_isomesh_faces_kernel( function generate_isomesh_kernel (line 1175) | def generate_isomesh_kernel( function _populate_dense_sdf_kernel (line 1262) | def _populate_dense_sdf_kernel( function _count_dense_mc_faces_kernel (line 1296) | def _count_dense_mc_faces_kernel( function _generate_dense_mc_kernel (line 1320) | def _generate_dense_mc_kernel( function compute_offset_mesh_analytical (line 1383) | def compute_offset_mesh_analytical( FILE: newton/_src/geometry/simplex_solver.py function create_solve_closest_distance (line 44) | def create_solve_closest_distance(support_func: Any, _support_funcs: Any... FILE: newton/_src/geometry/support_function.py class GeoTypeEx (line 38) | class GeoTypeEx(enum.IntEnum): class SupportMapDataProvider (line 43) | class SupportMapDataProvider: function pack_mesh_ptr (line 55) | def pack_mesh_ptr(ptr: wp.uint64) -> wp.vec3: function unpack_mesh_ptr (line 66) | def unpack_mesh_ptr(arr: wp.vec3) -> wp.uint64: class GenericShapeData (line 77) | class GenericShapeData: function support_map (line 100) | def support_map(geom: GenericShapeData, direction: wp.vec3, data_provide... function support_map_lean (line 285) | def support_map_lean(geom: GenericShapeData, direction: wp.vec3, data_pr... function extract_shape_data (line 327) | def extract_shape_data( FILE: newton/_src/geometry/terrain_generator.py function _create_box (line 19) | def _create_box( function _flat_terrain (line 158) | def _flat_terrain(size: tuple[float, float], height: float = 0.0) -> tup... function _pyramid_stairs_terrain (line 178) | def _pyramid_stairs_terrain( function _random_grid_terrain (line 234) | def _random_grid_terrain( function _wave_terrain (line 293) | def _wave_terrain( function _box_terrain (line 333) | def _box_terrain( function _gap_terrain (line 360) | def _gap_terrain( function _heightfield_terrain (line 401) | def _heightfield_terrain( function create_mesh_terrain (line 445) | def create_mesh_terrain( function _combine_meshes (line 547) | def _combine_meshes(meshes: list[tuple[np.ndarray, np.ndarray]]) -> tupl... function _to_newton_mesh (line 576) | def _to_newton_mesh(vertices: np.ndarray, indices: np.ndarray) -> tuple[... function create_mesh_heightfield (line 591) | def create_mesh_heightfield( FILE: newton/_src/geometry/types.py function _normalize_texture_input (line 21) | def _normalize_texture_input(texture: str | os.PathLike[str] | np.ndarra... class GeoType (line 38) | class GeoType(enum.IntEnum): class Mesh (line 83) | class Mesh: method __init__ (line 115) | def __init__( method create_sphere (line 182) | def create_sphere( method create_ellipsoid (line 225) | def create_ellipsoid( method create_capsule (line 274) | def create_capsule( method create_cylinder (line 317) | def create_cylinder( method create_cone (line 363) | def create_cone( method create_arrow (line 406) | def create_arrow( method create_box (line 457) | def create_box( method create_plane (line 505) | def create_plane( method create_terrain (line 544) | def create_terrain( method create_heightfield (line 597) | def create_heightfield( method copy (line 650) | def copy( method build_sdf (line 694) | def build_sdf( method clear_sdf (line 763) | def clear_sdf(self) -> None: method vertices (line 772) | def vertices(self): method vertices (line 776) | def vertices(self, value): method indices (line 781) | def indices(self): method indices (line 785) | def indices(self, value): method normals (line 790) | def normals(self): method uvs (line 794) | def uvs(self): method color (line 798) | def color(self) -> Vec3 | None: method color (line 803) | def color(self, value: Vec3 | None): method texture (line 807) | def texture(self) -> str | np.ndarray | None: method texture (line 812) | def texture(self, value: str | np.ndarray | None): method texture_hash (line 819) | def texture_hash(self) -> int: method _compute_texture_hash (line 828) | def _compute_texture_hash(self) -> int: method roughness (line 834) | def roughness(self) -> float | None: method roughness (line 838) | def roughness(self, value: float | None): method metallic (line 843) | def metallic(self) -> float | None: method metallic (line 847) | def metallic(self, value: float | None): method finalize (line 852) | def finalize(self, device: Devicelike = None, requires_grad: bool = Fa... method compute_convex_hull (line 871) | def compute_convex_hull(self, replace: bool = False) -> "Mesh": method __hash__ (line 901) | def __hash__(self) -> int: method create_from_usd (line 927) | def create_from_usd(prim, **kwargs) -> "Mesh": method create_from_file (line 949) | def create_from_file(filename: str, method: str | None = None, **kwarg... class TetMesh (line 975) | class TetMesh: method __init__ (line 1002) | def __init__( method _broadcast_material (line 1072) | def _broadcast_material(value: np.ndarray | float | None, tet_count: i... method _infer_frequency (line 1086) | def _infer_frequency( method compute_surface_triangles (line 1128) | def compute_surface_triangles(tet_indices: np.ndarray) -> np.ndarray: method _compute_surface_triangles (line 1174) | def _compute_surface_triangles(self) -> np.ndarray: method vertices (line 1180) | def vertices(self) -> np.ndarray: method tet_indices (line 1185) | def tet_indices(self) -> np.ndarray: method tet_count (line 1190) | def tet_count(self) -> int: method vertex_count (line 1195) | def vertex_count(self) -> int: method surface_tri_indices (line 1200) | def surface_tri_indices(self) -> np.ndarray: method k_mu (line 1209) | def k_mu(self) -> np.ndarray | None: method k_lambda (line 1214) | def k_lambda(self) -> np.ndarray | None: method k_damp (line 1219) | def k_damp(self) -> np.ndarray | None: method density (line 1224) | def density(self) -> float | None: method create_from_usd (line 1231) | def create_from_usd(prim) -> "TetMesh": method create_from_file (line 1268) | def create_from_file(filename: str) -> "TetMesh": method save (line 1381) | def save(self, filename: str): method __eq__ (line 1454) | def __eq__(self, other): method __hash__ (line 1459) | def __hash__(self): class Heightfield (line 1465) | class Heightfield: method __init__ (line 1511) | def __init__( method data (line 1570) | def data(self): method data (line 1575) | def data(self, value): method __hash__ (line 1588) | def __hash__(self) -> int: class Gaussian (line 1610) | class Gaussian: class Data (line 1630) | class Data: method __init__ (line 1639) | def __init__( method count (line 1719) | def count(self) -> int: method positions (line 1724) | def positions(self) -> np.ndarray: method rotations (line 1729) | def rotations(self) -> np.ndarray: method scales (line 1734) | def scales(self) -> np.ndarray: method opacities (line 1739) | def opacities(self) -> np.ndarray: method sh_coeffs (line 1744) | def sh_coeffs(self) -> np.ndarray | None: method sh_degree (line 1749) | def sh_degree(self) -> int: method min_response (line 1754) | def min_response(self) -> float: method _find_sh_degree (line 1758) | def _find_sh_degree(self) -> int: method finalize (line 1770) | def finalize(self, device: Devicelike = None) -> Data: method create_from_ply (line 1809) | def create_from_ply(filename: str, min_response: float = 0.1) -> "Gaus... method create_from_usd (line 1924) | def create_from_usd(prim, min_response: float = 0.1) -> "Gaussian": method compute_aabb (line 1943) | def compute_aabb(self) -> tuple[np.ndarray, np.ndarray]: method compute_proxy_mesh (line 1953) | def compute_proxy_mesh(self, method: str = "convex_hull") -> "Mesh": method compute_points_mesh (line 1980) | def compute_points_mesh(self) -> "Mesh": method __hash__ (line 2002) | def __hash__(self) -> int: method __eq__ (line 2017) | def __eq__(self, other: object) -> bool: FILE: newton/_src/geometry/utils.py function compute_obb_candidates (line 24) | def compute_obb_candidates( function compute_shape_radius (line 73) | def compute_shape_radius(geo_type: int, scale: Vec3, src: Mesh | Heightf... function compute_aabb (line 119) | def compute_aabb(vertices: np.ndarray) -> tuple[Vec3, Vec3]: function compute_inertia_box_mesh (line 126) | def compute_inertia_box_mesh( function compute_pca_obb (line 194) | def compute_pca_obb(vertices: np.ndarray) -> tuple[wp.transform, wp.vec3]: function compute_inertia_obb (line 264) | def compute_inertia_obb( function load_mesh (line 355) | def load_mesh(filename: str, method: str | None = None): function visualize_meshes (line 428) | def visualize_meshes( function silence_stdio (line 472) | def silence_stdio(): function remesh_ftetwild (line 499) | def remesh_ftetwild( function remesh_alphashape (line 572) | def remesh_alphashape(vertices: np.ndarray, alpha: float = 3.0): function remesh_quadratic (line 590) | def remesh_quadratic( function remesh_convex_hull (line 615) | def remesh_convex_hull(vertices: np.ndarray, maxhullvert: int = 0): function remesh (line 662) | def remesh( function remesh_mesh (line 710) | def remesh_mesh( function transform_points (line 747) | def transform_points(points: np.ndarray, transform: wp.transform, scale:... function get_total_kernel (line 754) | def get_total_kernel( function scan_with_total (line 774) | def scan_with_total( FILE: newton/_src/math/__init__.py function boltzmann (line 20) | def boltzmann(a: float, b: float, alpha: float): function smooth_max (line 42) | def smooth_max(a: float, b: float, eps: float): function smooth_min (line 62) | def smooth_min(a: float, b: float, eps: float): function leaky_max (line 82) | def leaky_max(a: float, b: float): function leaky_min (line 99) | def leaky_min(a: float, b: float): function vec_min (line 116) | def vec_min(a: wp.vec3, b: wp.vec3): function vec_max (line 131) | def vec_max(a: wp.vec3, b: wp.vec3): function vec_leaky_min (line 146) | def vec_leaky_min(a: wp.vec3, b: wp.vec3): function vec_leaky_max (line 163) | def vec_leaky_max(a: wp.vec3, b: wp.vec3): function vec_abs (line 180) | def vec_abs(a: wp.vec3): function vec_allclose (line 194) | def vec_allclose(a: Any, b: Any, rtol: float = 1e-5, atol: float = 1e-8)... function vec_inside_limits (line 216) | def vec_inside_limits(a: Any, lower: Any, upper: Any) -> bool: function orthonormal_basis (line 236) | def orthonormal_basis(n: wp.vec3): function safe_div (line 282) | def safe_div(x: Any, y: Any, eps: float = EPSILON) -> Any: function normalize_with_norm (line 297) | def normalize_with_norm(x: Any): FILE: newton/_src/math/spatial.py function quat_between_vectors_robust (line 10) | def quat_between_vectors_robust(from_vec: wp.vec3, to_vec: wp.vec3, eps:... function velocity_at_point (line 54) | def velocity_at_point(qd: wp.spatial_vector, r: wp.vec3) -> wp.vec3: function transform_twist (line 82) | def transform_twist(t: wp.transform, x: wp.spatial_vector) -> wp.spatial... function transform_wrench (line 108) | def transform_wrench(t: wp.transform, x: wp.spatial_vector) -> wp.spatia... function _wrap_angle_pm_pi (line 134) | def _wrap_angle_pm_pi(theta: float) -> float: function quat_decompose (line 151) | def quat_decompose(q: wp.quat) -> wp.vec3: function quat_velocity (line 179) | def quat_velocity(q_now: wp.quat, q_prev: wp.quat, dt: float) -> wp.vec3: function quat_between_axes (line 215) | def quat_between_axes(*axes: AxisType) -> wp.quat: FILE: newton/_src/sensors/sensor_contact.py function compute_sensing_obj_transforms_kernel (line 23) | def compute_sensing_obj_transforms_kernel( function accumulate_contact_forces_kernel (line 46) | def accumulate_contact_forces_kernel( function expand_body_to_shape_kernel (line 104) | def expand_body_to_shape_kernel( function _check_index_bounds (line 129) | def _check_index_bounds(indices: list[int], count: int, param_name: str,... function _split_globals (line 136) | def _split_globals(indices: list[int], local_start: int, tail_global_sta... function _normalize_world_start (line 147) | def _normalize_world_start(ws: list[int], world_count: int) -> list[int]: function _ensure_sorted_unique (line 159) | def _ensure_sorted_unique(indices: list[int], param_name: str) -> list[i... function _assign_counterpart_columns (line 173) | def _assign_counterpart_columns( class SensorContact (line 211) | class SensorContact: class ObjectType (line 282) | class ObjectType(Enum): method __init__ (line 330) | def __init__( method _init_deprecated_shims (line 552) | def _init_deprecated_shims(self, measure_total: bool, world_count: int... method shape (line 562) | def shape(self) -> tuple[int, int]: method sensing_objs (line 572) | def sensing_objs(self) -> list[list[tuple[int, ObjectType]]]: method counterparts (line 589) | def counterparts(self) -> list[list[tuple[int, ObjectType]]]: method reading_indices (line 623) | def reading_indices(self) -> list[list[list[int]]]: method update (line 640) | def update(self, state: State | None, contacts: Contacts): method net_force (line 682) | def net_force(self) -> wp.array2d: method _eval_forces (line 692) | def _eval_forces(self, contacts: Contacts): FILE: newton/_src/sensors/sensor_frame_transform.py function compute_shape_transforms_kernel (line 15) | def compute_shape_transforms_kernel( function compute_relative_transforms_kernel (line 47) | def compute_relative_transforms_kernel( class SensorFrameTransform (line 79) | class SensorFrameTransform: method __init__ (line 120) | def __init__( method update (line 217) | def update(self, state: State): FILE: newton/_src/sensors/sensor_imu.py function compute_sensor_imu_kernel (line 15) | def compute_sensor_imu_kernel( class SensorIMU (line 67) | class SensorIMU: method __init__ (line 114) | def __init__( method _validate_sensor_sites (line 164) | def _validate_sensor_sites(self, sensor_sites: list[int]): method update (line 173) | def update(self, state: State): FILE: newton/_src/sensors/sensor_raycast.py function clamp_no_hits_kernel (line 15) | def clamp_no_hits_kernel(depth_image: wp.array[float], max_dist: float): class SensorRaycast (line 27) | class SensorRaycast: method __init__ (line 63) | def __init__( method _compute_camera_basis (line 115) | def _compute_camera_basis(self, direction: np.ndarray, up: np.ndarray): method update (line 143) | def update( method _get_particle_grid (line 216) | def _get_particle_grid(self) -> wp.HashGrid: method _raycast_particles (line 223) | def _raycast_particles( method _does_state_have_particles (line 282) | def _does_state_have_particles(self, state: State) -> bool: method _compute_particle_march_steps (line 293) | def _compute_particle_march_steps(self, step: float) -> tuple[int, boo... method _clamp_no_hits (line 314) | def _clamp_no_hits(self): method get_depth_image (line 326) | def get_depth_image(self) -> wp.array2d: method get_depth_image_numpy (line 336) | def get_depth_image_numpy(self) -> np.ndarray: method update_camera_pose (line 345) | def update_camera_pose( method update_camera_parameters (line 369) | def update_camera_parameters( method point_camera_at (line 407) | def point_camera_at( FILE: newton/_src/sensors/sensor_tiled_camera.py class _SensorTiledCameraMeta (line 24) | class _SensorTiledCameraMeta(type): method RenderContext (line 26) | def RenderContext(cls) -> type[RenderContext]: class SensorTiledCamera (line 35) | class SensorTiledCamera(metaclass=_SensorTiledCameraMeta): class Config (line 76) | class Config: method __init__ (line 110) | def __init__(self, model: Model, *, config: Config | RenderConfig | No... method sync_transforms (line 164) | def sync_transforms(self, state: State): method update (line 174) | def update( method compute_pinhole_camera_rays (line 223) | def compute_pinhole_camera_rays( method flatten_color_image_to_rgba (line 250) | def flatten_color_image_to_rgba( method flatten_normal_image_to_rgba (line 275) | def flatten_normal_image_to_rgba( method flatten_depth_image_to_rgba (line 300) | def flatten_depth_image_to_rgba( method assign_random_colors_per_world (line 328) | def assign_random_colors_per_world(self, seed: int = 100): method assign_random_colors_per_shape (line 344) | def assign_random_colors_per_shape(self, seed: int = 100): method create_default_light (line 360) | def create_default_light(self, enable_shadows: bool = True): method assign_checkerboard_material_to_all_shapes (line 376) | def assign_checkerboard_material_to_all_shapes(self, resolution: int =... method create_color_image_output (line 396) | def create_color_image_output(self, width: int, height: int, camera_co... method create_depth_image_output (line 417) | def create_depth_image_output(self, width: int, height: int, camera_co... method create_shape_index_image_output (line 438) | def create_shape_index_image_output(self, width: int, height: int, cam... method create_normal_image_output (line 459) | def create_normal_image_output(self, width: int, height: int, camera_c... method create_albedo_image_output (line 480) | def create_albedo_image_output(self, width: int, height: int, camera_c... method render_context (line 502) | def render_context(self) -> RenderContext: method render_config (line 521) | def render_config(self) -> RenderConfig: method utils (line 535) | def utils(self) -> Utils: FILE: newton/_src/sensors/warp_raytrace/bvh.py function compute_shape_bounds (line 11) | def compute_shape_bounds( function compute_box_bounds (line 56) | def compute_box_bounds(transform: wp.transformf, size: wp.vec3f) -> tupl... function compute_sphere_bounds (line 76) | def compute_sphere_bounds(pos: wp.vec3f, radius: wp.float32) -> tuple[wp... function compute_capsule_bounds (line 81) | def compute_capsule_bounds(transform: wp.transformf, size: wp.vec3f) -> ... function compute_cylinder_bounds (line 89) | def compute_cylinder_bounds(transform: wp.transformf, size: wp.vec3f) ->... function compute_cone_bounds (line 97) | def compute_cone_bounds(transform: wp.transformf, size: wp.vec3f) -> tup... function compute_plane_bounds (line 103) | def compute_plane_bounds(transform: wp.transformf, size: wp.vec3f) -> tu... function compute_ellipsoid_bounds (line 128) | def compute_ellipsoid_bounds(transform: wp.transformf, size: wp.vec3f) -... function compute_shape_bvh_bounds (line 134) | def compute_shape_bvh_bounds( function compute_particle_bvh_bounds (line 193) | def compute_particle_bvh_bounds( function compute_bvh_group_roots (line 225) | def compute_bvh_group_roots(bvh_id: wp.uint64, out_bvh_group_roots: wp.a... FILE: newton/_src/sensors/warp_raytrace/gaussians.py function compute_gaussian_bounds (line 24) | def compute_gaussian_bounds(gaussians_data: Gaussian.Data, tid: wp.int32... function compute_gaussian_bvh_bounds (line 37) | def compute_gaussian_bvh_bounds( function canonical_ray_hit_distance (line 49) | def canonical_ray_hit_distance(ray_origin: wp.vec3f, ray_direction: wp.v... function canonical_ray_min_squared_distance (line 55) | def canonical_ray_min_squared_distance(ray_origin: wp.vec3f, ray_directi... function canonical_ray_max_kernel_response (line 61) | def canonical_ray_max_kernel_response(ray_origin: wp.vec3f, ray_directio... function ray_gsplat_hit_response (line 66) | def ray_gsplat_hit_response( function create_shade_function (line 90) | def create_shade_function(config: RenderContext.Config, state: RenderCon... FILE: newton/_src/sensors/warp_raytrace/lighting.py function create_compute_lighting_function (line 17) | def create_compute_lighting_function(config: RenderContext.Config, state... FILE: newton/_src/sensors/warp_raytrace/ray_intersect.py class GeomHit (line 13) | class GeomHit: function safe_div_vec3 (line 20) | def safe_div_vec3(x: wp.vec3f, y: wp.vec3f) -> wp.vec3f: function map_ray_to_local (line 29) | def map_ray_to_local( function map_ray_to_local_scaled (line 50) | def map_ray_to_local_scaled( function ray_intersect_plane (line 60) | def ray_intersect_plane( function ray_intersect_plane_with_normal (line 96) | def ray_intersect_plane_with_normal( function ray_intersect_sphere_with_normal (line 114) | def ray_intersect_sphere_with_normal( function ray_intersect_particle_sphere_with_normal (line 129) | def ray_intersect_particle_sphere_with_normal( function ray_intersect_capsule_with_normal (line 142) | def ray_intersect_capsule_with_normal( function ray_intersect_ellipsoid_with_normal (line 161) | def ray_intersect_ellipsoid_with_normal( function ray_intersect_cylinder_with_normal (line 182) | def ray_intersect_cylinder_with_normal( function ray_intersect_cone_with_normal (line 203) | def ray_intersect_cone_with_normal( function ray_intersect_box_with_normal (line 240) | def ray_intersect_box_with_normal( function ray_intersect_mesh_no_transform (line 273) | def ray_intersect_mesh_no_transform( function ray_intersect_mesh_with_normal (line 299) | def ray_intersect_mesh_with_normal( function ray_intersect_mesh (line 344) | def ray_intersect_mesh( FILE: newton/_src/sensors/warp_raytrace/raytrace.py class ClosestHit (line 25) | class ClosestHit: function get_group_roots (line 36) | def get_group_roots(group_roots: wp.array[wp.int32], world_index: wp.int... function create_closest_hit_function (line 42) | def create_closest_hit_function(config: RenderContext.Config, state: Ren... function create_closest_hit_depth_only_function (line 331) | def create_closest_hit_depth_only_function(config: RenderContext.Config,... function create_first_hit_function (line 577) | def create_first_hit_function(config: RenderContext.Config, state: Rende... FILE: newton/_src/sensors/warp_raytrace/render.py function create_kernel (line 18) | def create_kernel( FILE: newton/_src/sensors/warp_raytrace/render_context.py function compute_shape_bounds (line 29) | def compute_shape_bounds( function convert_newton_transform (line 58) | def convert_newton_transform( function is_supported_shape_type (line 78) | def is_supported_shape_type(shape_type: wp.int32) -> wp.bool: function compute_enabled_shapes (line 102) | def compute_enabled_shapes( class RenderContext (line 120) | class RenderContext: class State (line 125) | class State: method __init__ (line 137) | def __init__(self, world_count: int = 1, config: Config | None = None,... method init_from_model (line 195) | def init_from_model(self, model: Model, load_textures: bool = True): method update (line 258) | def update(self, model: Model, state: State): method refit_bvh (line 288) | def refit_bvh(self): method render (line 310) | def render( method world_count_total (line 473) | def world_count_total(self) -> int: method particle_count_total (line 479) | def particle_count_total(self) -> int: method light_count (line 485) | def light_count(self) -> int: method gaussians_count_total (line 491) | def gaussians_count_total(self) -> int: method has_shapes (line 497) | def has_shapes(self) -> bool: method has_particles (line 501) | def has_particles(self) -> bool: method has_triangle_mesh (line 505) | def has_triangle_mesh(self) -> bool: method has_gaussians (line 509) | def has_gaussians(self) -> bool: method triangle_points (line 513) | def triangle_points(self) -> wp.array[wp.vec3f]: method triangle_points (line 517) | def triangle_points(self, triangle_points: wp.array[wp.vec3f]): method triangle_indices (line 523) | def triangle_indices(self) -> wp.array[wp.int32]: method triangle_indices (line 527) | def triangle_indices(self, triangle_indices: wp.array[wp.int32]): method particles_position (line 533) | def particles_position(self) -> wp.array[wp.vec3f]: method particles_position (line 537) | def particles_position(self, particles_position: wp.array[wp.vec3f]): method particles_radius (line 543) | def particles_radius(self) -> wp.array[wp.float32]: method particles_radius (line 547) | def particles_radius(self, particles_radius: wp.array[wp.float32]): method particles_world_index (line 553) | def particles_world_index(self) -> wp.array[wp.int32]: method particles_world_index (line 557) | def particles_world_index(self, particles_world_index: wp.array[wp.int... method gaussians_data (line 563) | def gaussians_data(self) -> wp.array[Gaussian.Data]: method gaussians_data (line 567) | def gaussians_data(self, gaussians_data: wp.array[Gaussian.Data]): method __update_bvh (line 574) | def __update_bvh( method __compute_bvh_bounds_shapes (line 619) | def __compute_bvh_bounds_shapes( method __compute_bvh_bounds_particles (line 642) | def __compute_bvh_bounds_particles( method __compute_shape_bounds (line 662) | def __compute_shape_bounds(self): method __load_texture_and_mesh_data (line 676) | def __load_texture_and_mesh_data(self, model: Model, load_textures: bo... method create_color_image_output (line 753) | def create_color_image_output(self, width: int, height: int, camera_co... method create_depth_image_output (line 766) | def create_depth_image_output(self, width: int, height: int, camera_co... method create_shape_index_image_output (line 779) | def create_shape_index_image_output(self, width: int, height: int, cam... method create_normal_image_output (line 792) | def create_normal_image_output(self, width: int, height: int, camera_c... method create_albedo_image_output (line 805) | def create_albedo_image_output(self, width: int, height: int, camera_c... FILE: newton/_src/sensors/warp_raytrace/textures.py function flip_v (line 11) | def flip_v(uv: wp.vec2f) -> wp.vec2f: function sample_texture_2d (line 16) | def sample_texture_2d(uv: wp.vec2f, texture_data: TextureData) -> wp.vec3f: function sample_texture_plane (line 22) | def sample_texture_plane( function sample_texture_mesh (line 34) | def sample_texture_mesh( function sample_texture (line 51) | def sample_texture( FILE: newton/_src/sensors/warp_raytrace/tiling.py function tid_to_coord_tiled (line 8) | def tid_to_coord_tiled( function tid_to_coord_pixel_priority (line 39) | def tid_to_coord_pixel_priority(tid: wp.int32, world_count: wp.int32, ca... function tid_to_coord_view_priority (line 55) | def tid_to_coord_view_priority(tid: wp.int32, camera_count: wp.int32, wi... function pack_rgba_to_uint32 (line 71) | def pack_rgba_to_uint32(rgb: wp.vec3f, alpha: wp.float32) -> wp.uint32: FILE: newton/_src/sensors/warp_raytrace/types.py class RenderLightType (line 10) | class RenderLightType(enum.IntEnum): class RenderOrder (line 20) | class RenderOrder(enum.IntEnum): class GaussianRenderMode (line 31) | class GaussianRenderMode(enum.IntEnum): class RenderConfig (line 42) | class RenderConfig: class ClearData (line 86) | class ClearData: class MeshData (line 97) | class MeshData: class TextureData (line 110) | class TextureData: FILE: newton/_src/sensors/warp_raytrace/utils.py function compute_pinhole_camera_rays (line 21) | def compute_pinhole_camera_rays( function flatten_color_image (line 38) | def flatten_color_image( function flatten_normal_image (line 64) | def flatten_normal_image( function find_depth_range (line 90) | def find_depth_range(depth_image: wp.array4d[wp.float32], depth_range: w... function flatten_depth_image (line 99) | def flatten_depth_image( function convert_ray_depth_to_forward_depth_kernel (line 131) | def convert_ray_depth_to_forward_depth_kernel( class Utils (line 148) | class Utils: method __init__ (line 151) | def __init__(self, render_context: RenderContext): method create_color_image_output (line 154) | def create_color_image_output(self, width: int, height: int, camera_co... method create_depth_image_output (line 171) | def create_depth_image_output(self, width: int, height: int, camera_co... method create_shape_index_image_output (line 188) | def create_shape_index_image_output(self, width: int, height: int, cam... method create_normal_image_output (line 205) | def create_normal_image_output(self, width: int, height: int, camera_c... method create_albedo_image_output (line 222) | def create_albedo_image_output(self, width: int, height: int, camera_c... method compute_pinhole_camera_rays (line 239) | def compute_pinhole_camera_rays( method convert_ray_depth_to_forward_depth (line 280) | def convert_ray_depth_to_forward_depth( method flatten_color_image_to_rgba (line 330) | def flatten_color_image_to_rgba( method flatten_normal_image_to_rgba (line 373) | def flatten_normal_image_to_rgba( method flatten_depth_image_to_rgba (line 416) | def flatten_depth_image_to_rgba( method assign_random_colors_per_world (line 467) | def assign_random_colors_per_world(self, seed: int = 100): method assign_random_colors_per_shape (line 491) | def assign_random_colors_per_shape(self, seed: int = 100): method create_default_light (line 509) | def create_default_light(self, enable_shadows: bool = True, direction:... method assign_checkerboard_material_to_all_shapes (line 532) | def assign_checkerboard_material_to_all_shapes(self, resolution: int =... method __reshape_buffer_for_flatten (line 570) | def __reshape_buffer_for_flatten( FILE: newton/_src/sim/articulation.py function compute_2d_rotational_dofs (line 15) | def compute_2d_rotational_dofs( function invert_2d_rotational_dofs (line 46) | def invert_2d_rotational_dofs( function compute_3d_rotational_dofs (line 88) | def compute_3d_rotational_dofs( function invert_3d_rotational_dofs (line 126) | def invert_3d_rotational_dofs( function eval_single_articulation_fk (line 169) | def eval_single_articulation_fk( function eval_articulation_fk (line 345) | def eval_articulation_fk( function eval_fk (line 417) | def eval_fk( function compute_shape_world_transforms (line 484) | def compute_shape_world_transforms( function reconstruct_angular_q_qd (line 525) | def reconstruct_angular_q_qd(q_pc: wp.quat, w_err: wp.vec3, X_wp: wp.tra... function eval_articulation_ik (line 548) | def eval_articulation_ik( function eval_ik (line 766) | def eval_ik( function jcalc_motion_subspace (line 832) | def jcalc_motion_subspace( function eval_articulation_jacobian (line 907) | def eval_articulation_jacobian( function eval_jacobian (line 993) | def eval_jacobian( function transform_spatial_inertia (line 1068) | def transform_spatial_inertia(t: wp.transform, I: wp.spatial_matrix): function compute_body_spatial_inertia (line 1100) | def compute_body_spatial_inertia( function eval_articulation_mass_matrix (line 1137) | def eval_articulation_mass_matrix( function eval_mass_matrix (line 1196) | def eval_mass_matrix( FILE: newton/_src/sim/builder.py class ModelBuilder (line 79) | class ModelBuilder: method _shape_palette_color (line 190) | def _shape_palette_color(index: int) -> tuple[float, float, float]: class ActuatorEntry (line 195) | class ActuatorEntry: class ShapeConfig (line 208) | class ShapeConfig: method configure_sdf (line 283) | def configure_sdf( method validate (line 326) | def validate(self, shape_type: int | None = None) -> None: method mark_as_site (line 366) | def mark_as_site(self) -> None: method flags (line 383) | def flags(self) -> int: method flags (line 394) | def flags(self, value: int): method copy (line 416) | def copy(self) -> ModelBuilder.ShapeConfig: class JointDofConfig (line 419) | class JointDofConfig: method __init__ (line 424) | def __init__( method create_unlimited (line 477) | def create_unlimited(cls, axis: AxisType | Vec3) -> ModelBuilder.Joi... class CustomAttribute (line 493) | class CustomAttribute: method __post_init__ (line 585) | def __post_init__(self): method _default_for_dtype (line 610) | def _default_for_dtype(dtype: object) -> Any: method key (line 624) | def key(self) -> str: method is_custom_frequency (line 629) | def is_custom_frequency(self) -> bool: method _create_empty_values_container (line 638) | def _create_empty_values_container(self) -> list | dict: method _get_values_count (line 642) | def _get_values_count(self) -> int: method build_array (line 648) | def build_array( class CustomFrequency (line 674) | class CustomFrequency: method __post_init__ (line 758) | def __post_init__(self): method key (line 768) | def key(self) -> str: method __init__ (line 772) | def __init__(self, up_axis: AxisType = Axis.Z, gravity: float = -9.81): method add_shape_collision_filter_pair (line 1224) | def add_shape_collision_filter_pair(self, shape_a: int, shape_b: int) ... method add_custom_attribute (line 1233) | def add_custom_attribute(self, attribute: CustomAttribute) -> None: method add_custom_frequency (line 1306) | def add_custom_frequency(self, frequency: CustomFrequency) -> None: method has_custom_attribute (line 1350) | def has_custom_attribute(self, key: str) -> bool: method get_custom_attributes_by_frequency (line 1354) | def get_custom_attributes_by_frequency( method get_custom_frequency_keys (line 1370) | def get_custom_frequency_keys(self) -> set[str]: method add_custom_values (line 1374) | def add_custom_values(self, **kwargs: Any) -> dict[str, int]: method add_custom_values_batch (line 1450) | def add_custom_values_batch(self, entries: Sequence[dict[str, Any]]) -... method _process_custom_attributes (line 1465) | def _process_custom_attributes( method _process_joint_custom_attributes (line 1523) | def _process_joint_custom_attributes( method add_actuator (line 1677) | def add_actuator( method _stack_args_to_arrays (line 1741) | def _stack_args_to_arrays( method _build_index_array (line 1768) | def _build_index_array(indices: list[list[int]], device: Devicelike) -... method default_site_cfg (line 1803) | def default_site_cfg(self) -> ShapeConfig: method up_vector (line 1821) | def up_vector(self) -> tuple[float, float, float]: method up_vector (line 1834) | def up_vector(self, _): method current_world (line 1840) | def current_world(self) -> int: method current_world (line 1853) | def current_world(self, _): method shape_count (line 1863) | def shape_count(self): method body_count (line 1870) | def body_count(self): method joint_count (line 1877) | def joint_count(self): method particle_count (line 1884) | def particle_count(self): method tri_count (line 1891) | def tri_count(self): method tet_count (line 1898) | def tet_count(self): method edge_count (line 1905) | def edge_count(self): method spring_count (line 1912) | def spring_count(self): method muscle_count (line 1919) | def muscle_count(self): method articulation_count (line 1926) | def articulation_count(self): method replicate (line 1934) | def replicate( method add_articulation (line 1965) | def add_articulation( method add_urdf (line 2073) | def add_urdf( method add_usd (line 2216) | def add_usd( method add_mjcf (line 2442) | def add_mjcf( method begin_world (line 2626) | def begin_world( method end_world (line 2696) | def end_world(self): method add_world (line 2720) | def add_world( method add_builder (line 2765) | def add_builder( method _coerce_mat33 (line 3279) | def _coerce_mat33(value: Any) -> wp.mat33: method _external_warning_stacklevel (line 3304) | def _external_warning_stacklevel() -> int: method _warn_body_armature_arg_deprecated (line 3320) | def _warn_body_armature_arg_deprecated(cls) -> None: method _warn_default_body_armature_deprecated (line 3328) | def _warn_default_body_armature_deprecated(cls) -> None: method default_body_armature (line 3336) | def default_body_armature(self) -> float: method default_body_armature (line 3346) | def default_body_armature(self, value: float) -> None: method add_link (line 3350) | def add_link( method add_body (line 3447) | def add_body( method add_joint (line 3521) | def add_joint( method add_joint_revolute (line 3691) | def add_joint_revolute( method add_joint_prismatic (line 3784) | def add_joint_prismatic( method add_joint_ball (line 3875) | def add_joint_ball( method add_joint_fixed (line 3948) | def add_joint_fixed( method add_joint_free (line 3994) | def add_joint_free( method add_joint_distance (line 4050) | def add_joint_distance( method add_joint_d6 (line 4109) | def add_joint_d6( method add_joint_cable (line 4162) | def add_joint_cable( method add_equality_constraint (line 4240) | def add_equality_constraint( method add_equality_constraint_connect (line 4315) | def add_equality_constraint_connect( method add_equality_constraint_joint (line 4349) | def add_equality_constraint_joint( method add_equality_constraint_weld (line 4383) | def add_equality_constraint_weld( method add_constraint_mimic (line 4423) | def add_constraint_mimic( method plot_articulation (line 4486) | def plot_articulation( method collapse_fixed_joints (line 4624) | def collapse_fixed_joints( method add_muscle (line 5141) | def add_muscle( method add_shape (line 5177) | def add_shape( method add_shape_plane (line 5338) | def add_shape_plane( method add_ground_plane (line 5403) | def add_ground_plane( method add_shape_sphere (line 5430) | def add_shape_sphere( method add_shape_ellipsoid (line 5474) | def add_shape_ellipsoid( method add_shape_box (line 5569) | def add_shape_box( method add_shape_capsule (line 5619) | def add_shape_capsule( method add_shape_cylinder (line 5672) | def add_shape_cylinder( method add_shape_cone (line 5725) | def add_shape_cone( method add_shape_mesh (line 5779) | def add_shape_mesh( method add_shape_convex_hull (line 5820) | def add_shape_convex_hull( method add_shape_heightfield (line 5861) | def add_shape_heightfield( method add_shape_gaussian (line 5907) | def add_shape_gaussian( method add_site (line 6008) | def add_site( method approximate_meshes (line 6064) | def approximate_meshes( method add_rod (line 6344) | def add_rod( method add_rod_graph (line 6531) | def add_rod_graph( method add_particle (line 6917) | def add_particle( method add_particles (line 6963) | def add_particles( method add_spring (line 7009) | def add_spring( method add_triangle (line 7057) | def add_triangle( method add_triangles (line 7140) | def add_triangles( method add_tetrahedron (line 7253) | def add_tetrahedron( method add_edge (line 7320) | def add_edge( method add_edges (line 7391) | def add_edges( method add_cloth_grid (line 7488) | def add_cloth_grid( method add_cloth_mesh (line 7608) | def add_cloth_mesh( method add_particle_grid (line 7741) | def add_particle_grid( method add_soft_grid (line 7843) | def add_soft_grid( method add_soft_mesh (line 8006) | def add_soft_mesh( method _update_body_mass (line 8213) | def _update_body_mass(self, i: int, m: float, inertia: Mat33, p: Vec3,... method _validate_parent_body (line 8247) | def _validate_parent_body(self, parent_body: int, child: int) -> None: method _validate_kinematic_joint_attachment (line 8284) | def _validate_kinematic_joint_attachment(self, child: int, parent: int... method _validate_kinematic_articulation_joints (line 8296) | def _validate_kinematic_articulation_joints(self, joint_indices: Itera... method _find_articulation_for_body (line 8301) | def _find_articulation_for_body(self, body_id: int) -> int | None: method _validate_base_joint_params (line 8362) | def _validate_base_joint_params(floating: bool | None, base_joint: dic... method _check_sequential_composition (line 8412) | def _check_sequential_composition(self, parent_body: int) -> int | None: method _finalize_imported_articulation (line 8445) | def _finalize_imported_articulation( method _add_base_joint (line 8503) | def _add_base_joint( method _add_base_joints_to_floating_bodies (line 8583) | def _add_base_joints_to_floating_bodies( method request_contact_attributes (line 8619) | def request_contact_attributes(self, *attributes: str) -> None: method request_state_attributes (line 8632) | def request_state_attributes(self, *attributes: str) -> None: method set_coloring (line 8647) | def set_coloring(self, particle_color_groups: Iterable[Iterable[int] |... method color (line 8661) | def color( method _validate_world_ordering (line 8755) | def _validate_world_ordering(self): method _validate_joints (line 8859) | def _validate_joints(self): method _validate_shapes (line 8898) | def _validate_shapes(self) -> bool: method _validate_structure (line 8938) | def _validate_structure(self) -> None: method validate_joint_ordering (line 9151) | def validate_joint_ordering(self) -> bool: method _build_world_starts (line 9224) | def _build_world_starts(self): method finalize (line 9424) | def finalize( method _test_group_pair (line 10410) | def _test_group_pair(self, group_a: int, group_b: int) -> bool: method _test_world_and_group_pair (line 10430) | def _test_world_and_group_pair( method find_shape_contact_pairs (line 10453) | def find_shape_contact_pairs(self, model: Model): FILE: newton/_src/sim/collide.py class ContactWriterData (line 31) | class ContactWriterData: function write_contact (line 59) | def write_contact( function compute_shape_aabbs (line 142) | def compute_shape_aabbs( function prepare_geom_data_kernel (line 243) | def prepare_geom_data_kernel( function _estimate_rigid_contact_max (line 270) | def _estimate_rigid_contact_max(model: Model) -> int: function _normalize_broad_phase_mode (line 374) | def _normalize_broad_phase_mode(mode: str) -> str: function _infer_broad_phase_mode_from_instance (line 381) | def _infer_broad_phase_mode_from_instance(broad_phase: BroadPhaseAllPair... class CollisionPipeline (line 394) | class CollisionPipeline: method __init__ (line 413) | def __init__( method rigid_contact_max (line 663) | def rigid_contact_max(self) -> int: method soft_contact_max (line 668) | def soft_contact_max(self) -> int: method contacts (line 672) | def contacts(self) -> Contacts: method _build_excluded_pairs (line 701) | def _build_excluded_pairs(model: Model) -> wp.array[wp.vec2i] | None: method collide (line 714) | def collide( FILE: newton/_src/sim/contacts.py class Contacts (line 10) | class Contacts: method validate_extended_attributes (line 34) | def validate_extended_attributes(cls, attributes: tuple[str, ...]) -> ... method __init__ (line 54) | def __init__( method clear (line 202) | def clear(self): method device (line 246) | def device(self): FILE: newton/_src/sim/control.py class Control (line 9) | class Control: method __init__ (line 19) | def __init__(self): method clear (line 63) | def clear(self) -> None: method _clear_namespaced_arrays (line 82) | def _clear_namespaced_arrays(self) -> None: FILE: newton/_src/sim/enums.py class BodyFlags (line 8) | class BodyFlags(IntEnum): class JointType (line 29) | class JointType(IntEnum): method dof_count (line 58) | def dof_count(self, num_axes: int) -> tuple[int, int]: method constraint_count (line 90) | def constraint_count(self, num_axes: int) -> int: class EqType (line 116) | class EqType(IntEnum): class JointTargetMode (line 134) | class JointTargetMode(IntEnum): method from_gains (line 165) | def from_gains( FILE: newton/_src/sim/graph_coloring.py class ColoringAlgorithm (line 12) | class ColoringAlgorithm(Enum): function validate_graph_coloring (line 18) | def validate_graph_coloring(edge_indices: wp.array2d[int], colors: wp.ar... function count_color_group_size (line 27) | def count_color_group_size( function fill_color_groups (line 37) | def fill_color_groups( function convert_to_color_groups (line 53) | def convert_to_color_groups(num_colors, particle_colors, return_wp_array... function _canonicalize_edges_np (line 89) | def _canonicalize_edges_np(edges_np: np.ndarray) -> np.ndarray: function construct_tetmesh_graph_edges (line 98) | def construct_tetmesh_graph_edges(tet_indices: np.array, tet_active_mask): function construct_trimesh_graph_edges (line 143) | def construct_trimesh_graph_edges( function construct_particle_graph (line 244) | def construct_particle_graph( function color_graph (line 287) | def color_graph( function plot_graph (line 360) | def plot_graph( function combine_independent_particle_coloring (line 428) | def combine_independent_particle_coloring(color_groups_1, color_groups_2... function color_rigid_bodies (line 475) | def color_rigid_bodies( FILE: newton/_src/sim/ik/ik_common.py class IKJacobianType (line 16) | class IKJacobianType(Enum): function _eval_fk_articulation_batched (line 32) | def _eval_fk_articulation_batched( function eval_fk_batched (line 79) | def eval_fk_batched(model, joint_q, joint_qd, body_q, body_qd): function fk_accum (line 108) | def fk_accum( function compute_costs (line 123) | def compute_costs( FILE: newton/_src/sim/ik/ik_lbfgs_optimizer.py function _scale_negate (line 21) | def _scale_negate( function _fan_out_problem_idx (line 32) | def _fan_out_problem_idx( function _generate_candidates_velocity (line 41) | def _generate_candidates_velocity( function _apply_residual_mask (line 62) | def _apply_residual_mask( function _accumulate_gradients (line 72) | def _accumulate_gradients( class BatchCtx (line 81) | class BatchCtx: class IKOptimizerLBFGS (line 105) | class IKOptimizerLBFGS: method __new__ (line 136) | def __new__( method __init__ (line 159) | def __init__( method _alloc_solver_buffers (line 233) | def _alloc_solver_buffers(self, grad: bool) -> None: method _alloc_line_search_buffers (line 270) | def _alloc_line_search_buffers(self, grad: bool, line_search_alphas: S... method _alloc_line_search_analytic_buffers (line 347) | def _alloc_line_search_analytic_buffers(self) -> None: method _alloc_mixed_buffers (line 377) | def _alloc_mixed_buffers(self) -> None: method _build_residual_offsets (line 418) | def _build_residual_offsets(self) -> None: method _ctx_solver (line 425) | def _ctx_solver( method _ctx_candidates (line 461) | def _ctx_candidates(self) -> BatchCtx: method _validate_ctx (line 520) | def _validate_ctx( method _gradient_at (line 570) | def _gradient_at(self, ctx: BatchCtx, out_grad: wp.array2d[wp.float32]... method _grad_autodiff (line 581) | def _grad_autodiff(self, ctx: BatchCtx, out_grad: wp.array2d[wp.float3... method _grad_analytic (line 625) | def _grad_analytic( method _for_objectives_residuals (line 680) | def _for_objectives_residuals(self, ctx: BatchCtx) -> None: method _residuals_autodiff (line 700) | def _residuals_autodiff(self, ctx: BatchCtx) -> None: method _residuals_analytic (line 712) | def _residuals_analytic(self, ctx: BatchCtx) -> None: method _init_objectives (line 724) | def _init_objectives(self) -> None: method _init_cuda_streams (line 735) | def _init_cuda_streams(self) -> None: method _parallel_for_objectives (line 750) | def _parallel_for_objectives(self, fn: Callable[..., None], *extra: An... method step (line 768) | def step( method reset (line 796) | def reset(self) -> None: method compute_costs (line 813) | def compute_costs(self, joint_q: wp.array2d[wp.float32]) -> wp.array[w... method _compute_residuals (line 832) | def _compute_residuals( method _compute_motion_subspace (line 847) | def _compute_motion_subspace( method _integrate_dq (line 875) | def _integrate_dq( method _step (line 907) | def _step(self, joint_q: wp.array2d[wp.float32], iteration: int = 0) -... method _compute_initial_slope (line 942) | def _compute_initial_slope(self) -> None: method _compute_search_direction (line 953) | def _compute_search_direction(self) -> None: method _update_history (line 975) | def _update_history(self) -> None: method _line_search (line 998) | def _line_search(self, joint_q: wp.array2d[wp.float32]) -> None: method _line_search_select_best (line 1060) | def _line_search_select_best(self, joint_q: wp.array2d[wp.float32]) ->... method _build_specialized (line 1097) | def _build_specialized(cls, key: tuple[int, int, int, int, str]) -> ty... FILE: newton/_src/sim/ik/ik_lm_optimizer.py class BatchCtx (line 21) | class BatchCtx: function _accept_reject (line 41) | def _accept_reject( function _update_lm_state (line 54) | def _update_lm_state( class IKOptimizerLM (line 83) | class IKOptimizerLM: method __new__ (line 112) | def __new__( method __init__ (line 132) | def __init__( method _init_objectives (line 180) | def _init_objectives(self) -> None: method _init_cuda_streams (line 191) | def _init_cuda_streams(self) -> None: method _parallel_for_objectives (line 206) | def _parallel_for_objectives(self, fn: Callable[..., None], *extra: An... method _alloc_solver_buffers (line 224) | def _alloc_solver_buffers(self, grad: bool) -> None: method _build_residual_offsets (line 262) | def _build_residual_offsets(self) -> None: method _ctx_solver (line 270) | def _ctx_solver( method _validate_ctx_for_mode (line 294) | def _validate_ctx_for_mode(self, ctx: BatchCtx) -> None: method _for_objectives_residuals (line 320) | def _for_objectives_residuals(self, ctx: BatchCtx) -> None: method _residuals_autodiff (line 340) | def _residuals_autodiff(self, ctx: BatchCtx) -> None: method _residuals_analytic (line 352) | def _residuals_analytic(self, ctx: BatchCtx) -> None: method _jacobian_at (line 364) | def _jacobian_at(self, ctx: BatchCtx) -> wp.array3d[wp.float32]: method _jacobian_autodiff (line 386) | def _jacobian_autodiff(self, ctx: BatchCtx) -> None: method _jacobian_analytic (line 422) | def _jacobian_analytic(self, ctx: BatchCtx, *, accumulate: bool) -> None: method step (line 448) | def step( method _compute_residuals (line 480) | def _compute_residuals( method _compute_motion_subspace (line 495) | def _compute_motion_subspace( method _integrate_dq (line 523) | def _integrate_dq( method _step (line 555) | def _step( method reset (line 638) | def reset(self) -> None: method compute_costs (line 643) | def compute_costs(self, joint_q: wp.array2d[wp.float32]) -> wp.array[w... method _solve_tiled (line 662) | def _solve_tiled( method _build_specialized (line 673) | def _build_specialized(cls, key: tuple[int, int, str]) -> type[IKOptim... FILE: newton/_src/sim/ik/ik_objectives.py class IKObjective (line 15) | class IKObjective: method __init__ (line 30) | def __init__(self) -> None: method set_batch_layout (line 36) | def set_batch_layout(self, total_residuals: int, residual_offset: int,... method _require_batch_layout (line 57) | def _require_batch_layout(self) -> None: method residual_dim (line 61) | def residual_dim(self) -> int: method compute_residuals (line 65) | def compute_residuals( method compute_jacobian_autodiff (line 93) | def compute_jacobian_autodiff( method supports_analytic (line 115) | def supports_analytic(self) -> bool: method bind_device (line 119) | def bind_device(self, device: wp.DeviceLike) -> None: method init_buffers (line 123) | def init_buffers(self, model: Model, jacobian_mode: IKJacobianType) ->... method compute_jacobian_analytic (line 133) | def compute_jacobian_analytic( function _pos_residuals (line 160) | def _pos_residuals( function _pos_jac_fill (line 184) | def _pos_jac_fill( function _update_position_target (line 200) | def _update_position_target( function _update_position_targets (line 210) | def _update_position_targets( function _pos_jac_analytic (line 220) | def _pos_jac_analytic( class IKObjectivePosition (line 257) | class IKObjectivePosition(IKObjective): method __init__ (line 267) | def __init__( method init_buffers (line 283) | def init_buffers(self, model: Model, jacobian_mode: IKJacobianType) ->... method supports_analytic (line 324) | def supports_analytic(self) -> bool: method set_target_position (line 328) | def set_target_position(self, problem_idx: int, new_position: wp.vec3)... method set_target_positions (line 345) | def set_target_positions(self, new_positions: wp.array[wp.vec3]) -> None: method residual_dim (line 363) | def residual_dim(self) -> int: method compute_residuals (line 367) | def compute_residuals( method compute_jacobian_autodiff (line 409) | def compute_jacobian_autodiff( method compute_jacobian_analytic (line 454) | def compute_jacobian_analytic( function _limit_residuals (line 499) | def _limit_residuals( function _limit_jac_fill (line 529) | def _limit_jac_fill( function _limit_jac_analytic (line 542) | def _limit_jac_analytic( class IKObjectiveJointLimit (line 575) | class IKObjectiveJointLimit(IKObjective): method __init__ (line 591) | def __init__( method init_buffers (line 607) | def init_buffers(self, model: Model, jacobian_mode: IKJacobianType) ->... method supports_analytic (line 634) | def supports_analytic(self) -> bool: method residual_dim (line 638) | def residual_dim(self) -> int: method compute_residuals (line 642) | def compute_residuals( method compute_jacobian_autodiff (line 685) | def compute_jacobian_autodiff( method compute_jacobian_analytic (line 722) | def compute_jacobian_analytic( function _rot_residuals (line 766) | def _rot_residuals( function _rot_jac_fill (line 812) | def _rot_jac_fill( function _update_rotation_target (line 829) | def _update_rotation_target( function _update_rotation_targets (line 839) | def _update_rotation_targets( function _rot_jac_analytic (line 849) | def _rot_jac_analytic( class IKObjectiveRotation (line 875) | class IKObjectiveRotation(IKObjective): method __init__ (line 889) | def __init__( method init_buffers (line 907) | def init_buffers(self, model: Model, jacobian_mode: IKJacobianType) ->... method supports_analytic (line 948) | def supports_analytic(self) -> bool: method set_target_rotation (line 952) | def set_target_rotation(self, problem_idx: int, new_rotation: wp.vec4)... method set_target_rotations (line 969) | def set_target_rotations(self, new_rotations: wp.array[wp.vec4]) -> None: method residual_dim (line 988) | def residual_dim(self) -> int: method compute_residuals (line 992) | def compute_residuals( method compute_jacobian_autodiff (line 1035) | def compute_jacobian_autodiff( method compute_jacobian_analytic (line 1080) | def compute_jacobian_analytic( FILE: newton/_src/sim/ik/ik_solver.py class IKOptimizer (line 22) | class IKOptimizer(str, Enum): class IKSampler (line 32) | class IKSampler(str, Enum): function _sample_none_kernel (line 49) | def _sample_none_kernel( function _sample_gauss_kernel (line 63) | def _sample_gauss_kernel( function _sample_uniform_kernel (line 95) | def _sample_uniform_kernel( function _sample_roberts_kernel (line 120) | def _sample_roberts_kernel( function _select_best_seed_indices (line 145) | def _select_best_seed_indices( function _gather_best_seed (line 166) | def _gather_best_seed( function _pull_seed (line 180) | def _pull_seed( function _set_seed (line 189) | def _set_seed( class IKSolver (line 196) | class IKSolver: method __init__ (line 227) | def __init__( method step (line 332) | def step( method reset (line 389) | def reset(self) -> None: method joint_q (line 401) | def joint_q(self) -> wp.array2d[wp.float32]: method costs (line 406) | def costs(self) -> wp.array[wp.float32]: method __getattr__ (line 410) | def __getattr__(self, name: str) -> Any: method _sample (line 413) | def _sample(self, joint_q_in: wp.array2d[wp.float32]) -> None: method _compute_roberts_basis (line 487) | def _compute_roberts_basis(n_coords: int) -> np.ndarray: FILE: newton/_src/sim/model.py class Model (line 26) | class Model: class AttributeAssignment (line 49) | class AttributeAssignment(IntEnum): class AttributeFrequency (line 66) | class AttributeFrequency(IntEnum): class AttributeNamespace (line 107) | class AttributeNamespace: method __init__ (line 115) | def __init__(self, name: str): method __repr__ (line 123) | def __repr__(self): method __init__ (line 129) | def __init__(self, device: Devicelike | None = None): method state (line 799) | def state(self, requires_grad: bool | None = None) -> State: method control (line 852) | def control(self, requires_grad: bool | None = None, clone_variables: ... method set_gravity (line 895) | def set_gravity( method _init_collision_pipeline (line 930) | def _init_collision_pipeline(self): method contacts (line 942) | def contacts( method collide (line 968) | def collide( method request_state_attributes (line 996) | def request_state_attributes(self, *attributes: str) -> None: method request_contact_attributes (line 1008) | def request_contact_attributes(self, *attributes: str) -> None: method get_requested_contact_attributes (line 1018) | def get_requested_contact_attributes(self) -> set[str]: method _add_custom_attributes (line 1027) | def _add_custom_attributes( method add_attribute (line 1082) | def add_attribute( method get_attribute_frequency (line 1134) | def get_attribute_frequency(self, name: str) -> Model.AttributeFrequen... method get_custom_frequency_count (line 1153) | def get_custom_frequency_count(self, frequency: str) -> int: method get_requested_state_attributes (line 1170) | def get_requested_state_attributes(self) -> list[str]: FILE: newton/_src/sim/state.py class State (line 9) | class State: method validate_extended_attributes (line 37) | def validate_extended_attributes(cls, attributes: tuple[str, ...]) -> ... method __init__ (line 57) | def __init__(self) -> None: method clear_forces (line 117) | def clear_forces(self) -> None: method assign (line 130) | def assign(self, other: State) -> None: method requires_grad (line 183) | def requires_grad(self) -> bool: method body_count (line 192) | def body_count(self) -> int: method particle_count (line 199) | def particle_count(self) -> int: method joint_coord_count (line 206) | def joint_coord_count(self) -> int: method joint_dof_count (line 213) | def joint_dof_count(self) -> int: FILE: newton/_src/solvers/featherstone/kernels.py function compute_spatial_inertia (line 18) | def compute_spatial_inertia( function compute_com_transforms (line 40) | def compute_com_transforms( function zero_kinematic_body_forces (line 51) | def zero_kinematic_body_forces( function transform_spatial_inertia (line 63) | def transform_spatial_inertia(t: wp.transform, I: wp.spatial_matrix): function jcalc_transform (line 139) | def jcalc_transform( function jcalc_motion (line 239) | def jcalc_motion( function jcalc_tau (line 343) | def jcalc_tau( function jcalc_integrate (line 417) | def jcalc_integrate( function compute_link_transform (line 540) | def compute_link_transform( function eval_rigid_fk (line 594) | def eval_rigid_fk( function spatial_cross (line 637) | def spatial_cross(a: wp.spatial_vector, b: wp.spatial_vector): function spatial_cross_dual (line 651) | def spatial_cross_dual(a: wp.spatial_vector, b: wp.spatial_vector): function dense_index (line 665) | def dense_index(stride: int, i: int, j: int): function compute_link_velocity (line 670) | def compute_link_velocity( function convert_body_force_com_to_origin (line 758) | def convert_body_force_com_to_origin( function eval_rigid_id (line 783) | def eval_rigid_id( function eval_rigid_tau (line 837) | def eval_rigid_tau( function eval_rigid_jacobian (line 919) | def eval_rigid_jacobian( function spatial_mass (line 962) | def spatial_mass( function eval_rigid_mass (line 979) | def eval_rigid_mass( function dense_gemm (line 999) | def dense_gemm( function create_inertia_matrix_kernel (line 1062) | def create_inertia_matrix_kernel(num_joints, num_dofs): function create_batched_cholesky_kernel (line 1092) | def create_batched_cholesky_kernel(num_dofs): function create_inertia_matrix_cholesky_kernel (line 1108) | def create_inertia_matrix_cholesky_kernel(num_joints, num_dofs): function eval_dense_gemm_batched (line 1150) | def eval_dense_gemm_batched( function dense_cholesky (line 1185) | def dense_cholesky( function adj_dense_cholesky (line 1217) | def adj_dense_cholesky( function eval_dense_cholesky_batched (line 1231) | def eval_dense_cholesky_batched( function dense_subs (line 1249) | def dense_subs( function dense_solve (line 1279) | def dense_solve( function adj_dense_solve (line 1295) | def adj_dense_solve( function eval_dense_solve_batched (line 1327) | def eval_dense_solve_batched( function integrate_generalized_joints (line 1344) | def integrate_generalized_joints( function zero_kinematic_joint_qdd (line 1382) | def zero_kinematic_joint_qdd( function copy_kinematic_joint_state (line 1401) | def copy_kinematic_joint_state( function eval_single_articulation_fk_with_velocity_conversion (line 1436) | def eval_single_articulation_fk_with_velocity_conversion( function convert_articulation_free_distance_body_qd (line 1598) | def convert_articulation_free_distance_body_qd( function eval_articulation_fk_with_velocity_conversion (line 1643) | def eval_articulation_fk_with_velocity_conversion( function eval_fk_with_velocity_conversion (line 1709) | def eval_fk_with_velocity_conversion( FILE: newton/_src/solvers/featherstone/solver_featherstone.py class SolverFeatherstone (line 47) | class SolverFeatherstone(SolverBase): method __init__ (line 103) | def __init__( method _update_kinematic_state (line 152) | def _update_kinematic_state(self): method notify_model_changed (line 177) | def notify_model_changed(self, flags: int) -> None: method _compute_articulation_indices (line 182) | def _compute_articulation_indices(self, model): method _allocate_model_aux_vars (line 252) | def _allocate_model_aux_vars(self, model): method _allocate_state_aux_vars (line 286) | def _allocate_state_aux_vars(self, model, target, requires_grad): method step (line 325) | def step( FILE: newton/_src/solvers/flags.py class SolverNotifyFlags (line 10) | class SolverNotifyFlags(IntEnum): FILE: newton/_src/solvers/implicit_mpm/contact_solver_kernels.py function compute_collider_inv_mass (line 11) | def compute_collider_inv_mass( function project_on_friction_cone (line 43) | def project_on_friction_cone( function solve_coulomb_isotropic (line 64) | def solve_coulomb_isotropic( function filter_collider_impulse_warmstart (line 87) | def filter_collider_impulse_warmstart( function apply_nodal_impulse_warmstart (line 102) | def apply_nodal_impulse_warmstart( function solve_nodal_friction (line 126) | def solve_nodal_friction( function apply_subgrid_impulse (line 173) | def apply_subgrid_impulse( function apply_subgrid_impulse_warmstart (line 197) | def apply_subgrid_impulse_warmstart( function compute_collider_delassus_diagonal (line 215) | def compute_collider_delassus_diagonal( function solve_subgrid_friction (line 244) | def solve_subgrid_friction( FILE: newton/_src/solvers/implicit_mpm/implicit_mpm_model.py function _particle_parameter (line 38) | def _particle_parameter( function _merge_meshes (line 55) | def _merge_meshes( function _get_shape_mesh (line 80) | def _get_shape_mesh(model: newton.Model, shape_id: int, geo_type: newton... function _apply_shape_transforms (line 166) | def _apply_shape_transforms( function _get_body_collision_shapes (line 177) | def _get_body_collision_shapes(model: newton.Model, body_index: int): function _get_shape_collision_materials (line 186) | def _get_shape_collision_materials(model: newton.Model, shape_ids: list[... function _create_body_collider_mesh (line 194) | def _create_body_collider_mesh( class MaterialParameters (line 227) | class MaterialParameters: class ImplicitMPMModel (line 258) | class ImplicitMPMModel: method __init__ (line 270) | def __init__(self, model: newton.Model, options: "SolverImplicitMPM.Co... method notify_particle_material_changed (line 297) | def notify_particle_material_changed(self): method notify_collider_changed (line 327) | def notify_collider_changed(self): method setup_particle_material (line 343) | def setup_particle_material(self): method setup_collider (line 378) | def setup_collider( method has_compliant_particles (line 582) | def has_compliant_particles(self): method has_hardening (line 586) | def has_hardening(self): method has_compliant_colliders (line 590) | def has_compliant_colliders(self): FILE: newton/_src/solvers/implicit_mpm/implicit_mpm_solver_kernels.py function integrate_fraction (line 63) | def integrate_fraction(s: fem.Sample, phi: fem.Field, domain: fem.Domain... function integrate_collider_fraction (line 68) | def integrate_collider_fraction( function integrate_collider_fraction_apic (line 79) | def integrate_collider_fraction_apic( function integrate_mass (line 103) | def integrate_mass( function integrate_velocity (line 119) | def integrate_velocity( function integrate_velocity_apic (line 144) | def integrate_velocity_apic( function free_velocity (line 162) | def free_velocity( function hardening_law (line 181) | def hardening_law(Jp: float, hardening: float): function get_elastic_parameters (line 192) | def get_elastic_parameters( function extract_elastic_parameters (line 206) | def extract_elastic_parameters( function get_yield_parameters (line 216) | def get_yield_parameters(i: int, material_parameters: MaterialParameters... function integrate_elastic_parameters (line 232) | def integrate_elastic_parameters( function integrate_yield_parameters (line 244) | def integrate_yield_parameters( function integrate_particle_stress (line 258) | def integrate_particle_stress( function average_yield_parameters (line 270) | def average_yield_parameters( function average_elastic_parameters (line 281) | def average_elastic_parameters( function advect_particles (line 292) | def advect_particles( function update_particle_strains (line 323) | def update_particle_strains( function project_particle_strain (line 387) | def project_particle_strain( function update_particle_frames (line 404) | def update_particle_frames( function strain_delta_form (line 434) | def strain_delta_form( function compute_unilateral_strain_offset (line 448) | def compute_unilateral_strain_offset( function stress_strain_relationship (line 463) | def stress_strain_relationship(sig: wp.mat33, compliance: float, poisson... function strain_rhs (line 468) | def strain_rhs( function compliance_form (line 496) | def compliance_form( function collision_weight_field (line 526) | def collision_weight_field( function mass_form (line 540) | def mass_form( function compute_eigenvalues (line 550) | def compute_eigenvalues( function rotate_matrix_rows (line 604) | def rotate_matrix_rows( function make_rotate_vectors (line 636) | def make_rotate_vectors(nodes_per_element: int): function make_inverse_rotate_vectors (line 671) | def make_inverse_rotate_vectors(nodes_per_element: int): function inverse_scale_vector (line 703) | def inverse_scale_vector( function inverse_scale_sym_tensor (line 718) | def inverse_scale_sym_tensor( function rotate_matrix_columns (line 731) | def rotate_matrix_columns( function compute_bounds (line 765) | def compute_bounds( function clamp_coordinates (line 815) | def clamp_coordinates( function pad_voxels (line 823) | def pad_voxels(particle_q: wp.array[wp.vec3i], padded_q: wp.array4d[wp.v... function positive_modn (line 833) | def positive_modn(x: int, n: int): function allocate_by_voxels (line 837) | def allocate_by_voxels(particle_q, voxel_size, padding_voxels: int = 0): function node_color (line 859) | def node_color( function make_cell_color_kernel (line 888) | def make_cell_color_kernel(geo_partition: fem.GeometryPartition): function fill_uniform_color_block_indices (line 922) | def fill_uniform_color_block_indices( function make_dynamic_color_block_indices_kernel (line 932) | def make_dynamic_color_block_indices_kernel(geo_partition: fem.GeometryP... function compute_color_offsets (line 956) | def compute_color_offsets( function mark_active_cells (line 977) | def mark_active_cells( function scatter_field_dof_values (line 995) | def scatter_field_dof_values( FILE: newton/_src/solvers/implicit_mpm/rasterized_collisions.py class Collider (line 42) | class Collider: function get_average_face_normal (line 77) | def get_average_face_normal( function collision_sdf (line 114) | def collision_sdf( function collider_volumes_kernel (line 221) | def collider_volumes_kernel( function collider_is_dynamic (line 234) | def collider_is_dynamic(collider_id: int, collider: Collider, body_mass:... function project_outside_collider (line 244) | def project_outside_collider( function rasterize_collider_kernel (line 320) | def rasterize_collider_kernel( function fill_collider_rigidity_matrices (line 394) | def fill_collider_rigidity_matrices( function world_position (line 444) | def world_position( function collider_gradient_field (line 452) | def collider_gradient_field(s: fem.Sample, domain: fem.Domain, distance:... function normalize_gradient (line 488) | def normalize_gradient( function rasterize_collider (line 496) | def rasterize_collider( function interpolate_collider_normals (line 576) | def interpolate_collider_normals( function build_rigidity_operator (line 612) | def build_rigidity_operator( FILE: newton/_src/solvers/implicit_mpm/render_grains.py function sample_grains (line 13) | def sample_grains( function transform_grains (line 27) | def transform_grains( function advect_grains (line 50) | def advect_grains( function advect_grains_from_particles (line 64) | def advect_grains_from_particles( function project_grains (line 85) | def project_grains( function sample_render_grains (line 106) | def sample_render_grains(state: newton.State, particle_radius: wp.array,... function update_render_grains (line 141) | def update_render_grains( FILE: newton/_src/solvers/implicit_mpm/rheology_solver_kernels.py class YieldParamVec (line 39) | class YieldParamVec(wp.types.vector(length=6, dtype=wp.float32)): method from_values (line 56) | def from_values( function get_dilatancy (line 76) | def get_dilatancy(yield_params: YieldParamVec): function get_viscosity (line 81) | def get_viscosity(yield_params: YieldParamVec): function normal_yield_bounds (line 86) | def normal_yield_bounds(yield_params: YieldParamVec): function shear_yield_stress (line 92) | def shear_yield_stress(yield_params: YieldParamVec, r_N: float): function shear_yield_stress_camclay (line 111) | def shear_yield_stress_camclay(yield_params: YieldParamVec, r_N: float): function _symmetric_part_op (line 125) | def _symmetric_part_op(b: wp.vec3, u: wp.vec3): function _symmetric_part_transposed_op (line 130) | def _symmetric_part_transposed_op(b: wp.vec3, sig: vec6): function compute_delassus_diagonal (line 135) | def compute_delassus_diagonal( function unilateral_offset_to_strain_rhs (line 217) | def unilateral_offset_to_strain_rhs(offset: float): function preprocess_stress_and_strain (line 222) | def preprocess_stress_and_strain( function postprocess_stress_and_strain (line 256) | def postprocess_stress_and_strain( function eval_sliding_residual (line 317) | def eval_sliding_residual(alpha: float, D: Any, b_T: Any, gamma: float, ... function solve_sliding_no_dilatancy (line 338) | def solve_sliding_no_dilatancy( function solve_sliding_aniso (line 382) | def solve_sliding_aniso( function solve_flow_rule_camclay (line 474) | def solve_flow_rule_camclay( function make_solve_flow_rule (line 553) | def make_solve_flow_rule(has_viscosity: bool = True, has_dilatancy: bool... function project_stress (line 621) | def project_stress( function _world_to_local (line 646) | def _world_to_local( function _local_to_world (line 656) | def _local_to_world( function make_apply_stress_delta (line 665) | def make_apply_stress_delta(strain_velocity_node_count: int = -1): function apply_stress_delta_jacobi (line 697) | def apply_stress_delta_jacobi( function apply_velocity_delta (line 724) | def apply_velocity_delta( function apply_stress_gs (line 754) | def apply_stress_gs( function make_compute_local_strain (line 792) | def make_compute_local_strain(has_compliance_mat: bool = True, strain_ve... function make_solve_local_stress (line 835) | def make_solve_local_stress(has_viscosity: bool, has_dilatancy: bool, ha... function make_jacobi_solve_kernel (line 881) | def make_jacobi_solve_kernel( function make_gs_solve_kernel (line 941) | def make_gs_solve_kernel( function jacobi_preconditioner (line 1026) | def jacobi_preconditioner( function evaluate_strain_residual (line 1044) | def evaluate_strain_residual( FILE: newton/_src/solvers/implicit_mpm/solve_rheology.py function _tiled_sum_kernel (line 44) | def _tiled_sum_kernel( class ArraySquaredNorm (line 56) | class ArraySquaredNorm: method __init__ (line 59) | def __init__(self, max_length: int, device=None, temporary_store=None): method compute_squared_norm (line 83) | def compute_squared_norm(self, data: wp.array[Any]): method release (line 116) | def release(self): method __del__ (line 124) | def __del__(self): function update_condition (line 129) | def update_condition( function apply_rigidity_operator (line 147) | def apply_rigidity_operator(rigidity_operator, delta_collider_impulse, c... class _ScopedDisableGC (line 172) | class _ScopedDisableGC: method __enter__ (line 177) | def __enter__(self): method __exit__ (line 181) | def __exit__(self, exc_type, exc_value, traceback): class MomentumData (line 187) | class MomentumData: class RheologyData (line 202) | class RheologyData: class CollisionData (line 249) | class CollisionData: class _DelassusOperator (line 280) | class _DelassusOperator: method __init__ (line 281) | def __init__( method compute_diagonal_factorization (line 300) | def compute_diagonal_factorization(self, split_mass: bool): method require_strain_mat_transpose (line 331) | def require_strain_mat_transpose(self): method preprocess_stress_and_strain (line 336) | def preprocess_stress_and_strain(self): method size (line 350) | def size(self): method release (line 353) | def release(self): method apply_stress_delta (line 357) | def apply_stress_delta(self, stress_delta: wp.array[vec6], velocity: w... method apply_velocity_delta (line 372) | def apply_velocity_delta( method postprocess_stress_and_strain (line 399) | def postprocess_stress_and_strain(self): class _RheologySolver (line 428) | class _RheologySolver: method __init__ (line 429) | def __init__( method size (line 470) | def size(self): method eval_residual (line 473) | def eval_residual(self): method release (line 477) | def release(self): class _GaussSeidelSolver (line 483) | class _GaussSeidelSolver(_RheologySolver): method __init__ (line 484) | def __init__( method name (line 561) | def name(self): method solve_granularity (line 565) | def solve_granularity(self): method apply_initial_guess (line 568) | def apply_initial_guess(self): method solve (line 573) | def solve(self): class _JacobiSolver (line 579) | class _JacobiSolver(_RheologySolver): method __init__ (line 580) | def __init__( method name (line 625) | def name(self): method solve_granularity (line 629) | def solve_granularity(self): method apply_initial_guess (line 632) | def apply_initial_guess(self): method solve (line 637) | def solve(self): class _CGSolver (line 644) | class _CGSolver: method __init__ (line 645) | def __init__( method _delassus_matvec (line 668) | def _delassus_matvec(self, x: wp.array[vec6], y: wp.array[vec6], z: wp... method _preconditioner_matvec (line 678) | def _preconditioner_matvec(self, x, y, z, alpha, beta): method solve (line 693) | def solve(self, tol: float, tolerance_scale: float, max_iterations: in... method name (line 725) | def name(self): method release (line 728) | def release(self): class _ContactSolver (line 732) | class _ContactSolver: method __init__ (line 733) | def __init__( method release (line 769) | def release(self): method apply_rigidity_operator (line 775) | def apply_rigidity_operator(self): class _NodalContactSolver (line 785) | class _NodalContactSolver(_ContactSolver): method __init__ (line 786) | def __init__( method apply_initial_guess (line 812) | def apply_initial_guess(self): method solve (line 829) | def solve(self): class _SubgridContactSolver (line 834) | class _SubgridContactSolver(_ContactSolver): method __init__ (line 835) | def __init__( method apply_initial_guess (line 897) | def apply_initial_guess(self): method solve (line 912) | def solve(self): method release (line 917) | def release(self): function _run_solver_loop (line 922) | def _run_solver_loop( function solve_rheology (line 1001) | def solve_rheology( FILE: newton/_src/solvers/implicit_mpm/solver_implicit_mpm.py function _as_2d_array (line 78) | def _as_2d_array(array, shape, dtype): function _make_grid_basis_space (line 90) | def _make_grid_basis_space(grid: fem.Geometry, basis_str: str, family: f... function _make_pic_basis_space (line 114) | def _make_pic_basis_space(pic: fem.PicQuadrature, basis_str: str): class ImplicitMPMScratchpad (line 123) | class ImplicitMPMScratchpad: method __init__ (line 126) | def __init__(self): method rebuild_function_spaces (line 174) | def rebuild_function_spaces( method _create_velocity_function_space (line 215) | def _create_velocity_function_space(self, temporary_store: fem.Tempora... method _create_collider_function_space (line 240) | def _create_collider_function_space(self, temporary_store: fem.Tempora... method _create_strain_function_space (line 274) | def _create_strain_function_space(self, temporary_store: fem.Temporary... method require_velocity_space_fields (line 302) | def require_velocity_space_fields(self, has_compliant_particles: bool): method require_collision_space_fields (line 344) | def require_collision_space_fields(self): method require_strain_space_fields (line 382) | def require_strain_space_fields(self): method collider_node_count (line 436) | def collider_node_count(self) -> int: method velocity_node_count (line 440) | def velocity_node_count(self) -> int: method velocity_nodes_per_element (line 444) | def velocity_nodes_per_element(self) -> int: method strain_node_count (line 448) | def strain_node_count(self) -> int: method strain_nodes_per_element (line 452) | def strain_nodes_per_element(self) -> int: method allocate_temporaries (line 455) | def allocate_temporaries( method release_temporaries (line 494) | def release_temporaries(self): class LastStepData (line 516) | class LastStepData: method __init__ (line 524) | def __init__(self): method _ws_stress_space (line 529) | def _ws_stress_space(self, scratch: ImplicitMPMScratchpad, smoothed: b... method require_strain_space_fields (line 536) | def require_strain_space_fields(self, scratch: ImplicitMPMScratchpad, ... method rebind_strain_space_fields (line 541) | def rebind_strain_space_fields(self, scratch: ImplicitMPMScratchpad, s... method require_collision_space_fields (line 551) | def require_collision_space_fields(self, scratch: ImplicitMPMScratchpad): method rebind_collision_space_fields (line 556) | def rebind_collision_space_fields(self, scratch: ImplicitMPMScratchpad): method require_collider_previous_position (line 566) | def require_collider_previous_position(self, collider_body_q: wp.array... method save_collider_current_position (line 572) | def save_collider_current_position(self, collider_body_q: wp.array | N... class SolverImplicitMPM (line 578) | class SolverImplicitMPM(SolverBase): class Config (line 607) | class Config: method register_custom_attributes (line 663) | def register_custom_attributes(cls, builder: newton.ModelBuilder) -> N... method __init__ (line 865) | def __init__( method setup_collider (line 951) | def setup_collider( method voxel_size (line 1001) | def voxel_size(self) -> float: method step (line 1006) | def step( method notify_model_changed (line 1037) | def notify_model_changed(self, flags: int) -> None: method collect_collider_impulses (line 1040) | def collect_collider_impulses(self, state: newton.State) -> tuple[wp.a... method collider_body_index (line 1061) | def collider_body_index(self) -> wp.array: method project_outside (line 1069) | def project_outside(self, state_in: newton.State, state_out: newton.St... method update_particle_frames (line 1111) | def update_particle_frames( method sample_render_grains (line 1140) | def sample_render_grains(self, state: newton.State, grains_per_particl... method update_render_grains (line 1154) | def update_render_grains( method _allocate_grid (line 1172) | def _allocate_grid( method _create_geometry_partition (line 1244) | def _create_geometry_partition( method _rebuild_scratchpad (line 1274) | def _rebuild_scratchpad(self, pic: fem.PicQuadrature): method _particles_to_cells (line 1310) | def _particles_to_cells(self, positions: wp.array) -> fem.PicQuadrature: method _particle_grid_locations (line 1358) | def _particle_grid_locations(self, domain: fem.GeometryDomain, positio... method _particle_grid_locations_gimp (line 1398) | def _particle_grid_locations_gimp( method _step_impl (line 1502) | def _step_impl( method _compute_unconstrained_velocity (line 1566) | def _compute_unconstrained_velocity( method _rasterize_colliders (line 1639) | def _rasterize_colliders( method _build_collider_rigidity_operator (line 1707) | def _build_collider_rigidity_operator( method _build_elasticity_system (line 1732) | def _build_elasticity_system( method _build_plasticity_system (line 1813) | def _build_plasticity_system( method _build_strain_eigenbasis (line 1920) | def _build_strain_eigenbasis( method _apply_strain_eigenbasis (line 1972) | def _apply_strain_eigenbasis( method _unapply_strain_eigenbasis (line 2032) | def _unapply_strain_eigenbasis( method _solve_rheology (line 2073) | def _solve_rheology( method _update_particles (line 2134) | def _update_particles( method _save_data (line 2213) | def _save_data( method _require_velocity_space_fields (line 2236) | def _require_velocity_space_fields(self, scratch: ImplicitMPMScratchpa... method _require_collision_space_fields (line 2241) | def _require_collision_space_fields(self, scratch: ImplicitMPMScratchp... method _require_strain_space_fields (line 2247) | def _require_strain_space_fields(self, scratch: ImplicitMPMScratchpad,... method _load_warmstart (line 2252) | def _load_warmstart( method _warmstart_fields (line 2279) | def _warmstart_fields( method _save_for_next_warmstart (line 2328) | def _save_for_next_warmstart( method _max_colors (line 2364) | def _max_colors(self): method _compute_coloring (line 2369) | def _compute_coloring( method _timer (line 2487) | def _timer(self, name: str): FILE: newton/_src/solvers/kamino/_src/core/bodies.py class RigidBodyDescriptor (line 44) | class RigidBodyDescriptor(Descriptor): method __repr__ (line 96) | def __repr__(self) -> str: class RigidBodiesModel (line 113) | class RigidBodiesModel: class RigidBodiesData (line 218) | class RigidBodiesData: method clear_all_wrenches (line 286) | def clear_all_wrenches(self): method clear_constraint_wrenches (line 297) | def clear_constraint_wrenches(self): method clear_actuation_wrenches (line 305) | def clear_actuation_wrenches(self): method clear_external_wrenches (line 311) | def clear_external_wrenches(self): function make_symmetric (line 325) | def make_symmetric(A: mat33f) -> mat33f: function transform_body_inertial_properties (line 339) | def transform_body_inertial_properties( function _update_body_inertias (line 376) | def _update_body_inertias( function _update_body_wrenches (line 402) | def _update_body_wrenches( function _convert_body_origin_to_com (line 430) | def _convert_body_origin_to_com( function _convert_body_com_to_origin (line 457) | def _convert_body_com_to_origin( function _convert_base_origin_to_com (line 484) | def _convert_base_origin_to_com( function _convert_geom_offset_origin_to_com (line 504) | def _convert_geom_offset_origin_to_com( function convert_geom_offset_origin_to_com (line 529) | def convert_geom_offset_origin_to_com( function update_body_inertias (line 544) | def update_body_inertias(model: RigidBodiesModel, data: RigidBodiesData): function update_body_wrenches (line 560) | def update_body_wrenches(model: RigidBodiesModel, data: RigidBodiesData): function convert_body_origin_to_com (line 577) | def convert_body_origin_to_com( function convert_body_com_to_origin (line 593) | def convert_body_com_to_origin( function convert_base_origin_to_com (line 609) | def convert_base_origin_to_com( FILE: newton/_src/solvers/kamino/_src/core/builder.py class ModelBuilderKamino (line 55) | class ModelBuilderKamino: method __init__ (line 60) | def __init__(self, default_world: bool = False): method max_contacts_per_pair (line 109) | def max_contacts_per_pair(self) -> int | None: method max_contacts_per_pair (line 115) | def max_contacts_per_pair(self, value: int | None): method num_worlds (line 119) | def num_worlds(self) -> int: method num_bodies (line 124) | def num_bodies(self) -> int: method num_joints (line 129) | def num_joints(self) -> int: method num_geoms (line 134) | def num_geoms(self) -> int: method num_materials (line 139) | def num_materials(self) -> int: method num_body_dofs (line 144) | def num_body_dofs(self) -> int: method num_joint_coords (line 149) | def num_joint_coords(self) -> int: method num_joint_dofs (line 154) | def num_joint_dofs(self) -> int: method num_passive_joint_coords (line 159) | def num_passive_joint_coords(self) -> int: method num_passive_joint_dofs (line 164) | def num_passive_joint_dofs(self) -> int: method num_actuated_joint_coords (line 169) | def num_actuated_joint_coords(self) -> int: method num_actuated_joint_dofs (line 174) | def num_actuated_joint_dofs(self) -> int: method num_joint_cts (line 179) | def num_joint_cts(self) -> int: method num_dynamic_joint_cts (line 184) | def num_dynamic_joint_cts(self) -> int: method num_kinematic_joint_cts (line 189) | def num_kinematic_joint_cts(self) -> int: method worlds (line 194) | def worlds(self) -> list[WorldDescriptor]: method up_axes (line 199) | def up_axes(self) -> list[Axis]: method gravity (line 204) | def gravity(self) -> list[GravityDescriptor]: method bodies (line 209) | def bodies(self) -> list[RigidBodyDescriptor]: method joints (line 214) | def joints(self) -> list[JointDescriptor]: method geoms (line 219) | def geoms(self) -> list[GeometryDescriptor]: method materials (line 224) | def materials(self) -> list[MaterialDescriptor]: method add_world (line 232) | def add_world( method add_rigid_body (line 276) | def add_rigid_body( method add_rigid_body_descriptor (line 318) | def add_rigid_body_descriptor(self, body: RigidBodyDescriptor, world_i... method add_joint (line 352) | def add_joint( method add_joint_descriptor (line 435) | def add_joint_descriptor(self, joint: JointDescriptor, world_index: in... method add_geometry (line 475) | def add_geometry( method add_geometry_descriptor (line 572) | def add_geometry_descriptor(self, geom: GeometryDescriptor, world_inde... method add_material (line 607) | def add_material(self, material: MaterialDescriptor, world_index: int ... method add_builder (line 631) | def add_builder(self, other: ModelBuilderKamino): method set_up_axis (line 704) | def set_up_axis(self, axis: Axis, world_index: int = 0): method set_gravity (line 726) | def set_gravity(self, gravity: GravityDescriptor, world_index: int = 0): method set_default_material (line 748) | def set_default_material(self, material: MaterialDescriptor, world_ind... method set_material_pair (line 766) | def set_material_pair( method set_base_body (line 793) | def set_base_body(self, body_key: int | str, world_index: int = 0): method set_base_joint (line 817) | def set_base_joint(self, joint_key: int | str, world_index: int = 0): method finalize (line 845) | def finalize( method make_collision_candidate_pairs (line 1432) | def make_collision_candidate_pairs(self, allow_neighbors: bool = False... method make_collision_excluded_pairs (line 1541) | def make_collision_excluded_pairs(self, allow_neighbors: bool = False)... method compute_num_collidable_geoms (line 1623) | def compute_num_collidable_geoms( method compute_required_contact_capacity (line 1659) | def compute_required_contact_capacity( method _check_world_index (line 1705) | def _check_world_index(self, world_index: int) -> WorldDescriptor: method _compute_world_offsets (line 1724) | def _compute_world_offsets(self): method _collect_geom_max_contact_hints (line 1773) | def _collect_geom_max_contact_hints(self) -> tuple[int, list[int]]: method _insert_entity (line 1789) | def _insert_entity(entity_list: list[EntityDescriptorType], entity: En... method _check_body_inertia (line 1813) | def _check_body_inertia(m_i: float, i_I_i: mat33f): method _check_body_pose (line 1835) | def _check_body_pose(q_i: transformf): FILE: newton/_src/solvers/kamino/_src/core/control.py class ControlKamino (line 20) | class ControlKamino: method copy_to (line 71) | def copy_to(self, other: ControlKamino) -> None: method copy_from (line 82) | def copy_from(self, other: ControlKamino) -> None: method from_newton (line 94) | def from_newton(control: Control) -> ControlKamino: method to_newton (line 112) | def to_newton(control: ControlKamino) -> Control: FILE: newton/_src/solvers/kamino/_src/core/conversions.py function convert_entity_local_transforms (line 29) | def convert_entity_local_transforms(model: Model) -> dict[str, np.ndarray]: function compute_required_contact_capacity (line 189) | def compute_required_contact_capacity( function convert_model_joint_transforms (line 269) | def convert_model_joint_transforms(model: Model, joints: JointsModel) ->... FILE: newton/_src/solvers/kamino/_src/core/data.py class DataKaminoInfo (line 33) | class DataKaminoInfo: class DataKamino (line 94) | class DataKamino: method copy_body_state_from (line 127) | def copy_body_state_from(self, state: StateKamino) -> None: method copy_body_state_to (line 147) | def copy_body_state_to(self, state: StateKamino) -> None: method copy_joint_state_from (line 169) | def copy_joint_state_from(self, state: StateKamino) -> None: method copy_joint_state_to (line 190) | def copy_joint_state_to(self, state: StateKamino) -> None: method copy_joint_control_from (line 213) | def copy_joint_control_from(self, control: ControlKamino) -> None: FILE: newton/_src/solvers/kamino/_src/core/geometry.py class GeometryDescriptor (line 41) | class GeometryDescriptor(Descriptor): method is_collidable (line 158) | def is_collidable(self) -> bool: method __hash__ (line 163) | def __hash__(self): method __repr__ (line 172) | def __repr__(self): class GeometriesModel (line 195) | class GeometriesModel: class GeometriesData (line 336) | class GeometriesData: function _update_geometries_state (line 362) | def _update_geometries_state( function update_geometries_state (line 416) | def update_geometries_state( FILE: newton/_src/solvers/kamino/_src/core/gravity.py class GravityDescriptor (line 60) | class GravityDescriptor(Descriptor): method __init__ (line 72) | def __init__( method __repr__ (line 99) | def __repr__(self): method enabled (line 112) | def enabled(self) -> bool: method enabled (line 117) | def enabled(self, on: bool): method acceleration (line 122) | def acceleration(self) -> float: method acceleration (line 127) | def acceleration(self, g: float): method direction (line 132) | def direction(self) -> vec3f: method direction (line 137) | def direction(self, dir: vec3f): method dir_accel (line 141) | def dir_accel(self) -> vec4f: method vector (line 145) | def vector(self) -> vec4f: class GravityModel (line 152) | class GravityModel: method from_newton (line 178) | def from_newton(model_in: Model) -> GravityModel: function convert_model_gravity (line 188) | def convert_model_gravity(model_in: Model, gravity_out: GravityModel | N... FILE: newton/_src/solvers/kamino/_src/core/inertia.py function solid_sphere_body_moment_of_inertia (line 29) | def solid_sphere_body_moment_of_inertia(m: float, r: float) -> mat33f: function solid_cylinder_body_moment_of_inertia (line 35) | def solid_cylinder_body_moment_of_inertia(m: float, r: float, h: float) ... function solid_cone_body_moment_of_inertia (line 42) | def solid_cone_body_moment_of_inertia(m: float, r: float, h: float) -> m... function solid_ellipsoid_body_moment_of_inertia (line 49) | def solid_ellipsoid_body_moment_of_inertia(m: float, a: float, b: float,... function solid_cuboid_body_moment_of_inertia (line 57) | def solid_cuboid_body_moment_of_inertia(m: float, w: float, h: float, d:... FILE: newton/_src/solvers/kamino/_src/core/joints.py class JointActuationType (line 83) | class JointActuationType(IntEnum): method __str__ (line 110) | def __str__(self): method __repr__ (line 115) | def __repr__(self): method to_newton (line 120) | def to_newton(act_type: JointActuationType) -> JointTargetMode: method from_newton (line 147) | def from_newton(target_mode: JointTargetMode) -> JointActuationType: class JointCorrectionMode (line 171) | class JointCorrectionMode(IntEnum): method bound (line 196) | def bound(self) -> float: method from_string (line 210) | def from_string(cls, s: str) -> JointCorrectionMode: method __str__ (line 218) | def __str__(self): method __repr__ (line 223) | def __repr__(self): method parse_usd_attribute (line 228) | def parse_usd_attribute(value: str, context: dict[str, Any] | None = N... class JointDoFType (line 239) | class JointDoFType(IntEnum): method __str__ (line 399) | def __str__(self): method __repr__ (line 404) | def __repr__(self): method num_coords (line 409) | def num_coords(self) -> int: method num_dofs (line 435) | def num_dofs(self) -> int: method num_cts (line 461) | def num_cts(self) -> int: method cts_axes (line 487) | def cts_axes(self) -> Vector[Any, Int]: method dofs_axes (line 513) | def dofs_axes(self) -> Vector[Any, Int]: method coords_storage_type (line 539) | def coords_storage_type(self) -> Any: method coords_physical_type (line 565) | def coords_physical_type(self) -> Any: method reference_coords (line 591) | def reference_coords(self) -> list[float]: method coords_bound (line 616) | def coords_bound(self, correction: JointCorrectionMode) -> list[float]: method to_newton (line 645) | def to_newton(dof_type: JointDoFType) -> JointType | None: method from_newton (line 675) | def from_newton( method axes_matrix_from_joint_type (line 782) | def axes_matrix_from_joint_type( class JointDescriptor (line 870) | class JointDescriptor(Descriptor): method num_coords (line 1124) | def num_coords(self) -> int: method num_dofs (line 1131) | def num_dofs(self) -> int: method num_passive_coords (line 1138) | def num_passive_coords(self) -> int: method num_passive_dofs (line 1145) | def num_passive_dofs(self) -> int: method num_actuated_coords (line 1152) | def num_actuated_coords(self) -> int: method num_actuated_dofs (line 1159) | def num_actuated_dofs(self) -> int: method num_cts (line 1166) | def num_cts(self) -> int: method num_dynamic_cts (line 1173) | def num_dynamic_cts(self) -> int: method num_kinematic_cts (line 1180) | def num_kinematic_cts(self) -> int: method is_binary (line 1187) | def is_binary(self) -> bool: method is_unary (line 1194) | def is_unary(self) -> bool: method is_passive (line 1201) | def is_passive(self) -> bool: method is_actuated (line 1208) | def is_actuated(self) -> bool: method is_dynamic (line 1215) | def is_dynamic(self) -> bool: method is_implicit_pd (line 1222) | def is_implicit_pd(self) -> bool: method has_base_body (line 1228) | def has_base_body(self, bid: int) -> bool: method has_follower_body (line 1236) | def has_follower_body(self, bid: int) -> bool: method is_connected_to_body (line 1244) | def is_connected_to_body(self, bid: int) -> bool: method __post_init__ (line 1256) | def __post_init__(self): method __repr__ (line 1339) | def __repr__(self): method _check_dofs_array (line 1391) | def _check_dofs_array(x: ArrayLike | float | None, size: int, default:... method _check_parameter_values (line 1442) | def _check_parameter_values(self): class JointsModel (line 1478) | class JointsModel: class JointsData (line 1817) | class JointsData: method reset_state (line 2057) | def reset_state(self, q_j_0: wp.array | None = None): method reset_references (line 2072) | def reset_references(self, q_j_ref: wp.array | None = None, dq_j_ref: ... method clear_residuals (line 2091) | def clear_residuals(self): method clear_constraint_reactions (line 2098) | def clear_constraint_reactions(self): method clear_actuation_forces (line 2104) | def clear_actuation_forces(self): method clear_wrenches (line 2110) | def clear_wrenches(self): method clear_all (line 2120) | def clear_all(self): FILE: newton/_src/solvers/kamino/_src/core/materials.py class MaterialMuxMode (line 75) | class MaterialMuxMode(IntEnum): class MaterialDescriptor (line 95) | class MaterialDescriptor(Descriptor): method __repr__ (line 175) | def __repr__(self) -> str: class MaterialPairProperties (line 192) | class MaterialPairProperties: class MaterialsModel (line 233) | class MaterialsModel: class MaterialPairsModel (line 285) | class MaterialPairsModel: function material_average (line 338) | def material_average( function material_max (line 356) | def material_max( function material_min (line 374) | def material_min( function make_get_material_pair_properties (line 391) | def make_get_material_pair_properties(muxmode: MaterialMuxMode = Materia... class MaterialManager (line 474) | class MaterialManager: method __init__ (line 485) | def __init__( method num_materials (line 526) | def num_materials(self) -> int: method num_material_pairs (line 533) | def num_material_pairs(self) -> int: method materials (line 541) | def materials(self) -> list[MaterialDescriptor]: method pairs (line 548) | def pairs(self) -> list[list[MaterialPairProperties]]: method default (line 555) | def default(self) -> MaterialDescriptor: method default (line 562) | def default(self, material: MaterialDescriptor): method default_pair (line 577) | def default_pair(self) -> MaterialPairProperties: method has_material (line 583) | def has_material(self, name: str) -> bool: method register (line 598) | def register(self, material: MaterialDescriptor) -> int: method register_pair (line 633) | def register_pair( method configure_pair (line 659) | def configure_pair(self, first: int | str, second: int | str, material... method merge (line 679) | def merge(self, other: "MaterialManager"): method __getitem__ (line 703) | def __getitem__(self, key) -> MaterialDescriptor: method index (line 734) | def index(self, key: str | int) -> int: method restitution_vector (line 767) | def restitution_vector(self) -> np.ndarray: method restitution_matrix (line 787) | def restitution_matrix(self) -> np.ndarray: method static_friction_vector (line 817) | def static_friction_vector(self) -> np.ndarray: method static_friction_matrix (line 837) | def static_friction_matrix(self) -> np.ndarray: method dynamic_friction_vector (line 867) | def dynamic_friction_vector(self) -> np.ndarray: method dynamic_friction_matrix (line 887) | def dynamic_friction_matrix(self) -> np.ndarray: FILE: newton/_src/solvers/kamino/_src/core/math.py function squared_norm (line 91) | def squared_norm(x: Any) -> Float: function R_x (line 101) | def R_x(theta: float32) -> mat33f: function R_y (line 117) | def R_y(theta: float32) -> mat33f: function R_z (line 133) | def R_z(theta: float32) -> mat33f: function unskew (line 149) | def unskew(S: mat33f) -> vec3f: function G_of (line 168) | def G_of(q: quatf) -> mat34f: function H_of (line 195) | def H_of(q: quatf) -> mat34f: function quat_from_vec4 (line 222) | def quat_from_vec4(v: vec4f) -> quatf: function quat_to_vec4 (line 230) | def quat_to_vec4(q: quatf) -> vec4f: function quat_conj (line 238) | def quat_conj(q: quatf) -> quatf: function quat_positive (line 247) | def quat_positive(q: quatf) -> quatf: function quat_imaginary (line 260) | def quat_imaginary(q: quatf) -> vec3f: function quat_apply (line 269) | def quat_apply(q: quatf, v: vec3f) -> vec3f: function quat_derivative (line 282) | def quat_derivative(q: quatf, omega: vec3f) -> quatf: function quat_log (line 299) | def quat_log(q: quatf) -> vec3f: function quat_log_decomposed (line 327) | def quat_log_decomposed(q: quatf) -> vec4f: function quat_exp (line 360) | def quat_exp(v: vec3f) -> quatf: function quat_product (line 393) | def quat_product(q1: quatf, q2: quatf) -> quatf: function quat_box_plus (line 413) | def quat_box_plus(q: quatf, v: vec3f) -> quatf: function quat_from_x_rot (line 429) | def quat_from_x_rot(angle_rad: float32) -> quatf: function quat_from_y_rot (line 437) | def quat_from_y_rot(angle_rad: float32) -> quatf: function quat_from_z_rot (line 445) | def quat_from_z_rot(angle_rad: float32) -> quatf: function quat_to_euler_xyz (line 453) | def quat_to_euler_xyz(q: quatf) -> vec3f: function quat_from_euler_xyz (line 471) | def quat_from_euler_xyz(rpy: vec3f) -> quatf: function quat_left_jacobian_inverse (line 479) | def quat_left_jacobian_inverse(q: quatf) -> mat33f: function quat_normalized_apply (line 503) | def quat_normalized_apply(q: quatf, v: vec3f) -> vec3f: function quat_conj_normalized_apply (line 514) | def quat_conj_normalized_apply(q: quatf, v: vec3f) -> vec3f: function quat_twist_angle (line 525) | def quat_twist_angle(q: quatf, axis: vec3f) -> wp.float32: function unit_quat_apply (line 546) | def unit_quat_apply(q: quatf, v: vec3f) -> vec3f: function unit_quat_conj_apply (line 556) | def unit_quat_conj_apply(q: quatf, v: vec3f) -> vec3f: function unit_quat_to_rotation_matrix (line 567) | def unit_quat_to_rotation_matrix(q: quatf) -> mat33f: function unit_quat_conj_to_rotation_matrix (line 584) | def unit_quat_conj_to_rotation_matrix(q: quatf) -> mat33f: function unit_quat_apply_jacobian (line 602) | def unit_quat_apply_jacobian(q: quatf, v: vec3f) -> mat34f: function unit_quat_conj_apply_jacobian (line 635) | def unit_quat_conj_apply_jacobian(q: quatf, v: vec3f) -> mat34f: function screw (line 673) | def screw(linear: vec3f, angular: vec3f) -> vec6f: function screw_linear (line 688) | def screw_linear(s: vec6f) -> vec3f: function screw_angular (line 702) | def screw_angular(s: vec6f) -> vec3f: function screw_transform_matrix_from_points (line 716) | def screw_transform_matrix_from_points(r_A: vec3f, r_B: vec3f) -> mat66f: function contact_wrench_matrix_from_points (line 761) | def contact_wrench_matrix_from_points(r_k: vec3f, r_i: vec3f) -> mat63f: function expand6d (line 797) | def expand6d(X: mat33f) -> mat66f: function compute_body_twist_update_with_eom (line 827) | def compute_body_twist_update_with_eom( function compute_body_pose_update_with_logmap (line 852) | def compute_body_pose_update_with_logmap( function tril_index (line 877) | def tril_index(row: Any, col: Any) -> Any: FILE: newton/_src/solvers/kamino/_src/core/model.py class ModelKaminoInfo (line 66) | class ModelKaminoInfo: class ModelKamino (line 434) | class ModelKamino: method device (line 489) | def device(self) -> wp.DeviceLike: method requires_grad (line 494) | def requires_grad(self) -> bool: method data (line 502) | def data( method state (line 614) | def state(self, requires_grad: bool = False, device: wp.DeviceLike = N... method control (line 644) | def control(self, requires_grad: bool = False, device: wp.DeviceLike =... method from_newton (line 671) | def from_newton(model: Model) -> ModelKamino: FILE: newton/_src/solvers/kamino/_src/core/shapes.py function is_primitive_geo_type (line 53) | def is_primitive_geo_type(geo_type: GeoType) -> bool: function is_explicit_geo_type (line 66) | def is_explicit_geo_type(geo_type: GeoType) -> bool: class ShapeDescriptor (line 75) | class ShapeDescriptor(ABC, Descriptor): method __init__ (line 78) | def __init__(self, geo_type: GeoType, name: str = "", uid: str | None ... method __hash__ (line 91) | def __hash__(self) -> int: method __repr__ (line 96) | def __repr__(self): method type (line 101) | def type(self) -> GeoType: method is_solid (line 106) | def is_solid(self) -> bool: method paramsvec (line 112) | def paramsvec(self) -> vec4f: method params (line 117) | def params(self) -> ShapeParamsLike: method data (line 122) | def data(self) -> ShapeDataLike: class EmptyShape (line 131) | class EmptyShape(ShapeDescriptor): method __init__ (line 136) | def __init__(self, name: str = "empty", uid: str | None = None): method __repr__ (line 140) | def __repr__(self): method paramsvec (line 146) | def paramsvec(self) -> vec4f: method params (line 151) | def params(self) -> ShapeParamsLike: method data (line 156) | def data(self) -> None: class SphereShape (line 160) | class SphereShape(ShapeDescriptor): method __init__ (line 168) | def __init__(self, radius: float, name: str = "sphere", uid: str | Non... method __repr__ (line 173) | def __repr__(self): method paramsvec (line 179) | def paramsvec(self) -> vec4f: method params (line 184) | def params(self) -> float: method data (line 189) | def data(self) -> None: class CylinderShape (line 193) | class CylinderShape(ShapeDescriptor): method __init__ (line 202) | def __init__(self, radius: float, half_height: float, name: str = "cyl... method __repr__ (line 208) | def __repr__(self): method paramsvec (line 214) | def paramsvec(self) -> vec4f: method params (line 219) | def params(self) -> tuple[float, float]: method data (line 224) | def data(self) -> None: class ConeShape (line 228) | class ConeShape(ShapeDescriptor): method __init__ (line 237) | def __init__(self, radius: float, half_height: float, name: str = "con... method __repr__ (line 243) | def __repr__(self): method paramsvec (line 249) | def paramsvec(self) -> vec4f: method params (line 254) | def params(self) -> tuple[float, float]: method data (line 259) | def data(self) -> None: class CapsuleShape (line 263) | class CapsuleShape(ShapeDescriptor): method __init__ (line 272) | def __init__(self, radius: float, half_height: float, name: str = "cap... method __repr__ (line 278) | def __repr__(self): method paramsvec (line 284) | def paramsvec(self) -> vec4f: method params (line 289) | def params(self) -> tuple[float, float]: method data (line 294) | def data(self) -> None: class BoxShape (line 298) | class BoxShape(ShapeDescriptor): method __init__ (line 308) | def __init__(self, hx: float, hy: float, hz: float, name: str = "box",... method __repr__ (line 315) | def __repr__(self): method paramsvec (line 321) | def paramsvec(self) -> vec4f: method params (line 326) | def params(self) -> tuple[float, float, float]: method data (line 331) | def data(self) -> None: class EllipsoidShape (line 335) | class EllipsoidShape(ShapeDescriptor): method __init__ (line 345) | def __init__(self, a: float, b: float, c: float, name: str = "ellipsoi... method __repr__ (line 352) | def __repr__(self): method paramsvec (line 358) | def paramsvec(self) -> vec4f: method params (line 363) | def params(self) -> tuple[float, float, float]: method data (line 368) | def data(self) -> None: class PlaneShape (line 372) | class PlaneShape(ShapeDescriptor): method __init__ (line 381) | def __init__(self, normal: Vec3, distance: float, name: str = "plane",... method __repr__ (line 387) | def __repr__(self): method paramsvec (line 395) | def paramsvec(self) -> vec4f: method params (line 400) | def params(self) -> tuple[float, float, float, float]: method data (line 405) | def data(self) -> None: class MeshShape (line 414) | class MeshShape(ShapeDescriptor): method __init__ (line 434) | def __init__( method __hash__ (line 487) | def __hash__(self) -> int: method __repr__ (line 492) | def __repr__(self): method paramsvec (line 508) | def paramsvec(self) -> vec4f: method params (line 513) | def params(self) -> tuple[float, float, float]: method data (line 519) | def data(self) -> Mesh: method vertices (line 523) | def vertices(self) -> np.ndarray: method indices (line 528) | def indices(self) -> np.ndarray: method normals (line 533) | def normals(self) -> np.ndarray | None: method uvs (line 538) | def uvs(self) -> np.ndarray | None: method color (line 543) | def color(self) -> Vec3 | None: class HFieldShape (line 548) | class HFieldShape(ShapeDescriptor): method __init__ (line 555) | def __init__(self, name: str = "hfield", uid: str | None = None): method __repr__ (line 561) | def __repr__(self): method paramsvec (line 566) | def paramsvec(self) -> vec4f: method params (line 571) | def params(self) -> tuple[float, float, float]: function max_contacts_for_shape_pair (line 601) | def max_contacts_for_shape_pair(type_a: int, type_b: int) -> tuple[int, ... FILE: newton/_src/solvers/kamino/_src/core/size.py class SizeKamino (line 34) | class SizeKamino: method __repr__ (line 191) | def __repr__(self): FILE: newton/_src/solvers/kamino/_src/core/state.py class StateKamino (line 32) | class StateKamino: method copy_to (line 125) | def copy_to(self, other: StateKamino) -> None: method copy_from (line 139) | def copy_from(self, other: StateKamino) -> None: method convert_to_body_com_state (line 162) | def convert_to_body_com_state( method convert_to_body_frame_state (line 194) | def convert_to_body_frame_state( method from_newton (line 227) | def from_newton( method to_newton (line 321) | def to_newton(model: Model, state: StateKamino, convert_to_body_frame:... FILE: newton/_src/solvers/kamino/_src/core/time.py class TimeModel (line 39) | class TimeModel: method set_uniform_timestep (line 62) | def set_uniform_timestep(self, dt: float): method set_timesteps (line 81) | def set_timesteps(self, dt: list[float] | np.ndarray): class TimeData (line 108) | class TimeData: method reset (line 131) | def reset(self): function _advance_time (line 145) | def _advance_time( function advance_time (line 172) | def advance_time(model: TimeModel, data: TimeData): FILE: newton/_src/solvers/kamino/_src/core/types.py function override (line 25) | def override(func): class vec1i (line 81) | class vec1i(wp.types.vector(length=1, dtype=int32)): class vec1f (line 85) | class vec1f(wp.types.vector(length=1, dtype=float32)): class vec2i (line 89) | class vec2i(wp.types.vector(length=2, dtype=int32)): class vec2f (line 93) | class vec2f(wp.types.vector(length=2, dtype=float32)): class vec3i (line 97) | class vec3i(wp.types.vector(length=3, dtype=int32)): class vec3f (line 101) | class vec3f(wp.types.vector(length=3, dtype=float32)): class vec4i (line 105) | class vec4i(wp.types.vector(length=4, dtype=int32)): class vec4f (line 109) | class vec4f(wp.types.vector(length=4, dtype=float32)): class vec5i (line 113) | class vec5i(wp.types.vector(length=5, dtype=int32)): class vec5f (line 117) | class vec5f(wp.types.vector(length=5, dtype=float32)): class vec6i (line 121) | class vec6i(wp.types.vector(length=6, dtype=int32)): class vec6f (line 125) | class vec6f(wp.types.vector(length=6, dtype=float32)): class vec7f (line 129) | class vec7f(wp.types.vector(length=7, dtype=float32)): class vec8f (line 133) | class vec8f(wp.types.vector(length=8, dtype=float32)): class vec14f (line 137) | class vec14f(wp.types.vector(length=14, dtype=float32)): class mat22f (line 146) | class mat22f(wp.types.matrix(shape=(2, 2), dtype=float32)): class mat33f (line 150) | class mat33f(wp.types.matrix(shape=(3, 3), dtype=float32)): class mat44f (line 154) | class mat44f(wp.types.matrix(shape=(4, 4), dtype=float32)): class mat61f (line 158) | class mat61f(wp.types.matrix(shape=(6, 1), dtype=float32)): class mat16f (line 162) | class mat16f(wp.types.matrix(shape=(1, 6), dtype=float32)): class mat62f (line 166) | class mat62f(wp.types.matrix(shape=(6, 2), dtype=float32)): class mat26f (line 170) | class mat26f(wp.types.matrix(shape=(2, 6), dtype=float32)): class mat63f (line 174) | class mat63f(wp.types.matrix(shape=(6, 3), dtype=float32)): class mat36f (line 178) | class mat36f(wp.types.matrix(shape=(3, 6), dtype=float32)): class mat64f (line 182) | class mat64f(wp.types.matrix(shape=(6, 4), dtype=float32)): class mat46f (line 186) | class mat46f(wp.types.matrix(shape=(4, 6), dtype=float32)): class mat65f (line 190) | class mat65f(wp.types.matrix(shape=(6, 5), dtype=float32)): class mat56f (line 194) | class mat56f(wp.types.matrix(shape=(5, 6), dtype=float32)): class mat66f (line 198) | class mat66f(wp.types.matrix(shape=(6, 6), dtype=float32)): class mat34f (line 202) | class mat34f(wp.types.matrix(shape=(3, 4), dtype=float32)): class mat43f (line 206) | class mat43f(wp.types.matrix(shape=(4, 3), dtype=float32)): class mat38f (line 210) | class mat38f(wp.types.matrix(shape=(3, 8), dtype=float32)): class mat83f (line 214) | class mat83f(wp.types.matrix(shape=(8, 3), dtype=float32)): class quatf (line 223) | class quatf(wp.types.quaternion(dtype=float32)): class transformf (line 232) | class transformf(wp.types.transformation(dtype=float32)): class Axis (line 241) | class Axis(IntEnum): method from_string (line 249) | def from_string(cls, axis_str: str) -> Axis: method from_any (line 260) | def from_any(cls, value: AxisType) -> Axis: method __str__ (line 270) | def __str__(self): method __repr__ (line 274) | def __repr__(self): method __eq__ (line 278) | def __eq__(self, other): method __hash__ (line 286) | def __hash__(self): method to_vector (line 289) | def to_vector(self) -> tuple[float, float, float]: method to_matrix (line 297) | def to_matrix(self) -> Mat33: method to_vec3 (line 305) | def to_vec3(self) -> vec3f: method to_mat33 (line 308) | def to_mat33(self) -> mat33f: function axis_to_vec3 (line 316) | def axis_to_vec3(axis: AxisType | Vec3) -> vec3f: function axis_to_mat33 (line 326) | def axis_to_mat33(axis: AxisType | Vec3) -> mat33f: class Descriptor (line 342) | class Descriptor: method _assert_valid_uid (line 356) | def _assert_valid_uid(uid: str) -> str: method __post_init__ (line 375) | def __post_init__(self): method __hash__ (line 384) | def __hash__(self): method __repr__ (line 388) | def __repr__(self): FILE: newton/_src/solvers/kamino/_src/core/world.py class WorldDescriptor (line 37) | class WorldDescriptor(Descriptor): method has_base_body (line 340) | def has_base_body(self): method base_body_name (line 345) | def base_body_name(self): method has_base_joint (line 350) | def has_base_joint(self): method base_joint_name (line 355) | def base_joint_name(self): method add_body (line 391) | def add_body(self, body: RigidBodyDescriptor): method add_joint (line 417) | def add_joint(self, joint: JointDescriptor): method add_geometry (line 506) | def add_geometry(self, geom: GeometryDescriptor): method add_material (line 525) | def add_material(self, material: MaterialDescriptor): method set_material (line 549) | def set_material(self, material: MaterialDescriptor, index: int): method set_base_body (line 562) | def set_base_body(self, body_idx: int): method set_base_joint (line 577) | def set_base_joint(self, joint_idx: int): FILE: newton/_src/solvers/kamino/_src/dynamics/delassus.py function _build_delassus_elementwise_dense (line 106) | def _build_delassus_elementwise_dense( function _build_delassus_elementwise_sparse (line 197) | def _build_delassus_elementwise_sparse( function _add_joint_armature_diagonal_regularization_dense (line 282) | def _add_joint_armature_diagonal_regularization_dense( function _regularize_delassus_diagonal_dense (line 317) | def _regularize_delassus_diagonal_dense( function _merge_inv_mass_matrix_kernel (line 343) | def _merge_inv_mass_matrix_kernel( function _make_merge_preconditioner_kernel (line 390) | def _make_merge_preconditioner_kernel(block_type: BlockDType): function _add_armature_regularization_sparse (line 446) | def _add_armature_regularization_sparse( function _add_armature_regularization_preconditioned_sparse (line 479) | def _add_armature_regularization_preconditioned_sparse( function _compute_block_sparse_delassus_diagonal (line 516) | def _compute_block_sparse_delassus_diagonal( function _add_matrix_diag_product (line 576) | def _add_matrix_diag_product( function _scale_row_vector_kernel (line 601) | def _scale_row_vector_kernel( function _make_block_sparse_gemv_regularization_kernel (line 626) | def _make_block_sparse_gemv_regularization_kernel(alpha: float32): class DelassusOperator (line 695) | class DelassusOperator: method __init__ (line 700) | def __init__( method num_worlds (line 763) | def num_worlds(self) -> int: method num_maxdims (line 771) | def num_maxdims(self) -> int: method num_maxsize (line 779) | def num_maxsize(self) -> int: method operator (line 787) | def operator(self) -> DenseLinearOperatorData: method solver (line 794) | def solver(self) -> LinearSolverType: method info (line 802) | def info(self) -> DenseSquareMultiLinearInfo: method D (line 809) | def D(self) -> wp.array: method finalize (line 815) | def finalize( method zero (line 903) | def zero(self): method build (line 910) | def build( method regularize (line 1012) | def regularize(self, eta: wp.array): method compute (line 1027) | def compute(self, reset_to_zero: bool = True): method solve (line 1054) | def solve(self, v: wp.array, x: wp.array): method solve_inplace (line 1077) | def solve_inplace(self, x: wp.array): class BlockSparseMatrixFreeDelassusOperator (line 1101) | class BlockSparseMatrixFreeDelassusOperator(BlockSparseLinearOperators): method __init__ (line 1154) | def __init__( method finalize (line 1244) | def finalize( method assign (line 1377) | def assign(self, jacobians: SparseSystemJacobians): method set_needs_update (line 1406) | def set_needs_update(self): method update (line 1412) | def update(self): method set_regularization (line 1532) | def set_regularization(self, eta: wp.array | None): method set_preconditioner (line 1548) | def set_preconditioner(self, preconditioner: wp.array | None): method diagonal (line 1564) | def diagonal(self, diag: wp.array): method compute (line 1616) | def compute(self, reset_to_zero: bool = True): method solve (line 1650) | def solve(self, v: wp.array, x: wp.array): method solve_inplace (line 1680) | def solve_inplace(self, x: wp.array): method info (line 1715) | def info(self) -> DenseSquareMultiLinearInfo | None: method num_matrices (line 1722) | def num_matrices(self) -> int: method max_of_max_dims (line 1729) | def max_of_max_dims(self) -> tuple[int, int]: method sum_of_max_dims (line 1737) | def sum_of_max_dims(self) -> int: method dtype (line 1744) | def dtype(self) -> FloatType: method device (line 1748) | def device(self) -> wp.DeviceLike: method constraint_jacobian (line 1752) | def constraint_jacobian(self) -> BlockSparseMatrices: method matvec (line 1759) | def matvec(self, x: wp.array, y: wp.array, world_mask: wp.array): method matvec_transpose (line 1805) | def matvec_transpose(self, y: wp.array, x: wp.array, world_mask: wp.ar... method gemv (line 1818) | def gemv(self, x: wp.array, y: wp.array, world_mask: wp.array, alpha: ... method gemv_transpose (line 1872) | def gemv_transpose(self, y: wp.array, x: wp.array, world_mask: wp.arra... FILE: newton/_src/solvers/kamino/_src/dynamics/dual.py class DualProblemConfigStruct (line 97) | class DualProblemConfigStruct: class DualProblemData (line 115) | class DualProblemData: function gravity_plus_coriolis_wrench (line 335) | def gravity_plus_coriolis_wrench( function gravity_plus_coriolis_wrench_split (line 350) | def gravity_plus_coriolis_wrench_split( function _build_nonlinear_generalized_force (line 370) | def _build_nonlinear_generalized_force( function _build_generalized_free_velocity (line 412) | def _build_generalized_free_velocity( function _build_free_velocity_bias_joint_dynamics (line 465) | def _build_free_velocity_bias_joint_dynamics( function _build_free_velocity_bias_joint_kinematics (line 508) | def _build_free_velocity_bias_joint_kinematics( function _build_free_velocity_bias_limits (line 558) | def _build_free_velocity_bias_limits( function _build_free_velocity_bias_contacts (line 601) | def _build_free_velocity_bias_contacts( function _build_free_velocity (line 689) | def _build_free_velocity( function _build_free_velocity_sparse (line 766) | def _build_free_velocity_sparse( function _build_dual_preconditioner_all_constraints (line 825) | def _build_dual_preconditioner_all_constraints( function _build_dual_preconditioner_all_constraints_sparse (line 889) | def _build_dual_preconditioner_all_constraints_sparse( function _apply_dual_preconditioner_to_matrix (line 948) | def _apply_dual_preconditioner_to_matrix( function _apply_dual_preconditioner_to_vector (line 996) | def _apply_dual_preconditioner_to_vector( class DualProblem (line 1035) | class DualProblem: class Config (line 1041) | class Config(ConfigBase): method to_struct (line 1052) | def to_struct(self) -> DualProblemConfigStruct: method validate (line 1065) | def validate(self) -> None: method __post_init__ (line 1073) | def __post_init__(self): method __init__ (line 1077) | def __init__( method device (line 1156) | def device(self) -> wp.DeviceLike: method size (line 1163) | def size(self) -> SizeKamino: method config (line 1173) | def config(self) -> list[DualProblem.Config]: method config (line 1180) | def config(self, value: list[DualProblem.Config] | DualProblem.Config): method delassus (line 1188) | def delassus(self) -> DelassusOperator | BlockSparseMatrixFreeDelassus... method data (line 1197) | def data(self) -> DualProblemData: method sparse (line 1204) | def sparse(self) -> bool: method finalize (line 1214) | def finalize( method zero (line 1377) | def zero(self): method build (line 1389) | def build( method _check_config (line 1483) | def _check_config( method _build_nonlinear_generalized_force (line 1509) | def _build_nonlinear_generalized_force(model: ModelKamino, data: DataK... method _build_generalized_free_velocity (line 1531) | def _build_generalized_free_velocity(self, model: ModelKamino, data: D... method _build_free_velocity_bias (line 1555) | def _build_free_velocity_bias( method _build_free_velocity (line 1647) | def _build_free_velocity(self, model: ModelKamino, data: DataKamino, j... method _build_dual_preconditioner (line 1671) | def _build_dual_preconditioner(self): method _apply_dual_preconditioner_to_dual (line 1709) | def _apply_dual_preconditioner_to_dual(self): method _apply_dual_preconditioner_to_matrix (line 1745) | def _apply_dual_preconditioner_to_matrix(self, X: wp.array): method _apply_dual_preconditioner_to_vector (line 1763) | def _apply_dual_preconditioner_to_vector(self, x: wp.array): FILE: newton/_src/solvers/kamino/_src/dynamics/wrenches.py function _compute_joint_dof_body_wrenches_dense (line 40) | def _compute_joint_dof_body_wrenches_dense( function _compute_joint_dof_body_wrenches_sparse (line 111) | def _compute_joint_dof_body_wrenches_sparse( function _compute_joint_cts_body_wrenches_dense (line 171) | def _compute_joint_cts_body_wrenches_dense( function _compute_limit_cts_body_wrenches_dense (line 270) | def _compute_limit_cts_body_wrenches_dense( function _compute_contact_cts_body_wrenches_dense (line 358) | def _compute_contact_cts_body_wrenches_dense( function _compute_cts_body_wrenches_sparse (line 449) | def _compute_cts_body_wrenches_sparse( function compute_joint_dof_body_wrenches_dense (line 519) | def compute_joint_dof_body_wrenches_dense( function compute_joint_dof_body_wrenches_sparse (line 558) | def compute_joint_dof_body_wrenches_sparse( function compute_joint_dof_body_wrenches (line 595) | def compute_joint_dof_body_wrenches( function compute_constraint_body_wrenches_dense (line 612) | def compute_constraint_body_wrenches_dense( function compute_constraint_body_wrenches_sparse (line 713) | def compute_constraint_body_wrenches_sparse( function compute_constraint_body_wrenches (line 760) | def compute_constraint_body_wrenches( FILE: newton/_src/solvers/kamino/_src/geometry/aggregation.py function _aggregate_contact_force_per_body (line 42) | def _aggregate_contact_force_per_body( function _aggregate_static_contact_flag_per_body (line 116) | def _aggregate_static_contact_flag_per_body( function _aggregate_contact_force_per_body_geom (line 175) | def _aggregate_contact_force_per_body_geom( function _aggregate_body_pair_contact_flag_per_world (line 249) | def _aggregate_body_pair_contact_flag_per_world( class ContactAggregationData (line 323) | class ContactAggregationData: class ContactAggregation (line 397) | class ContactAggregation: method __init__ (line 414) | def __init__( method body_net_force (line 459) | def body_net_force(self) -> wp.array: method body_contact_flag (line 464) | def body_contact_flag(self) -> wp.array: method body_static_contact_flag (line 469) | def body_static_contact_flag(self) -> wp.array: method geom_net_force (line 474) | def geom_net_force(self) -> wp.array: method geom_contact_flag (line 479) | def geom_contact_flag(self) -> wp.array: method body_pair_contact_flag (line 484) | def body_pair_contact_flag(self) -> wp.array: method finalize (line 492) | def finalize( method compute (line 539) | def compute(self, skip_if_no_contacts: bool = False): method set_body_pair_filter (line 641) | def set_body_pair_filter(self, body_a_idx: int, body_b_idx: int) -> None: method compute_body_pair_contact (line 658) | def compute_body_pair_contact(self) -> None: FILE: newton/_src/solvers/kamino/_src/geometry/contacts.py class ContactMode (line 125) | class ContactMode(IntEnum): method make_compute_mode_func (line 159) | def make_compute_mode_func(vn_tol: float = DEFAULT_VN_MIN, vt_tol: flo... class ContactsKaminoData (line 198) | class ContactsKaminoData: method _default_num_world_max_contacts (line 206) | def _default_num_world_max_contacts() -> list[int]: method clear (line 335) | def clear(self): method reset (line 342) | def reset(self): function make_contact_frame_znorm (line 363) | def make_contact_frame_znorm(n: vec3f) -> mat33f: function make_contact_frame_xnorm (line 375) | def make_contact_frame_xnorm(n: vec3f) -> mat33f: class ContactsKamino (line 391) | class ContactsKamino: method __init__ (line 400) | def __init__( method default_max_world_contacts (line 426) | def default_max_world_contacts(self) -> int: method default_max_world_contacts (line 434) | def default_max_world_contacts(self, max_contacts: int): method device (line 446) | def device(self) -> wp.DeviceLike: method data (line 453) | def data(self) -> ContactsKaminoData: method model_max_contacts_host (line 461) | def model_max_contacts_host(self) -> int: method world_max_contacts_host (line 470) | def world_max_contacts_host(self) -> list[int]: method model_max_contacts (line 479) | def model_max_contacts(self) -> wp.array: method model_active_contacts (line 488) | def model_active_contacts(self) -> wp.array: method world_max_contacts (line 497) | def world_max_contacts(self) -> wp.array: method world_active_contacts (line 506) | def world_active_contacts(self) -> wp.array: method wid (line 515) | def wid(self) -> wp.array: method cid (line 524) | def cid(self) -> wp.array: method gid_AB (line 533) | def gid_AB(self) -> wp.array: method bid_AB (line 542) | def bid_AB(self) -> wp.array: method position_A (line 551) | def position_A(self) -> wp.array: method position_B (line 560) | def position_B(self) -> wp.array: method gapfunc (line 569) | def gapfunc(self) -> wp.array: method frame (line 579) | def frame(self) -> wp.array: method material (line 588) | def material(self) -> wp.array: method key (line 597) | def key(self) -> wp.array: method reaction (line 611) | def reaction(self) -> wp.array: method velocity (line 621) | def velocity(self) -> wp.array: method mode (line 631) | def mode(self) -> wp.array: method finalize (line 645) | def finalize(self, capacity: int | list[int], device: wp.DeviceLike = ... method clear (line 719) | def clear(self): method reset (line 727) | def reset(self): method _assert_has_data (line 739) | def _assert_has_data(self): function _convert_contacts_newton_to_kamino (line 750) | def _convert_contacts_newton_to_kamino( function _convert_contacts_kamino_to_newton (line 883) | def _convert_contacts_kamino_to_newton( function convert_contacts_newton_to_kamino (line 952) | def convert_contacts_newton_to_kamino( function convert_contacts_kamino_to_newton (line 1027) | def convert_contacts_kamino_to_newton( FILE: newton/_src/solvers/kamino/_src/geometry/detector.py class CollisionPipelineType (line 65) | class CollisionPipelineType(IntEnum): method from_string (line 84) | def from_string(cls, s: str) -> CollisionPipelineType: method __str__ (line 92) | def __str__(self): method __repr__ (line 97) | def __repr__(self): class BroadPhaseType (line 102) | class BroadPhaseType(IntEnum): method from_string (line 132) | def from_string(cls, s: str) -> BroadPhaseType: method __str__ (line 140) | def __str__(self): method __repr__ (line 145) | def __repr__(self): class CollisionDetector (line 155) | class CollisionDetector: method __init__ (line 184) | def __init__( method device (line 235) | def device(self) -> wp.DeviceLike: method model (line 240) | def model(self) -> ModelKamino | None: method config (line 245) | def config(self) -> CollisionDetector.Config | None: method contacts (line 250) | def contacts(self) -> ContactsKamino | None: method model_max_contacts (line 255) | def model_max_contacts(self) -> int: method world_max_contacts (line 260) | def world_max_contacts(self) -> list[int]: method finalize (line 268) | def finalize( method collide (line 382) | def collide(self, data: DataKamino, state: StateKamino, contacts: Cont... FILE: newton/_src/solvers/kamino/_src/geometry/keying.py function make_bitmask (line 38) | def make_bitmask(num_bits: int) -> int: function build_pair_key2 (line 63) | def build_pair_key2(index_A: wp.uint32, index_B: wp.uint32) -> wp.uint64: function make_build_pair_key3_func (line 83) | def make_build_pair_key3_func(main_key_bits: int, aux_key_bits: int | No... function binary_search_find_pair (line 133) | def binary_search_find_pair( function binary_search_find_range_start (line 171) | def binary_search_find_range_start( function uint64_sentinel_value (line 209) | def uint64_sentinel_value() -> wp.uint64: ... function _prepare_key_sort (line 218) | def _prepare_key_sort( function prepare_key_sort (line 255) | def prepare_key_sort( class KeySorter (line 287) | class KeySorter: method __init__ (line 292) | def __init__(self, max_num_keys: int, device: wp.DeviceLike = None): method device (line 326) | def device(self) -> wp.DeviceLike: method sorted_keys (line 331) | def sorted_keys(self) -> wp.array: method sorted_keys_int64 (line 336) | def sorted_keys_int64(self) -> wp.array: method sorted_to_unsorted_map (line 341) | def sorted_to_unsorted_map(self) -> wp.array: method sort (line 345) | def sort(self, num_active_keys: wp.array, keys: wp.array): FILE: newton/_src/solvers/kamino/_src/geometry/primitive/broadphase.py class BoundingVolumeType (line 62) | class BoundingVolumeType(IntEnum): method from_string (line 72) | def from_string(cls, s: str) -> BoundingVolumeType: method __str__ (line 80) | def __str__(self): method __repr__ (line 85) | def __repr__(self): class BoundingVolumesData (line 91) | class BoundingVolumesData: class CollisionCandidatesModel (line 121) | class CollisionCandidatesModel: method _default_world_geom_pairs (line 128) | def _default_world_geom_pairs() -> list[int]: class CollisionCandidatesData (line 163) | class CollisionCandidatesData: method clear (line 197) | def clear(self): method zero (line 204) | def zero(self): function bs_sphere (line 219) | def bs_sphere(radius: float32) -> float32: function bs_cylinder (line 224) | def bs_cylinder(radius: float32, half_height: float32) -> float32: function bs_cone (line 229) | def bs_cone(radius: float32, half_height: float32) -> float32: function bs_capsule (line 234) | def bs_capsule(radius: float32, half_height: float32) -> float32: function bs_ellipsoid (line 239) | def bs_ellipsoid(abc: vec3f) -> float32: function bs_box (line 244) | def bs_box(half_extents: vec3f) -> float32: function bs_plane (line 251) | def bs_plane(normal: vec3f, distance: float32) -> float32: function bs_geom (line 256) | def bs_geom(sid: int32, params: vec4f, margin: float32) -> float32: function has_bs_overlap (line 284) | def has_bs_overlap(pose1: transformf, pose2: transformf, radius1: float3... function compute_tight_aabb_from_local_extents (line 306) | def compute_tight_aabb_from_local_extents(pose: transformf, extents: vec... function aabb_sphere (line 339) | def aabb_sphere(pose: transformf, radius: float32, margin: float32) -> v... function aabb_cylinder (line 349) | def aabb_cylinder(pose: transformf, radius: float32, half_height: float3... function aabb_cone (line 355) | def aabb_cone(pose: transformf, radius: float32, half_height: float32, m... function aabb_capsule (line 361) | def aabb_capsule(pose: transformf, radius: float32, half_height: float32... function aabb_ellipsoid (line 367) | def aabb_ellipsoid(pose: transformf, abc: vec3f, margin: float32) -> vec6f: function aabb_box (line 373) | def aabb_box(pose: transformf, half_extents: vec3f, margin: float32) -> ... function aabb_plane (line 379) | def aabb_plane(pose: transformf, normal: vec3f, distance: float32, margi... function aabb_geom (line 384) | def aabb_geom(sid: int32, params: vec4f, margin: float32, pose: transfor... function has_aabb_overlap (line 415) | def has_aabb_overlap(aabb1: vec6f, aabb2: vec6f) -> wp.bool: function add_active_pair (line 428) | def add_active_pair( function _update_geometries_state_and_aabb (line 472) | def _update_geometries_state_and_aabb( function _update_geometries_state_and_bs (line 515) | def _update_geometries_state_and_bs( function _nxn_broadphase_aabb (line 558) | def _nxn_broadphase_aabb( function _nxn_broadphase_bs (line 638) | def _nxn_broadphase_bs( function update_geoms_aabb (line 729) | def update_geoms_aabb( function nxn_broadphase_aabb (line 767) | def nxn_broadphase_aabb( function update_geoms_bs (line 805) | def update_geoms_bs( function nxn_broadphase_bs (line 843) | def nxn_broadphase_bs( function primitive_broadphase_explicit (line 884) | def primitive_broadphase_explicit( FILE: newton/_src/solvers/kamino/_src/geometry/primitive/narrowphase.py class Box (line 97) | class Box: class Sphere (line 106) | class Sphere: class Capsule (line 115) | class Capsule: class Cylinder (line 126) | class Cylinder: class Plane (line 137) | class Plane: class Ellipsoid (line 145) | class Ellipsoid: function make_box (line 154) | def make_box(pose: transformf, params: vec4f, gid: int32, bid: int32) ->... function make_sphere (line 165) | def make_sphere(pose: transformf, params: vec4f, gid: int32, bid: int32)... function make_capsule (line 176) | def make_capsule(pose: transformf, params: vec4f, gid: int32, bid: int32... function make_cylinder (line 191) | def make_cylinder(pose: transformf, params: vec4f, gid: int32, bid: int3... function make_plane (line 206) | def make_plane(pose: transformf, params: vec4f, gid: int32, bid: int32) ... function make_ellipsoid (line 218) | def make_ellipsoid(pose: transformf, params: vec4f, gid: int32, bid: int... function add_single_contact (line 235) | def add_single_contact( function make_add_multiple_contacts (line 322) | def make_add_multiple_contacts(MAX_CONTACTS: int, SHARED_NORMAL: bool): function sphere_sphere (line 456) | def sphere_sphere( function sphere_cylinder (line 516) | def sphere_cylinder( function sphere_cone (line 583) | def sphere_cone(): function sphere_capsule (line 588) | def sphere_capsule( function sphere_box (line 655) | def sphere_box( function sphere_ellipsoid (line 715) | def sphere_ellipsoid(): function cylinder_cylinder (line 720) | def cylinder_cylinder(): function cylinder_cone (line 725) | def cylinder_cone(): function cylinder_capsule (line 730) | def cylinder_capsule(): function cylinder_box (line 735) | def cylinder_box(): function cylinder_ellipsoid (line 740) | def cylinder_ellipsoid(): function cone_cone (line 745) | def cone_cone(): function cone_capsule (line 750) | def cone_capsule(): function cone_box (line 755) | def cone_box(): function cone_ellipsoid (line 760) | def cone_ellipsoid(): function capsule_capsule (line 765) | def capsule_capsule( function capsule_box (line 836) | def capsule_box( function capsule_ellipsoid (line 904) | def capsule_ellipsoid(): function box_box (line 909) | def box_box( function box_ellipsoid (line 971) | def box_ellipsoid(): function ellipsoid_ellipsoid (line 976) | def ellipsoid_ellipsoid(): function plane_sphere (line 981) | def plane_sphere( function plane_box (line 1045) | def plane_box( function plane_ellipsoid (line 1107) | def plane_ellipsoid( function plane_capsule (line 1169) | def plane_capsule( function plane_cylinder (line 1279) | def plane_cylinder( function _primitive_narrowphase (line 1346) | def _primitive_narrowphase( function primitive_narrowphase (line 1786) | def primitive_narrowphase( FILE: newton/_src/solvers/kamino/_src/geometry/primitive/pipeline.py class CollisionPipelinePrimitive (line 39) | class CollisionPipelinePrimitive: method __init__ (line 47) | def __init__( method device (line 94) | def device(self) -> wp.DeviceLike: method finalize (line 102) | def finalize( method collide (line 179) | def collide(self, data: DataKamino, state: StateKamino, contacts: Cont... method _assert_finalized (line 218) | def _assert_finalized(self): method _assert_shapes_supported (line 232) | def _assert_shapes_supported(model: ModelKamino, skip_checks: bool = F... FILE: newton/_src/solvers/kamino/_src/geometry/unified.py class ContactWriterDataKamino (line 55) | class ContactWriterDataKamino: function convert_geom_params_to_newton_scale (line 101) | def convert_geom_params_to_newton_scale(geo_type: int32, params: vec4f) ... function write_contact_unified_kamino (line 129) | def write_contact_unified_kamino( function _compute_collision_radius (line 255) | def _compute_collision_radius(geo_type: int32, scale: vec3f) -> float32: function _convert_geom_data_kamino_to_newton (line 279) | def _convert_geom_data_kamino_to_newton( function _update_geom_poses_and_compute_aabbs (line 321) | def _update_geom_poses_and_compute_aabbs( class CollisionPipelineUnifiedKamino (line 411) | class CollisionPipelineUnifiedKamino: method __init__ (line 420) | def __init__( method device (line 561) | def device(self) -> wp.DeviceLike: method model (line 566) | def model(self) -> ModelKamino: method collide (line 574) | def collide(self, data: DataKamino, state: StateKamino, contacts: Cont... method _convert_geometry_data (line 621) | def _convert_geometry_data(self): method _update_geom_data (line 649) | def _update_geom_data(self, data: DataKamino, state: StateKamino): method _run_broadphase (line 681) | def _run_broadphase(self): method _run_narrowphase (line 732) | def _run_narrowphase(self, data: DataKamino, contacts: ContactsKamino): FILE: newton/_src/solvers/kamino/_src/integrators/euler.py function euler_semi_implicit_with_logmap (line 60) | def euler_semi_implicit_with_logmap( function _integrate_semi_implicit_euler_inplace (line 103) | def _integrate_semi_implicit_euler_inplace( function integrate_euler_semi_implicit (line 161) | def integrate_euler_semi_implicit(model: ModelKamino, data: DataKamino, ... class IntegratorEuler (line 187) | class IntegratorEuler(IntegratorBase): method __init__ (line 209) | def __init__(self, model: ModelKamino, alpha: float | None = None): method integrate (line 232) | def integrate( FILE: newton/_src/solvers/kamino/_src/integrators/integrator.py class IntegratorBase (line 41) | class IntegratorBase: method __init__ (line 50) | def __init__(self, model: ModelKamino): method integrate (line 64) | def integrate( FILE: newton/_src/solvers/kamino/_src/integrators/moreau.py function moreau_jean_semi_implicit_with_logmap (line 63) | def moreau_jean_semi_implicit_with_logmap( function _integrate_moreau_jean_first_inplace (line 106) | def _integrate_moreau_jean_first_inplace( function _integrate_moreau_jean_second_inplace (line 140) | def _integrate_moreau_jean_second_inplace( class IntegratorMoreauJean (line 199) | class IntegratorMoreauJean(IntegratorBase): method __init__ (line 239) | def __init__(self, model: ModelKamino, alpha: float | None = None): method integrate (line 262) | def integrate( method _integrate1 (line 328) | def _integrate1(self, model: ModelKamino, data: DataKamino): method _integrate2 (line 354) | def _integrate2(self, model: ModelKamino, data: DataKamino): FILE: newton/_src/solvers/kamino/_src/kinematics/constraints.py function get_max_constraints_per_world (line 40) | def get_max_constraints_per_world( function make_unilateral_constraints_info (line 82) | def make_unilateral_constraints_info( function _update_constraints_info (line 262) | def _update_constraints_info( function _unpack_joint_constraint_solutions (line 303) | def _unpack_joint_constraint_solutions( function _unpack_limit_constraint_solutions (line 351) | def _unpack_limit_constraint_solutions( function _unpack_contact_constraint_solutions (line 400) | def _unpack_contact_constraint_solutions( function update_constraints_info (line 462) | def update_constraints_info( function unpack_constraint_solutions (line 491) | def unpack_constraint_solutions( FILE: newton/_src/solvers/kamino/_src/kinematics/jacobians.py function make_store_joint_jacobian_dense_func (line 64) | def make_store_joint_jacobian_dense_func(axes: Any): function make_store_joint_jacobian_sparse_func (line 126) | def make_store_joint_jacobian_sparse_func(axes: Any): function store_joint_cts_jacobian_dense (line 170) | def store_joint_cts_jacobian_dense( function store_joint_dofs_jacobian_dense (line 227) | def store_joint_dofs_jacobian_dense( function store_joint_cts_jacobian_sparse (line 284) | def store_joint_cts_jacobian_sparse( function store_joint_dofs_jacobian_sparse (line 338) | def store_joint_dofs_jacobian_sparse( function _build_joint_jacobians_dense (line 397) | def _build_joint_jacobians_dense( function _configure_jacobians_sparse (line 486) | def _configure_jacobians_sparse( function _build_joint_jacobians_sparse (line 500) | def _build_joint_jacobians_sparse( function _build_limit_jacobians_dense (line 588) | def _build_limit_jacobians_dense( function _build_limit_jacobians_sparse (line 658) | def _build_limit_jacobians_sparse( function _build_contact_jacobians_dense (line 732) | def _build_contact_jacobians_dense( function _build_contact_jacobians_sparse (line 814) | def _build_contact_jacobians_sparse( function store_col_major_jacobian_block (line 898) | def store_col_major_jacobian_block( function _update_col_major_joint_jacobians (line 915) | def _update_col_major_joint_jacobians( function _update_col_major_limit_jacobians (line 992) | def _update_col_major_limit_jacobians( function _update_col_major_contact_jacobians (line 1074) | def _update_col_major_contact_jacobians( class DenseSystemJacobiansData (line 1159) | class DenseSystemJacobiansData: method __init__ (line 1164) | def __init__(self): class DenseSystemJacobians (line 1203) | class DenseSystemJacobians: method __init__ (line 1208) | def __init__( method data (line 1247) | def data(self) -> DenseSystemJacobiansData: method finalize (line 1253) | def finalize( method build (line 1312) | def build( class SparseSystemJacobians (line 1426) | class SparseSystemJacobians: method __init__ (line 1431) | def __init__( method finalize (line 1475) | def finalize( method build (line 1677) | def build( class ColMajorSparseConstraintJacobians (line 1816) | class ColMajorSparseConstraintJacobians(BlockSparseLinearOperators): method __init__ (line 1830) | def __init__( method finalize (line 1866) | def finalize( method update (line 2023) | def update( FILE: newton/_src/solvers/kamino/_src/kinematics/joints.py function correct_rotational_coord (line 79) | def correct_rotational_coord(q_j_in: float32, q_j_ref: float32 = 0.0, q_... function correct_quat_vector_coord (line 89) | def correct_quat_vector_coord(q_j_in: vec4f, q_j_ref: vec4f) -> vec4f: function correct_joint_coord_free (line 103) | def correct_joint_coord_free(q_j_in: vec7f, q_j_ref: vec7f, q_j_limit: v... function correct_joint_coord_revolute (line 110) | def correct_joint_coord_revolute(q_j_in: vec1f, q_j_ref: vec1f, q_j_limi... function correct_joint_coord_prismatic (line 117) | def correct_joint_coord_prismatic(q_j_in: vec1f, q_j_ref: vec1f, q_j_lim... function correct_joint_coord_cylindrical (line 123) | def correct_joint_coord_cylindrical(q_j_in: vec2f, q_j_ref: vec2f, q_j_l... function correct_joint_coord_universal (line 130) | def correct_joint_coord_universal(q_j_in: vec2f, q_j_ref: vec2f, q_j_lim... function correct_joint_coord_spherical (line 138) | def correct_joint_coord_spherical(q_j_in: vec4f, q_j_ref: vec4f, q_j_lim... function correct_joint_coord_gimbal (line 144) | def correct_joint_coord_gimbal(q_j_in: vec3f, q_j_ref: vec3f, q_j_limit:... function correct_joint_coord_cartesian (line 153) | def correct_joint_coord_cartesian(q_j_in: vec3f, q_j_ref: vec3f, q_j_lim... function get_joint_coord_correction_function (line 158) | def get_joint_coord_correction_function(dof_type: JointDoFType): function map_to_joint_coords_free (line 191) | def map_to_joint_coords_free(j_r_j: vec3f, j_q_j: quatf) -> vec7f: function map_to_joint_coords_revolute (line 198) | def map_to_joint_coords_revolute(j_r_j: vec3f, j_q_j: quatf) -> vec1f: function map_to_joint_coords_prismatic (line 206) | def map_to_joint_coords_prismatic(j_r_j: vec3f, j_q_j: quatf) -> vec1f: function map_to_joint_coords_cylindrical (line 212) | def map_to_joint_coords_cylindrical(j_r_j: vec3f, j_q_j: quatf) -> vec2f: function map_to_joint_coords_universal (line 219) | def map_to_joint_coords_universal(j_r_j: vec3f, j_q_j: quatf) -> vec2f: function map_to_joint_coords_spherical (line 227) | def map_to_joint_coords_spherical(j_r_j: vec3f, j_q_j: quatf) -> vec4f: function map_to_joint_coords_gimbal (line 233) | def map_to_joint_coords_gimbal(j_r_j: vec3f, j_q_j: quatf) -> vec3f: function map_to_joint_coords_cartesian (line 240) | def map_to_joint_coords_cartesian(j_r_j: vec3f, j_q_j: quatf) -> vec3f: function get_joint_coords_mapping_function (line 245) | def get_joint_coords_mapping_function(dof_type: JointDoFType): function joint_constraint_angular_residual_free (line 278) | def joint_constraint_angular_residual_free(j_q_j: quatf) -> vec3f: function joint_constraint_angular_residual_revolute (line 283) | def joint_constraint_angular_residual_revolute(j_q_j: quatf) -> vec3f: function joint_constraint_angular_residual_universal (line 297) | def joint_constraint_angular_residual_universal(j_q_j: quatf) -> vec3f: function joint_constraint_angular_residual_fixed (line 304) | def joint_constraint_angular_residual_fixed(j_q_j: quatf) -> vec3f: function get_joint_constraint_angular_residual_function (line 309) | def get_joint_constraint_angular_residual_function(dof_type: JointDoFType): function make_typed_write_joint_data (line 342) | def make_typed_write_joint_data(dof_type: JointDoFType, correction: Join... function make_write_joint_data (line 415) | def make_write_joint_data(correction: JointCorrectionMode = JointCorrect... function compute_joint_pose_and_relative_motion (line 601) | def compute_joint_pose_and_relative_motion( function compute_and_write_joint_implicit_dynamics (line 668) | def compute_and_write_joint_implicit_dynamics( function make_compute_joints_data_kernel (line 735) | def make_compute_joints_data_kernel(correction: JointCorrectionMode = Jo... function _extract_actuators_state_from_joints (line 879) | def _extract_actuators_state_from_joints( function _extract_joints_state_from_actuators (line 944) | def _extract_joints_state_from_actuators( function compute_joints_data (line 1013) | def compute_joints_data( function extract_actuators_state_from_joints (line 1088) | def extract_actuators_state_from_joints( function extract_joints_state_from_actuators (line 1149) | def extract_joints_state_from_actuators( FILE: newton/_src/solvers/kamino/_src/kinematics/limits.py class LimitsKaminoData (line 54) | class LimitsKaminoData: method clear (line 177) | def clear(self): method reset (line 184) | def reset(self): function map_joint_coords_to_dofs_free (line 205) | def map_joint_coords_to_dofs_free(q_j: vec7f) -> vec6f: function map_joint_coords_to_dofs_revolute (line 212) | def map_joint_coords_to_dofs_revolute(q_j: vec1f) -> vec1f: function map_joint_coords_to_dofs_prismatic (line 218) | def map_joint_coords_to_dofs_prismatic(q_j: vec1f) -> vec1f: function map_joint_coords_to_dofs_cylindrical (line 224) | def map_joint_coords_to_dofs_cylindrical(q_j: vec2f) -> vec2f: function map_joint_coords_to_dofs_universal (line 230) | def map_joint_coords_to_dofs_universal(q_j: vec2f) -> vec2f: function map_joint_coords_to_dofs_spherical (line 236) | def map_joint_coords_to_dofs_spherical(q_j: vec4f) -> vec3f: function map_joint_coords_to_dofs_gimbal (line 243) | def map_joint_coords_to_dofs_gimbal(q_j: vec3f) -> vec3f: function map_joint_coords_to_dofs_cartesian (line 249) | def map_joint_coords_to_dofs_cartesian(q_j: vec3f) -> vec3f: function get_joint_coords_to_dofs_mapping_function (line 254) | def get_joint_coords_to_dofs_mapping_function(dof_type: JointDoFType): function make_read_joint_coords_map_and_limits (line 281) | def make_read_joint_coords_map_and_limits(dof_type: JointDoFType): function read_joint_coords_map_and_limits (line 336) | def read_joint_coords_map_and_limits( function detect_active_dof_limit (line 426) | def detect_active_dof_limit( function _detect_active_joint_configuration_limits (line 477) | def _detect_active_joint_configuration_limits( class LimitsKamino (line 580) | class LimitsKamino: method __init__ (line 585) | def __init__( method device (line 605) | def device(self) -> wp.DeviceLike: method data (line 612) | def data(self) -> LimitsKaminoData: method model_max_limits_host (line 620) | def model_max_limits_host(self) -> int: method world_max_limits_host (line 628) | def world_max_limits_host(self) -> list[int]: method model_max_limits (line 636) | def model_max_limits(self) -> wp.array: method model_active_limits (line 645) | def model_active_limits(self) -> wp.array: method world_max_limits (line 654) | def world_max_limits(self) -> wp.array: method world_active_limits (line 663) | def world_active_limits(self) -> wp.array: method wid (line 672) | def wid(self) -> wp.array: method lid (line 681) | def lid(self) -> wp.array: method jid (line 690) | def jid(self) -> wp.array: method bids (line 699) | def bids(self) -> wp.array: method dof (line 708) | def dof(self) -> wp.array: method side (line 717) | def side(self) -> wp.array: method r_q (line 727) | def r_q(self) -> wp.array: method key (line 736) | def key(self) -> wp.array: method reaction (line 745) | def reaction(self) -> wp.array: method velocity (line 754) | def velocity(self) -> wp.array: method finalize (line 766) | def finalize(self, model: ModelKamino, device: wp.DeviceLike = None): method clear (line 821) | def clear(self): method reset (line 828) | def reset(self): method detect (line 835) | def detect( method _assert_has_data (line 905) | def _assert_has_data(self): FILE: newton/_src/solvers/kamino/_src/kinematics/resets.py function _reset_time_of_select_worlds (line 45) | def _reset_time_of_select_worlds( function _reset_body_state_of_select_worlds (line 65) | def _reset_body_state_of_select_worlds( function _reset_body_state_from_base (line 99) | def _reset_body_state_from_base( function _reset_joint_state_of_select_worlds (line 162) | def _reset_joint_state_of_select_worlds( function _reset_bodies_of_select_worlds (line 233) | def _reset_bodies_of_select_worlds( function _reset_body_net_wrenches (line 296) | def _reset_body_net_wrenches( function _reset_joint_constraint_reactions (line 318) | def _reset_joint_constraint_reactions( function _reset_joints_of_select_worlds (line 365) | def _reset_joints_of_select_worlds( function reset_time (line 492) | def reset_time( function reset_body_net_wrenches (line 511) | def reset_body_net_wrenches( function reset_joint_constraint_reactions (line 537) | def reset_joint_constraint_reactions( function reset_state_to_model_default (line 579) | def reset_state_to_model_default( function reset_state_from_bodies_state (line 606) | def reset_state_from_bodies_state( function reset_state_from_base_state (line 681) | def reset_state_from_base_state( function reset_select_worlds_to_initial_state (line 732) | def reset_select_worlds_to_initial_state( function reset_select_worlds_to_state (line 829) | def reset_select_worlds_to_state( FILE: newton/_src/solvers/kamino/_src/linalg/blas.py function _mult_left_right_diag_matrix_with_matrix (line 40) | def _mult_left_right_diag_matrix_with_matrix( function _mult_left_diag_matrix_with_vector (line 85) | def _mult_left_diag_matrix_with_vector( function _make_block_sparse_matvec_kernel (line 121) | def _make_block_sparse_matvec_kernel(block_type: BlockDType): function _make_block_sparse_matvec_kernel_2d (line 190) | def _make_block_sparse_matvec_kernel_2d(block_type: BlockDType): function _make_block_sparse_transpose_matvec_kernel (line 256) | def _make_block_sparse_transpose_matvec_kernel(block_type: BlockDType): function _make_block_sparse_transpose_matvec_kernel_2d (line 323) | def _make_block_sparse_transpose_matvec_kernel_2d(block_type: BlockDType): function _make_scale_vector_kernel (line 387) | def _make_scale_vector_kernel(space_dim: int): function _make_scale_vector_kernel_2d (line 429) | def _make_scale_vector_kernel_2d(space_dim: int): function _make_block_sparse_gemv_kernel (line 463) | def _make_block_sparse_gemv_kernel(block_type: BlockDType): function _make_block_sparse_gemv_kernel_2d (line 534) | def _make_block_sparse_gemv_kernel_2d(block_type: BlockDType): function _make_block_sparse_transpose_gemv_kernel (line 602) | def _make_block_sparse_transpose_gemv_kernel(block_type: BlockDType): function _make_block_sparse_transpose_gemv_kernel_2d (line 671) | def _make_block_sparse_transpose_gemv_kernel_2d(block_type: BlockDType): function _diag_gemv_kernel (line 737) | def _diag_gemv_kernel( function _dense_gemv_kernel (line 763) | def _dense_gemv_kernel( function _make_block_sparse_ATA_diagonal_kernel_2d (line 794) | def _make_block_sparse_ATA_diagonal_kernel_2d(block_type: BlockDType): class nzb_type_7 (line 852) | class nzb_type_7(BlockDType(dtype=wp.float32, shape=(7,)).warp_type): function block_sparse_ATA_diagonal_3_4_blocks_kernel_2d (line 857) | def block_sparse_ATA_diagonal_3_4_blocks_kernel_2d( function _make_cwise_inverse_kernel_2d (line 907) | def _make_cwise_inverse_kernel_2d(dtype: FloatType): function blockwise_inverse_kernel_3_2d (line 926) | def blockwise_inverse_kernel_3_2d( function blockwise_inverse_kernel_4_2d (line 941) | def blockwise_inverse_kernel_4_2d( function _blockwise_diag_3_4_gemv_kernel_2d (line 956) | def _blockwise_diag_3_4_gemv_kernel_2d( function diag_gemv (line 1001) | def diag_gemv( function dense_gemv (line 1032) | def dense_gemv( function block_sparse_matvec (line 1070) | def block_sparse_matvec( function block_sparse_transpose_matvec (line 1123) | def block_sparse_transpose_matvec( function block_sparse_gemv (line 1176) | def block_sparse_gemv( function block_sparse_transpose_gemv (line 1251) | def block_sparse_transpose_gemv( function block_sparse_ATA_inv_diagonal_2d (line 1326) | def block_sparse_ATA_inv_diagonal_2d(A: BlockSparseMatrices, inv_diag: w... function block_sparse_ATA_blockwise_3_4_inv_diagonal_2d (line 1369) | def block_sparse_ATA_blockwise_3_4_inv_diagonal_2d( function get_blockwise_diag_3_4_gemv_2d (line 1442) | def get_blockwise_diag_3_4_gemv_2d( FILE: newton/_src/solvers/kamino/_src/linalg/conjugate.py class BatchedLinearOperator (line 36) | class BatchedLinearOperator: method __init__ (line 43) | def __init__( method from_dense (line 62) | def from_dense(cls, operator: DenseLinearOperatorData) -> BatchedLinea... method from_diagonal (line 76) | def from_diagonal(cls, D: wp.array2d, active_dims: wp.array) -> Batche... method from_block_sparse (line 86) | def from_block_sparse(cls, A: BlockSparseMatrices, active_dims: wp.arr... method from_block_sparse_operator (line 115) | def from_block_sparse_operator(cls, A: BlockSparseLinearOperators) -> ... method gemv (line 140) | def gemv(self, x: wp.array2d, y: wp.array2d, world_active: wp.array, a... method matvec (line 144) | def matvec(self, x: wp.array2d, y: wp.array2d, world_active: wp.array): function make_termination_kernel (line 155) | def make_termination_kernel(n_worlds): function _cg_kernel_1 (line 188) | def _cg_kernel_1( function _cg_kernel_2 (line 207) | def _cg_kernel_2( function _cr_kernel_1 (line 225) | def _cr_kernel_1( function _cr_kernel_2 (line 247) | def _cr_kernel_2( function _run_capturable_loop (line 266) | def _run_capturable_loop( function lt_mask (line 338) | def lt_mask(a: Any, b: Any): function mul_mask (line 344) | def mul_mask(mask: Any, value: Any): function less_than_op (line 350) | def less_than_op(i: wp.int32, threshold: wp.int32) -> wp.float32: function make_dot_kernel (line 355) | def make_dot_kernel(tile_size: int, maxdim: int): function dot_sequential (line 398) | def dot_sequential( function _initialize_tolerance_kernel (line 431) | def _initialize_tolerance_kernel( function make_jacobi_preconditioner (line 440) | def make_jacobi_preconditioner( class ConjugateSolver (line 453) | class ConjugateSolver: method __init__ (line 475) | def __init__( method _allocate (line 514) | def _allocate(self): method tiled_dot_product (line 546) | def tiled_dot_product(self): method compute_dot (line 549) | def compute_dot(self, a, b, active_dims, world_active, col_offset=0): class CGSolver (line 575) | class CGSolver(ConjugateSolver): method _allocate (line 582) | def _allocate(self): method update_rr_rz (line 598) | def update_rr_rz(self, r, z, r_repeated, active_dims, world_active): method solve (line 606) | def solve( method do_iteration (line 668) | def do_iteration(self, p, Ap, rz_old, rz_new, z, x, r, r_norm_sq, acti... class CRSolver (line 695) | class CRSolver(ConjugateSolver): method _allocate (line 702) | def _allocate(self): method update_rr_zAz (line 717) | def update_rr_zAz(self, z, Az, r, r_copy, active_dims, world_active): method solve (line 722) | def solve( method do_iteration (line 798) | def do_iteration(self, p, Ap, Az, zAz_old, zAz_new, z, y, x, r, r_copy... function _repeat_first (line 836) | def _repeat_first(arr: wp.array): FILE: newton/_src/solvers/kamino/_src/linalg/core.py class DenseRectangularMultiLinearInfo (line 37) | class DenseRectangularMultiLinearInfo: method _check_dimensions (line 132) | def _check_dimensions(dims: list[tuple[int, int]] | tuple[int, int]) -... method finalize (line 148) | def finalize( method assign (line 205) | def assign( method is_matrix_compatible (line 271) | def is_matrix_compatible(self, A: wp.array) -> bool: method is_rhs_compatible (line 275) | def is_rhs_compatible(self, b: wp.array) -> bool: method is_input_compatible (line 279) | def is_input_compatible(self, x: wp.array) -> bool: method __str__ (line 283) | def __str__(self) -> str: class DenseSquareMultiLinearInfo (line 300) | class DenseSquareMultiLinearInfo: method _check_dimensions (line 381) | def _check_dimensions(dims: list[int] | int) -> list[int]: method finalize (line 393) | def finalize( method assign (line 435) | def assign( method is_matrix_compatible (line 488) | def is_matrix_compatible(self, A: wp.array) -> bool: method is_rhs_compatible (line 492) | def is_rhs_compatible(self, b: wp.array) -> bool: method is_input_compatible (line 496) | def is_input_compatible(self, x: wp.array) -> bool: method __str__ (line 500) | def __str__(self) -> str: class DenseLinearOperatorData (line 516) | class DenseLinearOperatorData: method zero (line 535) | def zero(self) -> None: function make_dtype_tolerance (line 544) | def make_dtype_tolerance(tol: FloatType | float | None = None, dtype: Fl... FILE: newton/_src/solvers/kamino/_src/linalg/factorize/llt_blocked.py function make_get_array_offset_ptr_func (line 42) | def make_get_array_offset_ptr_func(dtype): function make_llt_blocked_factorize_kernel (line 102) | def make_llt_blocked_factorize_kernel(block_size: int): function make_llt_blocked_solve_kernel (line 204) | def make_llt_blocked_solve_kernel(block_size: int): function make_llt_blocked_solve_inplace_kernel (line 291) | def make_llt_blocked_solve_inplace_kernel(block_size: int): function llt_blocked_factorize (line 377) | def llt_blocked_factorize( function llt_blocked_solve (line 402) | def llt_blocked_solve( function llt_blocked_solve_inplace (line 435) | def llt_blocked_solve_inplace( FILE: newton/_src/solvers/kamino/_src/linalg/factorize/llt_blocked_semi_sparse.py function cuthill_mckee_ordering (line 25) | def cuthill_mckee_ordering(M): function compute_inverse_ordering (line 56) | def compute_inverse_ordering(ordering): function reorder_rows_kernel (line 72) | def reorder_rows_kernel( function reorder_rows_kernel_col_vector (line 90) | def reorder_rows_kernel_col_vector( function to_binary_matrix (line 105) | def to_binary_matrix(M): function sparsity_to_tiles (line 109) | def sparsity_to_tiles(sparsity_matrix, tile_size): function symbolic_cholesky_dense (line 127) | def symbolic_cholesky_dense(M, tile_size): function create_blocked_cholesky_kernel (line 167) | def create_blocked_cholesky_kernel(block_size: int): function create_blocked_cholesky_solve_kernel (line 294) | def create_blocked_cholesky_solve_kernel(block_size: int): class SemiSparseBlockCholeskySolverBatched (line 376) | class SemiSparseBlockCholeskySolverBatched: method __init__ (line 383) | def __init__(self, num_batches: int, max_num_equations: int, block_siz... method capture_sparsity_pattern (line 425) | def capture_sparsity_pattern( method factorize (line 488) | def factorize( method solve (line 531) | def solve( FILE: newton/_src/solvers/kamino/_src/linalg/factorize/llt_sequential.py function _llt_sequential_factorize (line 37) | def _llt_sequential_factorize( function _llt_sequential_solve (line 75) | def _llt_sequential_solve( function _llt_sequential_solve_inplace (line 118) | def _llt_sequential_solve_inplace( function llt_sequential_factorize (line 162) | def llt_sequential_factorize( function llt_sequential_solve (line 188) | def llt_sequential_solve( function llt_sequential_solve_inplace (line 220) | def llt_sequential_solve_inplace( FILE: newton/_src/solvers/kamino/_src/linalg/linear.py class LinearSolver (line 49) | class LinearSolver(ABC): method __init__ (line 54) | def __init__( method operator (line 87) | def operator(self) -> DenseLinearOperatorData: method dtype (line 93) | def dtype(self) -> FloatType: method device (line 97) | def device(self) -> wp.DeviceLike: method _set_tolerance_dtype (line 104) | def _set_tolerance_dtype(self): method _allocate_impl (line 113) | def _allocate_impl(self, operator: DenseLinearOperatorData, **kwargs: ... method _reset_impl (line 117) | def _reset_impl(self, A: wp.array, **kwargs: dict[str, Any]) -> None: method _compute_impl (line 121) | def _compute_impl(self, A: wp.array, **kwargs: dict[str, Any]) -> None: method _solve_impl (line 125) | def _solve_impl(self, b: wp.array, x: wp.array, **kwargs: dict[str, An... method _solve_inplace_impl (line 129) | def _solve_inplace_impl(self, x: wp.array, **kwargs: dict[str, Any]) -... method finalize (line 136) | def finalize(self, operator: DenseLinearOperatorData, **kwargs: dict[s... method reset (line 153) | def reset(self) -> None: method compute (line 157) | def compute(self, A: wp.array, **kwargs: dict[str, Any]) -> None: method solve (line 163) | def solve(self, b: wp.array, x: wp.array, **kwargs: dict[str, Any]) ->... method solve_inplace (line 171) | def solve_inplace(self, x: wp.array, **kwargs: dict[str, Any]) -> None: class DirectSolver (line 178) | class DirectSolver(LinearSolver): method __init__ (line 183) | def __init__( method _check_has_factorization (line 214) | def _check_has_factorization(self): method _factorize_impl (line 224) | def _factorize_impl(self, A: wp.array, **kwargs: dict[str, Any]) -> None: method _reconstruct_impl (line 228) | def _reconstruct_impl(self, A: wp.array, **kwargs: dict[str, Any]) -> ... method _compute_impl (line 236) | def _compute_impl(self, A: wp.array, **kwargs: dict[str, Any]): method _factorize (line 239) | def _factorize(self, A: wp.array, ftol: float | None = None, **kwargs:... method reconstruct (line 255) | def reconstruct(self, A: wp.array, **kwargs: dict[str, Any]) -> None: class IterativeSolver (line 261) | class IterativeSolver(LinearSolver): method __init__ (line 266) | def __init__( method _to_batched_operator (line 306) | def _to_batched_operator( method finalize (line 321) | def finalize( method solve (line 396) | def solve(self, b: wp.array, x: wp.array, zero_x: bool = False, **kwar... method get_solve_metadata (line 407) | def get_solve_metadata(self) -> dict[str, Any]: method _update_sparse_bsm (line 410) | def _update_sparse_bsm(self) -> None: class LLTSequentialSolver (line 425) | class LLTSequentialSolver(DirectSolver): method __init__ (line 432) | def __init__( method L (line 464) | def L(self) -> wp.array: method y (line 470) | def y(self) -> wp.array: method _allocate_impl (line 480) | def _allocate_impl(self, A: DenseLinearOperatorData, **kwargs: dict[st... method _reset_impl (line 496) | def _reset_impl(self) -> None: method _factorize_impl (line 502) | def _factorize_impl(self, A: wp.array) -> None: method _reconstruct_impl (line 513) | def _reconstruct_impl(self, A: wp.array) -> None: method _solve_impl (line 517) | def _solve_impl(self, b: wp.array, x: wp.array) -> None: method _solve_inplace_impl (line 532) | def _solve_inplace_impl(self, x: wp.array) -> None: class LLTBlockedSolver (line 544) | class LLTBlockedSolver(DirectSolver): method __init__ (line 549) | def __init__( method L (line 594) | def L(self) -> wp.array: method y (line 600) | def y(self) -> wp.array: method _allocate_impl (line 610) | def _allocate_impl(self, A: DenseLinearOperatorData, **kwargs: dict[st... method _reset_impl (line 626) | def _reset_impl(self) -> None: method _factorize_impl (line 632) | def _factorize_impl(self, A: wp.array) -> None: method _reconstruct_impl (line 644) | def _reconstruct_impl(self, A: wp.array) -> None: method _solve_impl (line 648) | def _solve_impl(self, b: wp.array, x: wp.array) -> None: method _solve_inplace_impl (line 665) | def _solve_inplace_impl(self, x: wp.array) -> None: class ConjugateGradientSolver (line 686) | class ConjugateGradientSolver(IterativeSolver): method __init__ (line 693) | def __init__( method _allocate_impl (line 703) | def _allocate_impl(self, operator, **kwargs: dict[str, Any]) -> None: method _reset_impl (line 752) | def _reset_impl(self, A: wp.array | None = None, **kwargs: dict[str, A... method _compute_impl (line 759) | def _compute_impl(self, A: wp.array, **kwargs: dict[str, Any]) -> None: method _solve_inplace_impl (line 767) | def _solve_inplace_impl(self, x: wp.array, **kwargs: dict[str, Any]) -... method _solve_impl (line 771) | def _solve_impl(self, b: wp.array, x: wp.array, **kwargs: dict[str, An... method _update_preconditioner (line 781) | def _update_preconditioner(self): class ConjugateResidualSolver (line 796) | class ConjugateResidualSolver(IterativeSolver): method __init__ (line 803) | def __init__( method _allocate_impl (line 813) | def _allocate_impl(self, operator, **kwargs: dict[str, Any]) -> None: method _reset_impl (line 861) | def _reset_impl(self, A: wp.array | None = None, **kwargs: dict[str, A... method _compute_impl (line 868) | def _compute_impl(self, A: wp.array, **kwargs: dict[str, Any]) -> None: method _solve_inplace_impl (line 876) | def _solve_inplace_impl(self, x: wp.array, **kwargs: dict[str, Any]) -... method _solve_impl (line 880) | def _solve_impl(self, b: wp.array, x: wp.array, **kwargs: dict[str, An... method _update_preconditioner (line 890) | def _update_preconditioner(self): FILE: newton/_src/solvers/kamino/_src/linalg/sparse_matrix.py class BlockDType (line 42) | class BlockDType: method __init__ (line 45) | def __init__(self, dtype: FloatType | IntType, shape: int | tuple[int]... method dtype (line 96) | def dtype(self) -> FloatType | IntType: method shape (line 101) | def shape(self) -> int | tuple[int] | tuple[int, int]: method size (line 106) | def size(self) -> int: method warp_type (line 118) | def warp_type(self) -> Any: class BlockSparseMatrices (line 144) | class BlockSparseMatrices: method max_rows (line 259) | def max_rows(self) -> wp.array: method max_cols (line 271) | def max_cols(self) -> wp.array: method num_rows (line 283) | def num_rows(self) -> wp.array: method num_cols (line 295) | def num_cols(self) -> wp.array: method nzb_row (line 307) | def nzb_row(self) -> wp.array: method nzb_col (line 319) | def nzb_col(self) -> wp.array: method finalize (line 334) | def finalize( method clear (line 426) | def clear(self): method zero (line 433) | def zero(self): method assign (line 438) | def assign(self, matrices: list[np.ndarray]): method numpy (line 484) | def numpy(self) -> list[np.ndarray]: method _has_valid_metadata (line 527) | def _has_valid_metadata(self) -> bool: method _is_finalized (line 532) | def _is_finalized(self) -> bool: method _assert_is_finalized (line 544) | def _assert_is_finalized(self): method _get_block_shape (line 548) | def _get_block_shape(self) -> tuple[int, int]: function _copy_square_dims_kernel (line 578) | def _copy_square_dims_kernel( function _make_dense_to_bsm_detect_kernel (line 590) | def _make_dense_to_bsm_detect_kernel(block_size: int): function _make_dense_to_bsm_copy_kernel (line 647) | def _make_dense_to_bsm_copy_kernel(block_size: int): function allocate_block_sparse_from_dense (line 698) | def allocate_block_sparse_from_dense( function dense_to_block_sparse_copy_values (line 752) | def dense_to_block_sparse_copy_values( FILE: newton/_src/solvers/kamino/_src/linalg/sparse_operator.py class BlockSparseLinearOperators (line 33) | class BlockSparseLinearOperators: method __init__ (line 39) | def __init__(self, bsm: BlockSparseMatrices | None = None): method num_matrices (line 98) | def num_matrices(self) -> int: method max_of_max_dims (line 102) | def max_of_max_dims(self) -> tuple[int, int]: method dtype (line 106) | def dtype(self) -> FloatType: method device (line 110) | def device(self) -> wp.DeviceLike: method active_rows (line 114) | def active_rows(self) -> wp.array: method active_cols (line 118) | def active_cols(self) -> wp.array: method clear (line 125) | def clear(self): method zero (line 129) | def zero(self): method precompute (line 133) | def precompute(self): method initialize_default_operators (line 138) | def initialize_default_operators(self): method matvec (line 145) | def matvec(self, x: wp.array, y: wp.array, matrix_mask: wp.array): method matvec_transpose (line 151) | def matvec_transpose(self, y: wp.array, x: wp.array, matrix_mask: wp.a... method gemv (line 157) | def gemv(self, x: wp.array, y: wp.array, matrix_mask: wp.array, alpha:... method gemv_transpose (line 163) | def gemv_transpose(self, y: wp.array, x: wp.array, matrix_mask: wp.arr... FILE: newton/_src/solvers/kamino/_src/linalg/utils/matrix.py class MatrixSign (line 42) | class MatrixSign(IntEnum): function _safe_slogdet (line 56) | def _safe_slogdet(A: np.ndarray) -> tuple[float, float, float]: function _make_tolerance (line 69) | def _make_tolerance(tol: float | None = None, dtype: np.dtype = np.float... function is_square_matrix (line 79) | def is_square_matrix(A: np.ndarray) -> bool: function is_symmetric_matrix (line 83) | def is_symmetric_matrix(A: np.ndarray, tol: float | None = None) -> bool: function symmetry_error_norm_l2 (line 88) | def symmetry_error_norm_l2(A: np.ndarray) -> float: function assert_is_square_matrix (line 92) | def assert_is_square_matrix(A: np.ndarray): function assert_is_symmetric_matrix (line 97) | def assert_is_symmetric_matrix(A: np.ndarray): class RectangularMatrixProperties (line 109) | class RectangularMatrixProperties: method __init__ (line 110) | def __init__(self, matrix: np.ndarray | None = None): method compute (line 155) | def compute(self, matrix: np.ndarray): method __str__ (line 196) | def __str__(self) -> str: class SquareSymmetricMatrixProperties (line 218) | class SquareSymmetricMatrixProperties: method __init__ (line 219) | def __init__(self, matrix: np.ndarray | None = None, tol: float | None... method compute (line 300) | def compute(self, matrix: np.ndarray, tol: float | None = None): method __str__ (line 379) | def __str__(self) -> str: class MatrixComparison (line 419) | class MatrixComparison: method __init__ (line 420) | def __init__(self, A: np.ndarray, B: np.ndarray, tol: float = 0.0): method save (line 439) | def save( method _error_clipped (line 459) | def _error_clipped(self, tol: float = 0.0): method _frobenius_error (line 474) | def _frobenius_error(self): method _max_element_error (line 477) | def _max_element_error(self): method _relative_frobenius_error (line 480) | def _relative_frobenius_error(self): method _svd_error (line 483) | def _svd_error(self): method _relative_determinant_error (line 489) | def _relative_determinant_error(self): method _norm_1_error (line 496) | def _norm_1_error(self): method _norm_2_error (line 499) | def _norm_2_error(self): method _norm_inf_error (line 502) | def _norm_inf_error(self): method __str__ (line 505) | def __str__(self) -> str: FILE: newton/_src/solvers/kamino/_src/linalg/utils/rand.py function eigenvalues_from_distribution (line 27) | def eigenvalues_from_distribution( function random_symmetric_matrix (line 134) | def random_symmetric_matrix( function random_spd_matrix (line 218) | def random_spd_matrix( function random_rhs_for_matrix (line 281) | def random_rhs_for_matrix( FILE: newton/_src/solvers/kamino/_src/linalg/utils/range.py function _svd_rank (line 25) | def _svd_rank(s: np.ndarray, shape: tuple, rcond: float | None = None): function in_range_via_rank (line 41) | def in_range_via_rank(A: np.ndarray, b: np.ndarray) -> bool: function in_range_via_residual (line 51) | def in_range_via_residual(A: np.ndarray, b: np.ndarray) -> bool: function in_range_via_left_nullspace (line 73) | def in_range_via_left_nullspace(U: np.ndarray, s: np.ndarray, b: np.ndar... function in_range_via_projection (line 92) | def in_range_via_projection(U: np.ndarray, s: np.ndarray, b: np.ndarray,... function in_range_via_gaussian_elimination (line 109) | def in_range_via_gaussian_elimination(A: np.ndarray, b: np.ndarray, tol:... FILE: newton/_src/solvers/kamino/_src/models/__init__.py function get_basics_usd_assets_path (line 44) | def get_basics_usd_assets_path() -> str: function get_testing_usd_assets_path (line 54) | def get_testing_usd_assets_path() -> str: FILE: newton/_src/solvers/kamino/_src/models/builders/basics.py function build_box_on_plane (line 47) | def build_box_on_plane( function build_box_pendulum (line 114) | def build_box_pendulum( function build_box_pendulum_vertical (line 216) | def build_box_pendulum_vertical( function build_cartpole (line 312) | def build_cartpole( function build_boxes_hinged (line 459) | def build_boxes_hinged( function build_boxes_nunchaku (line 582) | def build_boxes_nunchaku( function build_boxes_nunchaku_vertical (line 733) | def build_boxes_nunchaku_vertical( function build_boxes_fourbar (line 884) | def build_boxes_fourbar( function make_basics_heterogeneous_builder (line 1195) | def make_basics_heterogeneous_builder( FILE: newton/_src/solvers/kamino/_src/models/builders/basics_newton.py function build_boxes_fourbar (line 41) | def build_boxes_fourbar( function build_boxes_nunchaku (line 357) | def build_boxes_nunchaku( FILE: newton/_src/solvers/kamino/_src/models/builders/testing.py function build_free_joint_test (line 65) | def build_free_joint_test( function build_unary_revolute_joint_test (line 143) | def build_unary_revolute_joint_test( function build_binary_revolute_joint_test (line 236) | def build_binary_revolute_joint_test( function build_unary_prismatic_joint_test (line 346) | def build_unary_prismatic_joint_test( function build_binary_prismatic_joint_test (line 437) | def build_binary_prismatic_joint_test( function build_unary_cylindrical_joint_test (line 547) | def build_unary_cylindrical_joint_test( function build_binary_cylindrical_joint_test (line 640) | def build_binary_cylindrical_joint_test( function build_unary_universal_joint_test (line 750) | def build_unary_universal_joint_test( function build_binary_universal_joint_test (line 835) | def build_binary_universal_joint_test( function build_unary_spherical_joint_test (line 937) | def build_unary_spherical_joint_test( function build_binary_spherical_joint_test (line 1022) | def build_binary_spherical_joint_test( function build_unary_gimbal_joint_test (line 1124) | def build_unary_gimbal_joint_test( function build_binary_gimbal_joint_test (line 1209) | def build_binary_gimbal_joint_test( function build_unary_cartesian_joint_test (line 1311) | def build_unary_cartesian_joint_test( function build_binary_cartesian_joint_test (line 1404) | def build_binary_cartesian_joint_test( function build_all_joints_test_model (line 1514) | def build_all_joints_test_model( function make_shape_initial_position (line 1593) | def make_shape_initial_position(name: str, dims: tuple, is_top: bool = T... function get_shape_bottom_position (line 1657) | def get_shape_bottom_position(center: vec3f, shape: ShapeDescriptorType)... function make_single_shape_pair_builder (line 1695) | def make_single_shape_pair_builder( function make_shape_pairs_builder (line 1836) | def make_shape_pairs_builder( FILE: newton/_src/solvers/kamino/_src/models/builders/utils.py function add_ground_plane (line 43) | def add_ground_plane( function add_ground_box (line 82) | def add_ground_box( function set_uniform_body_pose_offset (line 122) | def set_uniform_body_pose_offset(builder: ModelBuilderKamino, offset: tr... function set_uniform_body_twist_offset (line 134) | def set_uniform_body_twist_offset(builder: ModelBuilderKamino, offset: v... function build_usd (line 151) | def build_usd( function make_homogeneous_builder (line 187) | def make_homogeneous_builder(num_worlds: int, build_fn: Callable, **kwar... FILE: newton/_src/solvers/kamino/_src/solver_kamino_impl.py class SolverKaminoImpl (line 79) | class SolverKaminoImpl(SolverBase): method __init__ (line 105) | def __init__( method config (line 298) | def config(self) -> SolverKaminoImpl.Config: method device (line 305) | def device(self) -> wp.DeviceLike: method data (line 312) | def data(self) -> DataKamino: method problem_fd (line 319) | def problem_fd(self) -> DualProblem: method solver_fd (line 326) | def solver_fd(self) -> PADMMSolver: method solver_fk (line 333) | def solver_fk(self) -> ForwardKinematicsSolver | None: method metrics (line 340) | def metrics(self) -> SolutionMetrics | None: method set_pre_reset_callback (line 350) | def set_pre_reset_callback(self, callback: ResetCallbackType): method set_post_reset_callback (line 356) | def set_post_reset_callback(self, callback: ResetCallbackType): method set_pre_step_callback (line 362) | def set_pre_step_callback(self, callback: StepCallbackType): method set_mid_step_callback (line 368) | def set_mid_step_callback(self, callback: StepCallbackType): method set_post_step_callback (line 374) | def set_post_step_callback(self, callback: StepCallbackType): method reset (line 384) | def reset( method step (line 526) | def step( method notify_model_changed (line 595) | def notify_model_changed(self, flags: int) -> None: method update_contacts (line 599) | def update_contacts(self, contacts: Contacts, state: State | None = No... method register_custom_attributes (line 604) | def register_custom_attributes(cls, flags: int): method _run_pre_reset_callback (line 611) | def _run_pre_reset_callback(self, state_out: StateKamino): method _run_post_reset_callback (line 618) | def _run_post_reset_callback(self, state_out: StateKamino): method _run_prestep_callback (line 625) | def _run_prestep_callback( method _run_midstep_callback (line 634) | def _run_midstep_callback( method _run_poststep_callback (line 643) | def _run_poststep_callback( method _read_step_inputs (line 656) | def _read_step_inputs(self, state_in: StateKamino, control_in: Control... method _write_step_output (line 675) | def _write_step_output(self, state_out: StateKamino): method _reset (line 694) | def _reset(self): method _reset_to_default_state (line 733) | def _reset_to_default_state(self, state_out: StateKamino, world_mask: ... method _reset_to_base_state (line 743) | def _reset_to_base_state( method _reset_to_bodies_state (line 775) | def _reset_to_bodies_state( method _reset_with_fk_solve (line 800) | def _reset_with_fk_solve( method _reset_post_process (line 873) | def _reset_post_process(self, world_mask: wp.array | None = None): method _update_joints_data (line 904) | def _update_joints_data(self, q_j_p: wp.array | None = None): method _update_intermediates (line 926) | def _update_intermediates(self, state_in: StateKamino): method _update_limits (line 933) | def _update_limits(self): method _update_constraint_info (line 939) | def _update_constraint_info(self): method _update_jacobians (line 945) | def _update_jacobians(self, contacts: ContactsKamino | None = None): method _update_actuation_wrenches (line 958) | def _update_actuation_wrenches(self): method _update_dynamics (line 964) | def _update_dynamics(self, contacts: ContactsKamino | None = None): method _update_constraints (line 978) | def _update_constraints(self, contacts: ContactsKamino | None = None): method _update_wrenches (line 1033) | def _update_wrenches(self): method _forward (line 1040) | def _forward(self, contacts: ContactsKamino | None = None): method _solve_forward_dynamics (line 1054) | def _solve_forward_dynamics( method _compute_metrics (line 1124) | def _compute_metrics(self, state_in: StateKamino, contacts: ContactsKa... method _advance_time (line 1143) | def _advance_time(self): FILE: newton/_src/solvers/kamino/_src/solvers/fk.py class block_type (line 59) | class block_type(BlockDType(dtype=wp.float32, shape=(7,)).warp_type): function read_quat_from_array (line 69) | def read_quat_from_array(array: wp.array(dtype=wp.float32), offset: int)... function _reset_state (line 82) | def _reset_state( function _reset_state_base_q (line 110) | def _reset_state_base_q( function _eval_fk_actuated_dofs_or_coords (line 169) | def _eval_fk_actuated_dofs_or_coords( function _eval_position_control_transformations (line 209) | def _eval_position_control_transformations( function _eval_unit_quaternion_constraints (line 287) | def _eval_unit_quaternion_constraints( function create_eval_joint_constraints_kernel (line 322) | def create_eval_joint_constraints_kernel(has_universal_joints: bool): function _eval_unit_quaternion_constraints_jacobian (line 456) | def _eval_unit_quaternion_constraints_jacobian( function _eval_unit_quaternion_constraints_sparse_jacobian (line 495) | def _eval_unit_quaternion_constraints_sparse_jacobian( function create_eval_joint_constraints_jacobian_kernel (line 536) | def create_eval_joint_constraints_jacobian_kernel(has_universal_joints: ... function create_eval_joint_constraints_sparse_jacobian_kernel (line 700) | def create_eval_joint_constraints_sparse_jacobian_kernel(has_universal_j... function create_tile_based_kernels (line 864) | def create_tile_based_kernels(TILE_SIZE_CTS: wp.int32, TILE_SIZE_VRS: wp... function _eval_rhs (line 1145) | def _eval_rhs( function _eval_linear_combination (line 1165) | def _eval_linear_combination( function _eval_stepped_state (line 1195) | def _eval_stepped_state( function _apply_line_search_step (line 1227) | def _apply_line_search_step( function _line_search_check (line 1256) | def _line_search_check( function _newton_check (line 1299) | def _newton_check( function _eval_target_constraint_velocities (line 1343) | def _eval_target_constraint_velocities( function _eval_body_velocities (line 1414) | def _eval_body_velocities( function _update_cg_tolerance_kernel (line 1463) | def _update_cg_tolerance_kernel( class ForwardKinematicsSolver (line 1489) | class ForwardKinematicsSolver: class PreconditionerType (line 1494) | class PreconditionerType(IntEnum): method from_string (line 1508) | def from_string(cls, s: str) -> ForwardKinematicsSolver.Precondition... class Status (line 1528) | class Status: method __init__ (line 1557) | def __init__(self, model: ModelKamino | None = None, config: ForwardKi... method finalize (line 1591) | def finalize(self, model: ModelKamino | None = None, config: ForwardKi... method _reset_state (line 2154) | def _reset_state( method _reset_state_base_q (line 2183) | def _reset_state_base_q( method _eval_position_control_transformations (line 2210) | def _eval_position_control_transformations( method _eval_kinematic_constraints (line 2249) | def _eval_kinematic_constraints( method _eval_max_constraint (line 2290) | def _eval_max_constraint( method _eval_kinematic_constraints_jacobian (line 2305) | def _eval_kinematic_constraints_jacobian( method _assemble_sparse_jacobian (line 2349) | def _assemble_sparse_jacobian( method _eval_lhs_gemv (line 2402) | def _eval_lhs_gemv( method _eval_merit_function (line 2422) | def _eval_merit_function(self, constraints: wp.array2d(dtype=wp.float3... method _eval_merit_function_gradient (line 2436) | def _eval_merit_function_gradient( method _run_line_search_iteration (line 2455) | def _run_line_search_iteration(self, bodies_q: wp.array(dtype=wp.trans... method _update_cg_tolerance (line 2508) | def _update_cg_tolerance( method _run_newton_iteration (line 2525) | def _run_newton_iteration(self, bodies_q: wp.array(dtype=wp.transformf)): method _solve_for_body_velocities (line 2629) | def _solve_for_body_velocities( method eval_position_control_transformations (line 2734) | def eval_position_control_transformations( method eval_kinematic_constraints (line 2752) | def eval_kinematic_constraints( method eval_kinematic_constraints_jacobian (line 2774) | def eval_kinematic_constraints_jacobian( method assemble_sparse_jacobian (line 2791) | def assemble_sparse_jacobian( method solve_for_body_velocities (line 2804) | def solve_for_body_velocities( method run_fk_solve (line 2857) | def run_fk_solve( method solve_fk (line 2970) | def solve_fk( FILE: newton/_src/solvers/kamino/_src/solvers/metrics.py class SolutionMetricsData (line 123) | class SolutionMetricsData: method clear (line 423) | def clear(self): method zero (line 438) | def zero(self): method reset (line 455) | def reset(self): function compute_v_plus (line 469) | def compute_v_plus( function compute_v_plus_sparse (line 531) | def compute_v_plus_sparse( function compute_vector_difference_infnorm (line 570) | def compute_vector_difference_infnorm( function _compute_eom_residual (line 607) | def _compute_eom_residual( function _compute_joint_kinematics_residual_dense (line 663) | def _compute_joint_kinematics_residual_dense( function _compute_joint_kinematics_residual_sparse (line 728) | def _compute_joint_kinematics_residual_sparse( function _compute_cts_joints_residual (line 785) | def _compute_cts_joints_residual( function _compute_cts_limits_residual (line 825) | def _compute_cts_limits_residual( function _compute_cts_contacts_residual (line 862) | def _compute_cts_contacts_residual( function _compute_dual_problem_metrics (line 897) | def _compute_dual_problem_metrics( function _compute_dual_problem_metrics_sparse (line 998) | def _compute_dual_problem_metrics_sparse( class SolutionMetrics (line 1099) | class SolutionMetrics: method __init__ (line 1112) | def __init__(self, model: ModelKamino | None = None, device: wp.Device... method finalize (line 1139) | def finalize(self, model: ModelKamino, device: wp.DeviceLike = None): method device (line 1197) | def device(self) -> wp.DeviceLike: method data (line 1204) | def data(self) -> SolutionMetricsData: method reset (line 1215) | def reset(self): method evaluate (line 1221) | def evaluate( method _assert_has_data (line 1268) | def _assert_has_data(self): method _evaluate_constraint_violations_perf (line 1278) | def _evaluate_constraint_violations_perf( method _evaluate_primal_problem_perf (line 1358) | def _evaluate_primal_problem_perf( method _evaluate_dual_problem_perf (line 1451) | def _evaluate_dual_problem_perf( FILE: newton/_src/solvers/kamino/_src/solvers/padmm/kernels.py function _reset_solver_data (line 77) | def _reset_solver_data( function _warmstart_desaxce_correction (line 107) | def _warmstart_desaxce_correction( function _warmstart_joint_constraints (line 154) | def _warmstart_joint_constraints( function _warmstart_limit_constraints (line 214) | def _warmstart_limit_constraints( function _warmstart_contact_constraints (line 274) | def _warmstart_contact_constraints( function make_initialize_solver_kernel (line 343) | def make_initialize_solver_kernel(use_acceleration: bool = False): function make_update_proximal_regularization_kernel (line 424) | def make_update_proximal_regularization_kernel(method: PADMMPenaltyUpdate): function _update_delassus_proximal_regularization (line 466) | def _update_delassus_proximal_regularization( function _update_delassus_proximal_regularization_sparse (line 499) | def _update_delassus_proximal_regularization_sparse( function _compute_desaxce_correction (line 535) | def _compute_desaxce_correction( function _compute_velocity_bias (line 587) | def _compute_velocity_bias( function _compute_projection_argument (line 637) | def _compute_projection_argument( function _project_to_feasible_cone (line 679) | def _project_to_feasible_cone( function make_update_dual_variables_and_compute_primal_dual_residuals (line 739) | def make_update_dual_variables_and_compute_primal_dual_residuals(use_acc... function _compute_complementarity_residuals (line 830) | def _compute_complementarity_residuals( function _update_penalty (line 893) | def _update_penalty(config: PADMMConfigStruct, pen: PADMMPenalty, iterat... function less_than_op (line 914) | def less_than_op(i: wp.int32, threshold: wp.int32) -> wp.float32: function mul_mask (line 919) | def mul_mask(mask: Any, value: Any): function _make_compute_infnorm_residuals_kernel (line 925) | def _make_compute_infnorm_residuals_kernel(tile_size: int, n_cts_max: in... function _make_compute_infnorm_residuals_accel_kernel (line 1069) | def _make_compute_infnorm_residuals_accel_kernel(tile_size: int, n_cts_m... function _update_state_with_acceleration (line 1276) | def _update_state_with_acceleration( function make_collect_solver_info_kernel (line 1336) | def make_collect_solver_info_kernel(use_acceleration: bool): function make_collect_solver_info_kernel_sparse (line 1514) | def make_collect_solver_info_kernel_sparse(use_acceleration: bool): function _apply_dual_preconditioner_to_state (line 1688) | def _apply_dual_preconditioner_to_state( function _apply_dual_preconditioner_to_solution (line 1729) | def _apply_dual_preconditioner_to_solution( function _compute_final_desaxce_correction (line 1767) | def _compute_final_desaxce_correction( function _compute_solution_vectors (line 1811) | def _compute_solution_vectors( FILE: newton/_src/solvers/kamino/_src/solvers/padmm/math.py function project_to_coulomb_cone (line 48) | def project_to_coulomb_cone(x: vec3f, mu: float32, epsilon: float32 = 0.... function project_to_coulomb_dual_cone (line 76) | def project_to_coulomb_dual_cone(x: vec3f, mu: float32, epsilon: float32... function compute_inf_norm (line 112) | def compute_inf_norm( function compute_l1_norm (line 124) | def compute_l1_norm( function compute_l2_norm (line 136) | def compute_l2_norm( function compute_dot_product (line 149) | def compute_dot_product( function compute_double_dot_product (line 176) | def compute_double_dot_product( function compute_vector_sum (line 205) | def compute_vector_sum( function compute_cwise_vec_mul (line 228) | def compute_cwise_vec_mul( function compute_cwise_vec_div (line 251) | def compute_cwise_vec_div( function compute_gemv (line 274) | def compute_gemv( function compute_desaxce_corrections (line 321) | def compute_desaxce_corrections( function compute_ncp_primal_residual (line 376) | def compute_ncp_primal_residual( function compute_ncp_dual_residual (line 449) | def compute_ncp_dual_residual( function compute_ncp_complementarity_residual (line 538) | def compute_ncp_complementarity_residual( function compute_ncp_natural_map_residual (line 601) | def compute_ncp_natural_map_residual( function compute_preconditioned_iterate_residual (line 670) | def compute_preconditioned_iterate_residual( function compute_inverse_preconditioned_iterate_residual (line 699) | def compute_inverse_preconditioned_iterate_residual( FILE: newton/_src/solvers/kamino/_src/solvers/padmm/solver.py class PADMMSolver (line 76) | class PADMMSolver: method __init__ (line 100) | def __init__( method config (line 165) | def config(self) -> list[PADMMSolver.Config]: method size (line 173) | def size(self) -> SizeKamino: method data (line 180) | def data(self) -> PADMMData: method device (line 189) | def device(self) -> wp.DeviceLike: method finalize (line 199) | def finalize( method reset (line 286) | def reset(self, problem: DualProblem | None = None, world_mask: wp.arr... method coldstart (line 314) | def coldstart(self): method warmstart (line 322) | def warmstart( method solve (line 363) | def solve(self, problem: DualProblem): method _check_config (line 402) | def _check_config( method _initialize (line 442) | def _initialize(self): method _update_sparse_regularization (line 467) | def _update_sparse_regularization(self, problem: DualProblem): method _update_regularization (line 483) | def _update_regularization(self, problem: DualProblem): method _step (line 513) | def _step(self, problem: DualProblem): method _step_accel (line 552) | def _step_accel(self, problem: DualProblem): method _warmstart_desaxce_correction (line 598) | def _warmstart_desaxce_correction(self, problem: DualProblem, z: wp.ar... method _warmstart_joint_constraints (line 623) | def _warmstart_joint_constraints( method _warmstart_limit_constraints (line 668) | def _warmstart_limit_constraints( method _warmstart_contact_constraints (line 712) | def _warmstart_contact_constraints( method _warmstart_from_solution (line 757) | def _warmstart_from_solution(self, problem: DualProblem): method _warmstart_from_containers (line 796) | def _warmstart_from_containers( method _update_desaxce_correction (line 839) | def _update_desaxce_correction(self, problem: DualProblem, z: wp.array): method _update_velocity_bias (line 866) | def _update_velocity_bias(self, problem: DualProblem, y: wp.array, z: ... method _update_unconstrained_solution (line 898) | def _update_unconstrained_solution(self, problem: DualProblem): method _update_projection_argument (line 912) | def _update_projection_argument(self, problem: DualProblem, z: wp.array): method _update_projection_to_feasible_set (line 941) | def _update_projection_to_feasible_set(self, problem: DualProblem): method _update_complementarity_residuals (line 971) | def _update_complementarity_residuals(self, problem: DualProblem): method _update_dual_variables_and_residuals (line 999) | def _update_dual_variables_and_residuals(self, problem: DualProblem): method _update_dual_variables_and_residuals_accel (line 1040) | def _update_dual_variables_and_residuals_accel(self, problem: DualProb... method _update_convergence_check (line 1081) | def _update_convergence_check(self, problem: DualProblem): method _update_convergence_check_accel (line 1121) | def _update_convergence_check_accel(self, problem: DualProblem): method _update_acceleration (line 1166) | def _update_acceleration(self, problem: DualProblem): method _update_solver_info (line 1195) | def _update_solver_info(self, problem: DualProblem): method _update_previous_state (line 1341) | def _update_previous_state(self): method _update_previous_state_accel (line 1350) | def _update_previous_state_accel(self): method _update_solution (line 1364) | def _update_solution(self, problem: DualProblem): FILE: newton/_src/solvers/kamino/_src/solvers/padmm/types.py class PADMMPenaltyUpdate (line 76) | class PADMMPenaltyUpdate(IntEnum): method from_string (line 110) | def from_string(cls, s: str) -> PADMMPenaltyUpdate: method __str__ (line 118) | def __str__(self): method __repr__ (line 123) | def __repr__(self): class PADMMWarmStartMode (line 128) | class PADMMWarmStartMode(IntEnum): method from_string (line 155) | def from_string(cls, s: str) -> PADMMWarmStartMode: method __str__ (line 163) | def __str__(self): method __repr__ (line 168) | def __repr__(self): method parse_usd_attribute (line 173) | def parse_usd_attribute(value: str, context: dict[str, Any] | None = N... class PADMMConfigStruct (line 185) | class PADMMConfigStruct: class PADMMStatus (line 326) | class PADMMStatus: class PADMMPenalty (line 437) | class PADMMPenalty: class PADMMState (line 488) | class PADMMState: method __init__ (line 524) | def __init__(self, size: SizeKamino | None = None, use_acceleration: b... method finalize (line 637) | def finalize(self, size: SizeKamino, use_acceleration: bool = False): method reset (line 665) | def reset(self, use_acceleration: bool = False): class PADMMResiduals (line 701) | class PADMMResiduals: method __init__ (line 721) | def __init__(self, size: SizeKamino | None = None, use_acceleration: b... method finalize (line 775) | def finalize(self, size: SizeKamino, use_acceleration: bool = False): method zero (line 794) | def zero(self, use_acceleration: bool = False): class PADMMSolution (line 807) | class PADMMSolution: method __init__ (line 818) | def __init__(self, size: SizeKamino | None = None): method finalize (line 844) | def finalize(self, size: SizeKamino): method zero (line 854) | def zero(self): class PADMMInfo (line 862) | class PADMMInfo: method __init__ (line 931) | def __init__( method finalize (line 1122) | def finalize(self, size: SizeKamino, max_iters: int, use_acceleration:... method zero (line 1179) | def zero(self, use_acceleration: bool = False): class PADMMData (line 1213) | class PADMMData: method __init__ (line 1235) | def __init__( method finalize (line 1302) | def finalize( function convert_config_to_struct (line 1339) | def convert_config_to_struct(config: PADMMSolverConfig) -> PADMMConfigSt... FILE: newton/_src/solvers/kamino/_src/solvers/warmstart.py function _warmstart_limits_by_matched_jid_dof_key (line 61) | def _warmstart_limits_by_matched_jid_dof_key( function _warmstart_contacts_by_matched_geom_pair_key_and_position (line 114) | def _warmstart_contacts_by_matched_geom_pair_key_and_position( function _warmstart_contacts_from_geom_pair_net_force (line 224) | def _warmstart_contacts_from_geom_pair_net_force( function _warmstart_contacts_by_matched_geom_pair_key_and_position_with_net_force_backup (line 354) | def _warmstart_contacts_by_matched_geom_pair_key_and_position_with_net_f... function warmstart_limits_by_matched_jid_dof_key (line 537) | def warmstart_limits_by_matched_jid_dof_key( function warmstart_contacts_by_matched_geom_pair_key_and_position (line 575) | def warmstart_contacts_by_matched_geom_pair_key_and_position( function warmstart_contacts_from_geom_pair_net_force (line 633) | def warmstart_contacts_from_geom_pair_net_force( function warmstart_contacts_by_matched_geom_pair_key_and_position_with_net_force_backup (line 688) | def warmstart_contacts_by_matched_geom_pair_key_and_position_with_net_fo... class WarmstarterLimits (line 758) | class WarmstarterLimits: method __init__ (line 763) | def __init__(self, limits: LimitsKamino | None = None): method device (line 795) | def device(self) -> wp.DeviceLike: method cache (line 802) | def cache(self) -> LimitsKaminoData | None: method warmstart (line 808) | def warmstart(self, limits: LimitsKamino): method update (line 830) | def update(self, limits: LimitsKamino | None = None): method reset (line 847) | def reset(self): class WarmstarterContacts (line 859) | class WarmstarterContacts: class Method (line 883) | class Method(IntEnum): method from_string (line 908) | def from_string(cls, s: str) -> WarmstarterContacts.Method: method __str__ (line 918) | def __str__(self): method __repr__ (line 923) | def __repr__(self): method __init__ (line 927) | def __init__( method device (line 981) | def device(self) -> wp.DeviceLike: method cache (line 988) | def cache(self) -> ContactsKaminoData | None: method warmstart (line 994) | def warmstart(self, model: ModelKamino, data: DataKamino, contacts: Co... method update (line 1060) | def update(self, contacts: ContactsKamino | None = None): method reset (line 1081) | def reset(self): FILE: newton/_src/solvers/kamino/_src/utils/benchmark/__main__.py function parse_benchmark_arguments (line 80) | def parse_benchmark_arguments(): function benchmark_run (line 186) | def benchmark_run(args: argparse.Namespace): function load_metrics (line 362) | def load_metrics(data_import_path: str | None): function benchmark_output (line 394) | def benchmark_output(metrics: BenchmarkMetrics, export_dir: str | None): FILE: newton/_src/solvers/kamino/_src/utils/benchmark/configs.py function make_solver_config_default (line 30) | def make_solver_config_default() -> tuple[str, SolverKaminoImpl.Config]: function make_solver_config_dense_jacobian_llt_accurate (line 68) | def make_solver_config_dense_jacobian_llt_accurate() -> tuple[str, Solve... function make_solver_config_dense_jacobian_llt_fast (line 106) | def make_solver_config_dense_jacobian_llt_fast() -> tuple[str, SolverKam... function make_solver_config_sparse_jacobian_llt_accurate (line 144) | def make_solver_config_sparse_jacobian_llt_accurate() -> tuple[str, Solv... function make_solver_config_sparse_jacobian_llt_fast (line 182) | def make_solver_config_sparse_jacobian_llt_fast() -> tuple[str, SolverKa... function make_solver_config_sparse_delassus_cr_accurate (line 220) | def make_solver_config_sparse_delassus_cr_accurate() -> tuple[str, Solve... function make_solver_config_sparse_delassus_cr_fast (line 258) | def make_solver_config_sparse_delassus_cr_fast() -> tuple[str, SolverKam... function make_benchmark_configs (line 301) | def make_benchmark_configs(include_default: bool = True) -> dict[str, So... function save_solver_configs_to_hdf5 (line 328) | def save_solver_configs_to_hdf5(configs: dict[str, SolverKaminoImpl.Conf... function load_solver_configs_to_hdf5 (line 367) | def load_solver_configs_to_hdf5(datafile) -> dict[str, SolverKaminoImpl.... FILE: newton/_src/solvers/kamino/_src/utils/benchmark/metrics.py class CodeInfo (line 36) | class CodeInfo: method __init__ (line 42) | def __init__(self, path: str | None = None, empty: bool = False): method __repr__ (line 94) | def __repr__(self): method __str__ (line 105) | def __str__(self): method as_dict (line 109) | def as_dict(self) -> dict: class StatsFloat (line 124) | class StatsFloat: method __init__ (line 127) | def __init__(self, data: np.ndarray, name: str | None = None): method __repr__ (line 157) | def __repr__(self): class StatsInteger (line 169) | class StatsInteger: method __init__ (line 172) | def __init__(self, data: np.ndarray, num_bins: int = 20, name: str | N... method __repr__ (line 203) | def __repr__(self): class StatsBinary (line 215) | class StatsBinary: method __init__ (line 218) | def __init__(self, data: np.ndarray, name: str | None = None): method __repr__ (line 242) | def __repr__(self): class SolverMetrics (line 252) | class SolverMetrics: method __init__ (line 253) | def __init__(self, num_problems: int, num_configs: int, num_steps: int): method compute_stats (line 274) | def compute_stats(self): class PhysicsMetrics (line 284) | class PhysicsMetrics: method __init__ (line 285) | def __init__(self, num_problems: int, num_configs: int, num_steps: int): method compute_stats (line 314) | def compute_stats(self): class BenchmarkMetrics (line 329) | class BenchmarkMetrics: method __init__ (line 330) | def __init__( method num_problems (line 387) | def num_problems(self) -> int: method num_configs (line 393) | def num_configs(self) -> int: method num_steps (line 399) | def num_steps(self) -> int: method finalize (line 404) | def finalize( method record_step (line 435) | def record_step( method record_total (line 483) | def record_total( method compute_stats (line 495) | def compute_stats(self): method save_to_hdf5 (line 503) | def save_to_hdf5(self, path: str): method load_from_hdf5 (line 567) | def load_from_hdf5(self, path: str): method render_total_metrics_table (line 628) | def render_total_metrics_table(self, path: str | None = None): method render_step_time_table (line 658) | def render_step_time_table(self, path: str | None = None, units: Liter... method render_padmm_metrics_table (line 719) | def render_padmm_metrics_table(self, path: str | None = None): method render_physics_metrics_table (line 838) | def render_physics_metrics_table(self, path: str | None = None): method render_padmm_metrics_plots (line 1061) | def render_padmm_metrics_plots(self, path: str): method render_physics_metrics_plots (line 1155) | def render_physics_metrics_plots(self, path: str): FILE: newton/_src/solvers/kamino/_src/utils/benchmark/problems.py class ProblemDimensions (line 42) | class ProblemDimensions: class ControlConfig (line 50) | class ControlConfig: class CameraConfig (line 58) | class CameraConfig: function make_benchmark_problem_fourbar (line 91) | def make_benchmark_problem_fourbar( function make_benchmark_problem_dr_legs (line 115) | def make_benchmark_problem_dr_legs( function make_benchmark_problems (line 174) | def make_benchmark_problems( function save_problem_dimensions_to_hdf5 (line 199) | def save_problem_dimensions_to_hdf5(problem_dims: dict[str, ProblemDimen... FILE: newton/_src/solvers/kamino/_src/utils/benchmark/render.py function _add_table_column_group (line 33) | def _add_table_column_group( function _render_table_to_console_and_file (line 59) | def _render_table_to_console_and_file( function _format_cell (line 90) | def _format_cell(x, fmt): class ColumnGroup (line 108) | class ColumnGroup: function render_table (line 121) | def render_table( function render_subcolumn_table (line 179) | def render_subcolumn_table( function render_subcolumn_metrics_table (line 222) | def render_subcolumn_metrics_table( function render_solver_configs_table (line 322) | def render_solver_configs_table( function render_problem_dimensions_table (line 459) | def render_problem_dimensions_table( FILE: newton/_src/solvers/kamino/_src/utils/benchmark/runner.py class BenchmarkSim (line 27) | class BenchmarkSim: method __init__ (line 28) | def __init__( method reset (line 110) | def reset(self): method step (line 119) | def step(self): method step_once (line 127) | def step_once(self): method render (line 130) | def render(self): method test (line 134) | def test(self): method plot (line 137) | def plot(self, path: str | None = None, show: bool = False): method _capture (line 147) | def _capture(self): function run_single_benchmark_with_viewer (line 165) | def run_single_benchmark_with_viewer( function run_single_benchmark_with_progress (line 175) | def run_single_benchmark_with_progress( function run_single_benchmark_silent (line 187) | def run_single_benchmark_silent( function run_single_benchmark_with_step_metrics (line 198) | def run_single_benchmark_with_step_metrics( function run_single_benchmark (line 216) | def run_single_benchmark( FILE: newton/_src/solvers/kamino/_src/utils/control/animation.py class AnimationJointReferenceData (line 41) | class AnimationJointReferenceData: function _advance_animation_frame (line 147) | def _advance_animation_frame( function _extract_animation_references (line 197) | def _extract_animation_references( class AnimationJointReference (line 238) | class AnimationJointReference: method __init__ (line 243) | def __init__( method device (line 306) | def device(self) -> wp.DeviceLike | None: method sequence_length (line 311) | def sequence_length(self) -> int: method data (line 316) | def data(self) -> AnimationJointReferenceData: method _assert_has_data (line 325) | def _assert_has_data(self) -> None: method _upsample_reference_coordinates (line 331) | def _upsample_reference_coordinates( method _compute_finite_difference_velocities (line 391) | def _compute_finite_difference_velocities(q_ref: np.ndarray, dt: float... method finalize (line 432) | def finalize( method plot (line 577) | def plot(self, path: str | None = None, show: bool = False) -> None: method loop (line 611) | def loop(self, enabled: bool | list[bool] = True) -> None: method advance (line 631) | def advance(self, time: TimeData) -> None: method extract (line 656) | def extract(self, q_j_ref_out: wp.array, dq_j_ref_out: wp.array) -> None: method reset (line 682) | def reset(self, q_j_ref_out: wp.array, dq_j_ref_out: wp.array) -> None: method step (line 695) | def step(self, time: TimeData, q_j_ref_out: wp.array, dq_j_ref_out: wp... FILE: newton/_src/solvers/kamino/_src/utils/control/pid.py class PIDControllerData (line 46) | class PIDControllerData: function _reset_jointspace_pid_references (line 73) | def _reset_jointspace_pid_references( function _compute_jointspace_pid_control (line 136) | def _compute_jointspace_pid_control( function reset_jointspace_pid_references (line 258) | def reset_jointspace_pid_references( function compute_jointspace_pid_control (line 289) | def compute_jointspace_pid_control( class JointSpacePIDController (line 337) | class JointSpacePIDController: method __init__ (line 344) | def __init__( method data (line 382) | def data(self) -> PIDControllerData: method device (line 389) | def device(self) -> wp.DeviceLike: method finalize (line 397) | def finalize( method reset (line 471) | def reset(self, model: ModelKamino, state: StateKamino) -> None: method set_references (line 495) | def set_references( method compute (line 524) | def compute( FILE: newton/_src/solvers/kamino/_src/utils/control/rand.py class RandomJointControllerData (line 50) | class RandomJointControllerData: function _generate_random_control_inputs (line 80) | def _generate_random_control_inputs( class RandomJointController (line 165) | class RandomJointController: method __init__ (line 171) | def __init__( method device (line 223) | def device(self) -> wp.DeviceLike: method seed (line 230) | def seed(self) -> int: method seed (line 237) | def seed(self, s: int): method model (line 244) | def model(self) -> ModelKamino: method data (line 251) | def data(self) -> RandomJointControllerData: method finalize (line 261) | def finalize( method compute (line 331) | def compute(self, time: TimeData, control: ControlKamino): method _validate_arguments (line 377) | def _validate_arguments( FILE: newton/_src/solvers/kamino/_src/utils/device.py function _fmt_bytes (line 25) | def _fmt_bytes(bytes: int) -> str: function get_device_spec_info (line 48) | def get_device_spec_info(device: wp.DeviceLike) -> str: function get_device_malloc_info (line 85) | def get_device_malloc_info( FILE: newton/_src/solvers/kamino/_src/utils/io/usd.py function quat_between_axes (line 57) | def quat_between_axes(*axes: AxisType) -> quatf: class USDImporter (line 85) | class USDImporter: method _load_pxr_openusd (line 97) | def _load_pxr_openusd(cls): method __init__ (line 113) | def __init__(self): method _get_leaf_name (line 217) | def _get_leaf_name(name: str) -> str: method _get_prim_path (line 222) | def _get_prim_path(prim) -> str: method _get_prim_name (line 227) | def _get_prim_name(prim) -> str: method _get_prim_uid (line 232) | def _get_prim_uid(prim) -> str: method _get_prim_layer (line 241) | def _get_prim_layer(prim) -> str | None: method _get_prim_parent_body (line 250) | def _get_prim_parent_body(prim): method _prim_is_rigid_body (line 261) | def _prim_is_rigid_body(prim) -> bool: method _get_material_default_override (line 269) | def _get_material_default_override(prim) -> bool: method _align_geom_to_axis (line 278) | def _align_geom_to_axis(axis: Axis, q: wp.quatf) -> wp.quatf: method _make_faces_from_counts (line 292) | def _make_faces_from_counts(indices: np.ndarray, counts: Iterable[int]... method _get_attribute (line 310) | def _get_attribute(self, prim, name) -> Any: method _has_attribute (line 313) | def _has_attribute(self, prim, name) -> bool: method _get_translation (line 317) | def _get_translation(self, prim, local: bool = True) -> wp.vec3f: method _get_rotation (line 327) | def _get_rotation(self, prim, local: bool = True, invert_rotation: boo... method _get_transform (line 339) | def _get_transform(self, prim, local: bool = True, invert_rotation: bo... method _get_scale (line 352) | def _get_scale(self, prim) -> wp.vec3f: method _parse_float (line 359) | def _parse_float(self, prim, name, default=None) -> float | None: method _parse_float_with_fallback (line 368) | def _parse_float_with_fallback(self, prims: Iterable[Any], name: str, ... method _from_gfquat (line 383) | def _from_gfquat(gfquat) -> wp.quatf: method _parse_quat (line 386) | def _parse_quat(self, prim, name, default=None) -> np.ndarray | None: method _parse_vec (line 400) | def _parse_vec(self, prim, name, default=None) -> np.ndarray | None: method _parse_generic (line 409) | def _parse_generic(self, prim, name, default=None) -> Any | None: method _parse_xform (line 415) | def _parse_xform(self, prim) -> wp.transformf: method _get_geom_max_contacts (line 425) | def _get_geom_max_contacts(self, prim) -> int: method _warn_invalid_desc (line 434) | def _warn_invalid_desc(path, descriptor) -> bool: method _material_pair_properties_from (line 441) | def _material_pair_properties_from(first: MaterialDescriptor, second: ... method _parse_material (line 448) | def _parse_material( method _parse_rigid_body (line 515) | def _parse_rigid_body( method _has_joints (line 671) | def _has_joints(self, ret_dict: dict) -> bool: method _get_joint_dof_hint (line 680) | def _get_joint_dof_hint(self, prim) -> JointDoFType | None: method _make_joint_default_limits (line 695) | def _make_joint_default_limits(self, dof_type: JointDoFType) -> tuple[... method _make_joint_default_dynamics (line 702) | def _make_joint_default_dynamics( method _infer_joint_actuation_type (line 711) | def _infer_joint_actuation_type(self, stiffness: float, damping: float... method _parse_joint_revolute (line 722) | def _parse_joint_revolute( method _parse_joint_prismatic (line 758) | def _parse_joint_prismatic(self, joint_spec, distance_unit: float = 1.... method _parse_joint_revolute_from_d6 (line 787) | def _parse_joint_revolute_from_d6(self, name, joint_prim, joint_spec, ... method _parse_joint_prismatic_from_d6 (line 811) | def _parse_joint_prismatic_from_d6(self, name, joint_prim, joint_spec,... method _parse_joint_cylindrical_from_d6 (line 835) | def _parse_joint_cylindrical_from_d6( method _parse_joint_universal_from_d6 (line 866) | def _parse_joint_universal_from_d6(self, name, joint_prim, joint_spec,... method _parse_joint_cartesian_from_d6 (line 895) | def _parse_joint_cartesian_from_d6( method _parse_joint_spherical_from_d6 (line 935) | def _parse_joint_spherical_from_d6(self, name, joint_prim, joint_spec,... method _parse_joint_free_from_d6 (line 969) | def _parse_joint_free_from_d6( method _parse_joint (line 1026) | def _parse_joint( method _parse_visual_geom (line 1287) | def _parse_visual_geom( method _parse_physics_geom (line 1468) | def _parse_physics_geom( method import_from (line 1700) | def import_from( FILE: newton/_src/solvers/kamino/_src/utils/logger.py class LogLevel (line 13) | class LogLevel(IntEnum): class Logger (line 24) | class Logger(logging.Formatter): method __init__ (line 54) | def __init__(self): method format (line 71) | def format(self, record): method get (line 77) | def get(self): method notif (line 81) | def notif(self, msg, *args, **kwargs): function get_default_logger (line 107) | def get_default_logger() -> logging.Logger: function set_log_level (line 115) | def set_log_level(level: LogLevel): function reset_log_level (line 121) | def reset_log_level(): function set_log_header (line 127) | def set_log_header(header: str): function debug (line 137) | def debug(msg: str, *args, **kwargs): function info (line 142) | def info(msg: str, *args, **kwargs): function notif (line 147) | def notif(msg: str, *args, **kwargs): function warning (line 152) | def warning(msg: str, *args, **kwargs): function error (line 157) | def error(msg: str, *args, **kwargs): function critical (line 162) | def critical(msg: str, *args, **kwargs): FILE: newton/_src/solvers/kamino/_src/utils/profiles.py class _nullcontext (line 48) | class _nullcontext: method __init__ (line 51) | def __init__(self, *_, **__): method __enter__ (line 54) | def __enter__(self): method __exit__ (line 57) | def __exit__(self, *exc): class PerformanceProfile (line 66) | class PerformanceProfile: method __init__ (line 115) | def __init__( method is_valid (line 185) | def is_valid(self) -> bool: method performance_minima (line 189) | def performance_minima(self) -> np.ndarray: method performance_ratios (line 195) | def performance_ratios(self) -> np.ndarray: method largest_performance_ratio (line 201) | def largest_performance_ratio(self) -> float: method cumulative_distributions (line 205) | def cumulative_distributions(self) -> list[np.ndarray]: method compute (line 212) | def compute( method rankings (line 324) | def rankings(self) -> dict[str, tuple[np.ndarray, np.ndarray, bool]]: method plot (line 380) | def plot( FILE: newton/_src/solvers/kamino/_src/utils/sim/datalog.py class SimulationLogger (line 29) | class SimulationLogger: method initialize_plt (line 38) | def initialize_plt(cls): method __init__ (line 49) | def __init__( method reset (line 146) | def reset(self): method log (line 152) | def log(self): method plot_solver_info (line 215) | def plot_solver_info(self, path: str | None = None, show: bool = False): method plot_joint_tracking (line 309) | def plot_joint_tracking(self, path: str | None = None, show: bool = Fa... method plot_solution_metrics (line 381) | def plot_solution_metrics(self, path: str | None = None, show: bool = ... method _unpack_key (line 476) | def _unpack_key(key: np.uint64) -> tuple[int, int]: FILE: newton/_src/solvers/kamino/_src/utils/sim/runner.py class SimulationRunner (line 19) | class SimulationRunner: method __init__ (line 20) | def __init__( method reset (line 89) | def reset(self): method step (line 99) | def step(self): method render (line 108) | def render(self): method test (line 113) | def test(self): method export (line 117) | def export(self, path: str | None = None, show: bool = False, keep_fra... method run (line 121) | def run(self, num_frames: int = 0, progress: bool = True): method _capture (line 135) | def _capture(self): method _run_reset (line 148) | def _run_reset(self): method _run_step (line 152) | def _run_step(self): FILE: newton/_src/solvers/kamino/_src/utils/sim/simulator.py class SimulatorData (line 43) | class SimulatorData: method __init__ (line 58) | def __init__(self, model: ModelKamino): method cache_state (line 66) | def cache_state(self): class Simulator (line 78) | class Simulator: class Config (line 109) | class Config: method validate (line 132) | def validate(self) -> None: method __post_init__ (line 162) | def __post_init__(self): method __init__ (line 169) | def __init__( method config (line 239) | def config(self) -> Simulator.Config: method model (line 246) | def model(self) -> ModelKamino: method data (line 253) | def data(self) -> SimulatorData: method state (line 260) | def state(self) -> StateKamino: method state_previous (line 267) | def state_previous(self) -> StateKamino: method control (line 274) | def control(self) -> ControlKamino: method limits (line 281) | def limits(self): method contacts (line 288) | def contacts(self): method metrics (line 295) | def metrics(self): method collision_detector (line 302) | def collision_detector(self) -> CollisionDetector: method solver (line 309) | def solver(self) -> SolverKaminoImpl: method set_pre_reset_callback (line 319) | def set_pre_reset_callback(self, callback: SimCallbackType): method set_post_reset_callback (line 325) | def set_post_reset_callback(self, callback: SimCallbackType): method set_control_callback (line 331) | def set_control_callback(self, callback: SimCallbackType): method reset (line 343) | def reset( method step (line 402) | def step(self): FILE: newton/_src/solvers/kamino/_src/utils/sim/viewer.py function compute_contact_box_transforms (line 31) | def compute_contact_box_transforms( function compute_contact_force_arrows (line 91) | def compute_contact_force_arrows( class ViewerKamino (line 171) | class ViewerKamino(ViewerGL): method __init__ (line 191) | def __init__( method render_geometry (line 245) | def render_geometry(self, body_poses: wp.array, geom: GeometryDescript... method render_frame (line 282) | def render_frame(self, stop_recording: bool = False): method render_contacts_kamino (line 307) | def render_contacts_kamino(self, contacts): method set_camera_lookat (line 471) | def set_camera_lookat(self, pos: wp.vec3, target: wp.vec3): method _create_box_mesh_simple (line 489) | def _create_box_mesh_simple(self, sx, sy, sz): method _capture_frame (line 563) | def _capture_frame(self): method generate_video (line 609) | def generate_video(self, output_filename: str = "recording.mp4", fps: ... FILE: newton/_src/solvers/kamino/_src/utils/sparse.py function sparseplot (line 17) | def sparseplot( FILE: newton/_src/solvers/kamino/_src/utils/viewer.py class MeshColors (line 12) | class MeshColors: class ViewerConfig (line 31) | class ViewerConfig: FILE: newton/_src/solvers/kamino/config.py class ConfigBase (line 38) | class ConfigBase: method register_custom_attributes (line 45) | def register_custom_attributes(builder: ModelBuilder) -> None: method from_model (line 55) | def from_model(model: Model, **kwargs: dict[str, Any]) -> ConfigBase: method validate (line 64) | def validate(self) -> None: class CollisionDetectorConfig (line 76) | class CollisionDetectorConfig(ConfigBase): method register_custom_attributes (line 138) | def register_custom_attributes(builder: ModelBuilder) -> None: method from_model (line 153) | def from_model(model: Model, **kwargs: dict[str, Any]) -> CollisionDet... method validate (line 171) | def validate(self) -> None: method __post_init__ (line 218) | def __post_init__(self): class ConstraintStabilizationConfig (line 224) | class ConstraintStabilizationConfig(ConfigBase): method register_custom_attributes (line 263) | def register_custom_attributes(builder: ModelBuilder) -> None: method from_model (line 314) | def from_model(model: Model, **kwargs: dict[str, Any]) -> ConstraintSt... method validate (line 340) | def validate(self) -> None: method __post_init__ (line 354) | def __post_init__(self): class ConstrainedDynamicsConfig (line 360) | class ConstrainedDynamicsConfig(ConfigBase): method register_custom_attributes (line 386) | def register_custom_attributes(builder: ModelBuilder) -> None: method from_model (line 414) | def from_model(model: Model, **kwargs: dict[str, Any]) -> ConstrainedD... method validate (line 436) | def validate(self) -> None: method __post_init__ (line 452) | def __post_init__(self): class PADMMSolverConfig (line 458) | class PADMMSolverConfig: method register_custom_attributes (line 598) | def register_custom_attributes(builder: ModelBuilder) -> None: method from_model (line 686) | def from_model(model: Model, **kwargs: dict[str, Any]) -> PADMMSolverC... method validate (line 720) | def validate(self) -> None: method __post_init__ (line 768) | def __post_init__(self): class ForwardKinematicsSolverConfig (line 774) | class ForwardKinematicsSolverConfig: method register_custom_attributes (line 845) | def register_custom_attributes(builder: ModelBuilder) -> None: method from_model (line 860) | def from_model(model: Model, **kwargs: dict[str, Any]) -> ForwardKinem... method validate (line 878) | def validate(self) -> None: method __post_init__ (line 901) | def __post_init__(self): FILE: newton/_src/solvers/kamino/examples/__init__.py function get_examples_output_path (line 17) | def get_examples_output_path() -> str: function run_headless (line 29) | def run_headless(example, progress: bool = True): function print_progress_bar (line 41) | def print_progress_bar(iteration, total, start_time, length=40, prefix="... FILE: newton/_src/solvers/kamino/examples/newton/example_anymal_d.py class Example (line 19) | class Example: method __init__ (line 20) | def __init__(self, viewer, num_worlds=8, args=None): method capture (line 87) | def capture(self): method simulate (line 95) | def simulate(self): method step (line 103) | def step(self): method render (line 111) | def render(self): method test_final (line 117) | def test_final(self): FILE: newton/_src/solvers/kamino/examples/newton/example_dr_legs.py class Example (line 20) | class Example: method __init__ (line 21) | def __init__(self, viewer, num_worlds=8, args=None): method capture (line 108) | def capture(self): method simulate (line 116) | def simulate(self): method step (line 124) | def step(self): method render (line 132) | def render(self): method test_final (line 138) | def test_final(self): FILE: newton/_src/solvers/kamino/examples/newton/example_fourbar.py class Example (line 24) | class Example: method __init__ (line 25) | def __init__(self, viewer, num_worlds=1, args=None): method capture (line 111) | def capture(self): method simulate (line 119) | def simulate(self): method step (line 127) | def step(self): method render (line 134) | def render(self): method test_final (line 144) | def test_final(self): FILE: newton/_src/solvers/kamino/examples/reset/example_reset_dr_legs.py function _test_control_callback (line 31) | def _test_control_callback( class Example (line 80) | class Example: method __init__ (line 81) | def __init__( method capture (line 230) | def capture(self): method simulate (line 246) | def simulate(self): method reset (line 252) | def reset(self): method step_once (line 259) | def step_once(self): method update_reset_config (line 266) | def update_reset_config(self): method step (line 282) | def step(self): method render (line 405) | def render(self): method test (line 410) | def test(self): method plot (line 414) | def plot(self, path: str | None = None, keep_frames: bool = False): FILE: newton/_src/solvers/kamino/examples/rl/camera_follow.py class CameraFollowRobot (line 10) | class CameraFollowRobot: method __init__ (line 26) | def __init__( method update (line 41) | def update(self, root_pos: np.ndarray): method set_offset (line 57) | def set_offset(self, offset: tuple[float, float, float]): method set_pitch (line 61) | def set_pitch(self, pitch: float): method set_yaw (line 65) | def set_yaw(self, yaw: float): method reset (line 69) | def reset(self): FILE: newton/_src/solvers/kamino/examples/rl/example_rl_bipedal.py function _build_normalization (line 81) | def _build_normalization(joint_names: list[str]): class Example (line 101) | class Example: method __init__ (line 102) | def __init__( method torch_device (line 182) | def torch_device(self) -> str: method viewer (line 186) | def viewer(self): method reset (line 189) | def reset(self): method step_once (line 198) | def step_once(self): method update_input (line 202) | def update_input(self): method sim_step (line 226) | def sim_step(self): method step (line 244) | def step(self): method render (line 252) | def render(self): FILE: newton/_src/solvers/kamino/examples/rl/example_rl_drlegs.py function _load_drlegs_config (line 86) | def _load_drlegs_config(asset_path: Path) -> dict: class Example (line 107) | class Example: method __init__ (line 108) | def __init__( method _apply_body_group_colors (line 238) | def _apply_body_group_colors(self): method torch_device (line 261) | def torch_device(self) -> str: method viewer (line 265) | def viewer(self): method _apply_actions (line 270) | def _apply_actions(self): method _advance_path (line 278) | def _advance_path(self): method reset (line 297) | def reset(self): method step_once (line 312) | def step_once(self): method update_input (line 316) | def update_input(self): method sim_step (line 341) | def sim_step(self): method step (line 446) | def step(self): method render (line 454) | def render(self): FILE: newton/_src/solvers/kamino/examples/rl/joystick.py class JoystickConfig (line 55) | class JoystickConfig: method forward_velocity_max (line 88) | def forward_velocity_max(self, turbo_alpha: float) -> float: method lateral_velocity_max (line 91) | def lateral_velocity_max(self, turbo_alpha: float) -> float: method angular_velocity_max (line 94) | def angular_velocity_max(self, turbo_alpha: float) -> float: class JoystickController (line 98) | class JoystickController: method __init__ (line 129) | def __init__( method _read_input (line 197) | def _read_input(self) -> tuple[float, float, float, float, float]: method _read_turbo (line 239) | def _read_turbo(self) -> float: method update (line 245) | def update(self, root_pos_2d: torch.Tensor | None = None) -> None: method close (line 295) | def close(self) -> None: method check_reset (line 304) | def check_reset(self) -> bool: method reset (line 321) | def reset(self, root_pos_2d: torch.Tensor | None = None, root_yaw: tor... method set_dt (line 340) | def set_dt(self, dt: float) -> None: FILE: newton/_src/solvers/kamino/examples/rl/observations.py function _projected_yaw (line 25) | def _projected_yaw(q: wp.quat) -> float: function _write_vec3 (line 35) | def _write_vec3(obs: wp.array(dtype=wp.float32), idx: int, v: wp.vec3): function _compute_bipedal_obs_core (line 73) | def _compute_bipedal_obs_core( class PhaseRate (line 172) | class PhaseRate(torch.nn.Module): method __init__ (line 177) | def __init__(self, path, obs_cmd_range) -> None: method forward (line 191) | def forward(self, input: torch.Tensor) -> torch.Tensor: method __init__ (line 356) | def __init__(self, path, obs_cmd_range) -> None: method forward (line 370) | def forward(self, input: torch.Tensor) -> torch.Tensor: function _projected_yaw (line 204) | def _projected_yaw(q: wp.quat) -> float: function _write_vec3 (line 214) | def _write_vec3(obs: wp.array(dtype=wp.float32), idx: int, v: wp.vec3): function _compute_bipedal_obs_core (line 252) | def _compute_bipedal_obs_core( class PhaseRate (line 351) | class PhaseRate(torch.nn.Module): method __init__ (line 177) | def __init__(self, path, obs_cmd_range) -> None: method forward (line 191) | def forward(self, input: torch.Tensor) -> torch.Tensor: method __init__ (line 356) | def __init__(self, path, obs_cmd_range) -> None: method forward (line 370) | def forward(self, input: torch.Tensor) -> torch.Tensor: class ObservationBuilder (line 375) | class ObservationBuilder(ABC): method __init__ (line 390) | def __init__( method num_observations (line 411) | def num_observations(self) -> int: method command_dim (line 416) | def command_dim(self) -> int: method command (line 421) | def command(self) -> torch.Tensor: method command (line 430) | def command(self, value: torch.Tensor) -> None: method compute (line 434) | def compute(self, actions: torch.Tensor | None = None) -> torch.Tensor: method reset (line 448) | def reset(self, env_ids: torch.Tensor | None = None) -> None: method _get_joint_positions (line 456) | def _get_joint_positions(self) -> torch.Tensor: method _get_joint_velocities (line 464) | def _get_joint_velocities(self) -> torch.Tensor: method _get_root_positions (line 472) | def _get_root_positions(self) -> torch.Tensor: class DrlegsBaseObservation (line 482) | class DrlegsBaseObservation(ObservationBuilder): method __init__ (line 496) | def __init__( method num_observations (line 532) | def num_observations(self) -> int: method compute (line 535) | def compute(self, actions: torch.Tensor | None = None) -> torch.Tensor: method reset (line 551) | def reset(self, env_ids: torch.Tensor | None = None) -> None: class BipedalObservation (line 565) | class BipedalObservation(ObservationBuilder, torch.nn.Module): method __init__ (line 592) | def __init__( method get_feature_module (line 723) | def get_feature_module(self) -> BipedalObservation: method num_observations (line 727) | def num_observations(self) -> int: method compute (line 730) | def compute(self, setpoints: torch.Tensor | None = None) -> torch.Tensor: method reset (line 795) | def reset(self, env_ids: torch.Tensor | None = None) -> None: FILE: newton/_src/solvers/kamino/examples/rl/simulation.py class SimulatorFromNewton (line 40) | class SimulatorFromNewton: method __init__ (line 49) | def __init__( method model (line 90) | def model(self) -> ModelKamino: method state (line 94) | def state(self) -> StateKamino: method state_previous (line 99) | def state_previous(self) -> StateKamino: method control (line 104) | def control(self) -> ControlKamino: method contacts (line 108) | def contacts(self): method collision_detector (line 112) | def collision_detector(self) -> CollisionDetector: method solver (line 116) | def solver(self) -> SolverKaminoImpl: method step (line 119) | def step(self): method reset (line 135) | def reset(self, **kwargs): class RigidBodySim (line 145) | class RigidBodySim: method __init__ (line 175) | def __init__( method _apply_render_config (line 308) | def _apply_render_config(self, cfg: ViewerConfig): method _make_rl_interface (line 367) | def _make_rl_interface(self): method _extract_metadata (line 427) | def _extract_metadata(self): method _capture_graphs (line 474) | def _capture_graphs(self): method step (line 496) | def step(self): method reset (line 509) | def reset(self): method apply_resets (line 515) | def apply_resets(self): method _reset_worlds (line 532) | def _reset_worlds(self): method render (line 542) | def render(self): method _capture_frame (line 557) | def _capture_frame(self): method generate_video (line 609) | def generate_video(self, output_filename: str = "recording.mp4", fps: ... method time (line 679) | def time(self) -> float: method is_running (line 683) | def is_running(self) -> bool: method set_dof (line 693) | def set_dof( method set_root (line 722) | def set_root( method q_j (line 770) | def q_j(self) -> torch.Tensor: method dq_j (line 775) | def dq_j(self) -> torch.Tensor: method q_i (line 780) | def q_i(self) -> torch.Tensor: method u_i (line 785) | def u_i(self) -> torch.Tensor: method q_j_ref (line 794) | def q_j_ref(self) -> torch.Tensor: method dq_j_ref (line 799) | def dq_j_ref(self) -> torch.Tensor: method tau_j_ref (line 804) | def tau_j_ref(self) -> torch.Tensor: method contact_flags (line 813) | def contact_flags(self) -> torch.Tensor: method ground_contact_flags (line 818) | def ground_contact_flags(self) -> torch.Tensor: method net_contact_forces (line 823) | def net_contact_forces(self) -> torch.Tensor: method body_pair_contact_flag (line 828) | def body_pair_contact_flag(self) -> torch.Tensor: method set_body_pair_contact_filter (line 832) | def set_body_pair_contact_filter(self, body_a_name: str, body_b_name: ... method compute_body_pair_contacts (line 847) | def compute_body_pair_contacts(self) -> None: method num_worlds (line 856) | def num_worlds(self) -> int: method num_joint_coords (line 860) | def num_joint_coords(self) -> int: method num_joint_dofs (line 864) | def num_joint_dofs(self) -> int: method num_bodies (line 868) | def num_bodies(self) -> int: method joint_names (line 872) | def joint_names(self) -> list[str]: method body_names (line 876) | def body_names(self) -> list[str]: method actuated_joint_names (line 880) | def actuated_joint_names(self) -> list[str]: method actuated_dof_indices (line 884) | def actuated_dof_indices(self) -> list[int]: method actuated_dof_indices_tensor (line 888) | def actuated_dof_indices_tensor(self) -> torch.Tensor: method num_actuated (line 893) | def num_actuated(self) -> int: method env_origins (line 897) | def env_origins(self) -> torch.Tensor: method external_wrenches (line 902) | def external_wrenches(self) -> torch.Tensor: method body_masses (line 907) | def body_masses(self) -> torch.Tensor: method default_q_j (line 912) | def default_q_j(self) -> torch.Tensor: method joint_limits (line 917) | def joint_limits(self) -> list[list[float]]: method torch_device (line 922) | def torch_device(self) -> str: method device (line 927) | def device(self): method sim_dt (line 932) | def sim_dt(self) -> float: method world_mask (line 936) | def world_mask(self) -> torch.Tensor: method find_body_index (line 944) | def find_body_index(self, name: str) -> int: method find_body_indices (line 954) | def find_body_indices(self, names: list[str]) -> list[int]: method default_settings (line 963) | def default_settings(sim_dt: float = 0.01) -> Simulator.Config: FILE: newton/_src/solvers/kamino/examples/rl/simulation_runner.py class SimulationRunner (line 22) | class SimulationRunner: method __init__ (line 34) | def __init__( method run (line 57) | def run(self) -> None: method _run_sync (line 68) | def _run_sync(self) -> None: method _run_async (line 78) | def _run_async(self) -> None: method _main_thread_loop (line 94) | def _main_thread_loop(self) -> None: method _sim_thread_fn (line 138) | def _sim_thread_fn(self) -> None: FILE: newton/_src/solvers/kamino/examples/rl/test_multi_env_dr_legs.py function make_settings (line 30) | def make_settings(sim_dt: float = 0.004) -> Simulator.Config: function run_test (line 47) | def run_test(num_worlds: int, num_steps: int, device): FILE: newton/_src/solvers/kamino/examples/rl/utils.py function _quat_to_projected_yaw_kernel (line 28) | def _quat_to_projected_yaw_kernel( function quat_to_projected_yaw (line 41) | def quat_to_projected_yaw(q: torch.Tensor) -> torch.Tensor: function _yaw_apply_2d_kernel (line 56) | def _yaw_apply_2d_kernel( function yaw_apply_2d (line 69) | def yaw_apply_2d(yaw: torch.Tensor, v: torch.Tensor) -> torch.Tensor: function yaw_to_quat (line 84) | def yaw_to_quat(yaw: torch.Tensor) -> torch.Tensor: function quat_inv_mul (line 92) | def quat_inv_mul(a: torch.Tensor, b: torch.Tensor) -> torch.Tensor: function quat_rotate_inv (line 113) | def quat_rotate_inv(q: torch.Tensor, v: torch.Tensor) -> torch.Tensor: function quat_to_rotation9d (line 136) | def quat_to_rotation9d(q: torch.Tensor) -> torch.Tensor: class StackedIndices (line 167) | class StackedIndices: method __init__ (line 178) | def __init__(self, names_and_sizes: list[tuple[str, int]]) -> None: method names_and_sizes (line 194) | def names_and_sizes(self) -> list[tuple[str, int]]: method __getitem__ (line 197) | def __getitem__(self, key: str | list[str] | tuple[str, ...]) -> range... method __len__ (line 204) | def __len__(self) -> int: function periodic_encoding (line 213) | def periodic_encoding(k: int) -> tuple[np.ndarray, np.ndarray]: function _build_mlp_from_state_dict (line 235) | def _build_mlp_from_state_dict(sd: dict, prefix: str, activation: str = ... function _load_policy_checkpoint (line 254) | def _load_policy_checkpoint(path: str, device: str) -> callable: function _deadband (line 298) | def _deadband(value: float, threshold: float) -> float: class _LowPassFilter (line 306) | class _LowPassFilter: method __init__ (line 309) | def __init__(self, cutoff_hz: float, dt: float) -> None: method update (line 314) | def update(self, x: float) -> float: method reset (line 321) | def reset(self) -> None: class RateLimitedValue (line 325) | class RateLimitedValue: method __init__ (line 328) | def __init__(self, rate_limit: float, dt: float) -> None: method update (line 334) | def update(self, target: float) -> float: method reset (line 344) | def reset(self) -> None: function _scale_asym (line 349) | def _scale_asym(value: float, neg_scale: float, pos_scale: float) -> float: FILE: newton/_src/solvers/kamino/examples/sim/example_sim_basics_all_heterogeneous.py function _test_control_callback (line 32) | def _test_control_callback( function test_control_callback (line 61) | def test_control_callback(sim: Simulator): class Example (line 80) | class Example: method __init__ (line 81) | def __init__( method capture (line 169) | def capture(self): method simulate (line 185) | def simulate(self): method reset (line 192) | def reset(self): method step_once (line 202) | def step_once(self): method step (line 211) | def step(self): method render (line 218) | def render(self): method test (line 223) | def test(self): method plot (line 227) | def plot(self, path: str | None = None, show: bool = False, keep_frame... FILE: newton/_src/solvers/kamino/examples/sim/example_sim_basics_box_on_plane.py function _control_callback (line 35) | def _control_callback( function control_callback (line 76) | def control_callback(sim: Simulator): class Example (line 97) | class Example: method __init__ (line 98) | def __init__( method capture (line 207) | def capture(self): method simulate (line 223) | def simulate(self): method reset (line 230) | def reset(self): method step_once (line 240) | def step_once(self): method step (line 249) | def step(self): method render (line 256) | def render(self): method test (line 261) | def test(self): method plot (line 265) | def plot(self, path: str | None = None, show: bool = False, keep_frame... FILE: newton/_src/solvers/kamino/examples/sim/example_sim_basics_box_pendulum.py class Example (line 27) | class Example: method __init__ (line 28) | def __init__( method capture (line 157) | def capture(self): method simulate (line 173) | def simulate(self): method reset (line 180) | def reset(self): method step_once (line 190) | def step_once(self): method step (line 200) | def step(self): method render (line 208) | def render(self): method test (line 213) | def test(self): method plot (line 217) | def plot(self, path: str | None = None, show: bool = False, keep_frame... FILE: newton/_src/solvers/kamino/examples/sim/example_sim_basics_boxes_fourbar.py function _pd_control_callback (line 38) | def _pd_control_callback( function _torque_control_callback (line 96) | def _torque_control_callback( function pd_control_callback (line 126) | def pd_control_callback(sim: Simulator): function torque_control_callback (line 142) | def torque_control_callback(sim: Simulator): class Example (line 161) | class Example: method __init__ (line 162) | def __init__( method capture (line 300) | def capture(self): method simulate (line 316) | def simulate(self): method reset (line 323) | def reset(self): method step_once (line 333) | def step_once(self): method step (line 342) | def step(self): method render (line 349) | def render(self): method test (line 354) | def test(self): method plot (line 358) | def plot(self, path: str | None = None, show: bool = False, keep_frame... FILE: newton/_src/solvers/kamino/examples/sim/example_sim_basics_boxes_hinged.py function _control_callback (line 35) | def _control_callback( function control_callback (line 65) | def control_callback(sim: Simulator): class Example (line 84) | class Example: method __init__ (line 85) | def __init__( method capture (line 193) | def capture(self): method simulate (line 209) | def simulate(self): method reset (line 216) | def reset(self): method step_once (line 226) | def step_once(self): method step (line 235) | def step(self): method render (line 242) | def render(self): method test (line 247) | def test(self): method plot (line 251) | def plot(self, path: str | None = None, show: bool = False, keep_frame... FILE: newton/_src/solvers/kamino/examples/sim/example_sim_basics_cartpole.py class CartpoleStates (line 30) | class CartpoleStates: class CartpoleActions (line 36) | class CartpoleActions: function _test_control_callback (line 46) | def _test_control_callback( function test_control_callback (line 80) | def test_control_callback(sim: Simulator): class Example (line 99) | class Example: method __init__ (line 100) | def __init__( method make_rl_interface (line 235) | def make_rl_interface(self): method _reset_worlds (line 258) | def _reset_worlds(self): method capture (line 266) | def capture(self): method simulate (line 282) | def simulate(self): method reset (line 290) | def reset(self): method step_once (line 300) | def step_once(self): method step (line 310) | def step(self): method render (line 322) | def render(self): method test (line 327) | def test(self): method plot (line 331) | def plot(self, path: str | None = None, show: bool = False, keep_frame... FILE: newton/_src/solvers/kamino/examples/sim/example_sim_dr_legs.py function _pd_control_callback (line 40) | def _pd_control_callback( function pd_control_callback (line 125) | def pd_control_callback(sim: Simulator, animation: AnimationJointReferen... class Example (line 161) | class Example: method __init__ (line 162) | def __init__( method capture (line 369) | def capture(self): method simulate (line 385) | def simulate(self): method reset (line 392) | def reset(self): method step_once (line 402) | def step_once(self): method step (line 411) | def step(self): method render (line 418) | def render(self): method test (line 423) | def test(self): method plot (line 427) | def plot(self, path: str | None = None, show: bool = False, keep_frame... FILE: newton/_src/solvers/kamino/examples/sim/example_sim_dr_testmech.py class Example (line 24) | class Example: method __init__ (line 25) | def __init__( method capture (line 123) | def capture(self): method simulate (line 139) | def simulate(self): method reset (line 146) | def reset(self): method step_once (line 156) | def step_once(self): method step (line 165) | def step(self): method render (line 172) | def render(self): method test (line 177) | def test(self): method plot (line 181) | def plot(self, path: str | None = None, show: bool = False, keep_frame... FILE: newton/_src/solvers/kamino/examples/sim/example_sim_test_all_geoms.py class Example (line 26) | class Example: method __init__ (line 27) | def __init__( method capture (line 152) | def capture(self): method simulate (line 168) | def simulate(self): method reset (line 175) | def reset(self): method step_once (line 185) | def step_once(self): method step (line 194) | def step(self): method render (line 201) | def render(self): method test (line 206) | def test(self): method plot (line 210) | def plot(self, path: str | None = None, show: bool = False, keep_frame... FILE: newton/_src/solvers/kamino/examples/sim/example_sim_test_all_joints.py class Example (line 30) | class Example: method __init__ (line 31) | def __init__( method capture (line 116) | def capture(self): method simulate (line 132) | def simulate(self): method reset (line 139) | def reset(self): method step_once (line 149) | def step_once(self): method step (line 158) | def step(self): method render (line 165) | def render(self): method test (line 170) | def test(self): method plot (line 174) | def plot(self, path: str | None = None, show: bool = False, keep_frame... FILE: newton/_src/solvers/kamino/solver_kamino.py class SolverKamino (line 51) | class SolverKamino(SolverBase): class Config (line 100) | class Config: method register_custom_attributes (line 204) | def register_custom_attributes(builder: ModelBuilder) -> None: method from_model (line 241) | def from_model(model: Model, **kwargs: dict[str, Any]) -> SolverKami... method validate (line 290) | def validate(self) -> None: method __post_init__ (line 338) | def __post_init__(self): method __init__ (line 368) | def __init__( method reset (line 436) | def reset( method step (line 511) | def step(self, state_in: State, state_out: State, control: Control | N... method notify_model_changed (line 582) | def notify_model_changed(self, flags: int) -> None: method update_contacts (line 629) | def update_contacts(self, contacts: Contacts, state: State | None = No... method register_custom_attributes (line 665) | def register_custom_attributes(builder: ModelBuilder) -> None: method _import_kamino (line 709) | def _import_kamino(cls): method _validate_model_compatibility (line 726) | def _validate_model_compatibility(model: Model): method _update_gravity (line 794) | def _update_gravity(self): method _update_joint_transforms (line 803) | def _update_joint_transforms(self): FILE: newton/_src/solvers/kamino/tests/__init__.py class TestContext (line 23) | class TestContext: function setup_tests (line 46) | def setup_tests(verbose: bool = False, device: wp.DeviceLike | str | Non... FILE: newton/_src/solvers/kamino/tests/__main__.py class ModuleHeaderTestResult (line 16) | class ModuleHeaderTestResult(unittest.TextTestResult): method __init__ (line 17) | def __init__(self, *args, **kwargs): method startTest (line 21) | def startTest(self, test): class ModuleHeaderTestRunner (line 37) | class ModuleHeaderTestRunner(unittest.TextTestRunner): FILE: newton/_src/solvers/kamino/tests/test_core_builder.py function assert_model_matches_builder (line 36) | def assert_model_matches_builder(test: unittest.TestCase, builder: Model... class TestModelBuilder (line 135) | class TestModelBuilder(unittest.TestCase): method setUp (line 136) | def setUp(self): method tearDown (line 149) | def tearDown(self): method test_00_make_default (line 154) | def test_00_make_default(self): method test_01_make_default_with_world (line 173) | def test_01_make_default_with_world(self): method test_02_add_world (line 190) | def test_02_add_world(self): method test_03_add_rigid_body (line 202) | def test_03_add_rigid_body(self): method test_04_add_rigid_body_descriptor (line 225) | def test_04_add_rigid_body_descriptor(self): method test_05_add_duplicate_rigid_body (line 248) | def test_05_add_duplicate_rigid_body(self): method test_06_add_joint (line 264) | def test_06_add_joint(self): method test_07_add_duplicate_joint (line 314) | def test_07_add_duplicate_joint(self): method test_08_add_invalid_joint (line 349) | def test_08_add_invalid_joint(self): method test_09_add_geometry (line 362) | def test_09_add_geometry(self): method test_10_add_geometry_descriptors (line 381) | def test_10_add_geometry_descriptors(self): method test_11_add_material (line 397) | def test_11_add_material(self): method test_12_make_builder_box_on_plane (line 417) | def test_12_make_builder_box_on_plane(self): method test_13_make_builder_box_pendulum (line 451) | def test_13_make_builder_box_pendulum(self): method test_14_make_builder_boxes_hinged (line 485) | def test_14_make_builder_boxes_hinged(self): method test_15_make_builder_boxes_nunchaku (line 519) | def test_15_make_builder_boxes_nunchaku(self): method test_16_make_builder_boxes_fourbar (line 552) | def test_16_make_builder_boxes_fourbar(self): method test_17_make_builder_cartpole (line 610) | def test_17_make_builder_cartpole(self): method test_18_add_two_cartpole_worlds_to_builder (line 668) | def test_18_add_two_cartpole_worlds_to_builder(self): method test_19_add_two_cartpole_builders (line 685) | def test_19_add_two_cartpole_builders(self): method test_20_make_homogeneous_multi_cartpole_builder (line 705) | def test_20_make_homogeneous_multi_cartpole_builder(self): method test_21_make_homogeneous_multi_fourbar_builder (line 719) | def test_21_make_homogeneous_multi_fourbar_builder(self): method test_22_make_heterogeneous_test_builder (line 758) | def test_22_make_heterogeneous_test_builder(self): FILE: newton/_src/solvers/kamino/tests/test_core_geometry.py class TestGeometryDescriptor (line 25) | class TestGeometryDescriptor(unittest.TestCase): method setUp (line 26) | def setUp(self): method tearDown (line 39) | def tearDown(self): method test_00_primitive_shape_geom (line 44) | def test_00_primitive_shape_geom(self): method test_01_mesh_shape_geom (line 84) | def test_01_mesh_shape_geom(self): FILE: newton/_src/solvers/kamino/tests/test_core_joints.py class TestCoreJoints (line 19) | class TestCoreJoints(unittest.TestCase): method setUp (line 20) | def setUp(self): method tearDown (line 33) | def tearDown(self): method test_joint_dof_type_enum (line 38) | def test_joint_dof_type_enum(self): FILE: newton/_src/solvers/kamino/tests/test_core_materials.py function tril_index (line 25) | def tril_index(i: int, j: int) -> int: class TestMaterials (line 36) | class TestMaterials(unittest.TestCase): method setUp (line 37) | def setUp(self): method test_00_default_material_properties (line 42) | def test_00_default_material_properties(self): method test_00_default_material_pair_properties (line 51) | def test_00_default_material_pair_properties(self): method test_01_material_manager_default_material (line 60) | def test_01_material_manager_default_material(self): method test_02_material_manager_register_material (line 126) | def test_02_material_manager_register_material(self): method test_03_material_manager_register_pair (line 234) | def test_03_material_manager_register_pair(self): method test_04_material_manager_merge (line 332) | def test_04_material_manager_merge(self): FILE: newton/_src/solvers/kamino/tests/test_core_model.py class TestModel (line 37) | class TestModel(unittest.TestCase): method setUp (line 38) | def setUp(self): method tearDown (line 51) | def tearDown(self): method test_01_single_model (line 56) | def test_01_single_model(self): method test_02_double_model (line 78) | def test_02_double_model(self): method test_03_homogeneous_model (line 108) | def test_03_homogeneous_model(self): method test_04_hetereogeneous_model (line 133) | def test_04_hetereogeneous_model(self): class TestModelConversions (line 158) | class TestModelConversions(unittest.TestCase): method setUp (line 159) | def setUp(self): method tearDown (line 172) | def tearDown(self): method test_00_model_conversions_fourbar_from_builder (line 177) | def test_00_model_conversions_fourbar_from_builder(self): method test_01_model_conversions_fourbar_from_usd (line 234) | def test_01_model_conversions_fourbar_from_usd(self): method test_02_model_conversions_dr_testmech_from_usd (line 288) | def test_02_model_conversions_dr_testmech_from_usd(self): method test_03_model_conversions_dr_legs_from_usd (line 339) | def test_03_model_conversions_dr_legs_from_usd(self): method test_04_model_conversions_anymal_d_from_usd (line 397) | def test_04_model_conversions_anymal_d_from_usd(self): method test_05_model_conversions_arbitrary_axis (line 468) | def test_05_model_conversions_arbitrary_axis(self): method test_06_model_conversions_q_i_0_com_frame (line 534) | def test_06_model_conversions_q_i_0_com_frame(self): method _build_com_offset_model (line 628) | def _build_com_offset_model(self): method test_07_reset_produces_body_origin_frame (line 702) | def test_07_reset_produces_body_origin_frame(self): method test_08_base_reset_produces_body_origin_frame (line 735) | def test_08_base_reset_produces_body_origin_frame(self): method test_09_model_conversions_shape_offset_com_relative (line 796) | def test_09_model_conversions_shape_offset_com_relative(self): method test_10_origin_com_roundtrip (line 852) | def test_10_origin_com_roundtrip(self): method test_11_model_conversions_material_fourbar_from_builder (line 865) | def test_11_model_conversions_material_fourbar_from_builder(self): method test_12_model_conversions_material_box_on_plane_from_usd (line 938) | def test_12_model_conversions_material_box_on_plane_from_usd(self): method test_20_state_conversions (line 1009) | def test_20_state_conversions(self): method test_30_control_conversions (line 1104) | def test_30_control_conversions(self): FILE: newton/_src/solvers/kamino/tests/test_core_shapes.py class TestShapeDescriptors (line 33) | class TestShapeDescriptors(unittest.TestCase): method setUp (line 34) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_00_empty_shape (line 52) | def test_00_empty_shape(self): method test_01_sphere_shape (line 68) | def test_01_sphere_shape(self): method test_02_cylinder_shape (line 84) | def test_02_cylinder_shape(self): method test_03_cone_shape (line 101) | def test_03_cone_shape(self): method test_04_capsule_shape (line 118) | def test_04_capsule_shape(self): method test_05_box_shape (line 135) | def test_05_box_shape(self): method test_06_ellipsoid_shape (line 151) | def test_06_ellipsoid_shape(self): method test_07_plane_shape (line 167) | def test_07_plane_shape(self): method test_08_mesh_shape (line 184) | def test_08_mesh_shape(self): method test_09_convex_shape (line 203) | def test_09_convex_shape(self): FILE: newton/_src/solvers/kamino/tests/test_core_world.py class TestGravityDescriptor (line 46) | class TestGravityDescriptor(unittest.TestCase): method setUp (line 47) | def setUp(self): method tearDown (line 60) | def tearDown(self): method test_00_default_construction (line 65) | def test_00_default_construction(self): method test_01_with_parameters_and_dir_as_list (line 79) | def test_01_with_parameters_and_dir_as_list(self): method test_02_with_parameters_and_dir_as_tuple (line 90) | def test_02_with_parameters_and_dir_as_tuple(self): method test_03_with_parameters_and_dir_as_nparray (line 101) | def test_03_with_parameters_and_dir_as_nparray(self): class TestBodyDescriptor (line 114) | class TestBodyDescriptor(unittest.TestCase): method setUp (line 115) | def setUp(self): method tearDown (line 128) | def tearDown(self): method test_00_default_construction (line 133) | def test_00_default_construction(self): class TestJointDescriptor (line 146) | class TestJointDescriptor(unittest.TestCase): method setUp (line 147) | def setUp(self): method tearDown (line 160) | def tearDown(self): method test_00_default_construction (line 165) | def test_00_default_construction(self): method test_01_actuated_revolute_joint_with_effort_dynamics (line 208) | def test_01_actuated_revolute_joint_with_effort_dynamics(self): class TestGeometryDescriptor (line 262) | class TestGeometryDescriptor(unittest.TestCase): method setUp (line 263) | def setUp(self): method tearDown (line 276) | def tearDown(self): method test_00_default_construction (line 281) | def test_00_default_construction(self): method test_01_with_shape (line 298) | def test_01_with_shape(self): method test_02_with_shape_and_material (line 316) | def test_02_with_shape_and_material(self): method test_03_from_base_geometry (line 340) | def test_03_from_base_geometry(self): class TestMaterialDescriptor (line 359) | class TestMaterialDescriptor(unittest.TestCase): method setUp (line 360) | def setUp(self): method tearDown (line 373) | def tearDown(self): method test_00_default_construction (line 378) | def test_00_default_construction(self): method test_01_with_properties (line 391) | def test_01_with_properties(self): class TestWorldDescriptor (line 411) | class TestWorldDescriptor(unittest.TestCase): method setUp (line 412) | def setUp(self): method tearDown (line 425) | def tearDown(self): method test_00_default_construction (line 430) | def test_00_default_construction(self): method test_10_add_body (line 455) | def test_10_add_body(self): method test_20_add_joint_revolute_passive (line 481) | def test_20_add_joint_revolute_passive(self): method test_21_add_joint_revolute_actuated_dynamic (line 527) | def test_21_add_joint_revolute_actuated_dynamic(self): method test_30_add_geometry (line 575) | def test_30_add_geometry(self): method test_40_add_material (line 603) | def test_40_add_material(self): method test_50_set_base_body (line 621) | def test_50_set_base_body(self): method test_51_set_base_joint (line 651) | def test_51_set_base_joint(self): FILE: newton/_src/solvers/kamino/tests/test_dynamics_delassus.py function check_delassus_allocations (line 47) | def check_delassus_allocations( function print_delassus_info (line 90) | def print_delassus_info(delassus: DelassusOperator) -> None: class TestDelassusOperator (line 103) | class TestDelassusOperator(unittest.TestCase): method setUp (line 104) | def setUp(self): method tearDown (line 110) | def tearDown(self): method test_01_allocate_single_delassus_operator (line 113) | def test_01_allocate_single_delassus_operator(self): method test_02_allocate_homogeneous_delassus_operator (line 146) | def test_02_allocate_homogeneous_delassus_operator(self): method test_03_allocate_heterogeneous_delassus_operator (line 180) | def test_03_allocate_heterogeneous_delassus_operator(self): method test_04_build_delassus_operator (line 213) | def test_04_build_delassus_operator(self): method test_05_build_homogeneous_delassus_operator (line 283) | def test_05_build_homogeneous_delassus_operator(self): method test_06_build_heterogeneous_delassus_operator (line 364) | def test_06_build_heterogeneous_delassus_operator(self): method test_07_regularize_delassus_operator (line 433) | def test_07_regularize_delassus_operator(self): method test_08_delassus_operator_factorize_and_solve_with_sequential_cholesky (line 500) | def test_08_delassus_operator_factorize_and_solve_with_sequential_chol... method test_09_compare_dense_sparse_delassus_operator_assembly (line 604) | def test_09_compare_dense_sparse_delassus_operator_assembly(self): method test_10_compare_dense_sparse_homogeneous_delassus_operator_assembly (line 664) | def test_10_compare_dense_sparse_homogeneous_delassus_operator_assembl... method test_11_compare_dense_sparse_heterogeneous_delassus_operator_assembly (line 723) | def test_11_compare_dense_sparse_heterogeneous_delassus_operator_assem... class TestDelassusOperatorSparse (line 782) | class TestDelassusOperatorSparse(unittest.TestCase): method setUp (line 783) | def setUp(self): method tearDown (line 791) | def tearDown(self): method _check_sparse_delassus_allocations (line 798) | def _check_sparse_delassus_allocations( method _check_delassus_matrix (line 828) | def _check_delassus_matrix( method _check_delassus_matrix_vector_product (line 925) | def _check_delassus_matrix_vector_product( method _check_delassus_diagonal (line 1084) | def _check_delassus_diagonal( method test_01_allocate_single_delassus_operator (line 1156) | def test_01_allocate_single_delassus_operator(self): method test_02_allocate_homogeneous_delassus_operator (line 1183) | def test_02_allocate_homogeneous_delassus_operator(self): method test_03_allocate_heterogeneous_delassus_operator (line 1211) | def test_03_allocate_heterogeneous_delassus_operator(self): method test_04_build_delassus_operator (line 1238) | def test_04_build_delassus_operator(self): method test_05_build_homogeneous_delassus_operator (line 1268) | def test_05_build_homogeneous_delassus_operator(self): method test_06_build_heterogeneous_delassus_operator (line 1297) | def test_06_build_heterogeneous_delassus_operator(self): method test_07_extract_delassus_diagonal (line 1325) | def test_07_extract_delassus_diagonal(self): method test_08_extract_delassus_diagonal_homogeneous (line 1355) | def test_08_extract_delassus_diagonal_homogeneous(self): method test_09_extract_delassus_diagonal_heterogeneous (line 1384) | def test_09_extract_delassus_diagonal_heterogeneous(self): method test_10_delassus_operator_vector_product (line 1412) | def test_10_delassus_operator_vector_product(self): method test_11_homogeneous_delassus_operator_vector_product (line 1442) | def test_11_homogeneous_delassus_operator_vector_product(self): method test_12_heterogeneous_delassus_operator_vector_product (line 1471) | def test_12_heterogeneous_delassus_operator_vector_product(self): FILE: newton/_src/solvers/kamino/tests/test_dynamics_dual.py class TestDualProblem (line 26) | class TestDualProblem(unittest.TestCase): method setUp (line 27) | def setUp(self): method tearDown (line 33) | def tearDown(self): method test_01_allocate_dual_problem (line 36) | def test_01_allocate_dual_problem(self): method test_02_dual_problem_build (line 100) | def test_02_dual_problem_build(self): FILE: newton/_src/solvers/kamino/tests/test_dynamics_wrenches.py function compute_and_compare_dense_sparse_jacobian_wrenches (line 56) | def compute_and_compare_dense_sparse_jacobian_wrenches( class TestDynamicsWrenches (line 218) | class TestDynamicsWrenches(unittest.TestCase): method setUp (line 219) | def setUp(self): method tearDown (line 233) | def tearDown(self): method test_01_compute_wrenches_for_single_fourbar_with_limits_and_contacts (line 238) | def test_01_compute_wrenches_for_single_fourbar_with_limits_and_contac... method test_02_compute_wrenches_for_multiple_fourbars_with_limits_and_contacts (line 258) | def test_02_compute_wrenches_for_multiple_fourbars_with_limits_and_con... method test_03_compute_wrenches_heterogeneous_model_with_limits_and_contacts (line 278) | def test_03_compute_wrenches_heterogeneous_model_with_limits_and_conta... FILE: newton/_src/solvers/kamino/tests/test_geometry_aggregation.py class TestContactAggregation (line 22) | class TestContactAggregation(unittest.TestCase): method setUp (line 23) | def setUp(self): method tearDown (line 41) | def tearDown(self): method test_contact_aggregation (line 46) | def test_contact_aggregation(self): FILE: newton/_src/solvers/kamino/tests/test_geometry_contacts.py function _compute_contact_frame_znorm (line 37) | def _compute_contact_frame_znorm( function _compute_contact_frame_xnorm (line 48) | def _compute_contact_frame_xnorm( function _compute_contact_mode (line 59) | def _compute_contact_mode( function compute_contact_frame_znorm (line 74) | def compute_contact_frame_znorm(normal: wp.array, frame: wp.array, num_t... function compute_contact_frame_xnorm (line 83) | def compute_contact_frame_xnorm(normal: wp.array, frame: wp.array, num_t... function compute_contact_mode (line 92) | def compute_contact_mode(velocity: wp.array, mode: wp.array, num_threads... class TestGeometryContactFrames (line 106) | class TestGeometryContactFrames(unittest.TestCase): method setUp (line 107) | def setUp(self): method tearDown (line 120) | def tearDown(self): method test_01_make_contact_frame_znorm (line 125) | def test_01_make_contact_frame_znorm(self): method test_02_make_contact_frame_xnorm (line 175) | def test_02_make_contact_frame_xnorm(self): class TestGeometryContactMode (line 206) | class TestGeometryContactMode(unittest.TestCase): method setUp (line 207) | def setUp(self): method tearDown (line 220) | def tearDown(self): method test_01_contact_mode_opening (line 225) | def test_01_contact_mode_opening(self): method test_02_contact_mode_sticking (line 234) | def test_02_contact_mode_sticking(self): method test_03_contact_mode_slipping (line 243) | def test_03_contact_mode_slipping(self): class TestGeometryContacts (line 253) | class TestGeometryContacts(unittest.TestCase): method setUp (line 254) | def setUp(self): method tearDown (line 267) | def tearDown(self): method test_single_default_allocation (line 272) | def test_single_default_allocation(self): method test_multiple_default_allocations (line 294) | def test_multiple_default_allocations(self): method test_multiple_custom_allocations (line 323) | def test_multiple_custom_allocations(self): class TestGeometryContactConversions (line 355) | class TestGeometryContactConversions(unittest.TestCase): method setUp (line 358) | def setUp(self): method tearDown (line 370) | def tearDown(self): method _build_nunchaku_newton (line 376) | def _build_nunchaku_newton() -> ModelBuilder: method _setup_newton_scene (line 380) | def _setup_newton_scene(self): method test_01_newton_to_kamino (line 402) | def test_01_newton_to_kamino(self): method test_02_kamino_to_newton (line 442) | def test_02_kamino_to_newton(self): method test_03_roundtrip_newton_kamino_newton (line 523) | def test_03_roundtrip_newton_kamino_newton(self): method test_04_nunchaku_full_pipeline (line 602) | def test_04_nunchaku_full_pipeline(self): method test_05_multi_world_roundtrip (line 690) | def test_05_multi_world_roundtrip(self): function _quat_rotate (line 793) | def _quat_rotate(q: np.ndarray, v: np.ndarray) -> np.ndarray: function _transform_point (line 800) | def _transform_point(xform: np.ndarray, point: np.ndarray) -> np.ndarray: FILE: newton/_src/solvers/kamino/tests/test_geometry_detector.py class TestCollisionDetectorConfig (line 25) | class TestCollisionDetectorConfig(unittest.TestCase): method setUp (line 26) | def setUp(self): method tearDown (line 39) | def tearDown(self): method test_00_make_default (line 44) | def test_00_make_default(self): method test_01_make_with_string_args (line 51) | def test_01_make_with_string_args(self): class TestGeometryCollisionDetector (line 59) | class TestGeometryCollisionDetector(unittest.TestCase): method setUp (line 60) | def setUp(self): method tearDown (line 77) | def tearDown(self): method test_01_primitive_pipeline (line 82) | def test_01_primitive_pipeline(self): method test_02_unified_pipeline (line 123) | def test_02_unified_pipeline(self): FILE: newton/_src/solvers/kamino/tests/test_geometry_keying.py class TestPairKeyOps (line 33) | class TestPairKeyOps(unittest.TestCase): method setUp (line 34) | def setUp(self): method tearDown (line 50) | def tearDown(self): method test_00_make_bitmask (line 55) | def test_00_make_bitmask(self): method test_01_build_pair_key2 (line 91) | def test_01_build_pair_key2(self): method test_02_build_pair_key3 (line 137) | def test_02_build_pair_key3(self): class TestBinarySearchOps (line 216) | class TestBinarySearchOps(unittest.TestCase): method setUp (line 217) | def setUp(self): method tearDown (line 233) | def tearDown(self): method test_01_binary_search_find_pair (line 238) | def test_01_binary_search_find_pair(self): method test_02_binary_search_find_range_start (line 286) | def test_02_binary_search_find_range_start(self): class TestKeySorter (line 335) | class TestKeySorter(unittest.TestCase): method setUp (line 336) | def setUp(self): method tearDown (line 352) | def tearDown(self): method test_00_make_key_sorter (line 357) | def test_00_make_key_sorter(self): method test_01_sort_fixed_keys (line 368) | def test_01_sort_fixed_keys(self): method test_02_sort_random_keys (line 411) | def test_02_sort_random_keys(self): FILE: newton/_src/solvers/kamino/tests/test_geometry_margin_gap.py function _make_sphere_pair_builder (line 35) | def _make_sphere_pair_builder( function _run_primitive_pipeline (line 62) | def _run_primitive_pipeline(builder: ModelBuilderKamino, device, max_con... class TestMarginGapNarrowphase (line 80) | class TestMarginGapNarrowphase(unittest.TestCase): method setUp (line 83) | def setUp(self): method tearDown (line 92) | def tearDown(self): method test_01_margin_shifts_gapfunc_touching (line 99) | def test_01_margin_shifts_gapfunc_touching(self): method test_02_margin_symmetric (line 117) | def test_02_margin_symmetric(self): method test_03_margin_penetrating (line 136) | def test_03_margin_penetrating(self): method test_04_gap_detects_contacts_before_touch (line 159) | def test_04_gap_detects_contacts_before_touch(self): method test_05_gap_no_contact_beyond_threshold (line 173) | def test_05_gap_no_contact_beyond_threshold(self): method test_06_gap_does_not_shift_gapfunc (line 187) | def test_06_gap_does_not_shift_gapfunc(self): method test_07_margin_and_gap_combined_threshold (line 208) | def test_07_margin_and_gap_combined_threshold(self): method test_08_margin_and_gap_combined_gapfunc (line 229) | def test_08_margin_and_gap_combined_gapfunc(self): method test_09_margin_and_gap_beyond_threshold (line 255) | def test_09_margin_and_gap_beyond_threshold(self): function _build_sphere_on_ground (line 285) | def _build_sphere_on_ground( function _fast_solver_config (line 328) | def _fast_solver_config() -> SolverKaminoImpl.Config: function _step_solver (line 345) | def _step_solver(builder: ModelBuilderKamino, device, num_steps: int = 5... class TestMarginGapSolver (line 379) | class TestMarginGapSolver(unittest.TestCase): method setUp (line 387) | def setUp(self): method tearDown (line 396) | def tearDown(self): method test_10_penetrating_margin_gets_pushed_out (line 399) | def test_10_penetrating_margin_gets_pushed_out(self): method test_11_at_rest_with_margin_stays_put (line 414) | def test_11_at_rest_with_margin_stays_put(self): method test_12_gap_does_not_change_rest_position (line 429) | def test_12_gap_does_not_change_rest_position(self): method test_13_zero_margin_pushes_out_of_surface (line 445) | def test_13_zero_margin_pushes_out_of_surface(self): FILE: newton/_src/solvers/kamino/tests/test_geometry_primitive.py class PrimitiveBroadPhaseTestBS (line 86) | class PrimitiveBroadPhaseTestBS: method __init__ (line 87) | def __init__(self, model: ModelKamino, device: wp.DeviceLike = None): method collide (line 115) | def collide(self, model: ModelKamino, data: DataKamino, state: StateKa... class PrimitiveBroadPhaseTestAABB (line 121) | class PrimitiveBroadPhaseTestAABB: method __init__ (line 122) | def __init__(self, model: ModelKamino, device: wp.DeviceLike = None): method collide (line 150) | def collide(self, model: ModelKamino, data: DataKamino, state: StateKa... function check_broadphase_allocations (line 164) | def check_broadphase_allocations( function test_broadphase (line 186) | def test_broadphase( function test_broadphase_on_single_pair (line 241) | def test_broadphase_on_single_pair( function check_contacts (line 269) | def check_contacts( function test_narrowphase (line 360) | def test_narrowphase( function test_narrowphase_on_shape_pair (line 423) | def test_narrowphase_on_shape_pair( class TestPrimitiveBroadPhase (line 466) | class TestPrimitiveBroadPhase(unittest.TestCase): method setUp (line 467) | def setUp(self): method tearDown (line 488) | def tearDown(self): method test_01_bspheres_on_each_primitive_shape_pair_exact (line 493) | def test_01_bspheres_on_each_primitive_shape_pair_exact(self): method test_02_bspheres_on_each_primitive_shape_pair_apart (line 509) | def test_02_bspheres_on_each_primitive_shape_pair_apart(self): method test_03_bspheres_on_each_primitive_shape_pair_apart_with_margin (line 525) | def test_03_bspheres_on_each_primitive_shape_pair_apart_with_margin(se... method test_04_bspheres_on_each_primitive_shape_pair_with_overlap (line 541) | def test_04_bspheres_on_each_primitive_shape_pair_with_overlap(self): method test_05_bspheres_on_all_primitive_shape_pairs (line 557) | def test_05_bspheres_on_all_primitive_shape_pairs(self): method test_06_aabbs_on_each_primitive_shape_pair_exact (line 577) | def test_06_aabbs_on_each_primitive_shape_pair_exact(self): method test_07_aabbs_on_each_primitive_shape_pair_apart (line 593) | def test_07_aabbs_on_each_primitive_shape_pair_apart(self): method test_08_aabbs_on_each_primitive_shape_pair_apart_with_margin (line 609) | def test_08_aabbs_on_each_primitive_shape_pair_apart_with_margin(self): method test_09_aabbs_on_each_primitive_shape_pair_with_overlap (line 625) | def test_09_aabbs_on_each_primitive_shape_pair_with_overlap(self): method test_10_aabbs_on_all_primitive_shape_pairs (line 641) | def test_10_aabbs_on_all_primitive_shape_pairs(self): method test_11_bspheres_on_boxes_nunchaku (line 662) | def test_11_bspheres_on_boxes_nunchaku(self): method test_12_aabbs_on_boxes_nunchaku (line 677) | def test_12_aabbs_on_boxes_nunchaku(self): class TestPrimitiveNarrowPhase (line 693) | class TestPrimitiveNarrowPhase(unittest.TestCase): method setUp (line 694) | def setUp(self): method tearDown (line 716) | def tearDown(self): method test_01_on_each_primitive_shape_pair_exact (line 721) | def test_01_on_each_primitive_shape_pair_exact(self): method test_02_on_each_primitive_shape_pair_apart (line 752) | def test_02_on_each_primitive_shape_pair_apart(self): method test_03_on_each_primitive_shape_pair_apart_with_margin (line 770) | def test_03_on_each_primitive_shape_pair_apart_with_margin(self): method test_04_on_sphere_on_sphere_full (line 805) | def test_04_on_sphere_on_sphere_full(self): method test_05_box_on_box_with_four_points (line 843) | def test_05_box_on_box_with_four_points(self): method test_06_box_on_box_eight_points (line 901) | def test_06_box_on_box_eight_points(self): method test_07_on_box_on_box_one_point (line 965) | def test_07_on_box_on_box_one_point(self): class TestPipelinePrimitive (line 1007) | class TestPipelinePrimitive(unittest.TestCase): method setUp (line 1008) | def setUp(self): method tearDown (line 1020) | def tearDown(self): method test_00_make_default (line 1025) | def test_00_make_default(self): method test_02_make_and_collide (line 1033) | def test_02_make_and_collide(self): FILE: newton/_src/solvers/kamino/tests/test_geometry_unified.py function test_unified_pipeline (line 95) | def test_unified_pipeline( function test_unified_pipeline_on_shape_pair (line 163) | def test_unified_pipeline_on_shape_pair( class TestCollisionPipelineUnified (line 205) | class TestCollisionPipelineUnified(unittest.TestCase): method setUp (line 206) | def setUp(self): method tearDown (line 223) | def tearDown(self): method test_00_on_specific_primitive_shape_pair (line 228) | def test_00_on_specific_primitive_shape_pair(self): method test_01_on_each_primitive_shape_pair_touching (line 261) | def test_01_on_each_primitive_shape_pair_touching(self): method test_02_on_each_primitive_shape_pair_apart (line 290) | def test_02_on_each_primitive_shape_pair_apart(self): method test_03_on_each_primitive_shape_pair_apart_with_margin (line 306) | def test_03_on_each_primitive_shape_pair_apart_with_margin(self): method test_04_sphere_on_sphere_detailed (line 341) | def test_04_sphere_on_sphere_detailed(self): method test_05_box_on_box_simple (line 382) | def test_05_box_on_box_simple(self): method test_07_on_box_on_box_vertex_on_face (line 441) | def test_07_on_box_on_box_vertex_on_face(self): method test_08_on_boxes_nunchaku (line 480) | def test_08_on_boxes_nunchaku(self): class TestUnifiedWriterContactDataRegression (line 505) | class TestUnifiedWriterContactDataRegression(unittest.TestCase): method setUp (line 516) | def setUp(self): method tearDown (line 521) | def tearDown(self): method _run_pipeline (line 524) | def _run_pipeline(self, builder: ModelBuilderKamino, default_gap=0.0): method test_00_touching_spheres_produces_contact (line 541) | def test_00_touching_spheres_produces_contact(self): method test_01_penetrating_spheres_negative_distance (line 554) | def test_01_penetrating_spheres_negative_distance(self): method test_02_gap_retains_nearby_contact (line 568) | def test_02_gap_retains_nearby_contact(self): method test_03_gap_rejects_distant_contact (line 581) | def test_03_gap_rejects_distant_contact(self): class TestUnifiedPipelineNxnBroadphase (line 595) | class TestUnifiedPipelineNxnBroadphase(unittest.TestCase): method setUp (line 598) | def setUp(self): method tearDown (line 603) | def tearDown(self): method _make_two_sphere_builder (line 606) | def _make_two_sphere_builder(self, group_a=1, collides_a=1, group_b=1,... method test_00_nxn_sphere_on_plane_generates_contacts (line 629) | def test_00_nxn_sphere_on_plane_generates_contacts(self): method test_01_nxn_box_on_plane_generates_contacts (line 655) | def test_01_nxn_box_on_plane_generates_contacts(self): method test_02_nxn_excludes_non_collidable_pairs (line 676) | def test_02_nxn_excludes_non_collidable_pairs(self): method test_03_nxn_same_body_excluded (line 705) | def test_03_nxn_same_body_excluded(self): FILE: newton/_src/solvers/kamino/tests/test_kinematics_constraints.py class TestKinematicsConstraints (line 37) | class TestKinematicsConstraints(unittest.TestCase): method setUp (line 38) | def setUp(self): method tearDown (line 53) | def tearDown(self): method test_01_single_model_make_constraints (line 58) | def test_01_single_model_make_constraints(self): method test_02_homogeneous_model_make_constraints (line 109) | def test_02_homogeneous_model_make_constraints(self): method test_03_heterogeneous_model_make_constraints (line 213) | def test_03_heterogeneous_model_make_constraints(self): FILE: newton/_src/solvers/kamino/tests/test_kinematics_jacobians.py class TestKinematicsDenseSystemJacobians (line 44) | class TestKinematicsDenseSystemJacobians(unittest.TestCase): method setUp (line 45) | def setUp(self): method tearDown (line 59) | def tearDown(self): method test_01_allocate_single_dense_system_jacobians_only_joints (line 64) | def test_01_allocate_single_dense_system_jacobians_only_joints(self): method test_02_allocate_single_dense_system_jacobians_with_limits (line 96) | def test_02_allocate_single_dense_system_jacobians_with_limits(self): method test_03_allocate_single_dense_system_jacobians_with_contacts (line 134) | def test_03_allocate_single_dense_system_jacobians_with_contacts(self): method test_04_allocate_single_dense_system_jacobians_with_limits_and_contacts (line 181) | def test_04_allocate_single_dense_system_jacobians_with_limits_and_con... method test_05_allocate_homogeneous_dense_system_jacobians (line 236) | def test_05_allocate_homogeneous_dense_system_jacobians(self): method test_06_allocate_heterogeneous_dense_system_jacobians (line 314) | def test_06_allocate_heterogeneous_dense_system_jacobians(self): method test_07_build_single_dense_system_jacobians (line 391) | def test_07_build_single_dense_system_jacobians(self): method test_08_build_homogeneous_dense_system_jacobians (line 440) | def test_08_build_homogeneous_dense_system_jacobians(self): method test_09_build_heterogeneous_dense_system_jacobians (line 466) | def test_09_build_heterogeneous_dense_system_jacobians(self): class TestKinematicsSparseSystemJacobians (line 493) | class TestKinematicsSparseSystemJacobians(unittest.TestCase): method setUp (line 494) | def setUp(self): method tearDown (line 509) | def tearDown(self): method _compare_dense_sparse_jacobians (line 518) | def _compare_dense_sparse_jacobians( method _compare_row_col_major_jacobians (line 552) | def _compare_row_col_major_jacobians( method test_01_allocate_single_sparse_system_jacobians_only_joints (line 576) | def test_01_allocate_single_sparse_system_jacobians_only_joints(self): method test_02_allocate_single_sparse_system_jacobians_with_limits (line 609) | def test_02_allocate_single_sparse_system_jacobians_with_limits(self): method test_03_allocate_single_sparse_system_jacobians_with_contacts (line 639) | def test_03_allocate_single_sparse_system_jacobians_with_contacts(self): method test_04_allocate_single_sparse_system_jacobians_with_limits_and_contacts (line 670) | def test_04_allocate_single_sparse_system_jacobians_with_limits_and_co... method test_05_allocate_homogeneous_sparse_system_jacobians (line 703) | def test_05_allocate_homogeneous_sparse_system_jacobians(self): method test_06_allocate_heterogeneous_sparse_system_jacobians (line 746) | def test_06_allocate_heterogeneous_sparse_system_jacobians(self): method test_07_build_compare_single_system_jacobians (line 786) | def test_07_build_compare_single_system_jacobians(self): method test_08_build_compare_single_system_jacobians_with_limits (line 810) | def test_08_build_compare_single_system_jacobians_with_limits(self): method test_09_build_compare_single_system_jacobians_with_contacts (line 833) | def test_09_build_compare_single_system_jacobians_with_contacts(self): method test_10_build_compare_single_system_jacobians_with_limits_and_contacts (line 857) | def test_10_build_compare_single_system_jacobians_with_limits_and_cont... method test_11_build_compare_homogeneous_system_jacobians (line 881) | def test_11_build_compare_homogeneous_system_jacobians(self): method test_12_build_compare_heterogeneous_system_jacobians (line 905) | def test_12_build_compare_heterogeneous_system_jacobians(self): method test_13_build_col_major_single_system_jacobians (line 929) | def test_13_build_col_major_single_system_jacobians(self): method test_14_build_col_major_single_system_jacobians_with_limits (line 955) | def test_14_build_col_major_single_system_jacobians_with_limits(self): method test_15_build_col_major_single_system_jacobians_with_contacts (line 981) | def test_15_build_col_major_single_system_jacobians_with_contacts(self): method test_16_build_col_major_single_system_jacobians_with_limits_and_contacts (line 1007) | def test_16_build_col_major_single_system_jacobians_with_limits_and_co... method test_17_build_col_major_homogeneous_system_jacobians (line 1035) | def test_17_build_col_major_homogeneous_system_jacobians(self): method test_18_build_col_major_heterogeneous_system_jacobians (line 1063) | def test_18_build_col_major_heterogeneous_system_jacobians(self): FILE: newton/_src/solvers/kamino/tests/test_kinematics_joints.py function _set_joint_follower_body_state (line 50) | def _set_joint_follower_body_state( function set_joint_follower_body_state (line 119) | def set_joint_follower_body_state(model: ModelKamino, data: DataKamino): class TestKinematicsJoints (line 139) | class TestKinematicsJoints(unittest.TestCase): method setUp (line 140) | def setUp(self): method tearDown (line 153) | def tearDown(self): method test_01_single_revolute_joint (line 158) | def test_01_single_revolute_joint(self): method test_02_multiple_revolute_joints (line 201) | def test_02_multiple_revolute_joints(self): method test_03_single_dynamic_revolute_joint (line 250) | def test_03_single_dynamic_revolute_joint(self): method test_04_multiple_dynamic_revolute_joints (line 346) | def test_04_multiple_dynamic_revolute_joints(self): FILE: newton/_src/solvers/kamino/tests/test_kinematics_limits.py function _set_joint_follower_body_state (line 45) | def _set_joint_follower_body_state( function set_joint_follower_body_state (line 122) | def set_joint_follower_body_state(model: ModelKamino, data: DataKamino): class TestKinematicsLimits (line 143) | class TestKinematicsLimits(unittest.TestCase): method setUp (line 144) | def setUp(self): method tearDown (line 157) | def tearDown(self): method test_00_create_empty_limits_container (line 162) | def test_00_create_empty_limits_container(self): method test_01_allocate_limits_container_from_homogeneous_builder (line 173) | def test_01_allocate_limits_container_from_homogeneous_builder(self): method test_02_check_revolute_joint (line 226) | def test_02_check_revolute_joint(self): FILE: newton/_src/solvers/kamino/tests/test_linalg_core.py class TestLinAlgCoreMakeTolerance (line 24) | class TestLinAlgCoreMakeTolerance(unittest.TestCase): method setUp (line 25) | def setUp(self): method tearDown (line 40) | def tearDown(self): method test_00_make_tolerance_from_defaults (line 45) | def test_00_make_tolerance_from_defaults(self): method test_01_make_tolerance_default_for_wp_float64 (line 51) | def test_01_make_tolerance_default_for_wp_float64(self): method test_02_make_tolerance_default_for_wp_float32 (line 57) | def test_02_make_tolerance_default_for_wp_float32(self): method test_03_make_tolerance_from_np_float64_to_wp_float64 (line 63) | def test_03_make_tolerance_from_np_float64_to_wp_float64(self): method test_04_make_tolerance_from_np_float64_to_wp_float32 (line 69) | def test_04_make_tolerance_from_np_float64_to_wp_float32(self): method test_05_make_tolerance_from_float_to_wp_float32 (line 75) | def test_05_make_tolerance_from_float_to_wp_float32(self): method test_06_make_tolerance_smaller_than_eps (line 81) | def test_06_make_tolerance_smaller_than_eps(self): class TestLinAlgCoreDenseMultiLinearRectangularInfo (line 88) | class TestLinAlgCoreDenseMultiLinearRectangularInfo(unittest.TestCase): method setUp (line 89) | def setUp(self): method tearDown (line 104) | def tearDown(self): method test_00_make_single_rectangular_default (line 109) | def test_00_make_single_rectangular_default(self): method test_01_make_single_rectangular_wp_float64_int64 (line 140) | def test_01_make_single_rectangular_wp_float64_int64(self): method test_02_make_multiple_rectangular (line 171) | def test_02_make_multiple_rectangular(self): class TestLinAlgCoreDenseMultiLinearSquareInfo (line 204) | class TestLinAlgCoreDenseMultiLinearSquareInfo(unittest.TestCase): method setUp (line 205) | def setUp(self): method tearDown (line 220) | def tearDown(self): method test_00_make_single_square_default (line 225) | def test_00_make_single_square_default(self): method test_01_make_single_square_wp_float64_int64 (line 250) | def test_01_make_single_square_wp_float64_int64(self): method test_02_make_multiple_square (line 275) | def test_02_make_multiple_square(self): FILE: newton/_src/solvers/kamino/tests/test_linalg_factorize_llt_blocked.py class TestLinAlgLLTSequential (line 32) | class TestLinAlgLLTSequential(unittest.TestCase): method setUp (line 33) | def setUp(self): method tearDown (line 56) | def tearDown(self): method test_01_single_problem_dims_all_active (line 61) | def test_01_single_problem_dims_all_active(self): method test_02_single_problem_dims_partially_active (line 218) | def test_02_single_problem_dims_partially_active(self): method test_03_multiple_problems_dims_all_active (line 379) | def test_03_multiple_problems_dims_all_active(self): method test_04_multiple_problems_dims_partially_active (line 548) | def test_04_multiple_problems_dims_partially_active(self): FILE: newton/_src/solvers/kamino/tests/test_linalg_factorize_llt_sequential.py class TestLinAlgLLTSequential (line 29) | class TestLinAlgLLTSequential(unittest.TestCase): method setUp (line 30) | def setUp(self): method tearDown (line 45) | def tearDown(self): method test_01_single_problem_dims_all_active (line 50) | def test_01_single_problem_dims_all_active(self): method test_02_single_problem_dims_partially_active (line 203) | def test_02_single_problem_dims_partially_active(self): method test_03_multiple_problems_dims_all_active (line 360) | def test_03_multiple_problems_dims_all_active(self): method test_04_multiple_problems_dims_partially_active (line 525) | def test_04_multiple_problems_dims_partially_active(self): FILE: newton/_src/solvers/kamino/tests/test_linalg_solve_cg.py class TestLinalgConjugate (line 28) | class TestLinalgConjugate(unittest.TestCase): method setUp (line 29) | def setUp(self): method tearDown (line 35) | def tearDown(self): method _test_solve (line 38) | def _test_solve(self, solver_cls, problem_params, device): method _problem_params (line 97) | def _problem_params(cls): method test_solve_cg_cpu (line 105) | def test_solve_cg_cpu(self): method test_solve_cr_cpu (line 112) | def test_solve_cr_cpu(self): method test_solve_cg_cuda (line 119) | def test_solve_cg_cuda(self): method test_solve_cr_cuda (line 128) | def test_solve_cr_cuda(self): method _test_sparse_solve (line 137) | def _test_sparse_solve(self, solver_cls, n_worlds, dim, block_size, de... method _sparse_problem_params (line 245) | def _sparse_problem_params(cls): method test_sparse_solve_cg_cuda (line 251) | def test_sparse_solve_cg_cuda(self): method test_sparse_solve_cr_cuda (line 259) | def test_sparse_solve_cr_cuda(self): method _build_sparse_operator (line 267) | def _build_sparse_operator(self, A: np.ndarray, block_size: int, device): method test_sparse_cg_solve_simple (line 291) | def test_sparse_cg_solve_simple(self): method test_dense_to_block_sparse_conversion (line 327) | def test_dense_to_block_sparse_conversion(self): method test_cg_solver_discover_sparse (line 415) | def test_cg_solver_discover_sparse(self): FILE: newton/_src/solvers/kamino/tests/test_linalg_solver_llt_blocked.py class TestLinAlgLLTBlockedSolver (line 25) | class TestLinAlgLLTBlockedSolver(unittest.TestCase): method setUp (line 26) | def setUp(self): method tearDown (line 41) | def tearDown(self): method test_00_make_default_solver (line 46) | def test_00_make_default_solver(self): method test_01_single_problem_dims_all_active (line 55) | def test_01_single_problem_dims_all_active(self): method test_02_single_problem_dims_partially_active (line 190) | def test_02_single_problem_dims_partially_active(self): method test_03_multiple_problems_dims_all_active (line 329) | def test_03_multiple_problems_dims_all_active(self): method test_04_multiple_problems_dims_partially_active (line 475) | def test_04_multiple_problems_dims_partially_active(self): FILE: newton/_src/solvers/kamino/tests/test_linalg_solver_llt_sequential.py class TestLinAlgLLTSequentialSolver (line 25) | class TestLinAlgLLTSequentialSolver(unittest.TestCase): method setUp (line 26) | def setUp(self): method tearDown (line 41) | def tearDown(self): method test_00_make_default_solver (line 46) | def test_00_make_default_solver(self): method test_01_single_problem_dims_all_active (line 55) | def test_01_single_problem_dims_all_active(self): method test_02_single_problem_dims_partially_active (line 190) | def test_02_single_problem_dims_partially_active(self): method test_03_multiple_problems_dims_all_active (line 329) | def test_03_multiple_problems_dims_all_active(self): method test_04_multiple_problems_dims_partially_active (line 475) | def test_04_multiple_problems_dims_partially_active(self): FILE: newton/_src/solvers/kamino/tests/test_linalg_sparse.py class TestBlockDType (line 22) | class TestBlockDType(unittest.TestCase): method setUp (line 23) | def setUp(self): method tearDown (line 38) | def tearDown(self): method test_00_make_block_dtype (line 47) | def test_00_make_block_dtype(self): method test_01_block_dtype_size (line 84) | def test_01_block_dtype_size(self): method test_02_block_dtype_warp_type (line 97) | def test_02_block_dtype_warp_type(self): class TestBlockSparseMatrices (line 117) | class TestBlockSparseMatrices(unittest.TestCase): method setUp (line 118) | def setUp(self): method tearDown (line 134) | def tearDown(self): method test_00_make_default (line 143) | def test_00_make_default(self): method test_01_make_single_scalar_block_sparse_matrix (line 170) | def test_01_make_single_scalar_block_sparse_matrix(self): method test_02_make_single_vector_block_sparse_matrix (line 197) | def test_02_make_single_vector_block_sparse_matrix(self): method test_03_make_single_matrix_block_sparse_matrix (line 224) | def test_03_make_single_matrix_block_sparse_matrix(self): method test_04_build_multiple_vector_block_matrices (line 251) | def test_04_build_multiple_vector_block_matrices(self): method test_10_build_multiple_vector_block_sparse_matrices_full (line 282) | def test_10_build_multiple_vector_block_sparse_matrices_full(self): class TestBlockSparseMatrixOperations (line 377) | class TestBlockSparseMatrixOperations(unittest.TestCase): method setUp (line 378) | def setUp(self): method tearDown (line 398) | def tearDown(self): method _matvec_product_check (line 407) | def _matvec_product_check(self, ops: BlockSparseLinearOperators): method test_00_sparse_matrix_vector_product_full (line 508) | def test_00_sparse_matrix_vector_product_full(self): method test_01_sparse_matrix_vector_product_partial (line 570) | def test_01_sparse_matrix_vector_product_partial(self): method test_02_sparse_matrix_vector_product_jacobian (line 649) | def test_02_sparse_matrix_vector_product_jacobian(self): FILE: newton/_src/solvers/kamino/tests/test_linalg_utils_matrix.py class TestUtilsLinAlgMatrix (line 19) | class TestUtilsLinAlgMatrix(unittest.TestCase): method setUp (line 20) | def setUp(self): method tearDown (line 27) | def tearDown(self): method test_01_spd_matrix_properties (line 31) | def test_01_spd_matrix_properties(self): FILE: newton/_src/solvers/kamino/tests/test_linalg_utils_rand.py class TestLinAlgUtilsRandomMatrixSymmetric (line 30) | class TestLinAlgUtilsRandomMatrixSymmetric(unittest.TestCase): method setUp (line 31) | def setUp(self): method tearDown (line 46) | def tearDown(self): method test_01_make_small_random_symmetric_matrix_in_fp64 (line 51) | def test_01_make_small_random_symmetric_matrix_in_fp64(self): method test_02_make_medium_random_symmetric_matrix_in_fp64 (line 62) | def test_02_make_medium_random_symmetric_matrix_in_fp64(self): method test_03_make_large_random_symmetric_matrix_in_fp64 (line 73) | def test_03_make_large_random_symmetric_matrix_in_fp64(self): method test_04_make_small_random_symmetric_matrix_in_fp32 (line 84) | def test_04_make_small_random_symmetric_matrix_in_fp32(self): method test_05_make_medium_random_symmetric_matrix_in_fp32 (line 95) | def test_05_make_medium_random_symmetric_matrix_in_fp32(self): method test_06_make_large_random_symmetric_matrix_in_fp32 (line 106) | def test_06_make_large_random_symmetric_matrix_in_fp32(self): method test_07_make_large_symmetric_matrix_in_fp64_with_eigenvalues_from_distribution (line 117) | def test_07_make_large_symmetric_matrix_in_fp64_with_eigenvalues_from_... method test_08_make_large_symmetric_matrix_in_fp32_with_eigenvalues_from_distribution (line 149) | def test_08_make_large_symmetric_matrix_in_fp32_with_eigenvalues_from_... method test_09_make_large_symmetric_matrix_in_fp64_with_rank (line 181) | def test_09_make_large_symmetric_matrix_in_fp64_with_rank(self): method test_10_make_large_symmetric_matrix_in_fp32_with_rank (line 209) | def test_10_make_large_symmetric_matrix_in_fp32_with_rank(self): class TestLinAlgUtilsRandomMatrixSPD (line 238) | class TestLinAlgUtilsRandomMatrixSPD(unittest.TestCase): method setUp (line 239) | def setUp(self): method tearDown (line 254) | def tearDown(self): method test_01_make_small_random_spd_matrix_in_fp64 (line 259) | def test_01_make_small_random_spd_matrix_in_fp64(self): method test_02_make_medium_random_spd_matrix_in_fp64 (line 278) | def test_02_make_medium_random_spd_matrix_in_fp64(self): method test_03_make_large_random_spd_matrix_in_fp64 (line 297) | def test_03_make_large_random_spd_matrix_in_fp64(self): method test_04_make_small_random_spd_matrix_in_fp32 (line 316) | def test_04_make_small_random_spd_matrix_in_fp32(self): method test_05_make_medium_random_spd_matrix_in_fp32 (line 335) | def test_05_make_medium_random_spd_matrix_in_fp32(self): method test_06_make_large_random_spd_matrix_in_fp32 (line 354) | def test_06_make_large_random_spd_matrix_in_fp32(self): class TestLinAlgUtilsRandomRhsVectors (line 374) | class TestLinAlgUtilsRandomRhsVectors(unittest.TestCase): method setUp (line 375) | def setUp(self): method tearDown (line 390) | def tearDown(self): method test_01_make_rhs_for_small_random_spd_matrix_in_fp64 (line 395) | def test_01_make_rhs_for_small_random_spd_matrix_in_fp64(self): method test_02_make_rhs_for_large_random_spd_matrix_in_fp64 (line 427) | def test_02_make_rhs_for_large_random_spd_matrix_in_fp64(self): method test_03_make_rhs_for_small_random_spd_matrix_in_fp32 (line 459) | def test_03_make_rhs_for_small_random_spd_matrix_in_fp32(self): method test_02_make_rhs_for_large_random_spd_matrix_in_fp32 (line 491) | def test_02_make_rhs_for_large_random_spd_matrix_in_fp32(self): FILE: newton/_src/solvers/kamino/tests/test_solver_kamino.py function _test_control_callback (line 37) | def _test_control_callback( function test_prestep_callback (line 71) | def test_prestep_callback( function assert_solver_config (line 100) | def assert_solver_config(testcase: unittest.TestCase, config: SolverKami... function assert_solver_components (line 108) | def assert_solver_components(testcase: unittest.TestCase, solver: Solver... function assert_states_equal (line 122) | def assert_states_equal(testcase: unittest.TestCase, state_0: StateKamin... function assert_states_close (line 134) | def assert_states_close(testcase: unittest.TestCase, state_0: StateKamin... function assert_states_close_masked (line 146) | def assert_states_close_masked( function step_solver (line 203) | def step_solver( class TestSolverKaminoConfig (line 227) | class TestSolverKaminoConfig(unittest.TestCase): method setUp (line 228) | def setUp(self): method tearDown (line 241) | def tearDown(self): method test_00_make_default (line 246) | def test_00_make_default(self): method test_01_make_explicit (line 253) | def test_01_make_explicit(self): class TestSolverKaminoImpl (line 265) | class TestSolverKaminoImpl(unittest.TestCase): method setUp (line 266) | def setUp(self): method tearDown (line 281) | def tearDown(self): method test_00_make_default_invalid (line 290) | def test_00_make_default_invalid(self): method test_01_make_default_valid_with_limits_and_without_contacts (line 296) | def test_01_make_default_valid_with_limits_and_without_contacts(self): method test_02_make_default_valid_with_limits_and_with_contacts (line 306) | def test_02_make_default_valid_with_limits_and_with_contacts(self): method test_03_make_default_valid_without_limits_and_without_contacts (line 318) | def test_03_make_default_valid_without_limits_and_without_contacts(self): method test_04_make_default_valid_without_limits_and_with_contacts (line 329) | def test_04_make_default_valid_without_limits_and_with_contacts(self): method test_05_reset_with_invalid_args (line 346) | def test_05_reset_with_invalid_args(self): method test_06_reset_to_default_state (line 400) | def test_06_reset_to_default_state(self): method test_07_reset_to_base_state (line 466) | def test_07_reset_to_base_state(self): method test_08_reset_to_joint_state (line 622) | def test_08_reset_to_joint_state(self): method test_09_reset_to_actuator_state (line 826) | def test_09_reset_to_actuator_state(self): method test_10_step_multiple_worlds_from_initial_state_without_contacts (line 1094) | def test_10_step_multiple_worlds_from_initial_state_without_contacts(s... method test_11_step_multiple_worlds_from_initial_state_with_contacts (line 1271) | def test_11_step_multiple_worlds_from_initial_state_with_contacts(self): FILE: newton/_src/solvers/kamino/tests/test_solvers_forward_kinematics.py class JacobianCheckForwardKinematics (line 36) | class JacobianCheckForwardKinematics(unittest.TestCase): method setUp (line 37) | def setUp(self): method tearDown (line 43) | def tearDown(self): method test_Jacobian_check (line 46) | def test_Jacobian_check(self): function get_actuators_q_quaternion_first_ids (line 88) | def get_actuators_q_quaternion_first_ids(model: ModelKamino): function compute_actuated_coords_and_dofs_offsets (line 106) | def compute_actuated_coords_and_dofs_offsets(model: ModelKamino): function extract_segments (line 142) | def extract_segments(array, offsets, sizes): function compute_constraint_residual_mask (line 153) | def compute_constraint_residual_mask(model: ModelKamino): function generate_random_inputs_q (line 192) | def generate_random_inputs_q( function generate_random_inputs_u (line 225) | def generate_random_inputs_u( function generate_random_poses (line 249) | def generate_random_poses( function simulate_random_poses (line 275) | def simulate_random_poses( class DRTestMechanismRandomPosesCheckForwardKinematics (line 371) | class DRTestMechanismRandomPosesCheckForwardKinematics(unittest.TestCase): method setUp (line 372) | def setUp(self): method tearDown (line 379) | def tearDown(self): method test_mechanism_FK_random_poses (line 382) | def test_mechanism_FK_random_poses(self): class DRLegsRandomPosesCheckForwardKinematics (line 417) | class DRLegsRandomPosesCheckForwardKinematics(unittest.TestCase): method setUp (line 418) | def setUp(self): method tearDown (line 425) | def tearDown(self): method test_dr_legs_FK_random_poses (line 428) | def test_dr_legs_FK_random_poses(self): class HeterogenousModelRandomPosesCheckForwardKinematics (line 462) | class HeterogenousModelRandomPosesCheckForwardKinematics(unittest.TestCa... method setUp (line 463) | def setUp(self): method tearDown (line 470) | def tearDown(self): method test_heterogenous_model_FK_random_poses (line 473) | def test_heterogenous_model_FK_random_poses(self): class HeterogenousModelSparseJacobianAssemblyCheck (line 504) | class HeterogenousModelSparseJacobianAssemblyCheck(unittest.TestCase): method setUp (line 505) | def setUp(self): method tearDown (line 512) | def tearDown(self): method test_heterogenous_model_FK_random_poses (line 515) | def test_heterogenous_model_FK_random_poses(self): FILE: newton/_src/solvers/kamino/tests/test_solvers_metrics.py class TestSolverMetrics (line 24) | class TestSolverMetrics(unittest.TestCase): method setUp (line 25) | def setUp(self): method tearDown (line 38) | def tearDown(self): method test_00_make_default (line 43) | def test_00_make_default(self): method test_01_finalize_default (line 60) | def test_01_finalize_default(self): method test_02_evaluate_trivial_solution (line 109) | def test_02_evaluate_trivial_solution(self): method test_03_evaluate_padmm_solution_box_on_plane (line 215) | def test_03_evaluate_padmm_solution_box_on_plane(self): method test_04_evaluate_padmm_solution_boxes_hinged (line 304) | def test_04_evaluate_padmm_solution_boxes_hinged(self): FILE: newton/_src/solvers/kamino/tests/test_solvers_padmm.py class TestSetup (line 35) | class TestSetup: method __init__ (line 36) | def __init__( method build (line 87) | def build(self): method cache (line 97) | def cache(self, solver: PADMMSolver): function print_dual_problem_summary (line 110) | def print_dual_problem_summary(D: np.ndarray, v_f: np.ndarray, notes: st... function check_padmm_solution (line 117) | def check_padmm_solution( function save_solver_info (line 188) | def save_solver_info(solver: PADMMSolver, path: str | None = None, verbo... class TestPADMMSolver (line 315) | class TestPADMMSolver(unittest.TestCase): method setUp (line 316) | def setUp(self): method tearDown (line 335) | def tearDown(self): method test_00_make_padmm_default (line 340) | def test_00_make_padmm_default(self): method test_01_finalize_padmm_default (line 357) | def test_01_finalize_padmm_default(self): method test_02_padmm_solve (line 379) | def test_02_padmm_solve(self): method test_03_padmm_solve_with_acceleration (line 423) | def test_03_padmm_solve_with_acceleration(self): method test_04_padmm_solve_with_internal_warmstart (line 468) | def test_04_padmm_solve_with_internal_warmstart(self): method test_05_padmm_solve_with_container_warmstart (line 515) | def test_05_padmm_solve_with_container_warmstart(self): method test_06_padmm_solve_with_acceleration_and_internal_warmstart (line 563) | def test_06_padmm_solve_with_acceleration_and_internal_warmstart(self): method test_07_padmm_solve_with_acceleration_and_container_warmstart (line 611) | def test_07_padmm_solve_with_acceleration_and_container_warmstart(self): FILE: newton/_src/solvers/kamino/tests/test_utils_control_animation.py class TestAnimationJointReference (line 24) | class TestAnimationJointReference(unittest.TestCase): method setUp (line 25) | def setUp(self): method tearDown (line 40) | def tearDown(self): method test_00_make_default (line 45) | def test_00_make_default(self): method test_01_make_with_numpy_data (line 51) | def test_01_make_with_numpy_data(self): method test_02_make_with_numpy_data_and_decimation (line 155) | def test_02_make_with_numpy_data_and_decimation(self): method test_03_make_with_numpy_data_and_decimation_plus_rate (line 297) | def test_03_make_with_numpy_data_and_decimation_plus_rate(self): method test_04_make_with_numpy_data_and_decimation_plus_rate_no_looping (line 439) | def test_04_make_with_numpy_data_and_decimation_plus_rate_no_looping(s... FILE: newton/_src/solvers/kamino/tests/test_utils_control_pid.py class TestJointSpacePIDController (line 19) | class TestJointSpacePIDController(unittest.TestCase): method setUp (line 20) | def setUp(self): method tearDown (line 35) | def tearDown(self): method test_make_default (line 40) | def test_make_default(self): FILE: newton/_src/solvers/kamino/tests/test_utils_control_rand.py class TestRandomController (line 22) | class TestRandomController(unittest.TestCase): method setUp (line 23) | def setUp(self): method tearDown (line 38) | def tearDown(self): method test_00_make_default (line 43) | def test_00_make_default(self): method test_01_make_for_single_fourbar (line 55) | def test_01_make_for_single_fourbar(self): method test_02_make_for_multiple_fourbar (line 85) | def test_02_make_for_multiple_fourbar(self): FILE: newton/_src/solvers/kamino/tests/test_utils_io_usd.py class TestUSDImporter (line 32) | class TestUSDImporter(unittest.TestCase): method setUp (line 33) | def setUp(self): method tearDown (line 50) | def tearDown(self): method test_import_joint_revolute_passive_unary (line 59) | def test_import_joint_revolute_passive_unary(self): method test_import_joint_revolute_passive (line 81) | def test_import_joint_revolute_passive(self): method test_import_joint_revolute_actuated (line 103) | def test_import_joint_revolute_actuated(self): method test_import_joint_prismatic_passive_unary (line 126) | def test_import_joint_prismatic_passive_unary(self): method test_import_joint_prismatic_passive (line 148) | def test_import_joint_prismatic_passive(self): method test_import_joint_prismatic_actuated (line 170) | def test_import_joint_prismatic_actuated(self): method test_import_joint_spherical_unary (line 193) | def test_import_joint_spherical_unary(self): method test_import_joint_spherical (line 215) | def test_import_joint_spherical(self): method test_import_joint_cylindrical_passive_unary (line 241) | def test_import_joint_cylindrical_passive_unary(self): method test_import_joint_cylindrical_passive (line 263) | def test_import_joint_cylindrical_passive(self): method test_import_joint_cylindrical_actuated (line 285) | def test_import_joint_cylindrical_actuated(self): method test_import_joint_universal_passive_unary (line 308) | def test_import_joint_universal_passive_unary(self): method test_import_joint_universal_passive (line 330) | def test_import_joint_universal_passive(self): method test_import_joint_universal_actuated (line 352) | def test_import_joint_universal_actuated(self): method test_import_joint_cartesian_passive_unary (line 376) | def test_import_joint_cartesian_passive_unary(self): method test_import_joint_cartesian_passive (line 399) | def test_import_joint_cartesian_passive(self): method test_import_joint_cartesian_actuated (line 422) | def test_import_joint_cartesian_actuated(self): method test_import_joint_d6_revolute_passive (line 450) | def test_import_joint_d6_revolute_passive(self): method test_import_joint_d6_revolute_actuated (line 472) | def test_import_joint_d6_revolute_actuated(self): method test_import_joint_d6_prismatic_passive (line 495) | def test_import_joint_d6_prismatic_passive(self): method test_import_joint_d6_prismatic_actuated (line 517) | def test_import_joint_d6_prismatic_actuated(self): method test_import_joint_d6_cylindrical_passive (line 540) | def test_import_joint_d6_cylindrical_passive(self): method test_import_joint_d6_cylindrical_actuated (line 562) | def test_import_joint_d6_cylindrical_actuated(self): method test_import_joint_d6_universal_passive (line 585) | def test_import_joint_d6_universal_passive(self): method test_import_joint_d6_universal_actuated (line 607) | def test_import_joint_d6_universal_actuated(self): method test_import_joint_d6_cartesian_passive (line 630) | def test_import_joint_d6_cartesian_passive(self): method test_importjoint__d6_cartesian_actuated (line 652) | def test_importjoint__d6_cartesian_actuated(self): method test_import_joint_d6_spherical_passive (line 675) | def test_import_joint_d6_spherical_passive(self): method test_import_joint_d6_spherical_actuated (line 697) | def test_import_joint_d6_spherical_actuated(self): method test_import_geom_capsule (line 724) | def test_import_geom_capsule(self): method test_import_geom_cone (line 759) | def test_import_geom_cone(self): method test_import_geom_cylinder (line 794) | def test_import_geom_cylinder(self): method test_import_geom_sphere (line 829) | def test_import_geom_sphere(self): method test_import_geom_ellipsoid (line 862) | def test_import_geom_ellipsoid(self): method test_import_geom_box (line 899) | def test_import_geom_box(self): method test_import_basic_box_on_plane (line 940) | def test_import_basic_box_on_plane(self): method test_import_basic_box_pendulum (line 956) | def test_import_basic_box_pendulum(self): method test_import_basic_boxes_hinged (line 972) | def test_import_basic_boxes_hinged(self): method test_import_basic_boxes_nunchaku (line 988) | def test_import_basic_boxes_nunchaku(self): method test_import_basic_boxes_fourbar (line 1004) | def test_import_basic_boxes_fourbar(self): method test_import_basic_cartpole (line 1020) | def test_import_basic_cartpole(self): method test_import_model_dr_testmech (line 1040) | def test_import_model_dr_testmech(self): method test_import_model_dr_legs (line 1084) | def test_import_model_dr_legs(self): method test_import_model_dr_legs_with_boxes (line 1099) | def test_import_model_dr_legs_with_boxes(self): method test_import_model_dr_legs_with_meshes_and_boxes (line 1114) | def test_import_model_dr_legs_with_meshes_and_boxes(self): class TestUSDKaminoSceneAPIImport (line 1130) | class TestUSDKaminoSceneAPIImport(unittest.TestCase): method setUp (line 1131) | def setUp(self): method tearDown (line 1148) | def tearDown(self): method generate_single_body_usd_import (line 1153) | def generate_single_body_usd_import(self, scene: str = "") -> Model: method test_01_kamino_scene_api_import_no_scene (line 1214) | def test_01_kamino_scene_api_import_no_scene(self): method test_02_kamino_scene_api_import_full_scene (line 1282) | def test_02_kamino_scene_api_import_full_scene(self): method test_03_kamino_scene_api_import_faulty_scenes (line 1321) | def test_03_kamino_scene_api_import_faulty_scenes(self): method test_04_kamino_scene_api_import_full_scene_config (line 1345) | def test_04_kamino_scene_api_import_full_scene_config(self): method test_05_kamino_scene_api_import_full_scene_solver (line 1384) | def test_05_kamino_scene_api_import_full_scene_solver(self): FILE: newton/_src/solvers/kamino/tests/test_utils_logger.py class TestUtilsLogger (line 17) | class TestUtilsLogger(unittest.TestCase): method setUp (line 18) | def setUp(self): method test_new_logger (line 22) | def test_new_logger(self): method test_default_logger (line 35) | def test_default_logger(self): FILE: newton/_src/solvers/kamino/tests/test_utils_profiles.py class TestUtilsPerformanceProfiles (line 19) | class TestUtilsPerformanceProfiles(unittest.TestCase): method setUp (line 20) | def setUp(self): method tearDown (line 33) | def tearDown(self): method test_01_perfprof_minimal_data (line 37) | def test_01_perfprof_minimal_data(self): method test_02_perfprof_tmigot_ex2 (line 52) | def test_02_perfprof_tmigot_ex2(self): method test_03_perfprof_tmigot_ex3 (line 65) | def test_03_perfprof_tmigot_ex3(self): method test_04_perfprof_tmigot_ex4 (line 78) | def test_04_perfprof_tmigot_ex4(self): method test_05_perfprof_example_large (line 92) | def test_05_perfprof_example_large(self): FILE: newton/_src/solvers/kamino/tests/test_utils_random.py class TestRandomSymmetricMatrix (line 20) | class TestRandomSymmetricMatrix(unittest.TestCase): method setUp (line 21) | def setUp(self): method test_matrix_symmetry (line 26) | def test_matrix_symmetry(self): method test_matrix_rank (line 33) | def test_matrix_rank(self): method test_matrix_eigenvalues (line 41) | def test_matrix_eigenvalues(self): method test_invalid_eigenvalues (line 54) | def test_invalid_eigenvalues(self): method test_invalid_rank (line 60) | def test_invalid_rank(self): class TestRandomProblemCholesky (line 67) | class TestRandomProblemCholesky(unittest.TestCase): method setUp (line 68) | def setUp(self): method test_generate_small_lower (line 73) | def test_generate_small_lower(self): method test_generate_small_upper (line 82) | def test_generate_small_upper(self): class TestRandomProblemLDLT (line 92) | class TestRandomProblemLDLT(unittest.TestCase): method setUp (line 93) | def setUp(self): method test_generate_small_lower (line 98) | def test_generate_small_lower(self): method test_generate_small_upper (line 107) | def test_generate_small_upper(self): FILE: newton/_src/solvers/kamino/tests/test_utils_sim_simulator.py function _test_control_callback (line 26) | def _test_control_callback( function test_control_callback (line 60) | def test_control_callback(sim: Simulator): class TestCartpoleSimulator (line 80) | class TestCartpoleSimulator(unittest.TestCase): method setUp (line 81) | def setUp(self): method tearDown (line 97) | def tearDown(self): method test_01_step_multiple_cartpoles_all_from_initial_state (line 102) | def test_01_step_multiple_cartpoles_all_from_initial_state(self): method test_step_02_multiple_cartpoles_reset_all_from_sampled_states (line 249) | def test_step_02_multiple_cartpoles_reset_all_from_sampled_states(self): FILE: newton/_src/solvers/kamino/tests/utils/checks.py function lists_equal (line 52) | def lists_equal(list1, list2) -> bool: function arrays_equal (line 56) | def arrays_equal(arr1, arr2, tolerance=1e-6) -> bool: function matrices_equal (line 60) | def matrices_equal(m1, m2, tolerance=1e-6) -> bool: function vectors_equal (line 64) | def vectors_equal(v1, v2, tolerance=1e-6) -> bool: function assert_scalar_attributes_equal (line 73) | def assert_scalar_attributes_equal(test: unittest.TestCase, obj0: Any, o... function assert_array_attributes_equal (line 99) | def assert_array_attributes_equal( function assert_builders_equal (line 159) | def assert_builders_equal( function assert_state_equal (line 289) | def assert_state_equal( function assert_control_equal (line 298) | def assert_control_equal( function assert_model_size_equal (line 307) | def assert_model_size_equal( function assert_model_info_equal (line 360) | def assert_model_info_equal( function assert_model_bodies_equal (line 412) | def assert_model_bodies_equal( function assert_model_joints_equal (line 437) | def assert_model_joints_equal( function assert_model_geoms_equal (line 481) | def assert_model_geoms_equal( function assert_model_materials_equal (line 519) | def assert_model_materials_equal( function assert_model_material_pairs_equal (line 534) | def assert_model_material_pairs_equal( function assert_model_equal (line 551) | def assert_model_equal( FILE: newton/_src/solvers/kamino/tests/utils/diff_check.py function run_test_single_joint_examples (line 26) | def run_test_single_joint_examples( function central_finite_differences (line 134) | def central_finite_differences(fun: Callable, eval_point: float | np.nda... function diff_check (line 184) | def diff_check( FILE: newton/_src/solvers/kamino/tests/utils/extract.py function get_matrix_block (line 21) | def get_matrix_block(index: int, flatmat: np.ndarray, dims: list[int], m... function get_vector_block (line 31) | def get_vector_block(index: int, flatvec: np.ndarray, dims: list[int], m... function extract_active_constraint_dims (line 45) | def extract_active_constraint_dims(data: DataKamino) -> list[int]: function extract_active_constraint_vectors (line 50) | def extract_active_constraint_vectors(model: ModelKamino, data: DataKami... function extract_actuation_forces (line 57) | def extract_actuation_forces(model: ModelKamino, data: DataKamino) -> li... function extract_cts_jacobians (line 64) | def extract_cts_jacobians( function extract_dofs_jacobians (line 125) | def extract_dofs_jacobians( function extract_delassus (line 170) | def extract_delassus( function extract_delassus_sparse (line 198) | def extract_delassus_sparse( function extract_problem_vector (line 272) | def extract_problem_vector( function extract_info_vectors (line 299) | def extract_info_vectors(offsets: np.ndarray, vectors: np.ndarray, dims:... FILE: newton/_src/solvers/kamino/tests/utils/make.py function make_generalized_mass_matrices (line 60) | def make_generalized_mass_matrices(model: ModelKamino, data: DataKamino)... function make_inverse_generalized_mass_matrices (line 86) | def make_inverse_generalized_mass_matrices(model: ModelKamino, data: Dat... function make_containers (line 117) | def make_containers( function update_containers (line 155) | def update_containers( function make_test_problem (line 193) | def make_test_problem( function make_constraint_multiplier_arrays (line 288) | def make_constraint_multiplier_arrays(model: ModelKamino) -> tuple[wp.ar... function _set_fourbar_body_states (line 310) | def _set_fourbar_body_states( function set_fourbar_body_states (line 382) | def set_fourbar_body_states(model: ModelKamino, data: DataKamino): function make_test_problem_fourbar (line 398) | def make_test_problem_fourbar( function make_test_problem_heterogeneous (line 427) | def make_test_problem_heterogeneous( FILE: newton/_src/solvers/kamino/tests/utils/print.py function print_model_size (line 18) | def print_model_size(model: ModelKamino): function print_model_info (line 39) | def print_model_info(model: ModelKamino): function print_model_constraint_info (line 102) | def print_model_constraint_info(model: ModelKamino): function print_model_bodies (line 136) | def print_model_bodies(model: ModelKamino, inertias=True, initial_states... function print_model_joints (line 150) | def print_model_joints( function print_data_info (line 205) | def print_data_info(data: DataKamino): function print_data (line 218) | def print_data(data: DataKamino, info=True): function print_error_stats (line 258) | def print_error_stats(name, arr, ref, n, show_errors=False): FILE: newton/_src/solvers/kamino/tests/utils/rand.py class RandomProblemLLT (line 21) | class RandomProblemLLT: method __init__ (line 22) | def __init__( method __str__ (line 150) | def __str__(self) -> str: class RandomProblemLDLT (line 175) | class RandomProblemLDLT: method __init__ (line 176) | def __init__( method __str__ (line 340) | def __str__(self) -> str: function _solve_cholesky_lower_numpy (line 373) | def _solve_cholesky_lower_numpy(L: np.ndarray, b: np.ndarray) -> tuple[n... function _solve_cholesky_upper_numpy (line 397) | def _solve_cholesky_upper_numpy(U: np.ndarray, b: np.ndarray) -> tuple[n... function _solve_ldlt_lower_numpy (line 421) | def _solve_ldlt_lower_numpy( function _solve_ldlt_upper_numpy (line 452) | def _solve_ldlt_upper_numpy( FILE: newton/_src/solvers/mujoco/kernels.py function _import_contact_force_fn (line 17) | def _import_contact_force_fn(): function orthogonals (line 34) | def orthogonals(a: wp.vec3): function make_frame (line 48) | def make_frame(a: wp.vec3): function write_contact (line 62) | def write_contact( function contact_params (line 113) | def contact_params( function convert_solref (line 172) | def convert_solref(ke: float, kd: float, d_width: float, d_r: float) -> ... function quat_wxyz_to_xyzw (line 190) | def quat_wxyz_to_xyzw(q: wp.quat) -> wp.quat: function quat_xyzw_to_wxyz (line 196) | def quat_xyzw_to_wxyz(q: wp.quat) -> wp.quat: function convert_newton_contacts_to_mjwarp_kernel (line 207) | def convert_newton_contacts_to_mjwarp_kernel( function convert_mj_coords_to_warp_kernel (line 431) | def convert_mj_coords_to_warp_kernel( function convert_warp_coords_to_mj_kernel (line 553) | def convert_warp_coords_to_mj_kernel( function sync_qpos0_kernel (line 653) | def sync_qpos0_kernel( function create_convert_mjw_contacts_to_newton_kernel (line 725) | def create_convert_mjw_contacts_to_newton_kernel(): function apply_mjc_control_kernel (line 827) | def apply_mjc_control_kernel( function apply_mjc_body_f_kernel (line 881) | def apply_mjc_body_f_kernel( function apply_mjc_qfrc_kernel (line 906) | def apply_mjc_qfrc_kernel( function apply_mjc_free_joint_f_to_body_f_kernel (line 950) | def apply_mjc_free_joint_f_to_body_f_kernel( function eval_single_articulation_fk (line 977) | def eval_single_articulation_fk( function eval_articulation_fk (line 1115) | def eval_articulation_fk( function convert_body_xforms_to_warp_kernel (line 1162) | def convert_body_xforms_to_warp_kernel( function update_body_mass_ipos_kernel (line 1185) | def update_body_mass_ipos_kernel( function _sort_eigenpairs_descending (line 1217) | def _sort_eigenpairs_descending(eigenvalues: wp.vec3f, eigenvectors: wp.... function _ensure_proper_rotation (line 1240) | def _ensure_proper_rotation(V: wp.mat33f) -> wp.mat33f: function update_body_inertia_kernel (line 1264) | def update_body_inertia_kernel( function repeat_array_kernel (line 1302) | def repeat_array_kernel( function update_solver_options_kernel (line 1313) | def update_solver_options_kernel( function update_axis_properties_kernel (line 1389) | def update_axis_properties_kernel( function update_ctrl_direct_actuator_properties_kernel (line 1457) | def update_ctrl_direct_actuator_properties_kernel( function update_dof_properties_kernel (line 1520) | def update_dof_properties_kernel( function update_body_properties_kernel (line 1560) | def update_body_properties_kernel( function update_jnt_properties_kernel (line 1588) | def update_jnt_properties_kernel( function update_mocap_transforms_kernel (line 1640) | def update_mocap_transforms_kernel( function update_joint_transforms_kernel (line 1667) | def update_joint_transforms_kernel( function update_shape_mappings_kernel (line 1726) | def update_shape_mappings_kernel( function update_model_properties_kernel (line 1760) | def update_model_properties_kernel( function update_geom_properties_kernel (line 1771) | def update_geom_properties_kernel( function create_inverse_shape_mapping_kernel (line 1864) | def create_inverse_shape_mapping_kernel( function update_eq_properties_kernel (line 1884) | def update_eq_properties_kernel( function update_tendon_properties_kernel (line 1910) | def update_tendon_properties_kernel( function update_eq_data_and_active_kernel (line 1975) | def update_eq_data_and_active_kernel( function update_mimic_eq_data_and_active_kernel (line 2047) | def update_mimic_eq_data_and_active_kernel( function mj_body_acceleration (line 2083) | def mj_body_acceleration( function convert_rigid_forces_from_mj_kernel (line 2105) | def convert_rigid_forces_from_mj_kernel( function convert_qfrc_actuator_from_mj_kernel (line 2150) | def convert_qfrc_actuator_from_mj_kernel( function update_pair_properties_kernel (line 2235) | def update_pair_properties_kernel( FILE: newton/_src/solvers/mujoco/solver_mujoco.py class SolverMuJoCo (line 84) | class SolverMuJoCo(SolverBase): class CtrlSource (line 153) | class CtrlSource(IntEnum): class CtrlType (line 165) | class CtrlType(IntEnum): class TrnType (line 182) | class TrnType(IntEnum): method import_mujoco (line 200) | def import_mujoco(cls): method _parse_integrator (line 221) | def _parse_integrator(value: str | int, context: dict[str, Any] | None... method _parse_solver (line 226) | def _parse_solver(value: str | int, context: dict[str, Any] | None = N... method _parse_cone (line 231) | def _parse_cone(value: str | int, context: dict[str, Any] | None = Non... method _parse_jacobian (line 236) | def _parse_jacobian(value: str | int, context: dict[str, Any] | None =... method _parse_named_int (line 241) | def _parse_named_int(value: str | int, mapping: dict[str, int], fallba... method _angle_value_transformer (line 260) | def _angle_value_transformer(value: str, context: dict[str, Any] | Non... method _per_angle_value_transformer (line 276) | def _per_angle_value_transformer(value: str, context: dict[str, Any] |... method _is_mjc_actuator_prim (line 292) | def _is_mjc_actuator_prim(prim: Any, _context: dict[str, Any]) -> bool: method _is_mjc_tendon_prim (line 309) | def _is_mjc_tendon_prim(prim: Any, _context: dict[str, Any]) -> bool: method _parse_mjc_fixed_tendon_joint_entries (line 326) | def _parse_mjc_fixed_tendon_joint_entries(prim, builder: ModelBuilder)... method _expand_mjc_tendon_joint_rows (line 379) | def _expand_mjc_tendon_joint_rows(prim, context: dict[str, Any]) -> It... method register_custom_attributes (line 396) | def register_custom_attributes(cls, builder: ModelBuilder) -> None: method _init_pairs (line 1962) | def _init_pairs(self, model: Model, spec: Any, shape_mapping: dict[int... method _validate_tendon_attributes (line 2049) | def _validate_tendon_attributes(model: Model) -> tuple[int, int, int]: method _init_tendons (line 2154) | def _init_tendons( method _init_actuators (line 2471) | def _init_actuators( method __init__ (line 2752) | def __init__( method _mujoco_warp_step (line 2948) | def _mujoco_warp_step(self): method step (line 2953) | def step(self, state_in: State, state_out: State, control: Control, co... method _enable_rne_postconstraint (line 2978) | def _enable_rne_postconstraint(self, state_out: State): method _convert_contacts_to_mjwarp (line 2991) | def _convert_contacts_to_mjwarp(self, model: Model, state_in: State, c... method notify_model_changed (line 3056) | def notify_model_changed(self, flags: int) -> None: method _create_inverse_shape_mapping (line 3113) | def _create_inverse_shape_mapping(self): method _data_is_mjwarp (line 3138) | def _data_is_mjwarp(data): method _apply_mjc_control (line 3142) | def _apply_mjc_control(self, model: Model, state: State, control: Cont... method _update_mjc_data (line 3248) | def _update_mjc_data(self, mj_data: MjWarpData | MjData, model: Model,... method _update_newton_state (line 3305) | def _update_newton_state( method _find_body_collision_filter_pairs (line 3443) | def _find_body_collision_filter_pairs( method _color_collision_shapes (line 3479) | def _color_collision_shapes( method get_max_contact_count (line 3538) | def get_max_contact_count(self) -> int: method update_contacts (line 3545) | def update_contacts(self, contacts: Contacts, state: State | None = No... method _convert_to_mjc (line 3596) | def _convert_to_mjc( method _expand_model_fields (line 5235) | def _expand_model_fields(self, mj_model: MjWarpModel, nworld: int): method _update_solver_options (line 5371) | def _update_solver_options(self, overridden_options: set[str] | None =... method _update_model_inertial_properties (line 5448) | def _update_model_inertial_properties(self): method _update_body_properties (line 5488) | def _update_body_properties(self): method _update_joint_dof_properties (line 5516) | def _update_joint_dof_properties(self): method _update_joint_properties (line 5644) | def _update_joint_properties(self): method _update_geom_properties (line 5697) | def _update_geom_properties(self): method _update_pair_properties (line 5746) | def _update_pair_properties(self): method _update_model_properties (line 5809) | def _update_model_properties(self): method _update_eq_properties (line 5827) | def _update_eq_properties(self): method _update_mimic_eq_properties (line 5894) | def _update_mimic_eq_properties(self): method _update_tendon_properties (line 5930) | def _update_tendon_properties(self): method _update_actuator_properties (line 5998) | def _update_actuator_properties(self): method _validate_model_for_separate_worlds (line 6067) | def _validate_model_for_separate_worlds(self, model: Model) -> None: method render_mujoco_viewer (line 6209) | def render_mujoco_viewer( method close_mujoco_viewer (line 6263) | def close_mujoco_viewer(self): method __del__ (line 6273) | def __del__(self): FILE: newton/_src/solvers/semi_implicit/kernels_body.py function joint_force (line 18) | def joint_force( function eval_body_joints (line 52) | def eval_body_joints( function eval_body_joint_forces (line 503) | def eval_body_joint_forces( FILE: newton/_src/solvers/semi_implicit/kernels_contact.py function particle_force (line 12) | def particle_force(n: wp.vec3, v: wp.vec3, c: float, k_n: float, k_d: fl... function eval_particle_contact (line 36) | def eval_particle_contact( function eval_triangle_contact (line 88) | def eval_triangle_contact( function eval_particle_body_contact (line 144) | def eval_particle_body_contact( function eval_triangles_body_contact (line 265) | def eval_triangles_body_contact( function eval_body_contact (line 382) | def eval_body_contact( function eval_particle_contact_forces (line 559) | def eval_particle_contact_forces(model: Model, state: State, particle_f:... function eval_triangle_contact_forces (line 582) | def eval_triangle_contact_forces(model: Model, state: State, particle_f:... function eval_body_contact_forces (line 601) | def eval_body_contact_forces( function eval_particle_body_contact_forces (line 644) | def eval_particle_body_contact_forces( FILE: newton/_src/solvers/semi_implicit/kernels_muscle.py function muscle_force (line 10) | def muscle_force( function eval_muscle (line 45) | def eval_muscle( function eval_muscle_forces (line 68) | def eval_muscle_forces(model: Model, state: State, control: Control, bod... FILE: newton/_src/solvers/semi_implicit/kernels_particle.py function eval_spring (line 10) | def eval_spring( function eval_triangle (line 57) | def eval_triangle( function eval_bending (line 175) | def eval_bending( function eval_tetrahedra (line 250) | def eval_tetrahedra( function eval_spring_forces (line 428) | def eval_spring_forces(model: Model, state: State, particle_f: wp.array): function eval_triangle_forces (line 446) | def eval_triangle_forces(model: Model, state: State, control: Control, p... function eval_bending_forces (line 464) | def eval_bending_forces(model: Model, state: State, particle_f: wp.array): function eval_tetrahedra_forces (line 481) | def eval_tetrahedra_forces(model: Model, state: State, control: Control,... FILE: newton/_src/solvers/semi_implicit/solver_semi_implicit.py class SolverSemiImplicit (line 29) | class SolverSemiImplicit(SolverBase): method __init__ (line 69) | def __init__( method step (line 95) | def step( FILE: newton/_src/solvers/solver.py function integrate_particles (line 11) | def integrate_particles( function integrate_rigid_body (line 51) | def integrate_rigid_body( function integrate_bodies (line 99) | def integrate_bodies( function _update_effective_inv_mass_inertia (line 161) | def _update_effective_inv_mass_inertia( class SolverBase (line 177) | class SolverBase: method __init__ (line 186) | def __init__(self, model: Model): method device (line 190) | def device(self) -> wp.Device: method _init_kinematic_state (line 199) | def _init_kinematic_state(self): method _refresh_kinematic_state (line 207) | def _refresh_kinematic_state(self): method integrate_bodies (line 224) | def integrate_bodies( method integrate_particles (line 266) | def integrate_particles( method step (line 301) | def step( method notify_model_changed (line 318) | def notify_model_changed(self, flags: int) -> None: method update_contacts (line 347) | def update_contacts(self, contacts: Contacts, state: State | None = No... method register_custom_attributes (line 359) | def register_custom_attributes(cls, builder: ModelBuilder) -> None: FILE: newton/_src/solvers/style3d/builder.py function add_connection (line 15) | def add_connection(v0: int, v1: int, counts: wp.array[int], neighbors: w... function add_bend_constraints_kernel (line 46) | def add_bend_constraints_kernel( function add_stretch_constraints_kernel (line 80) | def add_stretch_constraints_kernel( function assemble_nz_ell_kernel (line 123) | def assemble_nz_ell_kernel( class PDMatrixBuilder (line 143) | class PDMatrixBuilder: method __init__ (line 146) | def __init__(self, num_verts: int, max_neighbor: int = 32): method add_stretch_constraints (line 154) | def add_stretch_constraints( method add_bend_constraints (line 185) | def add_bend_constraints( method finalize (line 228) | def finalize(self, device): FILE: newton/_src/solvers/style3d/cloth.py function _normalize_edge_aniso_values (line 23) | def _normalize_edge_aniso_values(edge_aniso_ke: Sequence[Vec3] | Vec3 | ... function _compute_panel_triangles (line 50) | def _compute_panel_triangles(panel_verts: np.ndarray, panel_indices: np.... function _compute_edge_bending_data (line 78) | def _compute_edge_bending_data( function add_cloth_mesh (line 181) | def add_cloth_mesh( function add_cloth_grid (line 379) | def add_cloth_grid( function compute_sew_v (line 518) | def compute_sew_v( function create_mesh_sew_springs (line 589) | def create_mesh_sew_springs( function sew_close_vertices (line 664) | def sew_close_vertices(builder: ModelBuilder, sew_distance: float = 1.0e... FILE: newton/_src/solvers/style3d/collision/bvh/bvh.py class BvhAabb (line 20) | class BvhAabb: method __init__ (line 57) | def __init__(self, num_leaves: int, device: wp.Device): method is_built (line 63) | def is_built(self) -> bool: method build (line 67) | def build(self): method rebuild (line 85) | def rebuild(self): method refit (line 108) | def refit(self): method aabb_vs_aabb (line 128) | def aabb_vs_aabb( method aabb_vs_line (line 172) | def aabb_vs_line( class BvhEdge (line 228) | class BvhEdge(BvhAabb): method __init__ (line 236) | def __init__(self, edge_count: int, device: wp.Device): method update_aabbs (line 239) | def update_aabbs(self, pos: wp.array[wp.vec3], edge_indices: wp.array2... method build (line 261) | def build(self, pos: wp.array[wp.vec3], edge_indices: wp.array2d[int],... method rebuild (line 279) | def rebuild(self, pos: wp.array[wp.vec3], edge_indices: wp.array2d[int... method refit (line 299) | def refit(self, pos: wp.array[wp.vec3], edge_indices: wp.array2d[int],... method edge_vs_edge (line 316) | def edge_vs_edge( class BvhTri (line 373) | class BvhTri(BvhAabb): method __init__ (line 382) | def __init__(self, tri_count: int, device: wp.Device): method update_aabbs (line 385) | def update_aabbs(self, pos: wp.array[wp.vec3], tri_indices: wp.array2d... method build (line 407) | def build(self, pos: wp.array[wp.vec3], tri_indices: wp.array2d[int], ... method rebuild (line 425) | def rebuild(self, pos: wp.array[wp.vec3], tri_indices: wp.array2d[int]... method refit (line 446) | def refit(self, pos: wp.array[wp.vec3], tri_indices: wp.array2d[int], ... method triangle_vs_point (line 463) | def triangle_vs_point( FILE: newton/_src/solvers/style3d/collision/bvh/kernels.py function line_intersects_aabb (line 13) | def line_intersects_aabb(v0: wp.vec3, v1: wp.vec3, lower: wp.vec3, upper... function compute_tri_aabbs_kernel (line 38) | def compute_tri_aabbs_kernel( function compute_edge_aabbs_kernel (line 60) | def compute_edge_aabbs_kernel( function aabb_vs_aabb_kernel (line 78) | def aabb_vs_aabb_kernel( function aabb_vs_line_kernel (line 105) | def aabb_vs_line_kernel( function triangle_vs_point_kernel (line 134) | def triangle_vs_point_kernel( function edge_vs_edge_kernel (line 175) | def edge_vs_edge_kernel( FILE: newton/_src/solvers/style3d/collision/collision.py class Collision (line 20) | class Collision: method __init__ (line 25) | def __init__(self, model: Model): method rebuild_bvh (line 52) | def rebuild_bvh(self, pos: wp.array[wp.vec3]): method refit_bvh (line 62) | def refit_bvh(self, pos: wp.array[wp.vec3]): method frame_begin (line 72) | def frame_begin(self, particle_q: wp.array[wp.vec3], particle_qd: wp.a... method accumulate_contact_force (line 121) | def accumulate_contact_force( method contact_hessian_diagonal (line 230) | def contact_hessian_diagonal(self): method hessian_multiply (line 237) | def hessian_multiply(self, x: wp.array[wp.vec3]): method linear_iteration_end (line 259) | def linear_iteration_end(self, dx: wp.array[wp.vec3]): method frame_end (line 263) | def frame_end(self, pos: wp.array[wp.vec3], vel: wp.array[wp.vec3], dt... FILE: newton/_src/solvers/style3d/collision/collision_legacy.py function particle_conservative_bounds_kernel (line 19) | def particle_conservative_bounds_kernel( function hessian_multiply_kernel (line 53) | def hessian_multiply_kernel( class CollisionHandler (line 68) | class CollisionHandler: method __init__ (line 78) | def __init__( method rebuild_bvh (line 149) | def rebuild_bvh(self, pos: wp.array[wp.vec3]): method frame_begin (line 153) | def frame_begin(self, particle_q: wp.array[wp.vec3], vel: wp.array[wp.... method accumulate_contact_force (line 157) | def accumulate_contact_force( method contact_hessian_diagonal (line 235) | def contact_hessian_diagonal(self): method hessian_multiply (line 242) | def hessian_multiply(self, x: wp.array[wp.vec3]): method linear_iteration_end (line 253) | def linear_iteration_end(self, dx: wp.array[wp.vec3]): method frame_end (line 273) | def frame_end(self, pos: wp.array[wp.vec3], vel: wp.array[wp.vec3], dt... FILE: newton/_src/solvers/style3d/collision/kernels.py function triangle_normal (line 10) | def triangle_normal(A: wp.vec3, B: wp.vec3, C: wp.vec3): function triangle_barycentric (line 17) | def triangle_barycentric(A: wp.vec3, B: wp.vec3, C: wp.vec3, P: wp.vec3): function eval_body_contact_kernel (line 34) | def eval_body_contact_kernel( function handle_vertex_triangle_contacts_kernel (line 95) | def handle_vertex_triangle_contacts_kernel( function handle_edge_edge_contacts_kernel (line 154) | def handle_edge_edge_contacts_kernel( function intersection_gradient_vector (line 235) | def intersection_gradient_vector(R: wp.vec3, E: wp.vec3, N: wp.vec3): function solve_untangling_kernel (line 252) | def solve_untangling_kernel( FILE: newton/_src/solvers/style3d/kernels.py function triangle_deformation_gradient (line 10) | def triangle_deformation_gradient(x0: wp.vec3, x1: wp.vec3, x2: wp.vec3,... function eval_stretch_kernel (line 18) | def eval_stretch_kernel( function eval_bend_kernel (line 61) | def eval_bend_kernel( function eval_drag_force_kernel (line 89) | def eval_drag_force_kernel( function accumulate_dragging_pd_diag_kernel (line 124) | def accumulate_dragging_pd_diag_kernel( function init_step_kernel (line 149) | def init_step_kernel( function init_rhs_kernel (line 187) | def init_rhs_kernel( function prepare_jacobi_preconditioner_kernel (line 200) | def prepare_jacobi_preconditioner_kernel( function prepare_jacobi_preconditioner_no_contact_hessian_kernel (line 215) | def prepare_jacobi_preconditioner_no_contact_hessian_kernel( function PD_jacobi_step_kernel (line 226) | def PD_jacobi_step_kernel( function nonlinear_step_kernel (line 238) | def nonlinear_step_kernel( function update_velocity (line 250) | def update_velocity( FILE: newton/_src/solvers/style3d/linear_solver.py class NonZeroEntry (line 11) | class NonZeroEntry: class SparseMatrixELL (line 22) | class SparseMatrixELL: function ell_mat_vec_mul (line 30) | def ell_mat_vec_mul( function eval_residual_kernel (line 44) | def eval_residual_kernel( function eval_residual_kernel_with_additional_Ax (line 64) | def eval_residual_kernel_with_additional_Ax( function array_mul_kernel (line 85) | def array_mul_kernel( function ell_mat_vec_mul_kernel (line 101) | def ell_mat_vec_mul_kernel( function ell_mat_vec_mul_add_kernel (line 118) | def ell_mat_vec_mul_add_kernel( function update_cg_direction_kernel (line 138) | def update_cg_direction_kernel( function step_cg_kernel (line 160) | def step_cg_kernel( function generate_test_data_kernel (line 181) | def generate_test_data_kernel( function array_inner (line 213) | def array_inner( class PcgSolver (line 236) | class PcgSolver: method __init__ (line 251) | def __init__(self, dim: int, device, maxIter: int = 999): method step1_update_r (line 262) | def step1_update_r( method step2_update_z (line 290) | def step2_update_z(self, inv_M: wp.array[Any]): method step3_update_rTz (line 293) | def step3_update_rTz(self, iter: int): method step4_update_p (line 296) | def step4_update_p(self, iter: int): method step5_update_Ap (line 305) | def step5_update_Ap( method step6_update_pTAp (line 328) | def step6_update_pTAp(self, iter: int): method step7_update_x_r (line 331) | def step7_update_x_r(self, x: wp.array[wp.vec3], iter: int): method solve (line 340) | def solve( FILE: newton/_src/solvers/style3d/solver_style3d.py class SolverStyle3D (line 35) | class SolverStyle3D(SolverBase): method __init__ (line 102) | def __init__( method step (line 155) | def step(self, state_in: State, state_out: State, control: Control, co... method rebuild_bvh (line 335) | def rebuild_bvh(self, state: State): method register_custom_attributes (line 341) | def register_custom_attributes(cls, builder: ModelBuilder) -> None: method _precompute (line 388) | def _precompute(self, builder: ModelBuilder): method _update_drag_info (line 419) | def _update_drag_info(self, index: int, pos: wp.vec3, bary_coord: wp.v... FILE: newton/_src/solvers/vbd/particle_vbd_kernels.py class mat32 (line 46) | class mat32(wp.types.matrix(shape=(3, 2), dtype=wp.float32)): class mat99 (line 50) | class mat99(wp.types.matrix(shape=(9, 9), dtype=wp.float32)): class mat93 (line 54) | class mat93(wp.types.matrix(shape=(9, 3), dtype=wp.float32)): class mat43 (line 58) | class mat43(wp.types.matrix(shape=(4, 3), dtype=wp.float32)): class vec9 (line 62) | class vec9(wp.types.vector(length=9, dtype=wp.float32)): class ParticleForceElementAdjacencyInfo (line 67) | class ParticleForceElementAdjacencyInfo: method to (line 90) | def to(self, device): function get_vertex_num_adjacent_edges (line 111) | def get_vertex_num_adjacent_edges(adjacency: ParticleForceElementAdjacen... function get_vertex_adjacent_edge_id_order (line 116) | def get_vertex_adjacent_edge_id_order(adjacency: ParticleForceElementAdj... function get_vertex_num_adjacent_faces (line 122) | def get_vertex_num_adjacent_faces(adjacency: ParticleForceElementAdjacen... function get_vertex_adjacent_face_id_order (line 127) | def get_vertex_adjacent_face_id_order(adjacency: ParticleForceElementAdj... function get_vertex_num_adjacent_springs (line 133) | def get_vertex_num_adjacent_springs(adjacency: ParticleForceElementAdjac... function get_vertex_adjacent_spring_id (line 138) | def get_vertex_adjacent_spring_id(adjacency: ParticleForceElementAdjacen... function get_vertex_num_adjacent_tets (line 144) | def get_vertex_num_adjacent_tets(adjacency: ParticleForceElementAdjacenc... function get_vertex_adjacent_tet_id_order (line 149) | def get_vertex_adjacent_tet_id_order(adjacency: ParticleForceElementAdja... function assemble_tet_vertex_force_and_hessian (line 155) | def assemble_tet_vertex_force_and_hessian( function damp_force_and_hessian (line 227) | def damp_force_and_hessian( function evaluate_volumetric_neo_hookean_force_and_hessian (line 335) | def evaluate_volumetric_neo_hookean_force_and_hessian( function compute_G_matrix (line 469) | def compute_G_matrix(Dm_inv: wp.mat33, v_order: int) -> mat93: function compute_cofactor (line 518) | def compute_cofactor(F: wp.mat33) -> wp.mat33: function compute_cofactor_derivative (line 541) | def compute_cofactor_derivative(F: wp.mat33, scale: float) -> mat99: function _count_num_adjacent_edges (line 634) | def _count_num_adjacent_edges(edges_array: wp.array2d[wp.int32], num_ver... function _fill_adjacent_edges (line 652) | def _fill_adjacent_edges( function _count_num_adjacent_faces (line 692) | def _count_num_adjacent_faces(face_indices: wp.array2d[wp.int32], num_ve... function _fill_adjacent_faces (line 704) | def _fill_adjacent_faces( function _count_num_adjacent_springs (line 735) | def _count_num_adjacent_springs(springs_array: wp.array[wp.int32], num_v... function _fill_adjacent_springs (line 746) | def _fill_adjacent_springs( function _count_num_adjacent_tets (line 769) | def _count_num_adjacent_tets(tet_indices: wp.array2d[wp.int32], num_vert... function _fill_adjacent_tets (line 783) | def _fill_adjacent_tets( function _test_compute_force_element_adjacency (line 821) | def _test_compute_force_element_adjacency( function evaluate_stvk_force_hessian (line 860) | def evaluate_stvk_force_hessian( function compute_normalized_vector_derivative (line 1026) | def compute_normalized_vector_derivative( function compute_angle_derivative (line 1036) | def compute_angle_derivative( function evaluate_dihedral_angle_based_bending_force_hessian (line 1055) | def evaluate_dihedral_angle_based_bending_force_hessian( function evaluate_self_contact_force_norm (line 1191) | def evaluate_self_contact_force_norm(dis: float, collision_radius: float... function damp_collision (line 1223) | def damp_collision( function evaluate_edge_edge_contact (line 1239) | def evaluate_edge_edge_contact( function evaluate_edge_edge_contact_2_vertices (line 1369) | def evaluate_edge_edge_contact_2_vertices( function evaluate_vertex_triangle_collision_force_hessian (line 1507) | def evaluate_vertex_triangle_collision_force_hessian( function evaluate_vertex_triangle_collision_force_hessian_4_vertices (line 1597) | def evaluate_vertex_triangle_collision_force_hessian_4_vertices( function compute_friction (line 1746) | def compute_friction(mu: float, normal_contact_force: float, T: mat32, u... function forward_step (line 1780) | def forward_step( function compute_particle_conservative_bound (line 1808) | def compute_particle_conservative_bound( function validate_conservative_bound (line 1855) | def validate_conservative_bound( function apply_conservative_bound_truncation (line 1875) | def apply_conservative_bound_truncation( function update_velocity (line 1898) | def update_velocity(dt: float, pos_prev: wp.array[wp.vec3], pos: wp.arra... function convert_body_particle_contact_data_kernel (line 1904) | def convert_body_particle_contact_data_kernel( function accumulate_self_contact_force_and_hessian (line 1928) | def accumulate_self_contact_force_and_hessian( function _csr_row (line 2071) | def _csr_row(vals: np.ndarray, offs: np.ndarray, i: int) -> np.ndarray: function set_to_csr (line 2076) | def set_to_csr( function one_ring_vertices (line 2104) | def one_ring_vertices( function leq_n_ring_vertices (line 2132) | def leq_n_ring_vertices( function build_vertex_n_ring_tris_collision_filter (line 2161) | def build_vertex_n_ring_tris_collision_filter( function build_edge_n_ring_edge_collision_filter (line 2203) | def build_edge_n_ring_edge_collision_filter( function evaluate_spring_force_and_hessian (line 2256) | def evaluate_spring_force_and_hessian( function evaluate_spring_force_and_hessian_both_vertices (line 2296) | def evaluate_spring_force_and_hessian_both_vertices( function accumulate_spring_force_and_hessian (line 2344) | def accumulate_spring_force_and_hessian( function accumulate_contact_force_and_hessian_no_self_contact (line 2398) | def accumulate_contact_force_and_hessian_no_self_contact( function segment_plane_intersects (line 2474) | def segment_plane_intersects( function create_vertex_triangle_division_plane_closest_pt (line 2499) | def create_vertex_triangle_division_plane_closest_pt( function robust_edge_pair_normal (line 2560) | def robust_edge_pair_normal( function create_edge_edge_division_plane_closest_pt (line 2629) | def create_edge_edge_division_plane_closest_pt( function planar_truncation (line 2703) | def planar_truncation( function planar_truncation_t (line 2723) | def planar_truncation_t( function apply_planar_truncation_parallel_by_collision (line 2743) | def apply_planar_truncation_parallel_by_collision( function apply_truncation_ts (line 2876) | def apply_truncation_ts( function accumulate_particle_body_contact_force_and_hessian (line 2899) | def accumulate_particle_body_contact_force_and_hessian( function solve_elasticity_tile (line 2970) | def solve_elasticity_tile( function solve_elasticity (line 3135) | def solve_elasticity( function accumulate_contact_force_and_hessian (line 3276) | def accumulate_contact_force_and_hessian( FILE: newton/_src/solvers/vbd/rigid_vbd_kernels.py class vec6 (line 62) | class vec6(wp.types.vector(length=6, dtype=wp.float32)): function chol33 (line 69) | def chol33(A: wp.mat33) -> vec6: function chol33_solve (line 118) | def chol33_solve(Lp: vec6, b: wp.vec3) -> wp.vec3: function cable_get_kappa (line 161) | def cable_get_kappa(q_wp: wp.quat, q_wc: wp.quat, q_wp_rest: wp.quat, q_... function compute_right_jacobian_inverse (line 190) | def compute_right_jacobian_inverse(kappa: wp.vec3) -> wp.mat33: function compute_kappa_dot_analytic (line 212) | def compute_kappa_dot_analytic( function build_joint_projectors (line 252) | def build_joint_projectors( function evaluate_angular_constraint_force_hessian (line 311) | def evaluate_angular_constraint_force_hessian( function evaluate_linear_constraint_force_hessian (line 396) | def evaluate_linear_constraint_force_hessian( class RigidForceElementAdjacencyInfo (line 483) | class RigidForceElementAdjacencyInfo: method to (line 499) | def to(self, device): function get_body_num_adjacent_joints (line 511) | def get_body_num_adjacent_joints(adjacency: RigidForceElementAdjacencyIn... function get_body_adjacent_joint_id (line 517) | def get_body_adjacent_joint_id(adjacency: RigidForceElementAdjacencyInfo... function evaluate_rigid_contact_from_collision (line 524) | def evaluate_rigid_contact_from_collision( function evaluate_body_particle_contact (line 674) | def evaluate_body_particle_contact( function compute_projected_isotropic_friction (line 806) | def compute_projected_isotropic_friction( function resolve_drive_limit_mode (line 851) | def resolve_drive_limit_mode( function compute_kappa_and_jacobian (line 877) | def compute_kappa_and_jacobian( function apply_angular_drive_limit_torque (line 894) | def apply_angular_drive_limit_torque( function apply_linear_drive_limit_force (line 911) | def apply_linear_drive_limit_force( function evaluate_joint_force_hessian (line 931) | def evaluate_joint_force_hessian( function _count_num_adjacent_joints (line 1613) | def _count_num_adjacent_joints( function _fill_adjacent_joints (line 1631) | def _fill_adjacent_joints( function forward_step_rigid_bodies (line 1662) | def forward_step_rigid_bodies( function build_body_body_contact_lists (line 1741) | def build_body_body_contact_lists( function build_body_particle_contact_lists (line 1789) | def build_body_particle_contact_lists( function warmstart_joints (line 1829) | def warmstart_joints( function warmstart_body_body_contacts (line 1852) | def warmstart_body_body_contacts( function warmstart_body_particle_contacts (line 1896) | def warmstart_body_particle_contacts( function compute_cable_dahl_parameters (line 1944) | def compute_cable_dahl_parameters( function accumulate_body_body_contacts_per_body (line 2077) | def accumulate_body_body_contacts_per_body( function compute_rigid_contact_forces (line 2213) | def compute_rigid_contact_forces( function accumulate_body_particle_contacts_per_body (line 2334) | def accumulate_body_particle_contacts_per_body( function solve_rigid_body (line 2494) | def solve_rigid_body( function copy_rigid_body_transforms_back (line 2778) | def copy_rigid_body_transforms_back( function update_duals_joint (line 2800) | def update_duals_joint( function update_duals_body_body_contacts (line 3166) | def update_duals_body_body_contacts( function update_duals_body_particle_contacts (line 3241) | def update_duals_body_particle_contacts( function update_body_velocity (line 3315) | def update_body_velocity( function update_cable_dahl_state (line 3366) | def update_cable_dahl_state( FILE: newton/_src/solvers/vbd/solver_vbd.py class SolverVBD (line 88) | class SolverVBD(SolverBase): method __init__ (line 159) | def __init__( method _init_particle_system (line 335) | def _init_particle_system( method _init_rigid_system (line 436) | def _init_rigid_system( method notify_model_changed (line 594) | def notify_model_changed(self, flags: int) -> None: method _init_joint_constraint_layout (line 602) | def _init_joint_constraint_layout(self) -> None: method _init_joint_penalty_k (line 665) | def _init_joint_penalty_k(self, k_start_joint_linear: float, k_start_j... method _init_joint_rest_angle (line 905) | def _init_joint_rest_angle(self): method _init_dahl_params (line 953) | def _init_dahl_params(self, eps_max_input, tau_input, model): method register_custom_attributes (line 1003) | def register_custom_attributes(cls, builder: ModelBuilder) -> None: method _compute_particle_force_element_adjacency (line 1036) | def _compute_particle_force_element_adjacency(self): method _compute_particle_contact_filtering_list (line 1198) | def _compute_particle_contact_filtering_list( method _compute_rigid_force_element_adjacency (line 1265) | def _compute_rigid_force_element_adjacency(self, model): method set_rigid_history_update (line 1325) | def set_rigid_history_update(self, update: bool): method step (line 1338) | def step( method _penetration_free_truncation (line 1383) | def _penetration_free_truncation(self, particle_q_out=None): method _initialize_particles (line 1445) | def _initialize_particles(self, state_in: State, state_out: State, dt:... method _initialize_rigid_bodies (line 1484) | def _initialize_rigid_bodies( method _solve_particle_iteration (line 1704) | def _solve_particle_iteration( method _solve_rigid_body_iteration (line 1892) | def _solve_rigid_body_iteration( method collect_rigid_contact_forces (line 2185) | def collect_rigid_contact_forces( method _finalize_particles (line 2311) | def _finalize_particles(self, state_out: State, dt: float): method _finalize_rigid_bodies (line 2324) | def _finalize_rigid_bodies(self, state_out: State, dt: float): method _collision_detection_penetration_free (line 2373) | def _collision_detection_penetration_free(self, current_state: State): method rebuild_bvh (line 2391) | def rebuild_bvh(self, state: State): FILE: newton/_src/solvers/vbd/tri_mesh_collision.py class TriMeshCollisionInfo (line 19) | class TriMeshCollisionInfo: function get_vertex_colliding_triangles_count (line 44) | def get_vertex_colliding_triangles_count(col_info: TriMeshCollisionInfo,... function get_vertex_colliding_triangles (line 49) | def get_vertex_colliding_triangles(col_info: TriMeshCollisionInfo, v: in... function get_vertex_collision_buffer_vertex_index (line 55) | def get_vertex_collision_buffer_vertex_index(col_info: TriMeshCollisionI... function get_triangle_colliding_vertices_count (line 61) | def get_triangle_colliding_vertices_count(col_info: TriMeshCollisionInfo... function get_triangle_colliding_vertices (line 68) | def get_triangle_colliding_vertices(col_info: TriMeshCollisionInfo, tri:... function get_edge_colliding_edges_count (line 74) | def get_edge_colliding_edges_count(col_info: TriMeshCollisionInfo, e: int): function get_edge_colliding_edges (line 79) | def get_edge_colliding_edges(col_info: TriMeshCollisionInfo, e: int, i_c... function get_edge_collision_buffer_edge_index (line 85) | def get_edge_collision_buffer_edge_index(col_info: TriMeshCollisionInfo,... class TriMeshCollisionDetector (line 90) | class TriMeshCollisionDetector: method __init__ (line 91) | def __init__( method set_collision_filter_list (line 237) | def set_collision_filter_list( method get_collision_data (line 250) | def get_collision_data(self): method compute_collision_buffer_offsets (line 275) | def compute_collision_buffer_offsets(self, buffer_sizes: wp.array[wp.i... method rebuild (line 283) | def rebuild(self, new_pos=None): method refit (line 308) | def refit(self, new_pos=None): method refit_triangles (line 315) | def refit_triangles(self): method refit_edges (line 324) | def refit_edges(self): method vertex_triangle_collision_detection (line 333) | def vertex_triangle_collision_detection( method edge_edge_collision_detection (line 385) | def edge_edge_collision_detection( method triangle_triangle_intersection_detection (line 415) | def triangle_triangle_intersection_detection(self): FILE: newton/_src/solvers/xpbd/kernels.py function copy_kinematic_body_state_kernel (line 19) | def copy_kinematic_body_state_kernel( function apply_particle_shape_restitution (line 35) | def apply_particle_shape_restitution( function solve_particle_shape_contacts (line 115) | def solve_particle_shape_contacts( function solve_particle_particle_contacts (line 226) | def solve_particle_particle_contacts( function solve_springs (line 293) | def solve_springs( function bending_constraint (line 359) | def bending_constraint( function solve_tetrahedra (line 460) | def solve_tetrahedra( function solve_tetrahedra2 (line 631) | def solve_tetrahedra2( function apply_particle_deltas (line 777) | def apply_particle_deltas( function apply_body_deltas (line 810) | def apply_body_deltas( function apply_body_delta_velocities (line 882) | def apply_body_delta_velocities( function apply_joint_forces (line 891) | def apply_joint_forces( function update_joint_axis_limits (line 1007) | def update_joint_axis_limits(axis: wp.vec3, limit_lower: float, limit_up... function update_joint_axis_weighted_target (line 1021) | def update_joint_axis_weighted_target( function compute_linear_correction_3d (line 1035) | def compute_linear_correction_3d( function compute_angular_correction_3d (line 1083) | def compute_angular_correction_3d( function solve_simple_body_joints (line 1125) | def solve_simple_body_joints( function solve_body_joints (line 1442) | def solve_body_joints( function compute_contact_constraint_delta (line 1938) | def compute_contact_constraint_delta( function compute_positional_correction (line 1975) | def compute_positional_correction( function compute_angular_correction (line 2018) | def compute_angular_correction( function solve_body_contact_positions (line 2055) | def solve_body_contact_positions( function update_body_velocities (line 2290) | def update_body_velocities( function apply_rigid_restitution (line 2325) | def apply_rigid_restitution( FILE: newton/_src/solvers/xpbd/solver_xpbd.py class SolverXPBD (line 30) | class SolverXPBD(SolverBase): method __init__ (line 68) | def __init__( method notify_model_changed (line 115) | def notify_model_changed(self, flags: int) -> None: method copy_kinematic_body_state (line 119) | def copy_kinematic_body_state(self, model: Model, state_in: State, sta... method _apply_particle_deltas (line 130) | def _apply_particle_deltas( method _apply_body_deltas (line 176) | def _apply_body_deltas( method step (line 233) | def step(self, state_in: State, state_out: State, control: Control, co... FILE: newton/_src/usd/schema_resolver.py class PrimType (line 27) | class PrimType(IntEnum): class SchemaResolver (line 46) | class SchemaResolver: class SchemaAttribute (line 50) | class SchemaAttribute: method __init__ (line 78) | def __init__(self) -> None: method get_value (line 97) | def get_value(self, prim: Usd.Prim, prim_type: PrimType, key: str) -> ... method collect_prim_attrs (line 120) | def collect_prim_attrs(self, prim: Usd.Prim) -> dict[str, Any]: method validate_custom_attributes (line 149) | def validate_custom_attributes(self, builder: ModelBuilder) -> None: function _collect_attrs_by_name (line 166) | def _collect_attrs_by_name(prim: Usd.Prim, names: Sequence[str]) -> dict... function _collect_attrs_by_namespace (line 176) | def _collect_attrs_by_namespace(prim: Usd.Prim, namespaces: Sequence[str... class SchemaResolverManager (line 186) | class SchemaResolverManager: method __init__ (line 191) | def __init__(self, resolvers: Sequence[SchemaResolver]): method _collect_on_first_use (line 205) | def _collect_on_first_use(self, resolver: SchemaResolver, prim: Usd.Pr... method get_value (line 214) | def get_value( method collect_prim_attrs (line 268) | def collect_prim_attrs(self, prim: Usd.Prim) -> None: method schema_attrs (line 286) | def schema_attrs(self) -> dict[str, dict[str, dict[str, Any]]]: FILE: newton/_src/usd/schemas.py function _physx_gap_from_prim (line 25) | def _physx_gap_from_prim(prim: Usd.Prim) -> float | None: class SchemaResolverNewton (line 41) | class SchemaResolverNewton(SchemaResolver): class SchemaResolverPhysx (line 102) | class SchemaResolverPhysx(SchemaResolver): function solref_to_stiffness_damping (line 197) | def solref_to_stiffness_damping(solref: Sequence[float] | None) -> tuple... function solref_to_stiffness (line 233) | def solref_to_stiffness(solref: Sequence[float] | None) -> float | None: function solref_to_damping (line 243) | def solref_to_damping(solref: Sequence[float] | None) -> float | None: function _mjc_margin_from_prim (line 253) | def _mjc_margin_from_prim(prim: Usd.Prim) -> float | None: class SchemaResolverMjc (line 279) | class SchemaResolverMjc(SchemaResolver): method validate_custom_attributes (line 364) | def validate_custom_attributes(self, builder: ModelBuilder) -> None: FILE: newton/_src/usd/utils.py function get_attribute (line 36) | def get_attribute(prim: Usd.Prim, name: str, default: None = None) -> An... function get_attribute (line 40) | def get_attribute(prim: Usd.Prim, name: str, default: Any) -> Any: ... function get_attribute (line 43) | def get_attribute(prim: Usd.Prim, name: str, default: Any | None = None)... function get_attributes_in_namespace (line 61) | def get_attributes_in_namespace(prim: Usd.Prim, namespace: str) -> dict[... function has_attribute (line 83) | def has_attribute(prim: Usd.Prim, name: str) -> bool: function has_applied_api_schema (line 98) | def has_applied_api_schema(prim: Usd.Prim, schema_name: str) -> bool: function get_float (line 132) | def get_float(prim: Usd.Prim, name: str, default: float) -> float: ... function get_float (line 136) | def get_float(prim: Usd.Prim, name: str, default: None = None) -> float ... function get_float (line 139) | def get_float(prim: Usd.Prim, name: str, default: float | None = None) -... function get_float_with_fallback (line 160) | def get_float_with_fallback(prims: Iterable[Usd.Prim], name: str, defaul... function get_quat (line 188) | def get_quat(prim: Usd.Prim, name: str, default: wp.quat) -> wp.quat: ... function get_quat (line 192) | def get_quat(prim: Usd.Prim, name: str, default: None = None) -> wp.quat... function get_quat (line 195) | def get_quat(prim: Usd.Prim, name: str, default: wp.quat | None = None) ... function get_vector (line 220) | def get_vector(prim: Usd.Prim, name: str, default: np.ndarray) -> np.nda... function get_vector (line 224) | def get_vector(prim: Usd.Prim, name: str, default: None = None) -> np.nd... function get_vector (line 227) | def get_vector(prim: Usd.Prim, name: str, default: np.ndarray | None = N... function _get_xform_matrix (line 249) | def _get_xform_matrix( function get_scale (line 280) | def get_scale(prim: Usd.Prim, local: bool = True, xform_cache: UsdGeom.X... function get_gprim_axis (line 297) | def get_gprim_axis(prim: Usd.Prim, name: str = "axis", default: AxisType... function get_transform_matrix (line 313) | def get_transform_matrix(prim: Usd.Prim, local: bool = True, xform_cache... function get_transform (line 330) | def get_transform(prim: Usd.Prim, local: bool = True, xform_cache: UsdGe... function value_to_warp (line 347) | def value_to_warp(v: Any, warp_dtype: Any | None = None) -> Any: function type_to_warp (line 380) | def type_to_warp(v: Any) -> Any: function get_custom_attribute_declarations (line 414) | def get_custom_attribute_declarations(prim: Usd.Prim) -> dict[str, Model... function get_custom_attribute_values (line 526) | def get_custom_attribute_values( function _newell_normal (line 580) | def _newell_normal(P: np.ndarray) -> np.ndarray: function _orthonormal_basis_from_normal (line 593) | def _orthonormal_basis_from_normal(n: np.ndarray): function corner_angles (line 611) | def corner_angles(face_pos: np.ndarray) -> np.ndarray: function fan_triangulate_faces (line 682) | def fan_triangulate_faces(counts: np.ndarray, indices: np.ndarray) -> np... function _expand_indexed_primvar (line 722) | def _expand_indexed_primvar( function _triangulate_face_varying_indices (line 765) | def _triangulate_face_varying_indices(counts: Sequence[int], flip_windin... function get_mesh (line 786) | def get_mesh( function get_mesh (line 801) | def get_mesh( function get_mesh (line 815) | def get_mesh( function get_tetmesh (line 1150) | def get_tetmesh(prim: Usd.Prim) -> TetMesh: function _find_physics_material_prim (line 1288) | def _find_physics_material_prim(prim: Usd.Prim): function _read_physics_attr (line 1303) | def _read_physics_attr(prim: Usd.Prim, name: str): function find_tetmesh_prims (line 1312) | def find_tetmesh_prims(stage: Usd.Stage) -> list[Usd.Prim]: function _resolve_asset_path (line 1335) | def _resolve_asset_path( function _find_texture_in_shader (line 1421) | def _find_texture_in_shader(shader: UsdShade.Shader | None, prim: Usd.Pr... function _get_input_value (line 1455) | def _get_input_value(shader: UsdShade.Shader | None, names: tuple[str, .... function _empty_material_properties (line 1480) | def _empty_material_properties() -> dict[str, Any]: function _coerce_color (line 1485) | def _coerce_color(value: Any) -> tuple[float, float, float] | None: function _coerce_float (line 1495) | def _coerce_float(value: Any) -> float | None: function _extract_preview_surface_properties (line 1505) | def _extract_preview_surface_properties(shader: UsdShade.Shader | None, ... function _extract_shader_properties (line 1588) | def _extract_shader_properties(shader: UsdShade.Shader | None, prim: Usd... function _extract_material_input_properties (line 1649) | def _extract_material_input_properties(material: UsdShade.Material | Non... function _get_bound_material (line 1707) | def _get_bound_material(target_prim: Usd.Prim) -> UsdShade.Material | None: function _resolve_prim_material_properties (line 1736) | def _resolve_prim_material_properties(target_prim: Usd.Prim) -> dict[str... function resolve_material_properties_for_prim (line 1785) | def resolve_material_properties_for_prim(prim: Usd.Prim) -> dict[str, Any]: function get_gaussian (line 1841) | def get_gaussian(prim: Usd.Prim, min_response: float = 0.1) -> Gaussian: FILE: newton/_src/utils/__init__.py function check_conditional_graph_support (line 15) | def check_conditional_graph_support(): function compute_world_offsets (line 25) | def compute_world_offsets(world_count: int, spacing: tuple[float, float,... FILE: newton/_src/utils/benchmark.py class EventTracer (line 11) | class EventTracer: method __new__ (line 38) | def __new__(cls, enabled): method __init__ (line 43) | def __init__(self, enabled: bool = True): method __enter__ (line 52) | def __enter__(self): method trace (line 55) | def trace(self) -> dict: method add_trace (line 75) | def add_trace(self, stack, new_stack): method __exit__ (line 85) | def __exit__(self, type, value, traceback): function _merge (line 91) | def _merge(a: dict, b: dict) -> dict: function event_scope (line 119) | def event_scope(fn, name: str = ""): function run_benchmark (line 159) | def run_benchmark(benchmark_cls, number=1, print_results=True): FILE: newton/_src/utils/cable.py function create_cable_stiffness_from_elastic_moduli (line 14) | def create_cable_stiffness_from_elastic_moduli( function create_straight_cable_points (line 60) | def create_straight_cable_points( function create_parallel_transport_cable_quaternions (line 96) | def create_parallel_transport_cable_quaternions( function create_straight_cable_points_and_quaternions (line 150) | def create_straight_cable_points_and_quaternions( FILE: newton/_src/utils/download_assets.py function _get_newton_cache_dir (line 31) | def _get_newton_cache_dir() -> str: function _handle_remove_readonly (line 38) | def _handle_remove_readonly(func, path, exc): function _safe_rmtree (line 46) | def _safe_rmtree(path): function _safe_rename (line 52) | def _safe_rename(src, dst, attempts=5, delay=0.1): function _temp_cache_path (line 74) | def _temp_cache_path(final_dir: Path) -> Path: function _cleanup_stale_temp_dirs (line 82) | def _cleanup_stale_temp_dirs(cache_path: Path, base_prefix: str, max_age... function _find_cached_version (line 111) | def _find_cached_version(cache_path: Path, base_prefix: str) -> Path | N... function _get_latest_commit_via_git (line 141) | def _get_latest_commit_via_git(git_url: str, ref: str) -> str | None: function _find_parent_cache (line 171) | def _find_parent_cache( function _cleanup_old_versions (line 218) | def _cleanup_old_versions(cache_path: Path, base_prefix: str, current_di... function download_git_folder (line 242) | def download_git_folder( function clear_git_cache (line 433) | def clear_git_cache(cache_dir: str | None = None) -> None: function download_asset (line 454) | def download_asset( FILE: newton/_src/utils/heightfield.py function load_heightfield_elevation (line 14) | def load_heightfield_elevation( class HeightfieldData (line 65) | class HeightfieldData: function create_empty_heightfield_data (line 81) | def create_empty_heightfield_data() -> HeightfieldData: function _heightfield_surface_query (line 95) | def _heightfield_surface_query( function sample_sdf_heightfield (line 154) | def sample_sdf_heightfield( function sample_sdf_grad_heightfield (line 178) | def sample_sdf_grad_heightfield( function get_triangle_shape_from_heightfield (line 204) | def get_triangle_shape_from_heightfield( function heightfield_vs_convex_midphase (line 288) | def heightfield_vs_convex_midphase( FILE: newton/_src/utils/import_mjcf.py function _default_path_resolver (line 36) | def _default_path_resolver(base_dir: str | None, file_path: str) -> str: function _load_and_expand_mjcf (line 57) | def _load_and_expand_mjcf( function parse_mjcf (line 146) | def parse_mjcf( FILE: newton/_src/utils/import_urdf.py function _download_file (line 36) | def _download_file(dst, url: str) -> None: function download_asset_tmpfile (line 45) | def download_asset_tmpfile(url: str): function parse_urdf (line 56) | def parse_urdf( FILE: newton/_src/utils/import_usd.py function _external_stacklevel (line 44) | def _external_stacklevel() -> int: function parse_usd (line 60) | def parse_usd( function resolve_usd_from_url (line 2873) | def resolve_usd_from_url(url: str, target_folder_name: str | None = None... function _raise_on_stage_errors (line 2982) | def _raise_on_stage_errors(usd_stage, stage_source: str): FILE: newton/_src/utils/import_utils.py function string_to_warp (line 14) | def string_to_warp(value: str, warp_dtype: Any, default: Any = None) -> ... function parse_custom_attributes (line 96) | def parse_custom_attributes( function sanitize_xml_content (line 150) | def sanitize_xml_content(source: str) -> str: function sanitize_name (line 167) | def sanitize_name(name: str) -> str: function should_show_collider (line 181) | def should_show_collider( function is_xml_content (line 208) | def is_xml_content(source: str) -> bool: FILE: newton/_src/utils/mesh.py function accumulate_vertex_normals (line 18) | def accumulate_vertex_normals( function normalize_vertex_normals (line 39) | def normalize_vertex_normals(normals: wp.array[wp.vec3]): function compute_vertex_normals (line 46) | def compute_vertex_normals( function compute_vertex_normals (line 57) | def compute_vertex_normals( function compute_vertex_normals (line 67) | def compute_vertex_normals( function smooth_vertex_normals_by_position (line 161) | def smooth_vertex_normals_by_position( class MeshAdjacency (line 182) | class MeshAdjacency: class Edge (line 195) | class Edge: method __init__ (line 220) | def __init__(self, indices: Sequence[Sequence[int]] | np.ndarray): method add_edge (line 235) | def add_edge(self, i0: int, i1: int, o: int, f: int): function create_mesh_sphere (line 268) | def create_mesh_sphere( function create_mesh_ellipsoid (line 321) | def create_mesh_ellipsoid( function _normalize_color (line 387) | def _normalize_color(color) -> tuple[float, float, float] | None: function _extract_trimesh_texture (line 398) | def _extract_trimesh_texture(visual_or_material, base_dir: str) -> np.nd... function _extract_trimesh_material_params (line 427) | def _extract_trimesh_material_params( function load_meshes_from_file (line 472) | def load_meshes_from_file( function create_mesh_capsule (line 819) | def create_mesh_capsule( function create_mesh_cone (line 886) | def create_mesh_cone( function create_mesh_cylinder (line 907) | def create_mesh_cylinder( function create_mesh_arrow (line 1088) | def create_mesh_arrow( function create_mesh_box (line 1143) | def create_mesh_box( function create_mesh_plane (line 1244) | def create_mesh_plane( function solidify_mesh_kernel (line 1274) | def solidify_mesh_kernel( function solidify_mesh (line 1361) | def solidify_mesh( FILE: newton/_src/utils/render.py function bourke_color_map (line 9) | def bourke_color_map(low: float, high: float, v: float) -> list[float]: function copy_rgb_frame_uint8 (line 52) | def copy_rgb_frame_uint8( FILE: newton/_src/utils/selection.py function set_model_articulation_mask_kernel (line 21) | def set_model_articulation_mask_kernel( function set_model_articulation_mask_per_world_kernel (line 35) | def set_model_articulation_mask_per_world_kernel( function set_articulation_attribute_3d_kernel (line 71) | def set_articulation_attribute_3d_kernel( function set_articulation_attribute_4d_kernel (line 82) | def set_articulation_attribute_4d_kernel( function set_articulation_attribute_3d_per_world_kernel (line 115) | def set_articulation_attribute_3d_per_world_kernel( function set_articulation_attribute_4d_per_world_kernel (line 126) | def set_articulation_attribute_4d_per_world_kernel( function _gather_indexed_3d_kernel (line 171) | def _gather_indexed_3d_kernel( function _gather_indexed_4d_kernel (line 181) | def _gather_indexed_4d_kernel( function build_actuator_dof_mapping_slice_kernel (line 206) | def build_actuator_dof_mapping_slice_kernel( function build_actuator_dof_mapping_indices_kernel (line 244) | def build_actuator_dof_mapping_indices_kernel( function gather_actuator_by_indices_kernel (line 281) | def gather_actuator_by_indices_kernel( function scatter_actuator_with_mask_kernel (line 294) | def scatter_actuator_with_mask_kernel( class Slice (line 317) | class Slice: method __init__ (line 318) | def __init__(self, start=None, stop=None): method __hash__ (line 322) | def __hash__(self): method __eq__ (line 325) | def __eq__(self, other): method __str__ (line 328) | def __str__(self): method get (line 331) | def get(self): class FrequencyLayout (line 335) | class FrequencyLayout: method __init__ (line 336) | def __init__( method is_contiguous (line 359) | def is_contiguous(self): method selected_value_count (line 363) | def selected_value_count(self): method __str__ (line 369) | def __str__(self): function get_name_from_label (line 374) | def get_name_from_label(label: str): function find_matching_ids (line 386) | def find_matching_ids(pattern: str, labels: list[str], world_ids, world_... function match_labels (line 401) | def match_labels(labels: list[str], pattern: str | list[str] | list[int]... function all_equal (line 445) | def all_equal(values): function list_of_lists (line 449) | def list_of_lists(n): function get_world_offset (line 453) | def get_world_offset(world_ids): function is_contiguous_slice (line 460) | def is_contiguous_slice(indices): class ArticulationView (line 469) | class ArticulationView: method __init__ (line 506) | def __init__( method body_names (line 1110) | def body_names(self): method body_shapes (line 1115) | def body_shapes(self): method _get_attribute_array (line 1123) | def _get_attribute_array(self, name: str, source: Model | State | Cont... method _get_attribute_values (line 1250) | def _get_attribute_values(self, name: str, source: Model | State | Con... method _set_attribute_values (line 1271) | def _set_attribute_values( method get_attribute (line 1332) | def get_attribute(self, name: str, source: Model | State | Control): method set_attribute (line 1345) | def set_attribute(self, name: str, target: Model | State | Control, va... method get_root_transforms (line 1365) | def get_root_transforms(self, source: Model | State): method set_root_transforms (line 1385) | def set_root_transforms(self, target: Model | State, values: wp.array,... method get_root_velocities (line 1400) | def get_root_velocities(self, source: Model | State): method set_root_velocities (line 1421) | def set_root_velocities(self, target: Model | State, values: wp.array,... method get_link_transforms (line 1435) | def get_link_transforms(self, source: "Model | State"): method get_link_velocities (line 1447) | def get_link_velocities(self, source: "Model | State"): method get_dof_positions (line 1459) | def get_dof_positions(self, source: "Model | State"): method set_dof_positions (line 1471) | def set_dof_positions(self, target: "Model | State", values, mask=None): method get_dof_velocities (line 1482) | def get_dof_velocities(self, source: "Model | State"): method set_dof_velocities (line 1494) | def set_dof_velocities(self, target: "Model | State", values, mask=None): method get_dof_forces (line 1505) | def get_dof_forces(self, source: "Control"): method set_dof_forces (line 1517) | def set_dof_forces(self, target: "Control", values, mask=None): method _resolve_mask (line 1531) | def _resolve_mask(self, mask): method get_model_articulation_mask (line 1555) | def get_model_articulation_mask(self, mask=None): method eval_fk (line 1583) | def eval_fk(self, target: Model | State, mask=None): method eval_jacobian (line 1595) | def eval_jacobian(self, state: State, J=None, joint_S_s=None, mask=None): method eval_mass_matrix (line 1614) | def eval_mass_matrix(self, state: State, H=None, J=None, body_I_s=None... method _get_actuator_dof_mapping (line 1641) | def _get_actuator_dof_mapping(self, actuator: "Actuator") -> wp.array: method _get_actuator_attribute_array (line 1706) | def _get_actuator_attribute_array(self, actuator: "Actuator", name: st... method get_actuator_parameter (line 1727) | def get_actuator_parameter(self, actuator: "Actuator", name: str) -> w... method set_actuator_parameter (line 1740) | def set_actuator_parameter( FILE: newton/_src/utils/texture.py function _is_http_url (line 17) | def _is_http_url(path: str) -> bool: function _resolve_file_url (line 22) | def _resolve_file_url(path: str) -> str: function _download_texture_from_file_bytes (line 29) | def _download_texture_from_file_bytes(url: str) -> bytes | None: function load_texture_from_file (line 42) | def load_texture_from_file(texture_path: str | None) -> np.ndarray | None: function load_texture (line 73) | def load_texture(texture: str | os.PathLike[str] | np.ndarray | None) ->... function normalize_texture (line 97) | def normalize_texture( function compute_texture_hash (line 139) | def compute_texture_hash(texture: str | os.PathLike[str] | np.ndarray | ... FILE: newton/_src/utils/topology.py function _joint_key (line 14) | def _joint_key(item: tuple[int, NodeT]) -> int: function topological_sort (line 18) | def topological_sort( function topological_sort_undirected (line 95) | def topological_sort_undirected( FILE: newton/_src/viewer/camera.py class Camera (line 7) | class Camera: method __init__ (line 10) | def __init__(self, fov=45.0, near=0.01, far=1000.0, width=1280, height... method get_front (line 53) | def get_front(self): method get_right (line 84) | def get_right(self): method get_up (line 90) | def get_up(self): method get_view_matrix (line 107) | def get_view_matrix(self, scaling=1.0): method get_projection_matrix (line 126) | def get_projection_matrix(self): method get_world_ray (line 141) | def get_world_ray(self, x: float, y: float): method update_screen_size (line 171) | def update_screen_size(self, width, height): FILE: newton/_src/viewer/gl/gui.py class UI (line 9) | class UI: method __init__ (line 10) | def __init__(self, window): method _setup_grey_style (line 70) | def _setup_grey_style(self): method _setup_dark_style (line 164) | def _setup_dark_style(self): method begin_frame (line 260) | def begin_frame(self): method end_frame (line 274) | def end_frame(self): method render (line 282) | def render(self): method is_capturing_mouse (line 288) | def is_capturing_mouse(self): method is_capturing_keyboard (line 294) | def is_capturing_keyboard(self): method is_capturing (line 300) | def is_capturing(self): method resize (line 306) | def resize(self, width, height): method get_theme_color (line 322) | def get_theme_color(self, color_id, fallback_color=(1.0, 1.0, 1.0, 1.0)): method consume_file_dialog_result (line 342) | def consume_file_dialog_result(self) -> str | None: method _poll_file_dialog (line 356) | def _poll_file_dialog(self): method open_save_file_dialog (line 375) | def open_save_file_dialog(self, title: str = "Save File") -> None: method open_load_file_dialog (line 390) | def open_load_file_dialog(self, title: str = "Open File") -> None: method shutdown (line 405) | def shutdown(self): FILE: newton/_src/viewer/gl/icon.py function create_and_save_emoji_png (line 9) | def create_and_save_emoji_png(character: str, size: int, filename: str): FILE: newton/_src/viewer/gl/opengl.py function check_gl_error (line 31) | def check_gl_error(): function _upload_texture_from_file (line 55) | def _upload_texture_from_file(gl, texture_image: np.ndarray) -> int: class RenderVertex (line 106) | class RenderVertex: class LineVertex (line 113) | class LineVertex: function fill_vertex_data (line 119) | def fill_vertex_data( function fill_line_vertex_data (line 137) | def fill_line_vertex_data( class MeshGL (line 157) | class MeshGL: method __init__ (line 160) | def __init__(self, num_points, num_indices, device, hidden=False, back... method destroy (line 243) | def destroy(self): method update (line 259) | def update(self, points, indices, normals, uvs, texture=None): method recompute_normals (line 312) | def recompute_normals(self): method update_texture (line 322) | def update_texture(self, texture=None): method render (line 351) | def render(self): class LinesGL (line 371) | class LinesGL: method __init__ (line 374) | def __init__(self, max_lines, device, hidden=False): method destroy (line 424) | def destroy(self): method update (line 436) | def update(self, starts, ends, colors): method render (line 483) | def render(self): class WireframeShapeGL (line 496) | class WireframeShapeGL: method __init__ (line 507) | def __init__(self, vertex_data: np.ndarray): method create_shared (line 536) | def create_shared(cls, owner: "WireframeShapeGL") -> "WireframeShapeGL": method destroy (line 547) | def destroy(self): method render (line 560) | def render(self): function update_vbo_transforms (line 570) | def update_vbo_transforms( function update_vbo_transforms_from_points (line 615) | def update_vbo_transforms_from_points( class MeshInstancerGL (line 655) | class MeshInstancerGL: method __init__ (line 662) | def __init__(self, num_instances, mesh): method __del__ (line 675) | def __del__(self): method allocate (line 695) | def allocate(self, num_instances): method update_from_transforms (line 801) | def update_from_transforms( method update_from_points (line 840) | def update_from_points(self, points, widths, colors): method _update_vbo (line 869) | def _update_vbo(self, xforms, colors, materials): method update_from_pinned (line 892) | def update_from_pinned(self, host_transforms_np, count, colors=None, m... method render (line 918) | def render(self): class RendererGL (line 942) | class RendererGL: method initialize_gl (line 947) | def initialize_gl(cls): method get_fallback_texture (line 954) | def get_fallback_texture(cls): method __init__ (line 969) | def __init__(self, title="Newton", screen_width=1920, screen_height=10... method shadow_radius (line 1148) | def shadow_radius(self) -> float: method shadow_radius (line 1152) | def shadow_radius(self, value: float): method diffuse_scale (line 1156) | def diffuse_scale(self) -> float: method diffuse_scale (line 1160) | def diffuse_scale(self, value: float): method specular_scale (line 1164) | def specular_scale(self) -> float: method specular_scale (line 1168) | def specular_scale(self, value: float): method shadow_extents (line 1172) | def shadow_extents(self) -> float: method shadow_extents (line 1176) | def shadow_extents(self, value: float): method exposure (line 1180) | def exposure(self) -> float: method exposure (line 1184) | def exposure(self, value: float): method update (line 1187) | def update(self): method render (line 1204) | def render(self, camera, objects, lines=None, wireframe_shapes=None): method present (line 1321) | def present(self): method resize (line 1327) | def resize(self, width, height): method set_title (line 1331) | def set_title(self, title): method set_vsync (line 1334) | def set_vsync(self, enabled: bool): method get_vsync (line 1342) | def get_vsync(self) -> bool: method has_exit (line 1350) | def has_exit(self): method close (line 1353) | def close(self): method _setup_window_callbacks (line 1363) | def _setup_window_callbacks(self): method register_key_press (line 1383) | def register_key_press(self, callback): method register_key_release (line 1391) | def register_key_release(self, callback): method register_mouse_press (line 1399) | def register_mouse_press(self, callback): method register_mouse_release (line 1407) | def register_mouse_release(self, callback): method register_mouse_drag (line 1415) | def register_mouse_drag(self, callback): method register_mouse_motion (line 1423) | def register_mouse_motion(self, callback): method register_mouse_scroll (line 1431) | def register_mouse_scroll(self, callback): method register_resize (line 1439) | def register_resize(self, callback): method register_update (line 1447) | def register_update(self, callback): method _on_key_press (line 1451) | def _on_key_press(self, symbol, modifiers): method _on_key_release (line 1456) | def _on_key_release(self, symbol, modifiers): method _on_mouse_press (line 1461) | def _on_mouse_press(self, x, y, button, modifiers): method _on_mouse_release (line 1466) | def _on_mouse_release(self, x, y, button, modifiers): method _on_mouse_drag (line 1471) | def _on_mouse_drag(self, x, y, dx, dy, buttons, modifiers): method _on_mouse_motion (line 1476) | def _on_mouse_motion(self, x, y, dx, dy): method _on_scroll (line 1481) | def _on_scroll(self, x, y, scroll_x, scroll_y): method _on_window_resize (line 1485) | def _on_window_resize(self, width, height): method _on_close (line 1491) | def _on_close(self): method _on_draw (line 1494) | def _on_draw(self): method is_key_down (line 1498) | def is_key_down(self, symbol: int) -> bool: method _setup_sky_mesh (line 1504) | def _setup_sky_mesh(self): method _setup_frame_buffer (line 1553) | def _setup_frame_buffer(self): method _setup_frame_mesh (line 1687) | def _setup_frame_mesh(self): method _setup_shadow_buffer (line 1735) | def _setup_shadow_buffer(self): method _render_shadow_map (line 1773) | def _render_shadow_map(self, objects): method _render_scene (line 1801) | def _render_scene(self, objects): method _render_lines (line 1840) | def _render_lines(self, lines): method _render_wireframe_shapes (line 1852) | def _render_wireframe_shapes(self, wireframe_shapes): method _draw_objects (line 1875) | def _draw_objects(self, objects): method _draw_sky (line 1882) | def _draw_sky(self): method set_environment_map (line 1904) | def set_environment_map(self, path: str, intensity: float = 1.0) -> None: method _make_current (line 1921) | def _make_current(self): method _set_icon (line 1929) | def _set_icon(self): FILE: newton/_src/viewer/gl/shaders.py function str_buffer (line 491) | def str_buffer(string: str): function arr_pointer (line 496) | def arr_pointer(arr: np.ndarray): class ShaderGL (line 501) | class ShaderGL: method __init__ (line 504) | def __init__(self): method _get_uniform_location (line 508) | def _get_uniform_location(self, name: str): method use (line 514) | def use(self): method __enter__ (line 520) | def __enter__(self): method __exit__ (line 525) | def __exit__(self, exc_type, exc_val, exc_tb): class ShaderShape (line 530) | class ShaderShape(ShaderGL): method __init__ (line 533) | def __init__(self, gl): method update (line 565) | def update( class ShaderSky (line 631) | class ShaderSky(ShaderGL): method __init__ (line 634) | def __init__(self, gl): method update (line 654) | def update( class ShadowShader (line 680) | class ShadowShader(ShaderGL): method __init__ (line 683) | def __init__(self, gl): method update (line 696) | def update(self, light_space_matrix: np.ndarray): class FrameShader (line 704) | class FrameShader(ShaderGL): method __init__ (line 707) | def __init__(self, gl): method update (line 720) | def update(self, texture_unit: int = 0): class ShaderLine (line 726) | class ShaderLine(ShaderGL): method __init__ (line 729) | def __init__(self, gl): method update (line 743) | def update(self, view_matrix: np.ndarray, projection_matrix: np.ndarray): class ShaderLineWireframe (line 832) | class ShaderLineWireframe(ShaderGL): method __init__ (line 835) | def __init__(self, gl): method update_frame (line 854) | def update_frame( method set_world (line 869) | def set_world(self, world: np.ndarray): FILE: newton/_src/viewer/kernels.py class PickingState (line 18) | class PickingState: function compute_pick_state_kernel (line 27) | def compute_pick_state_kernel( function apply_picking_force_kernel (line 65) | def apply_picking_force_kernel( function update_pick_target_kernel (line 117) | def update_pick_target_kernel( function update_shape_xforms (line 144) | def update_shape_xforms( function repack_shape_colors (line 172) | def repack_shape_colors( function estimate_world_extents (line 183) | def estimate_world_extents( function compute_contact_lines (line 241) | def compute_contact_lines( function compute_joint_basis_lines (line 297) | def compute_joint_basis_lines( function compute_com_positions (line 385) | def compute_com_positions( function compute_inertia_box_lines (line 402) | def compute_inertia_box_lines( function depth_to_color (line 618) | def depth_to_color(depth: float, min_depth: float, max_depth: float) -> ... function compute_hydro_contact_surface_lines (line 638) | def compute_hydro_contact_surface_lines( function build_active_particle_mask (line 719) | def build_active_particle_mask( function compact (line 731) | def compact( FILE: newton/_src/viewer/picking.py class Picking (line 13) | class Picking: method __init__ (line 22) | def __init__( method _apply_picking_force (line 67) | def _apply_picking_force(self, state: newton.State) -> None: method is_picking (line 94) | def is_picking(self) -> bool: method release (line 102) | def release(self) -> None: method update (line 107) | def update(self, ray_start: wp.vec3f, ray_dir: wp.vec3f) -> None: method pick (line 144) | def pick(self, state: newton.State, ray_start: wp.vec3f, ray_dir: wp.v... FILE: newton/_src/viewer/viewer.py class ViewerBase (line 30) | class ViewerBase(ABC): class SDFMarginMode (line 31) | class SDFMarginMode(enum.IntEnum): method __init__ (line 43) | def __init__(self): method is_running (line 52) | def is_running(self) -> bool: method is_paused (line 60) | def is_paused(self) -> bool: method is_key_down (line 68) | def is_key_down(self, key: str | int) -> bool: method clear_model (line 79) | def clear_model(self) -> None: method set_model (line 172) | def set_model(self, model: newton.Model | None, max_worlds: int | None... method _should_render_world (line 196) | def _should_render_world(self, world_idx: int) -> bool: method _get_render_world_count (line 204) | def _get_render_world_count(self) -> int: method _get_shape_isomesh (line 212) | def _get_shape_isomesh(self, shape_idx: int) -> newton.Mesh | None: method set_camera (line 253) | def set_camera(self, pos: wp.vec3, pitch: float, yaw: float): method set_world_offsets (line 263) | def set_world_offsets(self, spacing: tuple[float, float, float] | list... method _get_world_extents (line 291) | def _get_world_extents(self) -> tuple[float, float, float] | None: method _auto_compute_world_offsets (line 341) | def _auto_compute_world_offsets(self): method begin_frame (line 357) | def begin_frame(self, time: float): method end_frame (line 366) | def end_frame(self): method log_state (line 372) | def log_state(self, state: newton.State): method _sync_shape_colors_from_model (line 424) | def _sync_shape_colors_from_model(self): method _log_gaussian_shapes (line 450) | def _log_gaussian_shapes(self, state: newton.State): method _log_non_shape_state (line 482) | def _log_non_shape_state(self, state: newton.State): method log_contacts (line 514) | def log_contacts(self, contacts: newton.Contacts, state: newton.State): method log_hydro_contact_surface (line 579) | def log_hydro_contact_surface( method log_shapes (line 650) | def log_shapes( method log_geo (line 741) | def log_geo( method log_gizmo (line 887) | def log_gizmo( method log_mesh (line 913) | def log_mesh( method log_instances (line 940) | def log_instances( method log_capsules (line 964) | def log_capsules( method log_lines (line 992) | def log_lines( method log_wireframe_shape (line 1014) | def log_wireframe_shape( # noqa: B027 method clear_wireframe_vbo_cache (line 1034) | def clear_wireframe_vbo_cache(self): # noqa: B027 method log_points (line 1039) | def log_points( method log_gaussian (line 1059) | def log_gaussian( method log_array (line 1085) | def log_array(self, name: str, array: wp.array[Any] | np.ndarray): method log_scalar (line 1096) | def log_scalar(self, name: str, value: int | float | bool | np.number): method apply_forces (line 1107) | def apply_forces(self, state: newton.State): method close (line 1117) | def close(self): class ShapeInstances (line 1124) | class ShapeInstances: method __init__ (line 1129) | def __init__(self, name: str, static: bool, flags: int, mesh: str, d... method add (line 1160) | def add( method finalize (line 1190) | def finalize(self, shape_colors: wp.array[wp.vec3] | None = None): method update (line 1210) | def update(self, state: newton.State, world_offsets: wp.array[wp.vec... method _hash_geometry (line 1235) | def _hash_geometry(self, geo_type: int, geo_scale, thickness: float, i... method _hash_shape (line 1238) | def _hash_shape(self, geo_hash, shape_static, shape_flags) -> int: method _should_show_shape (line 1241) | def _should_show_shape(self, flags: int, is_static: bool) -> bool: method _populate_geometry (line 1262) | def _populate_geometry( method _populate_shapes (line 1325) | def _populate_shapes(self): method _populate_sdf_isomesh_instances (line 1510) | def _populate_sdf_isomesh_instances(self): method update_shape_colors (line 1612) | def update_shape_colors(self, shape_colors: dict[int, wp.vec3 | tuple[... method _log_inertia_boxes (line 1643) | def _log_inertia_boxes(self, state: newton.State): method _compute_shape_offset_mesh (line 1688) | def _compute_shape_offset_mesh( method _extract_wireframe_edges (line 1748) | def _extract_wireframe_edges(mesh: newton.Mesh, color: tuple[float, fl... method _populate_sdf_margin_edges (line 1780) | def _populate_sdf_margin_edges( method _transform_to_mat44 (line 1829) | def _transform_to_mat44(tf: np.ndarray) -> np.ndarray: method _log_sdf_margin_wireframes (line 1849) | def _log_sdf_margin_wireframes(self, state: newton.State): method _log_joints (line 1902) | def _log_joints(self, state: newton.State): method _log_com (line 1957) | def _log_com(self, state: newton.State): method _log_triangles (line 1984) | def _log_triangles(self, state: newton.State): method _log_particles (line 1994) | def _log_particles(self, state: newton.State): method _shape_color_map (line 2038) | def _shape_color_map(i: int) -> list[float]: method _collision_color_map (line 2043) | def _collision_color_map(i: int) -> list[float]: function is_jupyter_notebook (line 2062) | def is_jupyter_notebook(): function is_sphinx_build (line 2086) | def is_sphinx_build() -> bool: FILE: newton/_src/viewer/viewer_file.py class RingBuffer (line 33) | class RingBuffer(Generic[T]): method __init__ (line 41) | def __init__(self, capacity: int = 100): method append (line 53) | def append(self, item: T) -> None: method __len__ (line 64) | def __len__(self) -> int: method __getitem__ (line 68) | def __getitem__(self, index: int) -> T: method __setitem__ (line 85) | def __setitem__(self, index: int, value: T) -> None: method __iter__ (line 102) | def __iter__(self): method clear (line 107) | def clear(self) -> None: method to_list (line 113) | def to_list(self) -> list[T]: method from_list (line 117) | def from_list(self, items: list[T]) -> None: class ArrayCache (line 124) | class ArrayCache(Generic[T]): method __init__ (line 134) | def __init__(self): method try_register_pointer_and_value (line 139) | def try_register_pointer_and_value(self, key: int, value: T) -> int: method try_get_value (line 161) | def try_get_value(self, index: int) -> T: method try_register_pointer_and_value_and_index (line 174) | def try_register_pointer_and_value_and_index(self, key: int, value: T,... method get_index_for_key (line 203) | def get_index_for_key(self, key: int) -> int: method clear (line 210) | def clear(self) -> None: method __len__ (line 216) | def __len__(self) -> int: function _get_serialization_format (line 220) | def _get_serialization_format(file_path: str) -> str: function _ptr_key_from_numpy (line 244) | def _ptr_key_from_numpy(arr: np.ndarray) -> int: function _np_key (line 256) | def _np_key(arr: np.ndarray) -> int: function _warp_key (line 260) | def _warp_key(x) -> int: function _mesh_key_from_vertices (line 268) | def _mesh_key_from_vertices(vertices: np.ndarray, fallback_obj=None) -> ... function serialize_ndarray (line 276) | def serialize_ndarray(arr: np.ndarray, format_type: str = "json", cache:... function deserialize_ndarray (line 344) | def deserialize_ndarray(data: dict, format_type: str = "json", cache: Ar... function serialize (line 395) | def serialize(obj, callback, _visited=None, _path="", format_type="json"... function _is_struct_dtype (line 484) | def _is_struct_dtype(dtype) -> bool: function _serialize_warp_dtype (line 489) | def _serialize_warp_dtype(dtype) -> dict: function pointer_as_key (line 531) | def pointer_as_key(obj, format_type: str = "json", cache: ArrayCache | N... function transfer_to_model (line 603) | def transfer_to_model(source_dict, target_obj, post_load_init_callback=N... function deserialize (line 679) | def deserialize(data, callback, _path="", format_type="json", cache: Arr... function extract_type_path (line 748) | def extract_type_path(class_str: str) -> str: function extract_last_type_name (line 759) | def extract_last_type_name(class_str: str) -> str: function _resolve_warp_dtype (line 809) | def _resolve_warp_dtype(dtype_str: str, serialized_data: dict | None = N... function depointer_as_key (line 899) | def depointer_as_key(data: dict, format_type: str = "json", cache: Array... class ViewerFile (line 1021) | class ViewerFile(ViewerBase): method __init__ (line 1034) | def __init__( method set_model (line 1071) | def set_model(self, model: Model | None, max_worlds: int | None = None): method log_state (line 1085) | def log_state(self, state: State): method save_recording (line 1101) | def save_recording(self, file_path: str | None = None, verbose: bool =... method _save_recording (line 1112) | def _save_recording(self, file_path: str | None = None, verbose: bool ... method record (line 1123) | def record(self, state: State): method playback (line 1135) | def playback(self, state: State, frame_id: int): method record_model (line 1151) | def record_model(self, model: Model): method playback_model (line 1159) | def playback_model(self, model: Model): method _save_to_file (line 1175) | def _save_to_file(self, file_path: str): method _load_from_file (line 1199) | def _load_from_file(self, file_path: str): method log_mesh (line 1235) | def log_mesh( method log_instances (line 1261) | def log_instances( method log_lines (line 1285) | def log_lines( method log_points (line 1307) | def log_points( method log_array (line 1327) | def log_array(self, name: str, array: wp.array[Any] | np.ndarray): method log_scalar (line 1337) | def log_scalar(self, name: str, value: int | float | bool | np.number): method end_frame (line 1347) | def end_frame(self): method apply_forces (line 1352) | def apply_forces(self, state: State): method close (line 1361) | def close(self): method load_recording (line 1367) | def load_recording(self, file_path: str | None = None, verbose: bool =... method get_frame_count (line 1384) | def get_frame_count(self) -> int: method has_model (line 1392) | def has_model(self) -> bool: method load_model (line 1400) | def load_model(self, model: Model): method load_state (line 1411) | def load_state(self, state: State, frame_id: int): FILE: newton/_src/viewer/viewer_gl.py function _parse_version_tuple (line 29) | def _parse_version_tuple(version: str) -> tuple[int, ...]: function _imgui_uses_imvec4_color_edit3 (line 34) | def _imgui_uses_imvec4_color_edit3() -> bool: function _capsule_duplicate_vec3 (line 47) | def _capsule_duplicate_vec3(in_values: wp.array[wp.vec3], out_values: wp... function _capsule_duplicate_vec4 (line 54) | def _capsule_duplicate_vec4(in_values: wp.array[wp.vec4], out_values: wp... function _capsule_build_body_scales (line 61) | def _capsule_build_body_scales( function _capsule_build_cap_xforms_and_scales (line 78) | def _capsule_build_cap_xforms_and_scales( function _compute_shape_vbo_xforms (line 103) | def _compute_shape_vbo_xforms( class ViewerGL (line 169) | class ViewerGL(ViewerBase): method __init__ (line 189) | def __init__( method _hash_geometry (line 282) | def _hash_geometry(self, geo_type: int, geo_scale, thickness: float, i... method _invalidate_pbo (line 290) | def _invalidate_pbo(self): method register_ui_callback (line 300) | def register_ui_callback( method _create_point_mesh (line 326) | def _create_point_mesh(self): method log_gizmo (line 341) | def log_gizmo( method clear_model (line 386) | def clear_model(self): method set_model (line 422) | def set_model(self, model: nt.Model | None, max_worlds: int | None = N... method _build_packed_vbo_arrays (line 487) | def _build_packed_vbo_arrays(self): method set_world_offsets (line 544) | def set_world_offsets(self, spacing: tuple[float, float, float] | list... method set_camera (line 556) | def set_camera(self, pos: wp.vec3, pitch: float, yaw: float): method log_mesh (line 570) | def log_mesh( method log_instances (line 609) | def log_instances( method log_capsules (line 660) | def log_capsules( method log_lines (line 752) | def log_lines( method log_wireframe_shape (line 810) | def log_wireframe_shape( method _destroy_all_wireframes (line 848) | def _destroy_all_wireframes(self): method clear_wireframe_vbo_cache (line 856) | def clear_wireframe_vbo_cache(self): method log_points (line 865) | def log_points( method _create_gaussian_mesh (line 917) | def _create_gaussian_mesh(self): method log_gaussian (line 928) | def log_gaussian( method log_array (line 1061) | def log_array(self, name: str, array: wp.array[Any] | np.ndarray): method log_scalar (line 1072) | def log_scalar(self, name: str, value: int | float | bool | np.number): method log_state (line 1083) | def log_state(self, state: nt.State): method _render_picking_line (line 1164) | def _render_picking_line(self, state): method begin_frame (line 1208) | def begin_frame(self, time: float): method end_frame (line 1219) | def end_frame(self): method apply_forces (line 1233) | def apply_forces(self, state: nt.State): method _update (line 1246) | def _update(self): method get_frame (line 1282) | def get_frame(self, target_image: wp.array | None = None, render_ui: b... method is_running (line 1368) | def is_running(self) -> bool: method is_paused (line 1378) | def is_paused(self) -> bool: method close (line 1388) | def close(self): method vsync (line 1395) | def vsync(self) -> bool: method vsync (line 1405) | def vsync(self, enabled: bool): method is_key_down (line 1415) | def is_key_down(self, key: str | int) -> bool: method on_mouse_scroll (line 1474) | def on_mouse_scroll(self, x: float, y: float, scroll_x: float, scroll_... method _to_framebuffer_coords (line 1491) | def _to_framebuffer_coords(self, x: float, y: float) -> tuple[float, f... method on_mouse_press (line 1501) | def on_mouse_press(self, x: float, y: float, button: int, modifiers: i... method on_mouse_release (line 1523) | def on_mouse_release(self, x: float, y: float, button: int, modifiers:... method on_mouse_drag (line 1536) | def on_mouse_drag( method on_mouse_motion (line 1578) | def on_mouse_motion(self, x: float, y: float, dx: float, dy: float): method _ui_is_capturing_mouse (line 1590) | def _ui_is_capturing_mouse(self) -> bool: method _ui_is_capturing_keyboard (line 1603) | def _ui_is_capturing_keyboard(self) -> bool: method on_key_press (line 1616) | def on_key_press(self, symbol: int, modifiers: int): method on_key_release (line 1644) | def on_key_release(self, symbol: int, modifiers: int): method _frame_camera_on_model (line 1654) | def _frame_camera_on_model(self): method _update_camera (line 1709) | def _update_camera(self, dt: float): method on_resize (line 1764) | def on_resize(self, width: int, height: int): method _update_fps (line 1779) | def _update_fps(self): method _render_gizmos (line 1799) | def _render_gizmos(self): method _render_ui (line 1910) | def _render_ui(self): method _render_left_panel (line 1930) | def _render_left_panel(self): method _render_stats_overlay (line 2119) | def _render_stats_overlay(self): method _render_selection_panel (line 2196) | def _render_selection_panel(self): method _create_articulation_view (line 2303) | def _create_articulation_view(self): method _render_attribute_values (line 2349) | def _render_attribute_values(self, view: ArticulationView, attribute_n... method _get_attribute_names (line 2434) | def _get_attribute_names(self, view: ArticulationView, attribute_name:... method _render_value_sliders (line 2460) | def _render_value_sliders(self, values: np.ndarray, names: list[str], ... FILE: newton/_src/viewer/viewer_null.py class ViewerNull (line 18) | class ViewerNull(ViewerBase): method __init__ (line 28) | def __init__( method log_mesh (line 60) | def log_mesh( method log_instances (line 87) | def log_instances( method begin_frame (line 112) | def begin_frame(self, time: float): method end_frame (line 122) | def end_frame(self): method is_running (line 138) | def is_running(self) -> bool: method benchmark_result (line 156) | def benchmark_result(self) -> dict[str, float | int] | None: method close (line 174) | def close(self): method log_lines (line 181) | def log_lines( method log_points (line 204) | def log_points( method log_array (line 225) | def log_array(self, name: str, array: wp.array[Any] | np.ndarray): method log_scalar (line 236) | def log_scalar(self, name: str, value: int | float | bool | np.number): method apply_forces (line 247) | def apply_forces(self, state: newton.State): FILE: newton/_src/viewer/viewer_rerun.py class ViewerRerun (line 28) | class ViewerRerun(ViewerBase): method _to_numpy (line 39) | def _to_numpy(x) -> np.ndarray | None: method _call_rr_constructor (line 48) | def _call_rr_constructor(ctor, **kwargs): method _prepare_texture (line 58) | def _prepare_texture(texture: np.ndarray | str | None) -> np.ndarray |... method _flip_uvs_for_rerun (line 68) | def _flip_uvs_for_rerun(uvs: np.ndarray) -> np.ndarray: method _build_texture_components (line 78) | def _build_texture_components(texture_image: np.ndarray): method _mesh3d_supports (line 107) | def _mesh3d_supports(self, field_name: str) -> bool: method __init__ (line 112) | def __init__( method _get_blueprint (line 196) | def _get_blueprint(self): method log_mesh (line 210) | def log_mesh( method log_instances (line 312) | def log_instances( method begin_frame (line 418) | def begin_frame(self, time: float): method end_frame (line 430) | def end_frame(self): method is_running (line 441) | def is_running(self) -> bool: method close (line 454) | def close(self): method apply_forces (line 480) | def apply_forces(self, state: newton.State): method log_lines (line 489) | def log_lines( method log_array (line 548) | def log_array(self, name: str, array: wp.array[Any] | np.ndarray): method log_scalar (line 562) | def log_scalar(self, name: str, value: int | float | bool | np.number): method log_geo (line 589) | def log_geo( method log_points (line 634) | def log_points( method show_notebook (line 697) | def show_notebook(self, width: int = 1000, height: int = 400, legacy_n... method _ipython_display_ (line 711) | def _ipython_display_(self): FILE: newton/_src/viewer/viewer_usd.py function _compute_segment_xform (line 25) | def _compute_segment_xform(pos0, pos1): function _usd_add_xform (line 39) | def _usd_add_xform(prim): function _usd_set_xform (line 48) | def _usd_set_xform( class ViewerUSD (line 67) | class ViewerUSD(ViewerBase): method __init__ (line 76) | def __init__( method begin_frame (line 150) | def begin_frame(self, time: float): method end_frame (line 166) | def end_frame(self): method is_running (line 175) | def is_running(self): method close (line 187) | def close(self): method _get_path (line 199) | def _get_path(self, name): method log_mesh (line 207) | def log_mesh( method log_instances (line 269) | def log_instances( method log_instances_point_instancer (line 335) | def log_instances_point_instancer( method log_lines (line 433) | def log_lines( method log_points (line 516) | def log_points( method log_array (line 579) | def log_array(self, name: str, array: wp.array[Any] | np.ndarray): method log_scalar (line 592) | def log_scalar(self, name: str, value: int | float | bool | np.number): method apply_forces (line 605) | def apply_forces(self, state: newton.State): method _promote_colors_to_array (line 613) | def _promote_colors_to_array(self, colors, num_items): method _is_single_rgb_triplet (line 641) | def _is_single_rgb_triplet(colors) -> bool: method _normalize_point_colors (line 651) | def _normalize_point_colors(self, colors, num_points): method _ensure_scopes_for_path (line 675) | def _ensure_scopes_for_path(stage: Usd.Stage, prim_path_str: str): FILE: newton/_src/viewer/viewer_viser.py class ViewerViser (line 22) | class ViewerViser(ViewerBase): method _get_viser (line 40) | def _get_viser(cls): method _to_numpy (line 52) | def _to_numpy(x) -> np.ndarray | None: method _prepare_texture (line 61) | def _prepare_texture(texture: np.ndarray | str | None) -> np.ndarray |... method _build_trimesh_mesh (line 71) | def _build_trimesh_mesh(points: np.ndarray, indices: np.ndarray, uvs: ... method __init__ (line 98) | def __init__( method _setup_scene (line 167) | def _setup_scene(self): method _call_scene_method (line 176) | def _call_scene_method(method, **kwargs): method url (line 186) | def url(self) -> str: method _is_client_camera_ready (line 195) | def _is_client_camera_ready(client: Any) -> bool: method _handle_client_connect (line 208) | def _handle_client_connect(self, client: Any): method _handle_client_disconnect (line 213) | def _handle_client_disconnect(self, client: Any): method _get_camera_up_axis (line 217) | def _get_camera_up_axis(self) -> int: method _compute_camera_front_up (line 226) | def _compute_camera_front_up(self, pitch: float, yaw: float) -> tuple[... method _apply_camera_to_client (line 280) | def _apply_camera_to_client(self, client: Any): method set_camera (line 316) | def set_camera(self, pos: wp.vec3, pitch: float, yaw: float): method _camera_query_from_request (line 344) | def _camera_query_from_request(camera_request: tuple[np.ndarray, np.nd... method log_mesh (line 362) | def log_mesh( method log_instances (line 457) | def log_instances( method begin_frame (line 614) | def begin_frame(self, time: float): method end_frame (line 625) | def end_frame(self): method is_running (line 636) | def is_running(self) -> bool: method close (line 646) | def close(self): method apply_forces (line 659) | def apply_forces(self, state: newton.State): method save_recording (line 667) | def save_recording(self): method log_lines (line 699) | def log_lines( method log_geo (line 779) | def log_geo( method log_points (line 823) | def log_points( method log_array (line 896) | def log_array(self, name: str, array: wp.array[Any] | np.ndarray): method log_scalar (line 906) | def log_scalar(self, name: str, value: int | float | bool | np.number): method show_notebook (line 915) | def show_notebook(self, width: int | str = "100%", height: int | str =... method _ipython_display_ (line 997) | def _ipython_display_(self): method _serve_viser_recording (line 1004) | def _serve_viser_recording( FILE: newton/_src/viewer/viser/static/assets/SplatSortWorker-DiSpcAPr.js function we (line 1) | function we(r){return u.locateFile?u.locateFile(r,b):b+r} function Hr (line 1) | function Hr(){var r=er.buffer;u.HEAP8=W=new Int8Array(r),u.HEAP16=z=new ... function be (line 1) | function be(){if(u.preRun)for(typeof u.preRun=="function"&&(u.preRun=[u.... function Pe (line 1) | function Pe(){_r(Mr)} function Te (line 1) | function Te(){if(u.postRun)for(typeof u.postRun=="function"&&(u.postRun=... function Ce (line 1) | function Ce(r){Br.unshift(r)} function Ae (line 1) | function Ae(r){Mr.unshift(r)} function zr (line 1) | function zr(r){Lr.unshift(r)} function Re (line 1) | function Re(r){k++,u.monitorRunDependencies?.(k)} function Fe (line 1) | function Fe(r){if(k--,u.monitorRunDependencies?.(k),k==0&&G){var e=G;G=n... function qr (line 1) | function qr(r){u.onAbort?.(r),r="Aborted("+r+")",M(r),Ir=!0,r+=". Build ... function Se (line 1) | function Se(){if(u.locateFile){var r="Sorter.wasm";return Gr(r)?r:we(r)}... function Nr (line 1) | function Nr(r){if(r==ar&&L)return new Uint8Array(L);if(rr)return rr(r);t... function We (line 1) | function We(r){return L?Promise.resolve().then(()=>Nr(r)):new Promise((e... function Jr (line 1) | function Jr(r,e,t){return We(r).then(n=>WebAssembly.instantiate(n,e)).th... function ke (line 1) | function ke(r,e,t,n){return!r&&typeof WebAssembly.instantiateStreaming==... function Oe (line 1) | function Oe(){return{a:en}} function Ue (line 1) | function Ue(){var r=Oe();function e(n,a){return A=n.exports,er=A.z,Hr(),... class De (line 1) | class De{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){h[this.p... method constructor (line 1) | constructor(e){this.excPtr=e,this.ptr=e-24} method set_type (line 1) | set_type(e){h[this.ptr+4>>2]=e} method get_type (line 1) | get_type(){return h[this.ptr+4>>2]} method set_destructor (line 1) | set_destructor(e){h[this.ptr+8>>2]=e} method get_destructor (line 1) | get_destructor(){return h[this.ptr+8>>2]} method set_caught (line 1) | set_caught(e){e=e?1:0,W[this.ptr+12]=e} method get_caught (line 1) | get_caught(){return W[this.ptr+12]!=0} method set_rethrown (line 1) | set_rethrown(e){e=e?1:0,W[this.ptr+13]=e} method get_rethrown (line 1) | get_rethrown(){return W[this.ptr+13]!=0} method init (line 1) | init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructo... method set_adjusted_ptr (line 1) | set_adjusted_ptr(e){h[this.ptr+16>>2]=e} method get_adjusted_ptr (line 1) | get_adjusted_ptr(){return h[this.ptr+16>>2]} method get_exception_ptr (line 1) | get_exception_ptr(){var e=ge(this.get_type());if(e)return h[this.excPt... function n (line 1) | function n(i){var l=t(i);l.length!==r.length&&sr("Mismatched type conver... function Be (line 1) | function Be(r,e,t={}){var n=e.name;if(r||d(`type "${n}" must have a posi... function T (line 1) | function T(r,e,t={}){if(!("argPackAdvance"in e))throw new TypeError("reg... function e (line 1) | function e(t){return t.$$.ptrType.registeredClass.name} function xe (line 1) | function xe(r){var e=this.getPointee(r);if(!e)return this.destructor(r),... method isAliasOf (line 1) | isAliasOf(r){if(!(this instanceof ur)||!(r instanceof ur))return!1;var e... method clone (line 1) | clone(){if(this.$$.ptr||$r(this),this.$$.preservePointerOnDelete)return ... method delete (line 1) | delete(){this.$$.ptr||$r(this),this.$$.deleteScheduled&&!this.$$.preserv... method isDeleted (line 1) | isDeleted(){return!this.$$.ptr} method deleteLater (line 1) | deleteLater(){return this.$$.ptr||$r(this),this.$$.deleteScheduled&&!thi... function ur (line 1) | function ur(){} function tt (line 1) | function tt(r,e,t,n,a,s,o,i){this.name=r,this.constructor=e,this.instanc... function nt (line 1) | function nt(r,e){if(e===null)return this.isReference&&d(`null is not a v... function at (line 1) | function at(r,e){var t;if(e===null)return this.isReference&&d(`null is n... function it (line 1) | function it(r,e){if(e===null)return this.isReference&&d(`null is not a v... function lr (line 1) | function lr(r){return this.fromWireType(h[r>>2])} method getPointee (line 1) | getPointee(r){return this.rawGetPointee&&(r=this.rawGetPointee(r)),r} method destructor (line 1) | destructor(r){this.rawDestructor?.(r)} function fr (line 1) | function fr(r,e,t,n,a,s,o,i,l,f,c){this.name=r,this.registeredClass=e,th... function t (line 1) | function t(){return r.includes("j")?ft(r,e):ne(e)} function a (line 2) | function a(s){if(!n[s]&&!O[s]){if(ir[s]){ir[s].forEach(a);return}t.push(... function ue (line 2) | function ue(r){for(var e=1;e>2],l=h[o+4>>2];return new a(W.buffer,l,i)} method fromWireType (line 15) | fromWireType(n){var a=h[n>>2],s=n+4,o;if(t)for(var i=s,l=0;l<=a;++l){var... method toWireType (line 15) | toWireType(n,a){a instanceof ArrayBuffer&&(a=new Uint8Array(a));var s,o=... method destructorFunction (line 15) | destructorFunction(n){R(n)} method destructorFunction (line 15) | destructorFunction(i){R(i)} method constructor (line 20) | constructor(e){super(e),this.name="BindingError"} method constructor (line 20) | constructor(e){super(e),this.name="InternalError"} function ye (line 20) | function ye(){if(k>0||(be(),k>0))return;function r(){vr||(vr=!0,u.called... FILE: newton/_src/viewer/viser/static/assets/WebsocketServerWorker-C6PJJ7Dx.js function O (line 1) | function O(n){const e=n.length;let t=0,i=0;for(;iX?Y(n,e,t):J(n,e,t)} function R (line 1) | function R(n,e,t){let i=e;const s=i+t,r=[];let o="";for(;ij?ee(n,e,t):R(n,e,t)} class S (line 1) | class S{constructor(e,t){this.type=e,this.data=t}} method constructor (line 1) | constructor(e,t){this.type=e,this.data=t} class c (line 1) | class c extends Error{constructor(e){super(e);const t=Object.create(c.pr... method constructor (line 1) | constructor(e){super(e);const t=Object.create(c.prototype);Object.setP... function se (line 1) | function se(n,e,t){const i=t/4294967296,s=t;n.setUint32(e,i),n.setUint32... function H (line 1) | function H(n,e,t){const i=Math.floor(t/4294967296),s=t;n.setUint32(e,i),... function b (line 1) | function b(n,e){const t=n.getInt32(e),i=n.getUint32(e+4);return t*429496... function ie (line 1) | function ie(n,e){const t=n.getUint32(e),i=n.getUint32(e+4);return t*4294... function ae (line 1) | function ae({sec:n,nsec:e}){if(n>=0&&e>=0&&n<=oe)if(e===0&&n<=re){const ... function he (line 1) | function he(n){const e=n.getTime(),t=Math.floor(e/1e3),i=(e-t*1e3)*1e6,s... function ce (line 1) | function ce(n){if(n instanceof Date){const e=he(n);return ae(e)}else ret... function fe (line 1) | function fe(n){const e=new DataView(n.buffer,n.byteOffset,n.byteLength);... function de (line 1) | function de(n){const e=fe(n);return new Date(e.sec*1e3+e.nsec/1e6)} class E (line 1) | class E{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],th... method constructor (line 1) | constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.enc... method register (line 1) | register({type:e,encode:t,decode:i}){if(e>=0)this.encoders[e]=t,this.d... method tryToEncode (line 1) | tryToEncode(e,t){for(let i=0;ithis.maxDepth)throw new Error(`Too deep objects in ... method ensureBufferSizeToWrite (line 1) | ensureBufferSizeToWrite(e){const t=this.pos+e;this.view.byteLength=... method encodeNumberAsFloat (line 1) | encodeNumberAsFloat(e){this.forceFloat32?(this.writeU8(202),this.write... method encodeBigInt64 (line 1) | encodeBigInt64(e){e>=BigInt(0)?(this.writeU8(207),this.writeBigUint64(... method writeStringHeader (line 1) | writeStringHeader(e){if(e<32)this.writeU8(160+e);else if(e<256)this.wr... method encodeString (line 1) | encodeString(e){const i=O(e);this.ensureBufferSizeToWrite(5+i),this.wr... method encodeObject (line 1) | encodeObject(e,t){const i=this.extensionCodec.tryToEncode(e,this.conte... method encodeBinary (line 1) | encodeBinary(e){const t=e.byteLength;if(t<256)this.writeU8(196),this.w... method encodeArray (line 1) | encodeArray(e,t){const i=e.length;if(i<16)this.writeU8(144+i);else if(... method countWithoutUndefined (line 1) | countWithoutUndefined(e,t){let i=0;for(const s of t)e[s]!==void 0&&i++... method encodeMap (line 1) | encodeMap(e,t){const i=Object.keys(e);this.sortKeys&&i.sort();const s=... method encodeExtension (line 1) | encodeExtension(e){if(typeof e.data=="function"){const i=e.data(this.p... method writeU8 (line 1) | writeU8(e){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos... method writeU8a (line 1) | writeU8a(e){const t=e.length;this.ensureBufferSizeToWrite(t),this.byte... method writeI8 (line 1) | writeI8(e){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,... method writeU16 (line 1) | writeU16(e){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.p... method writeI16 (line 1) | writeI16(e){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.po... method writeU32 (line 1) | writeU32(e){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.p... method writeI32 (line 1) | writeI32(e){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.po... method writeF32 (line 1) | writeF32(e){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.... method writeF64 (line 1) | writeF64(e){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.... method writeU64 (line 1) | writeU64(e){this.ensureBufferSizeToWrite(8),se(this.view,this.pos,e),t... method writeI64 (line 1) | writeI64(e){this.ensureBufferSizeToWrite(8),H(this.view,this.pos,e),th... method writeBigUint64 (line 1) | writeBigUint64(e){this.ensureBufferSizeToWrite(8),this.view.setBigUint... method writeBigInt64 (line 1) | writeBigInt64(e){this.ensureBufferSizeToWrite(8),this.view.setBigInt64... function ye (line 1) | function ye(n,e){return new D(e).encodeSharedRef(n)} function v (line 1) | function v(n){return`${n<0?"-":""}0x${Math.abs(n).toString(16).padStart(... class me (line 1) | class me{constructor(e=pe,t=ge){this.hit=0,this.miss=0,this.maxKeyLength... method constructor (line 1) | constructor(e=pe,t=ge){this.hit=0,this.miss=0,this.maxKeyLength=e,this... method canBeCached (line 1) | canBeCached(e){return e>0&&e<=this.maxKeyLength} method find (line 1) | find(e,t,i){const s=this.caches[i-1];e:for(const r of s){const o=r.byt... method store (line 1) | store(e,t){const i=this.caches[e.length-1],s={bytes:e,str:t};i.length>... method decode (line 1) | decode(e,t,i){const s=this.find(e,t,i);if(s!=null)return this.hit++,s;... class Se (line 1) | class Se{constructor(){this.stack=[],this.stackHeadPosition=-1}get lengt... method constructor (line 1) | constructor(){this.stack=[],this.stackHeadPosition=-1} method length (line 1) | get length(){return this.stackHeadPosition+1} method top (line 1) | top(){return this.stack[this.stackHeadPosition]} method pushArrayState (line 1) | pushArrayState(e){const t=this.getUninitializedStateFromPool();t.type=... method pushMapState (line 1) | pushMapState(e){const t=this.getUninitializedStateFromPool();t.type=p,... method getUninitializedStateFromPool (line 1) | getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stack... method release (line 1) | release(e){if(this.stack[this.stackHeadPosition]!==e)throw new Error("... method reset (line 1) | reset(){this.stack.length=0,this.stackHeadPosition=-1} class L (line 1) | class L{constructor(e){this.totalPos=0,this.pos=0,this.view=P,this.bytes... method constructor (line 1) | constructor(e){this.totalPos=0,this.pos=0,this.view=P,this.bytes=Ee,th... method clone (line 1) | clone(){return new L({extensionCodec:this.extensionCodec,context:this.... method reinitializeState (line 1) | reinitializeState(){this.totalPos=0,this.headByte=y,this.stack.reset()} method setBuffer (line 1) | setBuffer(e){const t=z(e);this.bytes=t,this.view=new DataView(t.buffer... method appendBuffer (line 1) | appendBuffer(e){if(this.headByte===y&&!this.hasRemaining(1))this.setBu... method hasRemaining (line 1) | hasRemaining(e){return this.view.byteLength-this.pos>=e} method createExtraByteError (line 1) | createExtraByteError(e){const{view:t,pos:i}=this;return new RangeError... method decode (line 1) | decode(e){if(this.entered)return this.clone().decode(e);try{this.enter... method decodeMulti (line 1) | *decodeMulti(e){if(this.entered){yield*this.clone().decodeMulti(e);ret... method decodeAsync (line 1) | async decodeAsync(e){if(this.entered)return this.clone().decodeAsync(e... method decodeArrayStream (line 1) | decodeArrayStream(e){return this.decodeMultiAsync(e,!0)} method decodeStream (line 1) | decodeStream(e){return this.decodeMultiAsync(e,!1)} method decodeMultiAsync (line 1) | async*decodeMultiAsync(e,t){if(this.entered){yield*this.clone().decode... method doDecodeSync (line 1) | doDecodeSync(){e:for(;;){const e=this.readHeadByte();let t;if(e>=224)t... method readHeadByte (line 1) | readHeadByte(){return this.headByte===y&&(this.headByte=this.readU8())... method complete (line 1) | complete(){this.headByte=y} method readArraySize (line 1) | readArraySize(){const e=this.readHeadByte();switch(e){case 220:return ... method pushMapState (line 1) | pushMapState(e){if(e>this.maxMapLength)throw new c(`Max length exceede... method pushArrayState (line 1) | pushArrayState(e){if(e>this.maxArrayLength)throw new c(`Max length exc... method decodeString (line 1) | decodeString(e,t){return!this.rawStrings||this.stateIsMapKey()?this.de... method decodeUtf8String (line 1) | decodeUtf8String(e,t){if(e>this.maxStrLength)throw new c(`Max length e... method stateIsMapKey (line 1) | stateIsMapKey(){return this.stack.length>0?this.stack.top().type===p:!1} method decodeBinary (line 1) | decodeBinary(e,t){if(e>this.maxBinLength)throw new c(`Max length excee... method decodeExtension (line 1) | decodeExtension(e,t){if(e>this.maxExtLength)throw new c(`Max length ex... method lookU8 (line 1) | lookU8(){return this.view.getUint8(this.pos)} method lookU16 (line 1) | lookU16(){return this.view.getUint16(this.pos)} method lookU32 (line 1) | lookU32(){return this.view.getUint32(this.pos)} method readU8 (line 1) | readU8(){const e=this.view.getUint8(this.pos);return this.pos++,e} method readI8 (line 1) | readI8(){const e=this.view.getInt8(this.pos);return this.pos++,e} method readU16 (line 1) | readU16(){const e=this.view.getUint16(this.pos);return this.pos+=2,e} method readI16 (line 1) | readI16(){const e=this.view.getInt16(this.pos);return this.pos+=2,e} method readU32 (line 1) | readU32(){const e=this.view.getUint32(this.pos);return this.pos+=4,e} method readI32 (line 1) | readI32(){const e=this.view.getInt32(this.pos);return this.pos+=4,e} method readU64 (line 1) | readU64(){const e=ie(this.view,this.pos);return this.pos+=8,e} method readI64 (line 1) | readI64(){const e=b(this.view,this.pos);return this.pos+=8,e} method readU64AsBigInt (line 1) | readU64AsBigInt(){const e=this.view.getBigUint64(this.pos);return this... method readI64AsBigInt (line 1) | readI64AsBigInt(){const e=this.view.getBigInt64(this.pos);return this.... method readF32 (line 1) | readF32(){const e=this.view.getFloat32(this.pos);return this.pos+=4,e} method readF64 (line 1) | readF64(){const e=this.view.getFloat64(this.pos);return this.pos+=8,e} function Te (line 1) | function Te(n,e){return new L(e).decode(n)} class Ae (line 1) | class Ae{constructor(){l.set(this,!1),w.set(this,new Set)}get acquired()... method constructor (line 1) | constructor(){l.set(this,!1),w.set(this,new Set)} method acquired (line 1) | get acquired(){return d(this,l,"f")} method acquireAsync (line 1) | acquireAsync({timeout:e}={}){if(!d(this,l,"f"))return M(this,l,!0,"f")... method tryAcquire (line 1) | tryAcquire(){return d(this,l,"f")?!1:(M(this,l,!0,"f"),!0)} method release (line 1) | release(){if(!d(this,l,"f"))throw new Error("Cannot release an unacqui... function N (line 1) | function N(n,e){if(n instanceof ArrayBuffer)e.add(n);else if(n instanceo... FILE: newton/_src/viewer/viser/static/assets/index-H4DT9vxj.js function QG (line 1) | function QG(t,e){for(var n=0;n>>1,B=F[... function n (line 17) | function n(F){return F.length===0?null:F[0]} function i (line 17) | function i(F){if(F.length===0)return null;var V=F[0],H=F.pop();if(H!==V)... function r (line 17) | function r(F,V){var H=F.sortIndex-V.sortIndex;return H!==0?H:F.id-V.id} function w (line 17) | function w(F){for(var V=n(c);V!==null;){if(V.callback===null)i(c);else i... function M (line 17) | function M(F){if(b=!1,w(F),!g)if(n(l)!==null)g=!0,S||(S=!0,U());else{var... function R (line 17) | function R(){return y?!0:!(t.unstable_now()-D"u"||typeof __R... function It (line 41) | function It(t){var e="https://react.dev/errors/"+t;if(1qb||(t.current=R8[qb],R8[qb]=null,qb--)} function Zr (line 41) | function Zr(t,e){qb++,R8[qb]=t.current,t.current=e} function CM (line 41) | function CM(t,e){switch(Zr(Ad,e),Zr(y1,t),Zr($u,null),e.nodeType){case 9... function N0 (line 41) | function N0(){as($u),as(y1),as(Ad)} function k8 (line 41) | function k8(t){t.memoizedState!==null&&Zr(AM,t);var e=$u.current,n=Fq(e,... function RM (line 41) | function RM(t){y1.current===t&&(as($u),as(y1)),AM.current===t&&(as(AM),R... function xd (line 41) | function xd(t){if(typeof Jre=="function"&&$re(t),xl&&typeof xl.setStrict... function eae (line 41) | function eae(t){return t>>>=0,t===0?32:31-(Zre(t)/Qre|0)|0} function Wp (line 41) | function Wp(t){var e=t&42;if(e!==0)return e;switch(t&-t){case 1:return 1... function PT (line 41) | function PT(t,e,n){var i=t.pendingLanes;if(i===0)return 0;var r=0,a=t.su... function f_ (line 41) | function f_(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes... function tae (line 41) | function tae(t,e){switch(t){case 1:case 2:case 4:case 8:case 64:return e... function M7 (line 41) | function M7(){var t=FS;return FS<<=1,!(FS&4194048)&&(FS=256),t} function T7 (line 41) | function T7(){var t=BS;return BS<<=1,!(BS&62914560)&&(BS=4194304),t} function ZR (line 41) | function ZR(t){for(var e=[],n=0;31>n;n++)e.push(t);return e} function h_ (line 41) | function h_(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.... function nae (line 41) | function nae(t,e,n,i,r,a){var s=t.pendingLanes;t.pendingLanes=n,t.suspen... function A7 (line 41) | function A7(t,e,n){t.pendingLanes|=e,t.suspendedLanes&=~e;var i=31-_l(e)... function C7 (line 41) | function C7(t,e){var n=t.entangledLanes|=e;for(t=t.entanglements;n;){var... function yN (line 41) | function yN(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;... function xN (line 41) | function xN(t){return t&=-t,2"u... function fc (line 48) | function fc(t){return t.replace(uae,function(e){return"\\"+e.charCodeAt(... function I8 (line 48) | function I8(t,e,n,i,r,a,s,o){t.name="",s!=null&&typeof s!="function"&&ty... function N7 (line 48) | function N7(t,e,n,i,r,a,s,o){if(a!=null&&typeof a!="function"&&typeof a!... function N8 (line 48) | function N8(t,e,n){e==="number"&&OM(t.ownerDocument)===t||t.defaultValue... function u0 (line 48) | function u0(t,e,n,i){if(t=t.options,e){e={};for(var r=0;ra?a:8;var s=Bn.T,o={};Bn... function cse (line 48) | function cse(){} function $8 (line 48) | function $8(t,e,n,i){if(t.tag!==5)throw Error(It(476));var r=OW(t).queue... function OW (line 48) | function OW(t){var e=t.memoizedState;if(e!==null)return e;e={memoizedSta... function IW (line 48) | function IW(t){var e=OW(t).next.queue;Gx(t,e,{},Sl())} function XN (line 48) | function XN(){return io(R1)} function NW (line 48) | function NW(){return ka().memoizedState} function LW (line 48) | function LW(){return ka().memoizedState} function use (line 48) | function use(t){for(var e=t.return;e!==null;){switch(e.tag){case 24:case... function fse (line 48) | function fse(t,e,n){var i=Sl();n={lane:i,revertLane:0,action:n,hasEagerS... function PW (line 48) | function PW(t,e,n){var i=Sl();Gx(t,e,n,i)} function Gx (line 48) | function Gx(t,e,n,i){var r={lane:i,revertLane:0,action:n,hasEagerState:!... function KN (line 48) | function KN(t,e,n,i){if(i={lane:2,revertLane:nL(),action:i,hasEagerState... function WT (line 48) | function WT(t){var e=t.alternate;return t===yi||e!==null&&e===yi} function UW (line 48) | function UW(t,e){d0=FM=!0;var n=t.pending;n===null?e.next=e:(e.next=n.ne... function FW (line 48) | function FW(t,e,n){if(n&4194048){var i=e.lanes;i&=t.pendingLanes,n|=i,e.... function GS (line 48) | function GS(t){var e=M1;return M1+=1,m0===null&&(m0=[]),sW(m0,t,e)} function Ry (line 48) | function Ry(t,e){e=e.props.ref,t.ref=e!==void 0?e:null} function WS (line 48) | function WS(t,e){throw e.$$typeof===Hre?Error(It(525)):(t=Object.prototy... function OF (line 48) | function OF(t){var e=t._init;return e(t._payload)} function jW (line 48) | function jW(t){function e(m,x){if(t){var _=m.deletions;_===null?(m.delet... function pd (line 48) | function pd(t){var e=t.alternate;Zr(Ba,Ba.current&1),Zr(Sc,t),Qu===null&... function VW (line 48) | function VW(t){if(t.tag===22){if(Zr(Ba,Ba.current),Zr(Sc,t),Qu===null){v... function md (line 48) | function md(){Zr(Ba,Ba.current),Zr(Sc,Sc.current)} function Jf (line 48) | function Jf(t){as(Sc),Qu===t&&(Qu=null),as(Ba)} function jM (line 48) | function jM(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedSta... function d3 (line 48) | function d3(t,e,n,i){e=t.memoizedState,n=n(i,e),n=n==null?e:Gr({},e,n),t... function IF (line 48) | function IF(t,e,n,i,r,a,s){return t=t.stateNode,typeof t.shouldComponent... function NF (line 48) | function NF(t,e,n,i){t=e.state,typeof e.componentWillReceiveProps=="func... function Hm (line 48) | function Hm(t,e){var n=e;if("ref"in e){n={};for(var i in e)i!=="ref"&&(n... function GW (line 48) | function GW(t){HM(t)} function WW (line 48) | function WW(t){console.error(t)} function qW (line 48) | function qW(t){HM(t)} function VM (line 48) | function VM(t,e){try{var n=t.onUncaughtError;n(e.value,{componentStack:e... function LF (line 48) | function LF(t,e,n){try{var i=t.onCaughtError;i(n.value,{componentStack:n... function Q8 (line 48) | function Q8(t,e,n){return n=Cd(n),n.tag=3,n.payload={element:null},n.cal... function XW (line 48) | function XW(t){return t=Cd(t),t.tag=3,t} function KW (line 48) | function KW(t,e,n,i){var r=n.type.getDerivedStateFromError;if(typeof r==... function dse (line 48) | function dse(t,e,n,i,r){if(n.flags|=32768,i!==null&&typeof i=="object"&&... function Ss (line 48) | function Ss(t,e,n,i){e.child=t===null?HW(e,null,n,i):z0(e,t.child,n,i)} function PF (line 48) | function PF(t,e,n,i,r){n=n.render;var a=e.ref;if("ref"in i){var s={};for... function UF (line 48) | function UF(t,e,n,i,r){if(t===null){var a=n.type;return typeof a=="funct... function JW (line 48) | function JW(t,e,n,i,r){if(t!==null){var a=t.memoizedProps;if(S1(a,i)&&t.... function $W (line 48) | function $W(t,e,n){var i=e.pendingProps,r=i.children,a=t!==null?t.memoiz... function FF (line 48) | function FF(t,e,n,i){var r=NN();return r=r===null?null:{parent:Fa._curre... function QE (line 48) | function QE(t,e){var n=e.ref;if(n===null)t!==null&&t.ref!==null&&(e.flag... function eO (line 48) | function eO(t,e,n,i,r){return zm(e),n=FN(t,e,n,i,void 0,r),i=BN(),t!==nu... function BF (line 48) | function BF(t,e,n,i,r,a){return zm(e),e.updateQueue=null,n=uW(e,i,n,r),c... function zF (line 48) | function zF(t,e,n,i,r){if(zm(e),e.stateNode===null){var a=Qb,s=n.context... function jF (line 48) | function jF(t,e,n,i){return m_(),e.flags|=256,Ss(t,e,n,i),e.child} function m3 (line 48) | function m3(t){return{baseLanes:t,cachePool:rW()}} function g3 (line 48) | function g3(t,e,n){return t=t!==null?t.childLanes&~n:0,e&&(t|=mc),t} function ZW (line 48) | function ZW(t,e,n){var i=e.pendingProps,r=!1,a=(e.flags&128)!==0,s;if((s... function tO (line 48) | function tO(t,e){return e=GM({mode:"visible",children:e},t.mode),e.retur... function GM (line 48) | function GM(t,e){return t=gl(22,t,null,e),t.lanes=0,t.stateNode={_visibi... function b3 (line 48) | function b3(t,e,n){return z0(e,t.child,null,n),t=tO(e,e.pendingProps.chi... function HF (line 48) | function HF(t,e,n){t.lanes|=e;var i=t.alternate;i!==null&&(i.lanes|=e),H... function v3 (line 48) | function v3(t,e,n,i,r){var a=t.memoizedState;a===null?t.memoizedState={i... function QW (line 48) | function QW(t,e,n){var i=e.pendingProps,r=i.revealOrder,a=i.tail;if(Ss(t... function hh (line 48) | function hh(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),Bd|=e.la... function YN (line 48) | function YN(t,e){return t.lanes&e?!0:(t=t.dependencies,!!(t!==null&&PM(t... function pse (line 48) | function pse(t,e,n){switch(e.tag){case 3:CM(e,e.stateNode.containerInfo)... function eq (line 48) | function eq(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps)is=!0... function Of (line 48) | function Of(t){t.flags|=4} function VF (line 48) | function VF(t,e){if(e.type!=="stylesheet"||e.state.loading&4)t.flags&=-1... function qS (line 48) | function qS(t,e){e!==null&&(t.flags|=4),t.flags&16384&&(e=t.tag!==22?T7(... function ky (line 48) | function ky(t,e){if(!er)switch(t.tailMode){case"hidden":e=t.tail;for(var... function na (line 48) | function na(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0... function mse (line 48) | function mse(t,e,n){var i=e.pendingProps;switch(ON(e),e.tag){case 31:cas... function gse (line 48) | function gse(t,e){switch(ON(e),e.tag){case 1:return t=e.flags,t&65536?(e... function tq (line 48) | function tq(t,e){switch(ON(e),e.tag){case 3:ih(Fa),N0();break;case 26:ca... function __ (line 48) | function __(t,e){try{var n=e.updateQueue,i=n!==null?n.lastEffect:null;if... function Fd (line 48) | function Fd(t,e,n){try{var i=e.updateQueue,r=i!==null?i.lastEffect:null;... function nq (line 48) | function nq(t){var e=t.updateQueue;if(e!==null){var n=t.stateNode;try{lW... function iq (line 48) | function iq(t,e,n){n.props=Hm(t.type,t.memoizedProps),n.state=t.memoized... function Wx (line 48) | function Wx(t,e){try{var n=t.ref;if(n!==null){switch(t.tag){case 26:case... function Ku (line 48) | function Ku(t,e){var n=t.ref,i=t.refCleanup;if(n!==null)if(typeof i=="fu... function rq (line 48) | function rq(t){var e=t.type,n=t.memoizedProps,i=t.stateNode;try{e:switch... function y3 (line 48) | function y3(t,e,n){try{var i=t.stateNode;Use(i,t.type,n,e),i[Go]=e}catch... function aq (line 48) | function aq(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Xd(t... function x3 (line 48) | function x3(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||aq(... function nO (line 48) | function nO(t,e,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,e?(n.nodeTy... function WM (line 48) | function WM(t,e,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,e?n.insertB... function sq (line 48) | function sq(t){var e=t.stateNode,n=t.memoizedProps;try{for(var i=t.type,... function bse (line 48) | function bse(t,e){if(t=t.containerInfo,uO=t2,t=X7(t),AN(t)){if("selectio... function oq (line 48) | function oq(t,e,n){var i=n.flags;switch(n.tag){case 0:case 11:case 15:Wh... function lq (line 48) | function lq(t){var e=t.alternate;e!==null&&(t.alternate=null,lq(e)),t.ch... function If (line 48) | function If(t,e,n){for(n=n.child;n!==null;)cq(t,e,n),n=n.sibling} function cq (line 48) | function cq(t,e,n){if(xl&&typeof xl.onCommitFiberUnmount=="function")try... function uq (line 48) | function uq(t,e){if(e.memoizedState===null&&(t=e.alternate,t!==null&&(t=... function vse (line 48) | function vse(t){switch(t.tag){case 13:case 19:var e=t.stateNode;return e... function S3 (line 48) | function S3(t,e){var n=vse(t);e.forEach(function(i){var r=Ase.bind(null,... function ol (line 48) | function ol(t,e){var n=e.deletions;if(n!==null)for(var i=0;i"u"||typeof __R... function moe (line 49) | function moe(t){return t?($S.has(t)||(pB+=1,$S.set(t,pB.toString())),$S.... function goe (line 49) | function goe(t){return Object.keys(t).sort().filter(e=>t[e]!==void 0).ma... function boe (line 49) | function boe(t){const e=goe(t);let n=yO.get(e);if(!n){const i=new Map;le... function voe (line 49) | function voe(t,e,n={},i=poe){if(typeof window.IntersectionObserver>"u"&&... function yoe (line 49) | function yoe({threshold:t,delay:e,trackVisibility:n,rootMargin:i,root:r,... function gc (line 49) | function gc(t,e,n){return e===void 0&&n===void 0?t:e!==void 0&&n===void ... function Zq (line 49) | function Zq(t="mantine-"){return`${t}${Math.random().toString(36).slice(... function em (line 49) | function em(t){const e=I.useRef(t);return I.useEffect(()=>{e.current=t})... function $T (line 49) | function $T(t,e){const{delay:n,flushOnUnmount:i,leading:r}=typeof e=="nu... function _oe (line 49) | function _oe(t,e,n){const i=I.useRef(null),r=e||xoe;return I.useEffect((... function Soe (line 49) | function Soe(t={timeout:2e3}){const[e,n]=I.useState(null),[i,r]=I.useSta... function woe (line 49) | function woe(t,e){try{return t.addEventListener("change",e),()=>t.remove... function Eoe (line 49) | function Eoe(t,e){return typeof window<"u"&&"matchMedia"in window?window... function uL (line 49) | function uL(t,e,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}... function Moe (line 49) | function Moe(t,e){return uL("(prefers-color-scheme: dark)",t==="dark",e)... function _c (line 49) | function _c(t,e){const n=I.useRef(!1);I.useEffect(()=>()=>{n.current=!1}... function Qq (line 49) | function Qq({opened:t,shouldReturnFocus:e=!0}){const n=I.useRef(null),i=... function Aoe (line 49) | function Aoe(t){return t.style.display==="none"} function Coe (line 49) | function Coe(t){if(t.getAttribute("aria-hidden")||t.getAttribute("hidden... function tX (line 49) | function tX(t){let e=t.getAttribute("tabindex");return e===null&&(e=void... function xO (line 49) | function xO(t){const e=t.nodeName.toLowerCase(),n=!Number.isNaN(tX(t));r... function nX (line 49) | function nX(t){const e=tX(t);return(Number.isNaN(e)||e>=0)&&xO(t)} function Roe (line 49) | function Roe(t){return Array.from(t.querySelectorAll(eX)).filter(nX)} function koe (line 49) | function koe(t,e){const n=Roe(t);if(!n.length){e.preventDefault();return... function Doe (line 49) | function Doe(t=!0){const e=I.useRef(null),n=r=>{let a=r.querySelector("[... function Ioe (line 49) | function Ioe(){const[,t]=I.useReducer(Ooe,0);return t} function Loe (line 49) | function Loe(){const t=Noe();return t?`mantine-${t.replace(/:/g,"")}`:""} function mf (line 49) | function mf(t){const e=Loe(),[n,i]=I.useState(e);return Rv(()=>{i(Zq())}... function Poe (line 49) | function Poe(t,e,n){I.useEffect(()=>(window.addEventListener(t,e,n),()=>... function i2 (line 49) | function i2(t,e){if(typeof t=="function")return t(e);typeof t=="object"&... function iX (line 49) | function iX(...t){const e=new Map;return n=>{if(t.forEach(i=>{const r=i2... function Ps (line 49) | function Ps(...t){return I.useCallback(iX(...t),t)} function rX (line 49) | function rX(t){return{x:gc(t.x,0,1),y:gc(t.y,0,1)}} function fL (line 49) | function fL(t,e,n="ltr"){const i=I.useRef(!1),r=I.useRef(!1),a=I.useRef(... function Cl (line 49) | function Cl({value:t,defaultValue:e,finalValue:n,onChange:i=()=>{}}){con... function ZT (line 49) | function ZT(t,e){return uL("(prefers-reduced-motion: reduce)",t,e)} function Foe (line 49) | function Foe(t){const e=I.useRef(0),n=I.useRef(null),[i,r]=I.useState(Uo... function aX (line 49) | function aX(t){const[e,{width:n,height:i}]=Foe(t);return{ref:e,width:n,h... function Ec (line 49) | function Ec(t=!1,e={}){const[n,i]=I.useState(t),r=I.useCallback(()=>{i(o... function Boe (line 49) | function Boe(t){const e=I.useRef(void 0);return I.useEffect(()=>{e.curre... function zoe (line 49) | function zoe(){const[t,e]=I.useState(!1);Rv(()=>{e(typeof window<"u"&&!j... function joe (line 49) | function joe(){return navigator.userAgent.includes("OPR")} function Hoe (line 49) | function Hoe(t){let e=t,n=!1;const i=new Set;return{getState(){return e}... function Voe (line 49) | function Voe(t){return I.useSyncExternalStore(t.subscribe,()=>t.getState... function Goe (line 49) | function Goe(t,e,n){const i=[],r=[],a={};for(const s of t){const o=s.pos... function kv (line 49) | function kv(t,e){const n=t.getState(),i=e([...n.notifications,...n.queue... function Xoe (line 49) | function Xoe(t,e=ag){const n=t.id||Zq();return kv(e,i=>t.id&&i.some(r=>r... function sX (line 49) | function sX(t,e=ag){return kv(e,n=>n.filter(i=>i.id===t?(i.onClose?.(i),... function Koe (line 49) | function Koe(t,e=ag){return kv(e,n=>n.map(i=>i.id===t.id?{...i,...t}:i))... function Yoe (line 49) | function Yoe(t=ag){kv(t,()=>[])} function Joe (line 49) | function Joe(t=ag){kv(t,e=>e.slice(0,t.getState().limit))} function Is (line 49) | function Is(){return Is=Object.assign?Object.assign.bind():function(t){f... function hL (line 49) | function hL(t,e){if(t==null)return{};var n={};for(var i in t)if({}.hasOw... function _O (line 49) | function _O(t,e){return _O=Object.setPrototypeOf?Object.setPrototypeOf.b... function oX (line 49) | function oX(t,e){t.prototype=Object.create(e.prototype),t.prototype.cons... function cX (line 49) | function cX(){} function uX (line 49) | function uX(){} function t (line 49) | function t(i,r,a,s,o,l){if(l!==Qoe){var c=new Error("Calling PropTypes v... function e (line 49) | function e(){return t} function e (line 49) | function e(i,r){var a;a=t.call(this,i,r)||this;var s=r,o=s&&!s.isMountin... function Gg (line 49) | function Gg(){} function nle (line 49) | function nle(t){if(t===void 0)throw new ReferenceError("this hasn't been... function dL (line 49) | function dL(t,e){var n=function(a){return e&&I.isValidElement(a)?e(a):a}... function ile (line 49) | function ile(t,e){t=t||{},e=e||{};function n(u){return u in e?e[u]:t[u]}... function am (line 49) | function am(t,e,n){return n[e]!=null?n[e]:t.props[e]} function rle (line 49) | function rle(t,e){return dL(t.children,function(n){return I.cloneElement... function ale (line 49) | function ale(t,e,n){var i=dL(t.children),r=ile(e,i);return Object.keys(r... function e (line 49) | function e(i,r){var a;a=t.call(this,i,r)||this;var s=a.handleExited.bind... function hX (line 49) | function hX(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty... function lle (line 49) | function lle(t,e,n){if(n||arguments.length===2)for(var i=0,r=e.length,a;... function D3 (line 49) | function D3(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t} function fle (line 49) | function fle(t,e){var n=I.useState(function(){return{value:t,callback:e,... function dle (line 49) | function dle(t,e){var n=fle(null,function(i){return t.forEach(function(r... function ple (line 49) | function ple(t){return t} function mle (line 49) | function mle(t,e){e===void 0&&(e=ple);var n=[],i=!1,r={read:function(){i... function gle (line 49) | function gle(t){t===void 0&&(t={});var e=mle(null);return e.options=Gu({... function ble (line 49) | function ble(t,e){return t.useMedium(e),dX} function yle (line 49) | function yle(){if(!document)return null;var t=document.createElement("st... function xle (line 49) | function xle(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(docu... function _le (line 49) | function _le(t){var e=document.head||document.getElementsByTagName("head... function jle (line 89) | function jle(t){var e=I.useRef([]),n=I.useRef([0,0]),i=I.useRef(),r=I.us... function Hle (line 89) | function Hle(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.h... function ef (line 89) | function ef(t){return Object.keys(t)} function N3 (line 89) | function N3(t){return t&&typeof t=="object"&&!Array.isArray(t)} function pL (line 89) | function pL(t,e){const n={...t},i=e;return N3(t)&&N3(e)&&Object.keys(e).... function Gle (line 89) | function Gle(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)} function Wle (line 89) | function Wle(t){return typeof t!="string"||!t.includes("var(--mantine-sc... function qle (line 89) | function qle(t){const e=Wle(t);return typeof e=="number"?e:typeof e=="st... function _B (line 89) | function _B(t){return t==="0rem"?"0rem":`calc(${t} * var(--mantine-scale... function yX (line 89) | function yX(t,{shouldScale:e=!1}={}){function n(i){if(i===0||i==="0")ret... function eA (line 89) | function eA(t){return Object.keys(t).reduce((e,n)=>(t[n]!==void 0&&(e[n]... function xX (line 89) | function xX(t){if(typeof t=="number")return!0;if(typeof t=="string"){if(... function sg (line 89) | function sg(t){return Array.isArray(t)||t===null?!1:typeof t=="object"?t... function Eu (line 89) | function Eu(t){const e=I.createContext(null);return[({children:r,value:a... function M_ (line 89) | function M_(t=null){const e=I.createContext(t);return[({children:r,value... function SB (line 89) | function SB(t,e){return n=>{if(typeof n!="string"||n.trim().length===0)t... function MO (line 89) | function MO(t,e){let n=t;for(;(n=n.parentElement)&&!n.matches(e););retur... function Xle (line 89) | function Xle(t,e,n){for(let i=t-1;i>=0;i-=1)if(!e[i].disabled)return i;i... function Kle (line 89) | function Kle(t,e,n){for(let i=t+1;iMath.abs(i-t){Object.entries(n).forEac... function nA (line 89) | function nA({theme:t,classNames:e,props:n,stylesCtx:i}){const a=(Array.i... function o2 (line 89) | function o2({theme:t,styles:e,props:n,stylesCtx:i}){return(Array.isArray... function Kd (line 89) | function Kd(){const t=I.useContext(gL);if(!t)throw new Error("[@mantine/... function ice (line 89) | function ice(){return Kd().cssVariablesResolver} function rce (line 89) | function rce(){return Kd().classNamesPrefix} function iA (line 89) | function iA(){return Kd().getStyleNonce} function ace (line 89) | function ace(){return Kd().withStaticClasses} function sce (line 89) | function sce(){return Kd().headless} function oce (line 89) | function oce(){return Kd().stylesTransform?.sx} function lce (line 89) | function lce(){return Kd().stylesTransform?.styles} function rA (line 89) | function rA(){return Kd().env||"default"} function cce (line 89) | function cce(t){return/^#?([0-9A-F]{3}){1,2}([0-9A-F]{2})?$/i.test(t)} function uce (line 89) | function uce(t){let e=t.replace("#","");if(e.length===3){const s=e.split... function fce (line 89) | function fce(t){const[e,n,i,r]=t.replace(/[^0-9,./]/g,"").split(/[/,]/).... function hce (line 89) | function hce(t){const e=/^hsla?\(\s*(\d+)\s*,\s*(\d+%)\s*,\s*(\d+%)\s*(,... function bL (line 89) | function bL(t){return cce(t)?uce(t):t.startsWith("rgb")?fce(t):t.startsW... function ew (line 89) | function ew(t,e){if(t.startsWith("var("))return`color-mix(in srgb, ${t},... function I1 (line 89) | function I1(t,e){return typeof t.primaryShade=="number"?t.primaryShade:e... function L3 (line 89) | function L3(t){return t<=.03928?t/12.92:((t+.055)/1.055)**2.4} function dce (line 89) | function dce(t){const e=t.match(/oklch\((.*?)%\s/);return e?parseFloat(e... function wX (line 89) | function wX(t){if(t.startsWith("oklch("))return(dce(t)||0)/100;const{r:e... function Iy (line 89) | function Iy(t,e=.179){return t.startsWith("var(")?!1:wX(t)>e} function ph (line 89) | function ph({color:t,theme:e,colorScheme:n}){if(typeof t!="string")throw... function sa (line 89) | function sa(t,e){const n=ph({color:t||e.primaryColor,theme:e});return n.... function TO (line 89) | function TO(t,e){const n={from:t?.from||e.defaultGradient.from,to:t?.to|... function ic (line 89) | function ic(t,e){if(typeof t!="string"||e>1||e<0)return"rgba(0, 0, 0, 1)... function MB (line 89) | function MB(t){return t==="auto"||t==="dark"||t==="light"} function gce (line 89) | function gce({key:t="mantine-color-scheme-value"}={}){let e;return{get:n... function P3 (line 89) | function P3(t){return t<0||t>9?!1:parseInt(t.toString(),10)===t} function AB (line 89) | function AB(t){if(!(t.primaryColor in t.colors))throw new Error(bce);if(... function EX (line 89) | function EX(t,e){if(!e)return AB(t),t;const n=pL(t,e);return e.fontFamil... function _a (line 89) | function _a(){const t=I.useContext(vL);if(!t)throw new Error("@mantine/c... function MX (line 89) | function MX({theme:t,children:e,inherit:n=!0}){const i=vce(),r=I.useMemo... function yce (line 89) | function yce(){const t=_a(),e=iA(),n=ef(t.breakpoints).reduce((i,r)=>{co... function U3 (line 89) | function U3(t){return Object.entries(t).map(([e,n])=>`${e}: ${n};`).join... function Ny (line 89) | function Ny(t,e){return(Array.isArray(t)?t:[t]).reduce((i,r)=>`${r}{${i}... function xce (line 89) | function xce(t,e){const n=U3(t.variables),i=n?Ny(e,n):"",r=U3(t.dark),a=... function T_ (line 93) | function T_({color:t,theme:e,autoContrast:n}){return(typeof n=="boolean"... function CB (line 93) | function CB(t,e){return T_({color:t.colors[t.primaryColor][I1(t,e)],them... function tw (line 93) | function tw({theme:t,color:e,colorScheme:n,name:i=e,withColorValues:r=!0... function _ce (line 93) | function _ce(t){return!!t&&typeof t=="object"&&"mantine-virtual-color"in t} function Kg (line 93) | function Kg(t,e,n){ef(e).forEach(i=>Object.assign(t,{[`--mantine-${n}-${... function Sce (line 93) | function Sce({theme:t,generator:e}){const n=TX(t),i=e?.(t);return i?pL(n... function wce (line 93) | function wce(t){const e={variables:{},light:{},dark:{}};return ef(t.vari... function Ece (line 93) | function Ece(t){return` function AX (line 96) | function AX({cssVariablesSelector:t,deduplicateCssVariables:e}){const n=... function Yg (line 96) | function Yg(t,e){const n=typeof window<"u"&&"matchMedia"in window&&windo... function Mce (line 96) | function Mce({manager:t,defaultColorScheme:e,getRootElement:n,forceColor... function Tce (line 96) | function Tce({respectReducedMotion:t,getRootElement:e}){Rv(()=>{t&&e()?.... function CX (line 96) | function CX({theme:t,children:e,getStyleNonce:n,withStaticClasses:i=!0,w... function Dv (line 96) | function Dv({classNames:t,styles:e,props:n,stylesCtx:i}){const r=_a();re... function Cce (line 96) | function Cce({theme:t,options:e,unstyled:n}){return ls(e?.focusable&&!n&... function Rce (line 96) | function Rce({selector:t,stylesCtx:e,options:n,props:i,theme:r}){return ... function RB (line 96) | function RB({selector:t,stylesCtx:e,theme:n,classNames:i,props:r}){retur... function kce (line 96) | function kce({rootSelector:t,selector:e,className:n}){return t===e?n:voi... function Dce (line 96) | function Dce({selector:t,classes:e,unstyled:n}){return n?void 0:e[t]} function Oce (line 96) | function Oce({themeName:t,classNamesPrefix:e,selector:n,withStaticClass:... function Ice (line 96) | function Ice({themeName:t,theme:e,selector:n,props:i,stylesCtx:r}){retur... function Nce (line 96) | function Nce({options:t,classes:e,selector:n,unstyled:i}){return t?.vari... function Lce (line 96) | function Lce({theme:t,options:e,themeName:n,selector:i,classNamesPrefix:... function Pce (line 96) | function Pce({theme:t,themeName:e,props:n,stylesCtx:i,selector:r}){retur... function AO (line 96) | function AO({style:t,theme:e}){return Array.isArray(t)?[...t].reduce((n,... function Uce (line 96) | function Uce(t){return t.reduce((e,n)=>(n&&Object.keys(n).forEach(i=>{e[... function Fce (line 96) | function Fce({vars:t,varsResolver:e,theme:n,props:i,stylesCtx:r,selector... function Bce (line 96) | function Bce({theme:t,themeName:e,selector:n,options:i,props:r,stylesCtx... function zce (line 96) | function zce({props:t,stylesCtx:e,themeName:n}){const i=_a(),r=lce()?.()... function Tn (line 96) | function Tn({name:t,classes:e,props:n,stylesCtx:i,className:r,style:a,ro... function sA (line 96) | function sA(t,e){return typeof t=="boolean"?t:e.autoContrast} function kB (line 96) | function kB(t){const e=document.createElement("style");return e.setAttri... function og (line 96) | function og({keepTransitions:t}={}){const e=I.useRef(s2),n=I.useRef(-1),... function Pt (line 96) | function Pt(t,e,n){const i=_a(),r=i.components[t]?.defaultProps,a=typeof... function B3 (line 96) | function B3(t){return ef(t).reduce((e,n)=>t[n]!==void 0?`${e}${Gle(n)}:$... function jce (line 96) | function jce({selector:t,styles:e,media:n,container:i}){const r=e?B3(e):... function RX (line 96) | function RX(t){const e=iA();return k.jsx("style",{"data-mantine-styles":... function A_ (line 96) | function A_(t){const{m:e,mx:n,my:i,mt:r,mb:a,ml:s,mr:o,me:l,ms:c,p:u,px:... function yL (line 96) | function yL(t,e){const n=ph({color:t,theme:e});return n.color==="dimmed"... function Vce (line 96) | function Vce(t,e){const n=ph({color:t,theme:e});return n.isThemeColor&&n... function Gce (line 96) | function Gce(t,e){if(typeof t=="number")return Et(t);if(typeof t=="strin... function Wce (line 96) | function Wce(t){return typeof t=="string"&&t in DB?DB[t]:t} function Xce (line 96) | function Xce(t,e){return typeof t=="string"&&t in e.fontSizes?`var(--man... function Kce (line 96) | function Kce(t){return t} function Jce (line 96) | function Jce(t,e){return typeof t=="string"&&t in e.lineHeights?`var(--m... function $ce (line 96) | function $ce(t,e){return typeof t=="string"&&t in e.radius?`var(--mantin... function Zce (line 96) | function Zce(t){return typeof t=="number"?Et(t):t} function Qce (line 96) | function Qce(t,e){if(typeof t=="number")return Et(t);if(typeof t=="strin... function OB (line 96) | function OB(t){return t.replace("(min-width: ","").replace("em)","")} function eue (line 96) | function eue({media:t,...e}){const i=Object.keys(t).sort((r,a)=>Number(O... function tue (line 96) | function tue(t){if(typeof t!="object"||t===null)return!1;const e=Object.... function nue (line 96) | function nue(t){return typeof t=="object"&&t!==null?"base"in t?t.base:vo... function iue (line 96) | function iue(t){return typeof t=="object"&&t!==null?ef(t).filter(e=>e!==... function rue (line 96) | function rue(t,e){return typeof t=="object"&&t!==null&&e in t?t[e]:t} function kX (line 96) | function kX({styleProps:t,data:e,theme:n}){return eue(ef(t).reduce((i,r)... function DX (line 96) | function DX(){return`__m__-${I.useId().replace(/[:«»]/g,"")}`} function xL (line 96) | function xL(t,e){return Array.isArray(t)?[...t].reduce((n,i)=>({...n,...... function OX (line 96) | function OX(t){return t.startsWith("data-")?t:`data-${t}`} function aue (line 96) | function aue(t){return Object.keys(t).reduce((e,n)=>{const i=t[n];return... function IX (line 96) | function IX(t){return t?typeof t=="string"?{[OX(t)]:!0}:Array.isArray(t)... function CO (line 96) | function CO(t,e){return Array.isArray(t)?[...t].reduce((n,i)=>({...n,...... function sue (line 96) | function sue({theme:t,style:e,vars:n,styleProps:i}){const r=CO(e,t),a=CO... function LX (line 96) | function LX(t){return t} function tn (line 96) | function tn(t){const e=I.forwardRef(t);return e.extend=LX,e.withProps=n=... function Dl (line 96) | function Dl(t){const e=I.forwardRef(t);return e.withProps=n=>{const i=I.... function Ov (line 96) | function Ov(){return I.useContext(oue)} function lue (line 96) | function lue(t){if(!t||typeof t=="string")return 0;const e=t/36;return M... function j3 (line 96) | function j3(t){return t?.current?t.current.scrollHeight:"auto"} function uue (line 96) | function uue({transitionDuration:t,transitionTimingFunction:e="ease",onT... function oA (line 96) | function oA(){return typeof window<"u"} function Iv (line 96) | function Iv(t){return PX(t)?(t.nodeName||"").toLowerCase():"#document"} function Ho (line 96) | function Ho(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.... function bf (line 96) | function bf(t){var e;return(e=(PX(t)?t.ownerDocument:t.document)||window... function PX (line 96) | function PX(t){return oA()?t instanceof Node||t instanceof Ho(t).Node:!1} function jr (line 96) | function jr(t){return oA()?t instanceof Element||t instanceof Ho(t).Elem... function Rl (line 96) | function Rl(t){return oA()?t instanceof HTMLElement||t instanceof Ho(t).... function RO (line 96) | function RO(t){return!oA()||typeof ShadowRoot>"u"?!1:t instanceof Shadow... function C_ (line 96) | function C_(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=Mc(t)... function pue (line 96) | function pue(t){return due.has(Iv(t))} function lA (line 96) | function lA(t){return mue.some(e=>{try{return t.matches(e)}catch{return!... function _L (line 96) | function _L(t){const e=cA(),n=jr(t)?Mc(t):t;return gue.some(i=>n[i]?n[i]... function yue (line 96) | function yue(t){let e=gh(t);for(;Rl(e)&&!rh(e);){if(_L(e))return e;if(lA... function cA (line 96) | function cA(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-web... function rh (line 96) | function rh(t){return xue.has(Iv(t))} function Mc (line 96) | function Mc(t){return Ho(t).getComputedStyle(t)} function uA (line 96) | function uA(t){return jr(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollT... function gh (line 96) | function gh(t){if(Iv(t)==="html")return t;const e=t.assignedSlot||t.pare... function UX (line 96) | function UX(t){const e=gh(t);return rh(e)?t.ownerDocument?t.ownerDocumen... function ah (line 96) | function ah(t,e,n){var i;e===void 0&&(e=[]),n===void 0&&(n=!0);const r=U... function kO (line 96) | function kO(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameE... function DO (line 96) | function DO(t,e,n){return eo(t,yu(e,n))} function lf (line 96) | function lf(t,e){return typeof t=="function"?t(e):t} function xu (line 96) | function xu(t){return t.split("-")[0]} function Nv (line 96) | function Nv(t){return t.split("-")[1]} function SL (line 96) | function SL(t){return t==="x"?"y":"x"} function wL (line 96) | function wL(t){return t==="y"?"height":"width"} function fu (line 96) | function fu(t){return Eue.has(xu(t))?"y":"x"} function EL (line 96) | function EL(t){return SL(fu(t))} function Mue (line 96) | function Mue(t,e,n){n===void 0&&(n=!1);const i=Nv(t),r=EL(t),a=wL(r);let... function Tue (line 96) | function Tue(t){const e=c2(t);return[OO(t),e,OO(e)]} function OO (line 96) | function OO(t){return t.replace(/start|end/g,e=>wue[e])} function Rue (line 96) | function Rue(t,e,n){switch(t){case"top":case"bottom":return n?e?LB:NB:e?... function kue (line 96) | function kue(t,e,n,i){const r=Nv(t);let a=Rue(xu(t),n==="start",i);retur... function c2 (line 96) | function c2(t){return t.replace(/left|right|bottom|top/g,e=>Sue[e])} function Due (line 96) | function Due(t){return{top:0,right:0,bottom:0,left:0,...t}} function ML (line 96) | function ML(t){return typeof t!="number"?Due(t):{top:t,right:t,bottom:t,... function W0 (line 96) | function W0(t){const{x:e,y:n,width:i,height:r}=t;return{width:i,height:r... function Oue (line 96) | function Oue(){const t=navigator.userAgentData;return t!=null&&t.platfor... function Iue (line 96) | function Iue(){const t=navigator.userAgentData;return t&&Array.isArray(t... function Nue (line 96) | function Nue(){return/apple/i.test(navigator.vendor)} function Lue (line 96) | function Lue(){return Oue().toLowerCase().startsWith("mac")&&!navigator.... function Pue (line 96) | function Pue(){return Iue().includes("jsdom/")} function UB (line 96) | function UB(t){let e=t.activeElement;for(;((n=e)==null||(n=n.shadowRoot)... function N1 (line 96) | function N1(t,e){if(!t||!e)return!1;const n=e.getRootNode==null?void 0:e... function jb (line 96) | function jb(t){return"composedPath"in t?t.composedPath()[0]:t.target} function H3 (line 96) | function H3(t,e){if(e==null)return!1;if("composedPath"in t)return t.comp... function Fue (line 96) | function Fue(t){return t.matches("html,body")} function sm (line 96) | function sm(t){return t?.ownerDocument||document} function Bue (line 96) | function Bue(t){return Rl(t)&&t.matches(Uue)} function zue (line 96) | function zue(t){if(!t||Pue())return!0;try{return t.matches(":focus-visib... function jue (line 96) | function jue(t){return t?t.hasAttribute(PB)?t:t.querySelector("["+PB+"]"... function sM (line 96) | function sM(t,e,n){return n===void 0&&(n=!0),t.filter(r=>{var a;return r... function Hue (line 96) | function Hue(t){return"nativeEvent"in t} function IO (line 96) | function IO(t,e){const n=["mouse","pen"];return n.push("",void 0),n.incl... function iw (line 96) | function iw(t){const e=I.useRef(t);return nf(()=>{e.current=t}),e} function Wu (line 96) | function Wu(t){const e=I.useRef(()=>{});return Xue(()=>{e.current=t}),I.... function FB (line 96) | function FB(t,e,n){let{reference:i,floating:r}=t;const a=fu(e),s=EL(e),o... function L1 (line 96) | async function L1(t,e){var n;e===void 0&&(e={});const{x:i,y:r,platform:a... method fn (line 96) | async fn(e){const{x:n,y:i,placement:r,rects:a,platform:s,elements:o,midd... method fn (line 96) | async fn(e){var n,i;const{placement:r,middlewareData:a,rects:s,initialPl... function BB (line 96) | function BB(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:... function zB (line 96) | function zB(t){return _ue.some(e=>t[e]>=0)} method fn (line 96) | async fn(e){const{rects:n}=e,{strategy:i="referenceHidden",...r}=lf(t,e)... function FX (line 96) | function FX(t){const e=yu(...t.map(a=>a.left)),n=yu(...t.map(a=>a.top)),... function Zue (line 96) | function Zue(t){const e=t.slice().sort((r,a)=>r.y-a.y),n=[];let i=null;f... method fn (line 96) | async fn(e){const{placement:n,elements:i,rects:r,platform:a,strategy:s}=... function efe (line 96) | async function efe(t,e){const{placement:n,platform:i,elements:r}=t,a=awa... method fn (line 96) | async fn(e){var n,i;const{x:r,y:a,placement:s,middlewareData:o}=e,l=awai... method fn (line 96) | async fn(e){const{x:n,y:i,placement:r}=e,{mainAxis:a=!0,crossAxis:s=!1,l... method fn (line 96) | fn(e){const{x:n,y:i,placement:r,rects:a,middlewareData:s}=e,{offset:o=0,... method fn (line 96) | async fn(e){var n,i;const{placement:r,rects:a,platform:s,elements:o}=e,{... function zX (line 96) | function zX(t){const e=Mc(t);let n=parseFloat(e.width)||0,i=parseFloat(e... function TL (line 96) | function TL(t){return jr(t)?t:t.contextElement} function v0 (line 96) | function v0(t){const e=TL(t);if(!Rl(e))return tf(1);const n=e.getBoundin... function jX (line 96) | function jX(t){const e=Ho(t);return!cA()||!e.visualViewport?afe:{x:e.vis... function sfe (line 96) | function sfe(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==Ho(t)?!1:e} function Vm (line 96) | function Vm(t,e,n,i){e===void 0&&(e=!1),n===void 0&&(n=!1);const r=t.get... function fA (line 96) | function fA(t,e){const n=uA(t).scrollLeft;return e?e.left+n:Vm(bf(t)).le... function HX (line 96) | function HX(t,e){const n=t.getBoundingClientRect(),i=n.left+e.scrollLeft... function ofe (line 96) | function ofe(t){let{elements:e,rect:n,offsetParent:i,strategy:r}=t;const... function lfe (line 96) | function lfe(t){return Array.from(t.getClientRects())} function cfe (line 96) | function cfe(t){const e=bf(t),n=uA(t),i=t.ownerDocument.body,r=eo(e.scro... function ufe (line 96) | function ufe(t,e){const n=Ho(t),i=bf(t),r=n.visualViewport;let a=i.clien... function hfe (line 96) | function hfe(t,e){const n=Vm(t,!0,e==="fixed"),i=n.top+t.clientTop,r=n.l... function HB (line 96) | function HB(t,e,n){let i;if(e==="viewport")i=ufe(t,n);else if(e==="docum... function VX (line 96) | function VX(t,e){const n=gh(t);return n===e||!jr(n)||rh(n)?!1:Mc(n).posi... function dfe (line 96) | function dfe(t,e){const n=e.get(t);if(n)return n;let i=ah(t,[],!1).filte... function pfe (line 96) | function pfe(t){let{element:e,boundary:n,rootBoundary:i,strategy:r}=t;co... function mfe (line 96) | function mfe(t){const{width:e,height:n}=zX(t);return{width:e,height:n}} function gfe (line 96) | function gfe(t,e,n){const i=Rl(e),r=bf(e),a=n==="fixed",s=Vm(t,!0,a,e);l... function V3 (line 96) | function V3(t){return Mc(t).position==="static"} function VB (line 96) | function VB(t,e){if(!Rl(t)||Mc(t).position==="fixed")return null;if(e)re... function GX (line 96) | function GX(t,e){const n=Ho(t);if(lA(t))return n;if(!Rl(t)){let r=gh(t);... function vfe (line 96) | function vfe(t){return Mc(t).direction==="rtl"} function WX (line 96) | function WX(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.heigh... function xfe (line 96) | function xfe(t,e){let n=null,i;const r=bf(t);function a(){var o;clearTim... function NO (line 96) | function NO(t,e,n,i){i===void 0&&(i={});const{ancestorScroll:r=!0,ancest... function u2 (line 96) | function u2(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;if(typ... function qX (line 96) | function qX(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||... function WB (line 96) | function WB(t,e){const n=qX(t);return Math.round(e*n)/n} function G3 (line 96) | function G3(t){const e=I.useRef(t);return oM(()=>{e.current=t}),e} function Dfe (line 96) | function Dfe(t){t===void 0&&(t={});const{placement:e="bottom",strategy:n... function e (line 96) | function e(n){return{}.hasOwnProperty.call(n,"current")} method fn (line 96) | fn(n){const{element:i,padding:r}=typeof t=="function"?t(n):t;return i&&e... function YX (line 96) | function YX(t){const e=I.useRef(void 0),n=I.useCallback(i=>{const r=t.ma... function Ffe (line 96) | function Ffe(){const[t,e]=I.useState(()=>YB?JB():void 0);return nf(()=>{... function zfe (line 96) | function zfe(){const t=new Map;return{emit(e,n){var i;(i=t.get(e))==null... function kL (line 96) | function kL(t){return"data-floating-ui-"+t} function Zl (line 96) | function Zl(t){t.current!==-1&&(clearTimeout(t.current),t.current=-1)} function lM (line 96) | function lM(t,e,n){if(n&&!IO(n))return 0;if(typeof t=="number")return t;... function W3 (line 96) | function W3(t){return typeof t=="function"?t():t} function Vfe (line 96) | function Vfe(t,e){e===void 0&&(e={});const{open:n,onOpenChange:i,dataRef... function Wfe (line 96) | function Wfe(t){const{children:e,delay:n,timeoutMs:i=0}=t,[r,a]=I.useRed... function qfe (line 96) | function qfe(t,e){e===void 0&&(e={});const{open:n,onOpenChange:i,floatin... function Yfe (line 96) | function Yfe(t,e){e===void 0&&(e={});const{open:n,onOpenChange:i,element... function Jfe (line 96) | function Jfe(t){const{open:e=!1,onOpenChange:n,elements:i}=t,r=JX(),a=I.... function DL (line 96) | function DL(t){t===void 0&&(t={});const{nodeId:e}=t,n=Jfe({...t,elements... function q3 (line 96) | function q3(){return Lue()&&Nue()} function $fe (line 96) | function $fe(t,e){e===void 0&&(e={});const{open:n,onOpenChange:i,events:... function X3 (line 96) | function X3(t,e,n){const i=new Map,r=n==="item";let a=t;if(r&&t){const{[... function Zfe (line 96) | function Zfe(t){t===void 0&&(t=[]);const e=t.map(o=>o?.reference),n=t.ma... function ehe (line 96) | function ehe(t,e){var n,i;e===void 0&&(e={});const{open:r,elements:a,flo... function q0 (line 96) | function q0(t,e){const n=em(e);Rv(()=>{let i=0;if(t){const r=new ResizeO... function QX (line 96) | function QX(t,e){const n=t/e;return Number.isNaN(n)?0:n} function hA (line 96) | function hA(t){const e=QX(t.viewport,t.content),n=t.scrollbar.paddingSta... function eK (line 96) | function eK(t,e){return n=>{if(t[0]===t[1]||e[0]===e[1])return e[0];cons... function ahe (line 96) | function ahe(t,[e,n]){return Math.min(n,Math.max(e,t))} function QB (line 96) | function QB(t,e,n="ltr"){const i=hA(e),r=e.scrollbar.paddingStart+e.scro... function she (line 96) | function she(t,e,n,i="ltr"){const r=hA(n),a=r/2,s=e||a,o=r-s,l=n.scrollb... function tK (line 96) | function tK(t,e){return t>0&&t{t?.(i),(n... function che (line 96) | function che(t,e=()=>{}){let n={left:t.scrollLeft,top:t.scrollTop},i=0;r... function ez (line 96) | function ez(t,e,n,i){return t==="center"||i==="center"?{top:e}:t==="end"... function tz (line 96) | function tz(t,e,n,i,r){return t==="center"||i==="center"?{left:e}:t==="e... function phe (line 96) | function phe({position:t,arrowSize:e,arrowOffset:n,arrowRadius:i,arrowPo... function dK (line 96) | function dK(t,e){if(t==="rtl"&&(e.includes("right")||e.includes("left"))... function K3 (line 96) | function K3(t){const e=document.createElement("div");return e.setAttribu... function bhe (line 96) | function bhe({target:t,reuseTargetNode:e,...n}){if(t)return typeof t=="s... function yhe (line 96) | function yhe({transition:t,state:e,duration:n,timingFunction:i}){const r... function xhe (line 96) | function xhe({duration:t,exitDuration:e,timingFunction:n,mounted:i,onEnt... function Tc (line 96) | function Tc({keepMounted:t,transition:e="fade",duration:n=250,exitDurati... function mA (line 96) | function mA({children:t,active:e=!0,refProp:n="ref",innerRef:i}){const r... function gK (line 96) | function gK(t){return k.jsx(LL,{tabIndex:-1,"data-autofocus":!0,...t})} function whe (line 96) | function whe(t){if(t===void 0)return{shift:!0,flip:!0};const e={...t};re... function Ehe (line 96) | function Ehe(t,e,n){const i=whe(t.middlewares),r=[XX(t.offset),Nfe()];re... function Mhe (line 96) | function Mhe(t){const e=rA(),[n,i]=Cl({value:t.opened,defaultValue:t.def... function Vo (line 96) | function Vo(t){const e=Pt("Popover",The,t),{children:n,position:i,offset... function Lhe (line 96) | function Lhe(t){return I.Children.toArray(t).filter(Boolean)} function Bhe (line 96) | function Bhe({opened:t,transitionDuration:e}){const[n,i]=I.useState(t),r... function zhe (line 96) | function zhe({id:t,transitionProps:e,opened:n,trapFocus:i,closeOnEscape:... function jhe (line 96) | function jhe(){const t=wh();return I.useEffect(()=>(t.setBodyMounted(!0)... function Vhe (line 96) | function Vhe(t){const e=wh();return{...Hhe,...e.transitionProps,...t}} function Ghe (line 96) | function Ghe(){const t=wh();return I.useEffect(()=>(t.setTitleMounted(!0... function Whe (line 96) | function Whe({children:t}){return k.jsx(k.Fragment,{children:t})} function Yhe (line 96) | function Yhe({__clearable:t,__clearSection:e,rightSection:n,__defaultRig... function ede (line 96) | function ede(t,{hasDescription:e,hasError:n}){const i=t.findIndex(l=>l==... function NK (line 96) | function NK(t,e,n){const i=Pt(t,e,n),{label:r,description:a,error:s,requ... function ode (line 96) | function ode(t){if(t==="start")return"start";if(t==="end"||t)return"end"} function FK (line 96) | function FK(t){return typeof t=="string"?{value:t,label:t}:"value"in t&&... function fde (line 96) | function fde(t){return t?t.map(e=>FK(e)):[]} function BK (line 96) | function BK(t){return t.reduce((e,n)=>"group"in n?{...e,...BK(n.items)}:... function WL (line 96) | function WL({onKeyDown:t,withKeyboardNavigation:e,withAriaAttributes:n,w... function VK (line 96) | function VK({value:t,valuesDivider:e=",",...n}){return k.jsx("input",{ty... function yde (line 96) | function yde(t,e,n){for(let i=t-1;i>=0;i-=1)if(!e[i].hasAttribute("data-... function xde (line 96) | function xde(t,e,n){for(let i=t+1;ibc(parseInt(s,16)/2... function lz (line 96) | function lz(t){const e=Zde.exec(t);return e?FO({r:Number(e[1])/(e[2]?100... function Ex (line 96) | function Ex(t){for(const[,e]of Object.entries(lY))if(e.test(t))return!0;... function om (line 96) | function om(t){if(typeof t!="string")return{h:0,s:0,v:0,a:1};if(t==="tra... function uY (line 96) | function uY({h:t,s:e,v:n,a:i}){const r=t/360*6,a=e/100,s=n/100,o=Math.fl... function cz (line 96) | function cz(t,e){const{r:n,g:i,b:r,a}=uY(t);return e?`rgba(${n}, ${i}, $... function uz (line 96) | function uz({h:t,s:e,v:n,a:i},r){const a=(200-e)*n/100,s={h:Math.round(t... function cM (line 96) | function cM(t){const e=t.toString(16);return e.length<2?`0${e}`:e} function fY (line 96) | function fY(t){const{r:e,g:n,b:i}=uY(t);return`#${cM(e)}${cM(n)}${cM(i)}`} function epe (line 96) | function epe(t){const e=Math.round(t.a*255);return`${fY(t)}${cM(e)}`} function eu (line 96) | function eu(t,e){return e?t in Y3?Y3[t](e):Y3.hex(e):"#000000"} function dY (line 96) | function dY({className:t,onChange:e,onChangeEnd:n,value:i,saturationLabe... function ipe (line 96) | function ipe({style:t,...e}){return k.jsxs("svg",{xmlns:"http://www.w3.o... function gY (line 96) | function gY(t){const{children:e,timeout:n,value:i,...r}=Pt("CopyButton",... function ppe (line 96) | function ppe(t,e,n,i){n===void 0&&(n=1),i===void 0&&(i=1/0),mo||(mo=docu... function pP (line 96) | function pP(t,e,n){var i=fpe(n);I.useLayoutEffect(function(){var r=funct... function yY (line 96) | function yY({children:t}){const[e,n]=I.useState([]),[i,r]=I.useState(gf(... function _Y (line 96) | function _Y(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty... function bd (line 96) | function bd(){} function Bpe (line 96) | function Bpe(t){var e,n=void 0;return function(){for(var i=[],r=argument... function F1 (line 96) | function F1(t){return!!(t||"").match(/\d/)} function y0 (line 96) | function y0(t){return t==null} function zpe (line 96) | function zpe(t){return typeof t=="number"&&isNaN(t)} function SY (line 96) | function SY(t){return y0(t)||zpe(t)||typeof t=="number"&&!isFinite(t)} function wY (line 96) | function wY(t){return t.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")} function jpe (line 96) | function jpe(t){switch(t){case"lakh":return/(\d+?)(?=(\d\d)+(\d)(?!\d))(... function Hpe (line 96) | function Hpe(t,e,n){var i=jpe(n),r=t.search(/[1-9]/);return r=r===-1?t.l... function Vpe (line 96) | function Vpe(t){var e=I.useRef(t);e.current=t;var n=I.useRef(function(){... function vP (line 96) | function vP(t,e){e===void 0&&(e=!0);var n=t[0]==="-",i=n&&e;t=t.replace(... function Gpe (line 96) | function Gpe(t){if(!t)return t;var e=t[0]==="-";e&&(t=t.substring(1,t.le... function EY (line 96) | function EY(t,e,n){for(var i="",r=n?"0":"",a=0;a<=e-1;a++)i+=t[a]||r;ret... function vz (line 96) | function vz(t,e){return Array(e+1).join(t)} function MY (line 96) | function MY(t){var e=t+"",n=e[0]==="-"?"-":"";n&&(e=e.substring(1));var ... function yz (line 96) | function yz(t,e,n){if(["","-"].indexOf(t)!==-1)return t;var i=(t.indexOf... function tm (line 96) | function tm(t,e){if(t.value=t.value,t!==null){if(t.createTextRange){var ... function qpe (line 96) | function qpe(t,e,n){return Math.min(Math.max(t,e),n)} function J3 (line 96) | function J3(t){return Math.max(t.selectionStart,t.selectionEnd)} function Xpe (line 96) | function Xpe(){return typeof navigator<"u"&&!(navigator.platform&&/iPhon... function Kpe (line 96) | function Kpe(t){return{from:{start:0,end:0},to:{start:0,end:t.length},la... function Ype (line 96) | function Ype(t){var e=t.currentValue,n=t.formattedValue,i=t.currentValue... function Jpe (line 96) | function Jpe(t,e,n,i,r,a,s){s===void 0&&(s=Ype);var o=r.findIndex(functi... function xz (line 96) | function xz(t,e,n,i){var r=t.length;if(e=qpe(e,0,r),i==="left"){for(;e>=... function $pe (line 96) | function $pe(t){for(var e=Array.from({length:t.length+1}).map(function()... function AY (line 96) | function AY(t,e,n,i,r,a){a===void 0&&(a=bd);var s=Vpe(function(g,b){var ... function Zpe (line 96) | function Zpe(t){return t.replace(/[^0-9]/g,"")} function Qpe (line 96) | function Qpe(t){return t} function eme (line 96) | function eme(t){var e=t.type;e===void 0&&(e="text");var n=t.displayType;... function _z (line 96) | function _z(t,e){var n=e.decimalScale,i=e.fixedDecimalScale,r=e.prefix;r... function AA (line 96) | function AA(t){var e=t.decimalSeparator;e===void 0&&(e=".");var n=t.thou... function tme (line 96) | function tme(t,e){t===void 0&&(t="");var n=new RegExp("(-)"),i=new RegEx... function nme (line 96) | function nme(t,e){return new RegExp("(^-)|[0-9]|"+wY(t),"g")} function ime (line 96) | function ime(t,e,n){return t===""?!0:!e?.match(/\d/)&&!n?.match(/\d/)&&t... function rme (line 96) | function rme(t,e,n){var i;e===void 0&&(e=Kpe(t));var r=n.allowNegative,a... function ame (line 96) | function ame(t,e){var n=e.prefix;n===void 0&&(n="");var i=e.suffix;i===v... function sme (line 96) | function sme(t){var e=AA(t),n=e.thousandSeparator,i=e.decimalSeparator,r... function ome (line 104) | function ome(t){t=sme(t),t.decimalSeparator,t.allowedDecimalSeparators,t... function lme (line 104) | function lme(t){var e=ome(t);return Ce.createElement(eme,Object.assign({... function Sz (line 104) | function Sz({direction:t,style:e,...n}){return k.jsx("svg",{style:{width... function jO (line 104) | function jO(t){return typeof t=="string"&&t!==""&&!Number.isNaN(Number(t))} function $3 (line 104) | function $3(t){return typeof t=="number"?t=e,r=n==... function gme (line 104) | function gme(t,e,n){const i=t.toString().replace(/^0+/,""),r=parseFloat(... function Ez (line 104) | function Ez(t,e){return{...xme,...e,...t}} function _me (line 104) | function _me({offset:t,position:e,defaultOpened:n}){const[i,r]=I.useStat... function _P (line 104) | function _P(t){const{openDelay:e,closeDelay:n,children:i}=Pt("TooltipGro... function Ame (line 104) | function Ame(t){if(t===void 0)return{shift:!0,flip:!0};const e={...t};re... function Cme (line 104) | function Cme(t){const e=Ame(t.middlewares),n=[XX(t.offset)];return e.shi... function Rme (line 104) | function Rme(t){const[e,n]=I.useState(t.defaultOpened),r=typeof t.opened... function OY (line 104) | function OY({value:t,min:e,max:n}){const i=(t-e)/(n-e)*100;return Math.m... function Ime (line 104) | function Ime({mark:t,offset:e,value:n,inverted:i=!1}){return i?typeof e=... function IY (line 104) | function IY({marks:t,min:e,max:n,disabled:i,value:r,offset:a,inverted:s}... function NY (line 104) | function NY({filled:t,children:e,offset:n,disabled:i,marksOffset:r,inver... function Nme (line 104) | function Nme({value:t,containerWidth:e,min:n,max:i,step:r,precision:a}){... function aw (line 104) | function aw(t,e){return parseFloat(t.toFixed(e))} function Lme (line 104) | function Lme(t){if(!t)return 0;const e=t.toString().split(".");return e.... function Z3 (line 104) | function Z3(t,e){const i=[...e].sort((r,a)=>r.value-a.value).find(r=>r.v... function Q3 (line 104) | function Q3(t,e){const i=[...e].sort((r,a)=>a.value-r.value).find(r=>r.v... function Tz (line 104) | function Tz(t){const e=[...t].sort((n,i)=>n.value-i.value);return e.leng... function Az (line 104) | function Az(t){const e=[...t].sort((n,i)=>n.value-i.value);return e.leng... function qme (line 104) | function qme(t,e){if(!e)return;const n={};return e.columnBorder&&t.withC... function ug (line 104) | function ug(t,e){const n=`Table${t.charAt(0).toUpperCase()}${t.slice(1)}... function wP (line 104) | function wP({data:t}){return k.jsxs(k.Fragment,{children:[t.caption&&k.j... function nge (line 104) | function nge(t,e){const n=e!==void 0?e:`h${t}`;return ege.includes(n)?{f... function age (line 104) | function age(t,e){return t.reduce((n,i)=>(n[i.position||e].push(i),n),WY... function oge (line 104) | function oge({state:t,maxHeight:e,position:n,transitionDuration:i}){cons... function lge (line 104) | function lge(t,e){return typeof e=="number"?e:e===!1||t===!1?!1:t} method addEventListener (line 108) | addEventListener(e,n){this._listeners===void 0&&(this._listeners={});con... method hasEventListener (line 108) | hasEventListener(e,n){const i=this._listeners;return i===void 0?!1:i[e]!... method removeEventListener (line 108) | removeEventListener(e,n){const i=this._listeners;if(i===void 0)return;co... method dispatchEvent (line 108) | dispatchEvent(e){const n=this._listeners;if(n===void 0)return;const i=n[... function El (line 108) | function El(){const t=Math.random()*4294967295|0,e=Math.random()*4294967... function Pn (line 108) | function Pn(t,e,n){return Math.max(e,Math.min(n,t))} function BP (line 108) | function BP(t,e){return(t%e+e)%e} function qge (line 108) | function qge(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)} function Xge (line 108) | function Xge(t,e,n){return t!==e?(n-t)/(e-t):0} function i1 (line 108) | function i1(t,e,n){return(1-n)*t+n*e} function Kge (line 108) | function Kge(t,e,n,i){return i1(t,e,1-Math.exp(-n*i))} function Yge (line 108) | function Yge(t,e=1){return e-Math.abs(BP(t,e*2)-e)} function Jge (line 108) | function Jge(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))} function $ge (line 108) | function $ge(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*t*(t*(t*6-15... function Zge (line 108) | function Zge(t,e){return t+Math.floor(Math.random()*(e-t+1))} function Qge (line 108) | function Qge(t,e){return t+Math.random()*(e-t)} function ebe (line 108) | function ebe(t){return t*(.5-Math.random())} function tbe (line 108) | function tbe(t){t!==void 0&&(kz=t);let e=kz+=1831565813;return e=Math.im... function nbe (line 108) | function nbe(t){return t*Dm} function ibe (line 108) | function ibe(t){return t*av} function rbe (line 108) | function rbe(t){return(t&t-1)===0&&t!==0} function abe (line 108) | function abe(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))} function sbe (line 108) | function sbe(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))} function obe (line 108) | function obe(t,e,n,i,r){const a=Math.cos,s=Math.sin,o=a(n/2),l=s(n/2),c=... function wo (line 108) | function wo(t,e){switch(e.constructor){case Float32Array:return t;case U... function ti (line 108) | function ti(t,e){switch(e.constructor){case Float32Array:return t;case U... class wt (line 108) | class wt{constructor(e=0,n=0){wt.prototype.isVector2=!0,this.x=e,this.y=... method constructor (line 108) | constructor(e=0,n=0){wt.prototype.isVector2=!0,this.x=e,this.y=n} method width (line 108) | get width(){return this.x} method width (line 108) | set width(e){this.x=e} method height (line 108) | get height(){return this.y} method height (line 108) | set height(e){this.y=e} method set (line 108) | set(e,n){return this.x=e,this.y=n,this} method setScalar (line 108) | setScalar(e){return this.x=e,this.y=e,this} method setX (line 108) | setX(e){return this.x=e,this} method setY (line 108) | setY(e){return this.y=e,this} method setComponent (line 108) | setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;brea... method getComponent (line 108) | getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;de... method clone (line 108) | clone(){return new this.constructor(this.x,this.y)} method copy (line 108) | copy(e){return this.x=e.x,this.y=e.y,this} method add (line 108) | add(e){return this.x+=e.x,this.y+=e.y,this} method addScalar (line 108) | addScalar(e){return this.x+=e,this.y+=e,this} method addVectors (line 108) | addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this} method addScaledVector (line 108) | addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this} method sub (line 108) | sub(e){return this.x-=e.x,this.y-=e.y,this} method subScalar (line 108) | subScalar(e){return this.x-=e,this.y-=e,this} method subVectors (line 108) | subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this} method multiply (line 108) | multiply(e){return this.x*=e.x,this.y*=e.y,this} method multiplyScalar (line 108) | multiplyScalar(e){return this.x*=e,this.y*=e,this} method divide (line 108) | divide(e){return this.x/=e.x,this.y/=e.y,this} method divideScalar (line 108) | divideScalar(e){return this.multiplyScalar(1/e)} method applyMatrix3 (line 108) | applyMatrix3(e){const n=this.x,i=this.y,r=e.elements;return this.x=r[0... method min (line 108) | min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),... method max (line 108) | max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),... method clamp (line 108) | clamp(e,n){return this.x=Pn(this.x,e.x,n.x),this.y=Pn(this.y,e.y,n.y),... method clampScalar (line 108) | clampScalar(e,n){return this.x=Pn(this.x,e,n),this.y=Pn(this.y,e,n),this} method clampLength (line 108) | clampLength(e,n){const i=this.length();return this.divideScalar(i||1).... method floor (line 108) | floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this} method ceil (line 108) | ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this} method round (line 108) | round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this} method roundToZero (line 108) | roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.... method negate (line 108) | negate(){return this.x=-this.x,this.y=-this.y,this} method dot (line 108) | dot(e){return this.x*e.x+this.y*e.y} method cross (line 108) | cross(e){return this.x*e.y-this.y*e.x} method lengthSq (line 108) | lengthSq(){return this.x*this.x+this.y*this.y} method length (line 108) | length(){return Math.sqrt(this.x*this.x+this.y*this.y)} method manhattanLength (line 108) | manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)} method normalize (line 108) | normalize(){return this.divideScalar(this.length()||1)} method angle (line 108) | angle(){return Math.atan2(-this.y,-this.x)+Math.PI} method angleTo (line 108) | angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)re... method distanceTo (line 108) | distanceTo(e){return Math.sqrt(this.distanceToSquared(e))} method distanceToSquared (line 108) | distanceToSquared(e){const n=this.x-e.x,i=this.y-e.y;return n*n+i*i} method manhattanDistanceTo (line 108) | manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)} method setLength (line 108) | setLength(e){return this.normalize().multiplyScalar(e)} method lerp (line 108) | lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this} method lerpVectors (line 108) | lerpVectors(e,n,i){return this.x=e.x+(n.x-e.x)*i,this.y=e.y+(n.y-e.y)*... method equals (line 108) | equals(e){return e.x===this.x&&e.y===this.y} method fromArray (line 108) | fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this} method toArray (line 108) | toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e} method fromBufferAttribute (line 108) | fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this} method rotateAround (line 108) | rotateAround(e,n){const i=Math.cos(n),r=Math.sin(n),a=this.x-e.x,s=thi... method random (line 108) | random(){return this.x=Math.random(),this.y=Math.random(),this} method [Symbol.iterator] (line 108) | *[Symbol.iterator](){yield this.x,yield this.y} class qn (line 108) | class qn{constructor(e=0,n=0,i=0,r=1){this.isQuaternion=!0,this._x=e,thi... method constructor (line 108) | constructor(e=0,n=0,i=0,r=1){this.isQuaternion=!0,this._x=e,this._y=n,... method slerpFlat (line 108) | static slerpFlat(e,n,i,r,a,s,o){let l=i[r+0],c=i[r+1],u=i[r+2],f=i[r+3... method multiplyQuaternionsFlat (line 108) | static multiplyQuaternionsFlat(e,n,i,r,a,s){const o=i[r],l=i[r+1],c=i[... method x (line 108) | get x(){return this._x} method x (line 108) | set x(e){this._x=e,this._onChangeCallback()} method y (line 108) | get y(){return this._y} method y (line 108) | set y(e){this._y=e,this._onChangeCallback()} method z (line 108) | get z(){return this._z} method z (line 108) | set z(e){this._z=e,this._onChangeCallback()} method w (line 108) | get w(){return this._w} method w (line 108) | set w(e){this._w=e,this._onChangeCallback()} method set (line 108) | set(e,n,i,r){return this._x=e,this._y=n,this._z=i,this._w=r,this._onCh... method clone (line 108) | clone(){return new this.constructor(this._x,this._y,this._z,this._w)} method copy (line 108) | copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._o... method setFromEuler (line 108) | setFromEuler(e,n=!0){const i=e._x,r=e._y,a=e._z,s=e._order,o=Math.cos,... method setFromAxisAngle (line 108) | setFromAxisAngle(e,n){const i=n/2,r=Math.sin(i);return this._x=e.x*r,t... method setFromRotationMatrix (line 108) | setFromRotationMatrix(e){const n=e.elements,i=n[0],r=n[4],a=n[8],s=n[1... method setFromUnitVectors (line 108) | setFromUnitVectors(e,n){let i=e.dot(n)+1;return i<1e-8?(i=0,Math.abs(e... method angleTo (line 108) | angleTo(e){return 2*Math.acos(Math.abs(Pn(this.dot(e),-1,1)))} method rotateTowards (line 108) | rotateTowards(e,n){const i=this.angleTo(e);if(i===0)return this;const ... method identity (line 108) | identity(){return this.set(0,0,0,1)} method invert (line 108) | invert(){return this.conjugate()} method conjugate (line 108) | conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeC... method dot (line 108) | dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w} method lengthSq (line 108) | lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this... method length (line 108) | length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this... method normalize (line 108) | normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this... method multiply (line 108) | multiply(e){return this.multiplyQuaternions(this,e)} method premultiply (line 108) | premultiply(e){return this.multiplyQuaternions(e,this)} method multiplyQuaternions (line 108) | multiplyQuaternions(e,n){const i=e._x,r=e._y,a=e._z,s=e._w,o=n._x,l=n.... method slerp (line 108) | slerp(e,n){if(n===0)return this;if(n===1)return this.copy(e);const i=t... method slerpQuaternions (line 108) | slerpQuaternions(e,n,i){return this.copy(e).slerp(n,i)} method random (line 108) | random(){const e=2*Math.PI*Math.random(),n=2*Math.PI*Math.random(),i=M... method equals (line 108) | equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w=... method fromArray (line 108) | fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],thi... method toArray (line 108) | toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[... method fromBufferAttribute (line 108) | fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),th... method toJSON (line 108) | toJSON(){return this.toArray()} method _onChange (line 108) | _onChange(e){return this._onChangeCallback=e,this} method _onChangeCallback (line 108) | _onChangeCallback(){} method [Symbol.iterator] (line 108) | *[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield thi... class te (line 108) | class te{constructor(e=0,n=0,i=0){te.prototype.isVector3=!0,this.x=e,thi... method constructor (line 108) | constructor(e=0,n=0,i=0){te.prototype.isVector3=!0,this.x=e,this.y=n,t... method set (line 108) | set(e,n,i){return i===void 0&&(i=this.z),this.x=e,this.y=n,this.z=i,this} method setScalar (line 108) | setScalar(e){return this.x=e,this.y=e,this.z=e,this} method setX (line 108) | setX(e){return this.x=e,this} method setY (line 108) | setY(e){return this.y=e,this} method setZ (line 108) | setZ(e){return this.z=e,this} method setComponent (line 108) | setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;brea... method getComponent (line 108) | getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;ca... method clone (line 108) | clone(){return new this.constructor(this.x,this.y,this.z)} method copy (line 108) | copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this} method add (line 108) | add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this} method addScalar (line 108) | addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this} method addVectors (line 108) | addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this} method addScaledVector (line 108) | addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,... method sub (line 108) | sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this} method subScalar (line 108) | subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this} method subVectors (line 108) | subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this} method multiply (line 108) | multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this} method multiplyScalar (line 108) | multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this} method multiplyVectors (line 108) | multiplyVectors(e,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n... method applyEuler (line 108) | applyEuler(e){return this.applyQuaternion(Dz.setFromEuler(e))} method applyAxisAngle (line 108) | applyAxisAngle(e,n){return this.applyQuaternion(Dz.setFromAxisAngle(e,... method applyMatrix3 (line 108) | applyMatrix3(e){const n=this.x,i=this.y,r=this.z,a=e.elements;return t... method applyNormalMatrix (line 108) | applyNormalMatrix(e){return this.applyMatrix3(e).normalize()} method applyMatrix4 (line 108) | applyMatrix4(e){const n=this.x,i=this.y,r=this.z,a=e.elements,s=1/(a[3... method applyQuaternion (line 108) | applyQuaternion(e){const n=this.x,i=this.y,r=this.z,a=e.x,s=e.y,o=e.z,... method project (line 108) | project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4... method unproject (line 108) | unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).apply... method transformDirection (line 108) | transformDirection(e){const n=this.x,i=this.y,r=this.z,a=e.elements;re... method divide (line 108) | divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this} method divideScalar (line 108) | divideScalar(e){return this.multiplyScalar(1/e)} method min (line 108) | min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),... method max (line 108) | max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),... method clamp (line 108) | clamp(e,n){return this.x=Pn(this.x,e.x,n.x),this.y=Pn(this.y,e.y,n.y),... method clampScalar (line 108) | clampScalar(e,n){return this.x=Pn(this.x,e,n),this.y=Pn(this.y,e,n),th... method clampLength (line 108) | clampLength(e,n){const i=this.length();return this.divideScalar(i||1).... method floor (line 108) | floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),thi... method ceil (line 108) | ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z... method round (line 108) | round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),thi... method roundToZero (line 108) | roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.... method negate (line 108) | negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this} method dot (line 108) | dot(e){return this.x*e.x+this.y*e.y+this.z*e.z} method lengthSq (line 108) | lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z} method length (line 108) | length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)} method manhattanLength (line 108) | manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(th... method normalize (line 108) | normalize(){return this.divideScalar(this.length()||1)} method setLength (line 108) | setLength(e){return this.normalize().multiplyScalar(e)} method lerp (line 108) | lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+... method lerpVectors (line 108) | lerpVectors(e,n,i){return this.x=e.x+(n.x-e.x)*i,this.y=e.y+(n.y-e.y)*... method cross (line 108) | cross(e){return this.crossVectors(this,e)} method crossVectors (line 108) | crossVectors(e,n){const i=e.x,r=e.y,a=e.z,s=n.x,o=n.y,l=n.z;return thi... method projectOnVector (line 108) | projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0... method projectOnPlane (line 108) | projectOnPlane(e){return ek.copy(this).projectOnVector(e),this.sub(ek)} method reflect (line 108) | reflect(e){return this.sub(ek.copy(e).multiplyScalar(2*this.dot(e)))} method angleTo (line 108) | angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)re... method distanceTo (line 108) | distanceTo(e){return Math.sqrt(this.distanceToSquared(e))} method distanceToSquared (line 108) | distanceToSquared(e){const n=this.x-e.x,i=this.y-e.y,r=this.z-e.z;retu... method manhattanDistanceTo (line 108) | manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y... method setFromSpherical (line 108) | setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,... method setFromSphericalCoords (line 108) | setFromSphericalCoords(e,n,i){const r=Math.sin(n)*e;return this.x=r*Ma... method setFromCylindrical (line 108) | setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.... method setFromCylindricalCoords (line 108) | setFromCylindricalCoords(e,n,i){return this.x=e*Math.sin(n),this.y=i,t... method setFromMatrixPosition (line 108) | setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y... method setFromMatrixScale (line 108) | setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),i... method setFromMatrixColumn (line 108) | setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)} method setFromMatrix3Column (line 108) | setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*3)} method setFromEuler (line 108) | setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this} method setFromColor (line 108) | setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this} method equals (line 108) | equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z} method fromArray (line 108) | fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this} method toArray (line 108) | toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e} method fromBufferAttribute (line 108) | fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this... method random (line 108) | random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.... method randomDirection (line 108) | randomDirection(){const e=Math.random()*Math.PI*2,n=Math.random()*2-1,... method [Symbol.iterator] (line 108) | *[Symbol.iterator](){yield this.x,yield this.y,yield this.z} class $n (line 108) | class $n{constructor(e,n,i,r,a,s,o,l,c){$n.prototype.isMatrix3=!0,this.e... method constructor (line 108) | constructor(e,n,i,r,a,s,o,l,c){$n.prototype.isMatrix3=!0,this.elements... method set (line 108) | set(e,n,i,r,a,s,o,l,c){const u=this.elements;return u[0]=e,u[1]=r,u[2]... method identity (line 108) | identity(){return this.set(1,0,0,0,1,0,0,0,1),this} method copy (line 108) | copy(e){const n=this.elements,i=e.elements;return n[0]=i[0],n[1]=i[1],... method extractBasis (line 108) | extractBasis(e,n,i){return e.setFromMatrix3Column(this,0),n.setFromMat... method setFromMatrix4 (line 108) | setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[... method multiply (line 108) | multiply(e){return this.multiplyMatrices(this,e)} method premultiply (line 108) | premultiply(e){return this.multiplyMatrices(e,this)} method multiplyMatrices (line 108) | multiplyMatrices(e,n){const i=e.elements,r=n.elements,a=this.elements,... method multiplyScalar (line 108) | multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e... method determinant (line 108) | determinant(){const e=this.elements,n=e[0],i=e[1],r=e[2],a=e[3],s=e[4]... method invert (line 108) | invert(){const e=this.elements,n=e[0],i=e[1],r=e[2],a=e[3],s=e[4],o=e[... method transpose (line 108) | transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e... method getNormalMatrix (line 108) | getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()} method transposeIntoArray (line 108) | transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3]... method setUvTransform (line 108) | setUvTransform(e,n,i,r,a,s,o){const l=Math.cos(a),c=Math.sin(a);return... method scale (line 108) | scale(e,n){return this.premultiply(tk.makeScale(e,n)),this} method rotate (line 108) | rotate(e){return this.premultiply(tk.makeRotation(-e)),this} method translate (line 108) | translate(e,n){return this.premultiply(tk.makeTranslation(e,n)),this} method makeTranslation (line 108) | makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1... method makeRotation (line 108) | makeRotation(e){const n=Math.cos(e),i=Math.sin(e);return this.set(n,-i... method makeScale (line 108) | makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this} method equals (line 108) | equals(e){const n=this.elements,i=e.elements;for(let r=0;r<9;r++)if(n[... method fromArray (line 108) | fromArray(e,n=0){for(let i=0;i<9;i++)this.elements[i]=e[i+n];return this} method toArray (line 108) | toArray(e=[],n=0){const i=this.elements;return e[n]=i[0],e[n+1]=i[1],e... method clone (line 108) | clone(){return new this.constructor().fromArray(this.elements)} function PJ (line 108) | function PJ(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;ret... function i0 (line 108) | function i0(t,e){return new lbe[t](e)} function W1 (line 108) | function W1(t){return document.createElementNS("http://www.w3.org/1999/x... function UJ (line 108) | function UJ(){const t=W1("canvas");return t.style.display="block",t} function _0 (line 108) | function _0(t){t in Oz||(Oz[t]=!0,console.warn(t))} function cbe (line 108) | function cbe(t,e,n){return new Promise(function(i,r){function a(){switch... function ube (line 108) | function ube(){const t={enabled:!0,workingColorSpace:Su,spaces:{},conver... function sh (line 108) | function sh(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.052... function S0 (line 108) | function S0(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055} class FJ (line 108) | class FJ{static getDataURL(e,n="image/png"){if(/^data:/i.test(e.src)||ty... method getDataURL (line 108) | static getDataURL(e,n="image/png"){if(/^data:/i.test(e.src)||typeof HT... method sRGBToLinear (line 108) | static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HT... class Ed (line 108) | class Ed{constructor(e=null){this.isSource=!0,Object.defineProperty(this... method constructor (line 108) | constructor(e=null){this.isSource=!0,Object.defineProperty(this,"id",{... method getSize (line 108) | getSize(e){const n=this.data;return n instanceof HTMLVideoElement?e.se... method needsUpdate (line 108) | set needsUpdate(e){e===!0&&this.version++} method toJSON (line 108) | toJSON(e){const n=e===void 0||typeof e=="string";if(!n&&e.images[this.... function nk (line 108) | function nk(t){return typeof HTMLImageElement<"u"&&t instanceof HTMLImag... class nr (line 108) | class nr extends vf{constructor(e=nr.DEFAULT_IMAGE,n=nr.DEFAULT_MAPPING,... method constructor (line 108) | constructor(e=nr.DEFAULT_IMAGE,n=nr.DEFAULT_MAPPING,i=xa,r=xa,a=Vi,s=v... method width (line 108) | get width(){return this.source.getSize(ik).x} method height (line 108) | get height(){return this.source.getSize(ik).y} method depth (line 108) | get depth(){return this.source.getSize(ik).z} method image (line 108) | get image(){return this.source.data} method image (line 108) | set image(e=null){this.source.data=e} method updateMatrix (line 108) | updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,... method addUpdateRange (line 108) | addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})} method clearUpdateRanges (line 108) | clearUpdateRanges(){this.updateRanges.length=0} method clone (line 108) | clone(){return new this.constructor().copy(this)} method copy (line 108) | copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mi... method setValues (line 108) | setValues(e){for(const n in e){const i=e[n];if(i===void 0){console.war... method toJSON (line 108) | toJSON(e){const n=e===void 0||typeof e=="string";if(!n&&e.textures[thi... method dispose (line 108) | dispose(){this.dispatchEvent({type:"dispose"})} method transformUv (line 108) | transformUv(e){if(this.mapping!==Hd)return e;if(e.applyMatrix3(this.ma... method needsUpdate (line 108) | set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)} method needsPMREMUpdate (line 108) | set needsPMREMUpdate(e){e===!0&&this.pmremVersion++} class ni (line 108) | class ni{constructor(e=0,n=0,i=0,r=1){ni.prototype.isVector4=!0,this.x=e... method constructor (line 108) | constructor(e=0,n=0,i=0,r=1){ni.prototype.isVector4=!0,this.x=e,this.y... method width (line 108) | get width(){return this.z} method width (line 108) | set width(e){this.z=e} method height (line 108) | get height(){return this.w} method height (line 108) | set height(e){this.w=e} method set (line 108) | set(e,n,i,r){return this.x=e,this.y=n,this.z=i,this.w=r,this} method setScalar (line 108) | setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this} method setX (line 108) | setX(e){return this.x=e,this} method setY (line 108) | setY(e){return this.y=e,this} method setZ (line 108) | setZ(e){return this.z=e,this} method setW (line 108) | setW(e){return this.w=e,this} method setComponent (line 108) | setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;brea... method getComponent (line 108) | getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;ca... method clone (line 108) | clone(){return new this.constructor(this.x,this.y,this.z,this.w)} method copy (line 108) | copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.... method add (line 108) | add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this} method addScalar (line 108) | addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this} method addVectors (line 108) | addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,th... method addScaledVector (line 108) | addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,... method sub (line 108) | sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this} method subScalar (line 108) | subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this} method subVectors (line 108) | subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,th... method multiply (line 108) | multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this} method multiplyScalar (line 108) | multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this} method applyMatrix4 (line 108) | applyMatrix4(e){const n=this.x,i=this.y,r=this.z,a=this.w,s=e.elements... method divide (line 108) | divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this} method divideScalar (line 108) | divideScalar(e){return this.multiplyScalar(1/e)} method setAxisAngleFromQuaternion (line 108) | setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqr... method setAxisAngleFromRotationMatrix (line 108) | setAxisAngleFromRotationMatrix(e){let n,i,r,a;const l=e.elements,c=l[0... method setFromMatrixPosition (line 108) | setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y... method min (line 108) | min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),... method max (line 108) | max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),... method clamp (line 108) | clamp(e,n){return this.x=Pn(this.x,e.x,n.x),this.y=Pn(this.y,e.y,n.y),... method clampScalar (line 108) | clampScalar(e,n){return this.x=Pn(this.x,e,n),this.y=Pn(this.y,e,n),th... method clampLength (line 108) | clampLength(e,n){const i=this.length();return this.divideScalar(i||1).... method floor (line 108) | floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),thi... method ceil (line 108) | ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z... method round (line 108) | round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),thi... method roundToZero (line 108) | roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.... method negate (line 108) | negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-t... method dot (line 108) | dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w} method lengthSq (line 108) | lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*thi... method length (line 108) | length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+th... method manhattanLength (line 108) | manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(th... method normalize (line 108) | normalize(){return this.divideScalar(this.length()||1)} method setLength (line 108) | setLength(e){return this.normalize().multiplyScalar(e)} method lerp (line 108) | lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+... method lerpVectors (line 108) | lerpVectors(e,n,i){return this.x=e.x+(n.x-e.x)*i,this.y=e.y+(n.y-e.y)*... method equals (line 108) | equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w} method fromArray (line 108) | fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w... method toArray (line 108) | toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3... method fromBufferAttribute (line 108) | fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this... method random (line 108) | random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.... method [Symbol.iterator] (line 108) | *[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w} class zP (line 108) | class zP extends vf{constructor(e=1,n=1,i={}){super(),i=Object.assign({g... method constructor (line 108) | constructor(e=1,n=1,i={}){super(),i=Object.assign({generateMipmaps:!1,... method _setTextureOptions (line 108) | _setTextureOptions(e={}){const n={minFilter:Vi,generateMipmaps:!1,flip... method texture (line 108) | get texture(){return this.textures[0]} method texture (line 108) | set texture(e){this.textures[0]=e} method depthTexture (line 108) | set depthTexture(e){this._depthTexture!==null&&(this._depthTexture.ren... method depthTexture (line 108) | get depthTexture(){return this._depthTexture} method setSize (line 108) | setSize(e,n,i=1){if(this.width!==e||this.height!==n||this.depth!==i){t... method clone (line 108) | clone(){return new this.constructor().copy(this)} method copy (line 108) | copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,thi... method dispose (line 108) | dispose(){this.dispatchEvent({type:"dispose"})} class Cc (line 108) | class Cc extends zP{constructor(e=1,n=1,i={}){super(e,n,i),this.isWebGLR... method constructor (line 108) | constructor(e=1,n=1,i={}){super(e,n,i),this.isWebGLRenderTarget=!0} class HA (line 108) | class HA extends nr{constructor(e=null,n=1,i=1,r=1){super(null),this.isD... method constructor (line 108) | constructor(e=null,n=1,i=1,r=1){super(null),this.isDataArrayTexture=!0... method addLayerUpdate (line 108) | addLayerUpdate(e){this.layerUpdates.add(e)} method clearLayerUpdates (line 108) | clearLayerUpdates(){this.layerUpdates.clear()} class dbe (line 108) | class dbe extends Cc{constructor(e=1,n=1,i=1,r={}){super(e,n,r),this.isW... method constructor (line 108) | constructor(e=1,n=1,i=1,r={}){super(e,n,r),this.isWebGLArrayRenderTarg... class VA (line 108) | class VA extends nr{constructor(e=null,n=1,i=1,r=1){super(null),this.isD... method constructor (line 108) | constructor(e=null,n=1,i=1,r=1){super(null),this.isData3DTexture=!0,th... class pbe (line 108) | class pbe extends Cc{constructor(e=1,n=1,i=1,r={}){super(e,n,r),this.isW... method constructor (line 108) | constructor(e=1,n=1,i=1,r={}){super(e,n,r),this.isWebGL3DRenderTarget=... class rr (line 108) | class rr{constructor(e=new te(1/0,1/0,1/0),n=new te(-1/0,-1/0,-1/0)){thi... method constructor (line 108) | constructor(e=new te(1/0,1/0,1/0),n=new te(-1/0,-1/0,-1/0)){this.isBox... method set (line 108) | set(e,n){return this.min.copy(e),this.max.copy(n),this} method setFromArray (line 108) | setFromArray(e){this.makeEmpty();for(let n=0,i=e.length;n=this.min.x&&e.x<=this.max.x&&e.y>=this.mi... method containsBox (line 108) | containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.m... method getParameter (line 108) | getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x... method intersectsBox (line 108) | intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.ma... method intersectsSphere (line 108) | intersectsSphere(e){return this.clampPoint(e.center,Wc),Wc.distanceToS... method intersectsPlane (line 108) | intersectsPlane(e){let n,i;return e.normal.x>0?(n=e.normal.x*this.min.... method intersectsTriangle (line 108) | intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Uy),ow... method clampPoint (line 108) | clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)} method distanceToPoint (line 108) | distanceToPoint(e){return this.clampPoint(e,Wc).distanceTo(e)} method getBoundingSphere (line 108) | getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCent... method intersect (line 108) | intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmp... method union (line 108) | union(e){return this.min.min(e.min),this.max.max(e.max),this} method applyMatrix4 (line 108) | applyMatrix4(e){return this.isEmpty()?this:(Nf[0].set(this.min.x,this.... method translate (line 108) | translate(e){return this.min.add(e),this.max.add(e),this} method equals (line 108) | equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)} method toJSON (line 108) | toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}} method fromJSON (line 108) | fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max)... function rk (line 108) | function rk(t,e,n,i,r){for(let a=0,s=t.length-3;a<=s;a+=3){Ep.fromArray(... class Ur (line 108) | class Ur{constructor(e=new te,n=-1){this.isSphere=!0,this.center=e,this.... method constructor (line 108) | constructor(e=new te,n=-1){this.isSphere=!0,this.center=e,this.radius=n} method set (line 108) | set(e,n){return this.center.copy(e),this.radius=n,this} method setFromPoints (line 108) | setFromPoints(e,n){const i=this.center;n!==void 0?i.copy(n):mbe.setFro... method copy (line 108) | copy(e){return this.center.copy(e.center),this.radius=e.radius,this} method isEmpty (line 108) | isEmpty(){return this.radius<0} method makeEmpty (line 108) | makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this} method containsPoint (line 108) | containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*... method distanceToPoint (line 108) | distanceToPoint(e){return e.distanceTo(this.center)-this.radius} method intersectsSphere (line 108) | intersectsSphere(e){const n=this.radius+e.radius;return e.center.dista... method intersectsBox (line 108) | intersectsBox(e){return e.intersectsSphere(this)} method intersectsPlane (line 108) | intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=th... method clampPoint (line 108) | clampPoint(e,n){const i=this.center.distanceToSquared(e);return n.copy... method getBoundingBox (line 108) | getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.... method applyMatrix4 (line 108) | applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.ra... method translate (line 108) | translate(e){return this.center.add(e),this} method expandByPoint (line 108) | expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.rad... method union (line 108) | union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(t... method equals (line 108) | equals(e){return e.center.equals(this.center)&&e.radius===this.radius} method clone (line 108) | clone(){return new this.constructor().copy(this)} method toJSON (line 108) | toJSON(){return{radius:this.radius,center:this.center.toArray()}} method fromJSON (line 108) | fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center... class yf (line 108) | class yf{constructor(e=new te,n=new te(0,0,-1)){this.origin=e,this.direc... method constructor (line 108) | constructor(e=new te,n=new te(0,0,-1)){this.origin=e,this.direction=n} method set (line 108) | set(e,n){return this.origin.copy(e),this.direction.copy(n),this} method copy (line 108) | copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direct... method at (line 108) | at(e,n){return n.copy(this.origin).addScaledVector(this.direction,e)} method lookAt (line 108) | lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),t... method recast (line 108) | recast(e){return this.origin.copy(this.at(e,Lf)),this} method closestPointToPoint (line 108) | closestPointToPoint(e,n){n.subVectors(e,this.origin);const i=n.dot(thi... method distanceToPoint (line 108) | distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))} method distanceSqToPoint (line 108) | distanceSqToPoint(e){const n=Lf.subVectors(e,this.origin).dot(this.dir... method distanceSqToSegment (line 108) | distanceSqToSegment(e,n,i,r){sk.copy(e).add(n).multiplyScalar(.5),cw.c... method intersectSphere (line 108) | intersectSphere(e,n){Lf.subVectors(e.center,this.origin);const i=Lf.do... method intersectsSphere (line 108) | intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.cent... method distanceToPlane (line 108) | distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)retur... method intersectPlane (line 108) | intersectPlane(e,n){const i=this.distanceToPlane(e);return i===null?nu... method intersectsPlane (line 108) | intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0... method intersectBox (line 108) | intersectBox(e,n){let i,r,a,s,o,l;const c=1/this.direction.x,u=1/this.... method intersectsBox (line 108) | intersectsBox(e){return this.intersectBox(e,Lf)!==null} method intersectTriangle (line 108) | intersectTriangle(e,n,i,r,a){ok.subVectors(n,e),uw.subVectors(i,e),lk.... method applyMatrix4 (line 108) | applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.tran... method equals (line 108) | equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this... method clone (line 108) | clone(){return new this.constructor().copy(this)} class Dt (line 108) | class Dt{constructor(e,n,i,r,a,s,o,l,c,u,f,h,d,g,b,y){Dt.prototype.isMat... method constructor (line 108) | constructor(e,n,i,r,a,s,o,l,c,u,f,h,d,g,b,y){Dt.prototype.isMatrix4=!0... method set (line 108) | set(e,n,i,r,a,s,o,l,c,u,f,h,d,g,b,y){const m=this.elements;return m[0]... method identity (line 108) | identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this} method clone (line 108) | clone(){return new Dt().fromArray(this.elements)} method copy (line 108) | copy(e){const n=this.elements,i=e.elements;return n[0]=i[0],n[1]=i[1],... method copyPosition (line 108) | copyPosition(e){const n=this.elements,i=e.elements;return n[12]=i[12],... method setFromMatrix3 (line 108) | setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,... method extractBasis (line 108) | extractBasis(e,n,i){return e.setFromMatrixColumn(this,0),n.setFromMatr... method makeBasis (line 108) | makeBasis(e,n,i){return this.set(e.x,n.x,i.x,0,e.y,n.y,i.y,0,e.z,n.z,i... method extractRotation (line 108) | extractRotation(e){const n=this.elements,i=e.elements,r=1/eb.setFromMa... method makeRotationFromEuler (line 108) | makeRotationFromEuler(e){const n=this.elements,i=e.x,r=e.y,a=e.z,s=Mat... method makeRotationFromQuaternion (line 108) | makeRotationFromQuaternion(e){return this.compose(gbe,e,bbe)} method lookAt (line 108) | lookAt(e,n,i){const r=this.elements;return cl.subVectors(e,n),cl.lengt... method multiply (line 108) | multiply(e){return this.multiplyMatrices(this,e)} method premultiply (line 108) | premultiply(e){return this.multiplyMatrices(e,this)} method multiplyMatrices (line 108) | multiplyMatrices(e,n){const i=e.elements,r=n.elements,a=this.elements,... method multiplyScalar (line 108) | multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e... method determinant (line 108) | determinant(){const e=this.elements,n=e[0],i=e[4],r=e[8],a=e[12],s=e[1... method transpose (line 108) | transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n... method setPosition (line 108) | setPosition(e,n,i){const r=this.elements;return e.isVector3?(r[12]=e.x... method invert (line 108) | invert(){const e=this.elements,n=e[0],i=e[1],r=e[2],a=e[3],s=e[4],o=e[... method scale (line 108) | scale(e){const n=this.elements,i=e.x,r=e.y,a=e.z;return n[0]*=i,n[4]*=... method getMaxScaleOnAxis (line 108) | getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e... method makeTranslation (line 108) | makeTranslation(e,n,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y... method makeRotationX (line 108) | makeRotationX(e){const n=Math.cos(e),i=Math.sin(e);return this.set(1,0... method makeRotationY (line 108) | makeRotationY(e){const n=Math.cos(e),i=Math.sin(e);return this.set(n,0... method makeRotationZ (line 108) | makeRotationZ(e){const n=Math.cos(e),i=Math.sin(e);return this.set(n,-... method makeRotationAxis (line 108) | makeRotationAxis(e,n){const i=Math.cos(n),r=Math.sin(n),a=1-i,s=e.x,o=... method makeScale (line 108) | makeScale(e,n,i){return this.set(e,0,0,0,0,n,0,0,0,0,i,0,0,0,0,1),this} method makeShear (line 108) | makeShear(e,n,i,r,a,s){return this.set(1,i,a,0,e,1,s,0,n,r,1,0,0,0,0,1... method compose (line 108) | compose(e,n,i){const r=this.elements,a=n._x,s=n._y,o=n._z,l=n._w,c=a+a... method decompose (line 108) | decompose(e,n,i){const r=this.elements;let a=eb.set(r[0],r[1],r[2]).le... method makePerspective (line 108) | makePerspective(e,n,i,r,a,s,o=vl,l=!1){const c=this.elements,u=2*a/(n-... method makeOrthographic (line 108) | makeOrthographic(e,n,i,r,a,s,o=vl,l=!1){const c=this.elements,u=2/(n-e... method equals (line 108) | equals(e){const n=this.elements,i=e.elements;for(let r=0;r<16;r++)if(n... method fromArray (line 108) | fromArray(e,n=0){for(let i=0;i<16;i++)this.elements[i]=e[i+n];return t... method toArray (line 108) | toArray(e=[],n=0){const i=this.elements;return e[n]=i[0],e[n+1]=i[1],e... class vi (line 108) | class vi{constructor(e=0,n=0,i=0,r=vi.DEFAULT_ORDER){this.isEuler=!0,thi... method constructor (line 108) | constructor(e=0,n=0,i=0,r=vi.DEFAULT_ORDER){this.isEuler=!0,this._x=e,... method x (line 108) | get x(){return this._x} method x (line 108) | set x(e){this._x=e,this._onChangeCallback()} method y (line 108) | get y(){return this._y} method y (line 108) | set y(e){this._y=e,this._onChangeCallback()} method z (line 108) | get z(){return this._z} method z (line 108) | set z(e){this._z=e,this._onChangeCallback()} method order (line 108) | get order(){return this._order} method order (line 108) | set order(e){this._order=e,this._onChangeCallback()} method set (line 108) | set(e,n,i,r=this._order){return this._x=e,this._y=n,this._z=i,this._or... method clone (line 108) | clone(){return new this.constructor(this._x,this._y,this._z,this._order)} method copy (line 108) | copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._o... method setFromRotationMatrix (line 108) | setFromRotationMatrix(e,n=this._order,i=!0){const r=e.elements,a=r[0],... method setFromQuaternion (line 108) | setFromQuaternion(e,n,i){return Lz.makeRotationFromQuaternion(e),this.... method setFromVector3 (line 108) | setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)} method reorder (line 108) | reorder(e){return Pz.setFromEuler(this),this.setFromQuaternion(Pz,e)} method equals (line 108) | equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._or... method fromArray (line 108) | fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void... method toArray (line 108) | toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[... method _onChange (line 108) | _onChange(e){return this._onChangeCallback=e,this} method _onChangeCallback (line 108) | _onChangeCallback(){} method [Symbol.iterator] (line 108) | *[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield thi... class sv (line 108) | class sv{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(... method constructor (line 108) | constructor(){this.mask=1} method set (line 108) | set(e){this.mask=(1<>>0} method enable (line 108) | enable(e){this.mask|=1<1){for(let n=0;n1){for(let i=0;i1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/... method constructor (line 108) | constructor(e,n,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,thi... method set (line 108) | set(e,n,i){if(n===void 0&&i===void 0){const r=e;r&&r.isColor?this.copy(r... method setScalar (line 108) | setScalar(e){return this.r=e,this.g=e,this.b=e,this} method setHex (line 108) | setHex(e,n=Es){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>... method setRGB (line 108) | setRGB(e,n,i,r=bi.workingColorSpace){return this.r=e,this.g=n,this.b=i,b... method setHSL (line 108) | setHSL(e,n,i,r=bi.workingColorSpace){if(e=BP(e,1),n=Pn(n,0,1),i=Pn(i,0,1... method setStyle (line 108) | setStyle(e,n=Es){function i(a){a!==void 0&&parseFloat(a)<1&&console.warn... method setColorName (line 108) | setColorName(e,n=Es){const i=BJ[e.toLowerCase()];return i!==void 0?this.... method clone (line 108) | clone(){return new this.constructor(this.r,this.g,this.b)} method copy (line 108) | copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this} method copySRGBToLinear (line 108) | copySRGBToLinear(e){return this.r=sh(e.r),this.g=sh(e.g),this.b=sh(e.b),... method copyLinearToSRGB (line 108) | copyLinearToSRGB(e){return this.r=S0(e.r),this.g=S0(e.g),this.b=S0(e.b),... method convertSRGBToLinear (line 108) | convertSRGBToLinear(){return this.copySRGBToLinear(this),this} method convertLinearToSRGB (line 108) | convertLinearToSRGB(){return this.copyLinearToSRGB(this),this} method getHex (line 108) | getHex(e=Es){return bi.workingToColorSpace(Zs.copy(this),e),Math.round(P... method getHexString (line 108) | getHexString(e=Es){return("000000"+this.getHex(e).toString(16)).slice(-6)} method getHSL (line 108) | getHSL(e,n=bi.workingColorSpace){bi.workingToColorSpace(Zs.copy(this),n)... method getRGB (line 108) | getRGB(e,n=bi.workingColorSpace){return bi.workingToColorSpace(Zs.copy(t... method getStyle (line 108) | getStyle(e=Es){bi.workingToColorSpace(Zs.copy(this),e);const n=Zs.r,i=Zs... method offsetHSL (line 108) | offsetHSL(e,n,i){return this.getHSL(Jh),this.setHSL(Jh.h+e,Jh.s+n,Jh.l+i)} method add (line 108) | add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this} method addColors (line 108) | addColors(e,n){return this.r=e.r+n.r,this.g=e.g+n.g,this.b=e.b+n.b,this} method addScalar (line 108) | addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this} method sub (line 108) | sub(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g... method multiply (line 108) | multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this} method multiplyScalar (line 108) | multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this} method lerp (line 108) | lerp(e,n){return this.r+=(e.r-this.r)*n,this.g+=(e.g-this.g)*n,this.b+=(... method lerpColors (line 108) | lerpColors(e,n,i){return this.r=e.r+(n.r-e.r)*i,this.g=e.g+(n.g-e.g)*i,t... method lerpHSL (line 108) | lerpHSL(e,n){this.getHSL(Jh),e.getHSL(dw);const i=i1(Jh.h,dw.h,n),r=i1(J... method setFromVector3 (line 108) | setFromVector3(e){return this.r=e.x,this.g=e.y,this.b=e.z,this} method applyMatrix3 (line 108) | applyMatrix3(e){const n=this.r,i=this.g,r=this.b,a=e.elements;return thi... method equals (line 108) | equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b} method fromArray (line 108) | fromArray(e,n=0){return this.r=e[n],this.g=e[n+1],this.b=e[n+2],this} method toArray (line 108) | toArray(e=[],n=0){return e[n]=this.r,e[n+1]=this.g,e[n+2]=this.b,e} method fromBufferAttribute (line 108) | fromBufferAttribute(e,n){return this.r=e.getX(n),this.g=e.getY(n),this.b... method toJSON (line 108) | toJSON(){return this.getHex()} method [Symbol.iterator] (line 108) | *[Symbol.iterator](){yield this.r,yield this.g,yield this.b} class Oa (line 108) | class Oa extends vf{constructor(){super(),this.isMaterial=!0,Object.defi... method constructor (line 108) | constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"i... method alphaTest (line 108) | get alphaTest(){return this._alphaTest} method alphaTest (line 108) | set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTes... method onBeforeRender (line 108) | onBeforeRender(){} method onBeforeCompile (line 108) | onBeforeCompile(){} method customProgramCacheKey (line 108) | customProgramCacheKey(){return this.onBeforeCompile.toString()} method setValues (line 108) | setValues(e){if(e!==void 0)for(const n in e){const i=e[n];if(i===void ... method toJSON (line 108) | toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={textures:{},im... method clone (line 108) | clone(){return new this.constructor().copy(this)} method copy (line 108) | copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,thi... method dispose (line 108) | dispose(){this.dispatchEvent({type:"dispose"})} method needsUpdate (line 108) | set needsUpdate(e){e===!0&&this.version++} class Cs (line 108) | class Cs extends Oa{constructor(e){super(),this.isMeshBasicMaterial=!0,t... method constructor (line 108) | constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasi... method copy (line 108) | copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,t... function wbe (line 108) | function wbe(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Ui... function No (line 108) | function No(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFl... function Mx (line 108) | function Mx(t){const e=t>>10;return Wf.uint32View[0]=Wf.mantissaTable[Wf... class fm (line 108) | class fm{static toHalfFloat(e){return No(e)}static fromHalfFloat(e){retu... method toHalfFloat (line 108) | static toHalfFloat(e){return No(e)} method fromHalfFloat (line 108) | static fromHalfFloat(e){return Mx(e)} class In (line 108) | class In{constructor(e,n,i=!1){if(Array.isArray(e))throw new TypeError("... method constructor (line 108) | constructor(e,n,i=!1){if(Array.isArray(e))throw new TypeError("THREE.B... method onUploadCallback (line 108) | onUploadCallback(){} method needsUpdate (line 108) | set needsUpdate(e){e===!0&&this.version++} method setUsage (line 108) | setUsage(e){return this.usage=e,this} method addUpdateRange (line 108) | addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})} method clearUpdateRanges (line 108) | clearUpdateRanges(){this.updateRanges.length=0} method copy (line 108) | copy(e){return this.name=e.name,this.array=new e.array.constructor(e.a... method copyAt (line 108) | copyAt(e,n,i){e*=this.itemSize,i*=n.itemSize;for(let r=0,a=this.itemSi... method copyArray (line 108) | copyArray(e){return this.array.set(e),this} method applyMatrix3 (line 108) | applyMatrix3(e){if(this.itemSize===2)for(let n=0,i=this.count;n0){let i,r;for... method raycast (line 147) | raycast(e,n){if(this.levels.length>0){Mw.setFromMatrixPosition(this.ma... method update (line 147) | update(e){const n=this.levels;if(n.length>1){Mw.setFromMatrixPosition(... method toJSON (line 147) | toJSON(e){const n=super.toJSON(e);this.autoUpdate===!1&&(n.object.auto... method constructor (line 147) | constructor(e,n){super(e,n),this.isSkinnedMesh=!0,this.type="SkinnedMesh... method computeBoundingBox (line 147) | computeBoundingBox(){const e=this.geometry;this.boundingBox===null&&(thi... method computeBoundingSphere (line 147) | computeBoundingSphere(){const e=this.geometry;this.boundingSphere===null... method copy (line 147) | copy(e,n){return super.copy(e,n),this.bindMode=e.bindMode,this.bindMatri... method raycast (line 147) | raycast(e,n){const i=this.material,r=this.matrixWorld;i!==void 0&&(this.... method getVertexPosition (line 147) | getVertexPosition(e,n){return super.getVertexPosition(e,n),this.applyBon... method bind (line 147) | bind(e,n){this.skeleton=e,n===void 0&&(this.updateMatrixWorld(!0),this.s... method pose (line 147) | pose(){this.skeleton.pose()} method normalizeSkinWeights (line 147) | normalizeSkinWeights(){const e=new ni,n=this.geometry.attributes.skinWei... method updateMatrixWorld (line 147) | updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMode===B1?this.... method applyBoneTransform (line 147) | applyBoneTransform(e,n){const i=this.skeleton,r=this.geometry;Zz.fromBuf... class z_ (line 147) | class z_ extends Pi{constructor(){super(),this.isBone=!0,this.type="Bone"}} method constructor (line 147) | constructor(){super(),this.isBone=!0,this.type="Bone"} class os (line 147) | class os extends nr{constructor(e=null,n=1,i=1,r,a,s,o,l,c=ss,u=ss,f,h){... method constructor (line 147) | constructor(e=null,n=1,i=1,r,a,s,o,l,c=ss,u=ss,f,h){super(null,s,o,l,c... class qv (line 147) | class qv{constructor(e=[],n=[]){this.uuid=El(),this.bones=e.slice(0),thi... method constructor (line 147) | constructor(e=[],n=[]){this.uuid=El(),this.bones=e.slice(0),this.boneI... method init (line 147) | init(){const e=this.bones,n=this.boneInverses;if(this.boneMatrices=new... method calculateInverses (line 147) | calculateInverses(){this.boneInverses.length=0;for(let e=0,n=this.bone... method pose (line 147) | pose(){for(let e=0,n=this.bones.length;e=a.length&&a.pu... method reset (line 147) | reset(){this.list.length=0,this.index=0} function Kbe (line 147) | function Kbe(t,e,n=0){const i=e.itemSize;if(t.isInterleavedBufferAttribu... function Cp (line 147) | function Cp(t,e){if(t.constructor!==e.constructor){const n=Math.min(t.le... method constructor (line 147) | constructor(e,n,i=n*2,r){super(new On,r),this.isBatchedMesh=!0,this.perO... method maxInstanceCount (line 147) | get maxInstanceCount(){return this._maxInstanceCount} method instanceCount (line 147) | get instanceCount(){return this._instanceInfo.length-this._availableInst... method unusedVertexCount (line 147) | get unusedVertexCount(){return this._maxVertexCount-this._nextVertexStart} method unusedIndexCount (line 147) | get unusedIndexCount(){return this._maxIndexCount-this._nextIndexStart} method _initMatricesTexture (line 147) | _initMatricesTexture(){let e=Math.sqrt(this._maxInstanceCount*4);e=Math.... method _initIndirectTexture (line 147) | _initIndirectTexture(){let e=Math.sqrt(this._maxInstanceCount);e=Math.ce... method _initColorsTexture (line 147) | _initColorsTexture(){let e=Math.sqrt(this._maxInstanceCount);e=Math.ceil... method _initializeGeometry (line 147) | _initializeGeometry(e){const n=this.geometry,i=this._maxVertexCount,r=th... method _validateGeometry (line 147) | _validateGeometry(e){const n=this.geometry;if(!!e.getIndex()!=!!n.getInd... method validateInstanceId (line 147) | validateInstanceId(e){const n=this._instanceInfo;if(e<0||e>=n.length||n[... method validateGeometryId (line 147) | validateGeometryId(e){const n=this._geometryInfo;if(e<0||e>=n.length||n[... method setCustomSort (line 147) | setCustomSort(e){return this.customSort=e,this} method computeBoundingBox (line 147) | computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new rr);... method computeBoundingSphere (line 147) | computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere... method addInstance (line 147) | addInstance(e){if(this._instanceInfo.length>=this.maxInstanceCount&&this... method addGeometry (line 147) | addGeometry(e,n=-1,i=-1){this._initializeGeometry(e),this._validateGeome... method setGeometryAt (line 147) | setGeometryAt(e,n){if(e>=this._geometryCount)throw new Error("THREE.Batc... method deleteGeometry (line 147) | deleteGeometry(e){const n=this._geometryInfo;if(e>=n.length||n[e].active... method deleteInstance (line 147) | deleteInstance(e){return this.validateInstanceId(e),this._instanceInfo[e... method optimize (line 147) | optimize(){let e=0,n=0;const i=this._geometryInfo,r=i.map((s,o)=>o).sort... method getBoundingBoxAt (line 147) | getBoundingBoxAt(e,n){if(e>=this._geometryCount)return null;const i=this... method getBoundingSphereAt (line 147) | getBoundingSphereAt(e,n){if(e>=this._geometryCount)return null;const i=t... method setMatrixAt (line 147) | setMatrixAt(e,n){this.validateInstanceId(e);const i=this._matricesTextur... method getMatrixAt (line 147) | getMatrixAt(e,n){return this.validateInstanceId(e),n.fromArray(this._mat... method setColorAt (line 147) | setColorAt(e,n){return this.validateInstanceId(e),this._colorsTexture===... method getColorAt (line 147) | getColorAt(e,n){return this.validateInstanceId(e),n.fromArray(this._colo... method setVisibleAt (line 147) | setVisibleAt(e,n){return this.validateInstanceId(e),this._instanceInfo[e... method getVisibleAt (line 147) | getVisibleAt(e){return this.validateInstanceId(e),this._instanceInfo[e].... method setGeometryIdAt (line 147) | setGeometryIdAt(e,n){return this.validateInstanceId(e),this.validateGeom... method getGeometryIdAt (line 147) | getGeometryIdAt(e){return this.validateInstanceId(e),this._instanceInfo[... method getGeometryRangeAt (line 147) | getGeometryRangeAt(e,n={}){this.validateGeometryId(e);const i=this._geom... method setInstanceCount (line 147) | setInstanceCount(e){const n=this._availableInstanceIds,i=this._instanceI... method setGeometrySize (line 147) | setGeometrySize(e,n){const i=[...this._geometryInfo].filter(o=>o.active)... method raycast (line 147) | raycast(e,n){const i=this._instanceInfo,r=this._geometryInfo,a=this.matr... method copy (line 147) | copy(e){return super.copy(e),this.geometry=e.geometry.clone(),this.perOb... method dispose (line 147) | dispose(){this.geometry.dispose(),this._matricesTexture.dispose(),this._... method onBeforeRender (line 147) | onBeforeRender(e,n,i,r,a){if(!this._visibilityChanged&&!this.perObjectFr... method onBeforeShadow (line 147) | onBeforeShadow(e,n,i,r,a,s){this.onBeforeRender(e,null,r,a,s)} class Us (line 147) | class Us extends Oa{constructor(e){super(),this.isLineBasicMaterial=!0,t... method constructor (line 147) | constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasi... method copy (line 147) | copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,t... method constructor (line 147) | constructor(e=new On,n=new Us){super(),this.isLine=!0,this.type="Line",t... method copy (line 147) | copy(e,n){return super.copy(e,n),this.material=Array.isArray(e.material)... method computeLineDistances (line 147) | computeLineDistances(){const e=this.geometry;if(e.index===null){const n=... method raycast (line 147) | raycast(e,n){const i=this.geometry,r=this.matrixWorld,a=e.params.Line.th... method updateMorphTargets (line 147) | updateMorphTargets(){const n=this.geometry.morphAttributes,i=Object.keys... function Ow (line 147) | function Ow(t,e,n,i,r,a,s){const o=t.geometry.attributes.position;if(J2.... method constructor (line 147) | constructor(e,n){super(e,n),this.isLineSegments=!0,this.type="LineSegmen... method computeLineDistances (line 147) | computeLineDistances(){const e=this.geometry;if(e.index===null){const n=... class WP (line 147) | class WP extends yh{constructor(e,n){super(e,n),this.isLineLoop=!0,this.... method constructor (line 147) | constructor(e,n){super(e,n),this.isLineLoop=!0,this.type="LineLoop"} class JA (line 147) | class JA extends Oa{constructor(e){super(),this.isPointsMaterial=!0,this... method constructor (line 147) | constructor(e){super(),this.isPointsMaterial=!0,this.type="PointsMater... method copy (line 147) | copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,t... class qP (line 147) | class qP extends Pi{constructor(e=new On,n=new JA){super(),this.isPoints... method constructor (line 147) | constructor(e=new On,n=new JA){super(),this.isPoints=!0,this.type="Poi... method copy (line 147) | copy(e,n){return super.copy(e,n),this.material=Array.isArray(e.materia... method raycast (line 147) | raycast(e,n){const i=this.geometry,r=this.matrixWorld,a=e.params.Point... method updateMorphTargets (line 147) | updateMorphTargets(){const n=this.geometry.morphAttributes,i=Object.ke... function hj (line 147) | function hj(t,e,n,i,r,a,s){const o=JO.distanceSqToPoint(t);if(o1&&(a=1);const s=th... method getTangentAt (line 147) | getTangentAt(e,n){const i=this.getUtoTmapping(e);return this.getTangen... method computeFrenetFrames (line 147) | computeFrenetFrames(e,n=!1){const i=new te,r=[],a=[],s=[],o=new te,l=n... method clone (line 147) | clone(){return new this.constructor().copy(this)} method copy (line 147) | copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this} method toJSON (line 147) | toJSON(){const e={metadata:{version:4.7,type:"Curve",generator:"Curve.... method fromJSON (line 147) | fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this} class tC (line 147) | class tC extends Tu{constructor(e=0,n=0,i=1,r=1,a=0,s=Math.PI*2,o=!1,l=0... method constructor (line 147) | constructor(e=0,n=0,i=1,r=1,a=0,s=Math.PI*2,o=!1,l=0){super(),this.isE... method getPoint (line 147) | getPoint(e,n=new wt){const i=n,r=Math.PI*2;let a=this.aEndAngle-this.a... method copy (line 147) | copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.... method toJSON (line 147) | toJSON(){const e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRa... method fromJSON (line 147) | fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xR... class YJ (line 147) | class YJ extends tC{constructor(e,n,i,r,a,s){super(e,n,i,i,r,a,s),this.i... method constructor (line 147) | constructor(e,n,i,r,a,s){super(e,n,i,i,r,a,s),this.isArcCurve=!0,this.... function KP (line 147) | function KP(){let t=0,e=0,n=0,i=0;function r(a,s,o,l){t=a,e=o,n=-3*a+3*s... class YP (line 147) | class YP extends Tu{constructor(e=[],n=!1,i="centripetal",r=.5){super(),... method constructor (line 147) | constructor(e=[],n=!1,i="centripetal",r=.5){super(),this.isCatmullRomC... method getPoint (line 147) | getPoint(e,n=new te){const i=n,r=this.points,a=r.length,s=(a-(this.clo... method copy (line 147) | copy(e){super.copy(e),this.points=[];for(let n=0,i=e.points.length;n0)for(let s=e;s=0)return!1;con... function c0e (line 147) | function c0e(t,e,n,i){const r=t.prev,a=t,s=t.next;if(aa(r,a,s)>=0)return... function u0e (line 147) | function u0e(t,e){let n=t;do{const i=n.prev,r=n.next.next;!cv(i,r)&&e$(i... function f0e (line 147) | function f0e(t,e,n,i,r,a){let s=t;do{let o=s.next.next;for(;o!==s.prev;)... function h0e (line 147) | function h0e(t,e,n,i){const r=[];for(let a=0,s=e.length;a=(t-s)*(a-o)&&(t-s)*(i-o)... function Tx (line 147) | function Tx(t,e,n,i,r,a,s,o){return!(t===s&&e===o)&&QJ(t,e,n,i,r,a,s,o)} function x0e (line 147) | function x0e(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!_0e(t,e)&&(X1(... function aa (line 147) | function aa(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)} function cv (line 147) | function cv(t,e){return t.x===e.x&&t.y===e.y} function e$ (line 147) | function e$(t,e,n,i){const r=zw(aa(t,e,n)),a=zw(aa(t,e,i)),s=zw(aa(n,i,t... function Bw (line 147) | function Bw(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)... function zw (line 147) | function zw(t){return t>0?1:t<0?-1:0} function _0e (line 147) | function _0e(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.... function X1 (line 147) | function X1(t,e){return aa(t.prev,t,t.next)<0?aa(t,e,t.next)>=0&&aa(t,t.... function S0e (line 147) | function S0e(t,e){let n=t,i=!1;const r=(t.x+e.x)/2,a=(t.y+e.y)/2;do n.y>... function t$ (line 147) | function t$(t,e){const n=ZO(t.i,t.x,t.y),i=ZO(e.i,e.x,e.y),r=t.next,a=e.... function pj (line 147) | function pj(t,e,n,i){const r=ZO(t,e,n);return i?(r.next=i.next,r.prev=i,... function K1 (line 147) | function K1(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.n... function ZO (line 147) | function ZO(t,e,n){return{i:t,x:e,y:n,prev:null,next:null,z:0,prevZ:null... function w0e (line 147) | function w0e(t,e,n,i){let r=0;for(let a=e,s=n-i;a2&&t[e-1].equals(t[0])&&t.pop()} function gj (line 147) | function gj(t,e){for(let n=0;n0!=e>0&&this.version++,this._anisot... method clearcoat (line 147) | get clearcoat(){return this._clearcoat} method clearcoat (line 147) | set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoa... method iridescence (line 147) | get iridescence(){return this._iridescence} method iridescence (line 147) | set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._irid... method dispersion (line 147) | get dispersion(){return this._dispersion} method dispersion (line 147) | set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._disper... method sheen (line 147) | get sheen(){return this._sheen} method sheen (line 147) | set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e} method transmission (line 147) | get transmission(){return this._transmission} method transmission (line 147) | set transmission(e){this._transmission>0!=e>0&&this.version++,this._tr... method copy (line 147) | copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},th... class i$ (line 147) | class i$ extends Oa{constructor(e){super(),this.isMeshPhongMaterial=!0,t... method constructor (line 147) | constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhon... method copy (line 147) | copy(e){return super.copy(e),this.color.copy(e.color),this.specular.co... class eT (line 147) | class eT extends Oa{constructor(e){super(),this.isMeshToonMaterial=!0,th... method constructor (line 147) | constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:"... method copy (line 147) | copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,t... class r$ (line 147) | class r$ extends Oa{constructor(e){super(),this.isMeshNormalMaterial=!0,... method constructor (line 147) | constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNor... method copy (line 147) | copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.b... class a$ (line 147) | class a$ extends Oa{constructor(e){super(),this.isMeshLambertMaterial=!0... method constructor (line 147) | constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLa... method copy (line 147) | copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,t... class uC (line 147) | class uC extends Oa{constructor(e){super(),this.isMeshDepthMaterial=!0,t... method constructor (line 147) | constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDept... method copy (line 147) | copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map... class fC (line 147) | class fC extends Oa{constructor(e){super(),this.isMeshDistanceMaterial=!... method constructor (line 147) | constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshD... method copy (line 147) | copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,t... class s$ (line 147) | class s$ extends Oa{constructor(e){super(),this.isMeshMatcapMaterial=!0,... method constructor (line 147) | constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATC... method copy (line 147) | copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(... class o$ (line 147) | class o$ extends Us{constructor(e){super(),this.isLineDashedMaterial=!0,... method constructor (line 147) | constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDas... method copy (line 147) | copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSi... function hm (line 147) | function hm(t,e){return!t||t.constructor===e?t:typeof e.BYTES_PER_ELEMEN... function l$ (line 147) | function l$(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)} function c$ (line 147) | function c$(t){function e(r,a){return t[r]-t[a]}const n=t.length,i=new A... function QO (line 147) | function QO(t,e,n){const i=t.length,r=new t.constructor(i);for(let a=0,s... function iU (line 147) | function iU(t,e,n,i){let r=1,a=t[0];for(;a!==void 0&&a[i]===void 0;)a=t[... function C0e (line 147) | function C0e(t,e,n,i,r=30){const a=t.clone();a.name=e;const s=[];for(let... function R0e (line 147) | function R0e(t,e=0,n=t,i=30){i<=0&&(i=30);const r=n.tracks.length,a=e/i;... class k0e (line 147) | class k0e{static convertArray(e,n){return hm(e,n)}static isTypedArray(e)... method convertArray (line 147) | static convertArray(e,n){return hm(e,n)} method isTypedArray (line 147) | static isTypedArray(e){return l$(e)} method getKeyframeOrder (line 147) | static getKeyframeOrder(e){return c$(e)} method sortedArray (line 147) | static sortedArray(e,n,i){return QO(e,n,i)} method flattenJSON (line 147) | static flattenJSON(e,n,i,r){iU(e,n,i,r)} method subclip (line 147) | static subclip(e,n,i,r,a=30){return C0e(e,n,i,r,a)} method makeClipAdditive (line 147) | static makeClipAdditive(e,n=0,i=e,r=30){return R0e(e,n,i,r)} class Jv (line 147) | class Jv{constructor(e,n,i,r){this.parameterPositions=e,this._cachedInde... method constructor (line 147) | constructor(e,n,i,r){this.parameterPositions=e,this._cachedIndex=0,thi... method evaluate (line 147) | evaluate(e){const n=this.parameterPositions;let i=this._cachedIndex,r=... method getSettings_ (line 147) | getSettings_(){return this.settings||this.DefaultSettings_} method copySampleValue_ (line 147) | copySampleValue_(e){const n=this.resultBuffer,i=this.sampleValues,r=th... method interpolate_ (line 147) | interpolate_(){throw new Error("call to abstract method")} method intervalChanged_ (line 147) | intervalChanged_(){} class u$ (line 147) | class u$ extends Jv{constructor(e,n,i,r){super(e,n,i,r),this._weightPrev... method constructor (line 147) | constructor(e,n,i,r){super(e,n,i,r),this._weightPrev=-0,this._offsetPr... method intervalChanged_ (line 147) | intervalChanged_(e,n,i){const r=this.parameterPositions;let a=e-2,s=e+... method interpolate_ (line 147) | interpolate_(e,n,i,r){const a=this.resultBuffer,s=this.sampleValues,o=... class rU (line 147) | class rU extends Jv{constructor(e,n,i,r){super(e,n,i,r)}interpolate_(e,n... method constructor (line 147) | constructor(e,n,i,r){super(e,n,i,r)} method interpolate_ (line 147) | interpolate_(e,n,i,r){const a=this.resultBuffer,s=this.sampleValues,o=... class f$ (line 147) | class f$ extends Jv{constructor(e,n,i,r){super(e,n,i,r)}interpolate_(e){... method constructor (line 147) | constructor(e,n,i,r){super(e,n,i,r)} method interpolate_ (line 147) | interpolate_(e){return this.copySampleValue_(e-1)} class Uc (line 147) | class Uc{constructor(e,n,i,r){if(e===void 0)throw new Error("THREE.Keyfr... method constructor (line 147) | constructor(e,n,i,r){if(e===void 0)throw new Error("THREE.KeyframeTrac... method toJSON (line 147) | static toJSON(e){const n=e.constructor;let i;if(n.toJSON!==this.toJSON... method InterpolantFactoryMethodDiscrete (line 147) | InterpolantFactoryMethodDiscrete(e){return new f$(this.times,this.valu... method InterpolantFactoryMethodLinear (line 147) | InterpolantFactoryMethodLinear(e){return new rU(this.times,this.values... method InterpolantFactoryMethodSmooth (line 147) | InterpolantFactoryMethodSmooth(e){return new u$(this.times,this.values... method setInterpolation (line 147) | setInterpolation(e){let n;switch(e){case nv:n=this.InterpolantFactoryM... method getInterpolation (line 147) | getInterpolation(){switch(this.createInterpolant){case this.Interpolan... method getValueSize (line 147) | getValueSize(){return this.values.length/this.times.length} method shift (line 147) | shift(e){if(e!==0){const n=this.times;for(let i=0,r=n.length;i!==r;++i... method scale (line 147) | scale(e){if(e!==1){const n=this.times;for(let i=0,r=n.length;i!==r;++i... method trim (line 147) | trim(e,n){const i=this.times,r=i.length;let a=0,s=r-1;for(;a!==r&&i[a]... method validate (line 147) | validate(){let e=!0;const n=this.getValueSize();n-Math.floor(n)!==0&&(... method optimize (line 147) | optimize(){const e=this.times.slice(),n=this.values.slice(),i=this.get... method clone (line 147) | clone(){const e=this.times.slice(),n=this.values.slice(),i=this.constr... class dg (line 147) | class dg extends Uc{constructor(e,n,i){super(e,n,i)}} method constructor (line 147) | constructor(e,n,i){super(e,n,i)} class aU (line 147) | class aU extends Uc{constructor(e,n,i,r){super(e,n,i,r)}} method constructor (line 147) | constructor(e,n,i,r){super(e,n,i,r)} class Xm (line 147) | class Xm extends Uc{constructor(e,n,i,r){super(e,n,i,r)}} method constructor (line 147) | constructor(e,n,i,r){super(e,n,i,r)} class h$ (line 147) | class h$ extends Jv{constructor(e,n,i,r){super(e,n,i,r)}interpolate_(e,n... method constructor (line 147) | constructor(e,n,i,r){super(e,n,i,r)} method interpolate_ (line 147) | interpolate_(e,n,i,r){const a=this.resultBuffer,s=this.sampleValues,o=... class Km (line 147) | class Km extends Uc{constructor(e,n,i,r){super(e,n,i,r)}InterpolantFacto... method constructor (line 147) | constructor(e,n,i,r){super(e,n,i,r)} method InterpolantFactoryMethodLinear (line 147) | InterpolantFactoryMethodLinear(e){return new h$(this.times,this.values... class pg (line 147) | class pg extends Uc{constructor(e,n,i){super(e,n,i)}} method constructor (line 147) | constructor(e,n,i){super(e,n,i)} class Ym (line 147) | class Ym extends Uc{constructor(e,n,i,r){super(e,n,i,r)}} method constructor (line 147) | constructor(e,n,i,r){super(e,n,i,r)} class uv (line 147) | class uv{constructor(e="",n=-1,i=[],r=jA){this.name=e,this.tracks=i,this... method constructor (line 147) | constructor(e="",n=-1,i=[],r=jA){this.name=e,this.tracks=i,this.durati... method parse (line 147) | static parse(e){const n=[],i=e.tracks,r=1/(e.fps||1);for(let s=0,o=i.l... method toJSON (line 147) | static toJSON(e){const n=[],i=e.tracks,r={name:e.name,duration:e.durat... method CreateFromMorphTargetSequence (line 147) | static CreateFromMorphTargetSequence(e,n,i,r){const a=n.length,s=[];fo... method findByName (line 147) | static findByName(e,n){let i=e;if(!Array.isArray(e)){const r=e;i=r.geo... method CreateClipsFromMorphTargetSequences (line 147) | static CreateClipsFromMorphTargetSequences(e,n,i){const r={},a=/^([\w-... method parseAnimation (line 147) | static parseAnimation(e,n){if(console.warn("THREE.AnimationClip: parse... method resetDuration (line 147) | resetDuration(){const e=this.tracks;let n=0;for(let i=0,r=e.length;i!=... method trim (line 147) | trim(){for(let e=0;e0){this.source.connect(this.filters[0... method disconnect (line 147) | disconnect(){if(this._connected!==!1){if(this.filters.length>0){this.s... method getFilters (line 147) | getFilters(){return this.filters} method setFilters (line 147) | setFilters(e){return e||(e=[]),this._connected===!0?(this.disconnect()... method setDetune (line 147) | setDetune(e){return this.detune=e,this.isPlaying===!0&&this.source.det... method getDetune (line 147) | getDetune(){return this.detune} method getFilter (line 147) | getFilter(){return this.getFilters()[0]} method setFilter (line 147) | setFilter(e){return this.setFilters(e?[e]:[])} method setPlaybackRate (line 147) | setPlaybackRate(e){if(this.hasPlaybackControl===!1){console.warn("THRE... method getPlaybackRate (line 147) | getPlaybackRate(){return this.playbackRate} method onEnded (line 147) | onEnded(){this.isPlaying=!1,this._progress=0} method getLoop (line 147) | getLoop(){return this.hasPlaybackControl===!1?(console.warn("THREE.Aud... method setLoop (line 147) | setLoop(e){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio:... method setLoopStart (line 147) | setLoopStart(e){return this.loopStart=e,this} method setLoopEnd (line 147) | setLoopEnd(e){return this.loopEnd=e,this} method getVolume (line 147) | getVolume(){return this.gain.gain.value} method setVolume (line 147) | setVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.curr... method copy (line 147) | copy(e,n){return super.copy(e,n),e.sourceType!=="buffer"?(console.warn... method clone (line 147) | clone(e){return new this.constructor(this.listener).copy(this,e)} class q0e (line 147) | class q0e extends w${constructor(e){super(e),this.panner=this.context.cr... method constructor (line 147) | constructor(e){super(e),this.panner=this.context.createPanner(),this.p... method connect (line 147) | connect(){return super.connect(),this.panner.connect(this.gain),this} method disconnect (line 147) | disconnect(){return super.disconnect(),this.panner.disconnect(this.gai... method getOutput (line 147) | getOutput(){return this.panner} method getRefDistance (line 147) | getRefDistance(){return this.panner.refDistance} method setRefDistance (line 147) | setRefDistance(e){return this.panner.refDistance=e,this} method getRolloffFactor (line 147) | getRolloffFactor(){return this.panner.rolloffFactor} method setRolloffFactor (line 147) | setRolloffFactor(e){return this.panner.rolloffFactor=e,this} method getDistanceModel (line 147) | getDistanceModel(){return this.panner.distanceModel} method setDistanceModel (line 147) | setDistanceModel(e){return this.panner.distanceModel=e,this} method getMaxDistance (line 147) | getMaxDistance(){return this.panner.maxDistance} method setMaxDistance (line 147) | setMaxDistance(e){return this.panner.maxDistance=e,this} method setDirectionalCone (line 147) | setDirectionalCone(e,n,i){return this.panner.coneInnerAngle=e,this.pan... method updateMatrixWorld (line 147) | updateMatrixWorld(e){if(super.updateMatrixWorld(e),this.hasPlaybackCon... class X0e (line 147) | class X0e{constructor(e,n=2048){this.analyser=e.context.createAnalyser()... method constructor (line 147) | constructor(e,n=2048){this.analyser=e.context.createAnalyser(),this.an... method getFrequencyData (line 147) | getFrequencyData(){return this.analyser.getByteFrequencyData(this.data... method getAverageFrequency (line 147) | getAverageFrequency(){let e=0;const n=this.getFrequencyData();for(let ... class E$ (line 147) | class E${constructor(e,n,i){this.binding=e,this.valueSize=i;let r,a,s;sw... method constructor (line 147) | constructor(e,n,i){this.binding=e,this.valueSize=i;let r,a,s;switch(n)... method accumulate (line 147) | accumulate(e,n){const i=this.buffer,r=this.valueSize,a=e*r+r;let s=thi... method accumulateAdditive (line 147) | accumulateAdditive(e){const n=this.buffer,i=this.valueSize,r=i*this._a... method apply (line 147) | apply(e){const n=this.valueSize,i=this.buffer,r=e*n+n,a=this.cumulativ... method saveOriginalState (line 147) | saveOriginalState(){const e=this.binding,n=this.buffer,i=this.valueSiz... method restoreOriginalState (line 147) | restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(... method _setAdditiveIdentityNumeric (line 147) | _setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,n=... method _setAdditiveIdentityQuaternion (line 147) | _setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),th... method _setAdditiveIdentityOther (line 147) | _setAdditiveIdentityOther(){const e=this._origIndex*this.valueSize,n=t... method _select (line 147) | _select(e,n,i,r,a){if(r>=.5)for(let s=0;s!==a;++s)e[n+s]=e[i+s]} method _slerp (line 147) | _slerp(e,n,i,r){qn.slerpFlat(e,n,e,n,e,i,r)} method _slerpAdditive (line 147) | _slerpAdditive(e,n,i,r,a){const s=this._workIndex*a;qn.multiplyQuatern... method _lerp (line 147) | _lerp(e,n,i,r,a){const s=1-r;for(let o=0;o!==a;++o){const l=n+o;e[l]=e... method _lerpAdditive (line 147) | _lerpAdditive(e,n,i,r,a){for(let s=0;s!==a;++s){const o=n+s;e[o]=e[o]+... class nve (line 147) | class nve{constructor(e,n,i){const r=i||Bi.parseTrackName(n);this._targe... method constructor (line 147) | constructor(e,n,i){const r=i||Bi.parseTrackName(n);this._targetGroup=e... method getValue (line 147) | getValue(e,n){this.bind();const i=this._targetGroup.nCachedObjects_,r=... method setValue (line 147) | setValue(e,n){const i=this._bindings;for(let r=this._targetGroup.nCach... method bind (line 147) | bind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjec... method unbind (line 147) | unbind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObj... class Bi (line 147) | class Bi{constructor(e,n,i){this.path=n,this.parsedPath=i||Bi.parseTrack... method constructor (line 147) | constructor(e,n,i){this.path=n,this.parsedPath=i||Bi.parseTrackName(n)... method create (line 147) | static create(e,n,i){return e&&e.isAnimationObjectGroup?new Bi.Composi... method sanitizeNodeName (line 147) | static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(K0e,"")} method parseTrackName (line 147) | static parseTrackName(e){const n=eve.exec(e);if(n===null)throw new Err... method findNode (line 147) | static findNode(e,n){if(n===void 0||n===""||n==="."||n===-1||n===e.nam... method _getValue_unavailable (line 147) | _getValue_unavailable(){} method _setValue_unavailable (line 147) | _setValue_unavailable(){} method _getValue_direct (line 147) | _getValue_direct(e,n){e[n]=this.targetObject[this.propertyName]} method _getValue_array (line 147) | _getValue_array(e,n){const i=this.resolvedProperty;for(let r=0,a=i.len... method _getValue_arrayElement (line 147) | _getValue_arrayElement(e,n){e[n]=this.resolvedProperty[this.propertyIn... method _getValue_toArray (line 147) | _getValue_toArray(e,n){this.resolvedProperty.toArray(e,n)} method _setValue_direct (line 147) | _setValue_direct(e,n){this.targetObject[this.propertyName]=e[n]} method _setValue_direct_setNeedsUpdate (line 147) | _setValue_direct_setNeedsUpdate(e,n){this.targetObject[this.propertyNa... method _setValue_direct_setMatrixWorldNeedsUpdate (line 147) | _setValue_direct_setMatrixWorldNeedsUpdate(e,n){this.targetObject[this... method _setValue_array (line 147) | _setValue_array(e,n){const i=this.resolvedProperty;for(let r=0,a=i.len... method _setValue_array_setNeedsUpdate (line 147) | _setValue_array_setNeedsUpdate(e,n){const i=this.resolvedProperty;for(... method _setValue_array_setMatrixWorldNeedsUpdate (line 147) | _setValue_array_setMatrixWorldNeedsUpdate(e,n){const i=this.resolvedPr... method _setValue_arrayElement (line 147) | _setValue_arrayElement(e,n){this.resolvedProperty[this.propertyIndex]=... method _setValue_arrayElement_setNeedsUpdate (line 147) | _setValue_arrayElement_setNeedsUpdate(e,n){this.resolvedProperty[this.... method _setValue_arrayElement_setMatrixWorldNeedsUpdate (line 147) | _setValue_arrayElement_setMatrixWorldNeedsUpdate(e,n){this.resolvedPro... method _setValue_fromArray (line 147) | _setValue_fromArray(e,n){this.resolvedProperty.fromArray(e,n)} method _setValue_fromArray_setNeedsUpdate (line 147) | _setValue_fromArray_setNeedsUpdate(e,n){this.resolvedProperty.fromArra... method _setValue_fromArray_setMatrixWorldNeedsUpdate (line 147) | _setValue_fromArray_setMatrixWorldNeedsUpdate(e,n){this.resolvedProper... method _getValue_unbound (line 147) | _getValue_unbound(e,n){this.bind(),this.getValue(e,n)} method _setValue_unbound (line 147) | _setValue_unbound(e,n){this.bind(),this.setValue(e,n)} method bind (line 147) | bind(){let e=this.node;const n=this.parsedPath,i=n.objectName,r=n.prop... method unbind (line 147) | unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setV... class ive (line 147) | class ive{constructor(){this.isAnimationObjectGroup=!0,this.uuid=El(),th... method constructor (line 147) | constructor(){this.isAnimationObjectGroup=!0,this.uuid=El(),this._obje... method add (line 147) | add(){const e=this._objects,n=this._indicesByUUID,i=this._paths,r=this... method remove (line 147) | remove(){const e=this._objects,n=this._indicesByUUID,i=this._bindings,... method uncache (line 147) | uncache(){const e=this._objects,n=this._indicesByUUID,i=this._bindings... method subscribe_ (line 147) | subscribe_(e,n){const i=this._bindingsIndicesByPath;let r=i[e];const a... method unsubscribe_ (line 147) | unsubscribe_(e){const n=this._bindingsIndicesByPath,i=n[e];if(i!==void... class M$ (line 147) | class M${constructor(e,n,i=null,r=n.blendMode){this._mixer=e,this._clip=... method constructor (line 147) | constructor(e,n,i=null,r=n.blendMode){this._mixer=e,this._clip=n,this.... method play (line 147) | play(){return this._mixer._activateAction(this),this} method stop (line 147) | stop(){return this._mixer._deactivateAction(this),this.reset()} method reset (line 147) | reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCo... method isRunning (line 147) | isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&thi... method isScheduled (line 147) | isScheduled(){return this._mixer._isActiveAction(this)} method startAt (line 147) | startAt(e){return this._startTime=e,this} method setLoop (line 147) | setLoop(e,n){return this.loop=e,this.repetitions=n,this} method setEffectiveWeight (line 147) | setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.... method getEffectiveWeight (line 147) | getEffectiveWeight(){return this._effectiveWeight} method fadeIn (line 147) | fadeIn(e){return this._scheduleFading(e,0,1)} method fadeOut (line 147) | fadeOut(e){return this._scheduleFading(e,1,0)} method crossFadeFrom (line 147) | crossFadeFrom(e,n,i=!1){if(e.fadeOut(n),this.fadeIn(n),i===!0){const r... method crossFadeTo (line 147) | crossFadeTo(e,n,i=!1){return e.crossFadeFrom(this,n,i)} method stopFading (line 147) | stopFading(){const e=this._weightInterpolant;return e!==null&&(this._w... method setEffectiveTimeScale (line 147) | setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeSc... method getEffectiveTimeScale (line 147) | getEffectiveTimeScale(){return this._effectiveTimeScale} method setDuration (line 147) | setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWa... method syncWith (line 147) | syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.st... method halt (line 147) | halt(e){return this.warp(this._effectiveTimeScale,0,e)} method warp (line 147) | warp(e,n,i){const r=this._mixer,a=r.time,s=this.timeScale;let o=this._... method stopWarping (line 147) | stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(thi... method getMixer (line 147) | getMixer(){return this._mixer} method getClip (line 147) | getClip(){return this._clip} method getRoot (line 147) | getRoot(){return this._localRoot||this._mixer._root} method _update (line 147) | _update(e,n,i,r){if(!this.enabled){this._updateWeight(e);return}const ... method _updateWeight (line 147) | _updateWeight(e){let n=0;if(this.enabled){n=this.weight;const i=this._... method _updateTimeScale (line 147) | _updateTimeScale(e){let n=0;if(!this.paused){n=this.timeScale;const i=... method _updateTime (line 147) | _updateTime(e){const n=this._clip.duration,i=this.loop;let r=this.time... method _setEndings (line 147) | _setEndings(e,n,i){const r=this._interpolantSettings;i?(r.endingStart=... method _scheduleFading (line 147) | _scheduleFading(e,n,i){const r=this._mixer,a=r.time;let s=this._weight... class T$ (line 147) | class T$ extends vf{constructor(e){super(),this._root=e,this._initMemory... method constructor (line 147) | constructor(e){super(),this._root=e,this._initMemoryManager(),this._ac... method _bindAction (line 147) | _bindAction(e,n){const i=e._localRoot||this._root,r=e._clip.tracks,a=r... method _activateAction (line 147) | _activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===nul... method _deactivateAction (line 147) | _deactivateAction(e){if(this._isActiveAction(e)){const n=e._propertyBi... method _initMemoryManager (line 147) | _initMemoryManager(){this._actions=[],this._nActiveActions=0,this._act... method _isActiveAction (line 147) | _isActiveAction(e){const n=e._cacheIndex;return n!==null&&n=this.min.x&&e.x<=this.max.x&&e.y>=this.mi... method containsBox (line 147) | containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.m... method getParameter (line 147) | getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x... method intersectsBox (line 147) | intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.ma... method clampPoint (line 147) | clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)} method distanceToPoint (line 147) | distanceToPoint(e){return this.clampPoint(e,Rj).distanceTo(e)} method intersect (line 147) | intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmp... method union (line 147) | union(e){return this.min.min(e.min),this.max.max(e.max),this} method translate (line 147) | translate(e){return this.min.add(e),this.max.add(e),this} method equals (line 147) | equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)} class R$ (line 147) | class R${constructor(e=new te,n=new te){this.start=e,this.end=n}set(e,n)... method constructor (line 147) | constructor(e=new te,n=new te){this.start=e,this.end=n} method set (line 147) | set(e,n){return this.start.copy(e),this.end.copy(n),this} method copy (line 147) | copy(e){return this.start.copy(e.start),this.end.copy(e.end),this} method getCenter (line 147) | getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)} method delta (line 147) | delta(e){return e.subVectors(this.end,this.start)} method distanceSq (line 147) | distanceSq(){return this.start.distanceToSquared(this.end)} method distance (line 147) | distance(){return this.start.distanceTo(this.end)} method at (line 147) | at(e,n){return this.delta(n).multiplyScalar(e).add(this.start)} method closestPointToPointParameter (line 147) | closestPointToPointParameter(e,n){kj.subVectors(e,this.start),Hw.subVe... method closestPointToPoint (line 147) | closestPointToPoint(e,n,i){const r=this.closestPointToPointParameter(e... method distanceSqToLine3 (line 147) | distanceSqToLine3(e,n=hve,i=dve){const r=10000000000000001e-32;let a,s... method applyMatrix4 (line 147) | applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix... method equals (line 147) | equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)} method clone (line 147) | clone(){return new this.constructor().copy(this)} class pve (line 147) | class pve extends Pi{constructor(e,n){super(),this.light=e,this.matrixAu... method constructor (line 147) | constructor(e,n){super(),this.light=e,this.matrixAutoUpdate=!1,this.co... method dispose (line 147) | dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()} method update (line 147) | update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateW... class mve (line 147) | class mve extends Lc{constructor(e){const n=k$(e),i=new On,r=[],a=[];for... method constructor (line 147) | constructor(e){const n=k$(e),i=new On,r=[],a=[];for(let c=0;c.99999)this.quaternion.set(0,0,0,1);else if(e.y... method setLength (line 147) | setLength(e,n=e*.2,i=n*.2){this.line.scale.set(1,Math.max(1e-4,e-n),1)... method setColor (line 147) | setColor(e){this.line.material.color.set(e),this.cone.material.color.s... method copy (line 147) | copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(... method dispose (line 147) | dispose(){this.line.geometry.dispose(),this.line.material.dispose(),th... class Tve (line 147) | class Tve extends Lc{constructor(e=1){const n=[0,0,0,e,0,0,0,0,0,0,e,0,0... method constructor (line 147) | constructor(e=1){const n=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],i=[1,0,... method setColors (line 147) | setColors(e,n,i){const r=new Ut,a=this.geometry.attributes.color.array... method dispose (line 147) | dispose(){this.geometry.dispose(),this.material.dispose()} class Ave (line 147) | class Ave{constructor(){this.type="ShapePath",this.color=new Ut,this.sub... method constructor (line 147) | constructor(){this.type="ShapePath",this.color=new Ut,this.subPaths=[]... method moveTo (line 147) | moveTo(e,n){return this.currentPath=new Q2,this.subPaths.push(this.cur... method lineTo (line 147) | lineTo(e,n){return this.currentPath.lineTo(e,n),this} method quadraticCurveTo (line 147) | quadraticCurveTo(e,n,i,r){return this.currentPath.quadraticCurveTo(e,n... method bezierCurveTo (line 147) | bezierCurveTo(e,n,i,r,a,s){return this.currentPath.bezierCurveTo(e,n,i... method splineThru (line 147) | splineThru(e){return this.currentPath.splineThru(e),this} method toShapes (line 147) | toShapes(e){function n(m){const x=[];for(let _=0,w=m.length;_0)return t;const r=e*n;let a=... function ja (line 3840) | function ja(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;... function Ha (line 3840) | function Ha(t,e){for(let n=0,i=e.length;ni===r){if(t===e)return!0;if(!t||!e)return!1;con... function W$ (line 3967) | function W$(t,e=null,n=!1,i={}){e===null&&(e=[t]);for(const a of dm)if(G... function e (line 3975) | function e(F,V){var H=F.length;F.push(V);e:for(;0>>1,B=F[... function n (line 3975) | function n(F){return F.length===0?null:F[0]} function i (line 3975) | function i(F){if(F.length===0)return null;var V=F[0],H=F.pop();if(H!==V)... function r (line 3975) | function r(F,V){var H=F.sortIndex-V.sortIndex;return H!==0?H:F.id-V.id} function _ (line 3975) | function _(F){for(var V=n(c);V!==null;){if(V.callback===null)i(c);else i... function w (line 3975) | function w(F){if(b=!1,_(F),!g)if(n(l)!==null)g=!0,z();else{var V=n(c);V!... function D (line 3975) | function D(){return!(t.unstable_now()-CMg||(p.current=RR[Mg],RR[Mg]=null,Mg--)} function x (line 3990) | function x(p,v){Mg++,RR[Mg]=p.current,p.current=v} function _ (line 3990) | function _(p){return p>>>=0,p===0?32:31-(ere(p)/tre|0)|0} function w (line 3990) | function w(p){var v=p&42;if(v!==0)return v;switch(p&-p){case 1:return 1;... function M (line 3990) | function M(p,v){var T=p.pendingLanes;if(T===0)return 0;var O=0,P=p.suspe... function S (line 3990) | function S(p,v){return(p.pendingLanes&~(p.suspendedLanes&~p.pingedLanes)... function A (line 3990) | function A(p,v){switch(p){case 1:case 2:case 4:case 8:return v+250;case ... function C (line 3990) | function C(){var p=gS;return gS<<=1,!(gS&4194176)&&(gS=128),p} function D (line 3990) | function D(){var p=bS;return bS<<=1,!(bS&62914560)&&(bS=4194304),p} function R (line 3990) | function R(p){for(var v=[],T=0;31>T;T++)v.push(p);return v} function L (line 3990) | function L(p,v){p.pendingLanes|=v,v!==268435456&&(p.suspendedLanes=0,p.p... function U (line 3990) | function U(p,v,T,O,P,X){var be=p.pendingLanes;p.pendingLanes=T,p.suspend... function j (line 3990) | function j(p,v,T){p.pendingLanes|=v,p.suspendedLanes&=~v;var O=31-nl(v);... function z (line 3990) | function z(p,v){var T=p.entangledLanes|=v;for(p=p.entanglements;T;){var ... function q (line 3990) | function q(p){return p&=-p,2>2]=ie} method get_type (line 4964) | get_type(){return U[this.ptr+4>>2]} method set_destructor (line 4964) | set_destructor(ie){U[this.ptr+8>>2]=ie} method get_destructor (line 4964) | get_destructor(){return U[this.ptr+8>>2]} method set_caught (line 4964) | set_caught(ie){ie=ie?1:0,A[this.ptr+12]=ie} method get_caught (line 4964) | get_caught(){return A[this.ptr+12]!=0} method set_rethrown (line 4964) | set_rethrown(ie){ie=ie?1:0,A[this.ptr+13]=ie} method get_rethrown (line 4964) | get_rethrown(){return A[this.ptr+13]!=0} method init (line 4964) | init(ie,ke){this.set_adjusted_ptr(0),this.set_type(ie),this.set_destru... method set_adjusted_ptr (line 4964) | set_adjusted_ptr(ie){U[this.ptr+16>>2]=ie} method get_adjusted_ptr (line 4964) | get_adjusted_ptr(){return U[this.ptr+16>>2]} method get_exception_ptr (line 4964) | get_exception_ptr(){var ie=lo(this.get_type());if(ie)return U[this.exc... function ae (line 3990) | function ae(p,v){for(var T=p.suspendedLanes,O=p.pingedLanes,P=p.expirati... function K (line 3990) | function K(p,v){var T=p.callbackNode;if(lp()&&p.callbackNode!==T)return ... function ce (line 3990) | function ce(p,v){if(lp())return null;B4(p,v,!0)} function he (line 3990) | function he(p){iie?rie(function(){yr&6?vS(L9,p):p()}):vS(L9,p)} function me (line 3990) | function me(){return Dg===0&&(Dg=C()),Dg} function $ (line 3990) | function $(p,v){if(my===null){var T=my=[];PR=0,Og=me(),Ig={status:"pendi... function Ve (line 3990) | function Ve(){if(--PR===0&&my!==null){Ig!==null&&(Ig.status="fulfilled")... function Xe (line 3990) | function Xe(p,v){var T=[],O={status:"pending",value:null,reason:null,the... function mt (line 3990) | function mt(p){p.updateQueue={baseState:p.memoizedState,firstBaseUpdate:... function Ge (line 3990) | function Ge(p,v){p=p.updateQueue,v.updateQueue===p&&(v.updateQueue={base... function Je (line 3990) | function Je(p){return{lane:p,tag:0,payload:null,callback:null,next:null}} function Ye (line 3990) | function Ye(p,v,T){var O=p.updateQueue;if(O===null)return null;if(O=O.sh... function vt (line 3990) | function vt(p,v,T){if(v=v.updateQueue,v!==null&&(v=v.shared,(T&4194176)!... function Mt (line 3990) | function Mt(p,v){var T=p.updateQueue,O=p.alternate;if(O!==null&&(O=O.upd... function gt (line 3990) | function gt(){if(UR){var p=Ig;if(p!==null)throw p}} function kt (line 3990) | function kt(p,v,T,O){UR=!1;var P=p.updateQueue;Fh=!1;var X=P.firstBaseUp... function Re (line 3990) | function Re(p,v){if(typeof p!="function")throw Error(r(191,p));p.call(v)} function Le (line 3990) | function Le(p,v){var T=p.callbacks;if(T!==null)for(p.callbacks=null,p=0;... function ht (line 3990) | function ht(p,v){if(rl(p,v))return!0;if(typeof p!="object"||p===null||ty... function jt (line 3990) | function jt(p){return p=p.status,p==="fulfilled"||p==="rejected"} function st (line 3990) | function st(){} function it (line 3990) | function it(p,v,T){switch(T=p[T],T===void 0?p.push(v):T!==v&&(v.then(st,... function bt (line 3990) | function bt(){if(Ng===null)throw Error(r(459));var p=Ng;return Ng=null,p} function Jt (line 3990) | function Jt(p){var v=by;return by+=1,Lg===null&&(Lg=[]),it(Lg,p,v)} function Kt (line 3990) | function Kt(p,v){v=v.props.ref,p.ref=v!==void 0?v:null} function un (line 3990) | function un(p,v){throw v.$$typeof===Pne?Error(r(525)):(p=Object.prototyp... function Vn (line 3990) | function Vn(p){var v=p._init;return v(p._payload)} function vn (line 3990) | function vn(p){function v(lt,et){if(p){var pt=lt.deletions;pt===null?(lt... function Qn (line 3990) | function Qn(p,v){p=kf,x(MS,p),x(Pg,v),kf=p|v.baseLanes} function Yn (line 3990) | function Yn(){x(MS,kf),x(Pg,Pg.current)} function xi (line 3990) | function xi(){kf=MS.current,m(Pg),m(MS)} function Xn (line 3990) | function Xn(p){var v=p.alternate;x(La,La.current&1),x(Gl,p),ku===null&&(... function Ji (line 3990) | function Ji(p){if(p.tag===22){if(x(La,La.current),x(Gl,p),ku===null){var... function hi (line 3990) | function hi(){x(La,La.current),x(Gl,Gl.current)} function on (line 3990) | function on(p){m(Gl),ku===p&&(ku=null),m(La)} function Ii (line 3990) | function Ii(p){for(var v=p;v!==null;){if(v.tag===13){var T=v.memoizedSta... function ri (line 3990) | function ri(){throw Error(r(321))} function se (line 3990) | function se(p,v){if(v===null)return!1;for(var T=0;TX?X:8);var be=Kn.T,Fe={};Kn... function re (line 3990) | function re(p){var v=p.memoizedState;if(v!==null)return v;v={memoizedSta... function ye (line 3990) | function ye(){return Bt(fp)} function $e (line 3990) | function $e(){return Te().memoizedState} function tt (line 3990) | function tt(){return Te().memoizedState} function Lt (line 3990) | function Lt(p){for(var v=p.return;v!==null;){switch(v.tag){case 24:case ... function zt (line 3990) | function zt(p,v,T){var O=el();T={lane:O,revertLane:0,action:T,hasEagerSt... function gn (line 3990) | function gn(p,v,T){var O=el();En(p,v,T,O)} function En (line 3990) | function En(p,v,T,O){var P={lane:O,revertLane:0,action:T,hasEagerState:!... function Ei (line 3990) | function Ei(p,v,T,O){if(O={lane:2,revertLane:me(),action:O,hasEagerState... function Cn (line 3990) | function Cn(p){var v=p.alternate;return p===gi||v!==null&&v===gi} function ai (line 3990) | function ai(p,v){Ug=TS=!0;var T=p.pending;T===null?v.next=v:(v.next=T.ne... function Ar (line 3990) | function Ar(p,v,T){if(T&4194176){var O=v.lanes;O&=p.pendingLanes,T|=O,v.... function Mi (line 3990) | function Mi(p,v,T,O){v=p.memoizedState,T=T(O,v),T=T==null?v:gR({},v,T),p... function Hi (line 3990) | function Hi(p,v,T,O,P,X,be){return p=p.stateNode,typeof p.shouldComponen... function Ui (line 3990) | function Ui(p,v,T,O){p=v.state,typeof v.componentWillReceiveProps=="func... function pi (line 3990) | function pi(p,v){var T=v;if("ref"in v){T={};for(var O in v)O!=="ref"&&(T... function Ia (line 3990) | function Ia(p,v){try{var T=p.onUncaughtError;T(v.value,{componentStack:v... function Pl (line 3990) | function Pl(p,v,T){try{var O=p.onCaughtError;O(T.value,{componentStack:T... function Yo (line 3990) | function Yo(p,v,T){return T=Je(T),T.tag=3,T.payload={element:null},T.cal... function Na (line 3990) | function Na(p){return p=Je(p),p.tag=3,p} function sr (line 3990) | function sr(p,v,T,O){var P=T.type.getDerivedStateFromError;if(typeof P==... function rp (line 3990) | function rp(p,v,T,O,P){if(T.flags|=32768,O!==null&&typeof O=="object"&&t... function Cr (line 3990) | function Cr(p,v,T,O){v.child=p===null?U9(v,null,T,O):dp(v,p.child,T,O)} function Ul (line 3990) | function Ul(p,v,T,O,P){T=T.render;var X=v.ref;if("ref"in O){var be={};fo... function Fc (line 3990) | function Fc(p,v,T,O,P){if(p===null){var X=T.type;return typeof X=="funct... function Hs (line 3990) | function Hs(p,v,T,O,P){if(p!==null){var X=p.memoizedProps;if(ht(X,O)&&p.... function br (line 3990) | function br(p,v,T){var O=v.pendingProps,P=O.children,X=(v.stateNode._pen... function Wr (line 3990) | function Wr(p,v,T,O){var P=ea();return P=P===null?null:{parent:Ef?ua._cu... function ur (line 3990) | function ur(p,v){var T=v.ref;if(T===null)p!==null&&p.ref!==null&&(v.flag... function Vs (line 3990) | function Vs(p,v,T,O,P){return Tt(v),T=ge(p,v,T,O,void 0,P),O=ot(),p!==nu... function qa (line 3990) | function qa(p,v,T,O,P,X){return Tt(v),v.updateQueue=null,T=rt(v,O,T,P),P... function vg (line 3990) | function vg(p,v,T,O,P){if(Tt(v),v.stateNode===null){var X=Tg,be=T.contex... function ap (line 3990) | function ap(p,v,T,O){return He(),v.flags|=256,Cr(p,v,T,O),v.child} function Rh (line 3990) | function Rh(p){return{baseLanes:p,cachePool:zc()}} function Bc (line 3990) | function Bc(p,v,T){return p=p!==null?p.childLanes&~T:0,v&&(p|=Wl),p} function Cu (line 3990) | function Cu(p,v,T){var O=v.pendingProps,P=!1,X=(v.flags&128)!==0,be;if((... function sp (line 3990) | function sp(p,v){return v=_f({mode:"visible",children:v},p.mode),v.retur... function _f (line 3990) | function _f(p,v){return e9(p,v,0,null)} function oo (line 3990) | function oo(p,v,T){return dp(v,p.child,null,T),p=sp(v,v.pendingProps.chi... function Jo (line 3990) | function Jo(p,v,T){p.lanes|=v;var O=p.alternate;O!==null&&(O.lanes|=v),K... function Gs (line 3990) | function Gs(p,v,T,O,P){var X=p.memoizedState;X===null?p.memoizedState={i... function Xa (line 3990) | function Xa(p,v,T){var O=v.pendingProps,P=O.revealOrder,X=O.tail;if(Cr(p... function lo (line 3990) | function lo(p,v,T){if(p!==null&&(v.dependencies=p.dependencies),jh|=v.la... function Fl (line 3990) | function Fl(p,v){return p.lanes&v?!0:(p=p.dependencies,!!(p!==null&&Vt(p... function kh (line 3990) | function kh(p,v,T){switch(v.tag){case 3:de(v,v.stateNode.containerInfo),... function ne (line 3990) | function ne(p,v,T){if(p!==null)if(p.memoizedProps!==v.pendingProps)Ya=!0... function ie (line 3990) | function ie(p,v,T){Ef?(x(CS,v._currentValue),v._currentValue=T):(x(CS,v.... function ke (line 3990) | function ke(p){var v=CS.current;Ef?p._currentValue=v:p._currentValue2=v,... function Ke (line 3990) | function Ke(p,v,T){for(;p!==null;){var O=p.alternate;if((p.childLanes&v)... function xt (line 3990) | function xt(p,v,T,O){var P=p.child;for(P!==null&&(P.return=p);P!==null;)... function Ot (line 3990) | function Ot(p,v,T,O){p=null;for(var P=v,X=!1;P!==null;){if(!X){if(P.flag... function Vt (line 3990) | function Vt(p){for(p=p.firstContext;p!==null;){var v=p.context;if(!rl(Ef... function Tt (line 3990) | function Tt(p){bp=p,Af=null,p=p.dependencies,p!==null&&(p.firstContext=n... function Bt (line 3990) | function Bt(p){return ln(bp,p)} function rn (line 3990) | function rn(p,v){return bp===null&&Tt(p),ln(p,v)} function ln (line 3990) | function ln(p,v){var T=Ef?v._currentValue:v._currentValue2;if(v={context... function Jn (line 3990) | function Jn(){return{controller:new ure,data:new Map,refCount:0}} function Ln (line 3990) | function Ln(p){p.refCount--,p.refCount===0&&fre(hre,function(){p.control... function ea (line 3990) | function ea(){var p=vp.current;return p!==null?p:Dr.pooledCache} function si (line 3990) | function si(p,v){v===null?x(vp,vp.current):x(vp,v.pool)} function zc (line 3990) | function zc(){var p=ea();return p===null?null:{parent:Ef?ua._currentValu... function Fr (line 3990) | function Fr(p){p.flags|=4} function $o (line 3990) | function $o(p,v){if(p!==null&&p.child===v.child)return!1;if(v.flags&16)r... function Sf (line 3990) | function Sf(p,v,T,O){if(Ks)for(T=v.child;T!==null;){if(T.tag===5||T.tag=... function co (line 3990) | function co(p,v,T,O){if(Ph)for(var P=v.child;P!==null;){if(P.tag===5){va... function Dh (line 3990) | function Dh(p,v){if(Ph&&$o(p,v)){p=v.stateNode;var T=p.containerInfo,O=v... function Q (line 3990) | function Q(p,v,T,O){if(Ks)p.memoizedProps!==O&&Fr(v);else if(Ph){var P=p... function fe (line 3990) | function fe(p,v,T){if(Qne(v,T)){if(p.flags|=16777216,!m9(v,T))if(V4())p.... function _e (line 3990) | function _e(p,v){if(Yie(v)){if(p.flags|=16777216,!O9(v))if(V4())p.flags|... function Ee (line 3990) | function Ee(p,v){v!==null&&(p.flags|=4),p.flags&16384&&(v=p.tag!==22?D()... function We (line 3990) | function We(p,v){if(!Wi)switch(p.tailMode){case"hidden":v=p.tail;for(var... function Ze (line 3990) | function Ze(p){var v=p.alternate!==null&&p.alternate.child===p.child,T=0... function Ct (line 3990) | function Ct(p,v,T){var O=v.pendingProps;switch(G(v),v.tag){case 16:case ... function Ft (line 3990) | function Ft(p,v){switch(G(v),v.tag){case 1:return p=v.flags,p&65536?(v.f... function Gt (line 3990) | function Gt(p,v){switch(G(v),v.tag){case 3:ke(ua),oe();break;case 26:cas... function Qt (line 3990) | function Qt(p,v){try{var T=v.updateQueue,O=T!==null?T.lastEffect:null;if... function Zt (line 3990) | function Zt(p,v,T){try{var O=v.updateQueue,P=O!==null?O.lastEffect:null;... function fn (line 3990) | function fn(p){var v=p.updateQueue;if(v!==null){var T=p.stateNode;try{Le... function Fn (line 3990) | function Fn(p,v,T){T.props=pi(p.type,p.memoizedProps),T.state=p.memoized... function mi (line 3990) | function mi(p,v){try{var T=p.ref;if(T!==null){var O=p.stateNode;switch(p... function Wn (line 3990) | function Wn(p,v){var T=p.ref,O=p.refCleanup;if(T!==null)if(typeof O=="fu... function ci (line 3990) | function ci(p){var v=p.type,T=p.memoizedProps,O=p.stateNode;try{pie(O,v,... function Rn (line 3990) | function Rn(p,v,T){try{mie(p.stateNode,p.type,T,v,p)}catch(O){dr(p,p.ret... function yn (line 3990) | function yn(p){return p.tag===5||p.tag===3||(zl?p.tag===26:!1)||(Ys?p.ta... function fr (line 3990) | function fr(p){e:for(;;){for(;p.sibling===null;){if(p.return===null||yn(... function Rr (line 3990) | function Rr(p,v,T){var O=p.tag;if(O===5||O===6)p=p.stateNode,v?bie(T,p,v... function ta (line 3990) | function ta(p,v,T){var O=p.tag;if(O===5||O===6)p=p.stateNode,v?gie(T,p,v... function Zi (line 3990) | function Zi(p,v,T){p=p.containerInfo;try{x9(p,T)}catch(O){dr(v,v.return,... function qr (line 3990) | function qr(p,v){for(Gne(p.containerInfo),Ja=v;Ja!==null;)if(p=Ja,v=p.ch... function Ws (line 3990) | function Ws(p,v,T){var O=T.flags;switch(T.tag){case 0:case 11:case 15:hs... function Ka (line 3990) | function Ka(p){var v=p.alternate;v!==null&&(p.alternate=null,Ka(v)),p.ch... function Xr (line 3990) | function Xr(p,v,T){for(T=T.child;T!==null;)uo(p,v,T),T=T.sibling} function uo (line 3990) | function uo(p,v,T){if(il&&typeof il.onCommitFiberUnmount=="function")try... function Zo (line 3990) | function Zo(p,v){if(Bl&&v.memoizedState===null&&(p=v.alternate,p!==null&... function fo (line 3990) | function fo(p){switch(p.tag){case 13:case 19:var v=p.stateNode;return v=... function qs (line 3990) | function qs(p,v){var T=fo(p);v.forEach(function(O){var P=Dne.bind(null,p... function kr (line 3990) | function kr(p,v){var T=v.deletions;if(T!==null)for(var O=0;OT?32:T;T... function $4 (line 3990) | function $4(p,v,T){v=W(T,v),v=Yo(p.stateNode,v,2),p=Ye(p,v,2),p!==null&&... function dr (line 3990) | function dr(p,v,T){if(p.tag===3)$4(p,p,T);else for(;v!==null;){if(v.tag=... function fR (line 3990) | function fR(p,v,T){var O=p.pingCache;if(O===null){O=p.pingCache=new pre;... function Rne (line 3990) | function Rne(p,v,T){var O=p.pingCache;O!==null&&O.delete(v),p.pingedLane... function Z4 (line 3990) | function Z4(p,v){v===0&&(v=D()),p=we(p,v),p!==null&&(L(p,v),Ne(p))} function kne (line 3990) | function kne(p){var v=p.memoizedState,T=0;v!==null&&(T=v.retryLane),Z4(p... function Dne (line 3990) | function Dne(p,v){var T=0;switch(p.tag){case 13:var O=p.stateNode,P=p.me... function One (line 3990) | function One(p,v){return vS(p,v)} function Ine (line 3990) | function Ine(p,v,T,O){this.tag=p,this.key=T,this.sibling=this.child=this... function hR (line 3990) | function hR(p){return p=p.prototype,!(!p||!p.isReactComponent)} function Ih (line 3990) | function Ih(p,v){var T=p.alternate;return T===null?(T=n(p.tag,v,p.key,p.... function Q4 (line 3990) | function Q4(p,v){p.flags&=31457282;var T=p.alternate;return T===null?(p.... function hS (line 3990) | function hS(p,v,T,O,P,X){var be=0;if(O=p,typeof p=="function")hR(p)&&(be... function cp (line 3990) | function cp(p,v,T,O){return p=n(7,p,O,v),p.lanes=T,p} function e9 (line 3990) | function e9(p,v,T,O){p=n(22,p,O,v),p.elementType=l9,p.lanes=T;var P={_vi... function dR (line 3990) | function dR(p,v,T){return p=n(6,p,null,v),p.lanes=T,p} function pR (line 3990) | function pR(p,v,T){return v=n(4,p.children!==null?p.children:[],p.key,v)... function Nne (line 3990) | function Nne(p,v,T,O,P,X,be,Fe){this.tag=1,this.containerInfo=p,this.fin... function t9 (line 3990) | function t9(p,v,T,O,P,X,be,Fe,nt,Rt,Xt,sn){return p=new Nne(p,v,T,be,Fe,... function n9 (line 3990) | function n9(p){return p?(p=Tg,p):Tg} function i9 (line 3990) | function i9(p){var v=p._reactInternals;if(v===void 0)throw typeof p.rend... function r9 (line 3990) | function r9(p,v,T,O,P,X){P=n9(P),O.context===null?O.context=P:O.pendingC... function a9 (line 3990) | function a9(p,v){if(p=p.memoizedState,p!==null&&p.dehydrated!==null){var... function mR (line 3990) | function mR(p,v){a9(p,v),(p=p.alternate)&&a9(p,v)} function vU (line 3994) | function vU(t,e,n){if(!t)return;if(n(t)===!0)return t;let i=e?t.return:t... function J$ (line 3994) | function J$(t){try{return Object.defineProperties(t,{_currentRenderer:{g... method render (line 3994) | render(){return I.createElement(yU.Provider,{value:this._reactInternals}... function Z$ (line 3994) | function Z$(){const t=I.useContext(yU);if(t===null)throw new Error("its-... function XSe (line 3994) | function XSe(){const t=Z$(),[e]=I.useState(()=>new Map);e.clear();let n=... function Q$ (line 3994) | function Q$(){const t=XSe();return I.useMemo(()=>Array.from(t.keys()).re... function eZ (line 3994) | function eZ(t){let e=t.root;for(;e.getState().previousRoot;)e=e.getState... function xU (line 3994) | function xU(t){const e=I.useRef(t);return W_(()=>void(e.current=t),[t]),e} function JSe (line 3994) | function JSe(){const t=Z$(),e=Q$();return I.useMemo(()=>({children:n})=>... function $Se (line 3994) | function $Se({set:t}){return W_(()=>(t(new Promise(()=>null)),()=>t(!1))... method constructor (line 3994) | constructor(...n){super(...n),this.state={error:!1}} method componentDidCatch (line 3994) | componentDidCatch(n){this.props.set(n)} method render (line 3994) | render(){return this.state.error?null:this.props.children} function nZ (line 3994) | function nZ(t){var e;const n=typeof window<"u"?(e=window.devicePixelRati... function bb (line 3994) | function bb(t){var e;return(e=t.__r3f)==null?void 0:e.root.getState()} method equ (line 3994) | equ(t,e,{arrays:n="shallow",objects:i="reference",strict:r=!0}={}){if(ty... function QSe (line 3994) | function QSe(t){const e={nodes:{},materials:{},meshes:{}};return t&&t.tr... function ewe (line 3994) | function ewe(t){t.type!=="Scene"&&(t.dispose==null||t.dispose());for(con... function twe (line 3994) | function twe(t){const e={};for(const n in t)iZ.includes(n)||(e[n]=t[n]);... function nT (line 3994) | function nT(t,e,n,i){const r=t;let a=r?.__r3f;return a||(a={root:e,type:... function J1 (line 3994) | function J1(t,e){let n=t[e];if(!e.includes("-"))return{root:t,key:e,targ... function iT (line 3994) | function iT(t,e){if(Yr.str(e.props.attach)){if(l5.test(e.props.attach)){... function rT (line 3994) | function rT(t,e){if(Yr.str(e.props.attach)){const{root:n,key:i}=J1(t.obj... function nwe (line 3994) | function nwe(t){let e=c5.get(t.constructor);try{e||(e=new t.constructor,... function iwe (line 3994) | function iwe(t,e){const n={};for(const i in e)if(!sI.includes(i)&&!Yr.eq... function ou (line 3994) | function ou(t,e){var n;const i=t.__r3f,r=i&&eZ(i).getState(),a=i?.eventC... function Zv (line 3994) | function Zv(t){var e;if(!t.parent)return;t.props.onUpdate==null||t.props... function rZ (line 3994) | function rZ(t,e){t.manual||(tZ(t)?(t.left=e.width/-2,t.right=e.width/2,t... function $w (line 3994) | function $w(t){return(t.eventObject||t.object).uuid+"/"+t.index+t.instan... function aZ (line 3994) | function aZ(t,e,n,i){const r=n.get(e);r&&(n.delete(e),n.size===0&&(t.del... function swe (line 3994) | function swe(t,e){const{internal:n}=t.getState();n.interaction=n.interac... function owe (line 3994) | function owe(t){function e(l){const{internal:c}=t.getState(),u=l.offsetX... function h (line 3994) | function h(m=l().camera,x=u,_=l().size){const{width:w,height:M,top:S,lef... function SU (line 3994) | function SU(){const t=I.useContext(_U);if(!t)throw new Error("R3F: Hooks... function ki (line 3994) | function ki(t=n=>n,e){return SU()(t,e)} function oa (line 3994) | function oa(t,e=0){const n=SU(),i=n.getState().internal.subscribe,r=xU(t... function sZ (line 3994) | function sZ(t,e){return function(n,...i){let r;return cwe(n)?(r=f5.get(n... function dv (line 3994) | function dv(t,e,n,i){const r=Array.isArray(e)?e:[e],a=BSe(sZ(n,i),[t,...... function uwe (line 3994) | function uwe(t){const e=GSe(t);return e.injectIntoDevTools({bundleType:0... function q_ (line 3994) | function q_(t){if(dwe(t)){const e=`${hwe++}`;return pv[e]=t,e}else Objec... function lZ (line 3994) | function lZ(t,e){const n=vC(t),i=pv[n];if(t!=="primitive"&&!i)throw new ... function pwe (line 3994) | function pwe(t,e,n){var i;return t=vC(t)in pv?t:t.replace(fwe,""),lZ(t,e... function mwe (line 3994) | function mwe(t){if(!t.isHidden){var e;t.props.attach&&(e=t.parent)!=null... function cZ (line 3994) | function cZ(t){if(t.isHidden){var e;t.props.attach&&(e=t.parent)!=null&&... function wU (line 3994) | function wU(t,e,n){const i=e.root.getState();if(!(!t.parent&&t.object!==... function Wk (line 3994) | function Wk(t,e){e&&(e.parent=t,t.children.push(e),wU(t,e))} function h5 (line 3994) | function h5(t,e,n){if(!e||!n)return;e.parent=t;const i=t.children.indexO... function uZ (line 3994) | function uZ(t){if(typeof t.dispose=="function"){const e=()=>{try{t.dispo... function oI (line 3994) | function oI(t,e,n){if(!e)return;e.parent=null;const i=t.children.indexOf... function gwe (line 3994) | function gwe(t,e){for(const n of[t,t.alternate])if(n!==null)if(typeof n.... function bwe (line 3994) | function bwe(){for(const[n]of mM){const i=n.parent;if(i){n.props.attach?... method appendChildToContainer (line 3994) | appendChildToContainer(t,e){const n=t.getState().scene.__r3f;!e||!n||Wk(... method removeChildFromContainer (line 3994) | removeChildFromContainer(t,e){const n=t.getState().scene.__r3f;!e||!n||o... method insertInContainerBefore (line 3994) | insertInContainerBefore(t,e,n){const i=t.getState().scene.__r3f;!e||!n||... method commitUpdate (line 3994) | commitUpdate(t,e,n,i,r){var a,s,o;lZ(e,i);let l=!1;if((t.type==="primiti... method commitMount (line 3994) | commitMount(){} method beforeActiveInstanceBlur (line 3994) | beforeActiveInstanceBlur(){} method afterActiveInstanceBlur (line 3994) | afterActiveInstanceBlur(){} method detachDeletedInstance (line 3994) | detachDeletedInstance(){} method prepareScopeUpdate (line 3994) | prepareScopeUpdate(){} method requestPostPaintCallback (line 3994) | requestPostPaintCallback(){} method startSuspendingCommit (line 3994) | startSuspendingCommit(){} method suspendInstance (line 3994) | suspendInstance(){} method setCurrentUpdatePriority (line 3994) | setCurrentUpdatePriority(t){Zw=t} method getCurrentUpdatePriority (line 3994) | getCurrentUpdatePriority(){return Zw} method resolveUpdatePriority (line 3994) | resolveUpdatePriority(){var t;if(Zw!==oZ)return Zw;switch(typeof window<... method resetFormInstance (line 3994) | resetFormInstance(){} function xwe (line 3994) | function xwe(t,e){if(!e&&typeof HTMLCanvasElement<"u"&&t instanceof HTML... function _we (line 3994) | function _we(t){const e=Jm.get(t),n=e?.fiber,i=e?.store;e&&console.warn(... function Swe (line 3994) | function Swe({store:t,children:e,onCreated:n,rootElement:i}){return W_((... function fZ (line 3994) | function fZ(t,e){const n=Jm.get(t),i=n?.fiber;if(i){const r=n?.store.get... function wwe (line 3994) | function wwe(t,e,n){return k.jsx(Ewe,{children:t,container:e,state:n})} function Ewe (line 3994) | function Ewe({state:t={},children:e,container:n}){const{events:i,size:r,... function hZ (line 3994) | function hZ(t,e){const n={callback:t};return e.add(n),()=>void e.delete(n)} function Xk (line 3994) | function Xk(t,e){if(t.size)for(const{callback:n}of t.values())n(e)} function s1 (line 3994) | function s1(t,e){switch(t){case"before":return Xk(dZ,e);case"after":retu... function lI (line 3994) | function lI(t,e,n){let i=e.clock.getDelta();e.frameloop==="never"&&typeo... function mZ (line 3994) | function mZ(t){p5=requestAnimationFrame(mZ),sT=!0,Jk=0,s1("before",t),cI... function uI (line 3994) | function uI(t,e=1){var n;if(!t)return Jm.forEach(i=>uI(i.store.getState(... function m5 (line 3994) | function m5(t,e=!0,n,i){if(e&&s1("before",t),n)lI(t,n,i);else for(const ... function Cwe (line 3994) | function Cwe(t){const{handlePointer:e}=owe(t);return{priority:1,enabled:... function g5 (line 3994) | function g5(t,e){let n;return(...i)=>{window.clearTimeout(n),n=window.se... function Rwe (line 3994) | function Rwe({debounce:t,scroll:e,polyfill:n,offsetSize:i}={debounce:0,s... function kwe (line 3994) | function kwe(t){I.useEffect(()=>{const e=t;return window.addEventListene... function Dwe (line 3994) | function Dwe(t,e){I.useEffect(()=>{if(e){const n=t;return window.addEven... function gZ (line 3994) | function gZ(t){const e=[];if(!t||t===document.body)return e;const{overfl... function Nwe (line 3994) | function Nwe({ref:t,children:e,fallback:n,resize:i,style:r,gl:a,events:s... function Lwe (line 3994) | function Lwe(t){return k.jsx($$,{children:k.jsx(Nwe,{...t})})} function Uwe (line 3994) | function Uwe(t,e,n){const i=X_.setFromMatrixPosition(t.matrixWorld);i.pr... function Fwe (line 3994) | function Fwe(t,e){const n=X_.setFromMatrixPosition(t.matrixWorld),i=EU.s... function Bwe (line 3994) | function Bwe(t,e,n,i){const r=X_.setFromMatrixPosition(t.matrixWorld),a=... function zwe (line 3994) | function zwe(t,e){if(e instanceof Ah)return e.zoom;if(e instanceof ra){c... function jwe (line 3994) | function jwe(t,e,n){if(e instanceof ra||e instanceof Ah){const i=X_.setF... function bZ (line 3994) | function bZ(t,e,n=""){let i="matrix3d(";for(let r=0;r!==16;r++)i+=fI(e[r... function Gwe (line 3994) | function Gwe(t){return t&&typeof t=="object"&&"current"in t} function y5 (line 4031) | function y5(t,e){if(e===TJ)return console.warn("THREE.BufferGeometryUtil... function qwe (line 4031) | function qwe(t,e=Math.PI/3){const n=Math.cos(e),i=(1+1e-10)*100,r=[new t... function Qw (line 4031) | function Qw(t,e){return tEe((iEe(t),t.subarray(2,-4)),e)} class oEe (line 4031) | class oEe extends _i{constructor(e,n){var i,r;const a=sEe(e),o=((r=a?(i=... method constructor (line 4031) | constructor(e,n){var i,r;const a=sEe(e),o=((r=a?(i=e.image[0])==null?v... method radius (line 4112) | set radius(e){this.material.uniforms.radius.value=e} method radius (line 4112) | get radius(){return this.material.uniforms.radius.value} method height (line 4112) | set height(e){this.material.uniforms.height.value=e} method height (line 4112) | get height(){return this.material.uniforms.height.value} function oT (line 4112) | function oT(t){if(typeof TextDecoder<"u")return new TextDecoder().decode... class cEe (line 4112) | class cEe extends Fs{constructor(e){super(e),this.dracoLoader=null,this.... method constructor (line 4112) | constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,thi... method load (line 4112) | load(e,n,i,r){const a=this;let s;if(this.resourcePath!=="")s=this.reso... method setDRACOLoader (line 4112) | setDRACOLoader(e){return this.dracoLoader=e,this} method setDDSLoader (line 4112) | setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" n... method setKTX2Loader (line 4112) | setKTX2Loader(e){return this.ktx2Loader=e,this} method setMeshoptDecoder (line 4112) | setMeshoptDecoder(e){return this.meshoptDecoder=e,this} method register (line 4112) | register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCa... method unregister (line 4112) | unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.plugin... method parse (line 4112) | parse(e,n,i,r){let a;const s={},o={};if(typeof e=="string")a=JSON.pars... method parseAsync (line 4112) | parseAsync(e,n){const i=this;return new Promise(function(r,a){i.parse(... function uEe (line 4112) | function uEe(){let t={};return{get:function(e){return t[e]},add:function... class fEe (line 4112) | class fEe{constructor(e){this.parser=e,this.name=Di.KHR_LIGHTS_PUNCTUAL,... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_LIGHTS_PUNCTUAL,this.cac... method _markDefs (line 4112) | _markDefs(){const e=this.parser,n=this.parser.json.nodes||[];for(let i... method _loadLight (line 4112) | _loadLight(e){const n=this.parser,i="light:"+e;let r=n.cache.get(i);if... method getDependency (line 4112) | getDependency(e,n){if(e==="light")return this._loadLight(n)} method createNodeAttachment (line 4112) | createNodeAttachment(e){const n=this,i=this.parser,a=i.json.nodes[e],o... class hEe (line 4112) | class hEe{constructor(){this.name=Di.KHR_MATERIALS_UNLIT}getMaterialType... method constructor (line 4112) | constructor(){this.name=Di.KHR_MATERIALS_UNLIT} method getMaterialType (line 4112) | getMaterialType(){return Cs} method extendParams (line 4112) | extendParams(e,n,i){const r=[];e.color=new Ut(1,1,1),e.opacity=1;const... class dEe (line 4112) | class dEe{constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_EMISSI... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_EMISSIVE_STREN... method extendMaterialParams (line 4112) | extendMaterialParams(e,n){const r=this.parser.json.materials[e];if(!r.... class pEe (line 4112) | class pEe{constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_CLEARC... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_CLEARCOAT} method getMaterialType (line 4112) | getMaterialType(e){const i=this.parser.json.materials[e];return!i.exte... method extendMaterialParams (line 4112) | extendMaterialParams(e,n){const i=this.parser,r=i.json.materials[e];if... class mEe (line 4112) | class mEe{constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_DISPER... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_DISPERSION} method getMaterialType (line 4112) | getMaterialType(e){const i=this.parser.json.materials[e];return!i.exte... method extendMaterialParams (line 4112) | extendMaterialParams(e,n){const r=this.parser.json.materials[e];if(!r.... class gEe (line 4112) | class gEe{constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_IRIDES... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_IRIDESCENCE} method getMaterialType (line 4112) | getMaterialType(e){const i=this.parser.json.materials[e];return!i.exte... method extendMaterialParams (line 4112) | extendMaterialParams(e,n){const i=this.parser,r=i.json.materials[e];if... class bEe (line 4112) | class bEe{constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_SHEEN}... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_SHEEN} method getMaterialType (line 4112) | getMaterialType(e){const i=this.parser.json.materials[e];return!i.exte... method extendMaterialParams (line 4112) | extendMaterialParams(e,n){const i=this.parser,r=i.json.materials[e];if... class vEe (line 4112) | class vEe{constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_TRANSM... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_TRANSMISSION} method getMaterialType (line 4112) | getMaterialType(e){const i=this.parser.json.materials[e];return!i.exte... method extendMaterialParams (line 4112) | extendMaterialParams(e,n){const i=this.parser,r=i.json.materials[e];if... class yEe (line 4112) | class yEe{constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_VOLUME... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_VOLUME} method getMaterialType (line 4112) | getMaterialType(e){const i=this.parser.json.materials[e];return!i.exte... method extendMaterialParams (line 4112) | extendMaterialParams(e,n){const i=this.parser,r=i.json.materials[e];if... class xEe (line 4112) | class xEe{constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_IOR}ge... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_IOR} method getMaterialType (line 4112) | getMaterialType(e){const i=this.parser.json.materials[e];return!i.exte... method extendMaterialParams (line 4112) | extendMaterialParams(e,n){const r=this.parser.json.materials[e];if(!r.... class _Ee (line 4112) | class _Ee{constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_SPECUL... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_SPECULAR} method getMaterialType (line 4112) | getMaterialType(e){const i=this.parser.json.materials[e];return!i.exte... method extendMaterialParams (line 4112) | extendMaterialParams(e,n){const i=this.parser,r=i.json.materials[e];if... class SEe (line 4112) | class SEe{constructor(e){this.parser=e,this.name=Di.EXT_MATERIALS_BUMP}g... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.EXT_MATERIALS_BUMP} method getMaterialType (line 4112) | getMaterialType(e){const i=this.parser.json.materials[e];return!i.exte... method extendMaterialParams (line 4112) | extendMaterialParams(e,n){const i=this.parser,r=i.json.materials[e];if... class wEe (line 4112) | class wEe{constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_ANISOT... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_MATERIALS_ANISOTROPY} method getMaterialType (line 4112) | getMaterialType(e){const i=this.parser.json.materials[e];return!i.exte... method extendMaterialParams (line 4112) | extendMaterialParams(e,n){const i=this.parser,r=i.json.materials[e];if... class EEe (line 4112) | class EEe{constructor(e){this.parser=e,this.name=Di.KHR_TEXTURE_BASISU}l... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.KHR_TEXTURE_BASISU} method loadTexture (line 4112) | loadTexture(e){const n=this.parser,i=n.json,r=i.textures[e];if(!r.exte... class MEe (line 4112) | class MEe{constructor(e){this.parser=e,this.name=Di.EXT_TEXTURE_WEBP,thi... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.EXT_TEXTURE_WEBP,this.isSupp... method loadTexture (line 4112) | loadTexture(e){const n=this.name,i=this.parser,r=i.json,a=r.textures[e... method detectSupport (line 4112) | detectSupport(){return this.isSupported||(this.isSupported=new Promise... class TEe (line 4112) | class TEe{constructor(e){this.parser=e,this.name=Di.EXT_TEXTURE_AVIF,thi... method constructor (line 4112) | constructor(e){this.parser=e,this.name=Di.EXT_TEXTURE_AVIF,this.isSupp... method loadTexture (line 4112) | loadTexture(e){const n=this.name,i=this.parser,r=i.json,a=r.textures[e... method detectSupport (line 4112) | detectSupport(){return this.isSupported||(this.isSupported=new Promise... class AEe (line 4112) | class AEe{constructor(e){this.name=Di.EXT_MESHOPT_COMPRESSION,this.parse... method constructor (line 4112) | constructor(e){this.name=Di.EXT_MESHOPT_COMPRESSION,this.parser=e} method loadBufferView (line 4112) | loadBufferView(e){const n=this.parser.json,i=n.bufferViews[e];if(i.ext... class CEe (line 4112) | class CEe{constructor(e){this.name=Di.EXT_MESH_GPU_INSTANCING,this.parse... method constructor (line 4112) | constructor(e){this.name=Di.EXT_MESH_GPU_INSTANCING,this.parser=e} method createNodeMesh (line 4112) | createNodeMesh(e){const n=this.parser.json,i=n.nodes[e];if(!i.extensio... class REe (line 4112) | class REe{constructor(e){this.name=Di.KHR_BINARY_GLTF,this.content=null,... method constructor (line 4112) | constructor(e){this.name=Di.KHR_BINARY_GLTF,this.content=null,this.bod... class kEe (line 4112) | class kEe{constructor(e,n){if(!n)throw new Error("THREE.GLTFLoader: No D... method constructor (line 4112) | constructor(e,n){if(!n)throw new Error("THREE.GLTFLoader: No DRACOLoad... method decodePrimitive (line 4112) | decodePrimitive(e,n){const i=this.json,r=this.dracoLoader,a=e.extensio... class DEe (line 4112) | class DEe{constructor(){this.name=Di.KHR_TEXTURE_TRANSFORM}extendTexture... method constructor (line 4112) | constructor(){this.name=Di.KHR_TEXTURE_TRANSFORM} method extendTexture (line 4112) | extendTexture(e,n){return(n.texCoord===void 0||n.texCoord===e.channel)... class OEe (line 4112) | class OEe{constructor(){this.name=Di.KHR_MESH_QUANTIZATION}} method constructor (line 4112) | constructor(){this.name=Di.KHR_MESH_QUANTIZATION} class TZ (line 4112) | class TZ extends Jv{constructor(e,n,i,r){super(e,n,i,r)}copySampleValue_... method constructor (line 4112) | constructor(e,n,i,r){super(e,n,i,r)} method copySampleValue_ (line 4112) | copySampleValue_(e){const n=this.resultBuffer,i=this.sampleValues,r=th... method interpolate_ (line 4112) | interpolate_(e,n,i,r){const a=this.resultBuffer,s=this.sampleValues,o=... class NEe (line 4112) | class NEe extends TZ{interpolate_(e,n,i,r){const a=super.interpolate_(e,... method interpolate_ (line 4112) | interpolate_(e,n,i,r){const a=super.interpolate_(e,n,i,r);return IEe.f... function PEe (line 4112) | function PEe(t){return t.DefaultMaterial===void 0&&(t.DefaultMaterial=ne... function Up (line 4112) | function Up(t,e,n){for(const i in n.extensions)t[i]===void 0&&(e.userDat... function Hf (line 4112) | function Hf(t,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.as... function UEe (line 4112) | function UEe(t,e,n){let i=!1,r=!1,a=!1;for(let c=0,u=e.length;c0||t.search(/^data\:im... class HEe (line 4112) | class HEe{constructor(e={},n={}){this.json=e,this.extensions={},this.plu... method constructor (line 4112) | constructor(e={},n={}){this.json=e,this.extensions={},this.plugins={},... method setExtensions (line 4112) | setExtensions(e){this.extensions=e} method setPlugins (line 4112) | setPlugins(e){this.plugins=e} method parse (line 4112) | parse(e,n){const i=this,r=this.json,a=this.extensions;this.cache.remov... method _markDefs (line 4112) | _markDefs(){const e=this.json.nodes||[],n=this.json.skins||[],i=this.j... method _addNodeRef (line 4112) | _addNodeRef(e,n){n!==void 0&&(e.refs[n]===void 0&&(e.refs[n]=e.uses[n]... method _getNodeRef (line 4112) | _getNodeRef(e,n,i){if(e.refs[n]<=1)return i;const r=i.clone(),a=(s,o)=... method _invokeOne (line 4112) | _invokeOne(e){const n=Object.values(this.plugins);n.push(this);for(let... method _invokeAll (line 4112) | _invokeAll(e){const n=Object.values(this.plugins);n.unshift(this);cons... method getDependency (line 4112) | getDependency(e,n){const i=e+":"+n;let r=this.cache.get(i);if(!r){swit... method getDependencies (line 4112) | getDependencies(e){let n=this.cache.get(e);if(!n){const i=this,r=this.... method loadBuffer (line 4112) | loadBuffer(e){const n=this.json.buffers[e],i=this.fileLoader;if(n.type... method loadBufferView (line 4112) | loadBufferView(e){const n=this.json.bufferViews[e];return this.getDepe... method loadAccessor (line 4112) | loadAccessor(e){const n=this,i=this.json,r=this.json.accessors[e];if(r... method loadTexture (line 4112) | loadTexture(e){const n=this.json,i=this.options,a=n.textures[e].source... method loadTextureImage (line 4112) | loadTextureImage(e,n,i){const r=this,a=this.json,s=a.textures[e],o=a.i... method loadImageSource (line 4112) | loadImageSource(e,n){const i=this,r=this.json,a=this.options;if(this.s... method assignTexture (line 4112) | assignTexture(e,n,i,r){const a=this;return this.getDependency("texture... method assignFinalMaterial (line 4112) | assignFinalMaterial(e){const n=e.geometry;let i=e.material;const r=n.a... method getMaterialType (line 4112) | getMaterialType(){return Yv} method loadMaterial (line 4112) | loadMaterial(e){const n=this,i=this.json,r=this.extensions,a=i.materia... method createUniqueName (line 4112) | createUniqueName(e){const n=Bi.sanitizeNodeName(e||"");return n in thi... method loadGeometries (line 4112) | loadGeometries(e){const n=this,i=this.extensions,r=this.primitiveCache... method loadMesh (line 4112) | loadMesh(e){const n=this,i=this.json,r=this.extensions,a=i.meshes[e],s... method loadCamera (line 4112) | loadCamera(e){let n;const i=this.json.cameras[e],r=i[i.type];if(!r){co... method loadSkin (line 4112) | loadSkin(e){const n=this.json.skins[e],i=[];for(let r=0,a=n.joints.len... method loadAnimation (line 4112) | loadAnimation(e){const n=this.json,i=this,r=n.animations[e],a=r.name?r... method createNodeMesh (line 4112) | createNodeMesh(e){const n=this.json,i=this,r=n.nodes[e];return r.mesh=... method loadNode (line 4112) | loadNode(e){const n=this.json,i=this,r=n.nodes[e],a=i._loadNodeShallow... method _loadNodeShallow (line 4112) | _loadNodeShallow(e){const n=this.json,i=this.extensions,r=this;if(this... method loadScene (line 4112) | loadScene(e){const n=this.extensions,i=this.json.scenes[e],r=this,a=ne... method _createAnimationTracks (line 4112) | _createAnimationTracks(e,n,i,r,a){const s=[],o=e.name?e.name:e.uuid,l=... method _getArrayFromAccessor (line 4112) | _getArrayFromAccessor(e){let n=e.array;if(e.normalized){const i=mI(n.c... method _createCubicSplineTrackInterpolant (line 4112) | _createCubicSplineTrackInterpolant(e){e.createInterpolant=function(i){... function VEe (line 4112) | function VEe(t,e,n){const i=e.attributes,r=new rr;if(i.POSITION!==void 0... function E5 (line 4112) | function E5(t,e,n){const i=e.attributes,r=[];function a(s,o){return n.ge... class GEe (line 4112) | class GEe extends sU{constructor(e){super(e),this.type=rs}parse(e){const... method constructor (line 4112) | constructor(e){super(e),this.type=rs} method parse (line 4112) | parse(e){const s=function(C,D){switch(C){case 1:throw new Error("THREE... method setDataType (line 4116) | setDataType(e){return this.type=e,this} method load (line 4116) | load(e,n,i,r){function a(s,o){switch(s.type){case wr:case rs:"colorSpa... class WEe (line 4116) | class WEe extends sU{constructor(e){super(e),this.type=rs}parse(e){const... method constructor (line 4116) | constructor(e){super(e),this.type=rs} method parse (line 4116) | parse(e){const D=Math.pow(2.7182818,2.2);function R(se,ge){for(var Pe=... method setDataType (line 4116) | setDataType(e){return this.type=e,this} method load (line 4116) | load(e,n,i,r){function a(s,o){Jy?s.colorSpace=o.colorSpace:s.encoding=... class qEe (line 4116) | class qEe extends Fs{constructor(e){super(e),this.decoderPath="",this.de... method constructor (line 4116) | constructor(e){super(e),this.decoderPath="",this.decoderConfig={},this... method setDecoderPath (line 4116) | setDecoderPath(e){return this.decoderPath=e,this} method setDecoderConfig (line 4116) | setDecoderConfig(e){return this.decoderConfig=e,this} method setWorkerLimit (line 4116) | setWorkerLimit(e){return this.workerLimit=e,this} method load (line 4116) | load(e,n,i,r){const a=new Os(this.manager);a.setPath(this.path),a.setR... method decodeDracoFile (line 4116) | decodeDracoFile(e,n,i,r){const a={attributeIDs:i||this.defaultAttribut... method decodeGeometry (line 4116) | decodeGeometry(e,n){for(const l in n.attributeTypes){const c=n.attribu... method _createGeometry (line 4116) | _createGeometry(e){const n=new On;e.index&&n.setIndex(new In(e.index.a... method _loadLibrary (line 4116) | _loadLibrary(e,n){const i=new Os(this.manager);return i.setPath(this.d... method preload (line 4116) | preload(){return this._initDecoder(),this} method _initDecoder (line 4116) | _initDecoder(){if(this.decoderPending)return this.decoderPending;const... method _getWorker (line 4117) | _getWorker(e,n){return this._initDecoder().then(()=>{if(this.workerPoo... method _releaseTask (line 4117) | _releaseTask(e,n){e._taskLoad-=e._taskCosts[n],delete e._callbacks[n],... method debug (line 4117) | debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))} method dispose (line 4117) | dispose(){for(let e=0;e/gm;function n(i,r... function uMe (line 4533) | function uMe(){const t=Math.random()*4294967295|0,e=Math.random()*429496... function $1 (line 4533) | function $1(t,e){const n=gMe(e);let i=D5.get(t);if(i||D5.set(t,i=Object.... function dMe (line 4533) | function dMe(t,{vertexShader:e,fragmentShader:n},i,r){let{vertexDefs:a,v... function I5 (line 4556) | function I5(t,e,n,i,r){return(i||r||n)&&(t=t.replace(DZ,` function pMe (line 4563) | function pMe(t,e){return t==="uniforms"?void 0:typeof e=="function"?e.to... function gMe (line 4563) | function gMe(t){const e=JSON.stringify(t,pMe);let n=N5.get(e);return n==... function bMe (line 4566) | function bMe(){return typeof window>"u"&&(self.window=self),function(t){... function vMe (line 4572) | function vMe(){return function(t){var e=Uint8Array,n=Uint16Array,i=Uint3... function yMe (line 4572) | function yMe(t,e){const n={M:2,L:2,Q:4,C:6,Z:0},i={C:"18g,ca,368,1kz",D:... method init (line 4572) | init(t,e,n){const i=t(),r=e();return n(i,r)} function _Me (line 4576) | function _Me(){return function(t){var e=function(){this.buckets=new Map}... function SMe (line 4576) | function SMe(t,e){const n=Object.create(null),i=Object.create(null);func... method init (line 4577) | init(t,e,n){return t(e,n())} function EMe (line 4577) | function EMe(t,e){const i=/[\u00AD\u034F\u061C\u115F-\u1160\u17B4-\u17B5... function MMe (line 4580) | function MMe(t,e,n,i,r,a,s,o,l,c,u=!0){return u?AMe(t,e,n,i,r,a,s,o,l,c)... function OZ (line 4580) | function OZ(){const t=Nm();for(;bM.length&&Nm()-t"u"?{}:document.createEle... function NZ (line 4580) | function NZ(t){if(typeof createImageBitmap!="function"){console.info("Sa... method init (line 4580) | init(t,e,n){return t(e,n())} method init (line 4580) | init(t){return function(e){return new Promise(n=>{t.typeset(e,n)})}} method getTransferables (line 4580) | getTransferables(t){const e=[];for(let n in t)t[n]&&t[n].buffer&&e.push(... function BMe (line 4580) | function BMe(t){let e=B5[t];return e||(e=B5[t]=new Il(1,1,t,t).translate... class jMe (line 4580) | class jMe extends V_{constructor(){super(),this.detail=1,this.curveRadiu... method constructor (line 4580) | constructor(){super(),this.detail=1,this.curveRadius=0,this.groups=[{s... method computeBoundingSphere (line 4580) | computeBoundingSphere(){} method computeBoundingBox (line 4580) | computeBoundingBox(){} method detail (line 4580) | set detail(e){if(e!==this._detail){this._detail=e,(typeof e!="number"|... method detail (line 4580) | get detail(){return this._detail} method curveRadius (line 4580) | set curveRadius(e){e!==this._curveRadius&&(this._curveRadius=e,this._u... method curveRadius (line 4580) | get curveRadius(){return this._curveRadius} method updateGlyphs (line 4580) | updateGlyphs(e,n,i,r,a){this.updateAttributeData(vM,e,4),this.updateAt... method _updateBounds (line 4580) | _updateBounds(){const e=this._blockBounds;if(e){const{curveRadius:n,bo... method applyClipRect (line 4580) | applyClipRect(e){let n=this.getAttribute(u1).count,i=this._chunkedBoun... method updateAttributeData (line 4580) | updateAttributeData(e,n,i){const r=this.getAttribute(e);n?r&&r.array.l... function PZ (line 4737) | function PZ(t){const e=$1(t,{chained:!0,extensions:{derivatives:!0},unif... function H5 (line 4740) | function H5(t){return Array.isArray(t)?t[0]:t} class f1 (line 4740) | class f1 extends _i{constructor(){const e=new jMe;super(e,null),this.tex... method constructor (line 4740) | constructor(){const e=new jMe;super(e,null),this.text="",this.anchorX=... method sync (line 4740) | sync(e){this._needsSync&&(this._needsSync=!1,this._isSyncing?(this._qu... method onBeforeRender (line 4740) | onBeforeRender(e,n,i,r,a,s){this.sync(),a.isTroikaTextMaterial&&this._... method dispose (line 4740) | dispose(){this.geometry.dispose()} method textRenderInfo (line 4740) | get textRenderInfo(){return this._textRenderInfo||null} method createDerivedMaterial (line 4740) | createDerivedMaterial(e){return PZ(e)} method material (line 4740) | get material(){let e=this._derivedMaterial;const n=this._baseMaterial|... method material (line 4740) | set material(e){e&&e.isTroikaTextMaterial?(this._derivedMaterial=e,thi... method hasOutline (line 4740) | hasOutline(){return!!(this.outlineWidth||this.outlineBlur||this.outlin... method glyphGeometryDetail (line 4740) | get glyphGeometryDetail(){return this.geometry.detail} method glyphGeometryDetail (line 4740) | set glyphGeometryDetail(e){this.geometry.detail=e} method curveRadius (line 4740) | get curveRadius(){return this.geometry.curveRadius} method curveRadius (line 4740) | set curveRadius(e){this.geometry.curveRadius=e} method customDepthMaterial (line 4740) | get customDepthMaterial(){return H5(this.material).getDepthMaterial()} method customDepthMaterial (line 4740) | set customDepthMaterial(e){} method customDistanceMaterial (line 4740) | get customDistanceMaterial(){return H5(this.material).getDistanceMater... method customDistanceMaterial (line 4740) | set customDistanceMaterial(e){} method _prepareForRender (line 4740) | _prepareForRender(e){const n=e.isTextOutlineMaterial,i=e.uniforms,r=th... method _parsePercent (line 4740) | _parsePercent(e){if(typeof e=="string"){let n=e.match(/^(-?[\d.]+)%$/)... method localPositionToTextCoords (line 4740) | localPositionToTextCoords(e,n=new wt){n.copy(e);const i=this.curveRadi... method worldPositionToTextCoords (line 4740) | worldPositionToTextCoords(e,n=new wt){return rE.copy(e),this.localPosi... method raycast (line 4740) | raycast(e,n){const{textRenderInfo:i,curveRadius:r}=this;if(i){const a=... method copy (line 4740) | copy(e){const n=this.geometry;return super.copy(e),this.geometry=n,YMe... method clone (line 4740) | clone(){return new this.constructor().copy(this)} method get (line 4740) | get(){return this[e]} method set (line 4740) | set(n){n!==this[e]&&(this[e]=n,this._needsSync=!0)} class CU (line 4740) | class CU extends f1{constructor(){super(),this._members=new Map,this._da... method constructor (line 4740) | constructor(){super(),this._members=new Map,this._dataTextures={},this... method add (line 4740) | add(...e){for(let n=0;nn.pointerId===e)} method _findPointerByMouseButton (line 4793) | _findPointerByMouseButton(e){return this._activePointers.find(n=>n.mouse... method _disposePointer (line 4793) | _disposePointer(e){this._activePointers.splice(this._activePointers.inde... method _encloseToBoundary (line 4793) | _encloseToBoundary(e,n,i){const r=n.lengthSq();if(r===0)return e;const a... method _updateNearPlaneCorners (line 4793) | _updateNearPlaneCorners(){if(Bp(this._camera)){const e=this._camera,n=e.... method _collisionTest (line 4793) | _collisionTest(){let e=1/0;if(!(this.colliderMeshes.length>=1)||hD(this.... method _getClientRect (line 4793) | _getClientRect(e){if(!this._domElement)return;const n=this._domElement.g... method _createOnRestPromise (line 4793) | _createOnRestPromise(e){return e?Promise.resolve():(this._hasRested=!1,t... method _addAllEventListeners (line 4793) | _addAllEventListeners(e){} method _removeAllEventListeners (line 4793) | _removeAllEventListeners(){} method dampingFactor (line 4793) | get dampingFactor(){return console.warn(".dampingFactor has been depreca... method dampingFactor (line 4793) | set dampingFactor(e){console.warn(".dampingFactor has been deprecated. u... method draggingDampingFactor (line 4793) | get draggingDampingFactor(){return console.warn(".draggingDampingFactor ... method draggingDampingFactor (line 4793) | set draggingDampingFactor(e){console.warn(".draggingDampingFactor has be... method createBoundingSphere (line 4793) | static createBoundingSphere(e,n=new jn.Sphere){const i=n,r=i.center;Eb.m... function q (line 4793) | function q(){S(),m&&L.regress()} function a (line 4853) | function a(s){const o=new Event("vite:preloadError",{cancelable:!0});if(... function i (line 4853) | function i(d){return s.appendChild(d.dom),d} function r (line 4853) | function r(d){for(var g=0;gnew u... function d2e (line 4853) | function d2e(t){return typeof t=="function"} class p2e (line 4853) | class p2e extends yl{constructor(){super(),this.color=new Ut("white"),th... method constructor (line 4853) | constructor(){super(),this.color=new Ut("white"),this.instance={curren... method geometry (line 4853) | get geometry(){var e;return(e=this.instance.current)==null?void 0:e.ge... method raycast (line 4853) | raycast(e,n){const i=this.instance.current;if(!i||!i.geometry||!i.mate... class RU (line 4853) | class RU{constructor(e){var n,i,r,a,s,o,l,c,u,f,h,d,g,b,y,m;this._render... method constructor (line 4853) | constructor(e){var n,i,r,a,s,o,l,c,u,f,h,d,g,b,y,m;this._rendererIsDis... method instantiateRenderer (line 4853) | static instantiateRenderer(){const e=new bU;return e.setSize(128,128),e} method toArray (line 4853) | toArray(){if(!this._supportsReadPixels)throw new Error("Can't read pix... method toDataTexture (line 4853) | toDataTexture(e){const n=new os(this.toArray(),this.width,this.height,... method disposeOnDemandRenderer (line 4853) | disposeOnDemandRenderer(){this._renderer.setRenderTarget(null),this._r... method dispose (line 4853) | dispose(e){this.disposeOnDemandRenderer(),e&&this.renderTarget.dispose... method width (line 4853) | get width(){return this._width} method width (line 4853) | set width(e){this._width=e,this._renderTarget.setSize(this._width,this... method height (line 4853) | get height(){return this._height} method height (line 4853) | set height(e){this._height=e,this._renderTarget.setSize(this._width,th... method renderer (line 4853) | get renderer(){return this._renderer} method renderTarget (line 4853) | get renderTarget(){return this._renderTarget} method renderTarget (line 4853) | set renderTarget(e){this._renderTarget=e,this._width=e.width,this._hei... method material (line 4853) | get material(){return this._material} method type (line 4853) | get type(){return this._type} method colorSpace (line 4853) | get colorSpace(){return this._colorSpace} class x2e (line 4886) | class x2e extends cs{constructor({gamma:e,offsetHdr:n,offsetSdr:i,gainMa... method constructor (line 4886) | constructor({gamma:e,offsetHdr:n,offsetSdr:i,gainMapMin:r,gainMapMax:a... method sdr (line 4886) | get sdr(){return this.uniforms.sdr.value} method sdr (line 4886) | set sdr(e){this.uniforms.sdr.value=e} method gainMap (line 4886) | get gainMap(){return this.uniforms.gainMap.value} method gainMap (line 4886) | set gainMap(e){this.uniforms.gainMap.value=e} method offsetHdr (line 4886) | get offsetHdr(){return this.uniforms.offsetHdr.value.toArray()} method offsetHdr (line 4886) | set offsetHdr(e){this.uniforms.offsetHdr.value.fromArray(e)} method offsetSdr (line 4886) | get offsetSdr(){return this.uniforms.offsetSdr.value.toArray()} method offsetSdr (line 4886) | set offsetSdr(e){this.uniforms.offsetSdr.value.fromArray(e)} method gainMapMin (line 4886) | get gainMapMin(){return this.uniforms.gainMapMin.value.toArray()} method gainMapMin (line 4886) | set gainMapMin(e){this.uniforms.gainMapMin.value.fromArray(e)} method gainMapMax (line 4886) | get gainMapMax(){return this.uniforms.gainMapMax.value.toArray()} method gainMapMax (line 4886) | set gainMapMax(e){this.uniforms.gainMapMax.value.fromArray(e)} method gamma (line 4886) | get gamma(){const e=this.uniforms.gamma.value;return[1/e.x,1/e.y,1/e.z]} method gamma (line 4886) | set gamma(e){const n=this.uniforms.gamma.value;n.x=1/e[0],n.y=1/e[1],n... method hdrCapacityMin (line 4886) | get hdrCapacityMin(){return this._hdrCapacityMin} method hdrCapacityMin (line 4886) | set hdrCapacityMin(e){this._hdrCapacityMin=e,this.calculateWeight()} method hdrCapacityMax (line 4886) | get hdrCapacityMax(){return this._hdrCapacityMax} method hdrCapacityMax (line 4886) | set hdrCapacityMax(e){this._hdrCapacityMax=e,this.calculateWeight()} method maxDisplayBoost (line 4886) | get maxDisplayBoost(){return this._maxDisplayBoost} method maxDisplayBoost (line 4886) | set maxDisplayBoost(e){this._maxDisplayBoost=Math.max(1,Math.min(65504... method calculateWeight (line 4886) | calculateWeight(){const e=(Math.log2(this._maxDisplayBoost)-this._hdrC... class qZ (line 4886) | class qZ extends Error{} class XZ (line 4886) | class XZ extends Error{} class S2e (line 4886) | class S2e{constructor(e){this.options={debug:e&&e.debug!==void 0?e.debug... method constructor (line 4886) | constructor(e){this.options={debug:e&&e.debug!==void 0?e.debug:!1,extr... method extract (line 4886) | extract(e){return new Promise((n,i)=>{const r=this.options.debug,a=new... class KZ (line 4886) | class KZ extends Fs{constructor(e,n){super(n),e&&(this._renderer=e),this... method constructor (line 4886) | constructor(e,n){super(n),e&&(this._renderer=e),this._internalLoadingM... method setRenderer (line 4886) | setRenderer(e){return this._renderer=e,this} method setRenderTargetOptions (line 4886) | setRenderTargetOptions(e){return this._renderTargetOptions=e,this} method prepareQuadRenderer (line 4886) | prepareQuadRenderer(){this._renderer||console.warn("WARNING: An existi... method render (line 4886) | async render(e,n,i,r){const a=r?new Blob([r],{type:"image/jpeg"}):void... class E2e (line 4886) | class E2e extends KZ{load([e,n,i],r,a,s){const o=this.prepareQuadRendere... method load (line 4886) | load([e,n,i],r,a,s){const o=this.prepareQuadRenderer();let l,c,u;const... class M2e (line 4886) | class M2e extends KZ{load(e,n,i,r){const a=this.prepareQuadRenderer(),s=... method load (line 4886) | load(e,n,i,r){const a=this.prepareQuadRenderer(),s=new Os(this._intern... function wC (line 4886) | function wC({files:t=kU,path:e="",preset:n=void 0,colorSpace:i=void 0,ex... function DU (line 4886) | function DU(t){if(!(t in Z1))throw new Error("Preset must be one of: "+O... function OU (line 4886) | function OU(t){var e;const n=E0(t)&&t.length===6,i=E0(t)&&t.length===3&&... function IU (line 4886) | function IU(t){return t==="cube"?p$:t==="hdr"?GEe:t==="exr"?WEe:t==="jpg... function NU (line 4886) | function NU(t,e,n,i,r={}){var a,s,o,l;r={backgroundBlurriness:0,backgrou... function LU (line 4886) | function LU({scene:t,background:e=!1,map:n,...i}){const r=ki(a=>a.scene)... function JZ (line 4886) | function JZ({background:t=!1,scene:e,blur:n,backgroundBlurriness:i,backg... function k2e (line 4886) | function k2e({children:t,near:e=.1,far:n=1e3,resolution:i=256,frames:r=1... function D2e (line 4886) | function D2e(t){var e,n,i,r;const a=wC(t),s=t.map||a;I.useMemo(()=>q_({G... function O2e (line 4886) | function O2e(t){return t.ground?I.createElement(D2e,t):t.map?I.createEle... function N2e (line 4886) | function N2e({iterations:t=10,ms:e=250,threshold:n=.75,step:i=.1,factor:... function z2e (line 4886) | function z2e(t,e=B2e,n){($Z?"production":void 0)!=="production"&&n&&!f6&... class Y2e (line 4891) | class Y2e{constructor(){this._listeners={}}addEventListener(e,n){const i... method constructor (line 4891) | constructor(){this._listeners={}} method addEventListener (line 4891) | addEventListener(e,n){const i=this._listeners;i[e]===void 0&&(i[e]=[])... method removeEventListener (line 4891) | removeEventListener(e,n){const r=this._listeners[e];if(r!==void 0){con... method dispatchEvent (line 4891) | dispatchEvent(e){const i=this._listeners[e.type];if(i!==void 0){e.targ... class J2e (line 4891) | class J2e extends Y2e{constructor(e){super(),this._enabled=!0,this._hold... method constructor (line 4891) | constructor(e){super(),this._enabled=!0,this._holding=!1,this._interva... method enabled (line 4891) | get enabled(){return this._enabled} method enabled (line 4891) | set enabled(e){this._enabled!==e&&(this._enabled=e,this._enabled||this... method holding (line 4891) | get holding(){return this._holding} class zu (line 4891) | class zu extends J2e{constructor(e,n){if(typeof e!="string"){console.err... method constructor (line 4891) | constructor(e,n){if(typeof e!="string"){console.error("KeyboardKeyHold... function $2e (line 4891) | function $2e(t){const e=t.target;return e.tagName==="INPUT"||e.tagName==... function Zf (line 4891) | function Zf(t){const e=t.useSceneTree.getState()[""],n=e?.wxyz??[1,0,0,0... function QZ (line 4891) | function QZ(t,e){const n=Zf(t).invert(),i=e.origin.clone().applyMatrix4(... function EC (line 4891) | function EC(t){const e=Ce.useContext(Si);return eQ(e,t)} function eQ (line 4891) | function eQ(t,e){let n=!0,i=!1,r=null;function a(o){const l=t.mutable.cu... function CD (line 4891) | function CD(t){return t!=null&&t.isTexture!==void 0} function Z2e (line 4891) | function Z2e({visible:t,children:e}){const{camera:n}=ki(),i=I.useRef(nul... function Q2e (line 4891) | function Q2e({forceShow:t,pivotRef:e,onPivotChange:n,update:i,crosshairV... function eTe (line 4891) | function eTe(){const t=I.useContext(Si),e=ki(H=>H.camera),n=EC(20).send,... function Z_ (line 4891) | function Z_(t,e){if(t===e)return!0;if(!t||!e)return t===e;if(t.length!==... function Qf (line 4931) | function Qf(t={unmountOnHide:!1,enableCreaseAngle:!1}){const e=Ce.useCon... function nTe (line 4931) | function nTe(t){const e=Ce.useRef(null),n=Ce.useContext(ty),[i,r]=Ce.use... function iTe (line 4931) | function iTe(t,e){const n=t.material;return n?((Array.isArray(n)?n:[n]).... function rTe (line 4931) | function rTe(t,e,n,i){return t.updateMatrix(),t.updateWorldMatrix(!1,!1)... function _I (line 4931) | function _I(t,e,n){return t==="screen"?.3*e:n} function aTe (line 4931) | function aTe(t,e,n){if("fov"in t&&typeof t.fov=="number"){n.copy(e),n.ap... function hTe (line 4964) | function hTe(t){const[e,n]=t.split("-");return{anchorX:n==="left"?"left"... function nQ (line 4964) | function nQ(t){return t[0]<<16|t[1]<<8|t[2]} function N6 (line 4964) | function N6(t){const e=new os(Uint8Array.from(t===3?[0,128,255]:[0,64,12... function pTe (line 4964) | function pTe(t){throw new Error(`Should never get here! ${t}`)} function L6 (line 4964) | function L6(t){"map"in t&&t.map?.dispose(),"lightMap"in t&&t.lightMap?.d... function Q_ (line 4964) | function Q_(t){const e={color:t.color===void 0?16777215:nQ(t.color),wire... function d (line 4964) | function d(ne){return i.locateFile?i.locateFile(ne,h):h+ne} function q (line 4964) | function q(){var ne=M.buffer;i.HEAP8=A=new Int8Array(ne),i.HEAP16=D=new ... function W (line 4964) | function W(){if(i.preRun)for(typeof i.preRun=="function"&&(i.preRun=[i.p... function B (line 4964) | function B(){Ue(V)} function J (line 4964) | function J(){if(i.postRun)for(typeof i.postRun=="function"&&(i.postRun=[... function Z (line 4964) | function Z(ne){F.unshift(ne)} function G (line 4964) | function G(ne){V.unshift(ne)} function de (line 4964) | function de(ne){H.unshift(ne)} function ue (line 4964) | function ue(ne){oe++,i.monitorRunDependencies?.(oe)} function Se (line 4964) | function Se(ne){if(oe--,i.monitorRunDependencies?.(oe),oe==0&&le){var ie... function Oe (line 4964) | function Oe(ne){i.onAbort?.(ne),ne="Aborted("+ne+")",_(ne),S=!0,ne+=". B... function pe (line 4964) | function pe(){if(i.locateFile){var ne="Sorter.wasm";return je(ne)?ne:d(n... function Ie (line 4964) | function Ie(ne){if(ne==ze&&w)return new Uint8Array(w);if(y)return y(ne);... function qe (line 4964) | function qe(ne){return w?Promise.resolve().then(()=>Ie(ne)):new Promise(... function we (line 4964) | function we(ne,ie,ke){return qe(ne).then(Ke=>WebAssembly.instantiate(Ke,... function Me (line 4964) | function Me(ne,ie,ke,Ke){return!ne&&typeof WebAssembly.instantiateStream... function Ae (line 4964) | function Ae(){return{a:_f}} function Ne (line 4964) | function Ne(){var ne=Ae();function ie(Ke,xt){return oo=Ke.exports,M=oo.z... class Qe (line 4964) | class Qe{constructor(ie){this.excPtr=ie,this.ptr=ie-24}set_type(ie){U[th... method constructor (line 4964) | constructor(ie){this.excPtr=ie,this.ptr=ie-24} method set_type (line 4964) | set_type(ie){U[this.ptr+4>>2]=ie} method get_type (line 4964) | get_type(){return U[this.ptr+4>>2]} method set_destructor (line 4964) | set_destructor(ie){U[this.ptr+8>>2]=ie} method get_destructor (line 4964) | get_destructor(){return U[this.ptr+8>>2]} method set_caught (line 4964) | set_caught(ie){ie=ie?1:0,A[this.ptr+12]=ie} method get_caught (line 4964) | get_caught(){return A[this.ptr+12]!=0} method set_rethrown (line 4964) | set_rethrown(ie){ie=ie?1:0,A[this.ptr+13]=ie} method get_rethrown (line 4964) | get_rethrown(){return A[this.ptr+13]!=0} method init (line 4964) | init(ie,ke){this.set_adjusted_ptr(0),this.set_type(ie),this.set_destru... method set_adjusted_ptr (line 4964) | set_adjusted_ptr(ie){U[this.ptr+16>>2]=ie} method get_adjusted_ptr (line 4964) | get_adjusted_ptr(){return U[this.ptr+16>>2]} method get_exception_ptr (line 4964) | get_exception_ptr(){var ie=lo(this.get_type());if(ie)return U[this.exc... function Ke (line 4964) | function Ke(Tt){var Bt=ke(Tt);Bt.length!==ne.length&&Mt("Mismatched type... function kt (line 4964) | function kt(ne,ie,ke={}){var Ke=ie.name;if(ne||Ye(`type "${Ke}" must hav... function Re (line 4964) | function Re(ne,ie,ke={}){if(!("argPackAdvance"in ie))throw new TypeError... function ie (line 4964) | function ie(ke){return ke.$$.ptrType.registeredClass.name} function ge (line 4964) | function ge(ne){var ie=this.getPointee(ne);if(!ie)return this.destructor... method isAliasOf (line 4964) | isAliasOf(ne){if(!(this instanceof dt)||!(ne instanceof dt))return!1;var... method clone (line 4964) | clone(){if(this.$$.ptr||st(this),this.$$.preservePointerOnDelete)return ... method delete (line 4964) | delete(){this.$$.ptr||st(this),this.$$.deleteScheduled&&!this.$$.preserv... method isDeleted (line 4964) | isDeleted(){return!this.$$.ptr} method deleteLater (line 4964) | deleteLater(){return this.$$.ptr||st(this),this.$$.deleteScheduled&&!thi... function dt (line 4964) | function dt(){} function ve (line 4964) | function ve(ne,ie,ke,Ke,xt,Ot,Vt,Tt){this.name=ne,this.constructor=ie,th... function ft (line 4964) | function ft(ne,ie){if(ie===null)return this.isReference&&Ye(`null is not... function yt (line 4964) | function yt(ne,ie){var ke;if(ie===null)return this.isReference&&Ye(`null... function St (line 4964) | function St(ne,ie){if(ie===null)return this.isReference&&Ye(`null is not... function Nt (line 4964) | function Nt(ne){return this.fromWireType(U[ne>>2])} method getPointee (line 4964) | getPointee(ne){return this.rawGetPointee&&(ne=this.rawGetPointee(ne)),ne} method destructor (line 4964) | destructor(ne){this.rawDestructor?.(ne)} function at (line 4964) | function at(ne,ie,ke,Ke,xt,Ot,Vt,Tt,Bt,rn,ln){this.name=ne,this.register... function ke (line 4964) | function ke(){return ne.includes("j")?Un(ne,ie):$t(ie)} function xt (line 4965) | function xt(Ot){if(!Ke[Ot]&&!mt[Ot]){if(Ge[Ot]){Ge[Ot].forEach(xt);retur... function Gn (line 4965) | function Gn(ne){for(var ie=1;ie>2],Bt=U[Vt+4>>2];return new xt(A.buffer,Bt,... method fromWireType (line 4978) | fromWireType(Ke){var xt=U[Ke>>2],Ot=Ke+4,Vt;if(ke)for(var Tt=Ot,Bt=0;Bt<... method toWireType (line 4978) | toWireType(Ke,xt){xt instanceof ArrayBuffer&&(xt=new Uint8Array(xt));var... method destructorFunction (line 4978) | destructorFunction(Ke){Xa(Ke)} method destructorFunction (line 4978) | destructorFunction(Tt){Xa(Tt)} method constructor (line 4983) | constructor(ie){super(ie),this.name="BindingError"} method constructor (line 4983) | constructor(ie){super(ie),this.name="InternalError"} function kh (line 4983) | function kh(){if(oe>0||(W(),oe>0))return;function ne(){Fl||(Fl=!0,i.call... function bTe (line 4983) | function bTe(t){return new Worker(""+new URL("SplatSortWorker-DiSpcAPr.j... function vTe (line 4983) | function vTe(t,e=0){return(vs[t[e+0]]+vs[t[e+1]]+vs[t[e+2]]+vs[t[e+3]]+"... function xTe (line 4983) | function xTe(){if(!RD){if(typeof crypto>"u"||!crypto.getRandomValues)thr... function iQ (line 4983) | function iQ(t,e,n){if(P6.randomUUID&&!t)return P6.randomUUID();t=t||{};c... function wTe (line 5131) | function wTe(t,e){const n=t.length/8,i=ki(d=>d.gl).capabilities.maxTextu... function ETe (line 5131) | function ETe(){const t=Ce.useRef({});return Ce.useState(()=>J_(e=>({grou... function MTe (line 5131) | function MTe({children:t}){const e=ETe();return k.jsxs(eS.Provider,{valu... function ATe (line 5131) | function ATe(){const e=Ce.useContext(eS).useGaussianSplatStore(n=>n.grou... function CTe (line 5131) | function CTe(){const t=Ce.useContext(eS),e=t.useGaussianSplatStore(m=>m.... function RTe (line 5131) | function RTe(t){let e=0;for(const o of Object.values(t))e+=o.length;cons... function rQ (line 5131) | function rQ(t,e){if(t===e)return!0;if(!t||!e)return t===e;const n=Object... function MC (line 5131) | function MC(t){if(t!==null){if(Array.isArray(t)){const[e,n,i]=t;return`#... function U6 (line 5131) | function U6(t){return`rgb(${Math.round(t[0])}, ${Math.round(t[1])}, ${Ma... function F6 (line 5131) | function F6(t){return`rgba(${Math.round(t[0])}, ${Math.round(t[1])}, ${M... function kx (line 5131) | function kx(t){const e=t.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(e)re... function bE (line 5131) | function bE(t){const e=t.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+... function kD (line 5131) | function kD(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]} function DD (line 5131) | function DD(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]} function kTe (line 5131) | function kTe({uuid:t,props:{visible:e,disabled:n,label:i,color:r,_icon_h... function Au (line 5131) | function Au({uuid:t,label:e,hint:n,children:i}){const{folderDepth:r}=I.u... function DTe (line 5131) | function DTe(t){return k.jsxs(bh,{align:"center",children:[k.jsx(ct,{pr:... function sQ (line 5131) | function sQ(t){return k.jsx(bh,{justify:"space-between",columnGap:"0.5em... function OTe (line 5131) | function OTe({uuid:t,value:e,props:{label:n,hint:i,visible:r,disabled:a,... function ITe (line 5131) | function ITe({uuid:t,value:e,props:{visible:n,label:i,hint:r,disabled:a,... function NTe (line 5131) | function NTe({uuid:t,value:e,props:{hint:n,label:i,disabled:r,visible:a,... function LTe (line 5131) | function LTe({uuid:t,value:e,props:{disabled:n,visible:i,hint:r,label:a}... function PTe (line 5131) | function PTe({uuid:t,value:e,props:{hint:n,label:i,visible:r,disabled:a,... function UTe (line 5131) | function UTe({uuid:t,value:e,props:{hint:n,label:i,visible:r,disabled:a,... function FTe (line 5131) | function FTe({uuid:t,value:e,props:{hint:n,label:i,disabled:r,visible:a,... function WAe (line 5296) | function WAe({uuid:t,value:e,props:{label:n,hint:i,disabled:r,visible:a}... function qAe (line 5296) | function qAe({uuid:t,value:e,props:{label:n,hint:i,disabled:r,visible:a}... function XAe (line 5296) | function XAe({uuid:t,props:{hint:e,label:n,visible:i,disabled:r,options:... function uQ (line 5296) | function uQ(t){const e=Ce.useContext(cQ);return Ce.useMemo(function(){re... function KAe (line 5296) | function KAe(t){let e;return t.disableParentContext?e=typeof t.component... function xc (line 5296) | function xc(t){return!t||typeof t!="object"?"":"position"in t||"type"in ... function wI (line 5296) | function wI(t){return z6(t&&t.line)+":"+z6(t&&t.column)} function B6 (line 5296) | function B6(t){return wI(t&&t.start)+"-"+wI(t&&t.end)} function z6 (line 5296) | function z6(t){return t&&typeof t=="number"?t:1} class tr (line 5296) | class tr extends Error{constructor(e,n,i){super(),typeof n=="string"&&(i... method constructor (line 5296) | constructor(e,n,i){super(),typeof n=="string"&&(i=n,n=void 0);let r=""... function JAe (line 5296) | function JAe(t,e){if(e!==void 0&&typeof e!="string")throw new TypeError(... function $Ae (line 5296) | function $Ae(t){if(tS(t),t.length===0)return".";let e=-1,n=t.length,i;fo... function ZAe (line 5296) | function ZAe(t){tS(t);let e=t.length,n=-1,i=0,r=-1,a=0,s;for(;e--;){cons... function QAe (line 5296) | function QAe(...t){let e=-1,n;for(;++e... function mQ (line 5308) | function mQ(t,e,n,i){const r=t.expressionsPrecedence[e.type];if(r===ru)r... function xE (line 5308) | function xE(t,e,n,i){const{generator:r}=t;mQ(t,e,n,i)?(t.write("("),r[e.... function MCe (line 5308) | function MCe(t,e,n,i){const r=e.split(` function bo (line 5309) | function bo(t,e,n,i){const{length:r}=e;for(let a=0;a0){const{properti... method SequenceExpression (line 5310) | SequenceExpression(t,e){kb(e,t.expressions)} method UnaryExpression (line 5310) | UnaryExpression(t,e){if(t.prefix){const{operator:n,argument:i,argument:{... method UpdateExpression (line 5310) | UpdateExpression(t,e){t.prefix?(e.write(t.operator),this[t.argument.type... method AssignmentExpression (line 5310) | AssignmentExpression(t,e){this[t.left.type](t.left,e),e.write(" "+t.oper... method AssignmentPattern (line 5310) | AssignmentPattern(t,e){this[t.left.type](t.left,e),e.write(" = "),this[t... method ConditionalExpression (line 5310) | ConditionalExpression(t,e){const{test:n}=t,i=e.expressionsPrecedence[n.t... method NewExpression (line 5310) | NewExpression(t,e){e.write("new ");const n=e.expressionsPrecedence[t.cal... method CallExpression (line 5310) | CallExpression(t,e){const n=e.expressionsPrecedence[t.callee.type];n===r... method ChainExpression (line 5310) | ChainExpression(t,e){this[t.expression.type](t.expression,e)} method MemberExpression (line 5310) | MemberExpression(t,e){const n=e.expressionsPrecedence[t.object.type];n==... method MetaProperty (line 5310) | MetaProperty(t,e){e.write(t.meta.name+"."+t.property.name,t)} method Identifier (line 5310) | Identifier(t,e){e.write(t.name,t)} method PrivateIdentifier (line 5310) | PrivateIdentifier(t,e){e.write(`#${t.name}`,t)} method Literal (line 5310) | Literal(t,e){t.raw!=null?e.write(t.raw,t):t.regex!=null?this.RegExpLiter... method RegExpLiteral (line 5310) | RegExpLiteral(t,e){const{regex:n}=t;e.write(`/${n.pattern}/${n.flags}`,t)} class CCe (line 5310) | class CCe{constructor(e){const n=e??ACe;this.output="",n.output!=null?(t... method constructor (line 5310) | constructor(e){const n=e??ACe;this.output="",n.output!=null?(this.outp... method write (line 5312) | write(e){this.output+=e} method writeToStream (line 5312) | writeToStream(e){this.output.write(e)} method writeAndMap (line 5312) | writeAndMap(e,n){this.output+=e,this.map(e,n)} method writeToStreamAndMap (line 5312) | writeToStreamAndMap(e,n){this.output.write(e),this.map(e,n)} method map (line 5312) | map(e,n){if(n!=null){const{type:a}=n;if(a[0]==="L"&&a[2]==="n"){this.c... method toString (line 5313) | toString(){return this.output} function RCe (line 5313) | function RCe(t,e){const n=new CCe(e);return n.generator[t.type](t,n),n.o... function DCe (line 5313) | function DCe(t,e){const{SourceMapGenerator:n,filePath:i,handlers:r}=e||k... function ICe (line 5313) | function ICe(t,e){this[t.name.type](t.name,e),t.value!==null&&t.value!==... function NCe (line 5313) | function NCe(t,e){e.write("")} function LCe (line 5313) | function LCe(t,e){e.write("",t)} function PCe (line 5313) | function PCe(t,e){let n=-1;if(this[t.openingElement.type](t.openingEleme... function UCe (line 5313) | function UCe(){} function FCe (line 5313) | function FCe(t,e){e.write("{"),this[t.expression.type](t.expression,e),e... function BCe (line 5313) | function BCe(t,e){let n=-1;if(this[t.openingFragment.type](t.openingFrag... function zCe (line 5313) | function zCe(t,e){e.write(t.name,t)} function jCe (line 5313) | function jCe(t,e){this[t.object.type](t.object,e),e.write("."),this[t.pr... function HCe (line 5313) | function HCe(t,e){this[t.namespace.type](t.namespace,e),e.write(":"),thi... function VCe (line 5313) | function VCe(t,e){let n=-1;if(e.write("<"),this[t.name.type](t.name,e),t... function GCe (line 5313) | function GCe(t,e){e.write("<>",t)} function WCe (line 5313) | function WCe(t,e){e.write("{"),this.SpreadElement(t,e),e.write("}")} function qCe (line 5313) | function qCe(t,e){e.write(bQ(t.value).replace(/[<>{}]/g,XCe),t)} function bQ (line 5313) | function bQ(t){return t.replace(/&(?=[#a-z])/gi,"&")} function XCe (line 5313) | function XCe(t){return t==="<"?"<":t===">"?">":t==="{"?"{":"&... function KCe (line 5313) | function KCe(){const t=this.data(),e=t.settings||(t.settings={}),n=e.han... function YCe (line 5313) | function YCe(t){const e=this;this.compiler=n;function n(i,r){const a={..... function JCe (line 5313) | function JCe(t,e){const n={type:"Block",value:t.value};e.inherit(t,n),e.... function $Ce (line 5313) | function $Ce(t,e){const n={};return(t[t.length-1]===""?[...t,""]:t).join... class nS (line 5313) | class nS{constructor(e,n,i){this.normal=n,this.property=e,i&&(this.space... method constructor (line 5313) | constructor(e,n,i){this.normal=n,this.property=e,i&&(this.space=i)} function vQ (line 5313) | function vQ(t,e){const n={},i={};for(const r of t)Object.assign(n,r.prop... function TI (line 5313) | function TI(t){return t.toLowerCase()} class Xo (line 5313) | class Xo{constructor(e,n){this.attribute=n,this.property=e}} method constructor (line 5313) | constructor(e,n){this.attribute=n,this.property=e} function mg (line 5313) | function mg(){return 2**++ZCe} class BU (line 5313) | class BU extends Xo{constructor(e,n,i,r){let a=-1;if(super(e,n),$6(this,... method constructor (line 5313) | constructor(e,n,i,r){let a=-1;if(super(e,n),$6(this,"space",r),typeof ... function $6 (line 5313) | function $6(t,e,n){n&&(t[e]=n)} function ny (line 5313) | function ny(t){const e={},n={};for(const[i,r]of Object.entries(t.propert... method transform (line 5313) | transform(t,e){return e==="role"?e:"aria-"+e.slice(4).toLowerCase()} function xQ (line 5313) | function xQ(t,e){return e in t?t[e]:e} function _Q (line 5313) | function _Q(t,e){return xQ(t,e.toLowerCase())} method transform (line 5313) | transform(t,e){return"xlink:"+e.slice(5).toLowerCase()} method transform (line 5313) | transform(t,e){return"xml:"+e.slice(3).toLowerCase()} function rRe (line 5313) | function rRe(t,e){const n=TI(e);let i=e,r=Xo;if(n in t.normal)return t.p... function aRe (line 5313) | function aRe(t){return"-"+t.toLowerCase()} function sRe (line 5313) | function sRe(t){return t.charAt(1).toUpperCase()} function lRe (line 5313) | function lRe(t){return t.join(" ").trim()} function r (line 5314) | function r(g){var b=g.match(cRe);b&&(n+=b.length);var y=g.lastIndexOf(gR... function a (line 5314) | function a(){var g={line:n,column:i};return function(b){return b.positio... function s (line 5314) | function s(g){this.start=g,this.end={line:n,column:i},this.source=e.source} function o (line 5314) | function o(g){var b=new Error(e.source+":"+n+":"+i+": "+g);if(b.reason=g... function l (line 5314) | function l(g){var b=g.exec(t);if(b){var y=b[0];return r(y),t=t.slice(y.l... function c (line 5314) | function c(){l(uRe)} function u (line 5314) | function u(g){var b;for(g=g||[];b=f();)b!==!1&&g.push(b);return g} function f (line 5314) | function f(){var g=a();if(!(eH!=t.charAt(0)||tH!=t.charAt(1))){for(var b... function h (line 5314) | function h(){var g=a(),b=l(fRe);if(b){if(f(),!l(hRe))return o("property ... function d (line 5314) | function d(){var g=[];u(g);for(var b;b=h();)b!==!1&&(g.push(b),u(g));ret... function nH (line 5314) | function nH(t){return t?t.replace(mRe,im):im} function SRe (line 5314) | function SRe(t,e){var n=null;if(!t||typeof t!="string")return n;var i=(0... function RI (line 5314) | function RI(t,e){var n={};return!t||typeof t!="string"||(0,ORe.default)(... function FRe (line 5314) | function FRe(t,e){const n=e.schema;let i=n;const r=t.properties||{};n.sp... function BRe (line 5314) | function BRe(t,e){try{return LRe(t,{reactCompat:!0})}catch(n){const i=n;... function zRe (line 5314) | function zRe(t){const e={};let n;for(n in t)kI.call(t,n)&&(e[MQ(n)]=t[n]... function MQ (line 5314) | function MQ(t){let e=t.replace(PRe,jRe);return e.slice(0,3)==="ms-"&&(e=... function jRe (line 5314) | function jRe(t){return"-"+t.toLowerCase()} function uT (line 5314) | function uT(t,e){const n=e?[...e].sort(HU):VRe;n.length>0&&TQ(t,{comment... function TQ (line 5314) | function TQ(t,e){if(e.index===e.comments.length)return;const n=[],i=[];l... function rH (line 5314) | function rH(t,e,n,i){const r=[];for(;t.comments[t.index]&&HU(t.comments[... function HU (line 5314) | function HU(t,e,n){const i=n?"end":"start";return t.range&&e.range?t.ran... function aH (line 5314) | function aH(t,e){const n=t.data&&t.data.estree,i=n&&n.comments||[];let r... function sH (line 5314) | function sH(t,e){const n=e.schema;let i=n;const r=t.attributes||[];let a... function GRe (line 5314) | function GRe(t,e){const n=t.data&&t.data.estree,i=n&&n.comments||[];n&&(... function qRe (line 5314) | function qRe(t){return typeof t=="object"?t.type==="text"?oH(t.value):!1... function oH (line 5314) | function oH(t){return t.replace(WRe,"")===""} function XRe (line 5314) | function XRe(t,e){const n=e.all(t),i=[];let r=-1,a;for(;++r=48... function p3e (line 5315) | function p3e(t){const e=typeof t=="string"?t.charCodeAt(0):t;return e>=9... function m3e (line 5315) | function m3e(t){const e=typeof t=="string"?t.charCodeAt(0):t;return e>=9... function dH (line 5315) | function dH(t){return m3e(t)||IQ(t)} function Q1 (line 5315) | function Q1(t){const e="&"+t+";";pH.innerHTML=e;const n=pH.textContent;r... function b3e (line 5315) | function b3e(t,e){const n=e||{},i=typeof n.additional=="string"?n.additi... function v3e (line 5315) | function v3e(t){return t>=55296&&t<=57343||t>1114111} function y3e (line 5315) | function y3e(t){return t>=1&&t<=8||t===11||t>=13&&t<=31||t>=127&&t<=159|... function E3e (line 5315) | function E3e(t,e){if(t=t.replace(e.subset?M3e(e.subset):x3e,i),e.subset|... function M3e (line 5315) | function M3e(t){let e=mH.get(t);return e||(e=T3e(t),mH.set(t,e)),e} function T3e (line 5315) | function T3e(t){const e=[];let n=-1;for(;++n-1;){const i=t.stack[n]... function PQ (line 5324) | function PQ(t){return NQ.repeat(t)} function O3e (line 5324) | function O3e(){return"<"} function I3e (line 5324) | function I3e(){return{enter:{mdxjsEsm:L3e},exit:{mdxjsEsm:P3e,mdxjsEsmDa... function N3e (line 5324) | function N3e(){return{handlers:{mdxjsEsm:F3e}}} function L3e (line 5324) | function L3e(t){this.enter({type:"mdxjsEsm",value:""},t),this.buffer()} function P3e (line 5324) | function P3e(t){const e=this.resume(),n=this.stack[this.stack.length-1];... function U3e (line 5324) | function U3e(t){this.config.enter.data.call(this,t),this.config.exit.dat... function F3e (line 5324) | function F3e(t){return t.value||""} function B3e (line 5324) | function B3e(){return[c3e(),R3e(),I3e()]} function z3e (line 5324) | function z3e(t){return{extensions:[u3e(),k3e(t),N3e()]}} function hT (line 5324) | function hT(t){return t!==null&&(t<32||t===127)} function bn (line 5324) | function bn(t){return t!==null&&t<-2} function zi (line 5324) | function zi(t){return t!==null&&(t<0||t===32)} function ii (line 5324) | function ii(t){return t===-2||t===-1||t===32} function np (line 5324) | function np(t){return e;function e(n){return n!==null&&n>-1&&t.test(Stri... function Oi (line 5324) | function Oi(t,e,n,i){const r=i?i-1:Number.POSITIVE_INFINITY;let a=0;retu... function K3e (line 5324) | function K3e(t,e){let n,i;typeof e=="function"?n=e:e&&typeof e=="object"... function gH (line 5324) | function gH(t){return Array.isArray(t)?t:typeof t=="number"?[q3e,t]:[t]} function BD (line 5324) | function BD(t){return!!(t&&typeof t=="object"&&"type"in t&&typeof t.type... function UQ (line 5324) | function UQ(t,e){const n=e.prefix||"",i=e.suffix||"",r=Object.assign({},... function bH (line 5324) | function bH(t){return/^\s*$/.test(t.replace(/\/\*[\s\S]*?\*\//g,"").repl... function Y3e (line 5324) | function Y3e(t,e){const n={value:"",stops:[]};let i=-1;for(;++i-1?t:void 0} function dT (line 5326) | function dT(t,e,n,i,r,a,s,o,l,c,u){const f=this,h=this.events.length+3;l... function ike (line 5326) | function ike(t,e,n,i,r,a,s){const o=UQ(this.events.slice(i),{acorn:t,tok... function rke (line 5326) | function rke(t){const e=t||{},n=e.addResult,i=e.acorn,r=e.spread;let a=e... function FQ (line 5326) | function FQ(t,e,n,i,r,a,s,o,l,c,u,f,h,d,g,b,y,m,x,_,w,M,S,A,C,D,R,L,U,j,... function ake (line 5326) | function ake(t){return"U+"+t.toString(16).toUpperCase().padStart(4,"0")} function ske (line 5326) | function ske(t,e){return{name:"mdxJsxTextTag",tokenize:n};function n(i,r... function oke (line 5326) | function oke(t,e){return{concrete:!0,name:"mdxJsxFlowTag",tokenize:n};fu... function lke (line 5326) | function lke(t){const e=t||{},n=e.acorn;let i;if(n){if(!n.parse||!n.pars... function cke (line 5326) | function cke(){return{disable:{null:["autolink","codeIndented","htmlFlow... function Ml (line 5326) | function Ml(t,e,n,i){const r=t.length;let a=0,s;if(e<0?e=-e>r?0:r+e:e=e>... function uc (line 5326) | function uc(t,e){return t.length>0?(Ml(t,t.length,0,e),t):e} function mv (line 5326) | function mv(t){if(t===null||zi(t)||xo(t))return 1;if(AC(t))return 2} function CC (line 5326) | function CC(t,e,n){const i=[];let r=-1;for(;++r=this.left.length+this.right.length)throw new RangeEr... method length (line 5326) | get length(){return this.left.length+this.right.length} method shift (line 5326) | shift(){return this.setCursor(0),this.right.pop()} method slice (line 5326) | slice(e,n){const i=n??Number.POSITIVE_INFINITY;return ithis.left.length&&this.right... function ox (line 5326) | function ox(t,e){let n=0;if(e.length<1e4)t.push(...e);else for(;n13&&... function ry (line 5327) | function ry(t){const e=[];let n=-1,i=0,r=0;for(;++n1} function D8e (line 5333) | function D8e(t,e){const n={},i=t.all(e);let r=-1;for(typeof e.start=="nu... function O8e (line 5333) | function O8e(t,e){const n={type:"element",tagName:"p",properties:{},chil... function I8e (line 5333) | function I8e(t,e){const n={type:"root",children:t.wrap(t.all(e))};return... function N8e (line 5333) | function N8e(t,e){const n={type:"element",tagName:"strong",properties:{}... function L8e (line 5333) | function L8e(t,e){const n=t.all(e),i=n.shift(),r=[];if(i){const s={type:... function P8e (line 5333) | function P8e(t,e,n){const i=n?n.children:void 0,a=(i?i.indexOf(e):1)===0... function U8e (line 5333) | function U8e(t,e){const n={type:"element",tagName:"td",properties:{},chi... function F8e (line 5333) | function F8e(t){const e=String(t),n=/\r?\n|\r/g;let i=n.exec(e),r=0;cons... function NH (line 5333) | function NH(t,e,n){let i=0,r=t.length;if(e){let a=t.codePointAt(i);for(;... function B8e (line 5333) | function B8e(t,e){const n={type:"text",value:F8e(String(e.value))};retur... function z8e (line 5333) | function z8e(t,e){const n={type:"element",tagName:"hr",properties:{},chi... function _E (line 5333) | function _E(){} function q8e (line 5333) | function q8e(t,e){const n=[{type:"text",value:"↩"}];return e>1&&n.push({... function X8e (line 5333) | function X8e(t,e){return"Back to reference "+(t+1)+(e>1?"-"+e:"")} function K8e (line 5333) | function K8e(t){const e=typeof t.options.clobberPrefix=="string"?t.optio... function Y8e (line 5335) | function Y8e(t){const e=[];let n=-1;for(;++ns.len... class JU (line 5339) | class JU extends dOe{constructor(){super("copy"),this.Compiler=void 0,th... method constructor (line 5339) | constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,th... method copy (line 5339) | copy(){const e=new JU;let n=-1;for(;++n?\]}]+$/.exec(t);if(!e)return[t,voi... function lee (line 5339) | function lee(t,e){const n=t.input.charCodeAt(t.index-1);return(t.index==... function rIe (line 5339) | function rIe(){this.buffer()} function aIe (line 5339) | function aIe(t){this.enter({type:"footnoteReference",identifier:"",label... function sIe (line 5339) | function sIe(){this.buffer()} function oIe (line 5339) | function oIe(t){this.enter({type:"footnoteDefinition",identifier:"",labe... function lIe (line 5339) | function lIe(t){const e=this.resume(),n=this.stack[this.stack.length-1];... function cIe (line 5339) | function cIe(t){this.exit(t)} function uIe (line 5339) | function uIe(t){const e=this.resume(),n=this.stack[this.stack.length-1];... function fIe (line 5339) | function fIe(t){this.exit(t)} function hIe (line 5339) | function hIe(){return"["} function cee (line 5339) | function cee(t,e,n,i){const r=n.createTracker(i);let a=r.move("[^");cons... function dIe (line 5339) | function dIe(){return{enter:{gfmFootnoteCallString:rIe,gfmFootnoteCall:a... function pIe (line 5339) | function pIe(t){let e=!1;return t&&t.firstLineBlank&&(e=!0),{handlers:{f... function mIe (line 5340) | function mIe(t,e,n){return e===0?t:uee(t,e,n)} function uee (line 5340) | function uee(t,e,n){return(n?"":" ")+t} function bIe (line 5340) | function bIe(){return{canContainEols:["delete"],enter:{strikethrough:yIe... function vIe (line 5340) | function vIe(){return{unsafe:[{character:"~",inConstruct:"phrasing",notI... function yIe (line 5340) | function yIe(t){this.enter({type:"delete",children:[]},t)} function xIe (line 5340) | function xIe(t){this.exit(t)} function fee (line 5340) | function fee(t,e,n,i){const r=n.createTracker(i),a=n.enter("strikethroug... function _Ie (line 5340) | function _Ie(){return"~"} function SIe (line 5340) | function SIe(t){return t.length} function wIe (line 5340) | function wIe(t,e){const n=e||{},i=(n.align||[]).concat(),r=n.stringLengt... function EIe (line 5341) | function EIe(t){return t==null?"":String(t)} function ZH (line 5341) | function ZH(t){const e=typeof t=="string"?t.codePointAt(0):0;return e===... function MIe (line 5341) | function MIe(t,e,n,i){const r=n.enter("blockquote"),a=n.createTracker(i)... function TIe (line 5341) | function TIe(t,e,n){return">"+(n?"":" ")+t} function AIe (line 5341) | function AIe(t,e){return QH(t,e.inConstruct,!0)&&!QH(t,e.notInConstruct,... function QH (line 5341) | function QH(t,e,n){if(typeof e=="string"&&(e=[e]),!e||e.length===0)retur... function eV (line 5341) | function eV(t,e,n,i){let r=-1;for(;++r>16&255,t>>8&255,t&255,1)} function TE (line 5354) | function TE(t,e,n,i){return i<=0&&(t=e=n=NaN),new jo(t,e,n,i)} function mLe (line 5354) | function mLe(t){return t instanceof rS||(t=OC(t)),t?(t=t.rgb(),new jo(t.... function gLe (line 5354) | function gLe(t,e,n,i){return arguments.length===1?mLe(t):new jo(t,e,n,i?... function jo (line 5354) | function jo(t,e,n,i){this.r=+t,this.g=+e,this.b=+n,this.opacity=+i} method brighter (line 5354) | brighter(t){return t=t==null?bT:Math.pow(bT,t),new jo(this.r*t,this.g*t,... method darker (line 5354) | darker(t){return t=t==null?t_:Math.pow(t_,t),new jo(this.r*t,this.g*t,th... method rgb (line 5354) | rgb(){return this} method clamp (line 5354) | clamp(){return new jo(Lm(this.r),Lm(this.g),Lm(this.b),vT(this.opacity))} method displayable (line 5354) | displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5... function cV (line 5354) | function cV(){return`#${mm(this.r)}${mm(this.g)}${mm(this.b)}`} function bLe (line 5354) | function bLe(){return`#${mm(this.r)}${mm(this.g)}${mm(this.b)}${mm((isNa... function uV (line 5354) | function uV(){const t=vT(this.opacity);return`${t===1?"rgb(":"rgba("}${L... function vT (line 5354) | function vT(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))} function Lm (line 5354) | function Lm(t){return Math.max(0,Math.min(255,Math.round(t)||0))} function mm (line 5354) | function mm(t){return t=Lm(t),(t<16?"0":"")+t.toString(16)} function fV (line 5354) | function fV(t,e,n,i){return i<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=N... function Iee (line 5354) | function Iee(t){if(t instanceof lu)return new lu(t.h,t.s,t.l,t.opacity);... function vLe (line 5354) | function vLe(t,e,n,i){return arguments.length===1?Iee(t):new lu(t,e,n,i?... function lu (line 5354) | function lu(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i} method brighter (line 5354) | brighter(t){return t=t==null?bT:Math.pow(bT,t),new lu(this.h,this.s,this... method darker (line 5354) | darker(t){return t=t==null?t_:Math.pow(t_,t),new lu(this.h,this.s,this.l... method rgb (line 5354) | rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s... method clamp (line 5354) | clamp(){return new lu(hV(this.h),AE(this.s),AE(this.l),vT(this.opacity))} method displayable (line 5354) | displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&th... method formatHsl (line 5354) | formatHsl(){const t=vT(this.opacity);return`${t===1?"hsl(":"hsla("}${hV(... function hV (line 5354) | function hV(t){return t=(t||0)%360,t<0?t+360:t} function AE (line 5354) | function AE(t){return Math.max(0,Math.min(1,t||0))} function ZD (line 5354) | function ZD(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t... function yLe (line 5354) | function yLe(t){return t===void 0&&(t={customClassName:"gfm-color-chip"}... function xLe (line 5354) | function xLe(){return t=>{iS(t,"element",(e,n,i)=>{e.tagName==="code"&&i... function _Le (line 5354) | function _Le(t){return k.jsx(bu,{...t})} function SLe (line 5354) | function SLe(t){return k.jsx(Cm,{...t})} function Ib (line 5354) | function Ib(t,e){return k.jsx(IA,{order:e,...t})} function dV (line 5354) | function dV(t,e,n){return t.className=="contains-task-list"?k.jsx(Y0,{ty... function wLe (line 5354) | function wLe(t,e){return k.jsx(Y0.Item,{...t,children:e})} function ELe (line 5354) | function ELe(t,e){return k.jsx(oP,{...t,children:e})} function MLe (line 5354) | function MLe(t){return k.jsx(iP,{...t})} function TLe (line 5354) | function TLe(t){return k.jsx("cite",{style:{display:"block",fontSize:"0.... function ALe (line 5354) | function ALe(t){return k.jsx(Nc,{...t,highlightOnHover:!0,withColumnBord... function CLe (line 5354) | function CLe(t){return k.jsx(O_,{maw:240,mx:"auto",radius:"md",...t})} function kLe (line 5354) | async function kLe(t){const{default:e}=await zOe(t,{...xre,...YAe,develo... function DLe (line 5354) | function DLe(t){const[e,n]=I.useState(null);return I.useEffect(()=>{try{... class ILe (line 5354) | class ILe extends I.Component{constructor(e){super(e),this.resetErrorBou... method constructor (line 5354) | constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundar... method getDerivedStateFromError (line 5354) | static getDerivedStateFromError(e){return{didCatch:!0,error:e}} method resetErrorBoundary (line 5354) | resetErrorBoundary(){const{error:e}=this.state;if(e!==null){for(var n,... method componentDidCatch (line 5354) | componentDidCatch(e,n){var i,r;(i=(r=this.props).onError)===null||i===... method componentDidUpdate (line 5354) | componentDidUpdate(e,n){const{didCatch:i}=this.state,{resetKeys:r}=thi... method render (line 5354) | render(){const{children:e,fallbackRender:n,FallbackComponent:i,fallbac... function NLe (line 5354) | function NLe(){let t=arguments.length>0&&arguments[0]!==void 0?arguments... function LLe (line 5354) | function LLe({props:{visible:t,_markdown:e}}){return t?k.jsx(ct,{pb:"xs"... function FLe (line 5354) | function FLe({props:{visible:t,_plotly_json_str:e,aspect:n}}){if(!t)retu... function FI (line 5354) | function FI(){let t=devicePixelRatio;Qi!=t&&(Qi=t,CE&&zI(SV,CE,FI),CE=ma... function dl (line 5354) | function dl(t,e){if(e!=null){let n=t.classList;!n.contains(e)&&n.add(e)}} function BI (line 5354) | function BI(t,e){let n=t.classList;n.contains(e)&&n.remove(e)} function zr (line 5354) | function zr(t,e,n){t.style[e]=n+"px"} function $c (line 5354) | function $c(t,e,n,i){let r=UI.createElement(t);return e!=null&&dl(r,e),n... function Ql (line 5354) | function Ql(t,e){return $c("div",t,e)} function ju (line 5354) | function ju(t,e,n,i,r){let a="translate("+e+"px,"+n+"px)",s=wV.get(t);a!... function MV (line 5354) | function MV(t,e,n){let i=e+n,r=EV.get(t);i!=r&&(EV.set(t,i),t.style.back... function AV (line 5354) | function AV(t,e,n,i){let r=e+""+n,a=TV.get(t);r!=a&&(TV.set(t,r),t.style... function Pm (line 5354) | function Pm(t,e,n,i){e.addEventListener(t,n,i?oPe:a4)} function zI (line 5354) | function zI(t,e,n,i){e.removeEventListener(t,n,a4)} function tu (line 5354) | function tu(t,e,n,i){let r;n=n||0,i=i||e.length-1;let a=i<=2147483647;fo... function Lee (line 5354) | function Lee(t){return(n,i,r)=>{let a=-1,s=-1;for(let o=i;o<=r;o++)if(t(... function cPe (line 5354) | function cPe(t,e,n,i=0,r=!1){let a=r?lPe:IC,s=r?Uee:Pee;[e,n]=a(t,e,n);l... function NC (line 5354) | function NC(t,e,n,i){let r=kV(t),a=kV(e);t==e&&(r==-1?(t*=n,e/=n):(t/=n,... function s4 (line 5354) | function s4(t,e,n,i){let r=NC(t,e,n,i);return t==0&&(r[0]=0),e==0&&(r[1]... function xT (line 5354) | function xT(t,e,n,i){return PC(n)?RV(t,e,n):(m1.pad=n,m1.soft=i?0:null,m... function Yi (line 5354) | function Yi(t,e){return t??e} function fPe (line 5354) | function fPe(t,e,n){for(e=Yi(e,0),n=Yi(n,t.length-1);e<=n;){if(t[e]!=nul... function RV (line 5354) | function RV(t,e,n){let i=n.min,r=n.max,a=Yi(i.pad,0),s=Yi(r.pad,0),o=Yi(... function DV (line 5354) | function DV(t){return(lh((t^t>>31)-(t>>31))|0)+1} function jI (line 5354) | function jI(t,e,n){return cu(To(t,e),n)} function Bee (line 5354) | function Bee(t){return typeof t=="function"} function Ni (line 5354) | function Ni(t){return Bee(t)?t:()=>t} function Zp (line 5354) | function Zp(t,e){return Zm(Mr(Zm(t/e))*e)} function LC (line 5354) | function LC(t,e){return Zm(ac(Zm(t/e))*e)} function Hee (line 5354) | function Hee(t,e){return Zm(Tl(Zm(t/e))*e)} function Mr (line 5354) | function Mr(t,e=0){if(Gee(t))return t;let n=10**e,i=t*n*(1+Number.EPSILO... function Vee (line 5354) | function Vee(t){return((""+t).split(".")[1]||"").length} function i_ (line 5354) | function i_(t,e,n,i){let r=[],a=i.map(Vee);for(let s=e;sr!=null);if(fd(i)||e... function Aa (line 5354) | function Aa(t){let e=arguments;for(let n=1;na... function EPe (line 5354) | function EPe(t,e){if(APe(t)){let s=t[0].slice();for(let o=1;on.map((i,r)=>r==0||r==8||i==null?i:e(r=... function BV (line 5355) | function BV(t,e){return(n,i,r,a,s)=>{let o=e.find(g=>s>=g[0])||e[e.lengt... function WPe (line 5355) | function WPe(t,e){let n=u4(e);return(i,r,a,s,o)=>r.map(l=>n(t(l)))} function r8 (line 5355) | function r8(t,e,n){return new Date(t,e,n)} function zV (line 5355) | function zV(t,e){return e(t)} function jV (line 5355) | function jV(t,e){return(n,i,r,a)=>a==null?r4:e(t(i))} function XPe (line 5355) | function XPe(t,e){let n=t.series[e];return n.width?n.stroke(t,e):n.point... function KPe (line 5355) | function KPe(t,e){return t.series[e].fill(t,e)} function JPe (line 5355) | function JPe(t,e){let n=t.cursor.points,i=Ql(),r=n.size(t,e);zr(i,Dx,r),... function $Pe (line 5355) | function $Pe(t,e){let n=t.series[e].points;return n._fill||n._stroke} function ZPe (line 5355) | function ZPe(t,e){let n=t.series[e].points;return n._stroke||n._fill} function QPe (line 5355) | function QPe(t,e){return t.series[e].points.size} function eUe (line 5355) | function eUe(t,e,n){return a8[0]=e,a8[1]=n,a8} function kE (line 5355) | function kE(t,e,n,i=!0){return r=>{r.button==0&&(!i||r.target==e)&&n(r)}} function s8 (line 5355) | function s8(t,e,n,i=!0){return r=>{(!i||r.target==e)&&n(r)}} function rUe (line 5355) | function rUe(t,e,n,i,r){return e.map(a=>a==null?"":l4(a))} function aUe (line 5355) | function aUe(t,e,n,i,r,a,s){let o=[],l=Wd.get(r)||0;n=s?n:Mr(LC(n,r),l);... function HI (line 5355) | function HI(t,e,n,i,r,a,s){const o=[],l=t.scales[t.axes[e].scale].log,c=... function sUe (line 5355) | function sUe(t,e,n,i,r,a,s){let l=t.scales[t.axes[e].scale].asinh,c=i>l?... function cUe (line 5355) | function cUe(t,e,n,i,r){let a=t.axes[n],s=a.scale,o=t.scales[s],l=t.valT... function uUe (line 5355) | function uUe(t,e,n,i,r){let a=t.axes[n],s=a.scale,o=a._space,l=t.valToPo... function fUe (line 5355) | function fUe(t,e,n,i){return i==null?r4:e==null?"":l4(e)} function hUe (line 5355) | function hUe(t,e){let n=3+(t||1)*2;return Mr(n*e,3)} function dUe (line 5355) | function dUe(t,e){let{scale:n,idxs:i}=t.series[0],r=t._data[0],a=t.valTo... function pUe (line 5355) | function pUe(t,e,n,i,r){return n/10} function cte (line 5355) | function cte(t,e){let n=YV[t];return n||(n={key:t,plots:[],sub(i){n.plot... function gg (line 5355) | function gg(t,e,n){const i=t.mode,r=t.series[e],a=i==2?t._data[e]:t._dat... function p4 (line 5355) | function p4(t,e){let n=0,i=0,r=Yi(t.bands,c4);for(let a=0;a{let m=s... function UC (line 5355) | function UC(t,e,n,i,r,a){let s=null;if(t.length>0){s=new Path2D;const o=... function bUe (line 5355) | function bUe(t,e,n){let i=t[t.length-1];i&&i[0]==e?i[1]=n:t.push([e,n])} function m4 (line 5355) | function m4(t,e,n,i,r,a,s){let o=[],l=t.length;for(let c=r==1?n:i;c>=n&&... function JV (line 5355) | function JV(t){return t==0?zee:t==1?Pa:e=>Zp(e,t)} function ute (line 5355) | function ute(t){let e=t==0?FC:BC,n=t==0?(r,a,s,o,l,c)=>{r.arcTo(a,s,o,l,... function mte (line 5355) | function mte(t){return(e,n,i,r,a)=>gg(e,n,(s,o,l,c,u,f,h,d,g,b,y)=>{let{... function gte (line 5355) | function gte(t){return(e,n,i,r,a,s)=>{i!=r&&(a!=i&&s!=i&&t(e,n,i),a!=r&&... function bte (line 5355) | function bte(t){const e=Yi(t?.alignGaps,0);return(n,i,r,a)=>gg(n,i,(s,o,... function xUe (line 5355) | function xUe(t){const e=Yi(t.align,1),n=Yi(t.ascDesc,!1),i=Yi(t.alignGap... function $V (line 5355) | function $V(t,e,n,i,r,a,s=Er){if(t.length>1){let o=null;for(let l=0,c=1/... function _Ue (line 5355) | function _Ue(t){t=t||g1;const e=Yi(t.size,[.6,Er,1]),n=t.align||0,i=t.ga... function SUe (line 5355) | function SUe(t,e){const n=Yi(e?.alignGaps,0);return(i,r,a,s)=>gg(i,r,(o,... function wUe (line 5355) | function wUe(t){return SUe(EUe,t)} function EUe (line 5355) | function EUe(t,e,n,i,r,a){const s=t.length;if(s<2)return null;const o=ne... function ZV (line 5355) | function ZV(){for(let t of WI)t.syncRect(!0)} function QV (line 5355) | function QV(t,e,n,i){return(i?[t[0],t[1]].concat(t.slice(2)):[t[0]].conc... function AUe (line 5355) | function AUe(t,e){return t.map((n,i)=>i==0?{}:Aa({},e,n))} function qI (line 5355) | function qI(t,e,n,i){return Aa({},e==0?n:i,t)} function vte (line 5355) | function vte(t,e,n){return e==null?bv:[e,n]} function RUe (line 5355) | function RUe(t,e,n){return e==null?bv:xT(e,n,o4,!0)} function yte (line 5355) | function yte(t,e,n,i){return e==null?bv:NC(e,n,t.scales[i].log,!1)} function xte (line 5355) | function xte(t,e,n,i){return e==null?bv:s4(e,n,t.scales[i].log,!1)} function OUe (line 5355) | function OUe(t,e,n,i,r){let a=To(DV(t),DV(e)),s=e-t,o=tu(r/i*s,n);do{let... function eG (line 5355) | function eG(t){let e,n;return t=t.replace(/(\d+)px/,(i,r)=>(e=Pa((n=+r)*... function IUe (line 5355) | function IUe(t){t.show&&[t.font,t.labelFont].forEach(e=>{let n=Mr(e[2]*Q... function ao (line 5355) | function ao(t,e,n){const i={mode:Yi(t.mode,1)},r=i.mode;function a(Q,fe,... function s (line 5356) | function s(l){var c=a[l];if(c!==void 0)return c.exports;var u=a[l]={expo... function d (line 5358) | function d(g){var b=g.options,y=g.data,m=g.target,x=g.onDelete,_=g.onCre... function tG (line 5358) | function tG({props:t,onExpand:e}){const[n,i]=I.useState(!1),{ref:r,width... function FUe (line 5358) | function FUe(t){const[e,{open:n,close:i}]=Ec(!1);return t.props.visible=... function BUe (line 5358) | function BUe({props:{_tab_labels:t,_tab_icons_html:e,_tab_container_ids:... function zUe (line 5358) | function zUe({uuid:t,props:{label:e,visible:n,expand_by_default:i},nextG... function jUe (line 5358) | function jUe(t,e,n){return Math.max(e,Math.min(n,t))} function HUe (line 5358) | function HUe({min:t,max:e,step:n=1,value:i,onChange:r,marks:a,fixedEndpo... function VUe (line 5358) | function VUe({uuid:t,value:e,props:{label:n,hint:i,visible:r,disabled:a,... function GUe (line 5358) | function GUe({uuid:t,props:{disabled:e,mime_type:n,color:i,_icon_html:r,... function WUe (line 5358) | function WUe({viewer:t,componentUuid:e}){const n=t.useGui(l=>l.updateUpl... function qUe (line 5358) | function qUe({value:t,props:{visible:e,color:n,animated:i}}){return e?k.... function XUe (line 5358) | function XUe({props:t}){if(!t.visible)return null;const[e,n]=I.useState(... function KUe (line 5358) | function KUe({props:t}){return t.visible?k.jsx("div",{dangerouslySetInne... function b4 (line 5358) | function b4({containerUuid:t}){const n=Ce.useContext(Si).useGui(a=>a.upd... function nG (line 5358) | function nG({containerUuid:t}){const e=Ce.useContext(Si);e.useGui.getSta... function YUe (line 5358) | function YUe(t){const n=Ce.useContext(Si).useGui(i=>i.guiConfigFromUuid[... function JUe (line 5358) | function JUe(t){throw new Error("Unexpected object: "+t.type)} class jC (line 5358) | class jC{constructor(e){e=e||{},this.zNear=e.webGL===!0?-1:0,this.vertic... method constructor (line 5358) | constructor(e){e=e||{},this.zNear=e.webGL===!0?-1:0,this.vertices={nea... method setFromProjectionMatrix (line 5358) | setFromProjectionMatrix(e,n){const i=this.zNear,r=e.elements[2*4+3]===... method split (line 5358) | split(e,n){for(;e.length>n.length;)n.push(new jC);n.length=e.length;fo... method toSpace (line 5358) | toSpace(e,n){for(let i=0;i<4;i++)n.vertices.near[i].copy(this.vertices... class e4e (line 5646) | class e4e{constructor(e){this.camera=e.camera,this.parent=e.parent,this.... method constructor (line 5646) | constructor(e){this.camera=e.camera,this.parent=e.parent,this.cascades... method _createLights (line 5646) | _createLights(){for(let e=0;e{const n=e;n.isMesh&&n.material&&(Array.isA... function XI (line 5646) | function XI({maxFar:t=20,shadowMapSize:e=1024,lightIntensity:n=.25,casca... function i4e (line 5646) | function i4e({maxFar:t,shadowMapSize:e,lightIntensity:n,cascades:i,fade:... function d8 (line 5646) | function d8(t,e,n){n[0]=t[0]>e[0]?e[0]:t[0],n[1]=t[1]e[0]?e[0]:t[0],a=t[1]t[0]||e[1]t[2]||e[3]t[0]&&(e[0]=t[0],n=!0),e[1]e[0]?e[0]:t[0],i=t[1]n?e>i... function Nx (line 5646) | function Nx(t,e){const n=t[0]-e[0],i=e[0]-t[1];let r=n>i?n:i;r<0&&(r=0);... function h4e (line 5646) | function h4e(t,e){let n,i,r,a,s,o;const l=t[0]-e[0],c=e[0]-t[1];l>c?(n=l... method constructor (line 5646) | constructor(){this.array=[]} method clear (line 5646) | clear(){this.array=[]} method push (line 5646) | push(e){const n=this.array,i=e.inheritedCost,r=n.length>6?n.length-6:0;l... method pop (line 5646) | pop(){return this.array.pop()} method constructor (line 5646) | constructor(e=!1){this.root=null,this._sortedList=new d4e,this.count=0,t... method createFromArray (line 5646) | createFromArray(e,n,i,r=0){const a=n.length,s=this._typeArray;s!==(n[0].... method insert (line 5646) | insert(e,n,i){i>0&&IE(n,i);const r=this.createLeafNode(e,n);return this.... method insertRange (line 5646) | insertRange(e,n,i,r){console.warn("Method not optimized yet. It just cal... method move (line 5646) | move(e,n){if(!e.parent||c4e(e.box,e.parent.box)){n>0&&IE(e.box,n);return... method delete (line 5646) | delete(e){const n=e.parent;if(n===null)return this.root=null,null;const ... method clear (line 5646) | clear(){this.root=null} method insertLeaf (line 5646) | insertLeaf(e,n){const i=this.findBestSibling(e.box),r=i.parent;n===void ... method createLeafNode (line 5646) | createLeafNode(e,n){return{box:n,object:e,parent:null}} method createInternalNode (line 5646) | createInternalNode(e,n,i){return{parent:e,left:n,right:i,box:new this._t... method findBestSibling (line 5646) | findBestSibling(e){const n=this.root;let i=n,r=Hp(e,n.box);const a=Lb(e)... method refit (line 5646) | refit(e){for(d8(e.left.box,e.right.box,e.box);e=e.parent;)if(!l4e(e.left... method refitAndRotate (line 5646) | refitAndRotate(e,n){const i=e.box;e=e.parent;const r=e.box;for(d8(i,n.bo... method swap (line 5646) | swap(e,n){const i=e.parent,r=n.parent,a=r.box;i.left===e?i.left=n:i.righ... method constructor (line 5646) | constructor(e,n){this.coordinateSystem=n,this.array=e?new Float64Array(2... method setFromProjectionMatrix (line 5646) | setFromProjectionMatrix(e){if(this.updatePlane(0,e[3]+e[0],e[7]+e[4],e[1... method updatePlane (line 5646) | updatePlane(e,n,i,r,a){const s=this.array,o=e*4,l=Math.sqrt(n*n+i*i+r*r)... method intersectsBoxMask (line 5646) | intersectsBoxMask(e,n){const i=this.array;let r,a,s,o,l,c;for(let u=0;u<... method isIntersected (line 5646) | isIntersected(e,n){const i=this.array;for(let r=0;r<6;r++){if(!(n&32>>r)... method isIntersectedMargin (line 5646) | isIntersectedMargin(e,n,i){if(n===0)return!0;const r=this.array;for(let ... function uG (line 5646) | function uG(t,e,n,i,r,a){let s=i[0],o=e[0],l=n[0],c=(t[s]-o)*l,u=(t[s^1]... function fG (line 5646) | function fG(t,e){return t[1]>=e[0]&&e[1]>=t[0]&&t[3]>=e[2]&&e[3]>=t[2]&&... function b4e (line 5646) | function b4e(t,e,n){return Nx(n,t)<=e*e} class v4e (line 5646) | class v4e{constructor(e,n=v4){this._sign=new Uint8Array(3),this.builder=... method constructor (line 5646) | constructor(e,n=v4){this._sign=new Uint8Array(3),this.builder=e;const ... method root (line 5646) | get root(){return this.builder.root} method createFromArray (line 5646) | createFromArray(e,n,i,r){e?.length>0&&this.builder.createFromArray(e,n... method insert (line 5646) | insert(e,n,i){return this.builder.insert(e,n,i)} method insertRange (line 5646) | insertRange(e,n,i,r){e?.length>0&&this.builder.insertRange(e,n,i,r)} method move (line 5646) | move(e,n){this.builder.move(e,n)} method delete (line 5646) | delete(e){return this.builder.delete(e)} method clear (line 5646) | clear(){this.builder.clear()} method traverse (line 5646) | traverse(e){if(this.root===null)return;n(this.root,0);function n(i,r){... method intersectsRay (line 5646) | intersectsRay(e,n,i,r=0,a=1/0){if(this.root===null)return!1;const s=th... method intersectsBox (line 5646) | intersectsBox(e,n){if(this.root===null)return!1;return i(this.root);fu... method intersectsSphere (line 5646) | intersectsSphere(e,n,i){if(this.root===null)return!1;return r(this.roo... method isNodeIntersected (line 5646) | isNodeIntersected(e,n){const i=e.box;let r;for(;r=e.parent;){const s=r... method rayIntersections (line 5646) | rayIntersections(e,n,i,r=0,a=1/0){if(this.root===null)return;const s=t... method frustumCulling (line 5646) | frustumCulling(e,n){if(this.root===null)return;const i=this.frustum.se... method frustumCullingLOD (line 5646) | frustumCullingLOD(e,n,i,r){if(this.root===null)return;const a=this.fru... method closestPointToPoint (line 5646) | closestPointToPoint(e,n){if(this.root===null)return;let i=1/0;return r... function hG (line 5646) | function hG(t,e){return e[0]=t.x,e[1]=t.y,e[2]=t.z,e} function dG (line 5646) | function dG(t,e){const n=t.min,i=t.max;return e[0]=n.x,e[1]=i.x,e[2]=n.y... class _te (line 5646) | class _te{constructor(e,n,i){if(this.isInstanceEntity=!0,this.position=n... method constructor (line 5646) | constructor(e,n,i){if(this.isInstanceEntity=!0,this.position=new te,th... method visible (line 5646) | get visible(){return this.owner.getVisibilityAt(this.id)} method visible (line 5646) | set visible(e){this.owner.setVisibilityAt(this.id,e)} method active (line 5646) | get active(){return this.owner.getActiveAt(this.id)} method active (line 5646) | set active(e){this.owner.setActiveAt(this.id,e)} method color (line 5646) | get color(){return this.owner.getColorAt(this.id)} method color (line 5646) | set color(e){this.owner.setColorAt(this.id,e)} method opacity (line 5646) | get opacity(){return this.owner.getOpacityAt(this.id)} method opacity (line 5646) | set opacity(e){this.owner.setOpacityAt(this.id,e)} method morph (line 5646) | get morph(){return this.owner.getMorphAt(this.id)} method morph (line 5646) | set morph(e){this.owner.setMorphAt(this.id,e)} method matrix (line 5646) | get matrix(){return this.owner.getMatrixAt(this.id)} method matrixWorld (line 5646) | get matrixWorld(){return this.matrix.premultiply(this.owner.matrixWorld)} method setMatrixIdentity (line 5646) | setMatrixIdentity(){const e=this.owner,n=e.matricesTexture._data,i=thi... method updateMatrix (line 5646) | updateMatrix(){const e=this.owner,n=this.position,i=this.quaternion,r=... method updateMatrixPosition (line 5646) | updateMatrixPosition(){const e=this.owner,n=this.position,i=e.matrices... method getUniform (line 5646) | getUniform(e,n){return this.owner.getUniformAt(this.id,e,n)} method updateBones (line 5646) | updateBones(e=!0,n){this.owner.setBonesAt(this.id,e,n)} method setUniform (line 5646) | setUniform(e,n){this.owner.setUniformAt(this.id,e,n)} method copyTo (line 5646) | copyTo(e){e.position.copy(this.position),e.scale.copy(this.scale),e.qu... method applyMatrix4 (line 5646) | applyMatrix4(e){return this.matrix.premultiply(e).decompose(this.posit... method applyQuaternion (line 5646) | applyQuaternion(e){return this.quaternion.premultiply(e),this} method rotateOnAxis (line 5646) | rotateOnAxis(e,n){return NE.setFromAxisAngle(e,n),this.quaternion.mult... method rotateOnWorldAxis (line 5646) | rotateOnWorldAxis(e,n){return NE.setFromAxisAngle(e,n),this.quaternion... method rotateX (line 5646) | rotateX(e){return this.rotateOnAxis(mG,e)} method rotateY (line 5646) | rotateY(e){return this.rotateOnAxis(gG,e)} method rotateZ (line 5646) | rotateZ(e){return this.rotateOnAxis(bG,e)} method translateOnAxis (line 5646) | translateOnAxis(e,n){return pG.copy(e).applyQuaternion(this.quaternion... method translateX (line 5646) | translateX(e){return this.translateOnAxis(mG,e)} method translateY (line 5646) | translateY(e){return this.translateOnAxis(gG,e)} method translateZ (line 5646) | translateZ(e){return this.translateOnAxis(bG,e)} method remove (line 5646) | remove(){return this.owner.removeInstances(this.id),this} class y4e (line 5646) | class y4e{constructor(e,n=0,i=!1,r=!0){this.nodesMap=new Map,this.LODsMa... method constructor (line 5646) | constructor(e,n=0,i=!1,r=!0){this.nodesMap=new Map,this.LODsMap=new Ma... method create (line 5646) | create(){const e=this.target._instancesCount,n=this.target._instancesA... method insert (line 5646) | insert(e){const n=this.bvh.insert(e,this.getBox(e,new Float32Array(6))... method insertRange (line 5646) | insertRange(e){const n=e.length,i=new Array(n);for(let r=0;r0&&this.accurateCulling?this.bvh.frus... method frustumCullingLOD (line 5646) | frustumCullingLOD(e,n,i,r){this.LODsMap.has(i)||this.LODsMap.set(i,new... method raycast (line 5646) | raycast(e,n){const i=e.ray,r=this._origin,a=this._dir;hG(i.origin,r),h... method intersectBox (line 5646) | intersectBox(e,n){this._boxArray||(this._boxArray=new Float32Array(6))... method getBox (line 5646) | getBox(e,n){if(this._getBoxFromSphere){const i=this.target.matricesTex... method getSphereFromMatrix_centeredGeometry (line 5646) | getSphereFromMatrix_centeredGeometry(e,n,i){const r=e*16,a=n[r+0],s=n[... class x4e (line 5646) | class x4e extends A${constructor(e,n,i,r,a,s=1){const o=e.createBuffer()... method constructor (line 5646) | constructor(e,n,i,r,a,s=1){const o=e.createBuffer();super(o,n,i,r,a.le... method update (line 5646) | update(e,n){if(!this._needsUpdate||n===0)return;const i=e.getContext()... method clone (line 5646) | clone(){return this} function _4e (line 5646) | function _4e(t){var e;return((e=ST.get(t))==null?void 0:e())??HC(t)} function S4e (line 5646) | function S4e(t){if(ST.has(t))return;const e={};ST.set(t,()=>{if(t.isMesh... function w4e (line 5646) | function w4e(t,e,n){const i=e.properties;HC=i.get;const r=`${!!t.colorsT... function E4e (line 5646) | function E4e(t){t.properties.get=HC} function Ste (line 5646) | function Ste(t,e){return Math.max(e,Math.ceil(Math.sqrt(t/e))*e)} function M4e (line 5646) | function M4e(t,e,n,i){e===3&&(console.warn('"channels" cannot be 3. Set ... method constructor (line 5646) | constructor(e,n,i,r,a,s){n===3&&(n=4);const{array:o,format:l,size:c,type... method resize (line 5646) | resize(e){const n=Ste(e,this._pixelsPerInstance);if(n===this.image.width... method enqueueUpdate (line 5646) | enqueueUpdate(e){if(this._needsUpdate=!0,!this.partialUpdate)return;cons... method bindToProgram (line 5646) | bindToProgram(e,n,i,r,a){if(!r[a])return;r[a].value=this;const s=this.ge... method update (line 5646) | update(e,n,i){const r=e.properties.get(this),a=r.__version!==this.versio... method getSlot (line 5646) | getSlot(e,n){var i;return(i=e[n])==null?void 0:i.cache[0]} method updateFull (line 5646) | updateFull(e,n,i){this.updateRows(e,n,[{row:0,count:this.image.height}],i)} method updatePartial (line 5646) | updatePartial(e,n,i){const r=this.getUpdateRowsInfo();r.length!==0&&(r.l... method getUpdateRowsInfo (line 5646) | getUpdateRowsInfo(){const e=this._rowToUpdate,n=[];for(let i=0,r=e.lengt... method updateRows (line 5646) | updateRows(e,n,i,r){var a;const s=n.getContext();this._utils??(this._uti... method setUniformAt (line 5646) | setUniformAt(e,n,i){const{offset:r,size:a}=this._uniformMap.get(n),s=thi... method getUniformAt (line 5646) | getUniformAt(e,n,i){const{offset:r,size:a}=this._uniformMap.get(n),s=thi... method getUniformsGLSL (line 5646) | getUniformsGLSL(e,n,i){const r=this.getUniformsVertexGLSL(e,n,i),a=this.... method getUniformsVertexGLSL (line 5646) | getUniformsVertexGLSL(e,n,i){if(this._fetchUniformsInFragmentShader)return` method getUniformsFragmentGLSL (line 5655) | getUniformsFragmentGLSL(e,n,i){if(!this._fetchUniformsInFragmentShader){... method texelsFetchGLSL (line 5663) | texelsFetchGLSL(e,n){const i=this._pixelsPerInstance;let r=` method getFromTexelsGLSL (line 5669) | getFromTexelsGLSL(){const e=this._uniformMap;let n="";for(const[i,{type:... method getVarying (line 5672) | getVarying(){const e=this._uniformMap;let n="",i="",r="";for(const[a,{ty... method getUniformComponents (line 5675) | getUniformComponents(e,n){const i=e%this._channels;let r="";for(let a=0;... method copy (line 5675) | copy(e){return super.copy(e),this.partialUpdate=e.partialUpdate,this.max... method constructor (line 5675) | constructor(e,n,i={},r){if(!e)throw new Error('"geometry" is mandatory.'... method capacity (line 5675) | get capacity(){return this._capacity} method instancesCount (line 5675) | get instancesCount(){return this._instancesCount} method perObjectFrustumCulled (line 5675) | get perObjectFrustumCulled(){return this._perObjectFrustumCulled} method perObjectFrustumCulled (line 5675) | set perObjectFrustumCulled(e){this._perObjectFrustumCulled=e,this._index... method sortObjects (line 5675) | get sortObjects(){return this._sortObjects} method sortObjects (line 5675) | set sortObjects(e){this._sortObjects=e,this._indexArrayNeedsUpdate=!0} method geometry (line 5675) | get geometry(){return this._geometry} method geometry (line 5675) | set geometry(e){this._geometry=e,this.patchGeometry(e)} method onBeforeShadow (line 5675) | onBeforeShadow(e,n,i,r,a,s,o){this.patchMaterial(e,s),this.updateTexture... method onBeforeRender (line 5675) | onBeforeRender(e,n,i,r,a,s){if(this.patchMaterial(e,a),this.updateTextur... method onAfterShadow (line 5675) | onAfterShadow(e,n,i,r,a,s,o){this.unpatchMaterial(e,s)} method onAfterRender (line 5675) | onAfterRender(e,n,i,r,a,s){this.unpatchMaterial(e,a),!(this.instanceInde... method updateTextures (line 5675) | updateTextures(e,n){var i,r,a;const s=e.properties.get(n);this.matricesT... method bindTextures (line 5675) | bindTextures(e,n){var i,r,a;const s=e.properties.get(n),o=s.uniforms;if(... method isLastGroup (line 5675) | isLastGroup(e){const n=this.material;for(let i=n.length-1;i>=e;i--)if(n[... method initIndexAttribute (line 5675) | initIndexAttribute(){if(!this._renderer){this.count=0;return}const e=thi... method initLastRenderInfo (line 5675) | initLastRenderInfo(){this._parentLOD||(this._lastRenderInfo={frame:-1,ca... method initMatricesTexture (line 5675) | initMatricesTexture(){this._parentLOD||(this.matricesTexture=new wT(Floa... method initColorsTexture (line 5675) | initColorsTexture(){this._parentLOD||(this.colorsTexture=new wT(Float32A... method materialsNeedsUpdate (line 5675) | materialsNeedsUpdate(){if(this.material.isMaterial){this.material.needsU... method patchGeometry (line 5675) | patchGeometry(e){const n=e.getAttribute("instanceIndex");if(n){if(n===th... method patchMaterial (line 5675) | patchMaterial(e,n){this._currentMaterial=n,this._customProgramCacheKeyBa... method unpatchMaterial (line 5675) | unpatchMaterial(e,n){this._currentMaterial=null,E4e(e),n.onBeforeCompile... method computeBVH (line 5675) | computeBVH(e={}){this.bvh||(this.bvh=new y4e(this,e.margin,e.getBBoxFrom... method disposeBVH (line 5675) | disposeBVH(){this.bvh=null} method setMatrixAt (line 5675) | setMatrixAt(e,n){if(n.toArray(this.matricesTexture._data,e*16),this.inst... method getMatrixAt (line 5675) | getMatrixAt(e,n=C4e){return n.fromArray(this.matricesTexture._data,e*16)} method getPositionAt (line 5675) | getPositionAt(e,n=R4e){const i=e*16,r=this.matricesTexture._data;return ... method getPositionAndMaxScaleOnAxisAt (line 5675) | getPositionAndMaxScaleOnAxisAt(e,n){const i=e*16,r=this.matricesTexture.... method applyMatrixAtToSphere (line 5675) | applyMatrixAtToSphere(e,n,i,r){const a=e*16,s=this.matricesTexture._data... method setVisibilityAt (line 5675) | setVisibilityAt(e,n){this.availabilityArray[e*2]=n,this._indexArrayNeeds... method getVisibilityAt (line 5675) | getVisibilityAt(e){return this.availabilityArray[e*2]} method setActiveAt (line 5675) | setActiveAt(e,n){this.availabilityArray[e*2+1]=n,this._indexArrayNeedsUp... method getActiveAt (line 5675) | getActiveAt(e){return this.availabilityArray[e*2+1]} method getActiveAndVisibilityAt (line 5675) | getActiveAndVisibilityAt(e){const n=e*2,i=this.availabilityArray;return ... method setActiveAndVisibilityAt (line 5675) | setActiveAndVisibilityAt(e,n){const i=e*2,r=this.availabilityArray;r[i]=... method setColorAt (line 5675) | setColorAt(e,n){this.colorsTexture===null&&this.initColorsTexture(),n.is... method getColorAt (line 5675) | getColorAt(e,n=_G){return n.fromArray(this.colorsTexture._data,e*4)} method setOpacityAt (line 5675) | setOpacityAt(e,n){this._useOpacity||(this.colorsTexture===null?this.init... method getOpacityAt (line 5675) | getOpacityAt(e){return this._useOpacity?this.colorsTexture._data[e*4+3]:1} method copyTo (line 5675) | copyTo(e,n){this.getMatrixAt(e,n.matrix).decompose(n.position,n.quaterni... method computeBoundingBox (line 5675) | computeBoundingBox(){const e=this._geometry,n=this._instancesArrayCount;... method computeBoundingSphere (line 5675) | computeBoundingSphere(){const e=this._geometry,n=this._instancesArrayCou... method clone (line 5675) | clone(e){const n={capacity:this._capacity,renderer:this._renderer,allows... method copy (line 5675) | copy(e,n){return super.copy(e,n),this.count=e._capacity,this._instancesC... method dispose (line 5675) | dispose(){var e,n,i,r;this.dispatchEvent({type:"dispose"}),this.matrices... method updateMatrixWorld (line 5675) | updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMatrixInverse&&... function wte (line 5675) | function wte(t,e){return t.depth-e.depth} function Ete (line 5675) | function Ete(t,e){return e.depth-t.depth} class k4e (line 5675) | class k4e{constructor(){this.array=[],this.pool=[]}push(e,n){const i=thi... method constructor (line 5675) | constructor(){this.array=[],this.pool=[]} method push (line 5675) | push(e,n){const i=this.pool,r=this.array,a=r.length;a>=i.length&&i.pus... method reset (line 5675) | reset(){this.array.length=0} method get (line 5675) | get(){return this._parentLOD.renderOrder} method get (line 5675) | get(){return this._parentLOD._lastRenderInfo} method get (line 5675) | get(){return this._parentLOD.matricesTexture} method get (line 5675) | get(){return this._parentLOD.colorsTexture} method get (line 5675) | get(){return this._parentLOD.uniformsTexture} method get (line 5675) | get(){return this._parentLOD.morphTexture} method get (line 5675) | get(){return this._parentLOD.boneTexture} method get (line 5675) | get(){return this._parentLOD.skeleton} method get (line 5675) | get(){return this._parentLOD.bindMatrixInverse} method get (line 5675) | get(){return this._parentLOD.bindMatrix} function y4 (line 5752) | function y4(t){return t.replace("#ifdef USE_INSTANCING","#if defined USE... function r (line 5755) | function r(d){for(var g=new Uint8Array(d.length),b=0;bi[t.name]?.labe... function g8 (line 5755) | function g8(t){const e=new DataView(t.buffer,t.byteOffset,t.byteLength),... function X4e (line 5755) | function X4e(t,e,n){if(t===void 0)return{makeObject:()=>null};switch(t.t... function Cte (line 5755) | function Cte(t){const e=Ce.useContext(Si),n=e.useSceneTree(w=>w[t.name]?... function K4e (line 5755) | function K4e(t){const n=Ce.useContext(Si).useSceneTree(i=>i[t.name]?.chi... function Dte (line 5755) | function Dte(t){this.mode=Y4e.MODE_8BIT_BYTE,this.data=t} function Xu (line 5755) | function Xu(t,e){this.totalCount=t,this.dataCount=e} function Ote (line 5755) | function Ote(){this.buffer=new Array,this.length=0} function wM (line 5755) | function wM(t,e){if(t.length==null)throw new Error(t.length+"/"+e);for(v... function Ju (line 5755) | function Ju(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules... function Fte (line 5755) | function Fte(t){return t&&t.__esModule?t:{default:t}} function s9e (line 5755) | function s9e(t,e){var n={};for(var i in t)e.indexOf(i)>=0||Object.protot... function sS (line 5755) | function sS(t){return t&&t.__esModule?t:{default:t}} function b9e (line 5755) | function b9e(t,e){var n={};for(var i in t)e.indexOf(i)>=0||Object.protot... function E9e (line 5755) | function E9e(t){if(!/^[0-9a-zA-Z-]+$/.test(t))throw new Error(`[@mantine... function gs (line 5755) | function gs(t,e){M9e(()=>{if(t)return window.addEventListener(t,e),()=>w... function T9e (line 5755) | function T9e(t,e){t&&E9e(t),gs(`mantine-form:${t}:set-field-value`,n=>e.... function A9e (line 5755) | function A9e(t){return e=>{if(!e)t(e);else if(typeof e=="function")t(e);... function KI (line 5755) | function KI(t){return t===null||typeof t!="object"?{}:Object.keys(t).red... function C9e (line 5755) | function C9e(t){const[e,n]=I.useState(KI(t)),i=I.useRef(e),r=I.useCallba... function YI (line 5755) | function YI(t,e){if(e===null||typeof e!="object")return{};const n={...e}... function CG (line 5755) | function CG(t,e){const n=t.substring(e.length+1).split(".")[0];return pa... function RG (line 5755) | function RG(t,e,n,i){if(e===void 0)return n;const r=`${String(t)}`;let a... function R9e (line 5755) | function R9e(t,{from:e,to:n},i){const r=`${t}.${e}`,a=`${t}.${n}`,s={...... function kG (line 5755) | function kG(t,e,n){typeof n.value=="object"&&(n.value=o0(n.value)),!n.en... function o0 (line 5755) | function o0(t){if(typeof t!="object")return t;var e=0,n,i,r,a=Object.pro... function zte (line 5755) | function zte(t){return typeof t!="string"?[]:t.split(".")} function Ra (line 5755) | function Ra(t,e){const n=zte(t);if(n.length===0||typeof e!="object"||e==... function oS (line 5755) | function oS(t,e,n){const i=zte(t);if(i.length===0)return n;const r=o0(n)... function k9e (line 5755) | function k9e(t,{from:e,to:n},i){const r=Ra(t,i);if(!Array.isArray(r))ret... function D9e (line 5755) | function D9e(t,e,n,i){const r=Ra(t,i);if(!Array.isArray(r))return i;cons... function O9e (line 5755) | function O9e(t,e,n){const i=Ra(t,n);return Array.isArray(i)?oS(t,i.filte... function I9e (line 5755) | function I9e(t,e,n,i){const r=Ra(t,i);if(!Array.isArray(r)||r.length<=n)... function N9e (line 5755) | function N9e({$values:t,$errors:e,$status:n}){const i=I.useCallback((o,l... function hx (line 5755) | function hx(t,e){const n=Object.keys(t);if(typeof e=="string"){const i=n... function P9e (line 5755) | function P9e({initialDirty:t,initialTouched:e,mode:n,$values:i}){const[r... function U9e (line 5755) | function U9e({initialValues:t,onValuesChange:e,mode:n}){const i=I.useRef... function F9e (line 5755) | function F9e({$status:t,cascadeUpdates:e}){const n=I.useRef({}),i=I.useC... function DG (line 5755) | function DG(t,e){return t?`${t}-${e.toString()}`:e.toString()} function OG (line 5755) | function OG(t){const e=KI(t);return{hasErrors:Object.keys(e).length>0,er... function JI (line 5755) | function JI(t,e,n="",i={}){return typeof t!="object"||t===null?i:Object.... function $I (line 5755) | function $I(t,e){return OG(typeof t=="function"?t(e):JI(t,e))} function BE (line 5755) | function BE(t,e,n){if(typeof t!="string")return{hasError:!1,error:null};... function IG (line 5755) | function IG(t,e){return e?typeof e=="boolean"?e:Array.isArray(e)?e.inclu... function z9e (line 5755) | function z9e({name:t,mode:e="controlled",initialValues:n,initialErrors:i... function j9e (line 5755) | function j9e({nodeName:t,closePopoverFn:e}){const n=Ce.useContext(Si),i=... function H9e (line 5755) | function H9e(){const e=Ce.useContext(Si).useSceneTree(n=>n[""].children,... function V9e (line 5755) | function V9e({children:t}){const e=Ce.useRef(!1),n=Ce.useRef(!1),i=a=>{e... function G9e (line 5755) | function G9e({children:t}){const[e,n]=Ce.useState(null);return k.jsx(Hte... function q9e (line 5755) | function q9e({devSettingsStore:t}){const e=Ce.useContext(Si),n=t(u=>u.sh... function K9e (line 5755) | function K9e(){const t=Ce.useContext(Si),e=t.mutable.current,n=t.useGui(... function gm (line 5755) | function gm({children:t}){const e=Ce.useRef(null),[n,{toggle:i}]=Ec(!0);... function $9e (line 5755) | function $9e(t){return t.type==="touchmove"} function Z9e (line 5755) | function Z9e(t){return t.type==="mousemove"} function bm (line 5755) | function bm({children:t,width:e}){const n=Ce.useRef(null),[i,{toggle:r}]... function b1 (line 5755) | function b1({children:t,collapsible:e,width:n}){const[i,{toggle:r}]=Ec(!... function tFe (line 5755) | function tFe(t){const e=_a(),n=uL(`(max-width: ${e.breakpoints.xs})`),i=... function b8 (line 5755) | function b8(){const{useGui:t}=Ce.useContext(Si),e=t(i=>i.websocketConnec... function v8 (line 5755) | function v8(){const t=Ce.useContext(Si),e=t.mutable.current,n=t.useGui(d... method [Hn.HEX] (line 5755) | [Hn.HEX](t){const e=(~Gte.indexOf(t)?TT[t]:t).match(Gb.HEX),n={R:zE(e[1]... method [Hn.RGB] (line 5755) | [Hn.RGB](t){const e=t.match(Gb.RGB),n=vm(e[1]||e[5]),i=vm(e[2]||e[6]),r=... method [Hn.HSL] (line 5755) | [Hn.HSL](t){const e=t.match(Gb.HSL),n=qte(e[1]||e[5]),i=Um(e[2]||e[6]),r... method [Hn.CIELab] (line 5755) | [Hn.CIELab](t){const e=t.match(Gb.CIELab),n=Um(e[1]),i=AT(e[2]),r=AT(e[3... method [Hn.CMYK] (line 5755) | [Hn.CMYK](t){const e=t.match(Gb.CMYK),n=Td(e[1]||e[6]),i=Td(e[2]||e[7]),... method [Hn.HEX] (line 5755) | [Hn.HEX](t){const e={R:vm(`${t.R}`),G:vm(`${t.G}`),B:vm(`${t.B}`)};retur... method [Hn.RGB] (line 5755) | [Hn.RGB](t){return this.HEX(t)} method [Hn.HSL] (line 5755) | [Hn.HSL](t){const e=Um(`${t.S}`),n=Um(`${t.L}`),i=hd(qte(t.H),e,n);retur... method [Hn.CIELab] (line 5755) | [Hn.CIELab](t){const e=Um(`${t.L}`),n=AT(`${t.a}`),i=AT(`${t.b}`),r=Yte(... method [Hn.CMYK] (line 5755) | [Hn.CMYK](t){const e=Td(`${t.C}`),n=Td(`${t.M}`),i=Td(`${t.Y}`),r=Td(`${... method HEXA (line 5755) | HEXA(t){const e=ws.HEX(t);return e.A=_o(t,"A")?jE(255*t.A):"0xFF",e} method [Hn.RGB] (line 5755) | [Hn.RGB](t,e){const n=mFe(t,e);return _o(n,"A")&&delete n.A,n} method RGBA (line 5755) | RGBA(t,e){const n=ws.RGB(t,e);return n.A=_o(t,"A")?wn(t.A):1,n} method [Hn.HSL] (line 5755) | [Hn.HSL](t,e){const n=tN(t.R,t.G,t.B);return delete n.A,gFe(n,e)} method HSLA (line 5755) | HSLA(t,e){const n=ws.HSL(t,e);return n.A=_o(t,"A")?wn(t.A,e):1,n} method [Hn.CIELab] (line 5755) | [Hn.CIELab](t,e){const n=CT(t.R,t.G,t.B);return bFe(n,e)} method CIELabA (line 5755) | CIELabA(t,e){const n=ws.CIELab(t,e);return n.A=_o(t,"A")?wn(t.A,e):1,n} method CMYKA (line 5755) | CMYKA(t,e){const n=ws.CMYK(t,e);return n.A=_o(t,"A")?wn(t.A,e):1,n} function pc (line 5755) | function pc(t,...e){throw new Error(`[Immer] minified error nr: ${t}. Fu... function _v (line 5755) | function _v(t){return!!t&&!!t[cr]} function xh (line 5755) | function xh(t){return t?Qte(t)||Array.isArray(t)||!!t[PG]||!!t.construct... function Qte (line 5755) | function Qte(t){if(!t||typeof t!="object")return!1;const e=xv(t);if(e===... function r_ (line 5755) | function r_(t,e){KC(t)===0?Reflect.ownKeys(t).forEach(n=>{e(n,t[n],t)}):... function KC (line 5755) | function KC(t){const e=t[cr];return e?e.type_:Array.isArray(t)?1:YC(t)?2... function nN (line 5755) | function nN(t,e){return KC(t)===2?t.has(e):Object.prototype.hasOwnProper... function ene (line 5755) | function ene(t,e,n){const i=KC(t);i===2?t.set(e,n):i===3?t.add(n):t[e]=n} function xFe (line 5755) | function xFe(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e} function YC (line 5755) | function YC(t){return t instanceof Map} function JC (line 5755) | function JC(t){return t instanceof Set} function Qa (line 5755) | function Qa(t){return t.copy_||t.base_} function iN (line 5755) | function iN(t,e){if(YC(t))return new Map(t);if(JC(t))return new Set(t);i... function S4 (line 5755) | function S4(t,e=!1){return $C(t)||_v(t)||!xh(t)||(KC(t)>1&&(t.set=t.add=... function _Fe (line 5755) | function _Fe(){pc(2)} function $C (line 5755) | function $C(t){return Object.isFrozen(t)} function eg (line 5755) | function eg(t){const e=rN[t];return e||pc(0,t),e} function SFe (line 5755) | function SFe(t,e){rN[t]||(rN[t]=e)} function RT (line 5755) | function RT(){return a_} function wFe (line 5755) | function wFe(t,e){return{drafts_:[],parent_:t,immer_:e,canAutoFreeze_:!0... function UG (line 5755) | function UG(t,e){e&&(eg("Patches"),t.patches_=[],t.inversePatches_=[],t.... function aN (line 5755) | function aN(t){sN(t),t.drafts_.forEach(EFe),t.drafts_=null} function sN (line 5755) | function sN(t){t===a_&&(a_=t.parent_)} function FG (line 5755) | function FG(t){return a_=wFe(a_,t)} function EFe (line 5755) | function EFe(t){const e=t[cr];e.type_===0||e.type_===1?e.revoke_():e.rev... function BG (line 5755) | function BG(t,e){e.unfinalizedDrafts_=e.drafts_.length;const n=e.drafts_... function kT (line 5755) | function kT(t,e,n){if($C(e))return e;const i=e[cr];if(!i)return r_(e,(r,... function zG (line 5755) | function zG(t,e,n,i,r,a,s){if(_v(r)){const o=a&&e&&e.type_!==3&&!nN(e.as... function DT (line 5755) | function DT(t,e,n=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_... function MFe (line 5755) | function MFe(t,e){const n=Array.isArray(t),i={type_:n?1:0,scope_:e?e.sco... method get (line 5755) | get(t,e){if(e===cr)return t;const n=Qa(t);if(!nN(n,e))return TFe(t,n,e);... method has (line 5755) | has(t,e){return e in Qa(t)} method ownKeys (line 5755) | ownKeys(t){return Reflect.ownKeys(Qa(t))} method set (line 5755) | set(t,e,n){const i=tne(Qa(t),e);if(i?.set)return i.set.call(t.draft_,n),... method deleteProperty (line 5755) | deleteProperty(t,e){return _8(t.base_,e)!==void 0||e in t.base_?(t.assig... method getOwnPropertyDescriptor (line 5755) | getOwnPropertyDescriptor(t,e){const n=Qa(t),i=Reflect.getOwnPropertyDesc... method defineProperty (line 5755) | defineProperty(){pc(11)} method getPrototypeOf (line 5755) | getPrototypeOf(t){return xv(t.base_)} method setPrototypeOf (line 5755) | setPrototypeOf(){pc(12)} function _8 (line 5755) | function _8(t,e){const n=t[cr];return(n?Qa(n):t)[e]} function TFe (line 5755) | function TFe(t,e,n){const i=tne(e,n);return i?"value"in i?i.value:i.get?... function tne (line 5755) | function tne(t,e){if(!(e in t))return;let n=xv(t);for(;n;){const i=Objec... function Vf (line 5755) | function Vf(t){t.modified_||(t.modified_=!0,t.parent_&&Vf(t.parent_))} function S8 (line 5755) | function S8(t){t.copy_||(t.copy_=iN(t.base_,t.scope_.immer_.useStrictSha... method constructor (line 5755) | constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.pr... method createDraft (line 5755) | createDraft(t){xh(t)||pc(8),_v(t)&&(t=CFe(t));const e=FG(this),n=o_(t,vo... method finishDraft (line 5755) | finishDraft(t,e){const n=t&&t[cr];(!n||!n.isManual_)&&pc(9);const{scope_... method setAutoFreeze (line 5755) | setAutoFreeze(t){this.autoFreeze_=t} method setUseStrictShallowCopy (line 5755) | setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t} method applyPatches (line 5755) | applyPatches(t,e){let n;for(n=e.length-1;n>=0;n--){const r=e[n];if(r.pat... function o_ (line 5755) | function o_(t,e){const n=YC(t)?eg("MapSet").proxyMap_(t,e):JC(t)?eg("Map... function CFe (line 5755) | function CFe(t){return _v(t)||pc(10,t),nne(t)} function nne (line 5755) | function nne(t){if(!xh(t)||$C(t))return t;const e=t[cr];let n;if(e){if(!... function RFe (line 5755) | function RFe(){class t extends Map{constructor(l,c){super(),this[cr]={ty... function LFe (line 5755) | function LFe(t){return Ce.useState(()=>J_(OFe(e=>({...Gp,server:t,setThe... function PFe (line 5755) | function PFe(t){const e=new URLSearchParams(window.location.search),n=wi... function UFe (line 5755) | function UFe(t){return new Worker(""+new URL("WebsocketServerWorker-C6PJ... function FFe (line 5755) | function FFe(){const t=I.useContext(Si),e=t.mutable.current,n=t.useGui(a... function BFe (line 5755) | function BFe(t){throw new Error("Didn't expect to get here",t)} function ine (line 5755) | function ine(t){let e=null;switch(t){case null:break;case"GitHub":e=WTe;... function zFe (line 5755) | function zFe(t){const e=ine(t.icon);return k.jsx(As,{component:"a",varia... function jFe (line 5755) | function jFe(t){const e=ine(t.icon);return k.jsx(As,{m:"sm",component:"a... function HFe (line 5755) | function HFe(t,e){let n;t.image_url_dark==null||e==="light"?n=t.image_ur... function VFe (line 5755) | function VFe(){const e=I.useContext(Si).useGui(o=>o.theme.titlebar_conte... function GFe (line 5755) | function GFe(){return I.useContext(Si).useGui(i=>i.modals,Z_).map((i,r)=... function WFe (line 5755) | function WFe({conf:t,index:e}){return k.jsx(Ro,{opened:!0,title:t.title,... function qFe (line 5755) | function qFe(t,e){const n={addSceneNode:i=>{const r=t.getState(),a=r[i.n... function XFe (line 5755) | function XFe(t){return Ce.useState(()=>{const e=J_(()=>({"":E4,"/WorldAx... function KFe (line 5755) | function KFe(){return Ce.useState(()=>J_(()=>({enableDefaultLights:!0,en... function YFe (line 5755) | function YFe(){return Ce.useState(()=>{const t=new URLSearchParams(windo... function mx (line 5755) | function mx(t,e,n){return Object.keys(t[e]).reduce((i,r)=>(i[r]=`var(--m... function jG (line 5755) | function jG(t,e){return t in e.breakpoints?e.breakpoints[t]:EO(t)} function JFe (line 5755) | function JFe(t){const e=EX(aA,t),n=mx(e,"fontSizes","font-size"),i=mx(e,... function ZFe (line 5755) | function ZFe(t){return $Fe.has(t.type)} function eBe (line 5755) | function eBe(t){return QFe.has(t.type)} function tBe (line 5755) | function tBe(){const t=I.useContext(Si),e=t.mutable.current,n=t.sceneTre... function nBe (line 5755) | function nBe(){const t=Ce.useRef({});return e=>{const n="download-"+e.tr... function iBe (line 5755) | function iBe(){const t=tBe(),e=I.useContext(Si),n=e.mutable.current,i=n.... function sne (line 5755) | function sne(t,e,n){let i=e;const r=i+n,a=[];let s="";for(;isBe?oBe(t,e,n):sne(t,e,n)} class VE (line 5755) | class VE{constructor(e,n){this.type=e,this.data=n}} method constructor (line 5755) | constructor(e,n){this.type=e,this.data=n} class ml (line 5755) | class ml extends Error{constructor(e){super(e);const n=Object.create(ml.... method constructor (line 5755) | constructor(e){super(e);const n=Object.create(ml.prototype);Object.set... function cBe (line 5755) | function cBe(t,e,n){const i=Math.floor(n/4294967296),r=n;t.setUint32(e,i... function one (line 5755) | function one(t,e){const n=t.getInt32(e),i=t.getUint32(e+4);return n*4294... function uBe (line 5755) | function uBe(t,e){const n=t.getUint32(e),i=t.getUint32(e+4);return n*429... function pBe (line 5755) | function pBe({sec:t,nsec:e}){if(t>=0&&e>=0&&t<=dBe)if(e===0&&t<=hBe){con... function mBe (line 5755) | function mBe(t){const e=t.getTime(),n=Math.floor(e/1e3),i=(e-n*1e3)*1e6,... function gBe (line 5755) | function gBe(t){if(t instanceof Date){const e=mBe(t);return pBe(e)}else ... function bBe (line 5755) | function bBe(t){const e=new DataView(t.buffer,t.byteOffset,t.byteLength)... function vBe (line 5755) | function vBe(t){const e=bBe(t);return new Date(e.sec*1e3+e.nsec/1e6)} class oN (line 5755) | class oN{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],t... method constructor (line 5755) | constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.enc... method register (line 5755) | register({type:e,encode:n,decode:i}){if(e>=0)this.encoders[e]=n,this.d... method tryToEncode (line 5755) | tryToEncode(e,n){for(let i=0;i0&&e<=this.maxKeyLength} method find (line 5755) | find(e,n,i){const r=this.caches[i-1];e:for(const a of r){const s=a.byt... method store (line 5755) | store(e,n){const i=this.caches[e.length-1],r={bytes:e,str:n};i.length>... method decode (line 5755) | decode(e,n,i){const r=this.find(e,n,i);if(r!=null)return this.hit++,r;... class MBe (line 5755) | class MBe{constructor(){this.stack=[],this.stackHeadPosition=-1}get leng... method constructor (line 5755) | constructor(){this.stack=[],this.stackHeadPosition=-1} method length (line 5755) | get length(){return this.stackHeadPosition+1} method top (line 5755) | top(){return this.stack[this.stackHeadPosition]} method pushArrayState (line 5755) | pushArrayState(e){const n=this.getUninitializedStateFromPool();n.type=... method pushMapState (line 5755) | pushMapState(e){const n=this.getUninitializedStateFromPool();n.type=v1... method getUninitializedStateFromPool (line 5755) | getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stack... method release (line 5755) | release(e){if(this.stack[this.stackHeadPosition]!==e)throw new Error("... method reset (line 5755) | reset(){this.stack.length=0,this.stackHeadPosition=-1} class ZC (line 5755) | class ZC{constructor(e){this.totalPos=0,this.pos=0,this.view=M4,this.byt... method constructor (line 5755) | constructor(e){this.totalPos=0,this.pos=0,this.view=M4,this.bytes=TBe,... method clone (line 5755) | clone(){return new ZC({extensionCodec:this.extensionCodec,context:this... method reinitializeState (line 5755) | reinitializeState(){this.totalPos=0,this.headByte=bx,this.stack.reset()} method setBuffer (line 5755) | setBuffer(e){const n=HG(e);this.bytes=n,this.view=new DataView(n.buffe... method appendBuffer (line 5755) | appendBuffer(e){if(this.headByte===bx&&!this.hasRemaining(1))this.setB... method hasRemaining (line 5755) | hasRemaining(e){return this.view.byteLength-this.pos>=e} method createExtraByteError (line 5755) | createExtraByteError(e){const{view:n,pos:i}=this;return new RangeError... method decode (line 5755) | decode(e){if(this.entered)return this.clone().decode(e);try{this.enter... method decodeMulti (line 5755) | *decodeMulti(e){if(this.entered){yield*this.clone().decodeMulti(e);ret... method decodeAsync (line 5755) | async decodeAsync(e){if(this.entered)return this.clone().decodeAsync(e... method decodeArrayStream (line 5755) | decodeArrayStream(e){return this.decodeMultiAsync(e,!0)} method decodeStream (line 5755) | decodeStream(e){return this.decodeMultiAsync(e,!1)} method decodeMultiAsync (line 5755) | async*decodeMultiAsync(e,n){if(this.entered){yield*this.clone().decode... method doDecodeSync (line 5755) | doDecodeSync(){e:for(;;){const e=this.readHeadByte();let n;if(e>=224)n... method readHeadByte (line 5755) | readHeadByte(){return this.headByte===bx&&(this.headByte=this.readU8()... method complete (line 5755) | complete(){this.headByte=bx} method readArraySize (line 5755) | readArraySize(){const e=this.readHeadByte();switch(e){case 220:return ... method pushMapState (line 5755) | pushMapState(e){if(e>this.maxMapLength)throw new ml(`Max length exceed... method pushArrayState (line 5755) | pushArrayState(e){if(e>this.maxArrayLength)throw new ml(`Max length ex... method decodeString (line 5755) | decodeString(e,n){return!this.rawStrings||this.stateIsMapKey()?this.de... method decodeUtf8String (line 5755) | decodeUtf8String(e,n){if(e>this.maxStrLength)throw new ml(`Max length ... method stateIsMapKey (line 5755) | stateIsMapKey(){return this.stack.length>0?this.stack.top().type===v1:!1} method decodeBinary (line 5755) | decodeBinary(e,n){if(e>this.maxBinLength)throw new ml(`Max length exce... method decodeExtension (line 5755) | decodeExtension(e,n){if(e>this.maxExtLength)throw new ml(`Max length e... method lookU8 (line 5755) | lookU8(){return this.view.getUint8(this.pos)} method lookU16 (line 5755) | lookU16(){return this.view.getUint16(this.pos)} method lookU32 (line 5755) | lookU32(){return this.view.getUint32(this.pos)} method readU8 (line 5755) | readU8(){const e=this.view.getUint8(this.pos);return this.pos++,e} method readI8 (line 5755) | readI8(){const e=this.view.getInt8(this.pos);return this.pos++,e} method readU16 (line 5755) | readU16(){const e=this.view.getUint16(this.pos);return this.pos+=2,e} method readI16 (line 5755) | readI16(){const e=this.view.getInt16(this.pos);return this.pos+=2,e} method readU32 (line 5755) | readU32(){const e=this.view.getUint32(this.pos);return this.pos+=4,e} method readI32 (line 5755) | readI32(){const e=this.view.getInt32(this.pos);return this.pos+=4,e} method readU64 (line 5755) | readU64(){const e=uBe(this.view,this.pos);return this.pos+=8,e} method readI64 (line 5755) | readI64(){const e=one(this.view,this.pos);return this.pos+=8,e} method readU64AsBigInt (line 5755) | readU64AsBigInt(){const e=this.view.getBigUint64(this.pos);return this... method readI64AsBigInt (line 5755) | readI64AsBigInt(){const e=this.view.getBigInt64(this.pos);return this.... method readF32 (line 5755) | readF32(){const e=this.view.getFloat32(this.pos);return this.pos+=4,e} method readF64 (line 5755) | readF64(){const e=this.view.getFloat64(this.pos);return this.pos+=8,e} function CBe (line 5755) | function CBe(t,e){return new ZC(e).decode(t)} function RBe (line 5755) | function RBe(t){return t[Symbol.asyncIterator]!=null} function DBe (line 5755) | function DBe(t){return RBe(t)?t:kBe(t)} function OBe (line 5755) | async function OBe(t,e){const n=DBe(t);return new ZC(e).decodeAsync(n)} function HBe (line 5755) | function HBe(t,e,n){return n||(n=e,e={}),typeof n!="function"&&ts(7),D4(... function wne (line 5755) | function wne(t,e){return QC(t,{i:2},e&&e.out,e&&e.dictionary)} function VBe (line 5755) | function VBe(t,e,n){return n||(n=e,e={}),typeof n!="function"&&ts(7),D4(... function qG (line 5755) | function qG(t,e){var n=xne(t);return n+8>t.length&&ts(6,"invalid gzip da... function GBe (line 5755) | function GBe(t,e,n){return n||(n=e,e={}),typeof n!="function"&&ts(7),D4(... function XG (line 5755) | function XG(t,e){return QC(t.subarray(Sne(t,e&&e.dictionary),-4),{i:2},e... function WBe (line 5755) | function WBe(t,e,n){return n||(n=e,e={}),typeof n!="function"&&ts(7),t[0... function KBe (line 5755) | async function KBe(t,e){const n=await fetch(t);if(!n.ok)throw new Error(... function YBe (line 5755) | function YBe({fileUrl:t}){const e=I.useContext(Si),n=e.mutable.current,i... function t (line 5755) | function t(e,n,i){this.name=e,this.version=n,this.os=i,this.type="browser"} function t (line 5755) | function t(e){this.version=e,this.type="node",this.name="node",this.os=p... function t (line 5755) | function t(e,n,i,r){this.name=e,this.version=n,this.os=i,this.bot=r,this... function t (line 5755) | function t(){this.type="bot",this.bot=!0,this.name="bot",this.version=nu... function t (line 5755) | function t(){this.type="react-native",this.name="react-native",this.vers... function rze (line 5755) | function rze(t){return typeof document>"u"&&typeof navigator<"u"&&naviga... function aze (line 5755) | function aze(t){return t!==""&&ize.reduce(function(e,n){var i=n[0],r=n[1... function sze (line 5755) | function sze(t){var e=aze(t);if(!e)return null;var n=e[0],i=e[1];if(n===... function oze (line 5755) | function oze(t){for(var e=0,n=JG.length;e{const t=rze();if(t===null||t.vers... function $G (line 5755) | function $G({children:t,title:e,width:n,height:i,fill:r=!1}){return k.js... function cN (line 5755) | function cN(t,e){const n=new wt;return n.x=2*((e[0]+.5)/t.mutable.curren... function uN (line 5755) | function uN(t,e){const n=new wt;return n.x=(e[0]+.5)/t.mutable.current.c... function mze (line 5755) | function mze(){const t=new URLSearchParams(window.location.search),e=t.g... function gze (line 5755) | function gze(){const t=new URLSearchParams(window.location.search).getAl... function bze (line 5755) | function bze({children:t}){const e=Ce.useContext(Si),n=e.useGui(u=>u.the... function vze (line 5755) | function vze(t){const e=og();return I.useEffect(()=>{e.setColorScheme(t.... function yze (line 5755) | function yze(){return k.jsx(Mh,{position:"top-left",limit:10,containerWi... function xze (line 5755) | function xze({children:t}){const e=Ce.useContext(Si),n=EC(20).send,i=_a(... function _ze (line 5755) | function _ze(t,e,n){const i=new G_,r=cN(t,e);if(r===null)return;i.setFro... function Sze (line 5755) | function Sze(t,e,n){const i=uN(t,e.dragStart),r=uN(t,e.dragEnd),a=Math.m... function wze (line 5755) | function wze(){const t=Ce.useContext(Si),e=t.useEnvironment(s=>s.enableD... function Eze (line 5755) | function Eze(){const t=Ce.useContext(Si),e=ki(i=>i.setDpr);return t.useD... function Mze (line 5755) | function Mze(){const t=Ce.useContext(Si);return I.useEffect(()=>{const e... function Tze (line 5755) | function Tze(){const t=I.useMemo(()=>({vert:` function Aze (line 5797) | function Aze(){const{mutable:t}=Ce.useContext(Si);return t.current.scene... function Cze (line 5797) | function Cze(){const[t,{open:e,close:n}]=Ec(!1);return k.jsxs(k.Fragment... FILE: newton/_src/viewer/wind.py class WindParams (line 15) | class WindParams: function apply_wind_force_kernel (line 27) | def apply_wind_force_kernel( class Wind (line 69) | class Wind: method __init__ (line 72) | def __init__(self, model): method update (line 92) | def update(self, dt): method _apply_wind_force (line 105) | def _apply_wind_force(self, state): method is_active (line 122) | def is_active(self): method time (line 130) | def time(self): method time (line 135) | def time(self, value): method period (line 140) | def period(self): method period (line 145) | def period(self, value): method amplitude (line 150) | def amplitude(self): method amplitude (line 155) | def amplitude(self, value): method frequency (line 160) | def frequency(self): method frequency (line 165) | def frequency(self, value): method direction (line 170) | def direction(self): method direction (line 175) | def direction(self, value): FILE: newton/examples/__init__.py function get_source_directory (line 18) | def get_source_directory() -> str: function get_asset_directory (line 22) | def get_asset_directory() -> str: function get_asset (line 26) | def get_asset(filename: str) -> str: function _enable_example_deprecation_warnings (line 30) | def _enable_example_deprecation_warnings() -> None: function download_external_git_folder (line 44) | def download_external_git_folder(git_url: str, folder_path: str, force_r... function test_body_state (line 50) | def test_body_state( function test_particle_state (line 128) | def test_particle_state( class _ExampleBrowser (line 185) | class _ExampleBrowser: method __init__ (line 188) | def __init__(self, viewer): method _register_ui (line 223) | def _register_ui(self, example): method switch (line 228) | def switch(self, example_class): method reset (line 242) | def reset(self, example_class): function _format_fps (line 256) | def _format_fps(fps: float) -> str: function run (line 265) | def run(example, args): function compute_world_offsets (line 340) | def compute_world_offsets( function get_examples (line 395) | def get_examples() -> dict[str, str]: function create_parser (line 410) | def create_parser(): function add_broad_phase_arg (line 478) | def add_broad_phase_arg(parser): function add_mujoco_contacts_arg (line 490) | def add_mujoco_contacts_arg(parser): function add_world_count_arg (line 503) | def add_world_count_arg(parser): function add_max_worlds_arg (line 514) | def add_max_worlds_arg(parser): function default_args (line 525) | def default_args(parser=None): function _apply_warp_config (line 537) | def _apply_warp_config(parser, args): function init (line 569) | def init(parser=None): function create_collision_pipeline (line 634) | def create_collision_pipeline(model, args=None, broad_phase=None, **kwar... function main (line 653) | def main(): FILE: newton/examples/basic/example_basic_conveyor.py function create_annular_prism_mesh (line 40) | def create_annular_prism_mesh( function set_conveyor_belt_state (line 133) | def set_conveyor_belt_state( function advance_time (line 149) | def advance_time(sim_time: wp.array[wp.float32], dt: float): class Example (line 153) | class Example: method __init__ (line 154) | def __init__(self, viewer, args=None): method capture (line 352) | def capture(self): method simulate (line 360) | def simulate(self): method step (line 393) | def step(self): method render (line 400) | def render(self): method test_final (line 406) | def test_final(self): FILE: newton/examples/basic/example_basic_heightfield.py class Example (line 22) | class Example: method __init__ (line 23) | def __init__(self, viewer, args): method capture (line 88) | def capture(self): method simulate (line 96) | def simulate(self): method step (line 107) | def step(self): method render (line 114) | def render(self): method test_final (line 120) | def test_final(self): FILE: newton/examples/basic/example_basic_joints.py class Example (line 20) | class Example: method __init__ (line 21) | def __init__(self, viewer, args): method capture (line 187) | def capture(self): method simulate (line 195) | def simulate(self): method step (line 208) | def step(self): method test_post_step (line 216) | def test_post_step(self): method test_final (line 242) | def test_final(self): method render (line 272) | def render(self): FILE: newton/examples/basic/example_basic_pendulum.py class Example (line 20) | class Example: method __init__ (line 21) | def __init__(self, viewer, args): method capture (line 87) | def capture(self): method simulate (line 95) | def simulate(self): method step (line 108) | def step(self): method test_final (line 116) | def test_final(self): method render (line 141) | def render(self): FILE: newton/examples/basic/example_basic_plotting.py class Example (line 30) | class Example: method __init__ (line 33) | def __init__(self, viewer, args): method capture (line 86) | def capture(self): method simulate (line 98) | def simulate(self): method _read_status (line 106) | def _read_status(self): method step (line 122) | def step(self): method test_final (line 131) | def test_final(self): method _plot (line 142) | def _plot(self): method _print_summary (line 178) | def _print_summary(self): method gui (line 191) | def gui(self, ui): method render (line 224) | def render(self): method create_parser (line 231) | def create_parser(): FILE: newton/examples/basic/example_basic_shapes.py class Example (line 25) | class Example: method __init__ (line 26) | def __init__(self, viewer, args): method capture (line 128) | def capture(self): method simulate (line 136) | def simulate(self): method step (line 149) | def step(self): method test_final (line 157) | def test_final(self): method render (line 221) | def render(self): FILE: newton/examples/basic/example_basic_urdf.py class Example (line 24) | class Example: method __init__ (line 25) | def __init__(self, viewer, args): method capture (line 107) | def capture(self): method simulate (line 115) | def simulate(self): method step (line 134) | def step(self): method test_final (line 142) | def test_final(self): method render (line 160) | def render(self): method create_parser (line 167) | def create_parser(): FILE: newton/examples/basic/example_basic_viewer.py class Example (line 24) | class Example: method __init__ (line 25) | def __init__(self, viewer, args): method gui (line 86) | def gui(self, ui): method step (line 113) | def step(self): method render (line 116) | def render(self): method test_final (line 223) | def test_final(self): FILE: newton/examples/basic/example_recording.py class Example (line 24) | class Example: method __init__ (line 25) | def __init__(self, viewer, _args): method simulate (line 88) | def simulate(self): method step (line 94) | def step(self): method render (line 102) | def render(self): method test_final (line 107) | def test_final(self): FILE: newton/examples/basic/example_replay_viewer.py class ReplayUI (line 27) | class ReplayUI: method __init__ (line 41) | def __init__(self, viewer): method render (line 59) | def render(self, imgui): method _render_playback_controls (line 93) | def _render_playback_controls(self, imgui): method _clear_status (line 140) | def _clear_status(self): method _load_recording (line 145) | def _load_recording(self, file_path): method _load_frame (line 183) | def _load_frame(self): class Example (line 191) | class Example: method __init__ (line 192) | def __init__(self, viewer, args): method step (line 203) | def step(self): method render (line 207) | def render(self): method test_final (line 214) | def test_final(self): FILE: newton/examples/cable/example_cable_bundle_hysteresis.py function move_obstacles_triwave (line 23) | def move_obstacles_triwave( function advance_time (line 81) | def advance_time(t: wp.array[float], dt: float): class Example (line 88) | class Example: method bundle_start_offsets_yz (line 89) | def bundle_start_offsets_yz(self, num_cables: int, cable_radius: float... method __init__ (line 146) | def __init__( method capture (line 335) | def capture(self): method simulate (line 344) | def simulate(self): method step (line 401) | def step(self): method render (line 409) | def render(self): method test_final (line 419) | def test_final(self): method create_parser (line 424) | def create_parser(): FILE: newton/examples/cable/example_cable_pile.py class Example (line 23) | class Example: method __init__ (line 24) | def __init__( method capture (line 184) | def capture(self): method simulate (line 193) | def simulate(self): method step (line 215) | def step(self): method render (line 224) | def render(self): method test_final (line 231) | def test_final(self): FILE: newton/examples/cable/example_cable_twist.py function spin_first_capsules_kernel (line 23) | def spin_first_capsules_kernel( class Example (line 49) | class Example: method create_cable_geometry_with_turns (line 50) | def create_cable_geometry_with_turns( method __init__ (line 109) | def __init__(self, viewer, args): method capture (line 217) | def capture(self): method simulate (line 226) | def simulate(self): method step (line 262) | def step(self): method render (line 270) | def render(self): method test_final (line 277) | def test_final(self): FILE: newton/examples/cable/example_cable_y_junction.py function _y_dirs_xy (line 24) | def _y_dirs_xy() -> list[wp.vec3]: class Example (line 33) | class Example: method __init__ (line 34) | def __init__(self, viewer, args): method capture (line 137) | def capture(self): method simulate (line 145) | def simulate(self): method step (line 153) | def step(self): method render (line 160) | def render(self): method test_final (line 166) | def test_final(self): FILE: newton/examples/cloth/example_cloth_bending.py class Example (line 23) | class Example: method __init__ (line 24) | def __init__(self, viewer, args): method capture (line 103) | def capture(self): method simulate (line 111) | def simulate(self): method step (line 124) | def step(self): method render (line 131) | def render(self): method test_final (line 136) | def test_final(self): FILE: newton/examples/cloth/example_cloth_franka.py function scale_positions (line 36) | def scale_positions(src: wp.array[wp.vec3], scale: float, dst: wp.array[... function scale_body_transforms (line 42) | def scale_body_transforms(src: wp.array[wp.transform], scale: float, dst... function compute_ee_delta (line 50) | def compute_ee_delta( function compute_body_jacobian (line 71) | def compute_body_jacobian( class Example (line 137) | class Example: method __init__ (line 138) | def __init__(self, viewer, args): method set_up_control (line 373) | def set_up_control(self): method capture (line 403) | def capture(self): method create_articulation (line 411) | def create_articulation(self, builder): method compute_body_jacobian (line 489) | def compute_body_jacobian( method generate_control_joint_qd (line 519) | def generate_control_joint_qd( method step (line 575) | def step(self): method simulate (line 584) | def simulate(self): method render (line 623) | def render(self): method test_final (line 662) | def test_final(self): FILE: newton/examples/cloth/example_cloth_h1.py class Example (line 29) | class Example: method __init__ (line 30) | def __init__(self, viewer, args): method capture (line 190) | def capture(self): method transform_interpolate (line 198) | def transform_interpolate( method simulate (line 216) | def simulate(self): method _push_targets_from_gizmos (line 237) | def _push_targets_from_gizmos(self): method _force_update_targets (line 244) | def _force_update_targets(self): method step (line 293) | def step(self): method test_final (line 306) | def test_final(self): method render (line 315) | def render(self): FILE: newton/examples/cloth/example_cloth_hanging.py class Example (line 21) | class Example: method __init__ (line 22) | def __init__( method capture (line 156) | def capture(self): method simulate (line 164) | def simulate(self): method step (line 177) | def step(self): method test_final (line 185) | def test_final(self): method render (line 202) | def render(self): FILE: newton/examples/cloth/example_cloth_poker_cards.py class Example (line 28) | class Example: method __init__ (line 29) | def __init__(self, viewer, args): method capture (line 231) | def capture(self): method simulate (line 236) | def simulate(self): method step (line 265) | def step(self): method render (line 273) | def render(self): method test_final (line 278) | def test_final(self): FILE: newton/examples/cloth/example_cloth_rollers.py function increment_time (line 23) | def increment_time(time: wp.array[float], dt: float): function rotate_cylinder (line 29) | def rotate_cylinder( function rolled_cloth_mesh (line 68) | def rolled_cloth_mesh( function cylinder_mesh (line 141) | def cylinder_mesh(radius=9.5, height=120.0, segments=64): class Example (line 176) | class Example: method __init__ (line 177) | def __init__(self, viewer, args): method capture (line 403) | def capture(self): method simulate (line 411) | def simulate(self): method step (line 480) | def step(self): method render (line 488) | def render(self): method test_final (line 498) | def test_final(self): FILE: newton/examples/cloth/example_cloth_style3d.py class Example (line 15) | class Example: method __init__ (line 16) | def __init__(self, viewer, args): method capture (line 141) | def capture(self): method simulate (line 149) | def simulate(self): method step (line 160) | def step(self): method test_final (line 168) | def test_final(self): method render (line 177) | def render(self): FILE: newton/examples/cloth/example_cloth_twist.py function initialize_rotation (line 30) | def initialize_rotation( function apply_rotation (line 61) | def apply_rotation( class Example (line 114) | class Example: method __init__ (line 115) | def __init__(self, viewer, args): method capture (line 225) | def capture(self): method simulate (line 232) | def simulate(self): method step (line 265) | def step(self): method render (line 273) | def render(self): method test_final (line 284) | def test_final(self): FILE: newton/examples/contacts/example_brick_stacking.py function _build_mesh_with_sdf (line 49) | def _build_mesh_with_sdf(verts, faces, color, scale=1.0): function _cylinder_mesh (line 60) | def _cylinder_mesh(radius, height, segments, cx=0.0, cy=0.0, cz=0.0, bot... function _combine_meshes (line 112) | def _combine_meshes(mesh_list): function _make_shell_mesh (line 130) | def _make_shell_mesh(nx, ny): function _make_brick_mesh (line 200) | def _make_brick_mesh(nx=4, ny=2): class TaskType (line 228) | class TaskType(enum.IntEnum): function set_target_pose_kernel (line 240) | def set_target_pose_kernel( function advance_task_kernel (line 352) | def advance_task_kernel( class Example (line 389) | class Example: method __init__ (line 390) | def __init__(self, viewer, args=None): method build_franka_with_table (line 489) | def build_franka_with_table(self): method add_board_floor (line 562) | def add_board_floor(self, scene, center_x, center_y, brick_cfg): method add_bricks (line 592) | def add_bricks(self, scene): method _solve_approach_ik (line 633) | def _solve_approach_ik(self): method setup_ik (line 692) | def setup_ik(self): method setup_tasks (line 726) | def setup_tasks(self): method set_joint_targets (line 779) | def set_joint_targets(self): method capture (line 837) | def capture(self): method simulate (line 848) | def simulate(self): method reset (line 856) | def reset(self): method step (line 866) | def step(self): method render (line 876) | def render(self): method test_final (line 882) | def test_final(self): method gui (line 926) | def gui(self, ui): FILE: newton/examples/contacts/example_contacts_rj45_plug.py function _apply_gizmo_force (line 61) | def _apply_gizmo_force( function _sync_cable_anchors (line 120) | def _sync_cable_anchors( function _align_cable_orientations (line 141) | def _align_cable_orientations( function _load_mesh (line 174) | def _load_mesh(stage, prim_path: str) -> tuple[newton.Mesh, wp.vec3]: function _load_cable_centerline (line 200) | def _load_cable_centerline(stage) -> tuple[wp.vec3, ...]: class Example (line 221) | class Example: method __init__ (line 222) | def __init__(self, viewer): method capture (line 401) | def capture(self): method simulate (line 408) | def simulate(self): method step (line 466) | def step(self): method render (line 499) | def render(self): method test_final (line 506) | def test_final(self): FILE: newton/examples/contacts/example_nut_bolt_hydro.py function add_mesh_object (line 42) | def add_mesh_object( function load_mesh_with_sdf (line 74) | def load_mesh_with_sdf( class Example (line 113) | class Example: method __init__ (line 114) | def __init__(self, viewer, args): method _build_nut_bolt_scene (line 215) | def _build_nut_bolt_scene(self) -> newton.ModelBuilder: method capture (line 277) | def capture(self): method simulate (line 285) | def simulate(self): method step (line 295) | def step(self): method render (line 306) | def render(self): method _init_test_tracking (line 312) | def _init_test_tracking(self): method _track_test_data (line 342) | def _track_test_data(self): method test_final (line 366) | def test_final(self): method create_parser (line 404) | def create_parser(): FILE: newton/examples/contacts/example_nut_bolt_sdf.py function add_mesh_object (line 41) | def add_mesh_object( function load_mesh_with_sdf (line 59) | def load_mesh_with_sdf( class Example (line 85) | class Example: method __init__ (line 86) | def __init__(self, viewer, args): method _build_nut_bolt_scene (line 190) | def _build_nut_bolt_scene(self) -> newton.ModelBuilder: method capture (line 248) | def capture(self): method simulate (line 256) | def simulate(self): method step (line 267) | def step(self): method render (line 278) | def render(self): method _init_test_tracking (line 284) | def _init_test_tracking(self): method _track_test_data (line 314) | def _track_test_data(self): method test_final (line 338) | def test_final(self): method create_parser (line 376) | def create_parser(): FILE: newton/examples/contacts/example_pyramid.py class Example (line 37) | class Example: method __init__ (line 38) | def __init__(self, viewer, args): method capture (line 147) | def capture(self): method simulate (line 155) | def simulate(self): method step (line 163) | def step(self): method render (line 171) | def render(self): method test_final (line 177) | def test_final(self): method create_parser (line 195) | def create_parser(): FILE: newton/examples/diffsim/example_diffsim_ball.py function loss_kernel (line 27) | def loss_kernel(pos: wp.array[wp.vec3], target: wp.vec3, loss: wp.array[... function step_kernel (line 34) | def step_kernel(x: wp.array[wp.vec3], grad: wp.array[wp.vec3], alpha: fl... class Example (line 41) | class Example: method __init__ (line 42) | def __init__(self, viewer, args): method capture (line 115) | def capture(self): method forward_backward (line 123) | def forward_backward(self): method forward (line 129) | def forward(self): method simulate (line 139) | def simulate(self, sim_step): method step (line 145) | def step(self): method test_final (line 166) | def test_final(self): method render (line 173) | def render(self): method check_grad (line 210) | def check_grad(self): method create_parser (line 258) | def create_parser(): FILE: newton/examples/diffsim/example_diffsim_bear.py function loss_kernel (line 40) | def loss_kernel(com: wp.array[wp.vec3], loss: wp.array[float]): function com_kernel (line 51) | def com_kernel(velocities: wp.array[wp.vec3], n: int, com: wp.array[wp.v... function compute_phases (line 59) | def compute_phases(phases: wp.array[float], sim_time: float): function tanh (line 65) | def tanh(x: float): function network (line 70) | def network(phases: wp.array2d[float], weights: wp.array2d[float], tet_a... class Example (line 84) | class Example: method __init__ (line 85) | def __init__(self, viewer, args): method capture (line 207) | def capture(self): method forward_backward (line 215) | def forward_backward(self): method forward (line 222) | def forward(self, frame): method step (line 264) | def step(self): method render (line 291) | def render(self): method test_final (line 307) | def test_final(self): method create_parser (line 311) | def create_parser(): FILE: newton/examples/diffsim/example_diffsim_cloth.py function com_kernel (line 27) | def com_kernel(positions: wp.array[wp.vec3], n: int, com: wp.array[wp.ve... function loss_kernel (line 35) | def loss_kernel(com: wp.array[wp.vec3], target: wp.vec3, loss: wp.array[... function step_kernel (line 43) | def step_kernel(x: wp.array[wp.vec3], grad: wp.array[wp.vec3], alpha: fl... class Example (line 50) | class Example: method __init__ (line 51) | def __init__(self, viewer, args): method capture (line 117) | def capture(self): method forward_backward (line 125) | def forward_backward(self): method forward (line 131) | def forward(self): method simulate (line 145) | def simulate(self, sim_step): method step (line 151) | def step(self): method test_final (line 174) | def test_final(self): method render (line 178) | def render(self): method create_parser (line 214) | def create_parser(): FILE: newton/examples/diffsim/example_diffsim_drone.py class Propeller (line 31) | class Propeller: function increment_seed (line 47) | def increment_seed( function sample_gaussian (line 54) | def sample_gaussian( function replicate_states (line 78) | def replicate_states( function drone_cost (line 93) | def drone_cost( function collision_cost (line 152) | def collision_cost( function enforce_control_limits (line 207) | def enforce_control_limits( function pick_best_trajectory (line 217) | def pick_best_trajectory( function interpolate_control_linear (line 227) | def interpolate_control_linear( function compute_prop_wrenches (line 246) | def compute_prop_wrenches( function define_propeller (line 267) | def define_propeller( class Drone (line 302) | class Drone: method __init__ (line 303) | def __init__( method state (line 427) | def state(self) -> newton.State: method next_state (line 431) | def next_state(self) -> newton.State: method control (line 435) | def control(self) -> newton.Control: class Example (line 439) | class Example: method __init__ (line 440) | def __init__( method capture (line 538) | def capture(self): method forward_backward (line 546) | def forward_backward(self): method update_drone (line 553) | def update_drone(self, drone: Drone, solver) -> None: method forward (line 594) | def forward(self): method step_optimizer (line 650) | def step_optimizer(self): method step (line 667) | def step(self): method test_final (line 738) | def test_final(self): method render (line 743) | def render(self): FILE: newton/examples/diffsim/example_diffsim_soft_body.py function assign_param (line 29) | def assign_param(params: wp.array[wp.float32], tet_materials: wp.array2d... function com_kernel (line 37) | def com_kernel(particle_q: wp.array[wp.vec3], com: wp.array[wp.vec3]): function loss_kernel (line 47) | def loss_kernel( function enforce_constraint_kernel (line 59) | def enforce_constraint_kernel(lower_bound: wp.float32, upper_bound: wp.f... class Example (line 67) | class Example: method __init__ (line 68) | def __init__(self, viewer, args): method create_model (line 145) | def create_model(self): method capture (line 218) | def capture(self): method forward_backward (line 226) | def forward_backward(self): method forward (line 232) | def forward(self): method simulate (line 266) | def simulate(self, sim_step): method step (line 275) | def step(self): method log_step (line 306) | def log_step(self): method test_final (line 324) | def test_final(self): method render (line 328) | def render(self): method create_parser (line 364) | def create_parser(): FILE: newton/examples/diffsim/example_diffsim_spring_cage.py function compute_loss_kernel (line 24) | def compute_loss_kernel( function apply_gradient_kernel (line 33) | def apply_gradient_kernel( class Example (line 43) | class Example: method __init__ (line 44) | def __init__(self, viewer, args): method capture (line 120) | def capture(self): method forward_backward (line 130) | def forward_backward(self): method forward (line 136) | def forward(self): method simulate (line 153) | def simulate(self, sim_step): method check_grad (line 159) | def check_grad(self): method test_final (line 183) | def test_final(self): method step (line 189) | def step(self): method render (line 220) | def render(self): method create_parser (line 276) | def create_parser(): FILE: newton/examples/ik/example_ik_cube_stacking.py class TaskType (line 26) | class TaskType(enum.IntEnum): function set_target_pose_kernel (line 39) | def set_target_pose_kernel( function advance_task_kernel (line 135) | def advance_task_kernel( class Example (line 185) | class Example: method __init__ (line 186) | def __init__(self, viewer, args): method capture (line 268) | def capture(self): method capture_sim (line 272) | def capture_sim(self): method capture_ik (line 279) | def capture_ik(self): method simulate (line 287) | def simulate(self): method step (line 302) | def step(self): method render (line 323) | def render(self): method build_franka_with_table (line 329) | def build_franka_with_table(self): method build_scene (line 419) | def build_scene(self, franka_with_table: newton.ModelBuilder): method add_cubes (line 447) | def add_cubes( method setup_ik (line 521) | def setup_ik(self): method setup_tasks (line 566) | def setup_tasks(self): method set_joint_targets (line 607) | def set_joint_targets(self): method test_final (line 673) | def test_final(self): method create_parser (line 708) | def create_parser(): FILE: newton/examples/ik/example_ik_custom.py function _collision_residuals (line 30) | def _collision_residuals( function _update_center_target (line 64) | def _update_center_target( class CollisionSphereAvoidObjective (line 73) | class CollisionSphereAvoidObjective(ik.IKObjective): method __init__ (line 79) | def __init__( method residual_dim (line 97) | def residual_dim(self): method compute_residuals (line 100) | def compute_residuals(self, body_q, joint_q, model, residuals, start_i... method set_obstacle_center (line 121) | def set_obstacle_center(self, problem_idx: int, new_center: wp.vec3): class Example (line 133) | class Example: method __init__ (line 134) | def __init__(self, viewer, args): method capture (line 261) | def capture(self): method simulate (line 268) | def simulate(self): method _push_targets_from_gizmos (line 272) | def _push_targets_from_gizmos(self): method _sync_obstacle_visual (line 286) | def _sync_obstacle_visual(self, center: wp.vec3): method step (line 293) | def step(self): method test_final (line 301) | def test_final(self): method render (line 304) | def render(self): FILE: newton/examples/ik/example_ik_franka.py class Example (line 23) | class Example: method __init__ (line 24) | def __init__(self, viewer, args): method capture (line 112) | def capture(self): method simulate (line 119) | def simulate(self): method _push_targets_from_gizmos (line 122) | def _push_targets_from_gizmos(self): method step (line 133) | def step(self): method test_final (line 141) | def test_final(self): method render (line 144) | def render(self): FILE: newton/examples/ik/example_ik_h1.py class Example (line 25) | class Example: method __init__ (line 26) | def __init__(self, viewer, args): method capture (line 121) | def capture(self): method simulate (line 128) | def simulate(self): method _push_targets_from_gizmos (line 131) | def _push_targets_from_gizmos(self): method step (line 141) | def step(self): method test_final (line 149) | def test_final(self): method render (line 152) | def render(self): FILE: newton/examples/mpm/example_mpm_anymal.py class Example (line 27) | class Example: method __init__ (line 28) | def __init__(self, viewer, args): method capture (line 196) | def capture(self): method apply_control (line 209) | def apply_control(self): method simulate_robot (line 228) | def simulate_robot(self): method simulate_sand (line 236) | def simulate_sand(self): method step (line 240) | def step(self): method test_final (line 272) | def test_final(self): method render (line 302) | def render(self): method create_parser (line 308) | def create_parser(): function _spawn_particles (line 317) | def _spawn_particles(builder: newton.ModelBuilder, res, bounds_lo, bound... FILE: newton/examples/mpm/example_mpm_beam_twist.py function apply_twist (line 13) | def apply_twist( class Example (line 43) | class Example: method __init__ (line 46) | def __init__(self, viewer, options): method capture (line 130) | def capture(self): method simulate (line 140) | def simulate(self): method step (line 145) | def step(self): method render (line 188) | def render(self): method test_final (line 237) | def test_final(self): method render_ui (line 254) | def render_ui(self, imgui): method create_parser (line 258) | def create_parser(): method emit_particles (line 292) | def emit_particles(builder: newton.ModelBuilder, args): FILE: newton/examples/mpm/example_mpm_grain_rendering.py class Example (line 12) | class Example: method __init__ (line 13) | def __init__(self, viewer, args): method simulate (line 55) | def simulate(self): method step (line 67) | def step(self): method test_final (line 71) | def test_final(self): method render (line 78) | def render(self): method emit_particles (line 87) | def emit_particles(builder: newton.ModelBuilder, args): method _spawn_particles (line 101) | def _spawn_particles( method create_parser (line 129) | def create_parser(): FILE: newton/examples/mpm/example_mpm_granular.py class Example (line 12) | class Example: method __init__ (line 13) | def __init__(self, viewer, args): method capture (line 109) | def capture(self): method simulate (line 119) | def simulate(self): method step (line 125) | def step(self): method test_final (line 132) | def test_final(self): method render (line 156) | def render(self): method render_ui (line 189) | def render_ui(self, imgui): method emit_particles (line 193) | def emit_particles(builder: newton.ModelBuilder, args): method create_parser (line 227) | def create_parser(): FILE: newton/examples/mpm/example_mpm_multi_material.py class Example (line 12) | class Example: method __init__ (line 13) | def __init__(self, viewer, args): method simulate (line 75) | def simulate(self): method step (line 82) | def step(self): method test_final (line 86) | def test_final(self): method render (line 93) | def render(self): method emit_particles (line 105) | def emit_particles(builder: newton.ModelBuilder, voxel_size: float): method _spawn_particles (line 149) | def _spawn_particles(builder: newton.ModelBuilder, voxel_size, bounds_... method create_parser (line 182) | def create_parser(): FILE: newton/examples/mpm/example_mpm_snow_ball.py function _compute_compression_colors (line 13) | def _compute_compression_colors( class Example (line 29) | class Example: method __init__ (line 32) | def __init__(self, viewer, options): method _get_terrain_z (line 121) | def _get_terrain_z(self, y, x): method emit_avalanche_particles (line 125) | def emit_avalanche_particles(self, builder, args, heightfield, hf_x, h... method init_materials (line 260) | def init_materials(self, options, model: newton.Model): method capture (line 296) | def capture(self): method simulate (line 306) | def simulate(self): method step (line 311) | def step(self): method render (line 318) | def render(self): method test_final (line 345) | def test_final(self): method render_ui (line 362) | def render_ui(self, imgui): method create_parser (line 366) | def create_parser(): FILE: newton/examples/mpm/example_mpm_twoway_coupling.py function compute_body_forces (line 26) | def compute_body_forces( function subtract_body_force (line 59) | def subtract_body_force( class Example (line 88) | class Example: method __init__ (line 89) | def __init__(self, viewer, args): method capture (line 180) | def capture(self): method simulate (line 188) | def simulate(self): method collect_collider_impulses (line 220) | def collect_collider_impulses(self): method simulate_sand (line 230) | def simulate_sand(self): method step (line 254) | def step(self): method test_final (line 262) | def test_final(self): method render (line 276) | def render(self): method render_ui (line 302) | def render_ui(self, imgui): method _emit_rigid_bodies (line 305) | def _emit_rigid_bodies(self, builder: newton.ModelBuilder): method _emit_particles (line 351) | def _emit_particles(self, sand_builder: newton.ModelBuilder, voxel_siz... FILE: newton/examples/mpm/example_mpm_viscous.py class Example (line 19) | class Example: method __init__ (line 20) | def __init__(self, viewer, options): method simulate (line 79) | def simulate(self): method step (line 84) | def step(self): method test_final (line 88) | def test_final(self): method render (line 101) | def render(self): method create_parser (line 107) | def create_parser(): method create_funnel_mesh (line 137) | def create_funnel_mesh(aperture_radius, top_radius, height, z_offset, ... method emit_particles (line 205) | def emit_particles(builder: newton.ModelBuilder, args): FILE: newton/examples/multiphysics/example_softbody_dropping_to_cloth.py class Example (line 22) | class Example: method __init__ (line 23) | def __init__(self, viewer, args): method capture (line 105) | def capture(self): method simulate (line 113) | def simulate(self): method step (line 126) | def step(self): method test_final (line 134) | def test_final(self): method render (line 147) | def render(self): method create_parser (line 154) | def create_parser(): FILE: newton/examples/multiphysics/example_softbody_gift.py function cloth_loop_around_box (line 26) | def cloth_loop_around_box( class Example (line 130) | class Example: method __init__ (line 131) | def __init__(self, viewer, args): method capture (line 237) | def capture(self): method simulate (line 245) | def simulate(self): method step (line 258) | def step(self): method test_final (line 266) | def test_final(self): method render (line 279) | def render(self): method create_parser (line 286) | def create_parser(): FILE: newton/examples/robot/example_robot_allegro_hand.py function move_hand (line 30) | def move_hand( class Example (line 62) | class Example: method __init__ (line 63) | def __init__(self, viewer, args): method capture (line 155) | def capture(self): method simulate (line 162) | def simulate(self): method step (line 192) | def step(self): method render (line 200) | def render(self): method test_final (line 206) | def test_final(self): method create_parser (line 240) | def create_parser(): FILE: newton/examples/robot/example_robot_anymal_c_walk.py function quat_rotate_inverse (line 28) | def quat_rotate_inverse(q: torch.Tensor, v: torch.Tensor) -> torch.Tensor: function compute_obs (line 55) | def compute_obs(actions, state: State, joint_pos_initial, device, indice... class Example (line 72) | class Example: method __init__ (line 73) | def __init__(self, viewer, args): method capture (line 236) | def capture(self): method simulate (line 246) | def simulate(self): method step (line 261) | def step(self): method render (line 286) | def render(self): method test_final (line 296) | def test_final(self): method create_parser (line 355) | def create_parser(): FILE: newton/examples/robot/example_robot_anymal_d.py class Example (line 22) | class Example: method __init__ (line 23) | def __init__(self, viewer, args): method capture (line 104) | def capture(self): method simulate (line 112) | def simulate(self): method step (line 127) | def step(self): method render (line 135) | def render(self): method test_final (line 141) | def test_final(self): method create_parser (line 160) | def create_parser(): FILE: newton/examples/robot/example_robot_cartpole.py class Example (line 21) | class Example: method __init__ (line 22) | def __init__(self, viewer, args): method capture (line 87) | def capture(self): method simulate (line 94) | def simulate(self): method step (line 106) | def step(self): method render (line 114) | def render(self): method test_final (line 119) | def test_final(self): method create_parser (line 191) | def create_parser(): FILE: newton/examples/robot/example_robot_g1.py class Example (line 22) | class Example: method __init__ (line 23) | def __init__(self, viewer, args): method capture (line 101) | def capture(self): method simulate (line 108) | def simulate(self): method step (line 125) | def step(self): method render (line 133) | def render(self): method test_final (line 139) | def test_final(self): method create_parser (line 155) | def create_parser(): FILE: newton/examples/robot/example_robot_h1.py class Example (line 22) | class Example: method __init__ (line 23) | def __init__(self, viewer, args): method capture (line 96) | def capture(self): method simulate (line 103) | def simulate(self): method step (line 120) | def step(self): method render (line 128) | def render(self): method test_final (line 134) | def test_final(self): method create_parser (line 149) | def create_parser(): FILE: newton/examples/robot/example_robot_panda_hydro.py class SceneType (line 31) | class SceneType(Enum): function quat_to_vec4 (line 36) | def quat_to_vec4(q: wp.quat) -> wp.vec4: function broadcast_ik_solution_kernel (line 42) | def broadcast_ik_solution_kernel( class Example (line 54) | class Example: method __init__ (line 55) | def __init__(self, viewer, args): method set_joint_targets (line 324) | def set_joint_targets(self): method capture_ik (line 358) | def capture_ik(self): method capture (line 364) | def capture(self): method simulate (line 371) | def simulate(self): method step (line 381) | def step(self): method render (line 398) | def render(self): method render_ui (line 414) | def render_ui(self, imgui): method test_final (line 419) | def test_final(self): method setup_ik (line 450) | def setup_ik(self): method create_parser (line 518) | def create_parser(): FILE: newton/examples/robot/example_robot_policy.py class RobotConfig (line 36) | class RobotConfig: function quat_rotate_inverse (line 74) | def quat_rotate_inverse(q: torch.Tensor, v: torch.Tensor) -> torch.Tensor: function compute_obs (line 105) | def compute_obs( function load_policy_and_setup_tensors (line 150) | def load_policy_and_setup_tensors(example: Any, policy_path: str, num_do... function find_physx_mjwarp_mapping (line 176) | def find_physx_mjwarp_mapping(mjwarp_joint_names, physx_joint_names): class Example (line 194) | class Example: method __init__ (line 195) | def __init__( method capture (line 311) | def capture(self): method simulate (line 324) | def simulate(self): method reset (line 346) | def reset(self): method step (line 357) | def step(self): method render (line 397) | def render(self): method test_final (line 403) | def test_final(self): FILE: newton/examples/robot/example_robot_ur10.py function update_joint_target_trajectory_kernel (line 26) | def update_joint_target_trajectory_kernel( class Example (line 50) | class Example: method __init__ (line 51) | def __init__(self, viewer, args): method capture (line 154) | def capture(self): method simulate (line 161) | def simulate(self): method step (line 182) | def step(self): method render (line 190) | def render(self): method test_final (line 195) | def test_final(self): method create_parser (line 199) | def create_parser(): FILE: newton/examples/selection/example_selection_articulations.py function compute_middle_kernel (line 30) | def compute_middle_kernel(lower: wp.array3d[float], upper: wp.array3d[fl... function init_masks (line 36) | def init_masks(mask_0: wp.array[bool], mask_1: wp.array[bool]): function reset_kernel (line 44) | def reset_kernel( function random_forces_kernel (line 66) | def random_forces_kernel( class Example (line 77) | class Example: method __init__ (line 78) | def __init__(self, viewer, args): method capture (line 197) | def capture(self): method simulate (line 204) | def simulate(self): method step (line 215) | def step(self): method reset (line 246) | def reset(self, mask=None): method render (line 283) | def render(self): method test_final (line 288) | def test_final(self): method create_parser (line 297) | def create_parser(): FILE: newton/examples/selection/example_selection_cartpole.py function randomize_states_kernel (line 29) | def randomize_states_kernel(joint_q: wp.array3d[float], seed: int): function apply_forces_kernel (line 38) | def apply_forces_kernel(joint_q: wp.array3d[float], joint_f: wp.array3d[... class Example (line 46) | class Example: method __init__ (line 47) | def __init__(self, viewer, args): method capture (line 124) | def capture(self): method simulate (line 131) | def simulate(self): method step (line 141) | def step(self): method render (line 170) | def render(self): method test_final (line 175) | def test_final(self): method create_parser (line 220) | def create_parser(): FILE: newton/examples/selection/example_selection_materials.py function compute_middle_kernel (line 38) | def compute_middle_kernel(lower: wp.array3d[float], upper: wp.array3d[fl... function reset_materials_kernel (line 44) | def reset_materials_kernel(mu: wp.array3d[float], seed: int, shape_count... class Example (line 55) | class Example: method __init__ (line 56) | def __init__(self, viewer, args): method capture (line 153) | def capture(self): method simulate (line 160) | def simulate(self): method step (line 174) | def step(self): method reset (line 186) | def reset(self, mask=None): method render (line 243) | def render(self): method test_final (line 248) | def test_final(self): method create_parser (line 257) | def create_parser(): FILE: newton/examples/selection/example_selection_multiple.py function compute_middle_kernel (line 27) | def compute_middle_kernel(lower: wp.array3d[float], upper: wp.array3d[fl... function init_masks (line 33) | def init_masks(mask_0: wp.array[bool], mask_1: wp.array[bool]): function check_mask (line 41) | def check_mask(mask: wp.array[bool], idx: int) -> bool: function reset_kernel (line 50) | def reset_kernel( function random_forces_kernel (line 71) | def random_forces_kernel( class Example (line 82) | class Example: method __init__ (line 83) | def __init__(self, viewer, args): method capture (line 183) | def capture(self): method simulate (line 190) | def simulate(self): method step (line 201) | def step(self): method reset (line 232) | def reset(self, mask=None): method render (line 261) | def render(self): method test_final (line 266) | def test_final(self): method create_parser (line 275) | def create_parser(): FILE: newton/examples/sensors/example_sensor_contact.py class Example (line 29) | class Example: method __init__ (line 30) | def __init__(self, viewer, args): method _set_shape_colors (line 116) | def _set_shape_colors(self, shape_colors: dict[int, list[float] | tupl... method capture (line 120) | def capture(self): method simulate (line 130) | def simulate(self): method step (line 136) | def step(self): method reset (line 169) | def reset(self): method render (line 183) | def render(self): method test_post_step (line 189) | def test_post_step(self): method test_final (line 200) | def test_final(self): class ViewerPlot (line 215) | class ViewerPlot: method __init__ (line 218) | def __init__(self, viewer=None, title="Plot", n_points=200, avg=1, **k... method add_point (line 226) | def add_point(self, point): method reset (line 233) | def reset(self): method render (line 237) | def render(self, imgui): FILE: newton/examples/sensors/example_sensor_imu.py function acc_to_color (line 14) | def acc_to_color( class Example (line 37) | class Example: method __init__ (line 38) | def __init__(self, viewer, args): method capture (line 126) | def capture(self): method simulate (line 134) | def simulate(self): method step (line 153) | def step(self): method test (line 164) | def test(self): method test_final (line 167) | def test_final(self): method render (line 178) | def render(self): FILE: newton/examples/sensors/example_sensor_tiled_camera.py function animate_franka (line 47) | def animate_franka( function shape_index_to_semantic_rgb (line 74) | def shape_index_to_semantic_rgb( function shape_index_to_random_rgb (line 88) | def shape_index_to_random_rgb( class Example (line 98) | class Example: method __init__ (line 99) | def __init__(self, viewer: ViewerGL, args): method step (line 241) | def step(self): method render (line 259) | def render(self): method render_sensors (line 268) | def render_sensors(self): method get_camera_transforms (line 282) | def get_camera_transforms(self) -> wp.array[wp.transformf]: method create_texture (line 301) | def create_texture(self): method update_texture (line 327) | def update_texture(self): method test_final (line 421) | def test_final(self): method gui (line 432) | def gui(self, ui): method display (line 520) | def display(self, imgui): method create_parser (line 566) | def create_parser(): FILE: newton/examples/softbody/example_softbody_franka.py function set_gripper_q (line 32) | def set_gripper_q(joint_q: wp.array2d[float], finger_pos: wp.array[float... function compute_joint_qd (line 38) | def compute_joint_qd( class Example (line 48) | class Example: method __init__ (line 49) | def __init__(self, viewer, args=None): method set_up_ik (line 172) | def set_up_ik(self): method capture (line 228) | def capture(self): method create_articulation (line 236) | def create_articulation(self, builder): method update_ik_targets (line 284) | def update_ik_targets(self): method step (line 308) | def step(self): method simulate (line 316) | def simulate(self): method render (line 366) | def render(self): method test_final (line 374) | def test_final(self): FILE: newton/examples/softbody/example_softbody_hanging.py class Example (line 21) | class Example: method __init__ (line 22) | def __init__(self, viewer, args): method capture (line 92) | def capture(self): method simulate (line 100) | def simulate(self): method step (line 113) | def step(self): method test_final (line 121) | def test_final(self): method render (line 135) | def render(self): method create_parser (line 142) | def create_parser(): FILE: newton/tests/__init__.py function get_source_directory (line 7) | def get_source_directory() -> str: function get_asset_directory (line 11) | def get_asset_directory() -> str: function get_asset (line 15) | def get_asset(filename: str) -> str: FILE: newton/tests/test_actuators.py class TestActuatorBuilder (line 26) | class TestActuatorBuilder(unittest.TestCase): method test_accumulation_and_parameters (line 29) | def test_accumulation_and_parameters(self): method test_mixed_types_with_replication (line 62) | def test_mixed_types_with_replication(self): method test_delay_grouping (line 113) | def test_delay_grouping(self): method test_multi_input_actuator_2d_indices (line 147) | def test_multi_input_actuator_2d_indices(self): method test_dimension_mismatch_raises_error (line 190) | def test_dimension_mismatch_raises_error(self): class TestActuatorUSDParsing (line 214) | class TestActuatorUSDParsing(unittest.TestCase): method test_usd_parsing (line 217) | def test_usd_parsing(self): class TestActuatorSelectionAPI (line 242) | class TestActuatorSelectionAPI(unittest.TestCase): method run_test_actuator_selection (line 250) | def run_test_actuator_selection(self, use_mask: bool, use_multiple_art... method test_actuator_selection_one_per_view_no_mask (line 452) | def test_actuator_selection_one_per_view_no_mask(self): method test_actuator_selection_two_per_view_no_mask (line 455) | def test_actuator_selection_two_per_view_no_mask(self): method test_actuator_selection_one_per_view_with_mask (line 458) | def test_actuator_selection_one_per_view_with_mask(self): method test_actuator_selection_two_per_view_with_mask (line 461) | def test_actuator_selection_two_per_view_with_mask(self): class TestActuatorStepIntegration (line 465) | class TestActuatorStepIntegration(unittest.TestCase): method _build_chain_model (line 475) | def _build_chain_model(self, num_joints, actuator_cls, actuator_kwargs): method _set_control_array (line 489) | def _set_control_array(self, model, control_array, dof_indices, values): method test_pd_step_position_error (line 496) | def test_pd_step_position_error(self): method test_pd_step_velocity_error (line 515) | def test_pd_step_velocity_error(self): method test_pd_step_feedforward_joint_act (line 534) | def test_pd_step_feedforward_joint_act(self): method test_pd_step_gear_and_clamp (line 553) | def test_pd_step_gear_and_clamp(self): method test_pd_step_constant_force (line 569) | def test_pd_step_constant_force(self): method test_pid_step_integral_accumulation (line 582) | def test_pid_step_integral_accumulation(self): method test_delayed_pd_step_delay_behavior (line 610) | def test_delayed_pd_step_delay_behavior(self): FILE: newton/tests/test_anymal_reset.py class TestAnymalReset (line 18) | class TestAnymalReset(unittest.TestCase): method setUp (line 19) | def setUp(self): method _setup_simulation (line 24) | def _setup_simulation(self, cone_type): method _cone_type_name (line 100) | def _cone_type_name(self, cone_type): method simulate (line 103) | def simulate(self): method step (line 110) | def step(self): method render (line 117) | def render(self): method save_initial_mjw_data (line 124) | def save_initial_mjw_data(self): method compare_mjw_data_with_initial (line 167) | def compare_mjw_data_with_initial(self): method reset_robot_state (line 225) | def reset_robot_state(self): method propagate_reset_state (line 233) | def propagate_reset_state(self): method get_current_iterations (line 240) | def get_current_iterations(self): method get_max_iterations (line 245) | def get_max_iterations(self): method _run_reset_test (line 248) | def _run_reset_test(self, cone_type): function test_reset_functionality (line 290) | def test_reset_functionality(test: TestAnymalReset, device, cone_type): FILE: newton/tests/test_api.py function _get_type_hints (line 9) | def _get_type_hints(obj): function _param_list (line 14) | def _param_list(sig: inspect.Signature): function _check_builder_method_matches_importer_function_signature (line 19) | def _check_builder_method_matches_importer_function_signature(func, meth... class TestApi (line 86) | class TestApi(unittest.TestCase): method test_builder_urdf_signature_parity (line 87) | def test_builder_urdf_signature_parity(self): method test_builder_mjcf_signature_parity (line 93) | def test_builder_mjcf_signature_parity(self): method test_builder_usd_signature_parity (line 99) | def test_builder_usd_signature_parity(self): method test_tetmesh_create_from_usd_docstring_parity (line 105) | def test_tetmesh_create_from_usd_docstring_parity(self): FILE: newton/tests/test_body_force.py class TestBodyForce (line 30) | class TestBodyForce(unittest.TestCase): function test_floating_body (line 34) | def test_floating_body( function test_3d_articulation (line 101) | def test_3d_articulation(test: TestBodyForce, device, solver_fn, test_an... function test_force_no_rotation (line 319) | def test_force_no_rotation( function test_combined_force_torque (line 410) | def test_combined_force_torque( FILE: newton/tests/test_body_velocity.py class TestBodyVelocity (line 32) | class TestBodyVelocity(unittest.TestCase): function compute_com_world_position (line 36) | def compute_com_world_position(body_q, body_com, body_world, world_offse... function test_angular_velocity_com_stationary (line 49) | def test_angular_velocity_com_stationary( function test_linear_velocity_com_moves (line 139) | def test_linear_velocity_com_moves( function test_combined_velocity (line 215) | def test_combined_velocity( FILE: newton/tests/test_broad_phase.py function test_group_pair (line 22) | def test_group_pair(group_a: int, group_b: int) -> bool: function test_world_and_group_pair (line 43) | def test_world_and_group_pair(world_a: int, world_b: int, collision_grou... function check_aabb_overlap_host (line 72) | def check_aabb_overlap_host( function find_overlapping_pairs_np (line 91) | def find_overlapping_pairs_np( class TestBroadPhase (line 150) | class TestBroadPhase(unittest.TestCase): method test_nxn_broadphase (line 151) | def test_nxn_broadphase(self): method test_nxn_broadphase_multiple_worlds (line 271) | def test_nxn_broadphase_multiple_worlds(self): method test_nxn_broadphase_with_shape_flags (line 431) | def test_nxn_broadphase_with_shape_flags(self): method test_explicit_pairs_broadphase (line 661) | def test_explicit_pairs_broadphase(self): method _test_sap_broadphase_impl (line 787) | def _test_sap_broadphase_impl(self, sort_type): method test_sap_broadphase_segmented (line 909) | def test_sap_broadphase_segmented(self): method test_sap_broadphase_tile (line 913) | def test_sap_broadphase_tile(self): method _test_sap_broadphase_multiple_worlds_impl (line 917) | def _test_sap_broadphase_multiple_worlds_impl(self, sort_type): method test_sap_broadphase_multiple_worlds_segmented (line 1056) | def test_sap_broadphase_multiple_worlds_segmented(self): method test_sap_broadphase_multiple_worlds_tile (line 1060) | def test_sap_broadphase_multiple_worlds_tile(self): method _test_sap_broadphase_with_shape_flags_impl (line 1064) | def _test_sap_broadphase_with_shape_flags_impl(self, sort_type): method test_sap_broadphase_with_shape_flags_segmented (line 1219) | def test_sap_broadphase_with_shape_flags_segmented(self): method test_sap_broadphase_with_shape_flags_tile (line 1223) | def test_sap_broadphase_with_shape_flags_tile(self): method test_nxn_edge_cases (line 1227) | def test_nxn_edge_cases(self): method _test_sap_edge_cases_impl (line 1617) | def _test_sap_edge_cases_impl(self, sort_type): method test_sap_edge_cases_segmented (line 2026) | def test_sap_edge_cases_segmented(self): method test_sap_edge_cases_tile (line 2030) | def test_sap_edge_cases_tile(self): method test_per_shape_gap_broad_phase (line 2034) | def test_per_shape_gap_broad_phase(self): FILE: newton/tests/test_cable.py function _assert_bodies_above_ground (line 21) | def _assert_bodies_above_ground( function _assert_capsule_attachments (line 38) | def _assert_capsule_attachments( function _assert_surface_attachment (line 77) | def _assert_surface_attachment( function _set_kinematic_body_pose (line 113) | def _set_kinematic_body_pose( function _drive_gripper_boxes_kernel (line 124) | def _drive_gripper_boxes_kernel( function _make_straight_cable_along_x (line 179) | def _make_straight_cable_along_x(num_elements: int, segment_length: floa... function _make_straight_cable_along_y (line 196) | def _make_straight_cable_along_y(num_elements: int, segment_length: floa... function _build_cable_chain (line 218) | def _build_cable_chain( function _build_cable_loop (line 272) | def _build_cable_loop(device, num_links: int = 6): function _numpy_to_transform (line 326) | def _numpy_to_transform(arr): function _get_joint_rest_relative_rotation (line 331) | def _get_joint_rest_relative_rotation(model: newton.Model, joint_id: int... function _get_joint_world_frames (line 349) | def _get_joint_world_frames(model: newton.Model, body_q: wp.array, joint... function _get_joint_axis_local (line 374) | def _get_joint_axis_local(model: newton.Model, joint_id: int) -> wp.vec3: function _compute_ball_joint_anchor_error (line 382) | def _compute_ball_joint_anchor_error(model: newton.Model, body_q: wp.arr... function _compute_fixed_joint_frame_error (line 390) | def _compute_fixed_joint_frame_error(model: newton.Model, body_q: wp.arr... function _compute_revolute_joint_error (line 420) | def _compute_revolute_joint_error(model: newton.Model, body_q: wp.array,... function _compute_prismatic_joint_error (line 456) | def _compute_prismatic_joint_error(model: newton.Model, body_q: wp.array... function _compute_d6_joint_error (line 490) | def _compute_d6_joint_error(model: newton.Model, body_q: wp.array, joint... function _cable_chain_connectivity_impl (line 547) | def _cable_chain_connectivity_impl(test: unittest.TestCase, device): function _cable_loop_connectivity_impl (line 587) | def _cable_loop_connectivity_impl(test: unittest.TestCase, device): function _cable_bend_stiffness_impl (line 624) | def _cable_bend_stiffness_impl(test: unittest.TestCase, device): function _cable_sagging_and_stability_impl (line 719) | def _cable_sagging_and_stability_impl(test: unittest.TestCase, device): function _cable_twist_response_impl (line 758) | def _cable_twist_response_impl(test: unittest.TestCase, device): function _two_layer_cable_pile_collision_impl (line 915) | def _two_layer_cable_pile_collision_impl(test: unittest.TestCase, device): function _cable_ball_joint_attaches_rod_endpoint_impl (line 1095) | def _cable_ball_joint_attaches_rod_endpoint_impl(test: unittest.TestCase... function _cable_fixed_joint_attaches_rod_endpoint_impl (line 1234) | def _cable_fixed_joint_attaches_rod_endpoint_impl(test: unittest.TestCas... function _cable_revolute_joint_attaches_rod_endpoint_impl (line 1414) | def _cable_revolute_joint_attaches_rod_endpoint_impl(test: unittest.Test... function _cable_revolute_drive_tracks_target_impl (line 1609) | def _cable_revolute_drive_tracks_target_impl(test: unittest.TestCase, de... function _cable_revolute_drive_limit_impl (line 1733) | def _cable_revolute_drive_limit_impl(test: unittest.TestCase, device): function _cable_prismatic_joint_attaches_rod_endpoint_impl (line 1864) | def _cable_prismatic_joint_attaches_rod_endpoint_impl(test: unittest.Tes... function _cable_prismatic_drive_tracks_target_impl (line 1997) | def _cable_prismatic_drive_tracks_target_impl(test: unittest.TestCase, d... function _cable_prismatic_drive_limit_impl (line 2121) | def _cable_prismatic_drive_limit_impl(test: unittest.TestCase, device): function _cable_d6_joint_attaches_rod_endpoint_impl (line 2252) | def _cable_d6_joint_attaches_rod_endpoint_impl(test: unittest.TestCase, ... function _cable_d6_joint_all_locked_impl (line 2394) | def _cable_d6_joint_all_locked_impl(test: unittest.TestCase, device): function _cable_d6_joint_locked_x_impl (line 2511) | def _cable_d6_joint_locked_x_impl(test: unittest.TestCase, device): function _cable_d6_drive_tracks_target_impl (line 2665) | def _cable_d6_drive_tracks_target_impl(test: unittest.TestCase, device): function _cable_d6_drive_limit_impl (line 2804) | def _cable_d6_drive_limit_impl(test: unittest.TestCase, device): function _cable_kinematic_gripper_picks_capsule_impl (line 2968) | def _cable_kinematic_gripper_picks_capsule_impl(test: unittest.TestCase,... function _cable_graph_y_junction_spanning_tree_impl (line 3134) | def _cable_graph_y_junction_spanning_tree_impl(test: unittest.TestCase, ... function _cable_rod_ring_closed_in_articulation_impl (line 3251) | def _cable_rod_ring_closed_in_articulation_impl(test: unittest.TestCase,... function _cable_graph_default_quat_aligns_z_impl (line 3334) | def _cable_graph_default_quat_aligns_z_impl(test: unittest.TestCase, dev... function _cable_graph_collision_filter_pairs_impl (line 3375) | def _cable_graph_collision_filter_pairs_impl(test: unittest.TestCase, de... function _collect_rigid_body_contact_forces_impl (line 3446) | def _collect_rigid_body_contact_forces_impl(test: unittest.TestCase, dev... function _cable_world_joint_attaches_rod_endpoint_impl (line 3498) | def _cable_world_joint_attaches_rod_endpoint_impl(test: unittest.TestCas... function _joint_enabled_toggle_impl (line 3676) | def _joint_enabled_toggle_impl(test: unittest.TestCase, device): class TestCable (line 3780) | class TestCable(unittest.TestCase): FILE: newton/tests/test_cloth.py class ClothSim (line 284) | class ClothSim: method __init__ (line 285) | def __init__(self, device, solver, use_cuda_graph=False, do_rendering=... method set_up_sagging_experiment (line 313) | def set_up_sagging_experiment(self): method set_up_bending_experiment (line 353) | def set_up_bending_experiment(self): method set_collision_experiment (line 433) | def set_collision_experiment(self): method set_up_non_zero_rest_angle_bending_experiment (line 484) | def set_up_non_zero_rest_angle_bending_experiment(self): method set_up_complex_rest_angle_bending_experiment (line 551) | def set_up_complex_rest_angle_bending_experiment( method set_free_falling_experiment (line 611) | def set_free_falling_experiment(self): method set_up_body_cloth_contact_experiment (line 646) | def set_up_body_cloth_contact_experiment(self): method set_up_stitching_experiment (line 698) | def set_up_stitching_experiment(self): method set_up_enable_tri_contact_experiment (line 766) | def set_up_enable_tri_contact_experiment(self): method finalize (line 819) | def finalize(self, particle_enable_self_contact=False, ground=True, us... method simulate (line 870) | def simulate(self): method run (line 878) | def run(self): method set_points_fixed (line 899) | def set_points_fixed(self, model, fixed_particles): function compute_current_angles (line 908) | def compute_current_angles(model, state): function test_cloth_sagging (line 936) | def test_cloth_sagging(test, device, solver): function test_cloth_bending (line 954) | def test_cloth_bending(test, device, solver): function test_cloth_bending_non_zero_rest_angle_bending (line 967) | def test_cloth_bending_non_zero_rest_angle_bending(test, device, solver): function test_cloth_bending_consistent_angle_computation (line 980) | def test_cloth_bending_consistent_angle_computation(test, device, solver): function test_cloth_bending_with_complex_rest_angles (line 1003) | def test_cloth_bending_with_complex_rest_angles(test, device, solver): function test_cloth_free_fall_with_internal_forces_and_damping (line 1026) | def test_cloth_free_fall_with_internal_forces_and_damping(test, device, ... function test_cloth_collision (line 1079) | def test_cloth_collision(test, device, solver): function test_cloth_free_fall (line 1093) | def test_cloth_free_fall(test, device, solver): function test_cloth_body_collision (line 1117) | def test_cloth_body_collision(test, device, solver): function test_cloth_stitching (line 1131) | def test_cloth_stitching(test, device, solver): function test_cloth_enable_tri_contact (line 1149) | def test_cloth_enable_tri_contact(test, device, solver): class TestCloth (line 1177) | class TestCloth(unittest.TestCase): class TestClothCollisionPipeline (line 1232) | class TestClothCollisionPipeline(unittest.TestCase): function test_cloth_collision (line 1236) | def test_cloth_collision(test, device, solver): function test_cloth_body_collision (line 1251) | def test_cloth_body_collision(test, device, solver): FILE: newton/tests/test_collision_cloth.py function eval_triangles_contact (line 26) | def eval_triangles_contact( function vertex_triangle_collision_detection_brute_force (line 85) | def vertex_triangle_collision_detection_brute_force( function vertex_triangle_collision_detection_brute_force_no_triangle_buffers (line 134) | def vertex_triangle_collision_detection_brute_force_no_triangle_buffers( function validate_vertex_collisions (line 178) | def validate_vertex_collisions( function validate_triangle_collisions (line 223) | def validate_triangle_collisions( function edge_edge_collision_detection_brute_force (line 263) | def edge_edge_collision_detection_brute_force( function validate_edge_collisions (line 318) | def validate_edge_collisions( function init_model (line 371) | def init_model(vs, fs, device, record_triangle_contacting_vertices=True,... function get_data (line 400) | def get_data(): function test_vertex_triangle_collision (line 413) | def test_vertex_triangle_collision(test, device): function test_edge_edge_collision (line 569) | def test_edge_edge_collision(test, device): function test_particle_collision (line 631) | def test_particle_collision(test, device): function test_mesh_ground_collision_index (line 737) | def test_mesh_ground_collision_index(test, device): function test_avbd_particle_ground_penalty_grows (line 783) | def test_avbd_particle_ground_penalty_grows(test, device): function validate_vertex_collisions_distance_filter (line 831) | def validate_vertex_collisions_distance_filter( function validate_edge_collisions_distance_filter (line 881) | def validate_edge_collisions_distance_filter( function test_collision_filtering (line 947) | def test_collision_filtering(test, device): class TestCollision (line 1112) | class TestCollision(unittest.TestCase): FILE: newton/tests/test_collision_pipeline.py class TestLevel (line 18) | class TestLevel(IntFlag): function type_to_str (line 26) | def type_to_str(shape_type: GeoType): class CollisionSetup (line 47) | class CollisionSetup: method __init__ (line 48) | def __init__( method add_shape (line 107) | def add_shape(self, shape_type: GeoType, body: int, sdf_max_resolution... method capture (line 142) | def capture(self): method simulate (line 150) | def simulate(self): method step (line 164) | def step(self): method render (line 172) | def render(self): method test (line 178) | def test(self, test_level: TestLevel, body: int, tolerance: float = 3e... class TestCollisionPipeline (line 212) | class TestCollisionPipeline(unittest.TestCase): function test_collision_pipeline (line 246) | def test_collision_pipeline( function test_collision_pipeline_explicit (line 274) | def test_collision_pipeline_explicit( function test_collision_pipeline_nxn (line 288) | def test_collision_pipeline_nxn( function test_collision_pipeline_sap (line 300) | def test_collision_pipeline_sap( function test_mesh_mesh_sdf_modes (line 355) | def test_mesh_mesh_sdf_modes( function test_mesh_mesh_sdf_vs_sdf (line 384) | def test_mesh_mesh_sdf_vs_sdf(_test, device, broad_phase: str): function test_mesh_mesh_sdf_vs_bvh (line 392) | def test_mesh_mesh_sdf_vs_bvh(_test, device, broad_phase: str): function test_mesh_mesh_bvh_vs_sdf (line 405) | def test_mesh_mesh_bvh_vs_sdf(_test, device, broad_phase: str): function test_mesh_mesh_bvh_vs_bvh (line 418) | def test_mesh_mesh_bvh_vs_bvh(_test, device, broad_phase: str): class TestCollisionPipelineFilterPairs (line 454) | class TestCollisionPipelineFilterPairs(unittest.TestCase): function test_shape_collision_filter_pairs (line 458) | def test_shape_collision_filter_pairs(test, device, broad_phase: str): function test_collision_filter_consistent_across_broadphases (line 512) | def test_collision_filter_consistent_across_broadphases(test, device): class TestRigidContactNormal (line 584) | class TestRigidContactNormal(unittest.TestCase): function test_rigid_contact_normal_sphere_sphere (line 588) | def test_rigid_contact_normal_sphere_sphere(test, device, broad_phase: s... class TestParticleShapeContacts (line 725) | class TestParticleShapeContacts(unittest.TestCase): class TestContactEstimator (line 729) | class TestContactEstimator(unittest.TestCase): method test_heuristic_caps_large_pair_count (line 730) | def test_heuristic_caps_large_pair_count(self): method test_world_aware_plane_estimate (line 753) | def test_world_aware_plane_estimate(self): method test_pair_count_tighter_than_heuristic (line 776) | def test_pair_count_tighter_than_heuristic(self): function test_particle_shape_contacts (line 800) | def test_particle_shape_contacts(test, device, shape_type: GeoType): FILE: newton/tests/test_collision_primitives.py function check_normal_direction_sphere_sphere (line 13) | def check_normal_direction_sphere_sphere(pos1, pos2, normal, tolerance=1... function check_contact_position_midpoint (line 24) | def check_contact_position_midpoint( function distance_point_to_capsule (line 51) | def distance_point_to_capsule(point, capsule_pos, capsule_axis, capsule_... function distance_point_to_box (line 68) | def distance_point_to_box(point, box_pos, box_rot, box_size): function distance_point_to_cylinder (line 80) | def distance_point_to_cylinder(point, cylinder_pos, cylinder_axis, cylin... function test_plane_sphere_kernel (line 115) | def test_plane_sphere_kernel( function test_sphere_sphere_kernel (line 132) | def test_sphere_sphere_kernel( function test_sphere_capsule_kernel (line 149) | def test_sphere_capsule_kernel( function test_capsule_capsule_kernel (line 175) | def test_capsule_capsule_kernel( function test_plane_ellipsoid_kernel (line 205) | def test_plane_ellipsoid_kernel( function test_sphere_cylinder_kernel (line 229) | def test_sphere_cylinder_kernel( function test_sphere_box_kernel (line 255) | def test_sphere_box_kernel( function test_plane_capsule_kernel (line 275) | def test_plane_capsule_kernel( function test_plane_box_kernel (line 301) | def test_plane_box_kernel( function test_plane_cylinder_kernel (line 321) | def test_plane_cylinder_kernel( function test_box_box_kernel (line 347) | def test_box_box_kernel( function test_box_box_with_margin_kernel (line 373) | def test_box_box_with_margin_kernel( function test_capsule_box_kernel (line 401) | def test_capsule_box_kernel( class TestCollisionPrimitives (line 428) | class TestCollisionPrimitives(unittest.TestCase): method test_plane_sphere (line 429) | def test_plane_sphere(self): method test_sphere_sphere (line 505) | def test_sphere_sphere(self): method test_sphere_capsule (line 587) | def test_sphere_capsule(self): method test_capsule_capsule (line 696) | def test_capsule_capsule(self): method test_plane_ellipsoid (line 891) | def test_plane_ellipsoid(self): method test_sphere_cylinder (line 965) | def test_sphere_cylinder(self): method test_sphere_box (line 1136) | def test_sphere_box(self): method test_plane_capsule (line 1251) | def test_plane_capsule(self): method test_plane_box (line 1335) | def test_plane_box(self): method test_plane_cylinder (line 1430) | def test_plane_cylinder(self): method test_box_box (line 1529) | def test_box_box(self): method test_box_box_margin (line 1613) | def test_box_box_margin(self): method test_capsule_box (line 1749) | def test_capsule_box(self): method test_box_box_penetration_depths (line 1881) | def test_box_box_penetration_depths(self): FILE: newton/tests/test_coloring.py function create_lattice_grid (line 22) | def create_lattice_grid(N): function color_lattice_grid (line 79) | def color_lattice_grid(num_x, num_y): function test_coloring_trimesh (line 101) | def test_coloring_trimesh(test, device): function test_combine_coloring (line 221) | def test_combine_coloring(test, device): function test_coloring_rigid_body_cable_chain (line 311) | def test_coloring_rigid_body_cable_chain(test, device): function test_coloring_rigid_body_color_algorithms (line 388) | def test_coloring_rigid_body_color_algorithms(test, device): function test_coloring_rigid_body_no_joints (line 447) | def test_coloring_rigid_body_no_joints(test, device): class TestColoring (line 471) | class TestColoring(unittest.TestCase): FILE: newton/tests/test_cone_orientation.py class TestConeOrientation (line 16) | class TestConeOrientation(unittest.TestCase): method setUp (line 19) | def setUp(self): method test_cone_com_position (line 25) | def test_cone_com_position(self): method test_cone_sdf_values (line 48) | def test_cone_sdf_values(self): method test_cone_orientation_consistency (line 83) | def test_cone_orientation_consistency(self): method test_cone_mass_calculation (line 112) | def test_cone_mass_calculation(self): method test_cone_inertia_symmetry (line 132) | def test_cone_inertia_symmetry(self): FILE: newton/tests/test_contact_reduction.py function _get_slot_kernel (line 31) | def _get_slot_kernel( class TestContactReduction (line 40) | class TestContactReduction(unittest.TestCase): function test_face_normals_are_unit_vectors (line 51) | def test_face_normals_are_unit_vectors(test, device): function test_face_normals_cover_sphere (line 59) | def test_face_normals_cover_sphere(test, device): function test_constants (line 71) | def test_constants(test, device): function test_compute_num_reduction_slots (line 80) | def test_compute_num_reduction_slots(test, device): function test_get_slot_axis_aligned_normals (line 92) | def test_get_slot_axis_aligned_normals(test, device): function test_get_slot_matches_best_face_normal (line 115) | def test_get_slot_matches_best_face_normal(test, device): FILE: newton/tests/test_contact_reduction_global.py function get_contact_count (line 30) | def get_contact_count(reducer: GlobalContactReducer) -> int: function get_active_slot_count (line 35) | def get_active_slot_count(reducer: GlobalContactReducer) -> int: function get_winning_contacts (line 40) | def get_winning_contacts(reducer: GlobalContactReducer) -> list[int]: class TestGlobalContactReducer (line 69) | class TestGlobalContactReducer(unittest.TestCase): class TestKeyConstruction (line 75) | class TestKeyConstruction(unittest.TestCase): function test_basic_contact_storage (line 86) | def test_basic_contact_storage(test, device): function test_multiple_contacts_same_pair (line 143) | def test_multiple_contacts_same_pair(test, device): function test_different_shape_pairs (line 204) | def test_different_shape_pairs(test, device): function test_clear (line 262) | def test_clear(test, device): function test_stress_many_contacts (line 318) | def test_stress_many_contacts(test, device): function test_clear_active (line 392) | def test_clear_active(test, device): function test_export_reduced_contacts_kernel (line 465) | def test_export_reduced_contacts_kernel(test, device): function test_key_uniqueness (line 587) | def test_key_uniqueness(test, device): function test_oct_encode_decode_roundtrip (line 611) | def test_oct_encode_decode_roundtrip(test, device): function test_centered_basic_storage_and_reduction (line 650) | def test_centered_basic_storage_and_reduction(test, device): function test_centered_different_pairs_independent (line 693) | def test_centered_different_pairs_independent(test, device): function test_centered_deepest_wins_max_depth_slot (line 727) | def test_centered_deepest_wins_max_depth_slot(test, device): function test_centered_pre_pruning_reduces_buffer_usage (line 769) | def test_centered_pre_pruning_reduces_buffer_usage(test, device): FILE: newton/tests/test_control_force.py class TestControlForce (line 17) | class TestControlForce(unittest.TestCase): function test_floating_body (line 21) | def test_floating_body(test: TestControlForce, device, solver_fn, test_a... function test_3d_articulation (line 61) | def test_3d_articulation(test: TestControlForce, device, solver_fn): function test_child_xform_moment_arm (line 113) | def test_child_xform_moment_arm(test: TestControlForce, device, solver_fn): FILE: newton/tests/test_custom_attributes.py class TestCustomAttributes (line 27) | class TestCustomAttributes(unittest.TestCase): method setUp (line 30) | def setUp(self): method _add_test_robot (line 34) | def _add_test_robot(self, builder: ModelBuilder) -> dict[str, int]: method test_body_custom_attributes (line 66) | def test_body_custom_attributes(self): method test_shape_custom_attributes (line 233) | def test_shape_custom_attributes(self): method test_joint_dof_coord_attributes (line 308) | def test_joint_dof_coord_attributes(self): method test_joint_constraint_attributes (line 378) | def test_joint_constraint_attributes(self): method test_multi_dof_joint_individual_values (line 425) | def test_multi_dof_joint_individual_values(self): method test_multi_dof_joint_constraint_individual_values (line 477) | def test_multi_dof_joint_constraint_individual_values(self): method test_multi_dof_joint_vector_attributes (line 526) | def test_multi_dof_joint_vector_attributes(self): method test_dof_coord_cts_list_requirements (line 594) | def test_dof_coord_cts_list_requirements(self): method test_vector_type_inference (line 677) | def test_vector_type_inference(self): method test_string_attributes_handling (line 726) | def test_string_attributes_handling(self): method test_assignment_types (line 804) | def test_assignment_types(self): method test_value_dtype_compatibility (line 830) | def test_value_dtype_compatibility(self): method test_custom_attributes_with_multi_builders (line 877) | def test_custom_attributes_with_multi_builders(self): method test_namespaced_attributes (line 1002) | def test_namespaced_attributes(self): method test_attribute_uniqueness_constraints (line 1108) | def test_attribute_uniqueness_constraints(self): method test_mixed_free_and_articulated_bodies (line 1296) | def test_mixed_free_and_articulated_bodies(self): method test_usd_value_transformer_none_uses_default (line 1422) | def test_usd_value_transformer_none_uses_default(self): method test_mjcf_and_urdf_value_transformer_none_uses_default (line 1461) | def test_mjcf_and_urdf_value_transformer_none_uses_default(self): class TestCustomFrequencyAttributes (line 1500) | class TestCustomFrequencyAttributes(unittest.TestCase): method setUp (line 1503) | def setUp(self): method test_custom_frequency_basic (line 1507) | def test_custom_frequency_basic(self): method test_custom_frequency_requires_registration (line 1569) | def test_custom_frequency_requires_registration(self): method test_custom_frequency_add_custom_values_batch (line 1586) | def test_custom_frequency_add_custom_values_batch(self): method test_custom_frequency_registration_methods (line 1622) | def test_custom_frequency_registration_methods(self): method test_custom_frequency_validation_inconsistent_counts (line 1642) | def test_custom_frequency_validation_inconsistent_counts(self): method test_custom_frequency_add_custom_values_rejects_enum_frequency (line 1689) | def test_custom_frequency_add_custom_values_rejects_enum_frequency(self): method test_custom_frequency_multi_world_merging (line 1705) | def test_custom_frequency_multi_world_merging(self): method test_custom_frequency_references_offset (line 1763) | def test_custom_frequency_references_offset(self): method test_custom_frequency_unknown_references_raises_error (line 1818) | def test_custom_frequency_unknown_references_raises_error(self): method test_custom_frequency_different_frequencies_independent (line 1838) | def test_custom_frequency_different_frequencies_independent(self): method test_custom_frequency_empty (line 1883) | def test_custom_frequency_empty(self): method test_custom_frequency_unknown_raises_keyerror (line 1905) | def test_custom_frequency_unknown_raises_keyerror(self): method test_custom_frequency_articulation_view_rejection (line 1927) | def test_custom_frequency_articulation_view_rejection(self): method test_world_frequency_merge_add_world (line 1962) | def test_world_frequency_merge_add_world(self): method test_transform_value_list_and_sentinel_shape_refs (line 1989) | def test_transform_value_list_and_sentinel_shape_refs(self): method test_merge_custom_attribute_default_only_no_crash (line 2041) | def test_merge_custom_attribute_default_only_no_crash(self): FILE: newton/tests/test_differentiable_contacts.py function test_no_overhead_when_disabled (line 13) | def test_no_overhead_when_disabled(test, device): function test_arrays_allocated_when_enabled (line 31) | def test_arrays_allocated_when_enabled(test, device): function test_sphere_on_plane_distance (line 50) | def test_sphere_on_plane_distance(test, device): function test_gradient_flow_through_body_q (line 77) | def test_gradient_flow_through_body_q(test, device): function test_gradient_direction (line 109) | def test_gradient_direction(test, device): function test_collide_outside_tape (line 144) | def test_collide_outside_tape(test, device): function test_two_body_contact (line 165) | def test_two_body_contact(test, device): function test_world_points_correctness (line 201) | def test_world_points_correctness(test, device): function test_finite_difference_distance_gradient (line 249) | def test_finite_difference_distance_gradient(test, device): function test_repeated_collide_independent_gradients (line 302) | def test_repeated_collide_independent_gradients(test, device): function test_finite_difference_two_body_gradient (line 344) | def test_finite_difference_two_body_gradient(test, device): function _body_position_loss_kernel (line 401) | def _body_position_loss_kernel( function test_multistep_gradient_flow (line 411) | def test_multistep_gradient_flow(test, device): class TestDifferentiableContacts (line 523) | class TestDifferentiableContacts(unittest.TestCase): FILE: newton/tests/test_download_assets.py class TestDownloadAssets (line 36) | class TestDownloadAssets(unittest.TestCase): method setUp (line 37) | def setUp(self): method tearDown (line 61) | def tearDown(self): method test_download_and_refresh (line 71) | def test_download_and_refresh(self): method test_concurrent_download (line 114) | def test_concurrent_download(self): method test_within_ttl_skips_network (line 141) | def test_within_ttl_skips_network(self): method test_offline_returns_cached (line 151) | def test_offline_returns_cached(self): method test_offline_no_cache_raises (line 169) | def test_offline_no_cache_raises(self): method test_download_by_tag (line 175) | def test_download_by_tag(self): class TestSafeRename (line 185) | class TestSafeRename(unittest.TestCase): method setUp (line 186) | def setUp(self): method tearDown (line 189) | def tearDown(self): method test_rename_success (line 192) | def test_rename_success(self): method test_rename_destination_exists (line 205) | def test_rename_destination_exists(self): method test_rename_retries_on_transient_error (line 221) | def test_rename_retries_on_transient_error(self): method test_rename_raises_after_exhausting_retries (line 243) | def test_rename_raises_after_exhausting_retries(self): method test_rename_enotempty_returns_silently (line 253) | def test_rename_enotempty_returns_silently(self): class TestTempCachePath (line 268) | class TestTempCachePath(unittest.TestCase): method test_includes_pid_and_tid (line 269) | def test_includes_pid_and_tid(self): method test_different_threads_get_different_paths (line 276) | def test_different_threads_get_different_paths(self): class TestCleanupStaleTempDirs (line 292) | class TestCleanupStaleTempDirs(unittest.TestCase): method setUp (line 293) | def setUp(self): method tearDown (line 298) | def tearDown(self): method test_removes_old_temp_dirs (line 301) | def test_removes_old_temp_dirs(self): method test_preserves_recent_temp_dirs (line 312) | def test_preserves_recent_temp_dirs(self): method test_ignores_non_temp_version_dirs (line 321) | def test_ignores_non_temp_version_dirs(self): method test_ignores_unrelated_dirs (line 332) | def test_ignores_unrelated_dirs(self): class TestFindCachedVersion (line 344) | class TestFindCachedVersion(unittest.TestCase): method setUp (line 345) | def setUp(self): method tearDown (line 350) | def tearDown(self): method test_returns_none_when_no_match (line 353) | def test_returns_none_when_no_match(self): method test_finds_single_cached_dir (line 357) | def test_finds_single_cached_dir(self): method test_excludes_temp_dirs (line 363) | def test_excludes_temp_dirs(self): method test_picks_newest_mtime_when_multiple (line 369) | def test_picks_newest_mtime_when_multiple(self): method test_ignores_unrelated_dirs (line 379) | def test_ignores_unrelated_dirs(self): class TestFindParentCache (line 386) | class TestFindParentCache(unittest.TestCase): method setUp (line 387) | def setUp(self): method tearDown (line 391) | def tearDown(self): method test_finds_parent_with_sha_suffix (line 394) | def test_finds_parent_with_sha_suffix(self): method test_returns_none_when_subfolder_missing (line 407) | def test_returns_none_when_subfolder_missing(self): method test_returns_none_for_single_path (line 417) | def test_returns_none_for_single_path(self): class TestGetLatestCommitViaGit (line 424) | class TestGetLatestCommitViaGit(unittest.TestCase): method setUp (line 425) | def setUp(self): method tearDown (line 443) | def tearDown(self): method test_resolves_branch (line 451) | def test_resolves_branch(self): method test_resolves_lightweight_tag (line 455) | def test_resolves_lightweight_tag(self): method test_resolves_annotated_tag (line 461) | def test_resolves_annotated_tag(self): method test_full_sha_passthrough (line 468) | def test_full_sha_passthrough(self): method test_nonexistent_ref_returns_none (line 472) | def test_nonexistent_ref_returns_none(self): class TestCleanupOldVersions (line 477) | class TestCleanupOldVersions(unittest.TestCase): method setUp (line 478) | def setUp(self): method tearDown (line 483) | def tearDown(self): method test_removes_old_version_dirs (line 486) | def test_removes_old_version_dirs(self): method test_preserves_temp_dirs (line 497) | def test_preserves_temp_dirs(self): method test_ignores_unrelated_dirs (line 508) | def test_ignores_unrelated_dirs(self): FILE: newton/tests/test_environment_group_collision.py class TestEnvironmentGroupCollision (line 12) | class TestEnvironmentGroupCollision(unittest.TestCase): method setUp (line 15) | def setUp(self): method test_shape_collision_filtering (line 19) | def test_shape_collision_filtering(self): method test_particle_shape_collision_filtering (line 76) | def test_particle_shape_collision_filtering(self): method test_add_world_groups (line 114) | def test_add_world_groups(self): method test_mixed_collision_and_world_groups (line 169) | def test_mixed_collision_and_world_groups(self): method test_collision_filter_pair_canonicalization (line 259) | def test_collision_filter_pair_canonicalization(self): class TestWorldGroupBroadphaseKernels (line 316) | class TestWorldGroupBroadphaseKernels(unittest.TestCase): method test_test_world_and_group_pair (line 319) | def test_test_world_and_group_pair(self): FILE: newton/tests/test_equality_constraints.py class TestEqualityConstraints (line 13) | class TestEqualityConstraints(unittest.TestCase): method test_multiple_constraints (line 14) | def test_multiple_constraints(self): method test_equality_constraints_not_duplicated_per_world (line 85) | def test_equality_constraints_not_duplicated_per_world(self): method test_default_equality_constraint_torquescale_is_numeric (line 213) | def test_default_equality_constraint_torquescale_is_numeric(self): method test_collapse_fixed_joints_with_equality_constraints (line 238) | def test_collapse_fixed_joints_with_equality_constraints(self): FILE: newton/tests/test_example_browser.py function _step_and_render (line 40) | def _step_and_render(example, num_frames): function main (line 48) | def main(): FILE: newton/tests/test_examples.py function _build_command_line_options (line 35) | def _build_command_line_options(test_options: dict[str, Any]) -> list: function _merge_options (line 52) | def _merge_options(base_options: dict[str, Any], device_options: dict[st... function add_example_test (line 61) | def add_example_test( class TestBasicExamples (line 204) | class TestBasicExamples(unittest.TestCase): class TestCableExamples (line 244) | class TestCableExamples(unittest.TestCase): class TestClothExamples (line 278) | class TestClothExamples(unittest.TestCase): class TestRobotExamples (line 346) | class TestRobotExamples(unittest.TestCase): class TestRobotPolicyExamples (line 411) | class TestRobotPolicyExamples(unittest.TestCase): class TestAdvancedRobotExamples (line 476) | class TestAdvancedRobotExamples(unittest.TestCase): class TestIKExamples (line 489) | class TestIKExamples(unittest.TestCase): class TestSelectionAPIExamples (line 508) | class TestSelectionAPIExamples(unittest.TestCase): class TestDiffSimExamples (line 546) | class TestDiffSimExamples(unittest.TestCase): class TestSensorExamples (line 605) | class TestSensorExamples(unittest.TestCase): class TestMPMExamples (line 634) | class TestMPMExamples(unittest.TestCase): class TestContactsExamples (line 704) | class TestContactsExamples(unittest.TestCase): class TestMultiphysicsExamples (line 738) | class TestMultiphysicsExamples(unittest.TestCase): class TestSoftbodyExamples (line 765) | class TestSoftbodyExamples(unittest.TestCase): FILE: newton/tests/test_fixed_tendon.py class TestMujocoFixedTendon (line 13) | class TestMujocoFixedTendon(unittest.TestCase): class LimitBreachType (line 14) | class LimitBreachType(IntEnum): method test_single_mujoco_fixed_tendon_length_behaviour (line 20) | def test_single_mujoco_fixed_tendon_length_behaviour(self): method run_test_mujoco_fixed_tendon_limit_behavior (line 142) | def run_test_mujoco_fixed_tendon_limit_behavior(self, mode: LimitBreac... method test_upper_tendon_limit_breach_from_above (line 266) | def test_upper_tendon_limit_breach_from_above(self): method test_upper_tendon_limit_breach_from_below (line 269) | def test_upper_tendon_limit_breach_from_below(self): method test_lower_tendon_limit_breach_from_below (line 272) | def test_lower_tendon_limit_breach_from_below(self): method test_lower_tendon_limit_breach_from_above (line 275) | def test_lower_tendon_limit_breach_from_above(self): FILE: newton/tests/test_gjk.py function _gjk_kernel (line 18) | def _gjk_kernel( function _geom_dist (line 67) | def _geom_dist( class TestGJK (line 107) | class TestGJK(unittest.TestCase): method test_spheres_distance (line 110) | def test_spheres_distance(self): method test_spheres_touching (line 127) | def test_spheres_touching(self): method test_sphere_sphere_overlapping (line 143) | def test_sphere_sphere_overlapping(self): method test_box_box_separated (line 161) | def test_box_box_separated(self): FILE: newton/tests/test_hashtable.py class TestHashTable (line 20) | class TestHashTable(unittest.TestCase): function test_basic_creation (line 31) | def test_basic_creation(test, device): function test_power_of_two_rounding (line 40) | def test_power_of_two_rounding(test, device): function test_insert_single_slot (line 52) | def test_insert_single_slot(test, device): function test_atomic_max_behavior (line 95) | def test_atomic_max_behavior(test, device): function test_multiple_keys (line 133) | def test_multiple_keys(test, device): function test_clear (line 169) | def test_clear(test, device): function test_clear_active (line 210) | def test_clear_active(test, device): function test_high_collision (line 255) | def test_high_collision(test, device): function test_early_exit_optimization (line 293) | def test_early_exit_optimization(test, device): FILE: newton/tests/test_heightfield.py class TestHeightfield (line 19) | class TestHeightfield(unittest.TestCase): method test_heightfield_creation (line 22) | def test_heightfield_creation(self): method test_heightfield_explicit_z_range (line 44) | def test_heightfield_explicit_z_range(self): method test_heightfield_flat (line 57) | def test_heightfield_flat(self): method test_heightfield_hash (line 68) | def test_heightfield_hash(self): method test_add_shape_heightfield (line 85) | def test_add_shape_heightfield(self): method test_mjcf_hfield_parsing (line 100) | def test_mjcf_hfield_parsing(self): method test_mjcf_hfield_binary_file (line 138) | def test_mjcf_hfield_binary_file(self): method test_mjcf_hfield_inline_elevation (line 182) | def test_mjcf_hfield_inline_elevation(self): method test_solver_mujoco_hfield (line 212) | def test_solver_mujoco_hfield(self): method test_heightfield_collision (line 237) | def test_heightfield_collision(self): method test_heightfield_always_static (line 294) | def test_heightfield_always_static(self): method test_heightfield_radius_computation (line 304) | def test_heightfield_radius_computation(self): method test_heightfield_native_collision_flat (line 320) | def test_heightfield_native_collision_flat(self): method test_heightfield_native_collision_no_contact (line 345) | def test_heightfield_native_collision_no_contact(self): method _create_non_convex_mesh (line 369) | def _create_non_convex_mesh() -> newton.Mesh: method _build_mesh_vs_heightfield (line 400) | def _build_mesh_vs_heightfield(self, mesh: newton.Mesh, mesh_z: float ... method test_non_convex_mesh_vs_heightfield (line 412) | def test_non_convex_mesh_vs_heightfield(self): method test_non_convex_mesh_with_sdf_vs_heightfield (line 426) | def test_non_convex_mesh_with_sdf_vs_heightfield(self): method test_non_convex_mesh_vs_heightfield_no_contact (line 441) | def test_non_convex_mesh_vs_heightfield_no_contact(self): method test_particle_heightfield_soft_contacts (line 454) | def test_particle_heightfield_soft_contacts(self): FILE: newton/tests/test_hydroelastic.py class ShapeType (line 21) | class ShapeType(Enum): function simulate (line 61) | def simulate(solver, model, state_0, state_1, control, contacts, collisi... function build_stacked_cubes_scene (line 70) | def build_stacked_cubes_scene( function run_stacked_cubes_hydroelastic_test (line 168) | def run_stacked_cubes_hydroelastic_test( function test_stacked_mesh_cubes_hydroelastic (line 229) | def test_stacked_mesh_cubes_hydroelastic(test, device, solver_fn): function test_stacked_small_primitive_cubes_hydroelastic (line 234) | def test_stacked_small_primitive_cubes_hydroelastic(test, device, solver... function test_stacked_small_mesh_cubes_hydroelastic (line 243) | def test_stacked_small_mesh_cubes_hydroelastic(test, device, solver_fn): function test_stacked_primitive_cubes_hydroelastic_no_reduction (line 252) | def test_stacked_primitive_cubes_hydroelastic_no_reduction(test, device,... function test_buffer_fraction_no_crash (line 266) | def test_buffer_fraction_no_crash(test, device): function test_iso_scan_scratch_buffers_are_level_sized (line 329) | def test_iso_scan_scratch_buffers_are_level_sized(test, device): function test_reduce_contacts_with_pre_prune_disabled_no_crash (line 363) | def test_reduce_contacts_with_pre_prune_disabled_no_crash(test, device): function _set_body_z_kernel (line 388) | def _set_body_z_kernel( function _extract_contact_forces (line 398) | def _extract_contact_forces(contacts, model, state, shape_pair=None): function _compute_net_force (line 445) | def _compute_net_force(contacts, model, state): function _compute_force_weighted_anchor (line 453) | def _compute_force_weighted_anchor(contacts, model, state, shape_pair=No... function _compute_net_moment (line 462) | def _compute_net_moment(contacts, model, state, anchor=None, shape_pair=... function _build_cube_sphere_scene (line 480) | def _build_cube_sphere_scene(device, cube_half=0.1, sphere_radius=0.1): function _make_pipelines (line 516) | def _make_pipelines(model, configs, rigid_contact_maxes=None): function test_reduced_vs_unreduced_contact_forces (line 530) | def test_reduced_vs_unreduced_contact_forces(test, device, anchor_contac... function test_reduced_vs_unreduced_contact_forces_with_anchor_contact (line 581) | def test_reduced_vs_unreduced_contact_forces_with_anchor_contact(test, d... function test_reduced_vs_unreduced_contact_moments (line 586) | def test_reduced_vs_unreduced_contact_moments(test, device): function _compute_total_friction_capacity (line 637) | def _compute_total_friction_capacity(contacts, model, state, shape_pair=... function _build_cube_cube_scene (line 645) | def _build_cube_cube_scene(device, cube_half_lower=0.2, cube_half_upper=... function test_reduced_vs_unreduced_contact_forces_cube_on_cube (line 681) | def test_reduced_vs_unreduced_contact_forces_cube_on_cube(test, device): function test_reduced_vs_unreduced_contact_moments_cube_on_cube (line 724) | def test_reduced_vs_unreduced_contact_moments_cube_on_cube(test, device): function test_translational_friction_invariance (line 771) | def test_translational_friction_invariance(test, device): function test_entry_k_eff_matches_shape_harmonic_mean (line 817) | def test_entry_k_eff_matches_shape_harmonic_mean(test, device): function test_mujoco_hydroelastic_penetration_depth (line 856) | def test_mujoco_hydroelastic_penetration_depth(test, device): class TestHydroelastic (line 1067) | class TestHydroelastic(unittest.TestCase): method test_view_stacked_primitive_cubes (line 1069) | def test_view_stacked_primitive_cubes(self): method test_view_stacked_mesh_cubes (line 1074) | def test_view_stacked_mesh_cubes(self): method _run_viewer_test (line 1078) | def _run_viewer_test(self, shape_type: ShapeType, solver_name: str = "... FILE: newton/tests/test_ik.py function _build_two_link_planar (line 27) | def _build_two_link_planar(device) -> newton.Model: function _build_free_plus_revolute (line 67) | def _build_free_plus_revolute(device) -> newton.Model: function _build_single_d6 (line 109) | def _build_single_d6(device) -> newton.Model: function _fk_end_effector_positions (line 131) | def _fk_end_effector_positions( function _convergence_test_planar (line 152) | def _convergence_test_planar(test, device, mode: ik.IKJacobianType): function test_convergence_autodiff (line 198) | def test_convergence_autodiff(test, device): function test_convergence_analytic (line 202) | def test_convergence_analytic(test, device): function test_convergence_mixed (line 206) | def test_convergence_mixed(test, device): function _convergence_test_free (line 210) | def _convergence_test_free(test, device, mode: ik.IKJacobianType): function test_convergence_autodiff_free (line 248) | def test_convergence_autodiff_free(test, device): function test_convergence_analytic_free (line 252) | def test_convergence_analytic_free(test, device): function test_convergence_mixed_free (line 256) | def test_convergence_mixed_free(test, device): function _convergence_test_d6 (line 260) | def _convergence_test_d6(test, device, mode: ik.IKJacobianType): function test_convergence_autodiff_d6 (line 302) | def test_convergence_autodiff_d6(test, device): function test_convergence_analytic_d6 (line 306) | def test_convergence_analytic_d6(test, device): function test_convergence_mixed_d6 (line 310) | def test_convergence_mixed_d6(test, device): function _jacobian_compare (line 319) | def _jacobian_compare(test, device, objective_builder): function _pos_objective_builder (line 350) | def _pos_objective_builder(model, n_problems): function test_position_jacobian_compare (line 360) | def test_position_jacobian_compare(test, device): function _rot_objective_builder (line 369) | def _rot_objective_builder(model, n_problems): function test_rotation_jacobian_compare (line 380) | def test_rotation_jacobian_compare(test, device): function _jl_objective_builder (line 389) | def _jl_objective_builder(model, n_problems): function test_joint_limit_jacobian_compare (line 403) | def test_joint_limit_jacobian_compare(test, device): function _d6_objective_builder (line 412) | def _d6_objective_builder(model, n_problems): function test_d6_jacobian_compare (line 422) | def test_d6_jacobian_compare(test, device): class TestIKModes (line 434) | class TestIKModes(unittest.TestCase): FILE: newton/tests/test_ik_fk_kernels.py class _NoopObjective (line 33) | class _NoopObjective(ik.IKObjective): method residual_dim (line 34) | def residual_dim(self): method compute_residuals (line 37) | def compute_residuals(self, body_q, joint_q, model, residuals, start_i... method compute_jacobian_autodiff (line 40) | def compute_jacobian_autodiff(self, tape, model, jacobian, start_idx, ... method supports_analytic (line 44) | def supports_analytic(self): method compute_jacobian_analytic (line 47) | def compute_jacobian_analytic(self, body_q, joint_q, model, jacobian, ... function _add_single_joint (line 56) | def _add_single_joint(builder: newton.ModelBuilder, jt: int) -> None: function _build_model_for_joint (line 141) | def _build_model_for_joint(jt: int, device): function _randomize_joint_q (line 148) | def _randomize_joint_q(model: newton.Model, seed: int = 0) -> None: function _fk_parity_for_joint (line 201) | def _fk_parity_for_joint(test, device, jt): function test_fk_two_pass_parity (line 223) | def test_fk_two_pass_parity(test, device): class TestIKFKKernels (line 235) | class TestIKFKKernels(unittest.TestCase): FILE: newton/tests/test_ik_lbfgs.py function _build_two_link_planar (line 16) | def _build_two_link_planar(device) -> newton.Model: function _build_free_plus_revolute (line 50) | def _build_free_plus_revolute(device) -> newton.Model: function _build_single_d6 (line 75) | def _build_single_d6(device) -> newton.Model: function _fk_end_effector_positions (line 93) | def _fk_end_effector_positions( function _convergence_test_lbfgs_planar (line 109) | def _convergence_test_lbfgs_planar(test, device, mode: ik.IKJacobianType): function _convergence_test_lbfgs_free (line 165) | def _convergence_test_lbfgs_free(test, device, mode: ik.IKJacobianType): function _convergence_test_lbfgs_d6 (line 209) | def _convergence_test_lbfgs_d6(test, device, mode: ik.IKJacobianType): function _comparison_test_lm_vs_lbfgs (line 250) | def _comparison_test_lm_vs_lbfgs(test, device, mode: ik.IKJacobianType): function test_lbfgs_convergence_autodiff (line 330) | def test_lbfgs_convergence_autodiff(test, device): function test_lbfgs_convergence_analytic (line 334) | def test_lbfgs_convergence_analytic(test, device): function test_lbfgs_convergence_mixed (line 338) | def test_lbfgs_convergence_mixed(test, device): function test_lbfgs_convergence_autodiff_free (line 342) | def test_lbfgs_convergence_autodiff_free(test, device): function test_lbfgs_convergence_analytic_free (line 346) | def test_lbfgs_convergence_analytic_free(test, device): function test_lbfgs_convergence_mixed_free (line 350) | def test_lbfgs_convergence_mixed_free(test, device): function test_lbfgs_convergence_autodiff_d6 (line 354) | def test_lbfgs_convergence_autodiff_d6(test, device): function test_lbfgs_convergence_analytic_d6 (line 358) | def test_lbfgs_convergence_analytic_d6(test, device): function test_lbfgs_convergence_mixed_d6 (line 362) | def test_lbfgs_convergence_mixed_d6(test, device): function test_lm_vs_lbfgs_comparison_autodiff (line 366) | def test_lm_vs_lbfgs_comparison_autodiff(test, device): function test_lm_vs_lbfgs_comparison_analytic (line 370) | def test_lm_vs_lbfgs_comparison_analytic(test, device): function test_lm_vs_lbfgs_comparison_mixed (line 374) | def test_lm_vs_lbfgs_comparison_mixed(test, device): class TestLBFGSIK (line 383) | class TestLBFGSIK(unittest.TestCase): FILE: newton/tests/test_implicit_mpm.py function test_sand_cube_on_plane (line 14) | def test_sand_cube_on_plane(test, device): function test_finite_difference_collider_velocity (line 87) | def test_finite_difference_collider_velocity(test, device): class TestImplicitMPM (line 216) | class TestImplicitMPM(unittest.TestCase): FILE: newton/tests/test_implicit_mpm_flow_rule.py function test_flow_rule_impl_kernel (line 35) | def test_flow_rule_impl_kernel( function test_flow_rule_camclay_kernel (line 47) | def test_flow_rule_camclay_kernel( function test_flow_rule_dispatch_kernel (line 59) | def test_flow_rule_dispatch_kernel( function eval_shear_yield_kernel (line 72) | def eval_shear_yield_kernel( function eval_shear_yield_camclay_kernel (line 87) | def eval_shear_yield_camclay_kernel( function _make_arrays (line 106) | def _make_arrays(D_np, b_np, r_np, yp_np, device): function _run_impl (line 116) | def _run_impl(D_np, b_np, r_np, yp_np, device): function _run_camclay (line 122) | def _run_camclay(D_np, b_np, r_np, yp_np, device): function _run_dispatch (line 128) | def _run_dispatch(D_np, b_np, r_np, yp_np, volume, device): function _eval_shear_yield (line 135) | def _eval_shear_yield(yp_np, r_N_val, device): function _eval_shear_yield_camclay (line 145) | def _eval_shear_yield_camclay(yp_np, r_N_val, device): function _make_yield_params (line 155) | def _make_yield_params( function _yield_surface_normal_impl (line 173) | def _yield_surface_normal_impl(r, yp): function _yield_surface_normal_camclay (line 205) | def _yield_surface_normal_camclay(r, yp): function check_yield_normal_alignment (line 229) | def check_yield_normal_alignment(test, u, grad_f, tol=1e-2): function check_flow_rule_invariants (line 244) | def check_flow_rule_invariants(test, u, D, b, yp, shear_yield_fn, device... function test_flow_rule_impl_elastic (line 295) | def test_flow_rule_impl_elastic(test, device): function test_flow_rule_impl_sliding (line 313) | def test_flow_rule_impl_sliding(test, device): function test_flow_rule_impl_normal_clamping (line 330) | def test_flow_rule_impl_normal_clamping(test, device): function test_flow_rule_impl_anisotropic (line 349) | def test_flow_rule_impl_anisotropic(test, device): function test_flow_rule_impl_zero_yield (line 361) | def test_flow_rule_impl_zero_yield(test, device): function test_flow_rule_impl_dilatancy (line 374) | def test_flow_rule_impl_dilatancy(test, device): function test_flow_rule_impl_dilatancy_orthogonal (line 396) | def test_flow_rule_impl_dilatancy_orthogonal(test, device): function test_flow_rule_impl_dilatancy_orthogonal_aniso (line 412) | def test_flow_rule_impl_dilatancy_orthogonal_aniso(test, device): function test_flow_rule_camclay_elastic (line 432) | def test_flow_rule_camclay_elastic(test, device): function test_flow_rule_camclay_sliding (line 445) | def test_flow_rule_camclay_sliding(test, device): function test_flow_rule_camclay_normal_clamping (line 462) | def test_flow_rule_camclay_normal_clamping(test, device): function test_flow_rule_camclay_anisotropic (line 478) | def test_flow_rule_camclay_anisotropic(test, device): function test_flow_rule_camclay_zero_yield (line 490) | def test_flow_rule_camclay_zero_yield(test, device): function test_flow_rule_camclay_dilatancy_orthogonal (line 503) | def test_flow_rule_camclay_dilatancy_orthogonal(test, device): function test_flow_rule_camclay_dilatancy_orthogonal_aniso (line 525) | def test_flow_rule_camclay_dilatancy_orthogonal_aniso(test, device): function test_flow_rule_dispatch_viscosity (line 550) | def test_flow_rule_dispatch_viscosity(test, device): function eval_flow_rule_residual (line 577) | def eval_flow_rule_residual( function test_random_flow_rule_impl_kernel (line 627) | def test_random_flow_rule_impl_kernel(errors: wp.array[float]): function test_flow_rule_impl_random (line 663) | def test_flow_rule_impl_random(test, device): class TestSolveFlowRule (line 679) | class TestSolveFlowRule(unittest.TestCase): FILE: newton/tests/test_import_mjcf.py class TestImportMjcfBasic (line 24) | class TestImportMjcfBasic(unittest.TestCase): method test_humanoid_mjcf (line 25) | def test_humanoid_mjcf(self): method test_mjcf_maxhullvert_parsing (line 82) | def test_mjcf_maxhullvert_parsing(self): method test_inertia_rotation (line 129) | def test_inertia_rotation(self): method test_single_body_transform (line 224) | def test_single_body_transform(self): method test_site_euler_sequence_matches_mujoco (line 250) | def test_site_euler_sequence_matches_mujoco(self): method test_root_body_with_custom_xform (line 279) | def test_root_body_with_custom_xform(self): method test_multiple_bodies_hierarchy (line 319) | def test_multiple_bodies_hierarchy(self): method test_floating_base_transform (line 370) | def test_floating_base_transform(self): method test_floating_base_with_import_xform_is_relative (line 418) | def test_floating_base_with_import_xform_is_relative(self): method test_chain_with_rotations (line 480) | def test_chain_with_rotations(self): method test_bodies_with_scale (line 540) | def test_bodies_with_scale(self): method test_tree_hierarchy_with_branching (line 574) | def test_tree_hierarchy_with_branching(self): method test_replace_3d_hinge_with_ball_joint (line 670) | def test_replace_3d_hinge_with_ball_joint(self): class TestImportMjcfMeshScale (line 697) | class TestImportMjcfMeshScale(unittest.TestCase): method _build (line 702) | def _build(self, mjcf_content: str) -> newton.ModelBuilder: method _mesh_extent (line 714) | def _mesh_extent(self, builder: newton.ModelBuilder, shape_idx: int = ... method test_mesh_no_class_no_explicit_scale (line 719) | def test_mesh_no_class_no_explicit_scale(self): method test_mesh_explicit_scale_on_asset (line 734) | def test_mesh_explicit_scale_on_asset(self): method test_mesh_inherits_scale_from_own_class (line 749) | def test_mesh_inherits_scale_from_own_class(self): method test_mesh_explicit_scale_overrides_class_default (line 769) | def test_mesh_explicit_scale_overrides_class_default(self): method test_mesh_inherits_scale_from_global_default (line 789) | def test_mesh_inherits_scale_from_global_default(self): method test_geom_class_mesh_scale_does_not_leak_to_asset (line 807) | def test_geom_class_mesh_scale_does_not_leak_to_asset(self): method test_geom_class_mesh_scale_applied_when_asset_has_same_class (line 836) | def test_geom_class_mesh_scale_applied_when_asset_has_same_class(self): class TestImportMjcfGeometry (line 860) | class TestImportMjcfGeometry(unittest.TestCase): method test_cylinder_shapes_preserved (line 861) | def test_cylinder_shapes_preserved(self): method test_cylinder_properties_preserved (line 896) | def test_cylinder_properties_preserved(self): method test_ellipsoid_shape_gets_mass (line 921) | def test_ellipsoid_shape_gets_mass(self): method test_explicit_geom_mass (line 947) | def test_explicit_geom_mass(self): method test_zero_mass_mesh_geom_no_warning (line 1051) | def test_zero_mass_mesh_geom_no_warning(self): method test_solreflimit_parsing (line 1106) | def test_solreflimit_parsing(self): method test_single_mujoco_fixed_tendon_parsing (line 1164) | def test_single_mujoco_fixed_tendon_parsing(self): method test_single_mujoco_fixed_tendon_defaults (line 1652) | def test_single_mujoco_fixed_tendon_defaults(self): method test_single_mujoco_fixed_tendon_limit_parsing (line 1883) | def test_single_mujoco_fixed_tendon_limit_parsing(self): method test_autolimits_false_tendon (line 2020) | def test_autolimits_false_tendon(self): method test_autolimits_false_actuator (line 2099) | def test_autolimits_false_actuator(self): method test_autolimits_false_joint_effort_limit (line 2144) | def test_autolimits_false_joint_effort_limit(self): method test_single_mujoco_fixed_tendon_auto_springlength (line 2198) | def test_single_mujoco_fixed_tendon_auto_springlength(self): method test_visual_geom_density_with_parse_visuals (line 2271) | def test_visual_geom_density_with_parse_visuals(self): method test_inertial_locks_body_against_frame_geom_mass (line 2305) | def test_inertial_locks_body_against_frame_geom_mass(self): method test_inertial_locks_body_against_frame_geom_explicit_mass (line 2340) | def test_inertial_locks_body_against_frame_geom_explicit_mass(self): method _write_box_stl (line 2377) | def _write_box_stl(path, hx=1.0, hy=0.5, hz=2.0, cx=0.0, cy=0.0, cz=0.0): method test_fit_box_to_mesh_aabb (line 2408) | def test_fit_box_to_mesh_aabb(self): method test_fit_sphere_to_mesh_aabb (line 2431) | def test_fit_sphere_to_mesh_aabb(self): method test_fit_capsule_to_mesh_aabb (line 2454) | def test_fit_capsule_to_mesh_aabb(self): method test_fit_box_to_mesh_inertia (line 2478) | def test_fit_box_to_mesh_inertia(self): method test_fit_box_to_mesh_inertia_rotated (line 2506) | def test_fit_box_to_mesh_inertia_rotated(self): method test_fit_with_fitscale (line 2572) | def test_fit_with_fitscale(self): method test_fit_cylinder_to_mesh_aabb (line 2594) | def test_fit_cylinder_to_mesh_aabb(self): method test_fit_ellipsoid_to_mesh_aabb (line 2618) | def test_fit_ellipsoid_to_mesh_aabb(self): method test_mesh_without_explicit_type_stays_mesh (line 2641) | def test_mesh_without_explicit_type_stays_mesh(self): class TestImportMjcfSolverParams (line 2662) | class TestImportMjcfSolverParams(unittest.TestCase): method test_solimplimit_parsing (line 2663) | def test_solimplimit_parsing(self): method test_limit_margin_parsing (line 2734) | def test_limit_margin_parsing(self): method test_solreffriction_parsing (line 2762) | def test_solreffriction_parsing(self): method test_solimpfriction_parsing (line 2835) | def test_solimpfriction_parsing(self): method test_granular_loading_flags (line 2908) | def test_granular_loading_flags(self): method test_parse_sites_backward_compatibility (line 2955) | def test_parse_sites_backward_compatibility(self): method test_parse_visuals_vs_hide_visuals (line 2977) | def test_parse_visuals_vs_hide_visuals(self): method test_mjcf_friction_parsing (line 3007) | def test_mjcf_friction_parsing(self): method test_mjcf_geom_margin_parsing (line 3053) | def test_mjcf_geom_margin_parsing(self): method test_mjcf_geom_solref_parsing (line 3086) | def test_mjcf_geom_solref_parsing(self): method test_mjcf_gravcomp (line 3124) | def test_mjcf_gravcomp(self): method test_joint_stiffness_damping (line 3157) | def test_joint_stiffness_damping(self): method test_jnt_actgravcomp_parsing (line 3219) | def test_jnt_actgravcomp_parsing(self): method test_xform_with_floating_false (line 3253) | def test_xform_with_floating_false(self): method test_joint_type_free_with_floating_false (line 3338) | def test_joint_type_free_with_floating_false(self): method test_geom_priority_parsing (line 3385) | def test_geom_priority_parsing(self): method test_geom_solimp_parsing (line 3420) | def test_geom_solimp_parsing(self): method _create_mjcf_with_option (line 3463) | def _create_mjcf_with_option(self, option_attr, option_value): method test_option_scalar_world_parsing (line 3477) | def test_option_scalar_world_parsing(self): method test_option_scalar_per_world (line 3501) | def test_option_scalar_per_world(self): method test_option_vector_world_parsing (line 3557) | def test_option_vector_world_parsing(self): method test_option_numeric_once_parsing (line 3577) | def test_option_numeric_once_parsing(self): method test_option_enum_once_parsing (line 3599) | def test_option_enum_once_parsing(self): method test_option_tag_pair_syntax (line 3621) | def test_option_tag_pair_syntax(self): method test_geom_solmix_parsing (line 3650) | def test_geom_solmix_parsing(self): method test_shape_gap_from_mjcf (line 3692) | def test_shape_gap_from_mjcf(self): method test_margin_gap_combined_conversion (line 3730) | def test_margin_gap_combined_conversion(self): method test_margin_gap_mujoco_solver (line 3782) | def test_margin_gap_mujoco_solver(self): method test_default_inheritance (line 3829) | def test_default_inheritance(self): class TestImportMjcfActuatorsFrames (line 3866) | class TestImportMjcfActuatorsFrames(unittest.TestCase): method test_actuatorfrcrange_parsing (line 3867) | def test_actuatorfrcrange_parsing(self): method test_eq_solref_parsing (line 3949) | def test_eq_solref_parsing(self): method test_parse_mujoco_options_disabled (line 3998) | def test_parse_mujoco_options_disabled(self): method test_ref_attribute_parsing (line 4018) | def test_ref_attribute_parsing(self): method test_springref_attribute_parsing (line 4052) | def test_springref_attribute_parsing(self): method test_static_geom_xform_not_applied_twice (line 4083) | def test_static_geom_xform_not_applied_twice(self): method test_static_fromto_capsule_xform (line 4114) | def test_static_fromto_capsule_xform(self): method test_actuator_mode_inference_from_actuator_type (line 4139) | def test_actuator_mode_inference_from_actuator_type(self): method test_frame_transform_composition_geoms (line 4208) | def test_frame_transform_composition_geoms(self): method test_frame_transform_composition_rotation (line 4236) | def test_frame_transform_composition_rotation(self): method test_frame_transform_composition_body (line 4272) | def test_frame_transform_composition_body(self): method test_nested_frames (line 4306) | def test_nested_frames(self): method test_frame_inside_body (line 4333) | def test_frame_inside_body(self): method test_frame_geom_inside_body_is_body_relative (line 4366) | def test_frame_geom_inside_body_is_body_relative(self): method test_frame_with_sites (line 4399) | def test_frame_with_sites(self): method test_site_size_defaults (line 4422) | def test_site_size_defaults(self): method test_frame_childclass_propagation (line 4476) | def test_frame_childclass_propagation(self): method test_joint_anchor_with_rotated_body (line 4593) | def test_joint_anchor_with_rotated_body(self): method test_joint_anchor_with_rotated_child_body (line 4657) | def test_joint_anchor_with_rotated_child_body(self): class TestImportMjcfComposition (line 4715) | class TestImportMjcfComposition(unittest.TestCase): method test_floating_true_creates_free_joint (line 4716) | def test_floating_true_creates_free_joint(self): method test_floating_false_creates_fixed_joint (line 4735) | def test_floating_false_creates_fixed_joint(self): method test_base_joint_dict_creates_d6_joint (line 4754) | def test_base_joint_dict_creates_d6_joint(self): method test_base_joint_dict_creates_custom_joint (line 4783) | def test_base_joint_dict_creates_custom_joint(self): method test_floating_and_base_joint_mutually_exclusive (line 4808) | def test_floating_and_base_joint_mutually_exclusive(self): method test_base_joint_respects_import_xform (line 4836) | def test_base_joint_respects_import_xform(self): method test_base_joint_in_frame_respects_frame_xform (line 4921) | def test_base_joint_in_frame_respects_frame_xform(self): method test_parent_body_attaches_to_existing_body (line 4987) | def test_parent_body_attaches_to_existing_body(self): method test_parent_body_with_base_joint_creates_d6 (line 5043) | def test_parent_body_with_base_joint_creates_d6(self): method test_parent_body_creates_joint_to_parent (line 5085) | def test_parent_body_creates_joint_to_parent(self): method test_exclude_tag (line 5126) | def test_exclude_tag(self): method test_exclude_tag_with_verbose (line 5163) | def test_exclude_tag_with_verbose(self): method test_exclude_tag_missing_bodies (line 5189) | def test_exclude_tag_missing_bodies(self): method test_exclude_tag_with_hyphens (line 5213) | def test_exclude_tag_with_hyphens(self): method test_exclude_tag_missing_attributes (line 5250) | def test_exclude_tag_missing_attributes(self): method test_exclude_tag_warnings_verbose (line 5277) | def test_exclude_tag_warnings_verbose(self): method test_base_joint_on_fixed_root (line 5313) | def test_base_joint_on_fixed_root(self): method test_xform_relative_to_parent_body (line 5346) | def test_xform_relative_to_parent_body(self): method test_non_sequential_articulation_attachment (line 5393) | def test_non_sequential_articulation_attachment(self): method test_floating_true_with_parent_body_raises_error (line 5431) | def test_floating_true_with_parent_body_raises_error(self): method test_floating_none_preserves_mjcf_default (line 5465) | def test_floating_none_preserves_mjcf_default(self): method test_sequential_attachment_succeeds (line 5498) | def test_sequential_attachment_succeeds(self): method test_parent_body_not_in_articulation_raises_error (line 5540) | def test_parent_body_not_in_articulation_raises_error(self): method test_floating_false_with_parent_body_succeeds (line 5567) | def test_floating_false_with_parent_body_succeeds(self): method test_three_level_hierarchical_composition (line 5603) | def test_three_level_hierarchical_composition(self): method test_many_independent_articulations (line 5676) | def test_many_independent_articulations(self): method test_multi_root_mjcf_with_parent_body (line 5715) | def test_multi_root_mjcf_with_parent_body(self): method test_frame_bodies_with_parent_body (line 5757) | def test_frame_bodies_with_parent_body(self): method test_error_messages_are_informative (line 5812) | def test_error_messages_are_informative(self): class TestMjcfInclude (line 5856) | class TestMjcfInclude(unittest.TestCase): method test_basic_include_same_directory (line 5859) | def test_basic_include_same_directory(self): method test_include_subdirectory (line 5889) | def test_include_subdirectory(self): method test_include_absolute_path (line 5923) | def test_include_absolute_path(self): method test_include_multiple_sections (line 5953) | def test_include_multiple_sections(self): method test_include_resolves_asset_paths (line 5995) | def test_include_resolves_asset_paths(self): method test_include_with_parent_body (line 6060) | def test_include_with_parent_body(self): method test_include_with_freejoint_and_parent_body (line 6135) | def test_include_with_freejoint_and_parent_body(self): class TestMjcfIncludeNested (line 6208) | class TestMjcfIncludeNested(unittest.TestCase): method test_nested_includes (line 6211) | def test_nested_includes(self): method test_circular_include_detection (line 6250) | def test_circular_include_detection(self): method test_include_without_file_attribute (line 6277) | def test_include_without_file_attribute(self): method test_self_include_detection (line 6299) | def test_self_include_detection(self): method test_missing_include_file (line 6317) | def test_missing_include_file(self): method test_relative_include_without_base_dir (line 6333) | def test_relative_include_without_base_dir(self): method test_invalid_source_not_file_not_xml (line 6347) | def test_invalid_source_not_file_not_xml(self): class TestMjcfIncludeCallback (line 6354) | class TestMjcfIncludeCallback(unittest.TestCase): method test_custom_path_resolver_returns_xml (line 6357) | def test_custom_path_resolver_returns_xml(self): method test_custom_path_resolver_with_base_dir (line 6385) | def test_custom_path_resolver_with_base_dir(self): method test_xml_string_input_with_custom_resolver (line 6417) | def test_xml_string_input_with_custom_resolver(self): method test_dof_angle_conversion_radians (line 6444) | def test_dof_angle_conversion_radians(self): method test_dof_angle_conversion_slide_joint (line 6474) | def test_dof_angle_conversion_slide_joint(self): method test_dof_angle_conversion_degrees (line 6504) | def test_dof_angle_conversion_degrees(self): class TestMjcfMultipleWorldbody (line 6537) | class TestMjcfMultipleWorldbody(unittest.TestCase): method test_multiple_worldbody_elements (line 6544) | def test_multiple_worldbody_elements(self): method test_multiple_worldbody_with_sites (line 6576) | def test_multiple_worldbody_with_sites(self): method test_include_creates_multiple_worldbodies (line 6599) | def test_include_creates_multiple_worldbodies(self): class TestMjcfActuatorAutoLimited (line 6643) | class TestMjcfActuatorAutoLimited(unittest.TestCase): method test_ctrllimited_auto_when_ctrlrange_specified (line 6646) | def test_ctrllimited_auto_when_ctrlrange_specified(self): method test_ctrllimited_auto_without_ctrlrange (line 6673) | def test_ctrllimited_auto_without_ctrlrange(self): method test_ctrllimited_explicit_false_not_overridden (line 6700) | def test_ctrllimited_explicit_false_not_overridden(self): method test_forcelimited_auto_when_forcerange_specified (line 6724) | def test_forcelimited_auto_when_forcerange_specified(self): method test_actlimited_auto_when_actrange_specified (line 6750) | def test_actlimited_auto_when_actrange_specified(self): class TestMjcfDefaultCustomAttributes (line 6777) | class TestMjcfDefaultCustomAttributes(unittest.TestCase): method setUpClass (line 6861) | def setUpClass(cls): method test_shape_defaults (line 6866) | def test_shape_defaults(self): method test_body_defaults (line 6895) | def test_body_defaults(self): method test_joint_dof_defaults (line 6905) | def test_joint_dof_defaults(self): method test_general_actuator_defaults (line 6933) | def test_general_actuator_defaults(self): method test_position_actuator_defaults (line 6964) | def test_position_actuator_defaults(self): method test_base_joint_dict_conflicting_keys_fails (line 6973) | def test_base_joint_dict_conflicting_keys_fails(self): class TestActuatorShortcutTypeDefaults (line 7008) | class TestActuatorShortcutTypeDefaults(unittest.TestCase): method setUpClass (line 7057) | def setUpClass(cls): method test_position_biastype_affine (line 7063) | def test_position_biastype_affine(self): method test_velocity_biastype_affine (line 7068) | def test_velocity_biastype_affine(self): method test_motor_biastype_none (line 7073) | def test_motor_biastype_none(self): method test_general_biastype_from_xml (line 7078) | def test_general_biastype_from_xml(self): method test_position_gaintype_fixed (line 7083) | def test_position_gaintype_fixed(self): method test_mujoco_compiled_biastype_matches (line 7088) | def test_mujoco_compiled_biastype_matches(self): class TestMjcfPositionDampratioParsing (line 7101) | class TestMjcfPositionDampratioParsing(unittest.TestCase): method setUpClass (line 7123) | def setUpClass(cls): method test_dampratio_encoded_in_biasprm (line 7129) | def test_dampratio_encoded_in_biasprm(self): method test_kv_wins_over_dampratio (line 7134) | def test_kv_wins_over_dampratio(self): class TestActuatorDefaultKpKv (line 7140) | class TestActuatorDefaultKpKv(unittest.TestCase): method test_position_actuator_default_kp (line 7149) | def test_position_actuator_default_kp(self): method test_velocity_actuator_default_kv (line 7174) | def test_velocity_actuator_default_kv(self): method test_position_actuator_class_without_kp (line 7199) | def test_position_actuator_class_without_kp(self): class TestMjcfIncludeOptionMerge (line 7228) | class TestMjcfIncludeOptionMerge(unittest.TestCase): method test_option_from_included_file (line 7231) | def test_option_from_included_file(self): method test_scene_option_overrides_included (line 7263) | def test_scene_option_overrides_included(self): method test_partial_option_preserves_unset (line 7298) | def test_partial_option_preserves_unset(self): class TestContypeConaffinityZero (line 7336) | class TestContypeConaffinityZero(unittest.TestCase): method test_collision_group_zero_for_zero_contype (line 7339) | def test_collision_group_zero_for_zero_contype(self): method test_collision_group_default_for_nonzero_contype (line 7356) | def test_collision_group_default_for_nonzero_contype(self): method test_collision_group_zero_from_global_default (line 7373) | def test_collision_group_zero_from_global_default(self): method test_solver_contype_zero_for_group_zero (line 7394) | def test_solver_contype_zero_for_group_zero(self): method test_no_automatic_contacts_with_group_zero (line 7420) | def test_no_automatic_contacts_with_group_zero(self): method test_explicit_pair_generates_contacts_with_group_zero (line 7451) | def test_explicit_pair_generates_contacts_with_group_zero(self): class TestJointFrictionloss (line 7488) | class TestJointFrictionloss(unittest.TestCase): method test_hinge_frictionloss (line 7491) | def test_hinge_frictionloss(self): method test_slide_frictionloss (line 7507) | def test_slide_frictionloss(self): method test_frictionloss_default_zero (line 7523) | def test_frictionloss_default_zero(self): method test_frictionloss_propagates_to_mujoco (line 7539) | def test_frictionloss_propagates_to_mujoco(self): method test_frictionloss_from_default_class (line 7557) | def test_frictionloss_from_default_class(self): class TestZeroMassBodies (line 7579) | class TestZeroMassBodies(unittest.TestCase): method test_zero_mass_body_preserved (line 7586) | def test_zero_mass_body_preserved(self): class TestMjcfIncludeMeshdir (line 7610) | class TestMjcfIncludeMeshdir(unittest.TestCase): method _create_cube_stl (line 7613) | def _create_cube_stl(self, path): method test_include_with_meshdir (line 7643) | def test_include_with_meshdir(self): method test_include_with_meshdir_nested_subdir (line 7683) | def test_include_with_meshdir_nested_subdir(self): method test_include_without_meshdir_still_works (line 7721) | def test_include_without_meshdir_still_works(self): method test_include_with_texturedir (line 7754) | def test_include_with_texturedir(self): method test_included_meshdir_does_not_leak_to_main_assets (line 7821) | def test_included_meshdir_does_not_leak_to_main_assets(self): method test_include_before_compiler_with_nested_includes (line 7873) | def test_include_before_compiler_with_nested_includes(self): class TestMjcfMultiRootArticulations (line 7951) | class TestMjcfMultiRootArticulations(unittest.TestCase): method test_multi_root_bodies_separate_articulations (line 7954) | def test_multi_root_bodies_separate_articulations(self): method test_multi_root_bodies_with_free_joints (line 7993) | def test_multi_root_bodies_with_free_joints(self): method test_multi_root_articulation_labels (line 8028) | def test_multi_root_articulation_labels(self): method test_multi_root_with_floating_option (line 8051) | def test_multi_root_with_floating_option(self): method test_multi_root_with_parent_body_keeps_single_articulation (line 8076) | def test_multi_root_with_parent_body_keeps_single_articulation(self): method test_multi_root_with_ignore_classes (line 8111) | def test_multi_root_with_ignore_classes(self): class TestFromtoCapsuleOrientation (line 8147) | class TestFromtoCapsuleOrientation(unittest.TestCase): method setUpClass (line 8172) | def setUpClass(cls): method _get_shape_transform (line 8177) | def _get_shape_transform(self, substring): method _assert_z_aligned (line 8186) | def _assert_z_aligned(self, quat, expected_dir, msg=""): method test_diagonal_capsule (line 8191) | def test_diagonal_capsule(self): method test_downward_capsule (line 8198) | def test_downward_capsule(self): method test_upward_capsule (line 8204) | def test_upward_capsule(self): method test_diagonal_cylinder (line 8210) | def test_diagonal_cylinder(self): class TestOverrideRootXform (line 8218) | class TestOverrideRootXform(unittest.TestCase): method test_default_xform_is_relative (line 8236) | def test_default_xform_is_relative(self): method test_override_places_at_xform (line 8252) | def test_override_places_at_xform(self): method test_override_preserves_child_offset (line 8269) | def test_override_preserves_child_offset(self): method test_override_with_rotation (line 8286) | def test_override_with_rotation(self): method test_override_cloning (line 8310) | def test_override_cloning(self): method test_override_without_xform_raises (line 8358) | def test_override_without_xform_raises(self): method test_multiple_articulations_default_keeps_relative (line 8364) | def test_multiple_articulations_default_keeps_relative(self): FILE: newton/tests/test_import_urdf.py function parse_urdf (line 195) | def parse_urdf(urdf: str, builder: newton.ModelBuilder, res_dir: dict[st... class TestImportUrdfBasic (line 223) | class TestImportUrdfBasic(unittest.TestCase): method test_sphere_urdf (line 224) | def test_sphere_urdf(self): method test_mesh_urdf (line 234) | def test_mesh_urdf(self): method test_inertial_params_urdf (line 256) | def test_inertial_params_urdf(self): method test_cylinder_shapes_preserved (line 274) | def test_cylinder_shapes_preserved(self): method test_self_collision_filtering_parameterized (line 325) | def test_self_collision_filtering_parameterized(self): method test_revolute_joint_urdf (line 340) | def test_revolute_joint_urdf(self): method test_cartpole_urdf (line 353) | def test_cartpole_urdf(self): method test_joint_ordering_original (line 370) | def test_joint_ordering_original(self): method test_joint_ordering_dfs (line 394) | def test_joint_ordering_dfs(self): method test_joint_ordering_bfs (line 418) | def test_joint_ordering_bfs(self): method test_joint_body_ordering_original (line 442) | def test_joint_body_ordering_original(self): method test_joint_body_ordering_dfs (line 466) | def test_joint_body_ordering_dfs(self): method test_joint_body_ordering_bfs (line 490) | def test_joint_body_ordering_bfs(self): method test_xform_with_floating_false (line 514) | def test_xform_with_floating_false(self): class TestImportUrdfBaseJoints (line 604) | class TestImportUrdfBaseJoints(unittest.TestCase): method test_floating_true_creates_free_joint (line 605) | def test_floating_true_creates_free_joint(self): method test_floating_false_creates_fixed_joint (line 630) | def test_floating_false_creates_fixed_joint(self): method test_base_joint_dict_creates_d6_joint (line 654) | def test_base_joint_dict_creates_d6_joint(self): method test_base_joint_dict_creates_custom_joint (line 691) | def test_base_joint_dict_creates_custom_joint(self): method test_floating_and_base_joint_mutually_exclusive (line 724) | def test_floating_and_base_joint_mutually_exclusive(self): method test_base_joint_dict_with_conflicting_parent (line 757) | def test_base_joint_dict_with_conflicting_parent(self): method test_base_joint_respects_import_xform (line 808) | def test_base_joint_respects_import_xform(self): class TestImportUrdfComposition (line 896) | class TestImportUrdfComposition(unittest.TestCase): method test_parent_body_attaches_to_existing_body (line 897) | def test_parent_body_attaches_to_existing_body(self): method test_parent_body_with_base_joint_creates_d6 (line 971) | def test_parent_body_with_base_joint_creates_d6(self): method test_parent_body_creates_joint_to_parent (line 1010) | def test_parent_body_creates_joint_to_parent(self): method test_non_sequential_articulation_attachment (line 1057) | def test_non_sequential_articulation_attachment(self): method test_floating_false_with_parent_body_succeeds (line 1100) | def test_floating_false_with_parent_body_succeeds(self): method test_floating_true_with_parent_body_raises_error (line 1142) | def test_floating_true_with_parent_body_raises_error(self): method test_parent_body_not_in_articulation_raises_error (line 1172) | def test_parent_body_not_in_articulation_raises_error(self): method test_three_level_hierarchical_composition (line 1200) | def test_three_level_hierarchical_composition(self): method test_xform_relative_to_parent_body (line 1266) | def test_xform_relative_to_parent_body(self): method test_many_independent_articulations (line 1324) | def test_many_independent_articulations(self): method test_base_joint_dict_conflicting_keys_fails (line 1360) | def test_base_joint_dict_conflicting_keys_fails(self): class TestUrdfUriResolution (line 1404) | class TestUrdfUriResolution(unittest.TestCase): method setUp (line 1411) | def setUp(self): method tearDown (line 1415) | def tearDown(self): method _create_package (line 1418) | def _create_package(self, name="my_robot", with_mesh=True): method test_package_uri_mesh_resolution (line 1426) | def test_package_uri_mesh_resolution(self): method test_package_uri_fallback_without_library (line 1438) | def test_package_uri_fallback_without_library(self): method test_source_uri_resolution (line 1451) | def test_source_uri_resolution(self): method test_uri_requires_library_or_warns (line 1462) | def test_uri_requires_library_or_warns(self): method test_unresolved_package_warning (line 1478) | def test_unresolved_package_warning(self): method test_automatic_vs_manual_resolution (line 1490) | def test_automatic_vs_manual_resolution(self): class TestMimicConstraints (line 1543) | class TestMimicConstraints(unittest.TestCase): method test_mimic_constraint_basic (line 1546) | def test_mimic_constraint_basic(self): method test_mimic_constraint_default_values (line 1572) | def test_mimic_constraint_default_values(self): method test_mimic_joint_skipped_child_does_not_mismatch (line 1602) | def test_mimic_joint_skipped_child_does_not_mismatch(self): class TestOverrideRootXformURDF (line 1642) | class TestOverrideRootXformURDF(unittest.TestCase): method test_override_fixed_joint (line 1662) | def test_override_fixed_joint(self): method test_override_floating_joint (line 1679) | def test_override_floating_joint(self): method test_override_without_xform_raises (line 1696) | def test_override_without_xform_raises(self): method test_override_base_joint (line 1702) | def test_override_base_joint(self): FILE: newton/tests/test_import_usd.py class TestImportUsdArticulation (line 27) | class TestImportUsdArticulation(unittest.TestCase): method test_import_usd_raises_on_stage_errors (line 29) | def test_import_usd_raises_on_stage_errors(self): method test_import_articulation (line 49) | def test_import_articulation(self): method test_import_body_newton_armature_warns_deprecated (line 75) | def test_import_body_newton_armature_warns_deprecated(self): method test_import_non_articulated_joints (line 109) | def test_import_non_articulated_joints(self): method test_import_disabled_joints_create_free_joints (line 132) | def test_import_disabled_joints_create_free_joints(self): method test_import_orphan_joints_with_articulation_present (line 175) | def test_import_orphan_joints_with_articulation_present(self): method test_body_to_world_fixed_joint (line 266) | def test_body_to_world_fixed_joint(self): method test_collapse_fixed_joints_preserves_orphan_joints (line 341) | def test_collapse_fixed_joints_preserves_orphan_joints(self): method test_import_articulation_parent_offset (line 399) | def test_import_articulation_parent_offset(self): method test_import_scale_ops_units_resolve (line 463) | def test_import_scale_ops_units_resolve(self): method test_import_scale_ops_nested_xforms (line 506) | def test_import_scale_ops_nested_xforms(self): method test_import_articulation_no_visuals (line 553) | def test_import_articulation_no_visuals(self): method test_import_articulation_with_mesh (line 581) | def test_import_articulation_with_mesh(self): method test_import_revolute_articulation (line 590) | def test_import_revolute_articulation(self): class TestImportUsdJoints (line 637) | class TestImportUsdJoints(unittest.TestCase): method test_joint_ordering (line 639) | def test_joint_ordering(self): method test_reversed_joints_in_articulation_raise (line 679) | def test_reversed_joints_in_articulation_raise(self): method test_reversed_fixed_root_joint_to_world_is_allowed (line 731) | def test_reversed_fixed_root_joint_to_world_is_allowed(self): method test_reversed_joint_unsupported_d6_raises (line 790) | def test_reversed_joint_unsupported_d6_raises(self): method test_reversed_joint_unsupported_spherical_raises (line 834) | def test_reversed_joint_unsupported_spherical_raises(self): method test_joint_filtering (line 878) | def test_joint_filtering(self): method test_loop_joint (line 1018) | def test_loop_joint(self): method test_solimp_friction_parsing (line 1119) | def test_solimp_friction_parsing(self): class TestImportUsdPhysics (line 1238) | class TestImportUsdPhysics(unittest.TestCase): method test_mass_calculations (line 1240) | def test_mass_calculations(self): method test_mass_fallback_instanced_colliders (line 1268) | def test_mass_fallback_instanced_colliders(self): method test_kinematic_enabled_flag (line 1316) | def test_kinematic_enabled_flag(self): method test_kinematic_enabled_articulation (line 1357) | def test_kinematic_enabled_articulation(self): method test_import_cube_cylinder_joint_count (line 1372) | def test_import_cube_cylinder_joint_count(self): method test_mesh_approximation (line 1397) | def test_mesh_approximation(self): method test_visual_match_collision_shapes (line 1482) | def test_visual_match_collision_shapes(self): method test_non_symmetric_inertia (line 1506) | def test_non_symmetric_inertia(self): method test_force_limits (line 1567) | def test_force_limits(self): method test_solimplimit_parsing (line 1664) | def test_solimplimit_parsing(self): method test_limit_margin_parsing (line 1782) | def test_limit_margin_parsing(self): method test_solreffriction_parsing (line 1843) | def test_solreffriction_parsing(self): method test_geom_solimp_parsing (line 1962) | def test_geom_solimp_parsing(self): method test_geom_solmix_parsing (line 2079) | def test_geom_solmix_parsing(self): method test_shape_gap_from_usd (line 2196) | def test_shape_gap_from_usd(self): method test_margin_gap_combined_conversion (line 2309) | def test_margin_gap_combined_conversion(self): method test_actuator_mode_inference_from_drive (line 2371) | def test_actuator_mode_inference_from_drive(self): method test__add_base_joints_to_floating_bodies_default (line 2571) | def test__add_base_joints_to_floating_bodies_default(self): method test__add_base_joints_to_floating_bodies_fixed (line 2590) | def test__add_base_joints_to_floating_bodies_fixed(self): method test__add_base_joints_to_floating_bodies_base_joint_dict (line 2608) | def test__add_base_joints_to_floating_bodies_base_joint_dict(self): method test__add_base_joints_to_floating_bodies_base_joint_dict_revolute (line 2637) | def test__add_base_joints_to_floating_bodies_base_joint_dict_revolute(... method test__add_base_joints_to_floating_bodies_skips_connected (line 2659) | def test__add_base_joints_to_floating_bodies_skips_connected(self): method test__add_base_joints_to_floating_bodies_skips_zero_mass (line 2681) | def test__add_base_joints_to_floating_bodies_skips_zero_mass(self): method test_add_base_joint_default (line 2695) | def test_add_base_joint_default(self): method test_add_base_joint_fixed (line 2708) | def test_add_base_joint_fixed(self): method test_add_base_joint_dict (line 2721) | def test_add_base_joint_dict(self): method test_add_base_joint_dict_revolute (line 2744) | def test_add_base_joint_dict_revolute(self): method test_add_base_joint_custom_label (line 2763) | def test_add_base_joint_custom_label(self): function verify_usdphysics_parser (line 2775) | def verify_usdphysics_parser(test, file, model, compare_min_max_coords, ... class TestImportSampleAssetsBasic (line 3116) | class TestImportSampleAssetsBasic(unittest.TestCase): method test_ant (line 3118) | def test_ant(self): method test_anymal (line 3133) | def test_anymal(self): method test_cartpole (line 3155) | def test_cartpole(self): method test_g1 (line 3170) | def test_g1(self): method test_h1 (line 3185) | def test_h1(self): method test_granular_loading_flags (line 3200) | def test_granular_loading_flags(self): method test_granular_loading_with_sites (line 3287) | def test_granular_loading_with_sites(self): method test_import_usd_gravcomp (line 3386) | def test_import_usd_gravcomp(self): method test_joint_stiffness_damping (line 3424) | def test_joint_stiffness_damping(self): method test_geom_priority_parsing (line 3584) | def test_geom_priority_parsing(self): class TestImportSampleAssetsParsing (line 3676) | class TestImportSampleAssetsParsing(unittest.TestCase): method test_jnt_actgravcomp_parsing (line 3678) | def test_jnt_actgravcomp_parsing(self): method test_option_scalar_world_parsing (line 3773) | def test_option_scalar_world_parsing(self): method test_option_vector_world_parsing (line 3848) | def test_option_vector_world_parsing(self): method test_option_numeric_once_parsing (line 3919) | def test_option_numeric_once_parsing(self): method test_option_enum_once_parsing (line 3993) | def test_option_enum_once_parsing(self): method test_parse_mujoco_options_disabled (line 4066) | def test_parse_mujoco_options_disabled(self): method test_ref_attribute_parsing (line 4117) | def test_ref_attribute_parsing(self): method test_springref_attribute_parsing (line 4174) | def test_springref_attribute_parsing(self): method test_material_parsing (line 4271) | def test_material_parsing(self): method test_material_density_used_by_mass_properties (line 4331) | def test_material_density_used_by_mass_properties(self): method test_material_density_mass_properties_with_stage_linear_scale (line 4377) | def test_material_density_mass_properties_with_stage_linear_scale(self): method test_collider_massapi_density_used_by_mass_properties (line 4421) | def test_collider_massapi_density_used_by_mass_properties(self): method test_material_density_without_massapi_uses_shape_material (line 4461) | def test_material_density_without_massapi_uses_shape_material(self): method test_material_without_density_uses_default_shape_density (line 4503) | def test_material_without_density_uses_default_shape_density(self): method test_massapi_authored_mass_and_inertia_short_circuits_compute (line 4546) | def test_massapi_authored_mass_and_inertia_short_circuits_compute(self): method test_massapi_partial_body_falls_back_to_compute (line 4581) | def test_massapi_partial_body_falls_back_to_compute(self): method test_massapi_authored_mass_without_inertia_scales_to_uniform_density (line 4619) | def test_massapi_authored_mass_without_inertia_scales_to_uniform_densi... method test_massapi_partial_body_applies_axis_rotation_in_compute_callback (line 4669) | def test_massapi_partial_body_applies_axis_rotation_in_compute_callbac... method test_massapi_partial_body_mesh_uses_cached_mesh_loading (line 4714) | def test_massapi_partial_body_mesh_uses_cached_mesh_loading(self): method test_massapi_partial_body_warns_and_skips_noncontributing_collider (line 4780) | def test_massapi_partial_body_warns_and_skips_noncontributing_collider... method test_contact_margin_parsing (line 4805) | def test_contact_margin_parsing(self): method test_contact_gap_parsing (line 4842) | def test_contact_gap_parsing(self): method test_mimic_constraint_parsing (line 4879) | def test_mimic_constraint_parsing(self): method test_scene_gravity_enabled_parsing (line 4942) | def test_scene_gravity_enabled_parsing(self): method test_scene_time_steps_per_second_parsing (line 4982) | def test_scene_time_steps_per_second_parsing(self): method test_scene_max_solver_iterations_parsing (line 5016) | def test_scene_max_solver_iterations_parsing(self): method test_mesh_max_hull_vertices_parsing (line 5043) | def test_mesh_max_hull_vertices_parsing(self): class TestImportSampleAssetsComposition (line 5083) | class TestImportSampleAssetsComposition(unittest.TestCase): method test_custom_frequency_usd_defaults_when_no_authored_attrs (line 5085) | def test_custom_frequency_usd_defaults_when_no_authored_attrs(self): method test_custom_frequency_instance_proxy_traversal (line 5149) | def test_custom_frequency_instance_proxy_traversal(self): method test_floating_true_creates_free_joint (line 5157) | def test_floating_true_creates_free_joint(self): method test_custom_frequency_wildcard_usd_attribute (line 5223) | def test_custom_frequency_wildcard_usd_attribute(self): method test_floating_false_creates_fixed_joint (line 5252) | def test_floating_false_creates_fixed_joint(self): method test_custom_frequency_wildcard_without_transformer_raises (line 5344) | def test_custom_frequency_wildcard_without_transformer_raises(self): method test_custom_frequency_usd_entry_expander_multiple_rows (line 5370) | def test_custom_frequency_usd_entry_expander_multiple_rows(self): method test_base_joint_dict_creates_d6_joint (line 5391) | def test_base_joint_dict_creates_d6_joint(self): method test_base_joint_dict_creates_custom_joint (line 5422) | def test_base_joint_dict_creates_custom_joint(self): method test_floating_and_base_joint_mutually_exclusive (line 5449) | def test_floating_and_base_joint_mutually_exclusive(self): method test_base_joint_respects_import_xform (line 5479) | def test_base_joint_respects_import_xform(self): method test_custom_frequency_usd_filter_and_expander_context_unified (line 5549) | def test_custom_frequency_usd_filter_and_expander_context_unified(self): method test_parent_body_attaches_to_existing_body (line 5617) | def test_parent_body_attaches_to_existing_body(self): method test_parent_body_with_base_joint_creates_d6 (line 5694) | def test_parent_body_with_base_joint_creates_d6(self): method test_parent_body_creates_joint_to_parent (line 5746) | def test_parent_body_creates_joint_to_parent(self): method test_floating_true_with_parent_body_raises_error (line 5792) | def test_floating_true_with_parent_body_raises_error(self): method test_floating_false_with_parent_body_succeeds (line 5832) | def test_floating_false_with_parent_body_succeeds(self): method test_non_sequential_articulation_attachment (line 5874) | def test_non_sequential_articulation_attachment(self): method test_parent_body_not_in_articulation_raises_error (line 5906) | def test_parent_body_not_in_articulation_raises_error(self): method test_three_level_hierarchical_composition (line 5936) | def test_three_level_hierarchical_composition(self): method test_xform_relative_to_parent_body (line 5998) | def test_xform_relative_to_parent_body(self): method test_many_independent_articulations (line 6054) | def test_many_independent_articulations(self): method test_base_joint_dict_conflicting_keys_fails (line 6105) | def test_base_joint_dict_conflicting_keys_fails(self): method test_custom_frequency_usd_ordering_producer_before_consumer (line 6168) | def test_custom_frequency_usd_ordering_producer_before_consumer(self): method test_base_joint_valid_dict_variations (line 6268) | def test_base_joint_valid_dict_variations(self): method test_collision_shape_visibility_flags (line 6352) | def test_collision_shape_visibility_flags(self): method _create_stage_with_pbr_collision_mesh (line 6455) | def _create_stage_with_pbr_collision_mesh(color, roughness, metallic, ... method test_visible_collision_mesh_inherits_visual_material_properties (line 6497) | def test_visible_collision_mesh_inherits_visual_material_properties(se... method test_visible_collision_mesh_texture_does_not_change_body_mass (line 6516) | def test_visible_collision_mesh_texture_does_not_change_body_mass(self): method test_hide_collision_shapes_overrides_visual_material (line 6571) | def test_hide_collision_shapes_overrides_visual_material(self): method test_hide_collision_shapes_fallback_with_material (line 6591) | def test_hide_collision_shapes_fallback_with_material(self): class TestImportUsdMimicJoint (line 6606) | class TestImportUsdMimicJoint(unittest.TestCase): method test_physx_mimic_joint_basic (line 6610) | def test_physx_mimic_joint_basic(self): method test_physx_mimic_joint_no_api_no_constraint (line 6696) | def test_physx_mimic_joint_no_api_no_constraint(self): class TestHasAppliedApiSchema (line 6734) | class TestHasAppliedApiSchema(unittest.TestCase): method test_unregistered_schema_via_metadata (line 6738) | def test_unregistered_schema_via_metadata(self): method test_registered_schema_via_has_api (line 6766) | def test_registered_schema_via_has_api(self): method test_appended_and_explicit_items (line 6777) | def test_appended_and_explicit_items(self): class TestOverrideRootXform (line 6796) | class TestOverrideRootXform(unittest.TestCase): method _make_stage_with_root_offset (line 6800) | def _make_stage_with_root_offset(): method test_default_xform_is_relative (line 6835) | def test_default_xform_is_relative(self): method test_override_places_at_xform (line 6852) | def test_override_places_at_xform(self): method test_override_preserves_child_offset (line 6873) | def test_override_preserves_child_offset(self): method test_override_with_rotation (line 6894) | def test_override_with_rotation(self): method test_override_cloning (line 6922) | def test_override_cloning(self): method _make_two_articulation_stage (line 6948) | def _make_two_articulation_stage(): method test_multiple_articulations_default_keeps_relative (line 6983) | def test_multiple_articulations_default_keeps_relative(self): method test_override_without_xform_raises (line 7008) | def test_override_without_xform_raises(self): method _make_stage_with_visual (line 7016) | def _make_stage_with_visual(): method test_visual_shape_aligned_with_body (line 7053) | def test_visual_shape_aligned_with_body(self): method test_override_visual_shape_aligned_with_body (line 7078) | def test_override_visual_shape_aligned_with_body(self): method _make_stage_with_loop_joint (line 7105) | def _make_stage_with_loop_joint(): method test_loop_joint_default (line 7149) | def test_loop_joint_default(self): method test_loop_joint_override (line 7173) | def test_loop_joint_override(self): method _make_stage_with_world_joint (line 7196) | def _make_stage_with_world_joint(): method _make_stage_with_empty_world_body0_joint (line 7246) | def _make_stage_with_empty_world_body0_joint(): method test_world_joint_default_xform (line 7292) | def test_world_joint_default_xform(self): method test_world_joint_empty_body0_uses_child_pose (line 7311) | def test_world_joint_empty_body0_uses_child_pose(self): method test_world_joint_override_root_xform (line 7346) | def test_world_joint_override_root_xform(self): method test_world_joint_override_with_rotation (line 7369) | def test_world_joint_override_with_rotation(self): class TestImportUsdMeshNormals (line 7398) | class TestImportUsdMeshNormals(unittest.TestCase): method test_get_mesh_loads_normals_when_requested (line 7451) | def test_get_mesh_loads_normals_when_requested(self): method test_facevarying_normals_produce_correct_directions (line 7466) | def test_facevarying_normals_produce_correct_directions(self): method test_cube_facevarying_normals_vertex_splitting (line 7486) | def test_cube_facevarying_normals_vertex_splitting(self): class TestTetMesh (line 7505) | class TestTetMesh(unittest.TestCase): method test_tetmesh_basic (line 7506) | def test_tetmesh_basic(self): method test_tetmesh_surface_triangles (line 7519) | def test_tetmesh_surface_triangles(self): method test_tetmesh_surface_triangles_shared_face (line 7528) | def test_tetmesh_surface_triangles_shared_face(self): method test_tetmesh_material_scalar_broadcast (line 7543) | def test_tetmesh_material_scalar_broadcast(self): method test_tetmesh_material_per_element (line 7555) | def test_tetmesh_material_per_element(self): method test_tetmesh_invalid_tet_indices_length (line 7564) | def test_tetmesh_invalid_tet_indices_length(self): method test_get_tetmesh (line 7571) | def test_get_tetmesh(self): method test_get_tetmesh_left_handed (line 7592) | def test_get_tetmesh_left_handed(self): method test_tetmesh_create_from_usd (line 7615) | def test_tetmesh_create_from_usd(self): method test_get_tetmesh_missing_points (line 7628) | def test_get_tetmesh_missing_points(self): method test_get_tetmesh_missing_tet_indices (line 7645) | def test_get_tetmesh_missing_tet_indices(self): method test_find_tetmesh_prims (line 7662) | def test_find_tetmesh_prims(self): method test_find_tetmesh_prims_load_all (line 7674) | def test_find_tetmesh_prims_load_all(self): method test_find_tetmesh_prims_empty_stage (line 7688) | def test_find_tetmesh_prims_empty_stage(self): method test_get_tetmesh_with_material (line 7706) | def test_get_tetmesh_with_material(self): method test_get_tetmesh_no_material (line 7724) | def test_get_tetmesh_no_material(self): method test_tetmesh_save_load_npz (line 7736) | def test_tetmesh_save_load_npz(self): method test_tetmesh_save_load_vtk (line 7758) | def test_tetmesh_save_load_vtk(self): method test_tetmesh_custom_attributes_reserved_name (line 7807) | def test_tetmesh_custom_attributes_reserved_name(self): method test_tetmesh_custom_attributes_constructor (line 7816) | def test_tetmesh_custom_attributes_constructor(self): method test_tetmesh_custom_attributes_empty_by_default (line 7842) | def test_tetmesh_custom_attributes_empty_by_default(self): method test_tetmesh_custom_attributes_from_usd (line 7850) | def test_tetmesh_custom_attributes_from_usd(self): method test_tetmesh_custom_attributes_npz_roundtrip (line 7880) | def test_tetmesh_custom_attributes_npz_roundtrip(self): method test_tetmesh_custom_attributes_to_model (line 7915) | def test_tetmesh_custom_attributes_to_model(self): method test_mesh_create_from_file_obj (line 7974) | def test_mesh_create_from_file_obj(self): method test_mesh_create_from_file_not_found (line 7993) | def test_mesh_create_from_file_not_found(self): method test_tetmesh_create_from_file_not_found (line 7998) | def test_tetmesh_create_from_file_not_found(self): method _make_two_tet_mesh (line 8007) | def _make_two_tet_mesh(self, **kwargs): method test_add_soft_mesh_with_tetmesh (line 8013) | def test_add_soft_mesh_with_tetmesh(self): method test_add_soft_mesh_tetmesh_density_override (line 8029) | def test_add_soft_mesh_tetmesh_density_override(self): method test_add_soft_mesh_tetmesh_per_element_materials (line 8060) | def test_add_soft_mesh_tetmesh_per_element_materials(self): method test_add_soft_mesh_backward_compat (line 8081) | def test_add_soft_mesh_backward_compat(self): method test_add_soft_mesh_no_input_raises (line 8102) | def test_add_soft_mesh_no_input_raises(self): method test_add_soft_mesh_invalid_mesh_type (line 8113) | def test_add_soft_mesh_invalid_mesh_type(self): method test_add_soft_mesh_instancing (line 8125) | def test_add_soft_mesh_instancing(self): class TestResolveUsdFromUrl (line 8148) | class TestResolveUsdFromUrl(unittest.TestCase): method _run_resolve (line 8151) | def _run_resolve(self, url_to_layer, base_url="https://example.com/ass... method test_single_level_references (line 8229) | def test_single_level_references(self): method test_recursive_references (line 8242) | def test_recursive_references(self): method test_deep_recursive_references (line 8254) | def test_deep_recursive_references(self): method test_no_duplicate_downloads (line 8266) | def test_no_duplicate_downloads(self): method test_cyclic_references (line 8278) | def test_cyclic_references(self): method test_nested_subdirectory_references (line 8291) | def test_nested_subdirectory_references(self): method test_path_traversal_rejected (line 8304) | def test_path_traversal_rejected(self): FILE: newton/tests/test_inertia.py class TestInertia (line 24) | class TestInertia(unittest.TestCase): method test_cube_mesh_inertia (line 25) | def test_cube_mesh_inertia(self): method test_sphere_mesh_inertia (line 108) | def test_sphere_mesh_inertia(self): method test_body_inertia (line 136) | def test_body_inertia(self): method test_capsule_cylinder_cone_axis_inertia (line 164) | def test_capsule_cylinder_cone_axis_inertia(self): method _create_cone_mesh (line 261) | def _create_cone_mesh(radius, half_height, num_segments=500): method test_cone_mesh_inertia (line 274) | def test_cone_mesh_inertia(self): method test_compute_inertia_shape_dispatcher (line 309) | def test_compute_inertia_shape_dispatcher(self): method test_hollow_cone_inertia (line 352) | def test_hollow_cone_inertia(self): FILE: newton/tests/test_inertia_validation.py class TestInertiaValidation (line 16) | class TestInertiaValidation(unittest.TestCase): method test_negative_mass_correction (line 19) | def test_negative_mass_correction(self): method test_mass_bound (line 34) | def test_mass_bound(self): method test_negative_inertia_diagonal (line 50) | def test_negative_inertia_diagonal(self): method test_inertia_bound (line 68) | def test_inertia_bound(self): method test_triangle_inequality_violation (line 88) | def test_triangle_inequality_violation(self): method test_no_balance_inertia (line 113) | def test_no_balance_inertia(self): method test_valid_inertia_no_correction (line 136) | def test_valid_inertia_no_correction(self): method test_model_builder_integration_fast (line 149) | def test_model_builder_integration_fast(self): method test_model_builder_integration_detailed (line 184) | def test_model_builder_integration_detailed(self): method test_default_validation_catches_negative_mass (line 226) | def test_default_validation_catches_negative_mass(self): method test_nan_mass (line 248) | def test_nan_mass(self): method test_nan_inertia (line 262) | def test_nan_inertia(self): method test_inf_inertia (line 276) | def test_inf_inertia(self): method test_zero_mass_not_overridden_by_bound (line 290) | def test_zero_mass_not_overridden_by_bound(self): method test_singular_inertia_repaired (line 303) | def test_singular_inertia_repaired(self): class TestInertiaValidationParity (line 318) | class TestInertiaValidationParity(unittest.TestCase): method _finalize_both_paths (line 321) | def _finalize_both_paths(self, mass, inertia, bound_mass=None, bound_i... method _assert_parity (line 347) | def _assert_parity(self, results, atol=1e-5): method test_parity_negative_mass (line 362) | def test_parity_negative_mass(self): method test_parity_zero_mass_with_bound (line 368) | def test_parity_zero_mass_with_bound(self): method test_parity_positive_mass_below_bound (line 375) | def test_parity_positive_mass_below_bound(self): method test_parity_negative_mass_with_bound (line 381) | def test_parity_negative_mass_with_bound(self): method test_parity_singular_inertia (line 387) | def test_parity_singular_inertia(self): method test_parity_semidefinite_inertia (line 395) | def test_parity_semidefinite_inertia(self): method test_parity_nonsymmetric_inertia (line 400) | def test_parity_nonsymmetric_inertia(self): method test_parity_near_symmetric_inertia_within_allclose_tolerance (line 409) | def test_parity_near_symmetric_inertia_within_allclose_tolerance(self): method test_parity_exact_triangle_boundary (line 441) | def test_parity_exact_triangle_boundary(self): method test_parity_triangle_inequality_violation (line 446) | def test_parity_triangle_inequality_violation(self): method test_parity_near_boundary_triangle (line 451) | def test_parity_near_boundary_triangle(self): method test_parity_nan_mass (line 456) | def test_parity_nan_mass(self): method test_parity_nan_inertia (line 462) | def test_parity_nan_inertia(self): method test_parity_inf_inertia (line 469) | def test_parity_inf_inertia(self): method test_parity_valid_inertia (line 476) | def test_parity_valid_inertia(self): method test_lightweight_inertia_preserved (line 483) | def test_lightweight_inertia_preserved(self): method test_lightweight_inertia_parity (line 500) | def test_lightweight_inertia_parity(self): method test_builder_state_unchanged_after_finalize (line 522) | def test_builder_state_unchanged_after_finalize(self): FILE: newton/tests/test_jacobian_mass_matrix.py function test_jacobian_simple_pendulum (line 17) | def test_jacobian_simple_pendulum(test, device): function test_jacobian_numerical_verification (line 72) | def test_jacobian_numerical_verification(test, device): function test_mass_matrix_symmetry (line 115) | def test_mass_matrix_symmetry(test, device): function test_mass_matrix_positive_definite (line 174) | def test_mass_matrix_positive_definite(test, device): function test_jacobian_multiple_articulations (line 207) | def test_jacobian_multiple_articulations(test, device): function test_jacobian_with_mask (line 239) | def test_jacobian_with_mask(test, device): function test_mass_matrix_with_mask (line 285) | def test_mass_matrix_with_mask(test, device): function test_prismatic_joint_jacobian (line 332) | def test_prismatic_joint_jacobian(test, device): function test_empty_model (line 368) | def test_empty_model(test, device): function test_articulation_view_api (line 381) | def test_articulation_view_api(test, device): function test_floating_base_jacobian (line 464) | def test_floating_base_jacobian(test, device): class TestJacobianMassMatrix (line 541) | class TestJacobianMassMatrix(unittest.TestCase): FILE: newton/tests/test_joint_controllers.py class TestJointController (line 18) | class TestJointController(unittest.TestCase): function test_revolute_controller (line 22) | def test_revolute_controller( function test_ball_controller (line 91) | def test_ball_controller( function test_effort_limit_clamping (line 182) | def test_effort_limit_clamping( function test_qfrc_actuator (line 269) | def test_qfrc_actuator( function test_free_joint_qfrc_actuator_frame (line 366) | def test_free_joint_qfrc_actuator_frame( FILE: newton/tests/test_joint_drive.py class TestJointDrive (line 12) | class TestJointDrive(unittest.TestCase): method compute_expected_velocity_outcome (line 13) | def compute_expected_velocity_outcome( method run_test_joint_drive_no_limits (line 55) | def run_test_joint_drive_no_limits(self, is_prismatic: bool, world_up_... method test_joint_drive_prismatic_upX_motionX (line 295) | def test_joint_drive_prismatic_upX_motionX(self): method test_joint_drive_prismatic_upX_motionY (line 298) | def test_joint_drive_prismatic_upX_motionY(self): method test_joint_drive_prismatic_upX_motionZ (line 301) | def test_joint_drive_prismatic_upX_motionZ(self): method test_joint_drive_prismatic_upY_motionX (line 304) | def test_joint_drive_prismatic_upY_motionX(self): method test_joint_drive_prismatic_upY_motionY (line 307) | def test_joint_drive_prismatic_upY_motionY(self): method test_joint_drive_prismatic_upY_motionZ (line 310) | def test_joint_drive_prismatic_upY_motionZ(self): method test_joint_drive_prismatic_upZ_motionX (line 313) | def test_joint_drive_prismatic_upZ_motionX(self): method test_joint_drive_prismatic_upZ_motionY (line 316) | def test_joint_drive_prismatic_upZ_motionY(self): method test_joint_drive_prismatic_upZ_motionZ (line 319) | def test_joint_drive_prismatic_upZ_motionZ(self): method test_joint_drive_revolute_upX_motionX (line 322) | def test_joint_drive_revolute_upX_motionX(self): method test_joint_drive_revolute_upX_motionY (line 325) | def test_joint_drive_revolute_upX_motionY(self): method test_joint_drive_revolute_upX_motionZ (line 328) | def test_joint_drive_revolute_upX_motionZ(self): method test_joint_drive_revolute_upY_motionX (line 331) | def test_joint_drive_revolute_upY_motionX(self): method test_joint_drive_revolute_upY_motionY (line 334) | def test_joint_drive_revolute_upY_motionY(self): method test_joint_drive_revolute_upY_motionZ (line 337) | def test_joint_drive_revolute_upY_motionZ(self): method test_joint_drive_revolute_upZ_motionX (line 340) | def test_joint_drive_revolute_upZ_motionX(self): method test_joint_drive_revolute_upZ_motionY (line 343) | def test_joint_drive_revolute_upZ_motionY(self): method test_joint_drive_revolute_upZ_motionZ (line 346) | def test_joint_drive_revolute_upZ_motionZ(self): FILE: newton/tests/test_joint_limits.py class TestJointLimits (line 13) | class TestJointLimits(unittest.TestCase): method test_unlimited_joint_defaults (line 16) | def test_unlimited_joint_defaults(self): method test_limited_joint (line 36) | def test_limited_joint(self): method test_partially_limited_joint (line 56) | def test_partially_limited_joint(self): method test_continuous_joint_from_urdf (line 88) | def test_continuous_joint_from_urdf(self): method test_joint_d6_with_mixed_limits (line 123) | def test_joint_d6_with_mixed_limits(self): method test_create_unlimited_joint_config (line 179) | def test_create_unlimited_joint_config(self): method test_robustness_of_limit_comparisons (line 193) | def test_robustness_of_limit_comparisons(self): FILE: newton/tests/test_kinematic_links.py class TestKinematicLinks (line 14) | class TestKinematicLinks(unittest.TestCase): method test_body_flags_persist_through_finalize (line 17) | def test_body_flags_persist_through_finalize(self): method test_invalid_body_flag_raises_during_finalize (line 32) | def test_invalid_body_flag_raises_during_finalize(self): method test_body_flags_survive_collapse_fixed_joints (line 45) | def test_body_flags_survive_collapse_fixed_joints(self): method test_kinematic_root_link_in_articulation (line 63) | def test_kinematic_root_link_in_articulation(self): method test_kinematic_non_root_link_raises (line 82) | def test_kinematic_non_root_link_raises(self): method test_kinematic_middle_link_raises (line 98) | def test_kinematic_middle_link_raises(self): method test_imported_kinematic_root_attached_to_parent_raises (line 112) | def test_imported_kinematic_root_attached_to_parent_raises(self): method test_featherstone_rebuilds_mass_matrix_after_kinematic_toggle (line 122) | def test_featherstone_rebuilds_mass_matrix_after_kinematic_toggle(self): class TestKinematicLinksCanonical (line 165) | class TestKinematicLinksCanonical(unittest.TestCase): function _uses_maximal_coordinates (line 172) | def _uses_maximal_coordinates(solver) -> bool: function _create_contacts (line 176) | def _create_contacts(model: newton.Model, solver): function _find_joint_for_child (line 180) | def _find_joint_for_child(model: newton.Model, child: int) -> int: function _set_body_wrench (line 188) | def _set_body_wrench(state: newton.State, body_index: int, wrench: np.nd... function _assert_quat_close (line 194) | def _assert_quat_close(test: unittest.TestCase, qa: np.ndarray, qb: np.n... function _configure_contact_defaults (line 199) | def _configure_contact_defaults(builder: ModelBuilder) -> None: function _build_free_root_scene (line 205) | def _build_free_root_scene(device): function _build_revolute_root_pendulum_scene (line 230) | def _build_revolute_root_pendulum_scene(device): function _build_fixed_root_scene (line 274) | def _build_fixed_root_scene(device): function test_kinematic_free_base_prescribed_motion (line 301) | def test_kinematic_free_base_prescribed_motion( function test_kinematic_revolute_root_pendulum_prescribed_motion (line 383) | def test_kinematic_revolute_root_pendulum_prescribed_motion( function test_kinematic_fixed_root_static_force_immune (line 477) | def test_kinematic_fixed_root_static_force_immune( function test_kinematic_runtime_toggle (line 540) | def test_kinematic_runtime_toggle( FILE: newton/tests/test_kinematics.py function eval_fk_mujoco_kernel (line 17) | def eval_fk_mujoco_kernel(model, joint_q, joint_qd, state): function test_fk_ik (line 43) | def test_fk_ik(test, device): function test_fk_ik_with_analytical_solution (line 87) | def test_fk_ik_with_analytical_solution(test, device): function test_fk_descendant_linear_velocity_matches_finite_difference (line 164) | def test_fk_descendant_linear_velocity_matches_finite_difference(test, d... function test_fk_prismatic_descendant_linear_velocity_matches_finite_difference (line 233) | def test_fk_prismatic_descendant_linear_velocity_matches_finite_differen... function test_ik_prismatic_descendant_recovers_joint_state (line 299) | def test_ik_prismatic_descendant_recovers_joint_state(test, device): function test_solver_fk_prismatic_descendant_linear_velocity_matches_finite_difference (line 350) | def test_solver_fk_prismatic_descendant_linear_velocity_matches_finite_d... function test_featherstone_fk_floating_base_descendant_linear_velocity_matches_finite_difference (line 412) | def test_featherstone_fk_floating_base_descendant_linear_velocity_matche... function test_fk_with_indices (line 469) | def test_fk_with_indices(test, device): function test_ik_with_indices (line 547) | def test_ik_with_indices(test, device): function test_fk_error_mask_and_indices (line 601) | def test_fk_error_mask_and_indices(test, device): function test_isaac_lab_use_case (line 626) | def test_isaac_lab_use_case(test, device): function test_bounds_checking (line 689) | def test_bounds_checking(test, device): function test_ik_with_mask (line 715) | def test_ik_with_mask(test, device): function test_ik_error_mask_and_indices (line 773) | def test_ik_error_mask_and_indices(test, device): function _build_dynamic_and_kinematic_single_joint_model (line 800) | def _build_dynamic_and_kinematic_single_joint_model(device): function test_fk_body_flag_filter_dynamic_only (line 829) | def test_fk_body_flag_filter_dynamic_only(test, device): function test_ik_body_flag_filter_dynamic_only (line 856) | def test_ik_body_flag_filter_dynamic_only(test, device): class TestSimKinematics (line 889) | class TestSimKinematics(unittest.TestCase): FILE: newton/tests/test_match_labels.py class TestMatchLabels (line 11) | class TestMatchLabels(unittest.TestCase): method test_str_exact_match (line 14) | def test_str_exact_match(self): method test_str_wildcard (line 18) | def test_str_wildcard(self): method test_str_no_match (line 22) | def test_str_no_match(self): method test_str_star_matches_all (line 26) | def test_str_star_matches_all(self): method test_list_str_union (line 30) | def test_list_str_union(self): method test_list_int_passthrough (line 34) | def test_list_int_passthrough(self): method test_list_str_wildcard_union (line 38) | def test_list_str_wildcard_union(self): method test_empty_list_returns_empty (line 43) | def test_empty_list_returns_empty(self): method test_type_error_on_invalid_element (line 47) | def test_type_error_on_invalid_element(self): method test_type_error_on_none_element (line 52) | def test_type_error_on_none_element(self): method test_int_out_of_bounds_passthrough (line 57) | def test_int_out_of_bounds_passthrough(self): method test_list_str_overlapping_patterns_deduplicates (line 63) | def test_list_str_overlapping_patterns_deduplicates(self): FILE: newton/tests/test_menagerie_mujoco.py function download_menagerie_asset (line 77) | def download_menagerie_asset( function create_newton_model_from_mjcf (line 116) | def create_newton_model_from_mjcf( class ControlStrategy (line 167) | class ControlStrategy: method __init__ (line 170) | def __init__(self, seed: int = 42): method reset (line 173) | def reset(self, seed: int | None = None): method init (line 179) | def init(self, native_ctrl: wp.array, newton_ctrl: wp.array): method fill_control (line 189) | def fill_control(self, t: float): function step_response_control_kernel (line 195) | def step_response_control_kernel( class StepResponseControlStrategy (line 212) | class StepResponseControlStrategy(ControlStrategy): method __init__ (line 215) | def __init__(self, target: float = 0.3, seed: int = 42): method init (line 223) | def init(self, native_ctrl: wp.array, newton_ctrl: wp.array): method fill_control (line 230) | def fill_control(self, t: float): function compare_compiled_model_fields (line 366) | def compare_compiled_model_fields( function compare_models (line 417) | def compare_models( function compare_inertia_tensors (line 478) | def compare_inertia_tensors( function solref_to_ke_kd (line 527) | def solref_to_ke_kd(solref: np.ndarray) -> tuple[np.ndarray, np.ndarray]: function compare_solref_physics (line 556) | def compare_solref_physics( function compare_geom_fields_unordered (line 602) | def compare_geom_fields_unordered( function compare_site_sizes (line 755) | def compare_site_sizes( function compare_jnt_range (line 817) | def compare_jnt_range( function _quat_xyzw_to_wxyz (line 857) | def _quat_xyzw_to_wxyz(q: wp.quat) -> wp.quat: function _copy_body_q_to_mjwarp_kernel (line 862) | def _copy_body_q_to_mjwarp_kernel( function run_newton_eval_fk (line 878) | def run_newton_eval_fk(solver: SolverMuJoCo, model: newton.Model, state:... function compare_mjdata_field (line 892) | def compare_mjdata_field( function _expand_batched_fields (line 1079) | def _expand_batched_fields(target_obj: Any, reference_obj: Any, field_na... function expand_mjw_model_to_match (line 1118) | def expand_mjw_model_to_match(target_mjw: Any, reference_mjw: Any) -> None: function backfill_model_from_native (line 1138) | def backfill_model_from_native( function compare_mjw_models (line 1174) | def compare_mjw_models( function apply_randomization (line 1265) | def apply_randomization( class TestMenagerieBase (line 1303) | class TestMenagerieBase(unittest.TestCase): method setUpClass (line 1367) | def setUpClass(cls): method _create_newton_model (line 1386) | def _create_newton_model(self) -> newton.Model: method _align_models (line 1398) | def _align_models(self, newton_solver: SolverMuJoCo, native_mjw_model:... method _compare_inertia (line 1406) | def _compare_inertia(self, newton_mjw: Any, native_mjw: Any) -> None: method _compare_geoms (line 1413) | def _compare_geoms(self, newton_mjw: Any, native_mjw: Any) -> None: method _compare_jnt_range (line 1420) | def _compare_jnt_range(self, newton_mjw: Any, native_mjw: Any) -> None: method _compare_body_physics (line 1427) | def _compare_body_physics(self, newton_mjw: Any, native_mjw: Any) -> N... method _compare_dof_physics (line 1434) | def _compare_dof_physics(self, newton_mjw: Any, native_mjw: Any) -> None: method _compare_mass_matrix_structure (line 1441) | def _compare_mass_matrix_structure(self, newton_mjw: Any, native_mjw: ... method _compare_tendon_jacobian_structure (line 1448) | def _compare_tendon_jacobian_structure(self, newton_mjw: Any, native_m... method _compare_compiled_fields (line 1455) | def _compare_compiled_fields(self, newton_mjw: Any, native_mjw: Any) -... method _compare_actuator_physics (line 1462) | def _compare_actuator_physics(self, newton_mjw: Any, native_mjw: Any) ... method _load_assets (line 1469) | def _load_assets(self) -> dict[str, bytes]: method _get_mjcf_xml (line 1487) | def _get_mjcf_xml(self) -> str: method _create_native_mujoco_warp (line 1508) | def _create_native_mujoco_warp(self) -> tuple[Any, Any, Any, Any]: method _ensure_models (line 1536) | def _ensure_models(self): method _run_model_comparisons (line 1583) | def _run_model_comparisons(self): method _backfill_and_recompute (line 1605) | def _backfill_and_recompute(self): method test_model_comparison (line 1622) | def test_model_comparison(self): method test_forward_kinematics (line 1631) | def test_forward_kinematics(self): method test_dynamics (line 1690) | def test_dynamics(self): function _disable_collisions (line 1736) | def _disable_collisions(mjw_model: Any) -> dict: function _restore_collisions (line 1759) | def _restore_collisions(mjw_model: Any, saved: dict) -> None: class TestMenagerieMJCF (line 1773) | class TestMenagerieMJCF(TestMenagerieBase): method _create_newton_model (line 1776) | def _create_newton_model(self) -> newton.Model: class TestMenagerie_AgilexPiper (line 1799) | class TestMenagerie_AgilexPiper(TestMenagerieMJCF): class TestMenagerie_ArxL5 (line 1807) | class TestMenagerie_ArxL5(TestMenagerieMJCF): class TestMenagerie_Dynamixel2r (line 1815) | class TestMenagerie_Dynamixel2r(TestMenagerieMJCF): class TestMenagerie_FrankaEmikaPanda (line 1823) | class TestMenagerie_FrankaEmikaPanda(TestMenagerieMJCF): class TestMenagerie_FrankaFr3 (line 1834) | class TestMenagerie_FrankaFr3(TestMenagerieMJCF): class TestMenagerie_FrankaFr3V2 (line 1842) | class TestMenagerie_FrankaFr3V2(TestMenagerieMJCF): class TestMenagerie_KinovaGen3 (line 1854) | class TestMenagerie_KinovaGen3(TestMenagerieMJCF): class TestMenagerie_KukaIiwa14 (line 1862) | class TestMenagerie_KukaIiwa14(TestMenagerieMJCF): class TestMenagerie_LowCostRobotArm (line 1870) | class TestMenagerie_LowCostRobotArm(TestMenagerieMJCF): class TestMenagerie_RethinkSawyer (line 1878) | class TestMenagerie_RethinkSawyer(TestMenagerieMJCF): class TestMenagerie_TrossenVx300s (line 1886) | class TestMenagerie_TrossenVx300s(TestMenagerieMJCF): class TestMenagerie_TrossenWx250s (line 1894) | class TestMenagerie_TrossenWx250s(TestMenagerieMJCF): class TestMenagerie_TrossenWxai (line 1902) | class TestMenagerie_TrossenWxai(TestMenagerieMJCF): class TestMenagerie_TrsSoArm100 (line 1910) | class TestMenagerie_TrsSoArm100(TestMenagerieMJCF): class TestMenagerie_UfactoryLite6 (line 1918) | class TestMenagerie_UfactoryLite6(TestMenagerieMJCF): class TestMenagerie_UfactoryXarm7 (line 1926) | class TestMenagerie_UfactoryXarm7(TestMenagerieMJCF): class TestMenagerie_UniversalRobotsUr5e (line 1934) | class TestMenagerie_UniversalRobotsUr5e(TestMenagerieMJCF): class TestMenagerie_UniversalRobotsUr10e (line 1944) | class TestMenagerie_UniversalRobotsUr10e(TestMenagerieMJCF): class TestMenagerie_LeapHand (line 1958) | class TestMenagerie_LeapHand(TestMenagerieMJCF): class TestMenagerie_Robotiq2f85 (line 1969) | class TestMenagerie_Robotiq2f85(TestMenagerieMJCF): class TestMenagerie_Robotiq2f85V4 (line 1977) | class TestMenagerie_Robotiq2f85V4(TestMenagerieMJCF): class TestMenagerie_ShadowDexee (line 1984) | class TestMenagerie_ShadowDexee(TestMenagerieMJCF): class TestMenagerie_ShadowHand (line 1992) | class TestMenagerie_ShadowHand(TestMenagerieMJCF): class TestMenagerie_TetheriaAeroHandOpen (line 2005) | class TestMenagerie_TetheriaAeroHandOpen(TestMenagerieMJCF): class TestMenagerie_UmiGripper (line 2013) | class TestMenagerie_UmiGripper(TestMenagerieMJCF): class TestMenagerie_WonikAllegro (line 2020) | class TestMenagerie_WonikAllegro(TestMenagerieMJCF): class TestMenagerie_IitSoftfoot (line 2033) | class TestMenagerie_IitSoftfoot(TestMenagerieMJCF): class TestMenagerie_Aloha (line 2046) | class TestMenagerie_Aloha(TestMenagerieMJCF): class TestMenagerie_GoogleRobot (line 2058) | class TestMenagerie_GoogleRobot(TestMenagerieMJCF): class TestMenagerie_HelloRobotStretch (line 2071) | class TestMenagerie_HelloRobotStretch(TestMenagerieMJCF): class TestMenagerie_HelloRobotStretch3 (line 2079) | class TestMenagerie_HelloRobotStretch3(TestMenagerieMJCF): class TestMenagerie_PalTiago (line 2087) | class TestMenagerie_PalTiago(TestMenagerieMJCF): class TestMenagerie_PalTiagoDual (line 2095) | class TestMenagerie_PalTiagoDual(TestMenagerieMJCF): class TestMenagerie_StanfordTidybot (line 2103) | class TestMenagerie_StanfordTidybot(TestMenagerieMJCF): class TestMenagerie_ApptronikApollo (line 2116) | class TestMenagerie_ApptronikApollo(TestMenagerieMJCF): class TestMenagerie_BerkeleyHumanoid (line 2140) | class TestMenagerie_BerkeleyHumanoid(TestMenagerieMJCF): class TestMenagerie_BoosterT1 (line 2148) | class TestMenagerie_BoosterT1(TestMenagerieMJCF): class TestMenagerie_FourierN1 (line 2158) | class TestMenagerie_FourierN1(TestMenagerieMJCF): class TestMenagerie_PalTalos (line 2166) | class TestMenagerie_PalTalos(TestMenagerieMJCF): class TestMenagerie_PndboticsAdamLite (line 2174) | class TestMenagerie_PndboticsAdamLite(TestMenagerieMJCF): class TestMenagerie_RobotisOp3 (line 2182) | class TestMenagerie_RobotisOp3(TestMenagerieMJCF): class TestMenagerie_ToddlerBot2xc (line 2190) | class TestMenagerie_ToddlerBot2xc(TestMenagerieMJCF): class TestMenagerie_ToddlerBot2xm (line 2198) | class TestMenagerie_ToddlerBot2xm(TestMenagerieMJCF): class TestMenagerie_UnitreeG1 (line 2206) | class TestMenagerie_UnitreeG1(TestMenagerieMJCF): class TestMenagerie_UnitreeH1 (line 2217) | class TestMenagerie_UnitreeH1(TestMenagerieMJCF): class TestMenagerie_AgilityCassie (line 2231) | class TestMenagerie_AgilityCassie(TestMenagerieMJCF): class TestMenagerie_AnyboticsAnymalB (line 2243) | class TestMenagerie_AnyboticsAnymalB(TestMenagerieMJCF): class TestMenagerie_AnyboticsAnymalC (line 2251) | class TestMenagerie_AnyboticsAnymalC(TestMenagerieMJCF): class TestMenagerie_BostonDynamicsSpot (line 2260) | class TestMenagerie_BostonDynamicsSpot(TestMenagerieMJCF): class TestMenagerie_GoogleBarkourV0 (line 2270) | class TestMenagerie_GoogleBarkourV0(TestMenagerieMJCF): class TestMenagerie_GoogleBarkourVb (line 2278) | class TestMenagerie_GoogleBarkourVb(TestMenagerieMJCF): class TestMenagerie_UnitreeA1 (line 2286) | class TestMenagerie_UnitreeA1(TestMenagerieMJCF): class TestMenagerie_UnitreeGo1 (line 2294) | class TestMenagerie_UnitreeGo1(TestMenagerieMJCF): class TestMenagerie_UnitreeGo2 (line 2302) | class TestMenagerie_UnitreeGo2(TestMenagerieMJCF): class TestMenagerie_UnitreeZ1 (line 2316) | class TestMenagerie_UnitreeZ1(TestMenagerieMJCF): class TestMenagerie_BitcrazeCrazyflie2 (line 2329) | class TestMenagerie_BitcrazeCrazyflie2(TestMenagerieMJCF): class TestMenagerie_SkydioX2 (line 2337) | class TestMenagerie_SkydioX2(TestMenagerieMJCF): class TestMenagerie_RobotSoccerKit (line 2350) | class TestMenagerie_RobotSoccerKit(TestMenagerieMJCF): class TestMenagerie_RobotstudioSo101 (line 2358) | class TestMenagerie_RobotstudioSo101(TestMenagerieMJCF): class TestMenagerie_Flybody (line 2374) | class TestMenagerie_Flybody(TestMenagerieMJCF): class TestMenagerie_I2rtYam (line 2387) | class TestMenagerie_I2rtYam(TestMenagerieMJCF): FILE: newton/tests/test_menagerie_usd_mujoco.py function create_newton_model_from_usd (line 52) | def create_newton_model_from_usd( function download_usd_asset (line 112) | def download_usd_asset(robot_name: str) -> Path: class TestMenagerieUsdImport (line 133) | class TestMenagerieUsdImport(unittest.TestCase): method _load_robot (line 136) | def _load_robot(self, robot_name: str) -> tuple[newton.ModelBuilder, n... method _assert_no_nan (line 154) | def _assert_no_nan(self, model: newton.Model, robot_name: str): method test_import_h1 (line 165) | def test_import_h1(self): method test_import_g1_with_hands (line 172) | def test_import_g1_with_hands(self): method test_import_shadow_hand (line 179) | def test_import_shadow_hand(self): method test_import_robotiq_2f85_v4 (line 186) | def test_import_robotiq_2f85_v4(self): method test_import_apptronik_apollo (line 193) | def test_import_apptronik_apollo(self): method test_import_booster_t1 (line 200) | def test_import_booster_t1(self): method test_import_wonik_allegro (line 207) | def test_import_wonik_allegro(self): method test_import_ur5e (line 214) | def test_import_ur5e(self): method test_import_h1_joint_types (line 221) | def test_import_h1_joint_types(self): method test_import_wonik_allegro_joint_types (line 228) | def test_import_wonik_allegro_joint_types(self): method test_import_h1_multi_world (line 234) | def test_import_h1_multi_world(self): function compare_inertia_tensors_mapped (line 246) | def compare_inertia_tensors_mapped( function compare_joints_sorted (line 295) | def compare_joints_sorted( function compare_geoms_subset (line 350) | def compare_geoms_subset( function build_body_index_map (line 450) | def build_body_index_map( function _normalize_name (line 487) | def _normalize_name(name: str) -> str: function _suffix_match (line 500) | def _suffix_match(nw_name: str, native_name: str) -> bool: function build_jnt_index_map (line 523) | def build_jnt_index_map( function build_dof_index_map (line 576) | def build_dof_index_map( function _actuator_target_name (line 600) | def _actuator_target_name(mj_model: Any, act_idx: int) -> str: function build_actuator_index_map (line 623) | def build_actuator_index_map( function _reindex_1d (line 681) | def _reindex_1d(arr: np.ndarray, idx_map: dict[int, int], n: int) -> np.... function _reindex_2d_axis1 (line 690) | def _reindex_2d_axis1(arr: np.ndarray, idx_map: dict[int, int], n: int) ... function compare_body_physics_mapped (line 699) | def compare_body_physics_mapped( function compare_dof_physics_mapped (line 765) | def compare_dof_physics_mapped( function compare_mass_matrix_structure_mapped (line 799) | def compare_mass_matrix_structure_mapped( function compare_tendon_jacobian_structure_mapped (line 854) | def compare_tendon_jacobian_structure_mapped( function compare_actuator_physics_mapped (line 922) | def compare_actuator_physics_mapped( class TestMenagerieUSD (line 978) | class TestMenagerieUSD(TestMenagerieBase): method setUpClass (line 992) | def setUpClass(cls): method _compare_compiled_fields (line 1073) | def _compare_compiled_fields(self, newton_mjw: Any, native_mjw: Any) -... method _compare_inertia (line 1081) | def _compare_inertia(self, newton_mjw: Any, native_mjw: Any) -> None: method _compare_geoms (line 1085) | def _compare_geoms(self, newton_mjw: Any, native_mjw: Any) -> None: method _compare_jnt_range (line 1089) | def _compare_jnt_range(self, newton_mjw: Any, native_mjw: Any) -> None: method _align_models (line 1093) | def _align_models(self, newton_solver: SolverMuJoCo, native_mjw_model:... method _compare_body_physics (line 1121) | def _compare_body_physics(self, newton_mjw: Any, native_mjw: Any) -> N... method _compare_dof_physics (line 1125) | def _compare_dof_physics(self, newton_mjw: Any, native_mjw: Any) -> None: method _compare_mass_matrix_structure (line 1129) | def _compare_mass_matrix_structure(self, newton_mjw: Any, native_mjw: ... method _compare_tendon_jacobian_structure (line 1133) | def _compare_tendon_jacobian_structure(self, newton_mjw: Any, native_m... method _compare_actuator_physics (line 1137) | def _compare_actuator_physics(self, newton_mjw: Any, native_mjw: Any) ... method _create_newton_model (line 1155) | def _create_newton_model(self) -> newton.Model: method test_fk_initial_xforms (line 1165) | def test_fk_initial_xforms(self): class TestMenagerieUSD_H1 (line 1274) | class TestMenagerieUSD_H1(TestMenagerieUSD): class TestMenagerieUSD_G1WithHands (line 1287) | class TestMenagerieUSD_G1WithHands(TestMenagerieUSD): class TestMenagerieUSD_ShadowHand (line 1300) | class TestMenagerieUSD_ShadowHand(TestMenagerieUSD): class TestMenagerieUSD_Robotiq2f85V4 (line 1313) | class TestMenagerieUSD_Robotiq2f85V4(TestMenagerieUSD): class TestMenagerieUSD_ApptronikApollo (line 1328) | class TestMenagerieUSD_ApptronikApollo(TestMenagerieUSD): class TestMenagerieUSD_BoosterT1 (line 1349) | class TestMenagerieUSD_BoosterT1(TestMenagerieUSD): class TestMenagerieUSD_WonikAllegro (line 1362) | class TestMenagerieUSD_WonikAllegro(TestMenagerieUSD): method _compare_inertia (line 1373) | def _compare_inertia(self, newton_mjw: Any, native_mjw: Any) -> None: method _compare_dof_physics (line 1377) | def _compare_dof_physics(self, newton_mjw: Any, native_mjw: Any) -> None: class TestMenagerieUSD_UR5e (line 1384) | class TestMenagerieUSD_UR5e(TestMenagerieUSD): class TestMenagerie_AgilexPiper_USD (line 1409) | class TestMenagerie_AgilexPiper_USD(TestMenagerieUSD): class TestMenagerie_ArxL5_USD (line 1415) | class TestMenagerie_ArxL5_USD(TestMenagerieUSD): class TestMenagerie_Dynamixel2r_USD (line 1421) | class TestMenagerie_Dynamixel2r_USD(TestMenagerieUSD): class TestMenagerie_FrankaEmikaPanda_USD (line 1427) | class TestMenagerie_FrankaEmikaPanda_USD(TestMenagerieUSD): class TestMenagerie_FrankaFr3_USD (line 1433) | class TestMenagerie_FrankaFr3_USD(TestMenagerieUSD): class TestMenagerie_FrankaFr3V2_USD (line 1439) | class TestMenagerie_FrankaFr3V2_USD(TestMenagerieUSD): class TestMenagerie_KinovaGen3_USD (line 1445) | class TestMenagerie_KinovaGen3_USD(TestMenagerieUSD): class TestMenagerie_KukaIiwa14_USD (line 1451) | class TestMenagerie_KukaIiwa14_USD(TestMenagerieUSD): class TestMenagerie_LowCostRobotArm_USD (line 1457) | class TestMenagerie_LowCostRobotArm_USD(TestMenagerieUSD): class TestMenagerie_RethinkSawyer_USD (line 1463) | class TestMenagerie_RethinkSawyer_USD(TestMenagerieUSD): class TestMenagerie_TrossenVx300s_USD (line 1469) | class TestMenagerie_TrossenVx300s_USD(TestMenagerieUSD): class TestMenagerie_TrossenWx250s_USD (line 1475) | class TestMenagerie_TrossenWx250s_USD(TestMenagerieUSD): class TestMenagerie_TrossenWxai_USD (line 1481) | class TestMenagerie_TrossenWxai_USD(TestMenagerieUSD): class TestMenagerie_TrsSoArm100_USD (line 1487) | class TestMenagerie_TrsSoArm100_USD(TestMenagerieUSD): class TestMenagerie_UfactoryLite6_USD (line 1493) | class TestMenagerie_UfactoryLite6_USD(TestMenagerieUSD): class TestMenagerie_UfactoryXarm7_USD (line 1499) | class TestMenagerie_UfactoryXarm7_USD(TestMenagerieUSD): class TestMenagerie_UniversalRobotsUr5e_USD (line 1505) | class TestMenagerie_UniversalRobotsUr5e_USD(TestMenagerieUSD): class TestMenagerie_UniversalRobotsUr10e_USD (line 1511) | class TestMenagerie_UniversalRobotsUr10e_USD(TestMenagerieUSD): class TestMenagerie_LeapHand_USD (line 1522) | class TestMenagerie_LeapHand_USD(TestMenagerieUSD): class TestMenagerie_Robotiq2f85_USD (line 1528) | class TestMenagerie_Robotiq2f85_USD(TestMenagerieUSD): class TestMenagerie_Robotiq2f85V4_USD (line 1534) | class TestMenagerie_Robotiq2f85V4_USD(TestMenagerieUSD): class TestMenagerie_ShadowDexee_USD (line 1540) | class TestMenagerie_ShadowDexee_USD(TestMenagerieUSD): class TestMenagerie_ShadowHand_USD (line 1546) | class TestMenagerie_ShadowHand_USD(TestMenagerieUSD): class TestMenagerie_TetheriaAeroHandOpen_USD (line 1552) | class TestMenagerie_TetheriaAeroHandOpen_USD(TestMenagerieUSD): class TestMenagerie_UmiGripper_USD (line 1558) | class TestMenagerie_UmiGripper_USD(TestMenagerieUSD): class TestMenagerie_WonikAllegro_USD (line 1564) | class TestMenagerie_WonikAllegro_USD(TestMenagerieUSD): class TestMenagerie_IitSoftfoot_USD (line 1570) | class TestMenagerie_IitSoftfoot_USD(TestMenagerieUSD): class TestMenagerie_Aloha_USD (line 1581) | class TestMenagerie_Aloha_USD(TestMenagerieUSD): class TestMenagerie_GoogleRobot_USD (line 1587) | class TestMenagerie_GoogleRobot_USD(TestMenagerieUSD): class TestMenagerie_HelloRobotStretch_USD (line 1598) | class TestMenagerie_HelloRobotStretch_USD(TestMenagerieUSD): class TestMenagerie_HelloRobotStretch3_USD (line 1604) | class TestMenagerie_HelloRobotStretch3_USD(TestMenagerieUSD): class TestMenagerie_PalTiago_USD (line 1610) | class TestMenagerie_PalTiago_USD(TestMenagerieUSD): class TestMenagerie_PalTiagoDual_USD (line 1616) | class TestMenagerie_PalTiagoDual_USD(TestMenagerieUSD): class TestMenagerie_StanfordTidybot_USD (line 1622) | class TestMenagerie_StanfordTidybot_USD(TestMenagerieUSD): class TestMenagerie_ApptronikApollo_USD (line 1633) | class TestMenagerie_ApptronikApollo_USD(TestMenagerieUSD): class TestMenagerie_BerkeleyHumanoid_USD (line 1639) | class TestMenagerie_BerkeleyHumanoid_USD(TestMenagerieUSD): class TestMenagerie_BoosterT1_USD (line 1645) | class TestMenagerie_BoosterT1_USD(TestMenagerieUSD): class TestMenagerie_FourierN1_USD (line 1651) | class TestMenagerie_FourierN1_USD(TestMenagerieUSD): class TestMenagerie_PalTalos_USD (line 1657) | class TestMenagerie_PalTalos_USD(TestMenagerieUSD): class TestMenagerie_PndboticsAdamLite_USD (line 1663) | class TestMenagerie_PndboticsAdamLite_USD(TestMenagerieUSD): class TestMenagerie_RobotisOp3_USD (line 1669) | class TestMenagerie_RobotisOp3_USD(TestMenagerieUSD): class TestMenagerie_ToddlerBot2xc_USD (line 1675) | class TestMenagerie_ToddlerBot2xc_USD(TestMenagerieUSD): class TestMenagerie_ToddlerBot2xm_USD (line 1681) | class TestMenagerie_ToddlerBot2xm_USD(TestMenagerieUSD): class TestMenagerie_UnitreeG1_USD (line 1687) | class TestMenagerie_UnitreeG1_USD(TestMenagerieUSD): class TestMenagerie_UnitreeH1_USD (line 1693) | class TestMenagerie_UnitreeH1_USD(TestMenagerieUSD): class TestMenagerie_AgilityCassie_USD (line 1704) | class TestMenagerie_AgilityCassie_USD(TestMenagerieUSD): class TestMenagerie_AnyboticsAnymalB_USD (line 1715) | class TestMenagerie_AnyboticsAnymalB_USD(TestMenagerieUSD): class TestMenagerie_AnyboticsAnymalC_USD (line 1721) | class TestMenagerie_AnyboticsAnymalC_USD(TestMenagerieUSD): class TestMenagerie_BostonDynamicsSpot_USD (line 1727) | class TestMenagerie_BostonDynamicsSpot_USD(TestMenagerieUSD): class TestMenagerie_GoogleBarkourV0_USD (line 1733) | class TestMenagerie_GoogleBarkourV0_USD(TestMenagerieUSD): class TestMenagerie_GoogleBarkourVb_USD (line 1739) | class TestMenagerie_GoogleBarkourVb_USD(TestMenagerieUSD): class TestMenagerie_UnitreeA1_USD (line 1745) | class TestMenagerie_UnitreeA1_USD(TestMenagerieUSD): class TestMenagerie_UnitreeGo1_USD (line 1751) | class TestMenagerie_UnitreeGo1_USD(TestMenagerieUSD): class TestMenagerie_UnitreeGo2_USD (line 1757) | class TestMenagerie_UnitreeGo2_USD(TestMenagerieUSD): class TestMenagerie_UnitreeZ1_USD (line 1768) | class TestMenagerie_UnitreeZ1_USD(TestMenagerieUSD): class TestMenagerie_BitcrazeCrazyflie2_USD (line 1779) | class TestMenagerie_BitcrazeCrazyflie2_USD(TestMenagerieUSD): class TestMenagerie_SkydioX2_USD (line 1785) | class TestMenagerie_SkydioX2_USD(TestMenagerieUSD): class TestMenagerie_RobotSoccerKit_USD (line 1796) | class TestMenagerie_RobotSoccerKit_USD(TestMenagerieUSD): class TestMenagerie_RobotstudioSo101_USD (line 1802) | class TestMenagerie_RobotstudioSo101_USD(TestMenagerieUSD): class TestMenagerie_Flybody_USD (line 1813) | class TestMenagerie_Flybody_USD(TestMenagerieUSD): class TestMenagerie_I2rtYam_USD (line 1824) | class TestMenagerie_I2rtYam_USD(TestMenagerieUSD): FILE: newton/tests/test_mesh_aabb.py class TestMeshShapeAABB (line 16) | class TestMeshShapeAABB(unittest.TestCase): method _build_model_with_mesh_at (line 19) | def _build_model_with_mesh_at(self, mesh, body_pos, body_quat=None, sc... method _get_shape_aabb (line 33) | def _get_shape_aabb(self, model, shape_idx=0): method test_axis_aligned_mesh_tight_aabb (line 44) | def test_axis_aligned_mesh_tight_aabb(self): method test_off_center_mesh_no_false_broadphase (line 61) | def test_off_center_mesh_no_false_broadphase(self): method test_rotated_mesh_aabb (line 104) | def test_rotated_mesh_aabb(self): method test_nonuniform_scale_mesh_aabb (line 121) | def test_nonuniform_scale_mesh_aabb(self): class TestHeightfieldBoundingSphere (line 140) | class TestHeightfieldBoundingSphere(unittest.TestCase): method test_asymmetric_z_range (line 143) | def test_asymmetric_z_range(self): method test_radius_bounds_all_vertices (line 155) | def test_radius_bounds_all_vertices(self): class TestHeightfieldLocalAABB (line 181) | class TestHeightfieldLocalAABB(unittest.TestCase): method test_heightfield_local_aabb (line 184) | def test_heightfield_local_aabb(self): method test_heightfield_local_aabb_with_scale (line 200) | def test_heightfield_local_aabb_with_scale(self): FILE: newton/tests/test_model.py class TestModelBuilderDeprecations (line 20) | class TestModelBuilderDeprecations(unittest.TestCase): method test_default_body_armature_get_and_set_warn (line 21) | def test_default_body_armature_get_and_set_warn(self): method test_add_link_armature_warns_and_preserves_inertia (line 35) | def test_add_link_armature_warns_and_preserves_inertia(self): method test_add_body_armature_warns_and_preserves_inertia (line 54) | def test_add_body_armature_warns_and_preserves_inertia(self): method test_add_link_uses_default_body_armature_without_extra_warning (line 73) | def test_add_link_uses_default_body_armature_without_extra_warning(self): class TestModelMesh (line 93) | class TestModelMesh(unittest.TestCase): method test_add_triangles (line 94) | def test_add_triangles(self): method test_add_edges (line 144) | def test_add_edges(self): method test_mesh_approximation (line 181) | def test_mesh_approximation(self): method test_mesh_approximation_convex_decomposition_preserves_visual_properties (line 269) | def test_mesh_approximation_convex_decomposition_preserves_visual_prop... method test_approximate_meshes_collision_filter_child_bodies (line 327) | def test_approximate_meshes_collision_filter_child_bodies(self): method test_shape_gap_negative_warning (line 403) | def test_shape_gap_negative_warning(self): method test_shape_gap_non_negative_no_warning (line 423) | def test_shape_gap_non_negative_no_warning(self): method test_shape_gap_warning_multiple_shapes (line 441) | def test_shape_gap_warning_multiple_shapes(self): method test_collision_filter_pairs_canonical_order (line 469) | def test_collision_filter_pairs_canonical_order(self): method test_validate_structure_invalid_shape_body (line 496) | def test_validate_structure_invalid_shape_body(self): class TestModelJoints (line 515) | class TestModelJoints(unittest.TestCase): method test_collapse_fixed_joints (line 516) | def test_collapse_fixed_joints(self): method test_collapse_fixed_joints_with_locked_inertia (line 599) | def test_collapse_fixed_joints_with_locked_inertia(self): method test_collapse_fixed_joints_with_groups (line 613) | def test_collapse_fixed_joints_with_groups(self): method test_collapse_fixed_joints_with_selective_fixed_joint_collapsing (line 820) | def test_collapse_fixed_joints_with_selective_fixed_joint_collapsing(s... method test_collapse_fixed_joints_preserves_loop_closure (line 909) | def test_collapse_fixed_joints_preserves_loop_closure(self): method test_articulation_validation_contiguous (line 970) | def test_articulation_validation_contiguous(self): method test_articulation_validation_monotonic (line 1007) | def test_articulation_validation_monotonic(self): method test_articulation_validation_empty (line 1024) | def test_articulation_validation_empty(self): method test_articulation_validation_world_mismatch (line 1033) | def test_articulation_validation_world_mismatch(self): method test_articulation_validation_tree_structure (line 1054) | def test_articulation_validation_tree_structure(self): method test_articulation_validation_duplicate_joint (line 1073) | def test_articulation_validation_duplicate_joint(self): method test_joint_world_validation (line 1097) | def test_joint_world_validation(self): method test_articulation_validation_orphan_joint (line 1116) | def test_articulation_validation_orphan_joint(self): method test_articulation_validation_multiple_orphan_joints (line 1131) | def test_articulation_validation_multiple_orphan_joints(self): method test_validate_structure_invalid_joint_parent (line 1149) | def test_validate_structure_invalid_joint_parent(self): method test_validate_structure_invalid_joint_child (line 1167) | def test_validate_structure_invalid_joint_child(self): method test_validate_structure_self_referential_joint (line 1185) | def test_validate_structure_self_referential_joint(self): method test_validate_joint_ordering_correct_order (line 1203) | def test_validate_joint_ordering_correct_order(self): method test_validate_joint_ordering_incorrect_order (line 1226) | def test_validate_joint_ordering_incorrect_order(self): method test_skip_validation_joint_ordering_default (line 1249) | def test_skip_validation_joint_ordering_default(self): method test_enable_validation_joint_ordering (line 1271) | def test_enable_validation_joint_ordering(self): method test_mimic_constraint_programmatic (line 1292) | def test_mimic_constraint_programmatic(self): method test_add_base_joint_fixed_to_parent (line 1357) | def test_add_base_joint_fixed_to_parent(self): class TestModelWorld (line 1371) | class TestModelWorld(unittest.TestCase): method test_add_world_with_open_edges (line 1372) | def test_add_world_with_open_edges(self): method test_add_particles_grouping (line 1406) | def test_add_particles_grouping(self): method test_world_grouping (line 1429) | def test_world_grouping(self): method test_world_count_tracking (line 1639) | def test_world_count_tracking(self): method test_world_validation_errors (line 1680) | def test_world_validation_errors(self): method test_world_context_errors (line 1715) | def test_world_context_errors(self): method test_add_world (line 1762) | def test_add_world(self): class TestModelValidation (line 1813) | class TestModelValidation(unittest.TestCase): method test_lock_inertia_on_shape_addition (line 1814) | def test_lock_inertia_on_shape_addition(self): method test_validate_structure_invalid_equality_constraint_body (line 1837) | def test_validate_structure_invalid_equality_constraint_body(self): method test_validate_structure_invalid_equality_constraint_joint (line 1859) | def test_validate_structure_invalid_equality_constraint_joint(self): method test_validate_structure_array_length_mismatch (line 1886) | def test_validate_structure_array_length_mismatch(self): method test_skip_all_validations (line 1903) | def test_skip_all_validations(self): method test_skip_validation_structure (line 1924) | def test_skip_validation_structure(self): method test_control_clear (line 1954) | def test_control_clear(self): FILE: newton/tests/test_mujoco_general_actuators.py function find_joint_by_name (line 64) | def find_joint_by_name(builder, joint_name): function get_qd_start (line 72) | def get_qd_start(builder, joint_name): class TestMuJoCoActuators (line 77) | class TestMuJoCoActuators(unittest.TestCase): method test_parsing_ctrl_direct_false (line 80) | def test_parsing_ctrl_direct_false(self): method test_parsing_ctrl_direct_true (line 207) | def test_parsing_ctrl_direct_true(self): method test_multiworld_ctrl_direct_false (line 262) | def test_multiworld_ctrl_direct_false(self): method test_multiworld_ctrl_direct_true (line 315) | def test_multiworld_ctrl_direct_true(self): method test_ordering_matches_native_mujoco (line 374) | def test_ordering_matches_native_mujoco(self): method test_multiworld_joint_target_gains_update (line 403) | def test_multiworld_joint_target_gains_update(self): method test_multiworld_ctrl_direct_gains_update (line 465) | def test_multiworld_ctrl_direct_gains_update(self): method test_combined_joint_per_dof_actuators (line 522) | def test_combined_joint_per_dof_actuators(self): method test_usd_actuator_cartpole (line 592) | def test_usd_actuator_cartpole(self): FILE: newton/tests/test_mujoco_solver.py class TestMuJoCoSolver (line 20) | class TestMuJoCoSolver(unittest.TestCase): method _run_substeps_for_frame (line 21) | def _run_substeps_for_frame(self, sim_dt, sim_substeps): method test_setup_completes (line 27) | def test_setup_completes(self): method test_ls_parallel_option (line 34) | def test_ls_parallel_option(self): method test_tolerance_options (line 51) | def test_tolerance_options(self): method test_render_trajectory (line 80) | def test_render_trajectory(self): class TestMuJoCoSolverPropertiesBase (line 165) | class TestMuJoCoSolverPropertiesBase(TestMuJoCoSolver): method setUp (line 168) | def setUp(self): class TestMuJoCoSolverMassProperties (line 266) | class TestMuJoCoSolverMassProperties(TestMuJoCoSolverPropertiesBase): method test_randomize_body_mass (line 267) | def test_randomize_body_mass(self): method test_randomize_body_com (line 317) | def test_randomize_body_com(self): method test_randomize_body_inertia (line 375) | def test_randomize_body_inertia(self): method test_body_inertia_eigendecomposition_determinant (line 473) | def test_body_inertia_eigendecomposition_determinant(self): method test_body_gravcomp (line 541) | def test_body_gravcomp(self): method test_body_subtreemass_update (line 605) | def test_body_subtreemass_update(self): method test_derived_fields_updated_correctly (line 674) | def test_derived_fields_updated_correctly(self): method test_body_gravcomp_spec_conversion (line 752) | def test_body_gravcomp_spec_conversion(self): class TestMuJoCoSolverJointProperties (line 798) | class TestMuJoCoSolverJointProperties(TestMuJoCoSolverPropertiesBase): method test_joint_attributes_registration_and_updates (line 799) | def test_joint_attributes_registration_and_updates(self): method test_jnt_solimp_conversion_and_updates (line 967) | def test_jnt_solimp_conversion_and_updates(self): method test_limit_margin_runtime_update (line 1174) | def test_limit_margin_runtime_update(self): method test_dof_passive_stiffness_damping_multiworld (line 1302) | def test_dof_passive_stiffness_damping_multiworld(self): method test_joint_limit_solref_conversion (line 1403) | def test_joint_limit_solref_conversion(self): method test_joint_limit_range_conversion (line 1499) | def test_joint_limit_range_conversion(self): method test_jnt_actgravcomp_conversion (line 1633) | def test_jnt_actgravcomp_conversion(self): method test_solimp_friction_conversion_and_update (line 1673) | def test_solimp_friction_conversion_and_update(self): method test_solref_friction_conversion_and_update (line 1782) | def test_solref_friction_conversion_and_update(self): class TestMuJoCoSolverKinematicBodyProperties (line 1887) | class TestMuJoCoSolverKinematicBodyProperties(unittest.TestCase): method _build_model (line 1891) | def _build_model(*, root_kinematic: bool) -> tuple[newton.Model, int]: method _compute_dof_to_body (line 1907) | def _compute_dof_to_body(model: newton.Model) -> np.ndarray: method _assert_armature_matches_flags (line 1920) | def _assert_armature_matches_flags(self, model: newton.Model, solver: ... method test_floating_kinematic_body_from_add_body_applies_high_armature (line 1957) | def test_floating_kinematic_body_from_add_body_applies_high_armature(s... method test_kinematic_body_applies_high_armature_on_conversion (line 1976) | def test_kinematic_body_applies_high_armature_on_conversion(self): method test_body_properties_runtime_update_and_dof_updates (line 1985) | def test_body_properties_runtime_update_and_dof_updates(self): method test_fixed_root_attached_to_world_uses_mocap_and_tracks_pose (line 2009) | def test_fixed_root_attached_to_world_uses_mocap_and_tracks_pose(self): class TestMuJoCoSolverGeomProperties (line 2097) | class TestMuJoCoSolverGeomProperties(TestMuJoCoSolverPropertiesBase): method test_geom_property_conversion (line 2098) | def test_geom_property_conversion(self): method test_geom_property_update (line 2243) | def test_geom_property_update(self): method test_mesh_maxhullvert_attribute (line 2468) | def test_mesh_maxhullvert_attribute(self): method test_mujoco_solver_uses_mesh_maxhullvert (line 2482) | def test_mujoco_solver_uses_mesh_maxhullvert(self): method test_heterogeneous_per_shape_friction (line 2515) | def test_heterogeneous_per_shape_friction(self): method test_geom_priority_conversion (line 2632) | def test_geom_priority_conversion(self): method test_geom_solimp_conversion_and_update (line 2668) | def test_geom_solimp_conversion_and_update(self): method test_geom_gap_always_zero (line 2778) | def test_geom_gap_always_zero(self): method test_geom_margin_from_shape_margin (line 2845) | def test_geom_margin_from_shape_margin(self): method test_geom_solmix_conversion_and_update (line 2916) | def test_geom_solmix_conversion_and_update(self): class TestMuJoCoSolverEqualityConstraintProperties (line 3015) | class TestMuJoCoSolverEqualityConstraintProperties(TestMuJoCoSolverPrope... method test_eq_solref_conversion_and_update (line 3016) | def test_eq_solref_conversion_and_update(self): method test_eq_solimp_conversion_and_update (line 3126) | def test_eq_solimp_conversion_and_update(self): method test_eq_solimp_spec_conversion (line 3242) | def test_eq_solimp_spec_conversion(self): method test_eq_data_conversion_and_update (line 3295) | def test_eq_data_conversion_and_update(self): method test_eq_active_conversion_and_update (line 3559) | def test_eq_active_conversion_and_update(self): method test_eq_data_connect_preserves_second_anchor (line 3667) | def test_eq_data_connect_preserves_second_anchor(self): class TestMuJoCoSolverFixedTendonProperties (line 3721) | class TestMuJoCoSolverFixedTendonProperties(TestMuJoCoSolverPropertiesBa... method test_tendon_properties_conversion_and_update (line 3724) | def test_tendon_properties_conversion_and_update(self): class TestMuJoCoSolverNewtonContacts (line 3875) | class TestMuJoCoSolverNewtonContacts(unittest.TestCase): method setUp (line 3876) | def setUp(self): method test_sphere_on_plane_with_newton_contacts (line 3898) | def test_sphere_on_plane_with_newton_contacts(self): method test_efc_address_init (line 3929) | def test_efc_address_init(self): class TestImmovableContactFiltering (line 3974) | class TestImmovableContactFiltering(unittest.TestCase): method _build_kinematic_on_ground (line 3984) | def _build_kinematic_on_ground(): method _build_two_kinematic_bodies (line 4002) | def _build_two_kinematic_bodies(): method _build_dynamic_on_ground (line 4028) | def _build_dynamic_on_ground(): method _get_nacon (line 4044) | def _get_nacon(self, model): method test_kinematic_on_ground_contacts_filtered (line 4061) | def test_kinematic_on_ground_contacts_filtered(self): method test_two_kinematic_bodies_contacts_filtered (line 4067) | def test_two_kinematic_bodies_contacts_filtered(self): method test_dynamic_on_ground_contacts_preserved (line 4073) | def test_dynamic_on_ground_contacts_preserved(self): method test_kinematic_vs_dynamic_contacts_preserved (line 4079) | def test_kinematic_vs_dynamic_contacts_preserved(self): method test_kinematic_vs_fixed_root_contacts_filtered (line 4106) | def test_kinematic_vs_fixed_root_contacts_filtered(self): method test_fixed_root_vs_ground_contacts_filtered (line 4138) | def test_fixed_root_vs_ground_contacts_filtered(self): method test_dynamic_vs_fixed_root_contacts_preserved (line 4158) | def test_dynamic_vs_fixed_root_contacts_preserved(self): method test_two_fixed_root_bodies_contacts_filtered (line 4185) | def test_two_fixed_root_bodies_contacts_filtered(self): method test_solver_does_not_freeze_with_kinematic_free_joint_on_ground (line 4217) | def test_solver_does_not_freeze_with_kinematic_free_joint_on_ground(se... class TestMuJoCoContactForce (line 4271) | class TestMuJoCoContactForce(unittest.TestCase): method _build_box_on_ground (line 4277) | def _build_box_on_ground(self, *, friction: float = 1.0): method _run_and_collect_forces (line 4291) | def _run_and_collect_forces(self, model, cone: str = "pyramidal", sett... method test_pyramidal_cone_weight (line 4331) | def test_pyramidal_cone_weight(self): method test_elliptic_cone_weight (line 4342) | def test_elliptic_cone_weight(self): method _build_incline_model (line 4352) | def _build_incline_model(self, incline_angle: float): method test_contact_forces_on_incline (line 4376) | def test_contact_forces_on_incline(self): class TestMuJoCoValidation (line 4385) | class TestMuJoCoValidation(unittest.TestCase): method _create_homogeneous_model (line 4388) | def _create_homogeneous_model(self, world_count=2, with_ground_plane=T... method test_valid_homogeneous_model_passes (line 4408) | def test_valid_homogeneous_model_passes(self): method test_valid_model_with_global_shape_passes (line 4415) | def test_valid_model_with_global_shape_passes(self): method test_heterogeneous_body_count_fails (line 4422) | def test_heterogeneous_body_count_fails(self): method test_heterogeneous_shape_count_fails (line 4449) | def test_heterogeneous_shape_count_fails(self): method test_mismatched_joint_types_fails (line 4473) | def test_mismatched_joint_types_fails(self): method test_mismatched_shape_types_fails (line 4496) | def test_mismatched_shape_types_fails(self): method test_global_body_fails (line 4519) | def test_global_body_fails(self): method test_global_joint_fails (line 4553) | def test_global_joint_fails(self): method test_single_world_model_skips_validation (line 4585) | def test_single_world_model_skips_validation(self): method test_many_worlds_homogeneous_passes (line 4593) | def test_many_worlds_homogeneous_passes(self): method test_heterogeneous_equality_constraint_count_fails (line 4600) | def test_heterogeneous_equality_constraint_count_fails(self): method test_mismatched_equality_constraint_types_fails (line 4631) | def test_mismatched_equality_constraint_types_fails(self): method test_global_equality_constraint_fails (line 4662) | def test_global_equality_constraint_fails(self): method test_body_missing_joint (line 4688) | def test_body_missing_joint(self): class TestMuJoCoConversion (line 4705) | class TestMuJoCoConversion(unittest.TestCase): method test_no_shapes_separate_worlds_false (line 4706) | def test_no_shapes_separate_worlds_false(self): method test_no_shapes_separate_worlds_true (line 4719) | def test_no_shapes_separate_worlds_true(self): method test_separate_worlds_false_multi_world_validation (line 4734) | def test_separate_worlds_false_multi_world_validation(self): method test_separate_worlds_false_single_world_works (line 4764) | def test_separate_worlds_false_single_world_works(self): method test_joint_transform_composition (line 4778) | def test_joint_transform_composition(self): method test_diagonal_inertia_preserves_sameframe (line 4898) | def test_diagonal_inertia_preserves_sameframe(self): method test_global_joint_solver_params (line 4931) | def test_global_joint_solver_params(self): method test_joint_frame_update (line 5027) | def test_joint_frame_update(self): method test_shape_offset_across_worlds (line 5154) | def test_shape_offset_across_worlds(self): method test_mesh_geoms_across_worlds (line 5233) | def test_mesh_geoms_across_worlds(self): class TestMuJoCoAttributes (line 5365) | class TestMuJoCoAttributes(unittest.TestCase): method test_custom_attributes_from_code (line 5366) | def test_custom_attributes_from_code(self): method test_custom_attributes_from_mjcf (line 5389) | def test_custom_attributes_from_mjcf(self): method test_custom_attributes_from_urdf (line 5417) | def test_custom_attributes_from_urdf(self): method test_custom_attributes_from_usd (line 5465) | def test_custom_attributes_from_usd(self): method test_fixed_tendon_joint_addressing_from_usd (line 5497) | def test_fixed_tendon_joint_addressing_from_usd(self): method test_fixed_tendon_multi_joint_addressing_from_usd (line 5608) | def test_fixed_tendon_multi_joint_addressing_from_usd(self): method test_usd_tendon_actuator_resolution_when_actuator_comes_first (line 5684) | def test_usd_tendon_actuator_resolution_when_actuator_comes_first(self): method test_usd_actuator_auto_limits_and_partial_ranges (line 5736) | def test_usd_actuator_auto_limits_and_partial_ranges(self): method test_mjc_damping_from_usd_via_schema_resolver (line 5802) | def test_mjc_damping_from_usd_via_schema_resolver(self): method test_ref_coordinate_conversion (line 5846) | def test_ref_coordinate_conversion(self): class TestMuJoCoOptions (line 5912) | class TestMuJoCoOptions(unittest.TestCase): method _create_multiworld_model (line 5915) | def _create_multiworld_model(self, world_count=3): method test_impratio_multiworld_conversion (line 5929) | def test_impratio_multiworld_conversion(self): method test_impratio_invalid_values_guarded (line 5983) | def test_impratio_invalid_values_guarded(self): method test_scalar_options_constructor_override (line 6031) | def test_scalar_options_constructor_override(self): method test_vector_options_multiworld_conversion (line 6100) | def test_vector_options_multiworld_conversion(self): method test_once_numeric_options_shared_across_worlds (line 6156) | def test_once_numeric_options_shared_across_worlds(self): method test_once_numeric_options_constructor_override (line 6185) | def test_once_numeric_options_constructor_override(self): method test_jacobian_from_custom_attribute (line 6212) | def test_jacobian_from_custom_attribute(self): method test_jacobian_constructor_override (line 6226) | def test_jacobian_constructor_override(self): method test_enum_options_use_custom_attributes_when_not_provided (line 6240) | def test_enum_options_use_custom_attributes_when_not_provided(self): method test_enum_options_use_defaults_when_no_custom_attribute (line 6284) | def test_enum_options_use_defaults_when_no_custom_attribute(self): method test_iterations_use_custom_attributes_when_not_provided (line 6318) | def test_iterations_use_custom_attributes_when_not_provided(self): method test_iterations_use_defaults_when_no_custom_attribute (line 6343) | def test_iterations_use_defaults_when_no_custom_attribute(self): method test_iterations_constructor_override (line 6363) | def test_iterations_constructor_override(self): class TestMuJoCoArticulationConversion (line 6381) | class TestMuJoCoArticulationConversion(unittest.TestCase): method test_loop_joints_only (line 6382) | def test_loop_joints_only(self): method test_mixed_loop_joints_and_equality_constraints (line 6427) | def test_mixed_loop_joints_and_equality_constraints(self): method test_loop_joint_coordinate_conversion_offset (line 6478) | def test_loop_joint_coordinate_conversion_offset(self): method test_ball_loop_joint_coordinate_conversion_offset (line 6570) | def test_ball_loop_joint_coordinate_conversion_offset(self): class TestMuJoCoSolverPairProperties (line 6636) | class TestMuJoCoSolverPairProperties(unittest.TestCase): method test_pair_properties_conversion_and_update (line 6639) | def test_pair_properties_conversion_and_update(self): method test_global_pair_exported_to_spec (line 6878) | def test_global_pair_exported_to_spec(self): method test_joint_dof_label_resolution_all_joint_types (line 6906) | def test_joint_dof_label_resolution_all_joint_types(self): class TestMuJoCoSolverMimicConstraints (line 7020) | class TestMuJoCoSolverMimicConstraints(unittest.TestCase): method _make_two_revolute_model (line 7023) | def _make_two_revolute_model(self, coef0=0.0, coef1=1.0, enabled=True): method test_mimic_constraint_conversion (line 7045) | def test_mimic_constraint_conversion(self): method test_mimic_constraint_runtime_update (line 7063) | def test_mimic_constraint_runtime_update(self): method test_mimic_no_constraints (line 7083) | def test_mimic_no_constraints(self): method test_mimic_mixed_with_equality_constraints (line 7097) | def test_mimic_mixed_with_equality_constraints(self): method test_mimic_constraint_simulation (line 7121) | def test_mimic_constraint_simulation(self): method test_mimic_constraint_multi_world_randomized (line 7159) | def test_mimic_constraint_multi_world_randomized(self): class TestMuJoCoSolverFreeJointBodyPos (line 7201) | class TestMuJoCoSolverFreeJointBodyPos(unittest.TestCase): method test_free_joint_body_pos (line 7204) | def test_free_joint_body_pos(self): class TestMuJoCoSolverZeroMassBody (line 7238) | class TestMuJoCoSolverZeroMassBody(unittest.TestCase): method test_zero_mass_body (line 7239) | def test_zero_mass_body(self): class TestMuJoCoSolverQpos0 (line 7265) | class TestMuJoCoSolverQpos0(unittest.TestCase): method test_free_joint_qpos0 (line 7270) | def test_free_joint_qpos0(self): method test_hinge_with_ref_qpos0 (line 7290) | def test_hinge_with_ref_qpos0(self): method test_slide_with_ref_qpos0 (line 7311) | def test_slide_with_ref_qpos0(self): method test_ball_joint_qpos0 (line 7331) | def test_ball_joint_qpos0(self): method test_hinge_no_ref_qpos0 (line 7350) | def test_hinge_no_ref_qpos0(self): method test_mixed_model_qpos0 (line 7367) | def test_mixed_model_qpos0(self): method test_hinge_springref_qpos_spring (line 7402) | def test_hinge_springref_qpos_spring(self): method test_free_joint_qpos_spring_matches_qpos0 (line 7423) | def test_free_joint_qpos_spring_matches_qpos0(self): method test_slide_springref_qpos_spring (line 7439) | def test_slide_springref_qpos_spring(self): method test_hinge_ref_newton_to_mujoco (line 7458) | def test_hinge_ref_newton_to_mujoco(self): method test_hinge_ref_mujoco_to_newton (line 7481) | def test_hinge_ref_mujoco_to_newton(self): method test_slide_ref_roundtrip (line 7508) | def test_slide_ref_roundtrip(self): method test_free_joint_position_roundtrip (line 7545) | def test_free_joint_position_roundtrip(self): method _compare_body_positions (line 7579) | def _compare_body_positions(self, model, solver, state, body_names, at... method test_ref_fk_matches_mujoco (line 7605) | def test_ref_fk_matches_mujoco(self): method test_ref_fk_after_stepping (line 7630) | def test_ref_fk_after_stepping(self): method test_multi_joint_ref_fk (line 7653) | def test_multi_joint_ref_fk(self): method test_multiworld_free_joint_qpos0_differs (line 7680) | def test_multiworld_free_joint_qpos0_differs(self): method test_multiworld_hinge_ref_qpos0_differs (line 7707) | def test_multiworld_hinge_ref_qpos0_differs(self): method test_dof_ref_runtime_change_updates_qpos0 (line 7736) | def test_dof_ref_runtime_change_updates_qpos0(self): method test_ref_zero_no_offset (line 7766) | def test_ref_zero_no_offset(self): method test_free_joint_non_identity_orientation_qpos0 (line 7789) | def test_free_joint_non_identity_orientation_qpos0(self): class TestMuJoCoSolverDuplicateBodyNames (line 7812) | class TestMuJoCoSolverDuplicateBodyNames(unittest.TestCase): method test_body_actuator_with_duplicated_body_names (line 7813) | def test_body_actuator_with_duplicated_body_names(self): method test_equality_connect_constraint_with_duplicated_body_names (line 7838) | def test_equality_connect_constraint_with_duplicated_body_names(self): method test_equality_weld_constraint_with_duplicated_body_names (line 7909) | def test_equality_weld_constraint_with_duplicated_body_names(self): method test_joint_drive_with_duplicated_body_names (line 7981) | def test_joint_drive_with_duplicated_body_names(self): class TestActuatorDampratio (line 8052) | class TestActuatorDampratio(unittest.TestCase): method setUpClass (line 8080) | def setUpClass(cls): method test_dampratio_biasprm2_nonzero (line 8086) | def test_dampratio_biasprm2_nonzero(self): method test_explicit_kv_biasprm2 (line 8095) | def test_explicit_kv_biasprm2(self): method test_motor_biasprm_zero (line 8101) | def test_motor_biasprm_zero(self): method test_mjw_model_matches_compiled (line 8106) | def test_mjw_model_matches_compiled(self): method test_dampratio_custom_attribute_parsed (line 8118) | def test_dampratio_custom_attribute_parsed(self): method test_runtime_dampratio_update (line 8125) | def test_runtime_dampratio_update(self): class TestActuatorDampratioMultiWorld (line 8136) | class TestActuatorDampratioMultiWorld(unittest.TestCase): method setUpClass (line 8143) | def setUpClass(cls): method test_biasprm2_consistent_across_worlds (line 8154) | def test_biasprm2_consistent_across_worlds(self): class TestActuatorLengthRangeRuntime (line 8170) | class TestActuatorLengthRangeRuntime(unittest.TestCase): method setUpClass (line 8188) | def setUpClass(cls): method test_lengthrange_updates_with_gear (line 8195) | def test_lengthrange_updates_with_gear(self): class TestActuatorDampratioMultiWorldRuntime (line 8209) | class TestActuatorDampratioMultiWorldRuntime(unittest.TestCase): method setUpClass (line 8227) | def setUpClass(cls): method test_per_world_acc0_and_dampratio (line 8237) | def test_per_world_acc0_and_dampratio(self): class TestActuatorInheritrange (line 8265) | class TestActuatorInheritrange(unittest.TestCase): method setUpClass (line 8287) | def setUpClass(cls): method test_ctrlrange_matches_joint_range (line 8293) | def test_ctrlrange_matches_joint_range(self): method test_ctrllimited_set (line 8298) | def test_ctrllimited_set(self): class TestActuatorInheritrangeFractional (line 8303) | class TestActuatorInheritrangeFractional(unittest.TestCase): method setUpClass (line 8325) | def setUpClass(cls): method test_ctrlrange_is_half (line 8331) | def test_ctrlrange_is_half(self): function _create_actuator_test_stage (line 8339) | def _create_actuator_test_stage(extra_joint_attrs=None, extra_actuator_a... class TestUsdActuatorTypeAttributes (line 8380) | class TestUsdActuatorTypeAttributes(unittest.TestCase): method setUpClass (line 8384) | def setUpClass(cls): method test_type_attributes_parsed_and_compiled (line 8405) | def test_type_attributes_parsed_and_compiled(self): class TestUsdActuatorInheritrange (line 8419) | class TestUsdActuatorInheritrange(unittest.TestCase): method _build_and_solve (line 8432) | def _build_and_solve(self, inherit_range_value): method test_inheritrange_ctrlrange (line 8463) | def test_inheritrange_ctrlrange(self): class TestUsdPositionShortcutBiasprmDampratio (line 8482) | class TestUsdPositionShortcutBiasprmDampratio(unittest.TestCase): method setUpClass (line 8489) | def setUpClass(cls): method test_position_shortcut_with_dampratio_from_biasprm (line 8512) | def test_position_shortcut_with_dampratio_from_biasprm(self): class TestEqualityWeldConstraintDefaults (line 8523) | class TestEqualityWeldConstraintDefaults(unittest.TestCase): method test_equality_weld_constraint_defaults (line 8524) | def test_equality_weld_constraint_defaults(self): method test_weld_constraint_quat_spec_conversion (line 8616) | def test_weld_constraint_quat_spec_conversion(self): class TestUpdateContactsPointPositions (line 8680) | class TestUpdateContactsPointPositions(unittest.TestCase): method test_contact_points_populated (line 8683) | def test_contact_points_populated(self): FILE: newton/tests/test_narrow_phase.py function check_normal_direction (line 32) | def check_normal_direction(pos_a, pos_b, normal, tolerance=1e-5): function check_contact_position_midpoint_spheres (line 43) | def check_contact_position_midpoint_spheres( function distance_point_to_box (line 70) | def distance_point_to_box(point, box_pos, box_rot, box_size): function distance_point_to_capsule (line 89) | def distance_point_to_capsule(point, capsule_pos, capsule_axis, capsule_... function distance_point_to_plane (line 106) | def distance_point_to_plane(point, plane_pos, plane_normal): function distance_point_to_ellipsoid (line 111) | def distance_point_to_ellipsoid(point, ellipsoid_pos, ellipsoid_rot, sem... function check_surface_reconstruction (line 138) | def check_surface_reconstruction(contact_pos, normal, penetration_depth,... class TestNarrowPhase (line 167) | class TestNarrowPhase(unittest.TestCase): method setUp (line 170) | def setUp(self): method _create_geometry_arrays (line 181) | def _create_geometry_arrays(self, geom_list): method _run_narrow_phase (line 263) | def _run_narrow_phase(self, geom_list, pairs): method test_sphere_sphere_separated (line 336) | def test_sphere_sphere_separated(self): method test_sphere_sphere_touching (line 367) | def test_sphere_sphere_touching(self): method test_sphere_sphere_penetrating (line 421) | def test_sphere_sphere_penetrating(self): method test_sphere_sphere_different_radii (line 479) | def test_sphere_sphere_different_radii(self): method test_sphere_box_penetrating (line 520) | def test_sphere_box_penetrating(self): method test_sphere_box_corner_collision (line 580) | def test_sphere_box_corner_collision(self): method test_box_box_face_collision (line 624) | def test_box_box_face_collision(self): method test_box_box_edge_collision (line 697) | def test_box_box_edge_collision(self): method test_sphere_capsule_cylinder_side (line 718) | def test_sphere_capsule_cylinder_side(self): method test_sphere_capsule_cap (line 754) | def test_sphere_capsule_cap(self): method test_capsule_capsule_parallel (line 790) | def test_capsule_capsule_parallel(self): method test_capsule_capsule_crossed (line 812) | def test_capsule_capsule_crossed(self): method test_plane_sphere_above (line 885) | def test_plane_sphere_above(self): method test_plane_sphere_touching (line 909) | def test_plane_sphere_touching(self): method test_plane_sphere_penetrating (line 970) | def test_plane_sphere_penetrating(self): method test_plane_box_resting (line 1017) | def test_plane_box_resting(self): method test_plane_capsule_resting (line 1072) | def test_plane_capsule_resting(self): method test_multiple_pairs (line 1128) | def test_multiple_pairs(self): method test_cylinder_sphere (line 1162) | def test_cylinder_sphere(self): method test_no_self_collision (line 1185) | def test_no_self_collision(self): method test_contact_normal_unit_length (line 1201) | def test_contact_normal_unit_length(self): method test_contact_tangent_perpendicular (line 1233) | def test_contact_tangent_perpendicular(self): method test_per_shape_gap (line 1260) | def test_per_shape_gap(self): method _assert_mesh_mesh_scaled_separated_positive_penetration (line 1405) | def _assert_mesh_mesh_scaled_separated_positive_penetration(self, narr... method test_mesh_mesh_scaled_separated_positive_penetration (line 1499) | def test_mesh_mesh_scaled_separated_positive_penetration(self): method test_mesh_mesh_scaled_separated_positive_penetration_no_reduction (line 1503) | def test_mesh_mesh_scaled_separated_positive_penetration_no_reduction(... method test_ellipsoid_ellipsoid_separated (line 1518) | def test_ellipsoid_ellipsoid_separated(self): method test_ellipsoid_ellipsoid_penetrating (line 1547) | def test_ellipsoid_ellipsoid_penetrating(self): method test_ellipsoid_sphere_penetrating (line 1584) | def test_ellipsoid_sphere_penetrating(self): method test_ellipsoid_box_penetrating (line 1630) | def test_ellipsoid_box_penetrating(self): method test_ellipsoid_plane_penetrating (line 1664) | def test_ellipsoid_plane_penetrating(self): method test_ellipsoid_capsule_penetrating (line 1696) | def test_ellipsoid_capsule_penetrating(self): method test_ellipsoid_different_orientations (line 1723) | def test_ellipsoid_different_orientations(self): method test_ellipsoid_sphere_equivalent (line 1754) | def test_ellipsoid_sphere_equivalent(self): class TestBufferOverflowWarnings (line 1794) | class TestBufferOverflowWarnings(unittest.TestCase): method _make_ellipsoids (line 1798) | def _make_ellipsoids(n, spacing=1.5): method _make_spheres (line 1812) | def _make_spheres(n, spacing=1.5): method _create_geometry_arrays (line 1825) | def _create_geometry_arrays(self, geom_list): method test_gjk_buffer_overflow (line 1865) | def test_gjk_buffer_overflow(self): method test_broad_phase_buffer_overflow (line 1924) | def test_broad_phase_buffer_overflow(self): FILE: newton/tests/test_obb.py class TestOBB (line 13) | class TestOBB(unittest.TestCase): method test_empty_vertices (line 14) | def test_empty_vertices(self): method test_single_vertex (line 28) | def test_single_vertex(self): method test_axis_aligned_box (line 42) | def test_axis_aligned_box(self): method test_rotated_box (line 72) | def test_rotated_box(self): method test_comparable_volumes (line 160) | def test_comparable_volumes(self): method test_concave_mesh (line 198) | def test_concave_mesh(self): method test_symmetric_shape (line 234) | def test_symmetric_shape(self): method test_deterministic_results (line 271) | def test_deterministic_results(self): FILE: newton/tests/test_parent_force.py class TestParentForce (line 21) | class TestParentForce(unittest.TestCase): function _setup_pendulum (line 25) | def _setup_pendulum( function test_parent_force_static_pendulum (line 52) | def test_parent_force_static_pendulum(test, device, solver_fn): function test_parent_force_centrifugal (line 87) | def test_parent_force_centrifugal(test, device, solver_fn): function test_apply_body_f (line 117) | def test_apply_body_f(test, device, solver_fn): FILE: newton/tests/test_pendulum_revolute_vs_d6.py class TestPendulumRevoluteVsD6 (line 13) | class TestPendulumRevoluteVsD6(unittest.TestCase): method test_pendulum_revolute_vs_d6_mujoco (line 15) | def test_pendulum_revolute_vs_d6_mujoco(self): FILE: newton/tests/test_physics_validation.py class TestPhysicsValidation (line 13) | class TestPhysicsValidation(unittest.TestCase): function test_free_fall (line 21) | def test_free_fall(test, device, solver_fn): function test_pendulum_period (line 83) | def test_pendulum_period(test, device, solver_fn, uses_generalized_coord... function test_energy_conservation (line 161) | def test_energy_conservation(test, device, solver_fn, uses_generalized_c... function test_projectile_motion (line 256) | def test_projectile_motion(test, device, solver_fn, uses_generalized_coo... function test_joint_actuation (line 321) | def test_joint_actuation(test, device, solver_fn): function test_momentum_conservation (line 413) | def test_momentum_conservation(test, device, solver_fn, uses_generalized... function test_static_friction (line 505) | def test_static_friction(test, device, solver_fn, uses_newton_contacts): function test_dynamic_friction (line 571) | def test_dynamic_friction(test, device, solver_fn, uses_newton_contacts,... function test_restitution (line 644) | def test_restitution(test, device, solver_fn): function test_restitution_mujoco (line 726) | def test_restitution_mujoco(test, device, solver_fn, use_mujoco_cpu): function _velocity_pd_kernel (line 825) | def _velocity_pd_kernel( function test_fourbar_linkage (line 837) | def test_fourbar_linkage(test, device, solver_fn, use_loop_joint=False): function test_revolute_loop_joint (line 1075) | def test_revolute_loop_joint(test, device, solver_fn): function test_ball_loop_joint (line 1255) | def test_ball_loop_joint(test, device, solver_fn): function test_fixed_loop_joint (line 1384) | def test_fixed_loop_joint(test, device, solver_fn): FILE: newton/tests/test_raycast.py class TestRaycast (line 23) | class TestRaycast(unittest.TestCase): function kernel_test_sphere (line 29) | def kernel_test_sphere( function kernel_test_box (line 41) | def kernel_test_box( function kernel_test_capsule (line 53) | def kernel_test_capsule( function kernel_test_cylinder (line 66) | def kernel_test_cylinder( function kernel_test_cone (line 79) | def kernel_test_cone( function kernel_test_geom (line 92) | def kernel_test_geom( function kernel_test_mesh (line 106) | def kernel_test_mesh( function test_ray_intersect_sphere (line 119) | def test_ray_intersect_sphere(test: TestRaycast, device: str): function test_ray_intersect_box (line 141) | def test_ray_intersect_box(test: TestRaycast, device: str): function test_ray_intersect_capsule (line 172) | def test_ray_intersect_capsule(test: TestRaycast, device: str): function test_ray_intersect_cylinder (line 197) | def test_ray_intersect_cylinder(test: TestRaycast, device: str): function test_ray_intersect_cone (line 228) | def test_ray_intersect_cone(test: TestRaycast, device: str): function test_geom_ray_intersect (line 259) | def test_geom_ray_intersect(test: TestRaycast, device: str): function test_ray_intersect_mesh (line 317) | def test_ray_intersect_mesh(test: TestRaycast, device: str): function test_mesh_ray_intersect_via_geom (line 400) | def test_mesh_ray_intersect_via_geom(test: TestRaycast, device: str): function test_convex_hull_ray_intersect_via_geom (line 436) | def test_convex_hull_ray_intersect_via_geom(test: TestRaycast, device: s... FILE: newton/tests/test_recorder.py class TestRecorder (line 24) | class TestRecorder(unittest.TestCase): function test_ringbuffer_basic (line 28) | def test_ringbuffer_basic(test: TestRecorder, device): function test_ringbuffer_edge_cases (line 72) | def test_ringbuffer_edge_cases(test: TestRecorder, device): function test_recorder_with_ringbuffer (line 109) | def test_recorder_with_ringbuffer(test: TestRecorder, device): function test_recorder_backward_compatibility (line 132) | def test_recorder_backward_compatibility(test: TestRecorder, device): function test_recorder_ringbuffer_save_load (line 151) | def test_recorder_ringbuffer_save_load(test: TestRecorder, device): function test_viewer_file_playback (line 205) | def test_viewer_file_playback(test: TestRecorder, device): function _compare_serialized_data (line 264) | def _compare_serialized_data(test, data1, data2): function _test_model_and_state_recorder_with_format (line 291) | def _test_model_and_state_recorder_with_format(test: TestRecorder, devic... function test_model_and_state_recorder_json (line 351) | def test_model_and_state_recorder_json(test: TestRecorder, device): function test_model_and_state_recorder_binary (line 356) | def test_model_and_state_recorder_binary(test: TestRecorder, device): function test_warp_dtype_roundtrip (line 426) | def test_warp_dtype_roundtrip(test: TestRecorder, device): function test_warp_dtype_roundtrip_binary (line 520) | def test_warp_dtype_roundtrip_binary(test: TestRecorder, device): function test_warp_dtype_file_roundtrip (line 552) | def test_warp_dtype_file_roundtrip(test: TestRecorder, device): function test_real_model_recording_roundtrip (line 645) | def test_real_model_recording_roundtrip(test: TestRecorder, device): FILE: newton/tests/test_remesh.py function create_unit_cube_mesh (line 38) | def create_unit_cube_mesh(center: np.ndarray | None = None) -> tuple[np.... function compute_distance_to_cube (line 62) | def compute_distance_to_cube( function classify_points_by_face (line 99) | def classify_points_by_face(points: np.ndarray, half_extent: float = 0.5... class TestPointCloudExtractor (line 132) | class TestPointCloudExtractor(unittest.TestCase): method setUpClass (line 136) | def setUpClass(cls): method test_extract_cube_produces_sufficient_points (line 140) | def test_extract_cube_produces_sufficient_points(self): method test_extract_cube_points_on_surface (line 158) | def test_extract_cube_points_on_surface(self): method test_extract_cube_covers_all_faces (line 184) | def test_extract_cube_covers_all_faces(self): method test_extract_cube_normals_unit_length (line 203) | def test_extract_cube_normals_unit_length(self): method test_extract_cube_normals_point_outward (line 219) | def test_extract_cube_normals_point_outward(self): method test_extract_translated_cube (line 244) | def test_extract_translated_cube(self): method test_parameter_validation_edge_segments (line 269) | def test_parameter_validation_edge_segments(self): method test_parameter_validation_resolution (line 277) | def test_parameter_validation_resolution(self): method test_extract_empty_mesh_raises (line 285) | def test_extract_empty_mesh_raises(self): method test_extract_invalid_indices_raises (line 298) | def test_extract_invalid_indices_raises(self): class TestSurfaceReconstructor (line 315) | class TestSurfaceReconstructor(unittest.TestCase): method setUpClass (line 319) | def setUpClass(cls): method test_reconstruct_cube_mesh (line 323) | def test_reconstruct_cube_mesh(self): method test_reconstruct_produces_reasonable_triangle_count (line 370) | def test_reconstruct_produces_reasonable_triangle_count(self): method test_parameter_validation (line 387) | def test_parameter_validation(self): method test_reconstruct_empty_pointcloud_raises (line 415) | def test_reconstruct_empty_pointcloud_raises(self): class TestVoxelHashGrid (line 427) | class TestVoxelHashGrid(unittest.TestCase): method setUpClass (line 431) | def setUpClass(cls): method test_init_valid_parameters (line 435) | def test_init_valid_parameters(self): method test_init_invalid_voxel_size_raises (line 446) | def test_init_invalid_voxel_size_raises(self): method test_finalize_empty_grid (line 454) | def test_finalize_empty_grid(self): method test_accumulate_single_point (line 464) | def test_accumulate_single_point(self): method test_accumulate_multiple_points_same_voxel (line 526) | def test_accumulate_multiple_points_same_voxel(self): method test_accumulate_points_different_voxels (line 633) | def test_accumulate_points_different_voxels(self): method test_clear_resets_grid (line 718) | def test_clear_resets_grid(self): method test_negative_coordinates (line 762) | def test_negative_coordinates(self): method test_capacity_power_of_two (line 854) | def test_capacity_power_of_two(self): method test_voxel_boundary_behavior (line 872) | def test_voxel_boundary_behavior(self): method test_very_small_voxel_size (line 944) | def test_very_small_voxel_size(self): method test_properties_accessible (line 952) | def test_properties_accessible(self): class TestRemeshHelperFunctions (line 964) | class TestRemeshHelperFunctions(unittest.TestCase): method test_compute_bounding_sphere_empty_raises (line 967) | def test_compute_bounding_sphere_empty_raises(self): method test_compute_bounding_sphere_single_vertex (line 972) | def test_compute_bounding_sphere_single_vertex(self): method test_compute_bounding_sphere_cube (line 980) | def test_compute_bounding_sphere_cube(self): method test_compute_camera_basis_zero_direction_raises (line 992) | def test_compute_camera_basis_zero_direction_raises(self): method test_compute_camera_basis_produces_orthonormal (line 997) | def test_compute_camera_basis_produces_orthonormal(self): method test_compute_camera_basis_multiple_directions (line 1013) | def test_compute_camera_basis_multiple_directions(self): class TestRemeshUnifiedAPI (line 1044) | class TestRemeshUnifiedAPI(unittest.TestCase): method setUpClass (line 1048) | def setUpClass(cls): method test_remesh_poisson_array_api (line 1051) | def test_remesh_poisson_array_api(self): method test_remesh_mesh_poisson (line 1080) | def test_remesh_mesh_poisson(self): FILE: newton/tests/test_rigid_contact.py function simulate (line 19) | def simulate(solver, model, state_0, state_1, control, contacts, sim_dt,... function test_shapes_on_plane (line 28) | def test_shapes_on_plane(test, device, solver_fn): function test_shape_collisions_gjk_mpr_multicontact (line 230) | def test_shape_collisions_gjk_mpr_multicontact(test, device, verbose=Fal... function test_mesh_box_on_ground (line 506) | def test_mesh_box_on_ground(test, device): function test_mujoco_warp_newton_contacts (line 597) | def test_mujoco_warp_newton_contacts(test, device): function test_mujoco_convex_on_convex (line 694) | def test_mujoco_convex_on_convex(test, device, solver_fn): function test_box_drop (line 766) | def test_box_drop(test, device, solver_fn): class TestRigidContact (line 846) | class TestRigidContact(unittest.TestCase): FILE: newton/tests/test_robot_composer.py class RobotComposerSim (line 17) | class RobotComposerSim: method __init__ (line 36) | def __init__(self, device, do_rendering=False, num_frames=50, world_co... method _download_assets (line 95) | def _download_assets(self): method _build_scene (line 167) | def _build_scene(self, builder): method _build_ur5e_mjcf_with_base_joint_and_robotiq_gripper_mjcf (line 179) | def _build_ur5e_mjcf_with_base_joint_and_robotiq_gripper_mjcf(self, bu... method _build_ur5e_mjcf_with_base_joint_and_leap_hand_mjcf (line 248) | def _build_ur5e_mjcf_with_base_joint_and_leap_hand_mjcf(self, builder,... method _build_franka_urdf_with_base_joint_and_allegro_hand_mjcf (line 302) | def _build_franka_urdf_with_base_joint_and_allegro_hand_mjcf(self, bui... method _build_ur10_usd_with_base_joint (line 368) | def _build_ur10_usd_with_base_joint(self, builder, pos): method capture (line 407) | def capture(self): method simulate (line 415) | def simulate(self): method step (line 423) | def step(self): method render (line 433) | def render(self): method gui (line 439) | def gui(self, imgui): method run (line 462) | def run(self): function test_robot_composer (line 475) | def test_robot_composer(test, device): class TestRobotComposer (line 508) | class TestRobotComposer(unittest.TestCase): FILE: newton/tests/test_runtime_gravity.py class TestRuntimeGravity (line 14) | class TestRuntimeGravity(unittest.TestCase): function test_runtime_gravity_particles (line 18) | def test_runtime_gravity_particles(test, device, solver_fn): function test_runtime_gravity_bodies (line 70) | def test_runtime_gravity_bodies(test, device, solver_fn): function test_gravity_fallback (line 112) | def test_gravity_fallback(test, device): function test_runtime_gravity_with_cuda_graph (line 141) | def test_runtime_gravity_with_cuda_graph(test, device): function test_per_world_gravity_bodies (line 212) | def test_per_world_gravity_bodies(test, device, solver_fn): function test_per_world_gravity_bodies_mujoco_warp (line 267) | def test_per_world_gravity_bodies_mujoco_warp(test, device): function test_set_gravity_per_world (line 319) | def test_set_gravity_per_world(test, device): function test_set_gravity_array (line 369) | def test_set_gravity_array(test, device): function test_set_gravity_invalid_world (line 414) | def test_set_gravity_invalid_world(test, device): function test_set_gravity_invalid_array_size (line 428) | def test_set_gravity_invalid_array_size(test, device): function test_replicate_gravity (line 443) | def test_replicate_gravity(test, device): function test_replicate_gravity_nonzero (line 463) | def test_replicate_gravity_nonzero(test, device): function test_replicate_gravity_simulation (line 483) | def test_replicate_gravity_simulation(test, device): function test_add_world_copies_gravity (line 514) | def test_add_world_copies_gravity(test, device): function test_begin_world_gravity_parameter (line 538) | def test_begin_world_gravity_parameter(test, device): FILE: newton/tests/test_schema_resolver.py class TestSchemaResolver (line 68) | class TestSchemaResolver(unittest.TestCase): method setUp (line 71) | def setUp(self): method test_basic_newton_physx_priority (line 78) | def test_basic_newton_physx_priority(self): method test_physx_joint_armature (line 107) | def test_physx_joint_armature(self): method test_physx_joint_velocity_limit (line 149) | def test_physx_joint_velocity_limit(self): method test_schema_attrs_collection (line 177) | def test_schema_attrs_collection(self): method test_schema_resolvers (line 230) | def test_schema_resolvers(self): method test_resolver (line 265) | def test_resolver(self): method test_max_solver_iterations (line 309) | def test_max_solver_iterations(self): method test_time_steps_per_second (line 346) | def test_time_steps_per_second(self): method test_gravity_enabled (line 383) | def test_gravity_enabled(self): method test_mjc_solref (line 414) | def test_mjc_solref(self): method test_newton_custom_attributes (line 453) | def test_newton_custom_attributes(self): method test_physx_schema_attrs (line 619) | def test_physx_schema_attrs(self): method test_layered_fallback_behavior (line 678) | def test_layered_fallback_behavior(self): method test_joint_state_initialization (line 741) | def test_joint_state_initialization(self): method test_humanoid_d6_joint_state_initialization (line 823) | def test_humanoid_d6_joint_state_initialization(self): method test_d6_dof_index_mapping_correctness (line 938) | def test_d6_dof_index_mapping_correctness(self): method test_attribute_parsing (line 1082) | def test_attribute_parsing(self): method test_namespaced_custom_attributes (line 1129) | def test_namespaced_custom_attributes(self): method test_articulation_frequency_attributes (line 1253) | def test_articulation_frequency_attributes(self): method test_margin (line 1306) | def test_margin(self): method test_gap (line 1354) | def test_gap(self): method test_contact_gap (line 1421) | def test_contact_gap(self): method test_self_collision_enabled (line 1453) | def test_self_collision_enabled(self): method test_max_hull_vertices (line 1513) | def test_max_hull_vertices(self): method test_material_friction_attributes (line 1559) | def test_material_friction_attributes(self): FILE: newton/tests/test_sdf_compute.py function create_box_mesh (line 40) | def create_box_mesh(half_extents: tuple[float, float, float]) -> Mesh: function create_sphere_mesh (line 106) | def create_sphere_mesh(radius: float, subdivisions: int = 2) -> Mesh: function invert_mesh_winding (line 183) | def invert_mesh_winding(mesh: Mesh) -> Mesh: function sample_sdf_kernel (line 194) | def sample_sdf_kernel( function sample_sdf_gradient_kernel (line 207) | def sample_sdf_gradient_kernel( function sample_sdf_at_points (line 221) | def sample_sdf_at_points(volume, points_np: np.ndarray) -> np.ndarray: function sample_sdf_with_gradient (line 236) | def sample_sdf_with_gradient(volume, points_np: np.ndarray) -> tuple[np.... class TestComputeSDF (line 253) | class TestComputeSDF(unittest.TestCase): method setUpClass (line 257) | def setUpClass(cls): method test_sdf_returns_valid_data (line 263) | def test_sdf_returns_valid_data(self): method test_sdf_extents_are_valid (line 276) | def test_sdf_extents_are_valid(self): method test_sparse_sdf_values_near_surface (line 291) | def test_sparse_sdf_values_near_surface(self): method test_coarse_sdf_values_inside_extent (line 327) | def test_coarse_sdf_values_inside_extent(self): method test_coarse_sdf_values_at_extent_boundary (line 358) | def test_coarse_sdf_values_at_extent_boundary(self): method test_sparse_sdf_values_at_extent_boundary (line 425) | def test_sparse_sdf_values_at_extent_boundary(self): method test_sdf_negative_inside_mesh (line 489) | def test_sdf_negative_inside_mesh(self): method test_sdf_positive_outside_mesh (line 513) | def test_sdf_positive_outside_mesh(self): method test_sdf_gradient_points_outward (line 532) | def test_sdf_gradient_points_outward(self): method test_sparse_and_coarse_consistency (line 557) | def test_sparse_and_coarse_consistency(self): method test_thickness_offset (line 582) | def test_thickness_offset(self): method test_inverted_winding_sphere (line 615) | def test_inverted_winding_sphere(self): class TestComputeSDFGridSampling (line 690) | class TestComputeSDFGridSampling(unittest.TestCase): method setUpClass (line 694) | def setUpClass(cls): method test_grid_sampling_sparse_sdf_near_surface (line 700) | def test_grid_sampling_sparse_sdf_near_surface(self): method test_grid_sampling_coarse_sdf (line 733) | def test_grid_sampling_coarse_sdf(self): function sample_sdf_extrapolated_kernel (line 769) | def sample_sdf_extrapolated_kernel( function sample_sdf_grad_extrapolated_kernel (line 780) | def sample_sdf_grad_extrapolated_kernel( function sample_extrapolated_at_points (line 793) | def sample_extrapolated_at_points(sdf_data: SDFData, points_np: np.ndarr... function sample_extrapolated_with_gradient (line 808) | def sample_extrapolated_with_gradient(sdf_data: SDFData, points_np: np.n... class TestSDFExtrapolation (line 825) | class TestSDFExtrapolation(unittest.TestCase): method setUpClass (line 829) | def setUpClass(cls): method test_extrapolated_inside_narrow_band (line 843) | def test_extrapolated_inside_narrow_band(self): method test_extrapolated_inside_extent_outside_narrow_band (line 868) | def test_extrapolated_inside_extent_outside_narrow_band(self): method test_extrapolated_outside_extent (line 892) | def test_extrapolated_outside_extent(self): method test_extrapolated_values_are_continuous (line 933) | def test_extrapolated_values_are_continuous(self): method test_extrapolated_gradient_inside_narrow_band (line 965) | def test_extrapolated_gradient_inside_narrow_band(self): method test_extrapolated_gradient_outside_extent (line 995) | def test_extrapolated_gradient_outside_extent(self): method test_extrapolated_always_less_than_background (line 1035) | def test_extrapolated_always_less_than_background(self): class TestMeshSDFCollisionFlag (line 1064) | class TestMeshSDFCollisionFlag(unittest.TestCase): method setUpClass (line 1068) | def setUpClass(cls): method test_mesh_cfg_sdf_conflict_raises (line 1074) | def test_mesh_cfg_sdf_conflict_raises(self): method test_mesh_cfg_sdf_narrow_band_conflict_raises (line 1084) | def test_mesh_cfg_sdf_narrow_band_conflict_raises(self): method test_sdf_disabled_works_on_cpu (line 1094) | def test_sdf_disabled_works_on_cpu(self): method test_mesh_build_sdf_works_on_gpu (line 1111) | def test_mesh_build_sdf_works_on_gpu(self): method test_mesh_build_sdf_guard_and_clear (line 1131) | def test_mesh_build_sdf_guard_and_clear(self): method test_sdf_create_from_data_roundtrip (line 1142) | def test_sdf_create_from_data_roundtrip(self): method test_sdf_static_create_methods (line 1164) | def test_sdf_static_create_methods(self): method test_standalone_sdf_shape_api_removed (line 1185) | def test_standalone_sdf_shape_api_removed(self): class TestSDFPublicApi (line 1191) | class TestSDFPublicApi(unittest.TestCase): method test_top_level_sdf_exported (line 1194) | def test_top_level_sdf_exported(self): method test_module_level_sdf_creators_removed (line 1199) | def test_module_level_sdf_creators_removed(self): method test_hydroelastic_primitive_generates_sdf_on_gpu (line 1205) | def test_hydroelastic_primitive_generates_sdf_on_gpu(self): class TestComputeOffsetMesh (line 1222) | class TestComputeOffsetMesh(unittest.TestCase): method _analytical_sdf (line 1232) | def _analytical_sdf(v, shape_type, shape_scale): method _assert_vertices_at_offset (line 1250) | def _assert_vertices_at_offset(self, mesh, shape_type, shape_scale, of... method test_box_small_offset (line 1278) | def test_box_small_offset(self): method test_box_large_offset (line 1285) | def test_box_large_offset(self): method test_box_very_large_offset (line 1292) | def test_box_very_large_offset(self): method test_sphere_large_offset (line 1307) | def test_sphere_large_offset(self): method test_capsule_large_offset (line 1318) | def test_capsule_large_offset(self): method test_cylinder_large_offset (line 1326) | def test_cylinder_large_offset(self): method test_plane_returns_none (line 1334) | def test_plane_returns_none(self): method test_hfield_returns_none (line 1339) | def test_hfield_returns_none(self): method test_zero_offset (line 1344) | def test_zero_offset(self): method test_mesh_shape_large_offset (line 1352) | def test_mesh_shape_large_offset(self): class TestExtractIsomesh (line 1368) | class TestExtractIsomesh(unittest.TestCase): method setUpClass (line 1377) | def setUpClass(cls): method _box_sdf (line 1384) | def _box_sdf(v, hx, hy, hz): method _assert_box_vertices_at_isovalue (line 1388) | def _assert_box_vertices_at_isovalue(self, iso_mesh, isovalue, atol=0.... method test_extract_isomesh_zero_isovalue (line 1400) | def test_extract_isomesh_zero_isovalue(self): method test_extract_isomesh_positive_isovalue (line 1409) | def test_extract_isomesh_positive_isovalue(self): method test_extract_isomesh_returns_none_outside_band (line 1419) | def test_extract_isomesh_returns_none_outside_band(self): method test_compute_isomesh_with_isovalue (line 1426) | def test_compute_isomesh_with_isovalue(self): method test_compute_offset_mesh_with_prebuilt_sdf (line 1438) | def test_compute_offset_mesh_with_prebuilt_sdf(self): method test_isovalue_changes_surface_consistently (line 1446) | def test_isovalue_changes_surface_consistently(self): method test_extract_isomesh_sparse_fallback_with_shape_margin (line 1464) | def test_extract_isomesh_sparse_fallback_with_shape_margin(self): class TestComputeOffsetMeshAdditionalPrimitives (line 1498) | class TestComputeOffsetMeshAdditionalPrimitives(unittest.TestCase): method _analytical_sdf (line 1508) | def _analytical_sdf(v, shape_type, shape_scale): method _assert_vertices_at_offset (line 1542) | def _assert_vertices_at_offset(self, mesh, shape_type, shape_scale, of... method test_ellipsoid_offset (line 1560) | def test_ellipsoid_offset(self): method test_cone_offset (line 1569) | def test_cone_offset(self): method test_compute_offset_mesh_analytical_unsupported_type (line 1578) | def test_compute_offset_mesh_analytical_unsupported_type(self): method test_tiny_sphere_offset_mesh (line 1583) | def test_tiny_sphere_offset_mesh(self): method test_convex_mesh_offset_mesh (line 1596) | def test_convex_mesh_offset_mesh(self): method test_compute_isomesh_empty_volume (line 1615) | def test_compute_isomesh_empty_volume(self): class TestSDFNonUniformScaleBrickPyramid (line 1630) | class TestSDFNonUniformScaleBrickPyramid(unittest.TestCase): function test_brick_pyramid_stability (line 1636) | def test_brick_pyramid_stability(test, device): FILE: newton/tests/test_sdf_primitive.py function _safe_normalize (line 23) | def _safe_normalize(v: wp.vec3, fallback: wp.vec3): function _eval_sdf (line 32) | def _eval_sdf(primitive: int, point: wp.vec3, p0: float, p1: float, p2: ... function _eval_grad (line 49) | def _eval_grad(primitive: int, point: wp.vec3, p0: float, p1: float, p2:... function evaluate_gradient_error_kernel (line 66) | def evaluate_gradient_error_kernel( function _assert_gradient_matches_fd (line 105) | def _assert_gradient_matches_fd( function test_sdf_sphere_grad_matches_finite_difference (line 149) | def test_sdf_sphere_grad_matches_finite_difference(test, device): function test_sdf_box_grad_matches_finite_difference (line 161) | def test_sdf_box_grad_matches_finite_difference(test, device): function test_sdf_capsule_grad_matches_finite_difference (line 174) | def test_sdf_capsule_grad_matches_finite_difference(test, device): function test_sdf_cylinder_grad_matches_finite_difference (line 187) | def test_sdf_cylinder_grad_matches_finite_difference(test, device): function test_sdf_ellipsoid_grad_matches_finite_difference (line 200) | def test_sdf_ellipsoid_grad_matches_finite_difference(test, device): function test_sdf_cone_grad_matches_finite_difference (line 212) | def test_sdf_cone_grad_matches_finite_difference(test, device): function test_sdf_plane_grad_matches_finite_difference_for_infinite_plane (line 225) | def test_sdf_plane_grad_matches_finite_difference_for_infinite_plane(tes... class TestSdfPrimitive (line 237) | class TestSdfPrimitive(unittest.TestCase): FILE: newton/tests/test_sdf_texture.py function _create_box_mesh (line 41) | def _create_box_mesh(half_extents: tuple[float, float, float] = (0.5, 0.... function _create_sphere_mesh (line 101) | def _create_sphere_mesh(radius: float = 0.5, subdivisions: int = 3) -> M... function _sample_texture_sdf_kernel (line 171) | def _sample_texture_sdf_kernel( function _sample_texture_sdf_grad_kernel (line 181) | def _sample_texture_sdf_grad_kernel( function _sample_nanovdb_value_kernel (line 194) | def _sample_nanovdb_value_kernel( function _sample_nanovdb_grad_kernel (line 204) | def _sample_nanovdb_grad_kernel( function _sample_texture_sdf_from_array_kernel (line 217) | def _sample_texture_sdf_from_array_kernel( function _bvh_ground_truth_kernel (line 228) | def _bvh_ground_truth_kernel( function _bvh_ground_truth_grad_kernel (line 238) | def _bvh_ground_truth_grad_kernel( function _build_texture_and_nanovdb (line 263) | def _build_texture_and_nanovdb(mesh, resolution=64, margin=0.05, narrow_... function _generate_query_points (line 293) | def _generate_query_points(mesh, num_points=1000, seed=42): class TestTextureSDF (line 315) | class TestTextureSDF(unittest.TestCase): function test_texture_sdf_construction (line 319) | def test_texture_sdf_construction(test, device): function _compare_texture_vs_nanovdb (line 340) | def _compare_texture_vs_nanovdb(test, tex_sdf, nanovdb_data, query_point... function test_texture_sdf_values_match_nanovdb (line 401) | def test_texture_sdf_values_match_nanovdb(test, device): function test_texture_sdf_gradient_accuracy (line 425) | def test_texture_sdf_gradient_accuracy(test, device): function test_texture_sdf_extrapolation (line 453) | def test_texture_sdf_extrapolation(test, device): function test_texture_sdf_array_indexing (line 479) | def test_texture_sdf_array_indexing(test, device): function test_texture_sdf_multi_resolution (line 542) | def test_texture_sdf_multi_resolution(test, device): function test_texture_sdf_in_model (line 586) | def test_texture_sdf_in_model(test, device): function test_empty_texture_sdf_data (line 616) | def test_empty_texture_sdf_data(test, device): function test_texture_sdf_quantization_uint16 (line 623) | def test_texture_sdf_quantization_uint16(test, device): function test_texture_sdf_quantization_uint8 (line 669) | def test_texture_sdf_quantization_uint8(test, device): function test_texture_sdf_isomesh_extraction (line 716) | def test_texture_sdf_isomesh_extraction(test, device): function test_texture_sdf_isomesh_with_isovalue (line 753) | def test_texture_sdf_isomesh_with_isovalue(test, device): function test_block_coords_from_subgrid_required (line 807) | def test_block_coords_from_subgrid_required(test, device): function test_texture_sdf_scale_baked (line 831) | def test_texture_sdf_scale_baked(test, device): function test_texture_sdf_from_volume (line 861) | def test_texture_sdf_from_volume(test, device): function _build_texture_sdf_with_mode (line 919) | def _build_texture_sdf_with_mode( function test_uint16_native_texture_dtype (line 939) | def test_uint16_native_texture_dtype(test, device): function test_uint16_vs_nanovdb_distance (line 954) | def test_uint16_vs_nanovdb_distance(test, device): function test_uint16_vs_nanovdb_gradient (line 986) | def test_uint16_vs_nanovdb_gradient(test, device): function test_uint16_vs_float32_texture_accuracy (line 1021) | def test_uint16_vs_float32_texture_accuracy(test, device): function _generate_sphere_query_points (line 1086) | def _generate_sphere_query_points(radius: float = 0.5, num_points: int =... function test_texture_sdf_vs_ground_truth_distance (line 1096) | def test_texture_sdf_vs_ground_truth_distance(test, device): function test_texture_sdf_vs_ground_truth_gradient (line 1141) | def test_texture_sdf_vs_ground_truth_gradient(test, device): function test_build_sdf_texture_format_parameter (line 1203) | def test_build_sdf_texture_format_parameter(test, device): FILE: newton/tests/test_selection.py class TestSelection (line 16) | class TestSelection(unittest.TestCase): method test_no_match (line 17) | def test_no_match(self): method test_empty_selection (line 23) | def test_empty_selection(self): method test_fixed_joint_only_articulation (line 37) | def test_fixed_joint_only_articulation(self): method _test_selection_shapes (line 57) | def _test_selection_shapes(self, floating: bool): method test_selection_shapes_floating_base (line 174) | def test_selection_shapes_floating_base(self): method test_selection_shapes_fixed_base (line 177) | def test_selection_shapes_fixed_base(self): method test_selection_shape_values_noncontiguous (line 180) | def test_selection_shape_values_noncontiguous(self): method test_eval_fk_translated_joint_chain_uses_view_mask (line 247) | def test_eval_fk_translated_joint_chain_uses_view_mask(self): method test_selection_mask (line 337) | def test_selection_mask(self): method run_test_joint_selection (line 380) | def run_test_joint_selection(self, use_mask: bool, use_multiple_artics... method run_test_link_selection (line 785) | def run_test_link_selection(self, use_mask: bool, use_multiple_artics_... method test_joint_selection_one_per_view_no_mask (line 1130) | def test_joint_selection_one_per_view_no_mask(self): method test_joint_selection_two_per_view_no_mask (line 1133) | def test_joint_selection_two_per_view_no_mask(self): method test_joint_selection_one_per_view_with_mask (line 1136) | def test_joint_selection_one_per_view_with_mask(self): method test_joint_selection_two_per_view_with_mask (line 1139) | def test_joint_selection_two_per_view_with_mask(self): method test_link_selection_one_per_view_no_mask (line 1142) | def test_link_selection_one_per_view_no_mask(self): method test_link_selection_two_per_view_no_mask (line 1145) | def test_link_selection_two_per_view_no_mask(self): method test_link_selection_one_per_view_with_mask (line 1148) | def test_link_selection_one_per_view_with_mask(self): method test_link_selection_two_per_view_with_mask (line 1151) | def test_link_selection_two_per_view_with_mask(self): method test_get_attribute_extended_state (line 1154) | def test_get_attribute_extended_state(self): class TestSelectionFixedTendons (line 1185) | class TestSelectionFixedTendons(unittest.TestCase): method test_tendon_count (line 1218) | def test_tendon_count(self): method test_tendon_selection_shapes (line 1228) | def test_tendon_selection_shapes(self): method test_tendon_generic_api (line 1248) | def test_tendon_generic_api(self): method test_tendon_multi_world (line 1278) | def test_tendon_multi_world(self): method test_tendon_set_values (line 1303) | def test_tendon_set_values(self): method test_tendon_names (line 1324) | def test_tendon_names(self): method test_no_tendons_in_articulation (line 1341) | def test_no_tendons_in_articulation(self): method test_no_tendons_but_model_has_tendons (line 1355) | def test_no_tendons_but_model_has_tendons(self): method test_multiple_articulations_per_world (line 1390) | def test_multiple_articulations_per_world(self): function _sum_float_3d_kernel (line 1429) | def _sum_float_3d_kernel(src: wp.array3d[float], out: wp.array[float]): class TestArticulationViewRequiresGrad (line 1434) | class TestArticulationViewRequiresGrad(unittest.TestCase): method setUpClass (line 1446) | def setUpClass(cls): method test_no_grad_state_returns_no_grad (line 1494) | def test_no_grad_state_returns_no_grad(self): method test_contiguous_selected_grad_matches_source (line 1499) | def test_contiguous_selected_grad_matches_source(self): method test_contiguous_backward_updates_source_grad (line 1514) | def test_contiguous_backward_updates_source_grad(self): method test_indexed_selected_grad_matches_source (line 1534) | def test_indexed_selected_grad_matches_source(self): method test_indexed_backward_scatters_to_source_grad (line 1548) | def test_indexed_backward_scatters_to_source_grad(self): FILE: newton/tests/test_sensor_contact.py function _make_two_world_model (line 16) | def _make_two_world_model(device=None, include_ground=False): function create_contacts (line 36) | def create_contacts(device, pairs, naconmax, normals=None, forces=None): class TestSensorContact (line 70) | class TestSensorContact(unittest.TestCase): method test_net_force_aggregation (line 71) | def test_net_force_aggregation(self): method test_sensing_obj_transforms (line 174) | def test_sensing_obj_transforms(self): method test_sensing_obj_transforms_shapes (line 204) | def test_sensing_obj_transforms_shapes(self): method test_per_world_attributes (line 235) | def test_per_world_attributes(self): method test_multi_world_no_cross_world_pairs (line 247) | def test_multi_world_no_cross_world_pairs(self): method test_multi_world_total_force (line 266) | def test_multi_world_total_force(self): method test_global_sensing_object_raises (line 281) | def test_global_sensing_object_raises(self): method test_order_preservation (line 296) | def test_order_preservation(self): method test_measure_total_false (line 310) | def test_measure_total_false(self): method test_duplicate_sensing_objects_raises (line 323) | def test_duplicate_sensing_objects_raises(self): method test_unmatched_pattern_raises (line 329) | def test_unmatched_pattern_raises(self): method test_global_counterpart_in_all_worlds (line 341) | def test_global_counterpart_in_all_worlds(self): method test_friction_force_orthogonal_to_normal (line 356) | def test_friction_force_orthogonal_to_normal(self): method test_friction_force_multi_contact (line 396) | def test_friction_force_multi_contact(self): method test_force_matrix_friction (line 446) | def test_force_matrix_friction(self): method test_friction_force_measure_total_false (line 484) | def test_friction_force_measure_total_false(self): method test_friction_force_no_counterparts (line 491) | def test_friction_force_no_counterparts(self): method test_purely_normal_force_has_zero_friction (line 498) | def test_purely_normal_force_has_zero_friction(self): method test_friction_force_diagonal_normal (line 513) | def test_friction_force_diagonal_normal(self): class TestSensorContactMuJoCo (line 557) | class TestSensorContactMuJoCo(unittest.TestCase): method test_stacking_scenario (line 560) | def test_stacking_scenario(self): method test_stacking_friction (line 630) | def test_stacking_friction(self): method test_parallel_scenario (line 683) | def test_parallel_scenario(self): FILE: newton/tests/test_sensor_frame_transform.py class TestSensorFrameTransform (line 16) | class TestSensorFrameTransform(unittest.TestCase): method test_sensor_creation (line 19) | def test_sensor_creation(self): method test_sensor_single_reference_for_multiple_shapes (line 44) | def test_sensor_single_reference_for_multiple_shapes(self): method test_sensor_validation_empty_shapes (line 66) | def test_sensor_validation_empty_shapes(self): method test_sensor_validation_empty_references (line 76) | def test_sensor_validation_empty_references(self): method test_sensor_validation_invalid_shape_index (line 86) | def test_sensor_validation_invalid_shape_index(self): method test_sensor_validation_invalid_reference_index (line 96) | def test_sensor_validation_invalid_reference_index(self): method test_sensor_validation_reference_not_site (line 106) | def test_sensor_validation_reference_not_site(self): method test_sensor_validation_mismatched_lengths (line 117) | def test_sensor_validation_mismatched_lengths(self): method test_sensor_site_to_site_same_body (line 130) | def test_sensor_site_to_site_same_body(self): method test_sensor_site_to_site_different_bodies (line 182) | def test_sensor_site_to_site_different_bodies(self): method test_sensor_shape_to_site (line 254) | def test_sensor_shape_to_site(self): method test_sensor_multiple_shapes_single_reference (line 281) | def test_sensor_multiple_shapes_single_reference(self): method test_sensor_world_frame_site (line 319) | def test_sensor_world_frame_site(self): method test_sensor_with_rotation (line 346) | def test_sensor_with_rotation(self): method test_sensor_with_site_rotations (line 378) | def test_sensor_with_site_rotations(self): method test_sensor_articulation_chain (line 417) | def test_sensor_articulation_chain(self): method test_sensor_sparse_non_sorted_indices (line 482) | def test_sensor_sparse_non_sorted_indices(self): method test_sensor_string_patterns (line 580) | def test_sensor_string_patterns(self): method test_sensor_no_match_raises (line 592) | def test_sensor_no_match_raises(self): method test_sensor_string_matches_int_indices (line 606) | def test_sensor_string_matches_int_indices(self): FILE: newton/tests/test_sensor_imu.py class TestSensorIMU (line 16) | class TestSensorIMU(unittest.TestCase): method test_sensor_creation (line 19) | def test_sensor_creation(self): method test_sensor_multiple_sites (line 32) | def test_sensor_multiple_sites(self): method test_sensor_validation_empty_sites (line 47) | def test_sensor_validation_empty_sites(self): method test_sensor_validation_invalid_site_index (line 56) | def test_sensor_validation_invalid_site_index(self): method test_sensor_validation_not_a_site (line 66) | def test_sensor_validation_not_a_site(self): method test_sensor_update_without_body_qdd (line 76) | def test_sensor_update_without_body_qdd(self): method test_sensor_update_with_body_qdd (line 89) | def test_sensor_update_with_body_qdd(self): method test_sensor_static_body_gravity (line 111) | def test_sensor_static_body_gravity(self): method test_sensor_world_frame_site (line 132) | def test_sensor_world_frame_site(self): method test_sensor_rotated_site (line 151) | def test_sensor_rotated_site(self): method test_sensor_string_pattern (line 173) | def test_sensor_string_pattern(self): method test_sensor_wildcard_pattern (line 183) | def test_sensor_wildcard_pattern(self): method test_sensor_no_match_raises (line 195) | def test_sensor_no_match_raises(self): FILE: newton/tests/test_sensor_raycast.py function save_depth_image_as_grayscale (line 17) | def save_depth_image_as_grayscale(depth_image: np.ndarray, filename: str): function create_cubemap_scene (line 54) | def create_cubemap_scene(device="cpu"): function test_sensor_raycast_cubemap (line 117) | def test_sensor_raycast_cubemap(test: unittest.TestCase, device, export_... function test_sensor_raycast_particles_hit (line 171) | def test_sensor_raycast_particles_hit(test: unittest.TestCase, device: s... function test_sensor_raycast_particles_requires_positive_step (line 200) | def test_sensor_raycast_particles_requires_positive_step(test: unittest.... function test_sensor_raycast_include_particles_without_particles (line 225) | def test_sensor_raycast_include_particles_without_particles(test: unitte... function test_sensor_raycast_mixed_hits_prefers_closest_shape (line 252) | def test_sensor_raycast_mixed_hits_prefers_closest_shape(test: unittest.... function test_sensor_raycast_mixed_hits_prefers_closest_particle (line 284) | def test_sensor_raycast_mixed_hits_prefers_closest_particle(test: unitte... function test_sensor_raycast_particle_step_truncation_warns (line 319) | def test_sensor_raycast_particle_step_truncation_warns(test: unittest.Te... function test_sensor_raycast_single_pixel_hit (line 344) | def test_sensor_raycast_single_pixel_hit(test: unittest.TestCase, device): class TestSensorRaycast (line 396) | class TestSensorRaycast(unittest.TestCase): FILE: newton/tests/test_sensor_tiled_camera.py class TestSensorTiledCamera (line 15) | class TestSensorTiledCamera(unittest.TestCase): method __build_scene (line 16) | def __build_scene(self): method __compare_images (line 63) | def __compare_images(self, test_image: np.ndarray, gold_image: np.ndar... method test_golden_image (line 90) | def test_golden_image(self): method test_output_image_parameters (line 124) | def test_output_image_parameters(self): FILE: newton/tests/test_sensor_tiled_camera_forward_depth.py class TestConvertRayDepthToForwardDepth (line 16) | class TestConvertRayDepthToForwardDepth(unittest.TestCase): method _launch_pinhole_rays (line 25) | def _launch_pinhole_rays(self, width: int, height: int, fov_rad: float): method _expected_cos_theta (line 39) | def _expected_cos_theta(px: int, py: int, width: int, height: int, fov... method test_identity_transform_3x3 (line 56) | def test_identity_transform_3x3(self): method test_center_pixel_unchanged (line 100) | def test_center_pixel_unchanged(self): method test_off_axis_strictly_less (line 132) | def test_off_axis_strictly_less(self): method test_varying_depth (line 167) | def test_varying_depth(self): method test_symmetry (line 205) | def test_symmetry(self): FILE: newton/tests/test_sensor_tiled_camera_particles_multiworld.py function _build_multiworld_particle_model (line 15) | def _build_multiworld_particle_model(*, worlds: int, spacing: float): function test_sensor_tiled_camera_multiworld_particles_consistent (line 71) | def test_sensor_tiled_camera_multiworld_particles_consistent(test: unitt... class TestSensorTiledCameraParticlesMultiworld (line 136) | class TestSensorTiledCameraParticlesMultiworld(unittest.TestCase): FILE: newton/tests/test_shape_colors.py class _ShapeColorProbe (line 14) | class _ShapeColorProbe(ViewerNull): method __init__ (line 17) | def __init__(self): method log_instances (line 22) | def log_instances(self, name, mesh, xforms, scales, colors, materials,... class TestShapeColors (line 28) | class TestShapeColors(unittest.TestCase): method setUp (line 31) | def setUp(self): method _make_tetra_mesh (line 35) | def _make_tetra_mesh(self, color=None): method test_collision_shape_without_explicit_color_uses_default_palette (line 49) | def test_collision_shape_without_explicit_color_uses_default_palette(s... method test_add_shape_mesh_uses_mesh_color_when_color_is_none (line 61) | def test_add_shape_mesh_uses_mesh_color_when_color_is_none(self): method test_explicit_shape_color_overrides_mesh_color (line 72) | def test_explicit_shape_color_overrides_mesh_color(self): method test_ground_plane_keeps_checkerboard_material_with_resolved_shape_colors (line 87) | def test_ground_plane_keeps_checkerboard_material_with_resolved_shape_... method test_viewer_syncs_runtime_shape_colors_from_model (line 99) | def test_viewer_syncs_runtime_shape_colors_from_model(self): method test_viewer_builds_inverse_shape_color_slot_mapping (line 125) | def test_viewer_builds_inverse_shape_color_slot_mapping(self): method test_viewer_repacks_runtime_shape_colors_into_packed_order (line 157) | def test_viewer_repacks_runtime_shape_colors_into_packed_order(self): method test_update_shape_colors_warns_and_writes_model_shape_color (line 195) | def test_update_shape_colors_warns_and_writes_model_shape_color(self): FILE: newton/tests/test_shapes_no_bounce.py function test_shapes_never_exceed_initial_z (line 21) | def test_shapes_never_exceed_initial_z(test, device): class TestShapesNoBounce (line 231) | class TestShapesNoBounce(unittest.TestCase): FILE: newton/tests/test_sites.py class TestSiteCreation (line 15) | class TestSiteCreation(unittest.TestCase): method test_add_site_basic (line 18) | def test_add_site_basic(self): method test_add_site_defaults (line 44) | def test_add_site_defaults(self): method test_add_multiple_sites (line 61) | def test_add_multiple_sites(self): method test_site_visibility_hidden (line 80) | def test_site_visibility_hidden(self): method test_site_visibility_visible (line 94) | def test_site_visibility_visible(self): method test_site_different_types (line 108) | def test_site_different_types(self): method test_site_on_world_body (line 127) | def test_site_on_world_body(self): method test_site_transforms (line 144) | def test_site_transforms(self): method test_sites_on_different_bodies (line 160) | def test_sites_on_different_bodies(self): class TestSiteNonCollision (line 212) | class TestSiteNonCollision(unittest.TestCase): method test_site_has_no_collision_flags (line 215) | def test_site_has_no_collision_flags(self): method test_site_no_collision_with_shapes (line 231) | def test_site_no_collision_with_shapes(self): class TestSiteInvariantEnforcement (line 255) | class TestSiteInvariantEnforcement(unittest.TestCase): method test_mark_as_site_enforces_invariants (line 258) | def test_mark_as_site_enforces_invariants(self): method test_flags_setter_enforces_invariants (line 280) | def test_flags_setter_enforces_invariants(self): method test_flags_setter_clears_collision_when_site_set (line 295) | def test_flags_setter_clears_collision_when_site_set(self): method test_add_shape_validates_collision_flags (line 308) | def test_add_shape_validates_collision_flags(self): method test_add_shape_validates_density (line 324) | def test_add_shape_validates_density(self): method test_add_shape_validates_collision_group (line 342) | def test_add_shape_validates_collision_group(self): method test_add_site_uses_mark_as_site (line 361) | def test_add_site_uses_mark_as_site(self): method test_direct_is_site_assignment_no_enforcement (line 381) | def test_direct_is_site_assignment_no_enforcement(self): method test_multiple_mark_as_site_calls_idempotent (line 395) | def test_multiple_mark_as_site_calls_idempotent(self): FILE: newton/tests/test_sites_mjcf_import.py class TestMJCFSiteImport (line 15) | class TestMJCFSiteImport(unittest.TestCase): method test_parse_simple_site (line 18) | def test_parse_simple_site(self): method test_parse_multiple_sites (line 54) | def test_parse_multiple_sites(self): method test_parse_site_types (line 90) | def test_parse_site_types(self): method test_parse_site_no_type (line 121) | def test_parse_site_no_type(self): method test_parse_site_no_name (line 148) | def test_parse_site_no_name(self): method test_parse_worldbody_sites (line 169) | def test_parse_worldbody_sites(self): method test_parse_site_orientations (line 201) | def test_parse_site_orientations(self): FILE: newton/tests/test_sites_mujoco_export.py class TestMuJoCoSiteExport (line 16) | class TestMuJoCoSiteExport(unittest.TestCase): method test_export_single_site (line 19) | def test_export_single_site(self): method test_export_multiple_sites (line 42) | def test_export_multiple_sites(self): method test_site_not_exported_as_geom (line 58) | def test_site_not_exported_as_geom(self): method test_export_site_transforms (line 77) | def test_export_site_transforms(self): method test_export_site_types (line 95) | def test_export_site_types(self): method test_include_sites_parameter (line 118) | def test_include_sites_parameter(self): method test_mjcf_roundtrip (line 142) | def test_mjcf_roundtrip(self): FILE: newton/tests/test_sites_usd_import.py class TestUSDSiteImport (line 15) | class TestUSDSiteImport(unittest.TestCase): method _create_usd_stage (line 18) | def _create_usd_stage(self, usd_content: str): method test_parse_simple_site (line 30) | def test_parse_simple_site(self): method test_parse_multiple_sites (line 89) | def test_parse_multiple_sites(self): method test_parse_site_types (line 166) | def test_parse_site_types(self): method test_parse_site_orientations (line 236) | def test_parse_site_orientations(self): method test_site_without_mjcsite_api (line 309) | def test_site_without_mjcsite_api(self): FILE: newton/tests/test_softbody.py function assemble_tet_vertex_force (line 20) | def assemble_tet_vertex_force( function compute_neo_hookean_energy_and_force_and_hessian (line 36) | def compute_neo_hookean_energy_and_force_and_hessian( function compute_neo_hookean_energy_and_force (line 68) | def compute_neo_hookean_energy_and_force( function _build_model_with_soft_mesh (line 234) | def _build_model_with_soft_mesh(vertices: list[tuple[float, float, float... function _expected_tet_adjacency (line 253) | def _expected_tet_adjacency(particle_count: int, tet_indices: np.ndarray... function _assert_adjacency_matches_tets (line 268) | def _assert_adjacency_matches_tets(test, adjacency, tet_indices: np.ndar... function _color_groups_to_array (line 282) | def _color_groups_to_array(test, particle_count: int, color_groups: list... function _assert_tet_graph_coloring (line 300) | def _assert_tet_graph_coloring(test, tet_indices: np.ndarray, colors: np... class TestSoftBody (line 314) | class TestSoftBody(unittest.TestCase): function test_tet_adjacency_single_tet (line 318) | def test_tet_adjacency_single_tet(test, device): function test_tet_adjacency_complex_pyramid (line 338) | def test_tet_adjacency_complex_pyramid(test, device): function test_tet_graph_coloring_is_valid (line 351) | def test_tet_graph_coloring_is_valid(test, device): function test_tet_energy (line 372) | def test_tet_energy(test, device): FILE: newton/tests/test_solver_vbd.py function _eval_self_contact_norm_kernel (line 18) | def _eval_self_contact_norm_kernel( function test_self_contact_barrier_c2_at_tau (line 31) | def test_self_contact_barrier_c2_at_tau(test, device): function test_self_contact_barrier_c2_at_d_min (line 74) | def test_self_contact_barrier_c2_at_d_min(test, device): class TestSolverVBD (line 115) | class TestSolverVBD(unittest.TestCase): FILE: newton/tests/test_solver_xpbd.py function test_particle_particle_friction_uses_relative_velocity (line 20) | def test_particle_particle_friction_uses_relative_velocity(test, device): function test_particle_particle_friction_with_relative_motion (line 149) | def test_particle_particle_friction_with_relative_motion(test, device): function test_particle_shape_restitution_correct_particle (line 228) | def test_particle_shape_restitution_correct_particle(test, device): function test_particle_shape_restitution_accounts_for_body_velocity (line 300) | def test_particle_shape_restitution_accounts_for_body_velocity(test, dev... function test_articulation_contact_drift (line 372) | def test_articulation_contact_drift(test, device): class TestSolverXPBD (line 472) | class TestSolverXPBD(unittest.TestCase): FILE: newton/tests/test_spatial_tendon.py class TestMujocoSpatialTendon (line 13) | class TestMujocoSpatialTendon(unittest.TestCase): method test_spatial_tendon_parsing (line 46) | def test_spatial_tendon_parsing(self): method test_spatial_tendon_simulation (line 91) | def test_spatial_tendon_simulation(self): method test_spatial_tendon_with_actuator (line 165) | def test_spatial_tendon_with_actuator(self): method test_mixed_fixed_and_spatial_tendons (line 224) | def test_mixed_fixed_and_spatial_tendons(self): method test_spatial_tendon_default_class (line 295) | def test_spatial_tendon_default_class(self): method test_spatial_tendon_pulley (line 348) | def test_spatial_tendon_pulley(self): method test_spatial_tendon_site_geom_disambiguation (line 391) | def test_spatial_tendon_site_geom_disambiguation(self): method test_spatial_tendon_multi_world_wrap_offsets (line 455) | def test_spatial_tendon_multi_world_wrap_offsets(self): method test_spatial_tendon_warning_missing_site (line 497) | def test_spatial_tendon_warning_missing_site(self): method test_spatial_tendon_warning_out_of_bounds_wrap (line 537) | def test_spatial_tendon_warning_out_of_bounds_wrap(self): FILE: newton/tests/test_terrain_generator.py function create_mesh_heightfield (line 21) | def create_mesh_heightfield(*args, **kwargs): function create_mesh_terrain (line 35) | def create_mesh_terrain(*args, **kwargs): class TestTerrainGenerator (line 49) | class TestTerrainGenerator(unittest.TestCase): method test_heightfield_to_mesh_basic (line 56) | def test_heightfield_to_mesh_basic(self): method test_heightfield_to_mesh_minimum_grid_size (line 80) | def test_heightfield_to_mesh_minimum_grid_size(self): method test_heightfield_to_mesh_invalid_dimensions (line 91) | def test_heightfield_to_mesh_invalid_dimensions(self): method test_heightfield_to_mesh_too_small_grid (line 105) | def test_heightfield_to_mesh_too_small_grid(self): method test_heightfield_to_mesh_non_positive_extent (line 125) | def test_heightfield_to_mesh_non_positive_extent(self): method test_heightfield_to_mesh_flat_terrain (line 149) | def test_heightfield_to_mesh_flat_terrain(self): method test_heightfield_to_mesh_sloped_terrain (line 163) | def test_heightfield_to_mesh_sloped_terrain(self): method test_heightfield_to_mesh_random_terrain (line 175) | def test_heightfield_to_mesh_random_terrain(self): method test_heightfield_to_mesh_center_offset (line 190) | def test_heightfield_to_mesh_center_offset(self): method test_heightfield_to_mesh_face_count (line 208) | def test_heightfield_to_mesh_face_count(self): method test_heightfield_to_mesh_watertight (line 230) | def test_heightfield_to_mesh_watertight(self): method test_flat_terrain (line 248) | def test_flat_terrain(self): method test_pyramid_stairs_terrain (line 265) | def test_pyramid_stairs_terrain(self): method test_random_grid_terrain (line 283) | def test_random_grid_terrain(self): method test_wave_terrain (line 299) | def test_wave_terrain(self): method test_box_terrain (line 316) | def test_box_terrain(self): method test_gap_terrain (line 330) | def test_gap_terrain(self): method test_heightfield_terrain_with_custom_heightfield (line 344) | def test_heightfield_terrain_with_custom_heightfield(self): method test_heightfield_terrain_with_none_heightfield (line 365) | def test_heightfield_terrain_with_none_heightfield(self): method test_heightfield_terrain_with_custom_center (line 379) | def test_heightfield_terrain_with_custom_center(self): method test_heightfield_terrain_with_custom_ground_z (line 392) | def test_heightfield_terrain_with_custom_ground_z(self): method test_generate_terrain_grid_single_block (line 407) | def test_generate_terrain_grid_single_block(self): method test_generate_terrain_grid_multiple_blocks (line 419) | def test_generate_terrain_grid_multiple_blocks(self): method test_generate_terrain_grid_with_seed (line 427) | def test_generate_terrain_grid_with_seed(self): method test_generate_terrain_grid_with_heightfield_type (line 441) | def test_generate_terrain_grid_with_heightfield_type(self): FILE: newton/tests/test_tolerance_clamping.py class TestToleranceClamping (line 10) | class TestToleranceClamping(unittest.TestCase): method test_tolerance_clamped_to_1e6 (line 11) | def test_tolerance_clamped_to_1e6(self): method test_tolerance_not_clamped_when_above_minimum (line 71) | def test_tolerance_not_clamped_when_above_minimum(self): FILE: newton/tests/test_up_axis.py class TestControlForce (line 13) | class TestControlForce(unittest.TestCase): function test_gravity (line 17) | def test_gravity(test: TestControlForce, device, solver_fn, up_axis: new... FILE: newton/tests/test_viewer_geometry_batching.py class _ViewerGeometryBatchingProbe (line 14) | class _ViewerGeometryBatchingProbe(ViewerNull): method __init__ (line 20) | def __init__(self): method _hash_geometry (line 25) | def _hash_geometry(self, geo_type: int, geo_scale, thickness: float, i... method set_model (line 32) | def set_model(self, model, max_worlds=None): method log_instances (line 57) | def log_instances(self, *_args, **_kwargs): method log_capsules (line 60) | def log_capsules(self, name, mesh, xforms, scales, colors, materials, ... class TestViewerGeometryBatching (line 67) | class TestViewerGeometryBatching(unittest.TestCase): method test_capsule_geometry_is_batched_across_scales (line 68) | def test_capsule_geometry_is_batched_across_scales(self): method test_log_state_routes_capsules_to_log_capsules (line 117) | def test_log_state_routes_capsules_to_log_capsules(self): FILE: newton/tests/test_viewer_log_shapes.py class _LogShapesProbe (line 14) | class _LogShapesProbe(ViewerNull): method __init__ (line 17) | def __init__(self): method log_instances (line 22) | def log_instances(self, name, mesh, xforms, scales, colors, materials,... class TestLogShapesBroadcast (line 27) | class TestLogShapesBroadcast(unittest.TestCase): method test_length_one_color_and_material_broadcast (line 30) | def test_length_one_color_and_material_broadcast(self): method test_full_length_arrays_pass_through (line 65) | def test_full_length_arrays_pass_through(self): method test_none_colors_and_materials_use_defaults (line 95) | def test_none_colors_and_materials_use_defaults(self): FILE: newton/tests/test_viewer_particle_flags.py class _LogPointsProbe (line 12) | class _LogPointsProbe(ViewerNull): method __init__ (line 15) | def __init__(self): method log_points (line 22) | def log_points(self, name, points, radii=None, colors=None, hidden=Fal... class TestViewerParticleFlags (line 29) | class TestViewerParticleFlags(unittest.TestCase): method _build_model (line 33) | def _build_model(flags_list): method test_all_active_renders_all (line 47) | def test_all_active_renders_all(self): method test_mixed_active_inactive_filters (line 60) | def test_mixed_active_inactive_filters(self): method test_all_inactive_clears_particles (line 75) | def test_all_inactive_clears_particles(self): method test_no_flags_renders_all (line 88) | def test_no_flags_renders_all(self): FILE: newton/tests/test_viewer_picking.py function _make_single_sphere_model (line 14) | def _make_single_sphere_model(device=None, *, is_kinematic: bool = False): function _make_kinematic_front_dynamic_back_model (line 27) | def _make_kinematic_front_dynamic_back_model(device=None): function _make_model_no_shapes (line 47) | def _make_model_no_shapes(device=None): class TestPickingSetup (line 58) | class TestPickingSetup(unittest.TestCase): method test_init_state (line 61) | def test_init_state(self): method test_release_clears_state (line 73) | def test_release_clears_state(self): method test_pick_miss_remains_inactive (line 90) | def test_pick_miss_remains_inactive(self): method test_pick_hit_activates_picking (line 104) | def test_pick_hit_activates_picking(self): method test_pick_kinematic_body_remains_inactive (line 120) | def test_pick_kinematic_body_remains_inactive(self): method test_pick_kinematic_occludes_dynamic (line 133) | def test_pick_kinematic_occludes_dynamic(self): method test_pick_empty_model_no_crash (line 146) | def test_pick_empty_model_no_crash(self): method test_update_when_not_picking_no_op (line 159) | def test_update_when_not_picking_no_op(self): method test_apply_picking_force_when_not_picking (line 169) | def test_apply_picking_force_when_not_picking(self): method test_apply_picking_force_when_picking (line 183) | def test_apply_picking_force_when_picking(self): method test_world_offsets_optional (line 204) | def test_world_offsets_optional(self): function test_picking_setup_device (line 216) | def test_picking_setup_device(test: TestPickingSetup, device): FILE: newton/tests/test_viewer_rerun_hidden.py class TestViewerRerunHidden (line 13) | class TestViewerRerunHidden(unittest.TestCase): method _create_viewer (line 16) | def _create_viewer(self): method _make_mock_wp_array (line 47) | def _make_mock_wp_array(self, data): method test_log_mesh_hidden_skips_log (line 58) | def test_log_mesh_hidden_skips_log(self): method test_log_mesh_hidden_preserves_uvs_and_texture (line 71) | def test_log_mesh_hidden_preserves_uvs_and_texture(self): method test_log_instances_hidden_clears_entity (line 99) | def test_log_instances_hidden_clears_entity(self): method test_log_instances_hidden_noop_when_not_created (line 125) | def test_log_instances_hidden_noop_when_not_created(self): FILE: newton/tests/test_viewer_rerun_init_args.py class TestViewerRerunInitArgs (line 11) | class TestViewerRerunInitArgs(unittest.TestCase): method setUp (line 14) | def setUp(self): method test_default_serves_web_viewer (line 32) | def test_default_serves_web_viewer(self): method test_native_viewer (line 59) | def test_native_viewer(self): method test_custom_address_connects_grpc (line 82) | def test_custom_address_connects_grpc(self): method test_custom_address_connects_grpc_in_jupyter (line 105) | def test_custom_address_connects_grpc_in_jupyter(self): method test_custom_app_id_used (line 126) | def test_custom_app_id_used(self): method test_blueprint_passed_to_init (line 146) | def test_blueprint_passed_to_init(self): method test_record_to_rrd_calls_save (line 167) | def test_record_to_rrd_calls_save(self): method test_jupyter_notebook_skips_spawn (line 186) | def test_jupyter_notebook_skips_spawn(self): method test_non_jupyter_serves_web_viewer (line 206) | def test_non_jupyter_serves_web_viewer(self): method test_keep_historical_data_stored (line 225) | def test_keep_historical_data_stored(self): method test_keep_scalar_history_stored (line 241) | def test_keep_scalar_history_stored(self): FILE: newton/tests/test_viewer_usd.py class TestViewerUSD (line 19) | class TestViewerUSD(unittest.TestCase): method _make_viewer (line 20) | def _make_viewer(self): method test_log_points_keeps_per_point_wp_vec3_colors_for_three_points (line 29) | def test_log_points_keeps_per_point_wp_vec3_colors_for_three_points(se... method test_reuses_existing_layer_for_same_output_path (line 51) | def test_reuses_existing_layer_for_same_output_path(self): method test_log_points_treats_wp_float_triplet_as_single_constant_color (line 85) | def test_log_points_treats_wp_float_triplet_as_single_constant_color(s... method test_log_points_defaults_radii_when_omitted (line 104) | def test_log_points_defaults_radii_when_omitted(self): FILE: newton/tests/test_viewer_world_offsets.py class TestViewerWorldOffsets (line 14) | class TestViewerWorldOffsets(unittest.TestCase): method test_compute_world_offsets_function (line 15) | def test_compute_world_offsets_function(self): method test_auto_compute_world_offsets (line 34) | def test_auto_compute_world_offsets(self): method test_auto_compute_with_different_up_axes (line 99) | def test_auto_compute_with_different_up_axes(self): method test_auto_compute_skips_large_collision_radii (line 149) | def test_auto_compute_skips_large_collision_radii(self): method test_auto_compute_with_body_attached_shapes (line 187) | def test_auto_compute_with_body_attached_shapes(self): method test_physics_at_origin (line 236) | def test_physics_at_origin(self): method test_viewer_offset_computation (line 266) | def test_viewer_offset_computation(self): method test_set_world_offsets_requires_model (line 350) | def test_set_world_offsets_requires_model(self): method test_set_world_offsets_input_formats (line 360) | def test_set_world_offsets_input_formats(self): method test_global_entities_unaffected (line 395) | def test_global_entities_unaffected(self): function test_visual_separation (line 461) | def test_visual_separation(test: TestViewerWorldOffsets, device): FILE: newton/tests/test_warp_config_cli.py class TestWarpConfigCLI (line 15) | class TestWarpConfigCLI(unittest.TestCase): method setUp (line 18) | def setUp(self): method tearDown (line 21) | def tearDown(self): method _parse (line 25) | def _parse(self, *cli_args): method test_no_overrides (line 31) | def test_no_overrides(self): method test_int_override (line 37) | def test_int_override(self): method test_string_fallback (line 43) | def test_string_fallback(self): method test_bool_override (line 49) | def test_bool_override(self): method test_none_override (line 55) | def test_none_override(self): method test_empty_string_override (line 61) | def test_empty_string_override(self): method test_repeated_overrides (line 67) | def test_repeated_overrides(self): method test_unknown_key_errors (line 78) | def test_unknown_key_errors(self): method test_missing_equals_errors (line 88) | def test_missing_equals_errors(self): method test_parser_has_warp_config_arg (line 96) | def test_parser_has_warp_config_arg(self): method test_default_warp_config_empty (line 102) | def test_default_warp_config_empty(self): FILE: newton/tests/thirdparty/unittest_parallel.py function main (line 45) | def main(argv=None): function _convert_select_pattern (line 349) | def _convert_select_pattern(pattern): function _coverage (line 356) | def _coverage(args, temp_dir): function _iter_module_suites (line 389) | def _iter_module_suites(test_suite): function _iter_class_suites (line 396) | def _iter_class_suites(test_suite): function _iter_test_cases (line 406) | def _iter_test_cases(test_suite): class ParallelTestManager (line 414) | class ParallelTestManager: method __init__ (line 422) | def __init__(self, manager, args, temp_dir): method run_tests (line 427) | def run_tests(self, test_suite): method _format_error (line 484) | def _format_error(result, error): class ParallelTextTestResult (line 495) | class ParallelTextTestResult(unittest.TextTestResult): method __init__ (line 496) | def __init__(self, stream, descriptions, verbosity): method startTest (line 501) | def startTest(self, test): method stopTest (line 510) | def stopTest(self, test): method _add_helper (line 524) | def _add_helper(self, test, show_all_message): method addSuccess (line 531) | def addSuccess(self, test): method addError (line 535) | def addError(self, test, err): method addFailure (line 539) | def addFailure(self, test, err): method addSkip (line 543) | def addSkip(self, test, reason): method addExpectedFailure (line 547) | def addExpectedFailure(self, test, err): method addUnexpectedSuccess (line 551) | def addUnexpectedSuccess(self, test): method printErrors (line 555) | def printErrors(self): function initialize_test_process (line 559) | def initialize_test_process(lock, shared_index, args, temp_dir): FILE: newton/tests/unittest_utils.py function get_selected_cuda_test_devices (line 44) | def get_selected_cuda_test_devices(mode: str | None = None): function get_test_devices (line 86) | def get_test_devices(mode: str | None = None): function get_cuda_test_devices (line 123) | def get_cuda_test_devices(mode=None): class StreamCapture (line 128) | class StreamCapture: method __init__ (line 129) | def __init__(self, stream_name): method begin (line 135) | def begin(self): method end (line 159) | def end(self): class StdErrCapture (line 185) | class StdErrCapture(StreamCapture): method __init__ (line 186) | def __init__(self): class StdOutCapture (line 190) | class StdOutCapture(StreamCapture): method __init__ (line 191) | def __init__(self): class CheckOutput (line 195) | class CheckOutput: method __init__ (line 196) | def __init__(self, test): method __enter__ (line 199) | def __enter__(self): method __exit__ (line 205) | def __exit__(self, exc_type, exc_value, traceback): function assert_array_equal (line 224) | def assert_array_equal(result: wp.array, expect: wp.array): function assert_np_equal (line 228) | def assert_np_equal(result: np.ndarray, expect: np.ndarray, tol=0.0): function most (line 237) | def most(x: np.ndarray, min_ratio: float = 0.8) -> bool: function find_nan_members (line 244) | def find_nan_members(obj: Any | None) -> list[str]: function find_nonfinite_members (line 260) | def find_nonfinite_members(obj: Any | None) -> list[str]: function create_test_func (line 277) | def create_test_func(func, device, check_output, **kwargs): function skip_test_func (line 293) | def skip_test_func(self): function sanitize_identifier (line 298) | def sanitize_identifier(s): function add_function_test (line 308) | def add_function_test(cls, name, func, devices=None, check_output=True, ... function add_kernel_test (line 330) | def add_kernel_test(cls, kernel, dim, name=None, expect=None, inputs=Non... function add_function_test_register_kernel (line 371) | def add_function_test_register_kernel(cls, name, func, devices=None, **k... function write_junit_results (line 376) | def write_junit_results( class ParallelJunitTestResult (line 429) | class ParallelJunitTestResult(unittest.TextTestResult): method __init__ (line 430) | def __init__(self, stream, descriptions, verbosity): method startTest (line 435) | def startTest(self, test): method _add_helper (line 445) | def _add_helper(self, test, show_all_message): method _record_test (line 452) | def _record_test(self, test, code, message=None, details=None): method addSuccess (line 462) | def addSuccess(self, test): method addError (line 467) | def addError(self, test, err): method addFailure (line 472) | def addFailure(self, test, err): method addSkip (line 477) | def addSkip(self, test, reason): method addExpectedFailure (line 482) | def addExpectedFailure(self, test, err): method addUnexpectedSuccess (line 487) | def addUnexpectedSuccess(self, test): method addSubTest (line 492) | def addSubTest(self, test, subtest, err): method stopTest (line 499) | def stopTest(self, test): method printErrors (line 513) | def printErrors(self): FILE: scripts/check_warp_array_syntax.py function _find_closing_paren (line 31) | def _find_closing_paren(content: str, open_pos: int) -> int: function _parse_dtype_ndim (line 44) | def _parse_dtype_ndim(interior: str) -> tuple[str, int | None] | None: function fix_content (line 83) | def fix_content(content: str) -> str: function main (line 126) | def main() -> int: FILE: scripts/ci/dispatch_workflow_and_wait.py function gh (line 50) | def gh(*args: str) -> subprocess.CompletedProcess[str]: function set_output (line 81) | def set_output(name: str, value: str) -> None: function dispatch (line 94) | def dispatch(repo: str, ref: str, workflow_file: str, extra_args: list[s... function wait_for_completion (line 132) | def wait_for_completion(repo: str, run_id: int) -> str: function main (line 176) | def main() -> int: FILE: scripts/ci/update_docs_switcher.py function validate_version (line 29) | def validate_version(version: str) -> bool: function validate_switcher_json (line 34) | def validate_switcher_json(data: list) -> bool: function main (line 46) | def main() -> int: