Here are the major changes from the bevel profiles branch:
- The profile widget is derived from the curvemapping widget, but the path is built to be a profile instead of a mapping between X and Y.
- Profile sampling methods: Taking the high resolution path and getting sampled point positions. More curved areas get more samples, and points can be sharp as well. There's also an "Even Length Sampling" option.
- The interaction methods are changed for profiles, and hotkeys are added.
- The widget should be extenable for other situations where splines need to be edited in the UI.
- RNA API for the widget included.
Bevel Custom Profile
- Added custom profile bevel cases, removed existing assumptions and special cases.
- New "pipe case" for parallel edges which reuses profile positions.
- Profile orientation regularization: Method to ensure that the side of the start of the profile is consistent along groups of edges.
- Presets: Moldings and steps, etc...
Bevel cutoff intersection method
- Method chops off each profile at the boundary of each vertex mesh.
- Leaves room for Boolean method in the future.
Bevel tool and modifier UI
- Including the new features in the UI
- With the new features, the UI is even larger, so updates to streamline and unify both interfaces make sense at this stage
Bevel operator code cleanup and documentation
- Lots of comments on existing bevel code where I worked, some changed variable names, and some other refactoring.
- The code should be more readable, which has already helped me, so hopefully it will help someone else in the future.
Still to do
T68330 lists the tasks and bugs for the project. Most listed there are planned for continued work after the merge, but the first section would probably be completed beforehand depending on feedback.