How does this circuit produce a triangular-wave output?
You break it down into its different phases of operation. Yes, C1 is a filter capacitor; it's just there to make sure that the "reference" voltage going to the inverting input of U1A and the noninverting input of U1B is as noise-free as possible.

Yes, U1B is an integrator. It is simply integrating the output of U1A &mdash; which in turn must be a square wave, switching between two states.

U1A is functioning as a comparator. Its output is high when the noninverting input is higher than the reference voltage. Since the integrator has a negative coefficient, its output ramps down during this time.

Note that the feedback to U1A is a combination of the integrator output and its own output. This means that when the integrator ramps down low enough, the noninverting input of will eventually fall below the reference voltage, causing U1A to switch low. This positive feedback will immediately drive its own noninverting input more negative. Although the integrator output now starts moving in the positive direction, it now has some distance to go before it hits the U1A's switching threshold again.

This cycle simply repeats over and over.