A generalization of Napoleon's theorem Can you provide a proof for the following proposition?

Proposition. Given an arbitrary  $\triangle ABC$. The $\triangle AEB$, $\triangle BFC$ and $\triangle CDA$ are constructed on the sides of the  $\triangle ABC$  either all outward or all inward, such that $\angle DAC=\angle BAE$, $\angle EBA= \angle CBF$, $\angle FCB= \angle ACD$ and $\angle DAC+\angle EBA+\angle FCB=180^{\circ}$. Let $I_1$, $I_2$, $I_3$ be the incenters of the $\triangle AEB$, $\triangle BFC$, $\triangle CDA$, respectively. Then the angles of the  $\triangle I_1I_2I_3$ are equal to $\angle I_3I_1I_2=(\angle BAE+\angle EBA)/2$, $\angle I_1I_2I_3=(\angle CBF+\angle FCB)/2$ and $\angle I_2I_3I_1=(\angle ACD+ \angle DAC)/2$.


GeoGebra applet that demonstrates this proposition can be found here.
 A: There is a systematic approach to solve this and similar problems using the $p,q$ method.  It is not anywhere as elegant as the solution proposed by Fedor Petrov but it has other advantages which will be discussed below.  One can begin by assuming that the triangle vertices are $(0,0)$, $(1,0)$ and $(p,q)$.  It is a five finger exercise to compute the coordinates of $D$, $E$ and $F$  in terms of $p,q$, using the (trigonometric functions of the) swing angles.  One can then calculate the incentres (using the standard barycentric coordinate representations with respect to the vertices of the auxiliary triangle).  At this point the calculations become rather tedious but this can be alleviated by using, e.g., Mathematica.  The trigonometric functions of the angles of the new triangle can now be calculated, again in terms of $p$ and $q$.
This is an example of Tate's maxim "Think geometrically, prove algebraically".  Amongst its advantages is the fact that one can explore many variants--different relationships between the swing angles, the corresponding relations for other triangle centres (there are now about $40,000$ catalogued examples, so plenty of scope there) and so on.
A: Notice that triangles $ACD, AEB, FCB$ are similar. Working out the ratios of the sides and the angles one can see that:

*

*Triangles $AI_1I_3$ and $ACE$ are similar. Rotating $I_1I_3$ around $A$ with angle $\frac{1}{2}\angle DAC$ makes $I_1I_3$ parallel to $CE$.


*Triangles $BI_1I_2$ and $BEC$ are similar. Rotating $I_1I_2$ around $B$ with angle $\frac{1}{2}\angle FBC$ makes $I_1 I_2$ parallel to $CE$.
Therefore, the two rotations make $I_1I_3$ and $I_1I_2$ parallel, implying that the angle between them is the sum of the rotation angles. One can repeat the procedure for all vertices of the triangle $I_1I_2I_3$.
