Pull the 'checking for unset colors' code out of prerendering, into the property get() calls, to ensure it can never be unset. (It was possible to get into a state where the controls would try to display a null color/gradient.)
Update wipe effect to allow setting a specific number of wipes for the effect and the pulse length as a percent of the effect time. This allows the wipes to fall out evenly over the effect time. Original pulse length setting remains the default option.
Add default discrete color handling logic to Wipe effect.