Pipeline does not persist the freeform mesh to disk; downstream tools cannot load it #29
Labels
No labels
blocked:needs-decision
blocked:preflight
bug
in-progress
in-progress
lint-cleanup
needs-decompose
quickfix
triage-approved
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/pc2cad#29
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pipeline does not persist the freeform mesh to disk; render tool cannot use it
What
pc2cad.py::_reconstruct_freeform_mesh(around line 423) returns ano3d.geometry.TriangleMeshand areportdict, but neither thereport nor any side-artifact file on disk contains the mesh's
vertices / faces. The report only stores
trianglesandverticesas integer counts:
As a result, any downstream tool that wants to visualise the actual
mesh pc2cad produced (rather than re-running the same algorithm
itself) cannot — it has to re-run Poisson / alpha-shapes / BPA
externally with the same parameters to get a renderable mesh file.
Reproduction
Expected
The freeform section of the report should either embed the mesh
data (vertices + triangle indices as nested lists) or the pipeline
should write a side-file like
<output>_freeform.plyso downstreamtools can load the actual mesh pc2cad produced.
Actual
Only counts. No geometry on disk. Render tools that want to compare
input vs. pc2cad's reconstruction have to re-run Poisson
externally and hope the parameters match.
Suggested fix (not for me to implement)
Either:
<out>_freeform.plyside-file when the freeform methodis run, so the mesh is loadable as
o3d.io.read_triangle_mesh(...).The render script
/tmp/render_organic.pycurrently re-runs Poissonexternally with the same parameters as a workaround. That workaround
gives near-identical output for healthy inputs but is a different
code path from what pc2cad actually executed — they will diverge on
edge cases (different default normal estimation, different density
trim quantile, different octree parameters).
Related
Filed as part of the 2026-06-20 assessment cycle that produced
pc2cad#24, #26.