Okay -- I figured it out. Sigh.
Next, I'm determining a single case of the result, two firing triangles of varying heights. (The result should be able to handle any and all overlaps on a single input, but I'm not that ambitious yet. Figuring the simple cases should let me work out the complete case.)
Once I've got this, the basic framework will be in place.
Long day, spent driving around and visiting various parents. I've visited so many parents I feel like I live at home again.