I’m not sure I did this correctly? Or whether it matters much?
vertex_normal_2024Feb6c.gh (67.1 KB)
As suggested by @laurent_delrieu, the white group attempts to “ponderate” by area, meaning multiply surface normal vectors by surface area before getting the average for each vertex.