I have a collection of some arbitrary shapes that I deform with Effect > 3D > Rotate. I want to apply a gradient to some of those shapes. The problem is that Illustrator, trying to preserve the 3d correctness, will rasterize and segment the gradient for each individual shape affected and when I export the project as svg, the svg will contain an actual image for every shape. Also it's extremely unoptimized and for lots shapes in a group, it takes a lot of time.
Is there a way to the make the gradient simply overlay?
The same effect I achieve manually by deforming the initial collection with the Free Transform Tool so that it matches the 3D Effect, but that is a destructive manipulation and I'd like to keep it procedural and work with the Appearance window. (In that line of though, can I save Free Transform manipulations as a preset?)
EDIT - added sample images
1) Initial image (length is 2182 characters): https://svgshare.com/i/7Qp.svg
2) 3D effect (length is 79394 characters): https://svgshare.com/i/7Rh.svg
3) Manual distort (length is 3358 characters): https://svgshare.com/i/7Po.svg
As you see, in (2) due to the rasterized gradient effect, size goes crazy.