The Impulses are the possibility to synchronize among the different tracks ( $PATH ) inside a $SCENE construct.

The impulses have a name and an amount. The movements in each $PATH can create a new impulse name and add impulses to the stored amount. And all movements can need a number of impulses from a named impulse storagee before they can continue running. Are there already enough impulses to fullfill the need of the requesting movement, it will continue imediately (and consumes the required number of impulses). There are not enough impulses - or even the impulse name was unknown before the request - the requesting movement is delayed until the other movements send the requested amount of impulses of that required name.

To send an impulse is an action - it can be programmed in a waiting parameter  ( T=, T1=, … TE=, TB= ) or in a Waypoint act

For what is it good ? To synchronize the movements