fix(fold): folding along a precrease emits U/0 instead of M/V #27
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 canonical origami sequence — mark a crease, then fold on it — produces an inconsistent FOLD file:
emits
edges_assignment: ["B","U","B",…]andedges_foldAngle: [0,0,…]whilefaceOrdersand the folded vertices show the paper folded. Consumers (e.g. Origami Simulator) get contradictory data. The control without the precrease correctly emitsV/180.Cause:
fold_with_recordsonly creates a crease record when a face is actually cut (fold_state.ml:200-209). After the precrease every face abuts the axis, nothing is cut, andfold_emitfalls back to the staleUrecord fromsubdivide.Fix (tactical, ahead of the topology retrofit in #26): handle the abut case — find existing records collinear with the fold axis and upgrade their assignment U→M/V with the proper fold angle.