this is part of an overall pattern of ignoring us, not doing as she is asked etc, much of which I accept as par for the course. I just offered her a drink, asked what kind of straw she would like (had to ask twice). She said 'yellow'. I gave her yellow. She then decides she wants red. I say no. She gets enraged, stamps on her yellow straw, tries to get into the drawer, threatens to break the drawer etc. I still say no, tell her to calm down and drink her drink, but that she is not having the red one, especially after she destroyed the other one (yeah, I know, it's only a straw, but this kind of thing happens all the time, e.g. she thinks she can change an outcome by protesting, threatening etc). She then gets crosser and crosser - is crying and very upset by this point, throwing herself on the floor. Then spits in her sister's drink, and on the floor. I send her away to calm down (after shouting at her) as I know that there is no point escalating things when they get to this point.
She calms down, we all say sorry, we agree on the rules (which she knows perfectly well). Her punishment is that she is not allowed to play on the road later on.
But this happens (substitute some other trivial thing) over and over and she never seems to learn to manage her frustration/control her emotions. She is well behaved at school and doing fine, mostly plays nicely with her sister and friends (although hasn't made a friend as such yet). If she is good at school it must be something I am doing, or not doing, right?