runmat-meshing-core 0.6.0

Deterministic meshing preparation contracts for RunMat
Documentation
use std::collections::BTreeMap;

use super::MeshBackendSummary;

impl Default for MeshBackendSummary {
    fn default() -> Self {
        Self {
            backend: "unknown".to_string(),
            algorithm: "unknown".to_string(),
            source_topology_vertex_count: 0,
            source_topology_edge_count: 0,
            source_topology_face_count: 0,
            cad_topology_source: "unknown".to_string(),
            cad_vertex_count: 0,
            cad_edge_count: 0,
            cad_face_count: 0,
            cad_shell_count: 0,
            cad_volume_count: 0,
            cad_semantic_face_count: 0,
            cad_imported_face_count: 0,
            cad_evaluator_face_count: 0,
            cad_generic_face_count: 0,
            cad_closed_shell_count: 0,
            cad_evaluation_source: "unknown".to_string(),
            cad_face_frame_count: 0,
            cad_evaluation_evaluator_face_count: 0,
            cad_evaluation_live_query_face_count: 0,
            cad_evaluation_exact_query_face_count: 0,
            cad_evaluation_point_supported_face_count: 0,
            cad_evaluation_projection_supported_face_count: 0,
            cad_evaluation_normal_supported_face_count: 0,
            cad_evaluation_derivative_supported_face_count: 0,
            cad_evaluation_curvature_supported_face_count: 0,
            cad_evaluation_missing_exact_query_face_count: 0,
            cad_evaluation_missing_derivative_query_face_count: 0,
            cad_evaluation_missing_curvature_query_face_count: 0,
            cad_evaluation_sample_count: 0,
            cad_evaluation_rejected_sample_count: 0,
            cad_projection_query_count: 0,
            cad_derivative_query_count: 0,
            cad_curvature_query_count: 0,
            cad_uv_domain_face_count: 0,
            cad_uv_projection_out_of_bounds_count: 0,
            cad_max_projection_error_m: 0.0,
            cad_max_normal_deviation: 0.0,
            cad_max_curvature_estimate_1_per_m: 0.0,
            curve_element_count: 0,
            surface_element_count: 0,
            surface_source_edge_loop_count: 0,
            surface_closed_edge_loop_count: 0,
            surface_conforming_source_edge_count: 0,
            surface_missing_source_edge_count: 0,
            surface_projection_error_m: 0.0,
            surface_face_coverage_ratio: 0.0,
            surface_cad_face_count: 0,
            surface_exact_cad_sample_node_count: 0,
            surface_rejected_exact_cad_sample_count: 0,
            surface_max_cad_projection_error_m: 0.0,
            plc_input_node_count: 0,
            plc_input_facet_count: 0,
            plc_input_protected_edge_count: 0,
            plc_input_boundary_component_count: 0,
            plc_input_boundary_component_node_count: 0,
            plc_input_max_boundary_component_node_count: 0,
            plc_input_shell_nesting_classified: false,
            plc_input_outer_shell_count: 0,
            plc_input_nested_shell_count: 0,
            plc_input_max_shell_nesting_depth: 0,
            plc_input_material_region_count: 0,
            plc_input_material_region_facet_count: 0,
            plc_input_cad_curve_boundary_source_edge_count: 0,
            plc_input_cad_curve_boundary_segment_count: 0,
            plc_input_cad_curve_imported_edge_count: 0,
            plc_input_cad_curve_evaluator_edge_count: 0,
            plc_input_cad_curve_evaluator_sample_count: 0,
            plc_input_cad_curve_live_query_edge_count: 0,
            plc_input_cad_curve_live_query_sample_count: 0,
            plc_input_cad_curve_rejected_evaluator_sample_count: 0,
            plc_input_cad_curve_curvature_sized_edge_count: 0,
            plc_input_cad_curve_curvature_sample_count: 0,
            plc_input_surface_boundary_node_count: 0,
            volume_component_count: 0,
            interior_seed_point_count: 0,
            tetrahedron_generation_family: "unknown".to_string(),
            tetrahedron_generation_attempted_family_count: 0,
            tetrahedron_generation_rejected_family_count: 0,
            tetrahedron_generation_selected_family_index: 0,
            tetrahedron_generation_interior_support_candidate_count: 0,
            tetrahedron_generation_interior_support_accepted_count: 0,
            tetrahedron_generation_nested_shell_outer_node_count: 0,
            tetrahedron_generation_nested_shell_inner_node_count: 0,
            tetrahedron_generation_nested_shell_generated_node_count: 0,
            tetrahedron_generation_nested_shell_refill_boundary_face_count: 0,
            tetrahedron_generation_nested_shell_boundary_centroid_refinement_attempt_count: 0,
            tetrahedron_generation_nested_shell_boundary_centroid_refinement_rejected_count: 0,
            tetrahedron_generation_nested_shell_boundary_exact_cover_refill_count: 0,
            tetrahedron_generation_nested_shell_boundary_centroid_refinement_refill_count: 0,
            tetrahedron_generation_nested_shell_barycentric_partition_refill_count: 0,
            tetrahedron_generation_nested_shell_outer_facet_count: 0,
            tetrahedron_generation_nested_shell_inner_facet_count: 0,
            tetrahedron_element_count: 0,
            tetrahedron_material_region_count: 0,
            tetrahedron_unclassified_material_element_count: 0,
            tetrahedron_recovered_component_ratio: 0.0,
            tetrahedron_unrecovered_component_count: 0,
            tetrahedron_volume_coverage_ratio: 0.0,
            tetrahedron_recovery_item_count: 0,
            tetrahedron_recovered_item_count: 0,
            tetrahedron_missing_recovery_item_count: 0,
            tetrahedron_recovered_boundary_face_count: 0,
            tetrahedron_recovered_protected_edge_boundary_face_count: 0,
            tetrahedron_recovered_cad_curve_protected_edge_boundary_face_count: 0,
            tetrahedron_attempted_protected_edge_boundary_face_restoration_item_count: 0,
            tetrahedron_attempted_cad_curve_protected_edge_boundary_face_restoration_item_count: 0,
            tetrahedron_rejected_protected_edge_boundary_face_restoration_item_count: 0,
            tetrahedron_rejected_cad_curve_protected_edge_boundary_face_restoration_item_count: 0,
            tetrahedron_rejected_protected_edge_boundary_face_restoration_volume_face_topology_count: 0,
            tetrahedron_volume_edge_source_edge_recovery_item_count: 0,
            tetrahedron_recovered_volume_edge_source_edge_recovery_item_count: 0,
            tetrahedron_boundary_edge_source_edge_recovery_item_count: 0,
            tetrahedron_recovered_boundary_edge_source_edge_recovery_item_count: 0,
            tetrahedron_interior_edge_source_edge_recovery_item_count: 0,
            tetrahedron_recovered_interior_edge_source_edge_recovery_item_count: 0,
            tetrahedron_cad_curve_interior_edge_source_edge_recovery_item_count: 0,
            tetrahedron_recovered_cad_curve_interior_edge_source_edge_recovery_item_count: 0,
            tetrahedron_attempted_source_edge_split_refill_item_count: 0,
            tetrahedron_attempted_cad_curve_source_edge_split_refill_item_count: 0,
            tetrahedron_accepted_source_edge_split_refill_candidate_item_count: 0,
            tetrahedron_accepted_cad_curve_source_edge_split_refill_candidate_item_count: 0,
            tetrahedron_post_repair_attempted_source_edge_split_refill_item_count: 0,
            tetrahedron_post_repair_attempted_cad_curve_source_edge_split_refill_item_count: 0,
            tetrahedron_applied_source_edge_split_refill_item_count: 0,
            tetrahedron_applied_cad_curve_source_edge_split_refill_item_count: 0,
            tetrahedron_post_repair_rejected_source_edge_split_refill_item_count: 0,
            tetrahedron_post_repair_rejected_cad_curve_source_edge_split_refill_item_count: 0,
            tetrahedron_rejected_source_edge_split_refill_item_count: 0,
            tetrahedron_rejected_cad_curve_source_edge_split_refill_item_count: 0,
            tetrahedron_absent_edge_source_edge_recovery_item_count: 0,
            tetrahedron_recovered_absent_edge_source_edge_recovery_item_count: 0,
            tetrahedron_boundary_face_source_face_recovery_item_count: 0,
            tetrahedron_recovered_boundary_face_source_face_recovery_item_count: 0,
            tetrahedron_interior_face_source_face_recovery_item_count: 0,
            tetrahedron_recovered_interior_face_source_face_recovery_item_count: 0,
            tetrahedron_volume_face_source_face_recovery_item_count: 0,
            tetrahedron_recovered_volume_face_source_face_recovery_item_count: 0,
            tetrahedron_attempted_volume_face_source_face_boundary_restoration_item_count: 0,
            tetrahedron_rejected_volume_face_source_face_boundary_restoration_item_count: 0,
            tetrahedron_rejected_volume_face_source_face_boundary_restoration_volume_face_topology_count: 0,
            tetrahedron_absent_face_source_face_recovery_item_count: 0,
            tetrahedron_recovered_absent_face_source_face_recovery_item_count: 0,
            tetrahedron_deferred_absent_source_edge_recovery_item_count: 0,
            tetrahedron_attempted_absent_source_edge_recovery_item_count: 0,
            tetrahedron_attempted_cad_curve_absent_source_edge_recovery_item_count: 0,
            tetrahedron_reconnected_absent_source_edge_recovery_item_count: 0,
            tetrahedron_reconnected_cad_curve_absent_source_edge_recovery_item_count: 0,
            tetrahedron_rejected_absent_source_edge_recovery_item_count: 0,
            tetrahedron_rejected_cad_curve_absent_source_edge_recovery_item_count: 0,
            tetrahedron_rejected_absent_source_edge_adjacent_facet_count: 0,
            tetrahedron_rejected_absent_source_edge_adjacent_facet_topology_count: 0,
            tetrahedron_rejected_absent_source_edge_current_boundary_face_count: 0,
            tetrahedron_rejected_absent_source_edge_element_topology_count: 0,
            tetrahedron_rejected_absent_source_edge_material_region_mismatch_count: 0,
            tetrahedron_rejected_absent_source_edge_quality_gate_count: 0,
            tetrahedron_recovered_absent_source_edge_boundary_face_count: 0,
            tetrahedron_attempted_source_face_diagonal_recovery_pair_count: 0,
            tetrahedron_recovered_source_face_diagonal_pair_count: 0,
            tetrahedron_recovered_source_face_diagonal_boundary_face_count: 0,
            tetrahedron_rejected_source_face_diagonal_recovery_pair_count: 0,
            tetrahedron_rejected_source_face_diagonal_recovery_item_count: 0,
            tetrahedron_rejected_source_face_diagonal_adjacent_facet_count: 0,
            tetrahedron_rejected_source_face_diagonal_adjacent_facet_topology_count: 0,
            tetrahedron_rejected_source_face_diagonal_current_boundary_face_count: 0,
            tetrahedron_rejected_source_face_diagonal_element_topology_count: 0,
            tetrahedron_rejected_source_face_diagonal_material_region_mismatch_count: 0,
            tetrahedron_rejected_source_face_diagonal_quality_gate_count: 0,
            tetrahedron_rejected_source_face_diagonal_unpaired_source_face_count: 0,
            tetrahedron_repaired_boundary_face_identity_count: 0,
            tetrahedron_removed_redundant_boundary_face_count: 0,
            tetrahedron_removed_unsupported_boundary_face_count: 0,
            tetrahedron_attempted_boundary_leak_recovery_item_count: 0,
            tetrahedron_removed_exterior_leaked_element_count: 0,
            tetrahedron_exposed_interior_source_face_count: 0,
            tetrahedron_inserted_exposed_interior_boundary_face_count: 0,
            tetrahedron_rejected_boundary_leak_recovery_item_count: 0,
            tetrahedron_rejected_boundary_leak_adjacent_element_count: 0,
            tetrahedron_rejected_boundary_leak_material_region_mismatch_count: 0,
            tetrahedron_rejected_boundary_leak_outside_classification_count: 0,
            tetrahedron_rejected_boundary_leak_closed_surface_coordinate_count: 0,
            tetrahedron_repaired_source_face_provenance_count: 0,
            tetrahedron_repaired_source_edge_provenance_count: 0,
            tetrahedron_repaired_cad_curve_source_edge_provenance_count: 0,
            tetrahedron_repaired_material_interface_element_count: 0,
            tetrahedron_attempted_material_interface_recovery_item_count: 0,
            tetrahedron_rejected_material_interface_recovery_item_count: 0,
            tetrahedron_global_material_interface_recovery_item_count: 0,
            tetrahedron_boundary_owned_material_interface_recovery_item_count: 0,
            tetrahedron_recovered_boundary_owned_material_interface_recovery_item_count: 0,
            tetrahedron_interior_material_interface_recovery_item_count: 0,
            tetrahedron_recovered_interior_face_material_interface_recovery_item_count: 0,
            tetrahedron_recovered_absent_partition_material_interface_recovery_item_count: 0,
            tetrahedron_rejected_material_interface_missing_boundary_ownership_count: 0,
            tetrahedron_rejected_material_interface_missing_interior_ownership_count: 0,
            tetrahedron_rejected_material_interface_ambiguous_boundary_ownership_count: 0,
            tetrahedron_rejected_material_interface_absent_partition_count: 0,
            tetrahedron_attempted_absent_material_partition_recovery_item_count: 0,
            tetrahedron_inserted_absent_material_partition_recovery_item_count: 0,
            tetrahedron_inserted_absent_material_partition_element_count: 0,
            tetrahedron_inserted_absent_material_partition_boundary_face_count: 0,
            tetrahedron_rejected_absent_material_partition_recovery_item_count: 0,
            tetrahedron_rolled_back_absent_material_partition_recovery_item_count: 0,
            tetrahedron_rolled_back_absent_material_partition_element_count: 0,
            tetrahedron_rolled_back_absent_material_partition_boundary_face_count: 0,
            tetrahedron_rejected_absent_material_partition_facet_count: 0,
            tetrahedron_rejected_absent_material_partition_facet_topology_count: 0,
            tetrahedron_rejected_absent_material_partition_element_exists_count: 0,
            tetrahedron_rejected_absent_material_partition_interior_face_topology_count: 0,
            tetrahedron_rejected_absent_material_partition_quality_gate_count: 0,
            tetrahedron_rejected_absent_material_partition_post_insertion_audit_count: 0,
            tetrahedron_source_face_recovery_item_count: 0,
            tetrahedron_recovered_source_face_recovery_item_count: 0,
            tetrahedron_missing_source_face_recovery_item_count: 0,
            tetrahedron_missing_source_face_topology_recovery_item_count: 0,
            tetrahedron_missing_source_face_provenance_recovery_item_count: 0,
            tetrahedron_missing_source_face_boundary_face_recovery_item_count: 0,
            tetrahedron_missing_source_face_volume_face_recovery_item_count: 0,
            tetrahedron_missing_source_face_interior_face_recovery_item_count: 0,
            tetrahedron_missing_source_face_absent_face_recovery_item_count: 0,
            tetrahedron_missing_source_face_recovery_ids: Vec::new(),
            tetrahedron_omitted_missing_source_face_recovery_id_count: 0,
            tetrahedron_source_edge_recovery_item_count: 0,
            tetrahedron_recovered_source_edge_recovery_item_count: 0,
            tetrahedron_missing_source_edge_recovery_item_count: 0,
            tetrahedron_missing_source_edge_topology_recovery_item_count: 0,
            tetrahedron_missing_source_edge_provenance_recovery_item_count: 0,
            tetrahedron_missing_source_edge_volume_edge_recovery_item_count: 0,
            tetrahedron_missing_source_edge_interior_edge_recovery_item_count: 0,
            tetrahedron_missing_source_edge_absent_edge_recovery_item_count: 0,
            tetrahedron_missing_source_edge_recovery_ids: Vec::new(),
            tetrahedron_omitted_missing_source_edge_recovery_id_count: 0,
            tetrahedron_cad_curve_source_edge_recovery_item_count: 0,
            tetrahedron_recovered_cad_curve_source_edge_recovery_item_count: 0,
            tetrahedron_missing_cad_curve_source_edge_recovery_item_count: 0,
            tetrahedron_missing_cad_curve_source_edge_topology_recovery_item_count: 0,
            tetrahedron_missing_cad_curve_source_edge_provenance_recovery_item_count: 0,
            tetrahedron_material_interface_recovery_item_count: 0,
            tetrahedron_recovered_material_interface_recovery_item_count: 0,
            tetrahedron_missing_material_interface_recovery_item_count: 0,
            tetrahedron_missing_material_interface_boundary_owned_recovery_item_count: 0,
            tetrahedron_missing_material_interface_interior_face_recovery_item_count: 0,
            tetrahedron_missing_material_interface_absent_partition_recovery_item_count: 0,
            tetrahedron_missing_material_interface_recovery_ids: Vec::new(),
            tetrahedron_omitted_missing_material_interface_recovery_id_count: 0,
            tetrahedron_refinement_pass_count: 0,
            tetrahedron_refinement_point_count: 0,
            tetrahedron_requested_refinement_point_count: 0,
            tetrahedron_accepted_requested_refinement_location_count: 0,
            tetrahedron_accepted_requested_refinement_point_count: 0,
            tetrahedron_accepted_requested_refinement_interpolated_point_count: 0,
            tetrahedron_rejected_requested_refinement_point_count: 0,
            tetrahedron_requested_refinement_rejected_by_reason: BTreeMap::new(),
            tetrahedron_dropped_requested_refinement_point_count: 0,
            tetrahedron_requested_refinement_dropped_by_reason: BTreeMap::new(),
            tetrahedron_max_radius_edge_ratio: 0.0,
            tetrahedron_sizing_violation_count: 0,
            tetrahedron_min_exact_scaled_jacobian: 1.0,
            tetrahedron_exact_scaled_jacobian_below_threshold_count: 0,
            tetrahedron_exact_scaled_jacobian_bins: BTreeMap::new(),
            tetrahedron_optimization_pass_count: 0,
            tetrahedron_optimization_budget_limited_count: 0,
            tetrahedron_smoothed_point_count: 0,
            tetrahedron_optimization_interior_smoothing_attempt_count: 0,
            tetrahedron_optimization_interior_smoothing_accepted_count: 0,
            tetrahedron_optimization_interior_smoothing_rejected_count: 0,
            tetrahedron_optimization_interior_smoothing_budget_limited_count: 0,
            tetrahedron_optimization_interior_smoothing_rejected_by_reason: BTreeMap::new(),
            tetrahedron_optimization_boundary_smoothing_attempt_count: 0,
            tetrahedron_optimization_boundary_smoothing_accepted_count: 0,
            tetrahedron_optimization_boundary_smoothing_rejected_count: 0,
            tetrahedron_optimization_boundary_smoothing_budget_limited_count: 0,
            tetrahedron_optimization_boundary_smoothing_rejected_by_reason: BTreeMap::new(),
            tetrahedron_sliver_count: 0,
            tetrahedron_sliver_removed_count: 0,
            tetrahedron_optimization_sliver_removal_attempt_count: 0,
            tetrahedron_optimization_sliver_removal_accepted_count: 0,
            tetrahedron_optimization_sliver_removal_rejected_count: 0,
            tetrahedron_optimization_sliver_removal_budget_limited_count: 0,
            tetrahedron_optimization_sliver_removal_rejected_by_reason: BTreeMap::new(),
            tetrahedron_optimization_target_seed_count: 0,
            tetrahedron_optimization_skipped_target_seed_count: 0,
            tetrahedron_optimization_rejected_edit_count: 0,
            tetrahedron_optimization_local_reconnection_attempt_count: 0,
            tetrahedron_optimization_local_reconnection_accepted_count: 0,
            tetrahedron_optimization_local_reconnection_rejected_count: 0,
            tetrahedron_optimization_local_reconnection_budget_limited_count: 0,
            tetrahedron_optimization_local_reconnection_rejected_by_reason: BTreeMap::new(),
            tetrahedron_optimization_initial_max_aspect_ratio: 0.0,
            tetrahedron_optimization_final_max_aspect_ratio: 0.0,
            tetrahedron_optimization_initial_min_exact_scaled_jacobian: 0.0,
            tetrahedron_optimization_final_min_exact_scaled_jacobian: 0.0,
            tetrahedron_untangling_pass_count: 0,
            tetrahedron_untangling_initial_near_singular_count: 0,
            tetrahedron_untangling_final_near_singular_count: 0,
            tetrahedron_untangling_relocated_seed_count: 0,
            tetrahedron_untangling_reconnected_edge_star_count: 0,
            tetrahedron_untangling_reconnected_boundary_adjacent_cavity_count: 0,
            tetrahedron_untangling_reconnected_node_adjacent_cavity_count: 0,
            tetrahedron_exact_quality_repair_pass_count: 0,
            tetrahedron_exact_quality_reconnected_cavity_count: 0,
            tetrahedron_exact_quality_reconnection_quality_gain_count: 0,
            tetrahedron_exact_quality_face_neighbor_reconnected_cavity_count: 0,
            tetrahedron_exact_quality_connected_reconnected_cavity_count: 0,
            tetrahedron_exact_quality_node_adjacent_reconnected_cavity_count: 0,
            tetrahedron_exact_quality_boundary_adjacent_reconnected_cavity_count: 0,
            tetrahedron_exact_quality_expanded_connected_reconnected_cavity_count: 0,
            tetrahedron_exact_quality_split_cavity_count: 0,
            tetrahedron_exact_quality_seed_star_collapse_count: 0,
            tetrahedron_exact_quality_seed_star_relocation_count: 0,
            tetrahedron_exact_quality_unrepaired_total_count: 0,
            tetrahedron_exact_quality_unrepaired_general_cavity_count: 0,
            tetrahedron_exact_quality_unrepaired_boundary_adjacent_count: 0,
            tetrahedron_exact_quality_unrepaired_node_adjacent_count: 0,
            tetrahedron_exact_quality_unrepaired_interior_seed_count: 0,
            tetrahedron_exact_quality_unrepaired_edge_star_count: 0,
            boundary_face_recovery_ratio: 0.0,
            boundary_edge_recovery_ratio: 0.0,
        }
    }
}