Add the shallots and garlic to a food processor and blend until finely diced / minced. Remove them and then combine them with everything else in a large bowl with clean hands.
Then add half of the mixture to the food processor and blend until it's a relatively smooth paste. Remove and repeat with the other half of the mixture. (If you have a large food processor, you can just mince up the shallot and garlic and then dump everything else in to blend it up. My food processor was too small to do it all in a single batch.)
Line a loaf pan with some parchment paper, and spray the paper with some cooking spray. Add the meat mixture to the loaf pan and spread it out so it's even. It should look like a thin meatloaf.
Add to a preheated oven set to 350 F / 175 C for 30 minutes.
Remove from the oven, and let it cool for 20 minutes. Then wrap it in foil and refrigerate for 6 hours / overnight. You can try slicing into it now, but it will be a lot more delicate.
Unwrap the meatloaf, and slice into 1/4" strips. You can cut those in half so they aren't so long and easier to work with as well.
Over medium high heat, in a bit of olive oil, fry up your sliced vegan gyro meat until browned, about 2-3 minutes per side.
Your Vegan Gyros are done! Enjoy in a pita with tomatoes, the marinated onions, some tzatziki and fries!