Wolf, first I think you did a very good job validating, when your W spews and you just validate then it makes you look like the calm and collected one and her the loose cannon. So well done.
Second I 100% agree with the others that you need to forget about hanging out at the house with W. This is where 99% of your problems seem to happen, you're just hanging around there finding excuses to stay "for your kids" (I suspect you are making excuses to be around W). Spend your kid time AWAY from W. When you pick them up then get in and get out.
Regarding your D's behavior, she's doing that because you're pandering to her. If you just pick her up and leave then eventually she'll quit doing it. This is the exact same behavior pattern as when you start taking a kid to daycare. They cry and cry and hold their little hands out to you like they are the most pathetic thing ever. OF course you want to run over and give them one last hug and kiss, and maybe one more and one more after that... but what do the daycare teachers tell you to do in response? LEAVE. Because you know what happens? As soon as you're gone they're walking around playing and doing stuff and enjoying themselves. So you take them, you drop them off, and as they're crying and putting on a show you ignore it and leave. After a week or two they quit doing it because they decide it's not worth their effort if they're not getting a reaction. It's just a life lesson for them, they're learning what they can and can't get away with. Once they adapt then everything goes smoother.
So go pick up your kids and leave. In and out. Interact with W as little as possible. Treat her like you would a business associate. If D throws a fit just quietly whisk her out to the car. Don't yell at her or anything, just don't react to the tantrum.