# Shade Auto-Smooth
Original design which lead to current changes: https://projects.blender.org/blender/blender/issues/93551
New proposed changes:
https://projects.blender.org/blender/blender/issues/120230
Original problem:
* Procedural and Modifiers
* Blender already has a robust procedural system with modifiers.
* Other procedural features (e.g., auto-smooth) should be integrated with this as much as possible.
* Lack of flexibility for advanced users.
* You could not interleave auto-smooth with other modifiers.
* Auto-smooth doesn't play well with geometry nodes.
* Joining objects with different sharpness/angles
* Performance:
* Custom-normals.
* Sharp edge cases.
New problem introduced:
* The lack of good instancing in Blender makes the shift from object data (mesh) to object a usability/performance regression.
* This wouldn't be a problem if Blender had better instancing usability.
* We will run into the exact same scenario when we convert the old curves into the new curves and support bevel, extrude, ...
Current problems:
* To investigate: backwards compatibility conversion.
* Object mode action is destructive at the moment [#120230](https://projects.blender.org/blender/blender/issues/120230).
* Add/update a modifier instead.
* "Shade Smooth" and "Shade Flat" remove the modifier.
* Mimic 4.0 UI:
* Rename operator to "Shade Auto Smooth".
* Options: Auto-Smooth and Angle (leave out advanced options from the modifier).
* Auto-smooth needs to be last on stack for some workflows.
* Idea: to add a "Stick to Bottom" checkbox.
* ~~Dragging the pinned modifier above non-pinned modifiers un-stick it~~
* ~~Dragging a non-pinned modifier below a pinned modifier makes it pinned~~
* Instead of using the GRIP icon we use ICON_NONE for these. (bonus if it can have a tooltip explaining why it can't be moved)
* These modifiers are not draggable.
Current proposal:
* To keep on the object level.