feat(cli): wire engine='compose' and use_deterministic_ransac into pc2cad_cli.py (Phase 4 / Phase 5 plumbing only in API) #69
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#69
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?
The compose engine (commits
13ddca4through0cf5dfd) and deterministicRANSAC (commit
f686579) are implemented and exposed via programmaticcallers —
compose_body_with_features(engine="compose")andFitConfig(use_deterministic_ransac=True).The CLI does NOT expose either flag. Users running
python pc2cad_cli.py samples/X.ply --out out.step --report out.jsonalways go through thelegacy heuristic path regardless of what they want.
Reproduction
Impact
pointcloud-to-cad-guide.md. Programmatic callers exist (compose_body_with_features,
fit_primitives) but the CLI is what most users run.
render_compare gates) cannot exercise the new engine path. Plan §7
acceptance ("all committed samples reconstruct with coverage >= 0.80")
cannot be verified end-to-end via the CLI today.
output, but the CLI's
fit_primitives()call doesn't passuse_deterministic_ransac=Trueunless someone adds it to FitConfigin pc2cad_cli.py.
What's needed
--engine {legacy,compose}and--deterministic-ransacflagsto pc2cad_cli.py (or
--no-deterministic-ransacsince the new pathis gated behind a default-False flag).
compose_body_with_features.Acceptance
selects the new engine + deterministic RANSAC. Default behavior unchanged
(legacy engine, open3d RANSAC).
Context
Filed as the integration gap that blocks plan §6.4 task 5 (CLI plumbing).
Closed retroactively after fix landed on main in
21acdaf523.Commit message:
fix(test): seed plane RANSAC in profile_operations gate (Mark/pc2cad#66)Card closure was correct; close step was bypassed (likely push-failed-recovery retry path).