# Functions that decide geometry with a mesh today, one a line: `<path>:<function> <what it
# decides with the mesh>`. Sorted. `cargo xtask mesh-decisions` (xtask/src/mesh_decisions.rs)
# fails on a function that uses a mesh outside display, export, previews and mesh bodies and is
# not listed here, and on a listed one that no longer does: a fix removes its line in the same
# pull request. Never add a line: decide with exact geometry (`Body::exact_bounds`,
# `kernel::apart`, the B-rep's faces and edges). These are truck-era uses SMLib answers exactly.
crates/doc/src/appearance.rs:nearest_face picks the face nearest a point by the display mesh's triangles
crates/doc/src/config_styles.rs:Document::configuration_face_indices checks a configuration's named faces against the display mesh
crates/doc/src/construct.rs:GeoRef::name_picks names picked faces and edges through the display mesh
crates/doc/src/eval.rs:blend_edges_on finds a blend's edges on the display mesh
crates/doc/src/eval.rs:body_at picks the body whose surface is nearest a point by the display mesh
crates/doc/src/eval.rs:edge_refs turns edge picks into references through the display mesh
crates/doc/src/eval.rs:eval_feature places features by the display mesh (faces, edges, nearness)
crates/doc/src/eval.rs:face_plane finds a sketch's face plane again on a mesh
crates/doc/src/eval.rs:face_samples takes a point on each face from its mesh triangles
crates/doc/src/eval.rs:faces_through finds the faces near a point and their normals by the display mesh
crates/doc/src/eval.rs:feature_tools_with_constructor reaches a To Object extent by the display mesh
crates/doc/src/eval.rs:height_at measures a point's height on a face by the display mesh
crates/doc/src/eval.rs:hole_axis_size sizes a hole's tools by the bodies its axis meets on the display mesh
crates/doc/src/eval.rs:hole_depth_to works out a hole's To Object depth on the display mesh
crates/doc/src/eval.rs:hole_on_surface moves a hole back onto its face by the display mesh
crates/doc/src/eval.rs:hole_reaches decides whether a drill reaches material by the display mesh
crates/doc/src/eval.rs:nearest_object_face picks an extrusion's To Object face by the display mesh
crates/doc/src/eval.rs:off_the_ends moves an edge point off the edge's ends by the display mesh
crates/doc/src/eval.rs:parallel_tapped_wall finds a tapped hole's parallel wall on the display mesh
crates/doc/src/eval.rs:resolve_edges finds edge references again on a mesh
crates/doc/src/eval.rs:tangent_face_chain grows a face pick across tangent edges on the display mesh
crates/doc/src/eval.rs:through_all_distance sizes a Through All extent by the display mesh
crates/doc/src/eval.rs:trim_to_body keeps the tool pieces touching the start by a mesh
crates/doc/src/eval.rs:unrecorded_touches finds touching pieces by a mesh
crates/doc/src/eval_more.rs:body_under picks the body under a plastic feature's point by the display mesh
crates/doc/src/eval_more.rs:face_outline finds the wall an outline runs along by mesh triangles
crates/doc/src/eval_more.rs:on_sheet_material decides whether a point touches a sheet by the display mesh
crates/doc/src/eval_more.rs:planar_normal_at finds the planar face through a point by a mesh
crates/doc/src/eval_more.rs:plastic_eval places plastic features by a mesh
crates/doc/src/eval_more.rs:plate_recesses finds a plate's recesses by mesh triangles
crates/doc/src/eval_more.rs:rib_tool runs a rib to the body by the display mesh
crates/doc/src/eval_more.rs:rib_tool_normal runs a rib to the body by the display mesh
crates/doc/src/eval_more.rs:sheet_eval places sheet-metal features by a mesh
crates/doc/src/history_names.rs:OperandNames::edge names an operand's edge by the display mesh
crates/doc/src/hole_reference.rs:on_reference_face decides whether a point lies on a hole's reference face by the display mesh
crates/doc/src/hole_reference.rs:reference_frame finds a hole's reference edges on the display mesh
crates/doc/src/joints.rs:nearest_plane picks a joint's planar face by the display mesh
crates/doc/src/joints_cam.rs:default_reverse picks a cam follower's side by the display mesh
crates/doc/src/joints_cam.rs:profile_points samples a cam profile's edges from a mesh
crates/doc/src/joints_edge.rs:edge_frame places an edge snap by the display mesh
crates/doc/src/joints_edge.rs:edge_snap places an edge snap by the display mesh
crates/doc/src/joints_edge.rs:face_of picks the planar face beside an edge by the display mesh
crates/doc/src/joints_edge.rs:nearest_edge picks the edge nearest a point by the display mesh
crates/doc/src/joints_face.rs:NamedFace::own_cylinder reads a named face's cylinder from the display mesh
crates/doc/src/joints_face.rs:NamedFace::plane reads a named face's centre and normal from the display mesh
crates/doc/src/joints_face.rs:face_name_at names the face at a pick by its mesh triangles
crates/doc/src/joints_face.rs:outline_centre finds a planar face's centre from mesh triangles
crates/doc/src/joints_face.rs:rim_neighbour finds the face across a cylinder's rim by the display mesh
crates/doc/src/joints_face.rs:round_end_at finds a cylinder's round end by the display mesh
crates/doc/src/lineage.rs:order_legacy_family orders a face family by the display mesh
crates/doc/src/name_lookup.rs:FaceHit::along meets a line with a found face on the display mesh
crates/doc/src/name_lookup.rs:FaceHit::pick_point finds a point that picks a face again on the display mesh
crates/doc/src/name_lookup.rs:face_triangles reads a face's mesh triangles for name lookup
crates/doc/src/name_lookup.rs:locate_edge finds a named edge on the display mesh
crates/doc/src/name_lookup.rs:locate_in finds a named face among bodies by the display mesh
crates/doc/src/name_lookup.rs:nearest_on_face finds the nearest point of a face on its mesh triangles
crates/doc/src/name_lookup.rs:sheet_locate finds a sheet face by its name on the display mesh
crates/doc/src/naming.rs:FaceIndex::new indexes faces by mesh triangles for naming
crates/doc/src/naming.rs:blend_seams finds blend seams on the display mesh
crates/doc/src/naming.rs:carried_face_names carries face names to imported bodies by the display mesh
crates/doc/src/naming.rs:edge_names_at names the edges nearest points by the display mesh
crates/doc/src/naming.rs:edge_names_from names edges from their faces by the display mesh
crates/doc/src/naming.rs:face_centres takes face centres from mesh triangles
crates/doc/src/naming.rs:face_count counts faces by the display mesh
crates/doc/src/naming.rs:face_name_at_body names a face at a point by the display mesh
crates/doc/src/naming.rs:face_names_at names the faces holding points by the display mesh
crates/doc/src/naming.rs:face_spot finds where a face is by the display mesh
crates/doc/src/naming.rs:face_spots finds where faces are by the display mesh
crates/doc/src/naming.rs:geometric_names names faces from sample points on the display mesh
crates/doc/src/naming.rs:mesh_adjacency finds neighbouring faces from mesh edges
crates/doc/src/naming.rs:normals takes face normals from mesh triangles
crates/doc/src/naming.rs:roomiest takes a sample point per face from mesh triangles
crates/doc/src/naming.rs:samples_up_to takes sample points per face from mesh triangles
crates/doc/src/project.rs:body_mesh finds a projection's body nearest a point by the display mesh
crates/doc/src/project.rs:cache_key keys projections by the display mesh
crates/doc/src/project.rs:first_hits picks the projected curves met first by the display mesh
crates/doc/src/project.rs:nearest_face picks the nearest face by mesh triangles
crates/doc/src/project.rs:resolve_face_indices projects faces through the display mesh
crates/doc/src/project.rs:resolve_named_edge moves a link's point onto a named edge by the display mesh
crates/doc/src/project.rs:resolve_named_face finds a named face for a projection by the display mesh
crates/doc/src/project.rs:resolve_uncached resolves a projection's references by the display mesh
crates/doc/src/project.rs:section_segments sections a body by crossing its mesh triangles
crates/doc/src/project.rs:silhouette projects a body's outline from its mesh triangles
crates/doc/src/project3d.rs:iso_curve cuts an isocurve from mesh triangles
crates/doc/src/project3d.rs:part_of finds a reference's face nearest its point by the display mesh
crates/doc/src/project3d.rs:spun_outline spins a body's outline from mesh triangles
crates/doc/src/project3d.rs:tris reads mesh triangles for 3D projections
crates/doc/src/sheet_convert.rs:behind finds the face behind a planar face by mesh triangles
crates/doc/src/sheet_convert.rs:bend_edge_names names bend edges by the display mesh
crates/doc/src/sheet_convert.rs:convert_body converts a body to sheet metal by the display mesh
crates/doc/src/sheet_face_names.rs:body_sheet_face_names names sheet faces by the display mesh
crates/engine/src/cmd/clearance.rs:clearance measures clearances between B-rep bodies on display meshes
crates/engine/src/cmd/clearance.rs:measure_pair measures a pair's overlap or distance on display meshes
crates/engine/src/cmd/compare.rs:compare_bodies compares two B-rep bodies by meshes
crates/engine/src/cmd/compare.rs:enclosed_volume measures a B-rep body's volume from mesh triangles
crates/engine/src/cmd/component_clone.rs:mesh_distance compares pasted bodies by mesh triangles
crates/engine/src/cmd/component_clone.rs:paste places pasted bodies by meshes
crates/engine/src/cmd/contact_sweep.rs:ContactGeometry::gap measures gaps by mesh triangles
crates/engine/src/cmd/contact_sweep.rs:ContactGeometry::gaps measures gaps by mesh triangles
crates/engine/src/cmd/contact_sweep.rs:ContactGeometry::hits finds bodies passing through each other by mesh triangles
crates/engine/src/cmd/contact_sweep.rs:ContactGeometry::placed places meshes for contact checks
crates/engine/src/cmd/contact_sweep.rs:contact_mesh tessellates bodies for contact checks
crates/engine/src/cmd/face.rs:face_at_state picks the face at a point by the display mesh
crates/engine/src/cmd/face.rs:face_is_planar decides whether a face is planar by mesh triangles
crates/engine/src/cmd/face.rs:face_normal_in takes a planar face's normal from mesh triangles
crates/engine/src/cmd/face.rs:face_normal_world takes a planar face's normal from mesh triangles
crates/engine/src/cmd/face.rs:in_a_planar_face_outline decides whether a point lies in a planar face by mesh triangles
crates/engine/src/cmd/face.rs:on_a_face decides whether a point lies on a face by the display mesh
crates/engine/src/cmd/face.rs:sketch_of_face finds the planar face a sketch starts on by mesh triangles
crates/engine/src/cmd/face.rs:sketch_of_faces groups coplanar picked faces by mesh triangles
crates/engine/src/cmd/features.rs:auto_operation_in chooses a feature's operation by probing the display mesh
crates/engine/src/cmd/features.rs:edge_points turns edge references into points on a mesh
crates/engine/src/cmd/features.rs:through_all_reach sizes a Through All reach by the display mesh
crates/engine/src/cmd/features_more.rs:emboss places an emboss by the display mesh
crates/engine/src/cmd/features_more.rs:snap_point snaps a feature's point by the display mesh
crates/engine/src/cmd/inspect.rs:dist_to measures a distance on the display mesh
crates/engine/src/cmd/interference.rs:face_points takes a point per face from mesh triangles
crates/engine/src/cmd/interference.rs:interference finds interference between B-rep bodies by display meshes
crates/engine/src/cmd/interference.rs:meshes_apart decides two bodies are apart by mesh triangles
crates/engine/src/cmd/joints.rs:body_centre centres an occurrence by the display mesh's box
crates/engine/src/cmd/joints.rs:cam_profile samples a cam's picked edges from the display mesh
crates/engine/src/cmd/joints.rs:occurrence_at picks the occurrence nearest a point by the display mesh
crates/engine/src/cmd/measure_sel.rs:closest measures closest points on mesh triangles
crates/engine/src/cmd/measure_sel.rs:describe measures a selection on the display mesh
crates/engine/src/cmd/measure_sel.rs:face_slot finds a slot from mesh triangles
crates/engine/src/cmd/measure_sel.rs:face_tris reads a face's mesh triangles for measuring
crates/engine/src/cmd/measure_sel.rs:resolve_pick resolves a face or edge pick by the display mesh
crates/engine/src/cmd/motion.rs:centres centres occurrences by meshes
crates/engine/src/cmd/motion.rs:overlap measures how deep bodies overlap by meshes
crates/engine/src/cmd/motion.rs:tris reads mesh triangles for motion contact
crates/engine/src/cmd/motion_analysis.rs:shared_volume measures the volume parts share by the display mesh
crates/engine/src/cmd/sketch.rs:face_contains decides whether a face contains a point by mesh triangles
crates/engine/src/cmd/sketch.rs:face_triangles groups mesh triangles by face for sketch picks
crates/engine/src/cmd/sketch_face.rs:capture_impl captures a face for a sketch by a mesh
crates/engine/src/cmd/sketch_inspect.rs:face_at picks the face at a point by the nearest mesh triangle
crates/engine/src/cmd/sketch_inspect.rs:face_min_radius measures a face's least radius from mesh normals
crates/engine/src/cmd/sketch_inspect.rs:minimum_radius measures a face's least radius by the display mesh
crates/engine/src/frames.rs:frame_at picks the body a point lies on by the display mesh
crates/kernel/src/blend_smlib.rs:imp::corner_vertices finds the vertices nearest points by a mesh
crates/kernel/src/blend_smlib.rs:imp::reblend finds a blend's new edges by a mesh
crates/kernel/src/blend_smlib.rs:imp::resolve resolves edge picks for SMLib by a mesh
crates/kernel/src/body.rs:Body::edges gives edge points and lengths from a mesh
crates/kernel/src/body.rs:Body::faces gives face areas and centroids from a mesh
crates/kernel/src/body.rs:Body::meets decides whether bodies meet by meshes
crates/kernel/src/body.rs:Body::meets_each decides whether tools meet a body by meshes
crates/kernel/src/body.rs:Body::volume_at measures a B-rep body's volume from a mesh
crates/kernel/src/distance.rs:DistanceShape::on_face decides whether a point lies on a face by its mesh
crates/kernel/src/helix.rs:sweep_helix_mesh models a thread as a triangle mesh for faceted booleans
crates/kernel/src/intersection.rs:meeting_edges samples meeting edges from a mesh
crates/kernel/src/lip.rs:face_at picks the planar face at a point by a mesh
crates/kernel/src/measure.rs:measure counts a B-rep body's merged topology on a mesh
crates/kernel/src/offset_backend.rs:face_points takes a point per face from mesh triangles
crates/kernel/src/offset_backend.rs:faces_under picks the face under each point by the nearest mesh triangle
crates/kernel/src/offset_backend.rs:with_offsets tags offset faces by a mesh
crates/kernel/src/polyhedron.rs:offset_faces picks the faces to offset by a mesh
crates/kernel/src/provenance.rs:blend_origins traces blend faces by meshes
crates/kernel/src/provenance.rs:extrude_origins traces extrusion faces by meshes
crates/kernel/src/provenance.rs:face_tris reads face triangles for provenance
crates/kernel/src/provenance.rs:offset_origins traces offset faces by meshes
crates/kernel/src/provenance.rs:revolve_origins traces revolution faces by meshes
crates/kernel/src/provenance.rs:swept_origins traces swept faces by meshes
crates/kernel/src/provenance.rs:trace traces a result's faces to its operands by meshes
crates/kernel/src/shell_groups.rs:meshes_meet decides whether bodies meet by mesh triangles
crates/kernel/src/smlib_sweeps.rs:imp::roles gives swept faces their roles by a mesh
crates/kernel/src/surface_trim.rs:cut_by trims a surface by a tool through a mesh
crates/kernel/src/surface_trim.rs:nearest_faces picks the face nearest each point by a mesh
crates/kernel/src/surface_untrim.rs:face_point takes a point inside a face from its largest mesh triangle
crates/kernel/src/surfaces.rs:nearest_face picks the face nearest a point by mesh triangles
crates/kernel/src/topo.rs:cylinder_end_at finds a cylinder's end circle by a mesh
crates/kernel/src/topo.rs:cylinder_extent measures a cylindrical face's extent and side from mesh normals
crates/kernel/src/topo.rs:cylinder_face_at finds the cylindrical face at a point by a mesh
crates/kernel/src/topo.rs:merged_topology counts merged topology from a mesh
