fn sphere(slices: u32, stacks: u32) -> (Vec<[f32; 3]>, Vec<[f32; 3]>, Vec<u32>)Expand description
The unit sphere every body is scaled from, as (positions, normals, indices).
The normals are the unit positions themselves, so the shell spreads along the same directions the body shades by. The winding is counter-clockwise seen from outside, which is what makes the faces the body draws the ones the shell culls.
A body that carries no normals is the same geometry: whether the vertices disagree about their direction is what decides between the two shading paths, not the mesh the allocator was handed.