Plan your meal, prepare it. Normal food that she should be eating for her age (do not revert to purees- I'm an slt and that is not the way to go)
Sit down as a family as much as possible.
Give dcs their food, ignore dd's attempts to spit into your hand. Talk about anything and everything other than food and what she is eating. Keep chat going with everyone else and include her if appropriate.
If she spits onto the floor, ignore it and leave it until the end of the meal when you will wipe it up without comment.
Take meal away when everyone else has finished (unless she is actually eating it!) and serve whatever you planned to have after.
Repeat at next mealtime.
i.e. try to have a normal family meal that is not totally focussed on her behaviour, what she is or is not eating!
It sounds as though she is used to being centre of attention and having you react to everything she does, so she continues with the screaming, spitting and not eating because it gets your attention.
If you don't want her to have chocolate for breakfast, say 'no' once and then do not change your mind or continue the conversation i.e. do not keep repeating no or explaining (I find this just continues a tantrum)
Be strong and stick to your guns. You are the adult, she is the child