[INFO] cloning repository https://github.com/timschmidt/hypercurve
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/timschmidt/hypercurve" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftimschmidt%2Fhypercurve", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftimschmidt%2Fhypercurve'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d9c004fc236765e85e0df6ff05a9af5e8489634c
[INFO] testing timschmidt/hypercurve against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftimschmidt%2Fhypercurve" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/timschmidt/hypercurve
[INFO] finished tweaking git repo https://github.com/timschmidt/hypercurve
[INFO] tweaked toml for git repo https://github.com/timschmidt/hypercurve written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/timschmidt/hypercurve on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/timschmidt/hypercurve already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310
[INFO] running `Command { std: "docker" "start" "2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling hyperreal v0.13.0
[INFO] [stderr]    Compiling hyperlattice v0.6.0
[INFO] [stderr]    Compiling hyperlimit v0.4.0
[INFO] [stderr]    Compiling hypersolve v0.3.0
[INFO] [stderr]    Compiling hypercurve v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.90s
[INFO] running `Command { std: "docker" "inspect" "2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling i_float v1.15.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling robust v1.2.0
[INFO] [stderr]    Compiling hash32 v0.3.1
[INFO] [stderr]    Compiling i_tree v0.16.0
[INFO] [stderr]    Compiling i_key_sort v0.6.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling geographiclib-rs v0.2.7
[INFO] [stderr]    Compiling float_next_after v1.0.0
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling i_shape v1.14.0
[INFO] [stderr]    Compiling sif-itree v0.4.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling rstar v0.12.2
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling spade v2.15.1
[INFO] [stderr]    Compiling static_aabb2d_index v2.0.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling earcutr v0.4.3
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling hyperreal v0.13.0
[INFO] [stderr]    Compiling geo-types v0.7.19
[INFO] [stderr]    Compiling i_overlay v4.0.7
[INFO] [stderr]    Compiling hyperlattice v0.6.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling geo v0.32.0
[INFO] [stderr]    Compiling hyperlimit v0.4.0
[INFO] [stderr]    Compiling hypersolve v0.3.0
[INFO] [stderr]    Compiling hypercurve v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 03s
[INFO] running `Command { std: "docker" "inspect" "2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hypercurve-d67bbda5ed7447c8)
[INFO] [stdout] 
[INFO] [stdout] running 63 tests
[INFO] [stdout] test bezier_metric::tests::metric_subdivision_rejects_empty_controls ... ok
[INFO] [stdout] test bezier_moment::tests::moment_subdivision_rejects_empty_controls ... ok
[INFO] [stdout] test bezier_moment::tests::bernstein_to_power_handles_supported_higher_degree ... ok
[INFO] [stdout] test bezier_metric::tests::inverse_length_zero_target_returns_zero_parameter_certificate ... ok
[INFO] [stdout] test rational_bezier::tests::rational_polynomial_bernstein_helpers_keep_exact_weights ... ok
[INFO] [stdout] test rational_bezier::tests::empty_polynomial_control_relation_reports_unsupported ... ok
[INFO] [stdout] test bezier_topology::tests::scalar_cubic_half_subdivision_keeps_exact_de_casteljau_values ... ok
[INFO] [stdout] test bezier_moment::tests::area_moments_accept_constant_control ... ok
[INFO] [stdout] test bezier_moment::tests::area_moments_reject_empty_controls ... ok
[INFO] [stdout] test bezier_flatten::tests::cubic_half_split_keeps_exact_de_casteljau_values ... ok
[INFO] [stdout] test bezier_metric::tests::degree_elevated_linear_certificate_checks_parameters_exactly ... ok
[INFO] [stdout] test bezier_region::tests::retained_subcurve_point_query_preserves_projective_denominator_uncertainty ... ok
[INFO] [stdout] test bezier_flatten::tests::flatten_certificate_reports_actual_depth_used ... ok
[INFO] [stdout] test rational_bezier::tests::rational_midpoint_subdivision_keeps_exact_de_casteljau_values ... ok
[INFO] [stdout] test bezier_metric::tests::inverse_length_linear_image_keeps_exact_parameter_certificate ... ok
[INFO] [stdout] test bezier_topology::tests::shared_axis_sign_pruned_schedule_discards_strictly_separated_graphs ... ok
[INFO] [stdout] test rational_bezier::tests::rational_midpoint_subdivision_reports_empty_controls ... ok
[INFO] [stdout] test bezier_topology::tests::shared_axis_sign_pruned_schedule_keeps_frontier_boundary_roots ... ok
[INFO] [stdout] test region_boolean::tests::dropping_unresolved_boundaries_accepts_certified_opposite_fragment_pairs ... ok
[INFO] [stdout] test region_boolean::tests::blocked_region_boolean_report_names_boundary_extraction_stage ... ok
[INFO] [stdout] test tests::arc_arc_intersection_detects_tangent ... ok
[INFO] [stdout] test tests::arc_arc_intersection_reports_reversed_same_circle_overlap ... ok
[INFO] [stdout] test tests::arc_arc_intersection_reports_same_circle_endpoint_only_pair ... ok
[INFO] [stdout] test tests::arc_arc_intersection_detects_disjoint_circles ... ok
[INFO] [stdout] test tests::arc_arc_intersection_detects_two_endpoint_hits ... ok
[INFO] [stdout] test region_boolean::tests::dropping_unresolved_boundaries_requires_opposite_fragment_pair_evidence ... ok
[INFO] [stdout] test region_boolean::tests::strip_boolean_reports_degenerate_required_rectangle_as_uncertainty ... ok
[INFO] [stdout] test tests::bulge_zero_constructs_line_segment ... ok
[INFO] [stdout] test tests::arc_sweep_classifies_positive_bulge_semicircle ... ok
[INFO] [stdout] test tests::arc_arc_intersection_detects_one_filtered_crossing ... ok
[INFO] [stdout] test tests::arc_sweep_classifies_negative_bulge_semicircle ... ok
[INFO] [stdout] test tests::bulge_vertex_builds_segment_to_next_vertex ... ok
[INFO] [stdout] test region_boolean::tests::region_boolean_report_retains_boundary_role_blocker_pair ... ok
[INFO] [stdout] test tests::contour_signed_area_accumulates_line_segments_exactly ... ok
[INFO] [stdout] test tests::curve_string_builds_from_bulge_vertices ... ok
[INFO] [stdout] test tests::contour_signed_area_accumulates_bulge_arc_segments ... ok
[INFO] [stdout] test tests::arc_arc_intersection_reports_same_circle_overlap ... ok
[INFO] [stdout] test tests::curve_string_intersections_collect_line_line_event ... ok
[INFO] [stdout] test tests::curve_string_intersections_collect_line_arc_event ... ok
[INFO] [stdout] test tests::curve_string_intersections_drop_empty_segment_pairs ... ok
[INFO] [stdout] test tests::curve_string_rejects_disconnected_segments ... ok
[INFO] [stdout] test tests::curve_string_rejects_empty_segment_list ... ok
[INFO] [stdout] test tests::curve_string_rejects_too_few_bulge_vertices ... ok
[INFO] [stdout] test tests::line_arc_intersection_detects_tangent ... ok
[INFO] [stdout] test tests::line_line_intersection_crosses_at_point ... ok
[INFO] [stdout] test tests::line_arc_intersection_keeps_only_points_inside_sweep ... ok
[INFO] [stdout] test tests::line_arc_intersection_rejects_circle_hit_outside_sweep ... ok
[INFO] [stdout] test tests::line_line_intersection_detects_collinear_overlap ... ok
[INFO] [stdout] test tests::line_arc_intersection_detects_two_endpoint_hits ... ok
[INFO] [stdout] test tests::line_line_intersection_detects_endpoint_touch ... ok
[INFO] [stdout] test tests::line_arc_intersection_keeps_clockwise_sweep ... ok
[INFO] [stdout] test tests::line_segment_interpolates_midpoint ... ok
[INFO] [stdout] test tests::line_segment_rejects_zero_length ... ok
[INFO] [stdout] test tests::line_side_classifies_left_right_and_on ... ok
[INFO] [stdout] test tests::line_line_intersection_detects_parallel_disjoint ... ok
[INFO] [stdout] test tests::negative_semicircle_bulge_constructs_clockwise_arc ... ok
[INFO] [stdout] test tests::positive_semicircle_bulge_constructs_arc ... ok
[INFO] [stdout] test tests::region_filled_area_uses_material_minus_hole_roles ... ok
[INFO] [stdout] test tests::segment_intersection_dispatches_line_line ... ok
[INFO] [stdout] test tests::segment_intersection_dispatches_arc_line_with_order ... ok
[INFO] [stdout] test tests::segment_intersection_dispatches_arc_arc ... ok
[INFO] [stdout] test tests::segment_intersection_dispatches_line_arc_with_order ... ok
[INFO] [stdout] test rational_bezier::tests::rational_polynomial_dyadic_promotion_uses_checked_parameters ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 63 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/exact_structural_facts.rs (/opt/rustwide/target/debug/deps/exact_structural_facts-fea7e8f3b325e751)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test point_facts_preserve_exact_scale_and_symbolic_dependencies ... ok
[INFO] [stdout] test certified_line_parameters_retain_exact_endpoint_touch ... ok
[INFO] [stdout] test prepared_circular_arc_reuses_radial_sweep_predicates ... ok
[INFO] [stdout] test native_segment_facts_report_kind_specific_shape ... ok
[INFO] [stdout] test certified_line_parameters_keep_tiny_exact_endpoint_gap ... ok
[INFO] [stdout] test prepared_line_segment_reuses_exact_predicate_endpoint_facts ... ok
[INFO] [stdout] test prepared_region_facts_preserve_all_line_exact_grid_shape ... ok
[INFO] [stdout] test symbolic_bulge_sign_selects_arc_orientation_exactly ... ok
[INFO] [stdout] test line_segment_facts_certify_axis_alignment_without_float_predicates ... ok
[INFO] [stdout] test prepared_curve_facts_summarize_segment_families_and_dependencies ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_adversarial_polygons.rs (/opt/rustwide/target/debug/deps/hypercurve_adversarial_polygons-f69583ef7ba35ed2)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test reconstructed_slender_concavity_offset_reports_uncertainty_not_radius_mismatch ... ok
[INFO] [stdout] test self_intersecting_closed_polyline_reconstruction_reports_contacts_without_bad_offsets ... ok
[INFO] [stdout] test polygon_with_hole_cut_through_slender_concavity_stays_structurally_valid ... ok
[INFO] [stdout] test adversarial_closed_polyline_reconstruction_feeds_topology_safely ... ok
[INFO] [stdout] test adversarial_concave_polygons_keep_offset_outputs_finite ... ok
[INFO] [stdout] test adversarial_regions_with_holes_match_prepared_clipping has been running for over 60 seconds
[INFO] [stderr]      Running tests/hypercurve_bbox.rs (/opt/rustwide/target/debug/deps/hypercurve_bbox-ee944d7a266e09b5)
[INFO] [stdout] test adversarial_regions_with_holes_match_prepared_clipping ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 84.28s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test aabb_overlap_is_inclusive_at_edge_and_corner_contacts ... ok
[INFO] [stdout] test semicircle_aabb_includes_only_swept_cardinal_extreme ... ok
[INFO] [stdout] test curve_string_aabb_unions_segment_boxes ... ok
[INFO] [stdout] test curve_string_intersection_broad_phase_keeps_real_hits ... ok
[INFO] [stdout] test empty_region_aabb_is_explicitly_unsupported ... ok
[INFO] [stdout] test aabb_ordering_classifier_rejects_reversed_unchecked_box ... ok
[INFO] [stdout] test line_aabb_sorts_reversed_endpoint_coordinates ... ok
[INFO] [stdout] test quarter_arc_aabb_uses_endpoint_extrema_when_no_cardinal_point_is_internal ... ok
[INFO] [stdout] test region_aabb_unions_material_and_hole_boundaries ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_bezier_algebraic_image.rs (/opt/rustwide/target/debug/deps/hypercurve_bezier_algebraic_image-a634348bcb1618c1)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test quadratic_point_and_tangent_images_retain_algebraic_coordinate_evidence ... ok
[INFO] [stdout] test rational_quadratic_denominator_boundary_is_reported ... ok
[INFO] [stdout] test cubic_point_and_tangent_images_use_power_basis_resultants ... ok
[INFO] [stdout] test rational_quadratic_point_and_tangent_images_retain_quotient_evidence ... ok
[INFO] [stdout] test nonmonotone_coordinate_image_is_reported_instead_of_sampled ... ok
[INFO] [stdout] test linear_coordinate_images_match_exact_midpoint_values ... ok
[INFO] [stdout] test rational_line_image_matches_exact_midpoint_values ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_bezier_algebraic_parameter.rs (/opt/rustwide/target/debug/deps/hypercurve_bezier_algebraic_parameter-9667b6b741747a25)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test linear_midpoint_root_is_a_valid_algebraic_parameter ... ok
[INFO] [stdout] test invalid_parameter_intervals_are_rejected ... ok
[INFO] [stdout] test multi_root_bracket_is_rejected_as_not_an_isolator ... ok
[INFO] [stdout] test exact_and_algebraic_parameters_compare_only_when_certified ... ok
[INFO] [stdout] test endpoint_root_is_rejected_for_algebraic_isolators ... ok
[INFO] [stdout] test quadratic_singleton_isolator_is_validated_by_sturm_count ... ok
[INFO] [stdout] test linear_algebraic_parameter_recovers_represented_root ... ok
[INFO] [stdout] test nonlinear_algebraic_parameter_does_not_claim_represented_root ... ok
[INFO] [stdout] test linear_integer_polynomials_count_at_most_one_root ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_bezier_arrangement.rs (/opt/rustwide/target/debug/deps/hypercurve_bezier_arrangement-e24840ea7b9d5f2a)
[INFO] [stdout] 
[INFO] [stdout] running 50 tests
[INFO] [stdout] test arrangement_graph_accepts_adjacent_reused_source_fragment_ranges ... ok
[INFO] [stdout] test arrangement_graph_rejects_invalid_unique_source_fragment_ranges ... ok
[INFO] [stdout] test monotone_span_rejects_reversed_parameter_evidence ... ok
[INFO] [stdout] test retained_arrangement_traversal_constructors_validate_fragment_ownership ... ok
[INFO] [stdout] test arrangement_graph_rejects_forged_algebraic_endpoint_image_evidence ... ok
[INFO] [stdout] test branch_vertex_is_explicit_uncertainty_not_arbitrary_successor ... ok
[INFO] [stdout] test contact_constructors_reject_out_of_domain_parameter_evidence ... ok
[INFO] [stdout] test retained_linear_overlap_split_graph_rejects_forged_resolved_provenance ... ok
[INFO] [stdout] test retained_linear_overlap_split_graph_rejects_forged_split_report_geometry ... ok
[INFO] [stdout] test retained_linear_overlap_traversal_rejects_indices_outside_refinement ... ok
[INFO] [stdout] test retained_overlap_pair_constructor_rejects_unordered_indices ... ok
[INFO] [stdout] test retained_overlap_report_does_not_call_same_curve_image_a_line_split ... ok
[INFO] [stdout] test algebraic_split_boundary_blocks_graph_traversal ... ok
[INFO] [stdout] test retained_linear_overlap_refinement_reports_reversed_span_orientation ... ok
[INFO] [stdout] test retained_overlap_report_finds_identical_materialized_fragments ... ok
[INFO] [stdout] test retained_overlap_report_finds_reversed_degree_elevated_same_image ... ok
[INFO] [stdout] test retained_overlap_report_rejects_nonlinear_line_image_bezier_ranges ... ok
[INFO] [stdout] test retained_overlap_report_constructor_rejects_unsorted_or_duplicate_pairs ... ok
[INFO] [stdout] test retained_overlap_report_separates_endpoint_touch_from_overlap ... ok
[INFO] [stdout] test retained_linear_overlap_traversal_rejects_incomplete_refined_partition ... ok
[INFO] [stdout] test retained_overlap_split_constructors_reject_unordered_indices ... ok
[INFO] [stdout] test exact_split_fragments_traverse_as_one_closed_bezier_chain ... ok
[INFO] [stdout] test arrangement_graph_rejects_overlapping_reused_source_fragment_ranges ... ok
[INFO] [stdout] test retained_linear_overlap_split_graph_rejects_missing_split_report_evidence ... ok
[INFO] [stdout] test retained_linear_overlap_traversal_splits_and_consumes_duplicate_span_in_loop ... ok
[INFO] [stdout] test retained_linear_overlap_split_graph_rejects_forged_orientation ... ok
[INFO] [stdout] test retained_linear_overlap_traversal_cancels_reversed_internal_span_in_loop ... ok
[INFO] [stdout] test retained_overlap_pair_constructor_rejects_non_overlap_line_evidence ... ok
[INFO] [stdout] test arrangement_graph_rejects_duplicate_source_fragment_evidence ... ok
[INFO] [stdout] test retained_linear_overlap_split_graph_rejects_missing_refined_provenance ... ok
[INFO] [stdout] test retained_overlap_refined_fragment_constructor_validates_local_range ... ok
[INFO] [stdout] test retained_overlap_split_constructors_validate_range_evidence ... ok
[INFO] [stdout] test retained_overlap_traversal_rejects_reversed_duplicate_as_ownership_boundary ... ok
[INFO] [stdout] test retained_overlap_report_does_not_sample_algebraic_endpoint_image_fragments ... ok
[INFO] [stdout] test retained_tangent_order_rejects_equal_algebraic_successors ... ok
[INFO] [stdout] test retained_overlap_report_extracts_partial_line_image_split_ranges ... ok
[INFO] [stdout] test retained_tangent_order_traverses_algebraic_branch_vertex ... ok
[INFO] [stdout] test retained_tangent_order_uses_algebraic_second_order_for_equal_successors ... ok
[INFO] [stdout] test tangent_ordered_traversal_rejects_equal_second_order_outgoing_tangents ... ok
[INFO] [stdout] test tangent_ordered_traversal_rejects_equal_rational_second_order_successors ... ok
[INFO] [stdout] test tangent_ordered_traversal_rejects_equal_third_order_cubic_successors ... ok
[INFO] [stdout] test tangent_ordered_traversal_uses_third_order_for_cubic_same_tangent_inflections ... ok
[INFO] [stdout] test tangent_ordered_traversal_resolves_simple_branch_vertex ... ok
[INFO] [stdout] test tangent_ordered_traversal_uses_rational_second_order_for_equal_outgoing_tangents ... ok
[INFO] [stdout] test tangent_ordered_traversal_uses_second_order_for_equal_outgoing_tangents ... ok
[INFO] [stdout] test retained_tangent_order_uses_algebraic_third_order_for_cubic_same_tangent_inflections ... ok
[INFO] [stdout] test retained_tangent_order_uses_rational_algebraic_second_order_for_equal_successors ... ok
[INFO] [stdout] test retained_overlap_traversal_deduplicates_oriented_duplicate_loop_edges ... ok
[INFO] [stdout] test retained_resolved_overlap_constructor_rejects_unordered_indices ... ok
[INFO] [stdout] test open_quadratic_chain_stays_one_nonclosed_chain ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_bezier_fit_offset.rs (/opt/rustwide/target/debug/deps/hypercurve_bezier_fit_offset-8876f3b0b5c379d2)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test quadratic_line_image_fit_offsets_as_exact_line ... ok
[INFO] [stdout] test rational_quadratic_conic_line_image_fit_offsets_as_exact_line ... ok
[INFO] [stdout] test bezier_area_prefix_sums_answer_exact_ranges ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_bezier_interpolation.rs (/opt/rustwide/target/debug/deps/hypercurve_bezier_interpolation-b69c3a5417530219)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test quadratic_point_interpolation_report_returns_boundary_blocker ... ok
[INFO] [stdout] test quadratic_point_interpolation_reports_out_of_domain_parameter_blocker ... ok
[INFO] [stdout] test quadratic_point_interpolation_solves_non_midpoint_control_and_replays_constraint ... ok
[INFO] [stdout] test cubic_hermite_interpolation_solves_controls_and_replays_endpoint_tangents ... ok
[INFO] [stdout] test quadratic_point_interpolation_report_materializes_decided_curve ... ok
[INFO] [stdout] test quadratic_midpoint_interpolation_solves_control_and_replays_constraint ... ok
[INFO] [stdout] test quadratic_point_interpolation_reports_endpoint_parameter_blocker ... ok
[INFO] [stdout] test generated_cubic_hermite_interpolation_replays_endpoint_tangents ... ok
[INFO] [stdout] test cubic_hermite_interpolation_preserves_zero_endpoint_derivative_evidence ... ok
[INFO] [stdout] test generated_quadratic_point_interpolation_replays_known_exact_curve ... ok
[INFO] [stderr]      Running tests/hypercurve_bezier_region.rs (/opt/rustwide/target/debug/deps/hypercurve_bezier_region-957fefad0b5fb9cd)
[INFO] [stdout] test quadratic_midpoint_interpolation_preserves_exact_collinear_shape ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test empty_boundary_loops_do_not_certify_signed_area ... ok
[INFO] [stdout] test retained_boundary_loop_constructor_rejects_forged_materialized_range_order ... ok
[INFO] [stdout] test conic_area_rejects_uncertified_projective_denominator ... ok
[INFO] [stdout] test retained_boundary_loop_constructor_rejects_source_only_algebraic_endpoint_evidence ... ok
[INFO] [stdout] test native_boundary_loop_constructor_rejects_open_fragment_cycle ... ok
[INFO] [stdout] test retained_boundary_loop_constructor_rejects_open_fragment_cycle ... ok
[INFO] [stdout] test equal_weight_rational_quadratic_area_matches_polynomial_exactly ... ok
[INFO] [stdout] test retained_curve_envelope_includes_native_bezier_interior_extrema ... ok
[INFO] [stdout] test retained_boundary_loop_constructor_rejects_incomplete_algebraic_endpoint_evidence ... ok
[INFO] [stdout] test retained_boundary_loop_constructor_rejects_forged_source_endpoint_image ... ok
[INFO] [stdout] test retained_line_image_role_report_accepts_certified_nonlinear_line_image_loop ... ok
[INFO] [stdout] test open_arrangement_chain_does_not_materialize_region ... ok
[INFO] [stdout] test native_region_constructor_rejects_duplicate_boundary_loops ... ok
[INFO] [stdout] test closed_polynomial_arrangement_materializes_retained_region_with_exact_area ... ok
[INFO] [stdout] test retained_region_rejects_unresolved_carriers_even_when_marked_closed ... ok
[INFO] [stdout] test retained_boundary_loop_constructor_rejects_duplicate_arrangement_sources ... ok
[INFO] [stdout] test retained_region_constructor_rejects_reused_arrangement_sources_across_loops ... ok
[INFO] [stdout] test retained_line_image_role_report_assigns_nested_material_and_hole ... ok
[INFO] [stdout] test retained_signed_area_role_report_accepts_nonlinear_bezier_loops ... ok
[INFO] [stdout] test retained_region_materializes_closed_algebraic_carrier_loop_without_area_sampling ... ok
[INFO] [stdout] test conic_region_boundary_materializes_with_exact_area ... ok
[INFO] [stdout] test retained_line_image_role_report_rejects_nonrational_algebraic_endpoint ... ok
[INFO] [stdout] test retained_role_report_constructors_reject_mismatched_evidence ... ok
[INFO] [stdout] test retained_signed_area_role_report_rejects_zero_area_and_algebraic_loops ... ok
[INFO] [stdout] test retained_region_constructor_rejects_duplicate_boundary_loops ... ok
[INFO] [stdout] test retained_curve_envelope_uses_algebraic_endpoint_image_before_interval_hull ... ok
[INFO] [stdout] test retained_curve_envelope_uses_source_bounds_for_algebraic_split_fragments ... ok
[INFO] [stdout] test resolved_linear_overlap_traversal_materializes_native_and_retained_regions ... ok
[INFO] [stdout] test retained_curved_nesting_role_report_assigns_same_orientation_nonlinear_hole ... ok
[INFO] [stdout] test retained_curve_envelope_uses_algebraic_parameter_interval_hull ... ok
[INFO] [stdout] test retained_line_image_role_report_accepts_exact_algebraic_endpoint_carriers ... ok
[INFO] [stdout] test reversed_internal_overlap_traversal_materializes_union_boundary ... ok
[INFO] [stdout] test quarter_circle_rational_conic_area_is_exact_symbolic_sector ... ok
[INFO] [stdout] test symmetric_quadratic_lens_area_scales_exactly ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_bezier_split_materialization.rs (/opt/rustwide/target/debug/deps/hypercurve_bezier_split_materialization-333af0a1a8e8c48a)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test split_materialization_constructor_rejects_duplicate_fragments ... ok
[INFO] [stdout] test split_materialization_constructor_rejects_materialized_algebraic_range ... ok
[INFO] [stdout] test exact_cubic_subcurve_matches_original_endpoints_at_range_bounds ... ok
[INFO] [stdout] test split_materialization_constructor_rejects_incomplete_source_coverage ... ok
[INFO] [stdout] test exact_quadratic_split_materializes_native_subcurves ... ok
[INFO] [stdout] test split_materialization_constructor_rejects_noncontiguous_fragments ... ok
[INFO] [stdout] test exact_rational_quadratic_split_preserves_conic_endpoint_evaluation ... ok
[INFO] [stdout] test linear_algebraic_boundary_materializes_native_subcurves ... ok
[INFO] [stdout] test split_materialization_constructor_rejects_disconnected_materialized_fragments ... ok
[INFO] [stdout] test broad_algebraic_interval_refuses_to_order_against_endpoints ... ok
[INFO] [stdout] test rational_algebraic_endpoint_retains_second_derivative_when_constructed ... ok
[INFO] [stdout] test rational_algebraic_boundary_with_zero_denominator_stays_unresolved ... ok
[INFO] [stdout] test algebraic_boundary_carries_endpoint_images_without_approximate_materialization ... ok
[INFO] [stdout] test split_materialization_constructor_rejects_forged_algebraic_endpoint_evidence ... ok
[INFO] [stdout] test exact_quadratic_split_endpoints_match_original ... ok
[INFO] [stdout] test rational_algebraic_boundary_carries_conic_endpoint_images ... ok
[INFO] [stderr]      Running tests/hypercurve_bezier_tangent_order.rs (/opt/rustwide/target/debug/deps/hypercurve_bezier_tangent_order-fa8ac3a73018a1fb)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test algebraic_tangent_order_rejects_zero_tangent ... ok
[INFO] [stdout] test algebraic_same_tangent_order_uses_second_derivative_side_witness ... ok
[INFO] [stdout] test algebraic_tangent_order_separates_opposite_half_turns ... ok
[INFO] [stdout] test algebraic_same_tangent_order_rejects_equal_second_order_evidence ... ok
[INFO] [stdout] test algebraic_tangent_order_reports_same_direction_without_guessing ... ok
[INFO] [stdout] test algebraic_same_tangent_order_uses_third_derivative_after_zero_curvature ... ok
[INFO] [stdout] test rational_algebraic_same_tangent_order_uses_second_derivative_side_witness ... ok
[INFO] [stdout] test algebraic_tangent_order_uses_represented_cross_product_for_same_half ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_boolean.rs (/opt/rustwide/target/debug/deps/hypercurve_boolean-89a17ae25b08edff)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test boolean_boundary_fragment_set_constructor_validates_source_ownership ... ok
[INFO] [stdout] test boolean_boundary_loop_set_checks_contour_transfer ... ok
[INFO] [stdout] test boundary_chain_assembly_rejects_branch_points ... ok
[INFO] [stdout] test boundary_loop_extraction_rejects_open_chains ... ok
[INFO] [stdout] test segment_representative_point_samples_arc_geometry ... ok
[INFO] [stdout] test reversing_segments_swaps_endpoints_and_arc_orientation ... ok
[INFO] [stdout] test boolean_boundary_loop_set_from_borrowed_contours_keeps_inputs_available ... ok
[INFO] [stdout] test boolean_boundary_loop_constructors_validate_fragment_ownership ... ok
[INFO] [stdout] test boolean_boundary_chain_assembly_keeps_disjoint_loops_separate ... ok
[INFO] [stdout] test boolean_boundary_chain_constructors_validate_fragment_ownership ... ok
[INFO] [stdout] test boolean_boundary_constructors_reject_zero_length_directed_fragments ... ok
[INFO] [stdout] test boolean_boundary_loop_set_from_contours_retains_construction_report ... ok
[INFO] [stdout] test boolean_fragment_selection_constructor_validates_source_ownership ... ok
[INFO] [stdout] test boolean_fragment_selection_reverses_emitted_second_difference_fragments ... ok
[INFO] [stdout] test boolean_fragment_selection_emits_directed_boundary_fragments ... ok
[INFO] [stdout] test boolean_fragment_selection_defers_shared_boundary_fragments ... ok
[INFO] [stdout] test boolean_fragment_selection_reverses_second_operand_for_difference ... ok
[INFO] [stdout] test boolean_fragment_selection_classifies_union_and_intersection ... ok
[INFO] [stdout] test boolean_fragment_selection_emit_rejects_incomplete_or_foreign_inventory ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_bspline.rs (/opt/rustwide/target/debug/deps/hypercurve_bspline-74cc74099e5c44ba)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test retained_curve_cache_summary_rejects_inconsistent_span_counts ... ok
[INFO] [stdout] test retained_rational_bspline_rejects_unsupported_degree_and_zero_weight ... ok
[INFO] [stdout] test retained_curve_profile_rejects_mismatched_endpoint_evidence_without_blocking_trim ... ok
[INFO] [stdout] test retained_bspline_span_facts_report_native_bounds_and_monotonicity ... ok
[INFO] [stdout] test equal_weight_rational_cubic_topology_report_names_native_exact_spans ... ok
[INFO] [stdout] test rational_bspline_rejects_zero_or_uncertain_refined_weights ... ok
[INFO] [stdout] test nonuniform_retained_rational_cubic_spans_do_not_promote_to_native_topology ... ok
[INFO] [stdout] test cubic_bspline_extracts_spans_with_degree_multiplicity_at_internal_knot ... ok
[INFO] [stdout] test equal_weight_retained_rational_cubic_matches_polynomial_cubic_spans ... ok
[INFO] [stdout] test quadratic_bspline_extracts_bezier_spans_by_exact_knot_insertion ... ok
[INFO] [stdout] test retained_rational_span_topology_reports_reject_forged_native_evidence ... ok
[INFO] [stdout] test rational_quadratic_bspline_extracts_homogeneous_bezier_spans ... ok
[INFO] [stdout] test retained_rational_quadratic_profile_preserves_source_version ... ok
[INFO] [stdout] test retained_rational_cubic_bspline_extracts_bezier_span_reports ... ok
[INFO] [stdout] test retained_rational_cubic_span_facts_keep_control_hull_and_unsupported_monotonicity ... ok
[INFO] [stdout] test retained_bspline_profile_reports_exact_domain_trim_and_endpoints ... ok
[INFO] [stdout] test retained_rational_cubic_profile_keeps_unsupported_spans_as_evidence ... ok
[INFO] [stdout] test extracted_bspline_spans_feed_existing_bezier_region_area ... ok
[INFO] [stdout] test equal_weight_quadratic_nurbs_matches_polynomial_bspline_spans ... ok
[INFO] [stdout] test retained_rational_quadratic_spans_promote_to_native_conic_topology ... ok
[INFO] [stdout] test extracted_rational_bspline_spans_feed_conic_region_area ... ok
[INFO] [stdout] test retained_rational_quadratic_span_facts_follow_refined_knot_windows ... ok
[INFO] [stdout] test equal_weight_retained_rational_cubic_spans_feed_native_region_area ... ok
[INFO] [stdout] test bspline_constructor_rejects_unclamped_or_degenerate_knot_vectors ... ok
[INFO] [stdout] test retained_span_fact_constructors_reject_forged_evidence ... ok
[INFO] [stdout] test retained_span_weight_report_rejects_inconsistent_counts ... ok
[INFO] [stdout] test retained_trim_interval_rejects_out_of_domain_and_accepts_reversal ... ok
[INFO] [stdout] test retained_rational_quadratic_span_facts_include_weight_domain ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_circle_predicates.rs (/opt/rustwide/target/debug/deps/hypercurve_circle_predicates-dcaa8c463e4f71d6)
[INFO] [stderr]      Running tests/hypercurve_contour.rs (/opt/rustwide/target/debug/deps/hypercurve_contour-bf2ec07f3795daf9)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test circle_circle_relation_classifies_coincident_disjoint_tangent_and_secant_cases ... ok
[INFO] [stdout] test supporting_line_circle_relation_classifies_disjoint_tangent_and_secant_cases ... ok
[INFO] [stdout] test line_arc_intersection_reuses_supporting_circle_relation_roots ... ok
[INFO] [stdout] test arc_arc_intersection_reuses_circle_relation_witnesses_before_sweep_filtering ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test contour_chamfer_line_line_vertex_by_points_reports_off_segment_boundary ... ok
[INFO] [stdout] test closed_curve_string_contour_feeds_boundary_region_report ... ok
[INFO] [stdout] test contour_aabb_miss_classifies_outside_and_zero_winding ... ok
[INFO] [stdout] test contour_closure_report_blocks_certified_open_curve_string ... ok
[INFO] [stdout] test contour_chamfer_preserves_fill_rule ... ok
[INFO] [stdout] test contour_chamfer_line_line_vertex_materializes_closed_contour ... ok
[INFO] [stdout] test contour_chamfer_rejects_out_of_range_vertex ... ok
[INFO] [stdout] test contour_chamfer_line_line_vertex_by_points_materializes_closed_contour ... ok
[INFO] [stdout] test circular_contour_winds_positive_semicircle_counter_clockwise ... ok
[INFO] [stdout] test contour_fillet_rejects_out_of_range_vertex ... ok
[INFO] [stdout] test contour_fillet_line_line_wraparound_vertex_by_parameters_materializes_closed_contour ... ok
[INFO] [stdout] test contour_fillet_line_line_vertex_by_parameters_materializes_closed_contour ... ok
[INFO] [stdout] test contour_fillet_reports_wrong_orientation_boundary ... ok
[INFO] [stdout] test contour_line_merge_span_reports_preserve_mixed_segment_kinds ... ok
[INFO] [stdout] test contour_fillet_line_line_vertex_materializes_closed_contour ... ok
[INFO] [stdout] test contour_rejects_open_segment_chain ... ok
[INFO] [stdout] test contour_fillet_preserves_fill_rule ... ok
[INFO] [stdout] test contour_merge_adjacent_collinear_lines_merges_wraparound_run ... ok
[INFO] [stdout] test rectangle_classifies_inside_outside_and_boundary ... ok
[INFO] [stdout] test exact_boundary_equality_ignores_closed_start_and_direction ... ok
[INFO] [stdout] test contour_merge_adjacent_collinear_lines_reports_source_runs ... ok
[INFO] [stdout] test rectangle_winding_is_positive_inside_and_boundary_is_explicit ... ok
[INFO] [stdout] test contour_chamfer_line_line_wraparound_vertex_materializes_closed_contour ... ok
[INFO] [stdout] test contour_fillet_line_line_wraparound_vertex_materializes_closed_contour ... ok
[INFO] [stdout] test prepared_contour_classification_matches_plain_contour ... ok
[INFO] [stdout] test even_odd_fill_uses_winding_parity ... ok
[INFO] [stdout] test contour_builds_closed_bulge_loop ... ok
[INFO] [stdout] test contour_aabb_edge_hit_still_checks_boundary ... ok
[INFO] [stdout] test contour_chamfer_reports_boundary_parameters ... ok
[INFO] [stdout] test contour_closure_report_materializes_closed_curve_string ... ok
[INFO] [stdout] test contour_chamfer_line_line_wraparound_vertex_by_points_materializes_closed_contour ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_curve_string.rs (/opt/rustwide/target/debug/deps/hypercurve_curve_string-06bd3fe3f5cc61f4)
[INFO] [stdout] 
[INFO] [stdout] running 74 tests
[INFO] [stdout] test curve_string_and_contour_reject_forged_zero_length_segments ... ok
[INFO] [stdout] test curve_string_chamfer_arc_neighbor_reports_unsupported ... ok
[INFO] [stdout] test borrowed_curve_string_ordered_link_reports_disconnected_step ... ok
[INFO] [stdout] test curve_string_chamfer_line_line_vertex_reports_boundary_parameters ... ok
[INFO] [stdout] test curve_string_connect_end_to_start_blocks_already_connected_endpoints ... ok
[INFO] [stdout] test borrowed_curve_string_ordered_link_materializes_multistep_chain ... ok
[INFO] [stdout] test curve_string_chamfer_line_line_vertex_materializes_exact_segments ... ok
[INFO] [stdout] test curve_string_connect_end_to_start_inserts_exact_line ... ok
[INFO] [stdout] test curve_string_connect_nearest_endpoints_selects_unique_pair ... ok
[INFO] [stdout] test curve_string_connect_output_reports_preserve_mixed_segment_kinds ... ok
[INFO] [stdout] test curve_string_connect_selected_endpoints_orients_inputs ... ok
[INFO] [stdout] test curve_string_chamfer_next_arc_neighbor_reports_parameter_path_unsupported ... ok
[INFO] [stdout] test curve_string_endpoint_report_certifies_exact_connection ... ok
[INFO] [stdout] test curve_string_endpoint_report_rejects_empty_unchecked_input ... ok
[INFO] [stdout] test curve_string_chamfer_line_line_vertex_by_points_materializes_exact_segments ... ok
[INFO] [stdout] test curve_string_extend_line_reports_off_support_boundary ... ok
[INFO] [stdout] test curve_string_extend_arc_endpoint_blocks_existing_arc_point ... ok
[INFO] [stdout] test curve_string_extend_arc_endpoint_reports_off_circle_boundary ... ok
[INFO] [stdout] test curve_string_extend_arc_endpoint_to_same_circle_target ... ok
[INFO] [stdout] test curve_string_fillet_line_line_vertex_by_parameters_materializes_exact_arc ... ok
[INFO] [stdout] test curve_string_extend_line_start_to_exact_target ... ok
[INFO] [stdout] test curve_string_fillet_reports_radius_mismatch_boundary ... ok
[INFO] [stdout] test curve_string_extend_line_reports_interior_target_boundary ... ok
[INFO] [stdout] test curve_string_intersection_report_counts_aabb_skips ... ok
[INFO] [stdout] test curve_string_connect_nearest_endpoints_reports_tie_boundary ... ok
[INFO] [stdout] test curve_string_fillet_reports_boundary_parameters ... ok
[INFO] [stdout] test curve_string_fillet_line_line_vertex_materializes_exact_arc ... ok
[INFO] [stdout] test curve_string_fillet_reports_wrong_orientation_boundary ... ok
[INFO] [stdout] test curve_string_intersection_report_counts_overlap_relations ... ok
[INFO] [stdout] test curve_string_intersection_report_names_aabb_only_predicate_path ... ok
[INFO] [stdout] test curve_string_connect_rejects_empty_unchecked_input ... ok
[INFO] [stdout] test curve_string_line_merge_span_reports_preserve_mixed_segment_kinds ... ok
[INFO] [stdout] test curve_string_link_reverses_second_curve_when_endpoints_match_end_to_end ... ok
[INFO] [stdout] test curve_string_ordered_link_reports_disconnected_step ... ok
[INFO] [stdout] test curve_string_merge_adjacent_collinear_lines_preserves_corners ... ok
[INFO] [stdout] test curve_string_link_output_reports_preserve_mixed_segment_kinds ... ok
[INFO] [stdout] test curve_string_link_rejects_multiple_exact_endpoint_pairings ... ok
[INFO] [stdout] test curve_string_remove_adjacent_reversed_duplicates_reports_empty_output_blocker ... ok
[INFO] [stdout] test curve_string_link_materializes_unique_end_start_connection ... ok
[INFO] [stdout] test curve_string_link_returns_none_for_certified_disconnected_inputs ... ok
[INFO] [stdout] test curve_string_ordered_link_reports_reversed_accumulated_sources ... ok
[INFO] [stdout] test curve_string_remove_adjacent_reversed_duplicates_reports_removed_pairs ... ok
[INFO] [stdout] test curve_string_ordered_link_materializes_multistep_chain ... ok
[INFO] [stdout] test curve_string_trim_between_curve_intersections_reports_overlap_blocker ... ok
[INFO] [stdout] test curve_string_trim_between_points_accepts_shared_vertex_once ... ok
[INFO] [stdout] test curve_string_trim_between_curve_intersections_materializes_line_window ... ok
[INFO] [stdout] test curve_string_trim_between_curve_intersections_reports_ambiguous_cutter_hits ... ok
[INFO] [stdout] test curve_string_merge_adjacent_collinear_lines_preserves_reversal ... ok
[INFO] [stdout] test curve_string_merge_adjacent_collinear_lines_reports_source_runs ... ok
[INFO] [stdout] test curve_string_remove_adjacent_reversed_duplicates_reports_mixed_segment_kinds ... ok
[INFO] [stdout] test curve_string_trim_between_points_materializes_line_subsegment ... ok
[INFO] [stdout] test curve_string_trim_between_points_materializes_partial_arc ... ok
[INFO] [stdout] test curve_string_trim_between_points_reports_repeated_nonadjacent_point_boundary ... ok
[INFO] [stdout] test curve_string_trim_inside_region_reports_boundary_overlap_blocker ... ok
[INFO] [stdout] test curve_string_trim_inside_region_materializes_inside_window ... ok
[INFO] [stdout] test curve_string_trim_materializes_across_line_segments_with_source_ranges ... ok
[INFO] [stdout] test curve_string_trim_materializes_exact_line_subsegment_with_report ... ok
[INFO] [stdout] test curve_string_trim_preserves_whole_arc_segment ... ok
[INFO] [stdout] test curve_string_chamfer_line_line_vertex_by_points_reports_off_segment_boundary ... ok
[INFO] [stdout] test curve_string_trim_inside_region_respects_holes ... ok
[INFO] [stdout] test curve_string_extend_line_end_to_exact_target ... ok
[INFO] [stdout] test curve_string_trim_inside_region_splits_disconnected_inside_windows ... ok
[INFO] [stdout] test curve_string_trim_rejects_reversed_and_out_of_domain_ranges ... ok
[INFO] [stdout] test curve_string_remove_adjacent_reversed_duplicates_keeps_partial_backtrack ... ok
[INFO] [stdout] test prepared_curve_string_intersection_report_matches_plain_events ... ok
[INFO] [stdout] test prepared_curve_string_intersections_skip_decided_disjoint_boxes ... ok
[INFO] [stdout] test prepared_curve_string_reports_cached_segment_box_counts ... ok
[INFO] [stdout] test prepared_curve_string_intersections_preserve_line_arc_hits ... ok
[INFO] [stdout] test prepared_contour_reports_cached_segment_box_counts ... ok
[INFO] [stdout] test curve_string_trim_reports_partial_arc_as_unsupported_without_materializing ... ok
[INFO] [stdout] test prepared_segment_pair_intersection_matches_plain_segment_relation ... ok
[INFO] [stdout] test prepared_curve_string_trim_between_curve_intersections_reuses_cached_evidence ... ok
[INFO] [stdout] test prepared_curve_string_trim_inside_region_matches_direct_result ... ok
[INFO] [stdout] test prepared_curve_string_intersections_match_plain_sparse_scan ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 74 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_events.rs (/opt/rustwide/target/debug/deps/hypercurve_events-016c1fe21828cbe1)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test contour_events_sort_points_by_first_segment_parameter ... ok
[INFO] [stdout] test contour_intersection_set_constructor_validates_event_parameters ... ok
[INFO] [stdout] test contour_self_events_ignore_ordinary_connectivity ... ok
[INFO] [stdout] test contour_event_broad_phase_skips_decided_disjoint_boxes ... ok
[INFO] [stdout] test contour_event_kinds_are_carried_to_point_events ... ok
[INFO] [stdout] test contour_event_broad_phase_keeps_edge_touching_boxes ... ok
[INFO] [stdout] test contour_events_preserve_line_overlap ... ok
[INFO] [stdout] test contour_self_events_keep_adjacent_line_arc_crossing_but_drop_shared_endpoint ... ok
[INFO] [stdout] test contour_events_sort_line_arc_hits_by_second_segment_parameter ... ok
[INFO] [stdout] test contour_intersection_set_constructor_rejects_duplicate_events ... ok
[INFO] [stdout] test contour_self_events_keep_nonadjacent_line_arc_crossing ... ok
[INFO] [stdout] test prepared_contour_events_match_plain_events_for_shared_edges ... ok
[INFO] [stdout] test contour_events_preserve_arc_overlap ... ok
[INFO] [stdout] test prepared_contour_self_events_match_plain_events ... ok
[INFO] [stdout] test prepared_contour_events_match_plain_events_for_arc_overlap ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stderr]      Running tests/hypercurve_fragments.rs (/opt/rustwide/target/debug/deps/hypercurve_fragments-8c9e3a5f7f22f345)
[INFO] [stdout] test approximate_arc_fragment_uses_source_radius_for_policy_on_circle_split_points ... ok
[INFO] [stdout] test contour_fragments_reject_forged_arc_split_marker_geometry ... ok
[INFO] [stdout] test contour_fragment_set_constructor_validates_source_ranges ... ok
[INFO] [stdout] test contour_fragments_reject_forged_line_split_marker_geometry ... ok
[INFO] [stdout] test contour_split_rejects_events_outside_supplied_contour ... ok
[INFO] [stdout] test contour_fragment_set_constructor_rejects_duplicate_fragments ... ok
[INFO] [stdout] test contour_fragments_split_line_segments_at_point_events ... ok
[INFO] [stdout] test contour_fragments_split_line_segments_at_overlap_endpoints ... ok
[INFO] [stdout] test contour_self_split_rejects_events_outside_supplied_contour ... ok
[INFO] [stdout] test contour_self_fragments_split_nonadjacent_line_arc_crossing ... ok
[INFO] [stdout] test contour_fragments_split_arc_segments_at_event_points ... ok
[INFO] [stdout] test contour_self_fragments_split_adjacent_line_arc_extra_crossing ... ok
[INFO] [stdout] test contour_fragments_split_arc_segments_at_overlap_endpoints ... ok
[INFO] [stdout] test edge_preview_retains_rotated_arc_arc_event_regression ... ok
[INFO] [stdout] test self_line_arc_slices_fuzz_adjacent_crossings ... ok
[INFO] [stdout] test self_line_arc_slices_fuzz_nonadjacent_crossings ... ok
[INFO] [stdout] test contour_event_fuzz_retains_direct_mixed_segment_hits ... ok
[INFO] [stdout] test self_line_arc_slices_fuzz_rotated_secants ... ok
[INFO] [stdout] test approximate_arc_heavy_slices_do_not_surface_radius_mismatch has been running for over 60 seconds
[INFO] [stdout] test pair_line_arc_slices_fuzz_rotated_secants has been running for over 60 seconds
[INFO] [stdout] test self_event_fuzz_retains_direct_mixed_segment_hits has been running for over 60 seconds
[INFO] [stdout] test self_event_fuzz_retains_direct_mixed_segment_hits ... ok
[INFO] [stdout] test pair_line_arc_slices_fuzz_rotated_secants ... ok
[INFO] [stdout] test approximate_arc_heavy_slices_do_not_surface_radius_mismatch ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 134.63s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_fuzz_regressions.rs (/opt/rustwide/target/debug/deps/hypercurve_fuzz_regressions-01f877aa6c4c6f1b)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test fuzz_line_arc_candidate_outside_finite_line_is_rejected ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_geo_regressions.rs (/opt/rustwide/target/debug/deps/hypercurve_geo_regressions-f9fe6f7a1bd9d561)
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test geo_line_intersection_examples_match_hypercurve_topology ... ok
[INFO] [stdout] test geo_contains_boundary_and_hole_point_cases_match_region_classification ... ok
[INFO] [stdout] test geo_jts_line_intersection_regressions_are_classified ... ok
[INFO] [stdout] test geo_boolean_triangle_pair_matches_geo_samples ... ok
[INFO] [stdout] test geo_unary_union_third_triangle_branch_case_is_explicitly_deferred ... ok
[INFO] [stdout] test geo_issue_913_polygon_union_pair_matches_geo_samples ... ok
[INFO] [stdout] test geo_boolean_issue_867_shared_vertex_triangles_match_geo_samples ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.61s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_offset.rs (/opt/rustwide/target/debug/deps/hypercurve_offset-2b101bd7ac9084cc)
[INFO] [stdout] 
[INFO] [stdout] running 42 tests
[INFO] [stdout] test curve_string_butt_cap_outline_rejects_nonpositive_distance ... ok
[INFO] [stdout] test arc_offset_left_rejects_radius_collapse_and_reversal ... ok
[INFO] [stdout] test contour_joined_offset_rejects_collapsed_line_miter ... ok
[INFO] [stdout] test contour_offset_miters_closed_rectangle_inward ... ok
[INFO] [stdout] test counter_clockwise_arc_offset_left_moves_inward ... ok
[INFO] [stdout] test clockwise_arc_offset_left_moves_outward ... ok
[INFO] [stdout] test contour_checked_offset_report_blocks_self_contacting_result ... ok
[INFO] [stdout] test contour_checked_offset_accepts_simple_rectangle ... ok
[INFO] [stdout] test contour_checked_offset_rejects_self_contacting_result ... ok
[INFO] [stdout] test curve_string_butt_cap_outline_keeps_mitered_corners ... ok
[INFO] [stdout] test contour_checked_offset_report_materializes_simple_rectangle ... ok
[INFO] [stdout] test curve_string_checked_offset_accepts_simple_open_path ... ok
[INFO] [stdout] test curve_string_butt_cap_outline_rejects_self_contacting_input ... ok
[INFO] [stdout] test curve_string_butt_cap_outline_connects_arc_endpoint_offsets ... ok
[INFO] [stdout] test curve_string_checked_offset_rejects_self_contacting_result ... ok
[INFO] [stdout] test curve_string_butt_cap_outline_wraps_single_line ... ok
[INFO] [stdout] test curve_string_joined_offset_propagates_arc_radius_uncertainty ... ok
[INFO] [stdout] test curve_string_offset_round_joins_parallel_reversal ... ok
[INFO] [stdout] test curve_string_offset_skips_collinear_zero_length_join ... ok
[INFO] [stdout] test curve_string_round_cap_outline_rejects_nonpositive_distance ... ok
[INFO] [stdout] test curve_string_checked_offset_report_materializes_simple_open_path ... ok
[INFO] [stdout] test curve_string_round_cap_outline_report_blocks_nonpositive_distance ... ok
[INFO] [stdout] test curve_string_round_cap_outline_rejects_self_contacting_input ... ok
[INFO] [stdout] test curve_string_zero_offset_preserves_exact_segments ... ok
[INFO] [stdout] test curve_string_checked_offset_report_blocks_self_contacting_result ... ok
[INFO] [stdout] test curve_string_square_cap_outline_extends_single_line ... ok
[INFO] [stdout] test curve_string_offset_round_joins_mixed_arc_line_corner ... ok
[INFO] [stdout] test curve_string_round_cap_outline_report_materializes_single_line ... ok
[INFO] [stdout] test curve_string_offset_miters_line_line_corner ... ok
[INFO] [stdout] test curve_string_square_cap_outline_rejects_self_contacting_input ... ok
[INFO] [stdout] test curve_string_round_cap_outline_report_blocks_self_contacting_input ... ok
[INFO] [stdout] test curve_string_square_cap_outline_rejects_nonpositive_distance ... ok
[INFO] [stdout] test curve_string_square_cap_outline_extends_mitered_path_end_tangents ... ok
[INFO] [stdout] test curve_string_round_cap_outline_keeps_mitered_corners ... ok
[INFO] [stdout] test curve_string_round_cap_outline_wraps_single_line ... ok
[INFO] [stdout] test diagonal_line_offset_left_uses_normalized_direction ... ok
[INFO] [stdout] test line_offset_left_moves_by_unit_normal ... ok
[INFO] [stdout] test negative_arc_offset_can_cross_the_opposite_side ... ok
[INFO] [stdout] test segment_offset_dispatches_line_and_arc ... ok
[INFO] [stdout] test curve_string_square_cap_outline_extends_arc_endpoint_tangents ... ok
[INFO] [stdout] test curve_string_square_cap_outline_report_names_cap_construction_path ... ok
[INFO] [stdout] test curve_string_offset_outline_dispatches_cap_styles ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_planar_pcurve.rs (/opt/rustwide/target/debug/deps/hypercurve_planar_pcurve-2d1ce0696e2b2a53)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test retained_planar_face_point_report_constructor_rejects_inconsistent_evidence ... ok
[INFO] [stdout] test planar_pcurve_image_report_constructor_rejects_inconsistent_evidence ... ok
[INFO] [stdout] test retained_planar_face_edge_use_report_constructor_rejects_inconsistent_evidence ... ok
[INFO] [stdout] test planar_open_pcurve_equality_reports_directed_and_reversed_images ... ok
[INFO] [stdout] test planar_pcurve_equality_blocks_surface_mismatch_before_uv_match ... ok
[INFO] [stdout] test planar_trim_loop_equality_accepts_cyclic_rotation_and_ignores_fill_rule ... ok
[INFO] [stdout] test planar_trim_loop_equality_reports_reversed_and_different_images ... ok
[INFO] [stdout] test retained_planar_face_edge_use_accepts_cyclic_multisegment_subchains ... ok
[INFO] [stdout] test prepared_retained_planar_face_blocks_surface_mismatch_before_cached_region ... ok
[INFO] [stdout] test retained_planar_face_rejects_missing_material_or_mixed_surface_trims ... ok
[INFO] [stdout] test retained_planar_face_reports_surface_mismatch_before_trim_classification ... ok
[INFO] [stdout] test retained_planar_face_rejects_unowned_or_crossing_holes ... ok
[INFO] [stdout] test prepared_retained_planar_face_edge_use_matches_plain_report ... ok
[INFO] [stdout] test retained_planar_face_rejects_crossing_same_role_trims ... ok
[INFO] [stdout] test retained_planar_face_classifies_uv_points_against_material_and_holes ... ok
[INFO] [stdout] test prepared_retained_planar_face_matches_plain_uv_classification ... ok
[INFO] [stdout] test retained_planar_face_rejects_self_contacting_trims ... ok
[INFO] [stdout] test retained_planar_face_edge_use_rejects_surface_mismatch_and_nonboundary_chords ... ok
[INFO] [stdout] test retained_planar_face_reports_material_and_hole_edge_uses ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_pr59_shape_regressions.rs (/opt/rustwide/target/debug/deps/hypercurve_pr59_shape_regressions-36ad19d4b750c861)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test boolean_region_report_names_identical_operand_shortcut ... ok
[INFO] [stdout] test boolean_region_report_retains_boundary_role_assignment ... ok
[INFO] [stdout] test prepared_boolean_region_report_matches_plain_materialization ... ok
[INFO] [stdout] test pr59_multi_island_disjoint_identities ... ok
[INFO] [stdout] test pr59_ring_difference_adds_second_hole ... ok
[INFO] [stdout] test boolean_region_convenience_matches_reported_xor_shortcut_roles ... ok
[INFO] [stdout] test pr59_bridge_overlaps_two_islands ... ok
[INFO] [stdout] test pr59_near_coincident_island_in_hole_is_not_cancelled ... ok
[INFO] [stdout] test pr59_large_coordinate_hole_overlap_keeps_membership ... ok
[INFO] [stdout] test pr59_chain_bridge_merges_three_islands ... ok
[INFO] [stdout] test pr59_deep_island_lake_nesting_survives_all_ops ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_reconstruct.rs (/opt/rustwide/target/debug/deps/hypercurve_reconstruct-c5e37c683b62236d)
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test reconstruction_rejects_invalid_options ... ok
[INFO] [stdout] test real_line_string_rejects_zero_length_source_edges_without_import_record ... ok
[INFO] [stdout] test finite_line_string_import_preserves_step_tolerance_evidence ... ok
[INFO] [stdout] test open_polyline_reconstruction_report_records_lossy_boundary ... ok
[INFO] [stdout] test finite_ring_import_rejects_all_duplicate_source_edges ... ok
[INFO] [stdout] test reconstruction_merges_collinear_polyline_to_one_line ... ok
[INFO] [stdout] test reconstruction_keeps_single_corner_as_two_lines_by_default ... ok
[INFO] [stdout] test finite_import_record_exposes_zero_tolerance_boundary_claim ... ok
[INFO] [stdout] test reconstruction_accepts_closed_polyline_without_repeated_first_point ... ok
[INFO] [stdout] test closed_polyline_reconstruction_report_records_fill_and_closure_evidence ... ok
[INFO] [stdout] test reconstruction_accepts_closed_polyline_with_repeated_first_point ... ok
[INFO] [stdout] test finite_ring_import_discards_adjacent_duplicate_source_edges ... ok
[INFO] [stdout] test reconstruction_promotes_consistent_semicircle_samples_to_arc ... ok
[INFO] [stdout] test finite_imports_preserve_source_versions ... ok
[INFO] [stdout] test finite_ring_import_accepts_unrepeated_closed_edge_accounting ... ok
[INFO] [stdout] test finite_ring_import_preserves_dxf_handle_and_closure_evidence ... ok
[INFO] [stdout] test source_tolerance_rejects_nonfinite_or_negative_values ... ok
[INFO] [stdout] test retained_import_record_rejects_inconsistent_counts ... ok
[INFO] [stdout] test reconstruction_removes_adjacent_duplicate_samples ... ok
[INFO] [stdout] test retained_import_record_rejects_cross_topology_edge_evidence ... ok
[INFO] [stdout] test reconstruction_splits_arcs_at_semicircle_boundary ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_region.rs (/opt/rustwide/target/debug/deps/hypercurve_region-d182834d2c8dea21)
[INFO] [stdout] 
[INFO] [stdout] running 55 tests
[INFO] [stdout] test borrowed_boundary_contours_build_region_with_report ... ok
[INFO] [stdout] test borrowed_boundary_contours_convenience_returns_decided_region ... ok
[INFO] [stdout] test boundary_contour_nesting_assigns_disjoint_nested_roles ... ok
[INFO] [stdout] test curve_string_projection_rejects_nonfinite_arc_samples ... ok
[INFO] [stdout] test empty_region_classifies_everything_outside ... ok
[INFO] [stdout] test contour_profiles_reject_holes_without_material_owner ... ok
[INFO] [stdout] test borrowed_unordered_native_segments_evaluate_retained_arrangement ... ok
[INFO] [stdout] test boundary_contour_region_report_blocks_crossing_roles ... ok
[INFO] [stdout] test exact_curve_arrangement_attempt_retains_overlap_blocker ... ok
[INFO] [stdout] test boundary_contour_region_report_blocks_touching_roles_with_source_pair ... ok
[INFO] [stdout] test borrowed_unordered_line_segments_evaluate_retained_arrangement ... ok
[INFO] [stdout] test boundary_contour_region_report_assigns_material_and_hole_roles ... ok
[INFO] [stdout] test boundary_contour_nesting_rejects_crossing_or_touching_loops ... ok
[INFO] [stdout] test exact_curve_arrangement_result_classification_preserves_blocker ... ok
[INFO] [stdout] test exact_curve_arrangement_attempt_retains_output_role_containment ... ok
[INFO] [stdout] test contour_projection_closes_finite_ring_without_owning_topology ... ok
[INFO] [stdout] test curve_string_projection_subdivides_arc_and_keeps_exact_endpoints ... ok
[INFO] [stdout] test finite_profile_projection_keeps_orphan_hole_uncertainty ... ok
[INFO] [stdout] test finite_projection_checked_measurements_reject_nonfinite_or_overflow ... ok
[INFO] [stdout] test finite_line_string_import_skips_duplicate_edges ... ok
[INFO] [stdout] test contour_profiles_group_holes_with_containing_material ... ok
[INFO] [stdout] test exact_curve_arrangement_attempt_builds_line_region_with_line_specific_report ... ok
[INFO] [stdout] test finite_profile_projection_preserves_exact_hole_ownership ... ok
[INFO] [stdout] test finite_line_string_import_promotes_boundary_f64_to_native_lines ... ok
[INFO] [stdout] test finite_ring_import_accepts_repeated_closing_point_without_sample_ownership ... ok
[INFO] [stdout] test material_contour_classifies_inside_outside_and_boundary ... ok
[INFO] [stdout] test hole_bin_subtracts_from_material_depth ... ok
[INFO] [stdout] test prepared_region_view_preserves_boundary_hits ... ok
[INFO] [stdout] test region_filled_area_returns_none_for_unsupported_center_only_arc_area ... ok
[INFO] [stdout] test region_filled_area_counts_nested_material_back_into_holes ... ok
[INFO] [stdout] test hole_boundary_is_explicit ... ok
[INFO] [stdout] test region_filled_area_uses_roles_instead_of_contour_orientation ... ok
[INFO] [stdout] test borrowed_region_view_matches_owned_region ... ok
[INFO] [stdout] test region_aabb_miss_has_zero_depth_without_boundary_work ... ok
[INFO] [stdout] test similarity_transform_preserves_arc_segment_without_flattening ... ok
[INFO] [stdout] test similarity_reflection_flips_arc_orientation_and_rejects_shear ... ok
[INFO] [stdout] test region_projection_preserves_material_hole_bins ... ok
[INFO] [stdout] test exact_curve_arrangement_attempt_builds_native_region_with_retained_workspace ... ok
[INFO] [stdout] test unordered_line_segments_report_overlap_source_pair_blocker ... ok
[INFO] [stdout] test unordered_line_segments_report_disconnected_boundary_blocker ... ok
[INFO] [stdout] test unordered_native_segments_report_arc_overlap_boundary_blocker ... ok
[INFO] [stdout] test unordered_line_segments_split_crossings_before_boundary_blocker ... ok
[INFO] [stdout] test unordered_native_segments_attempt_returns_decided_region ... ok
[INFO] [stdout] test unordered_line_segments_build_region_with_source_provenance ... ok
[INFO] [stdout] test sparse_region_classification_keeps_only_relevant_contour_depth ... ok
[INFO] [stdout] test unordered_native_segments_split_line_arc_crossing_before_boundary_blocker ... ok
[INFO] [stdout] test unordered_native_segments_build_line_arc_region_with_source_provenance ... ok
[INFO] [stdout] test unordered_native_segments_split_arc_arc_crossing_before_boundary_blocker ... ok
[INFO] [stdout] test exact_curve_arrangement_result_returns_region_classification ... ok
[INFO] [stdout] test material_island_inside_hole_adds_depth_back ... ok
[INFO] [stdout] test unordered_segments_attempt_returns_arrangement_report ... ok
[INFO] [stdout] test prepared_region_classifier_matches_owned_region ... ok
[INFO] [stdout] test generated_rectangle_hole_filled_area_uses_role_not_orientation ... ok
[INFO] [stdout] test generated_unordered_line_rectangles_build_native_regions ... ok
[INFO] [stdout] test generated_unordered_line_arc_semicircles_build_native_regions ... ok
[INFO] [stderr]      Running tests/hypercurve_region_events.rs (/opt/rustwide/target/debug/deps/hypercurve_region_events-57210f888e8441f6)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.29s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test region_event_broad_phase_keeps_boundary_touching_contours ... ok
[INFO] [stdout] test region_split_rejects_events_outside_supplied_views ... ok
[INFO] [stdout] test region_event_broad_phase_skips_disjoint_contour_pairs ... ok
[INFO] [stdout] test prepared_region_events_keep_boundary_touching_contours ... ok
[INFO] [stdout] test region_events_keep_material_and_hole_roles ... ok
[INFO] [stdout] test region_pair_events_feed_split_maps_for_keyed_contours ... ok
[INFO] [stdout] test region_view_events_match_owned_region_events ... ok
[INFO] [stdout] test prepared_region_events_match_owned_region_events ... ok
[INFO] [stderr]      Running tests/hypercurve_region_fragments.rs (/opt/rustwide/target/debug/deps/hypercurve_region_fragments-d7a58c3352a39c72)
[INFO] [stdout] test region_intersection_set_constructor_validates_pair_ownership ... ok
[INFO] [stderr]      Running tests/hypercurve_self_contacts.rs (/opt/rustwide/target/debug/deps/hypercurve_self_contacts-e855fe63dce839f5)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_split.rs (/opt/rustwide/target/debug/deps/hypercurve_split-7a259da2867b7404)
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stderr]      Running tests/hypercurve_svg_io.rs (/opt/rustwide/target/debug/deps/hypercurve_svg_io-d7805d10319df4df)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hypercurve_triangulation.rs (/opt/rustwide/target/debug/deps/hypercurve_triangulation-f229823affeeb83a)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test region_fragment_set_constructor_validates_unique_contour_keys ... ok
[INFO] [stdout] test region_fragments_keep_disjoint_contours_unsplit ... ok
[INFO] [stdout] test region_fragments_split_all_keyed_contours ... ok
[INFO] [stdout] test region_fragments_preserve_same_circle_arc_overlap_events ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test curve_string_self_contact_detector_ignores_adjacent_corner ... ok
[INFO] [stdout] test self_contact_detector_finds_repeated_nonadjacent_endpoint ... ok
[INFO] [stdout] test curve_string_self_contact_detector_does_not_ignore_closing_endpoint ... ok
[INFO] [stdout] test self_contact_detector_finds_adjacent_line_arc_crossing_beyond_shared_endpoint ... ok
[INFO] [stdout] test curve_string_self_contact_detector_finds_nonadjacent_crossing ... ok
[INFO] [stdout] test self_contact_detector_ignores_adjacent_rectangle_vertices ... ok
[INFO] [stdout] test self_contact_detector_finds_nonadjacent_line_arc_crossing ... ok
[INFO] [stdout] test prepared_curve_string_self_contact_detector_matches_plain_detector ... ok
[INFO] [stdout] test prepared_contour_self_contact_detector_matches_plain_detector ... ok
[INFO] [stdout] test self_contact_detector_finds_nonadjacent_crossing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test split_points_flatten_in_segment_order ... ok
[INFO] [stdout] test split_map_includes_endpoints_and_sorted_point_events ... ok
[INFO] [stdout] test split_map_sorts_reversed_overlap_parameters_for_second_operand ... ok
[INFO] [stdout] test split_constructors_reject_unnormalized_evidence ... ok
[INFO] [stdout] test split_map_deduplicates_overlap_endpoints ... ok
[INFO] [stdout] test split_map_preserves_same_circle_arc_overlap_endpoints ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests hypercurve
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310", kill_on_drop: false }`
[INFO] [stdout] 2d28ae3cbd67422b6a2ca5c619ea18ac1dc57e5dfa0d5a4a2c7bc76509cdb310
