- Input weights and vertex group are replaced by a single attribute input on either the point or edge domain. The expected type would be float, with a range depending on the "Width Type" drop-down.
- The custom profile is moved to a separate node that creates a curve geometry based on the widget data, the bevel code accepts actual curve data for the profile. This has the benefit of convenience and flexibility, which was much harder to do in the context of a modifier.
- The node creates a boolean attribute with values set to true on the newly created attribute, which will allow operations only on the newly created geometry.
|Replaces the "Angle" limit method|
|Related to T86243. A quick way to create a custom curve profile|
- Is the name of the newly created boolean attribute exposed, or is the name just a default name?
- How does D6386 fit into this design? Maybe constant radius bevel should really be a separate node?
Changes to bevel code itself will be necessary to implement this design.
A few of the changes I know will be necessary at this point are:
- The bevel node would need to sample a curve for the custom profile rather than a CurveProfile. A first version could not support custom profiles (before curves are supported in geometry nodes).
- Passing the influence data to BMesh may require some thought. Since it may be interpolated or converted by the attribute API, it may need to be passed as an array of values.
- The bevel code's handling of selecting edges to bevel would need to be improved for the generalized "Amount" input.