212c6a02c5
Replace centroid-only classification (classify_point_mesh on full face fragments) with split-and-classify approach using split_face_by_plane() from v3.3: - Add include for brep_face_split.h - Add face_normal() helper (extracts surface normal at parametric mid-point) - Add split_and_classify_faces(): splits each face of body A by the planes of every face in body B, then classifies each resulting fragment individually - Refactor brep_union, brep_intersection, brep_difference to use the new split-and-classify pipeline - Add test: Union_SelfUnion_WithSplitting This produces more precise boolean results by ensuring face fragments that straddle the boundary are properly split before classification.