tessl install tessl/pypi-numpy-stl@3.2.0Library to make reading, writing and modifying both binary and ascii STL files easy.
Agent Success
Agent success rate when using this tile
85%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.39x
Baseline
Agent success rate without this tile
61%
{
"context": "Evaluates whether the solution leverages numpy-stl's recalculation utilities to refresh normals, areas, centroids, and related derived data while producing the mesh summary described in the spec. Focus is on using the library's built-in functions rather than manual geometry math.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Normals refresh",
"description": "Calls numpy-stl's normal recomputation (e.g., Mesh.update_normals or BaseStl.update_normals) before emitting normals-dependent outputs instead of hand-coding cross products.",
"max_score": 25
},
{
"name": "Area update",
"description": "Uses the package's area recalculation (Mesh.update_areas) and reads from mesh.areas when building the summary rather than recomputing areas manually.",
"max_score": 20
},
{
"name": "Centroid update",
"description": "Recomputes centroids via Mesh.update_centroids and sources per-facet centroids from mesh.centroids for reporting.",
"max_score": 15
},
{
"name": "Unit normals",
"description": "Derives unit-length normals through numpy-stl helpers such as get_unit_normals or the mesh.units property, not by manual normalization.",
"max_score": 15
},
{
"name": "Degenerate handling",
"description": "Relies on numpy-stl capabilities to drop zero-area facets (e.g., remove_empty_areas flag during load or filtering via recalculated mesh.areas) before reporting counts and vectors.",
"max_score": 15
},
{
"name": "Bounds from mesh",
"description": "Computes min/max bounds using numpy-stl-provided vertex views (mesh.vectors/points) after recalculation rather than maintaining separate geometry sources.",
"max_score": 10
}
]
}