Maniphest T56160

Stabilize boolean's epsilon use, write tests
Confirmed, NormalTO DO

Assigned To
Campbell Barton (campbellbarton)
Authored By
Campbell Barton (campbellbarton)
Jul 31 2018, 3:52 AM
Tags
  • BF Blender
  • Modeling
Subscribers
Akshat Dixit (:baka) (aaka)
Bastien Montagne (mont29)
Brecht Van Lommel (brecht)
Campbell Barton (campbellbarton)
Dalai Felinto (dfelinto)
Habib Gahbiche (zazizizou)
Sergey Sharybin (sergey)

Description

Motivation: resolve bugs in boolean code.

Description:

Currently booleans use epsilon comparisons in a non-uniform way,
causing near edge-cases for fall in-between detecting a segment and an end-point intersection.

This would resolve some of the open bug reports we have now.

Estimated Time: 2 weeks

  • 1 week writing tests, make sure existing bug reports are covered by these tests.

    This is very important since currently there aren't any good ways to know if a change to boolean code breaks edge cases.
  • 1 week (max) to go over current boolean code and make all comparisons uniform

    (may be a day or two as well, just needs to be done carefully, possibly re-working intersection code)

Related Objects

StatusSubtypeAssignedTask
ConfirmedTO DONone
ConfirmedTO DOCampbell Barton (campbellbarton)
ConfirmedTO DOCampbell Barton (campbellbarton)

Event Timeline

Campbell Barton (campbellbarton) lowered the priority of this task from 90 to Normal.Jul 31 2018, 3:52 AM
Campbell Barton (campbellbarton) created this task.
Campbell Barton (campbellbarton) updated the task description.Jul 31 2018, 3:54 AM
Aaron Carlisle (Blendify) added a project: Modeling.Jan 27 2020, 2:40 AM
Aaron Carlisle (Blendify) mentioned this in T63731: Modeling Module.
Habib Gahbiche (zazizizou) added a subscriber: Habib Gahbiche (zazizizou).Mar 22 2020, 2:29 PM
Campbell Barton (campbellbarton) moved this task from Backlog to Long Term on the Modeling board.Jun 17 2020, 5:01 AM
Akshat Dixit (:baka) (aaka) added a subscriber: Akshat Dixit (:baka) (aaka).EditedApr 8 2021, 9:21 PM

I would like to work on this issue...I just need a little information, what can I do to explore and understand the issue!

Edit: I found out about what booleans are in the blender. I know and understand testing works in the blender, I would like some pre-information.

  • What kind of tests are expected ('Edge cases')?
  • What way should I implement them(make a new test file for booleans in test/ directory with a new blend file or add something to an existing one )?