Have one of these....
My DS was just the same at 3.5 yo - it was a VERY testing time. First off....guilt, yup - there for the duration unfortunately. Its there because you care, but don't let yourself get beaten up with it too much. You're only human, we all have our off days and it sounds like you had a nightmare morning.
Things that worked for me at that age....
1-2-3 Magic book - very simple to follow and apply. (Or tbh just reading bits of different behaviour books helped me feel more in control, and not that I was just a terrible mother who couldn't cope and would ultimately end up on Supernanny). But my Ds responded very well to 1-2-3 Magic (its the simplicity and consistency that's the key).
Going to school - I know, its 9 months off. But, when my DS scampered up to the school gates bouncing around the head commented 'Looks like someone's ready for school' and it was sooo very true. His behaviour improved so much by going to school.
1-2-3 Magic goes on about the negative spiral - they do something, so you get annoyed, so they get annoyed, so they do something else to get back, you start expecting them to do something, self-fulfilling prophesy, etc So sometimes you need to look at the triggers and forgive and forget (not at all saying that you should've ignored/excused his behaviour this morning - there has to be boundaries no matter what the reasons - just that don't fall into the rut of expecting bad behaviour, deal with it and then move on) 1-2-3 Magic helps you deal with the discipline in a non-emotional way and move on easier. Ermm.....I don't work for 1-2-3 Magic BTW....just I really like it!
Anyway....onwards and upwards - as you say he'll be happily esconced at nursery now and you, don't beat yourself up too much. Happens to all of us!