Let's add boolean isPreviewed() to ModuleItem, and boolean preview() default true; to Parameter, which control whether each individual parameter calls the preview() method after it changes.
Note that in cases where parameter foo triggers a callback which changes bar, but foo declares preview=false, this will not trigger a preview even though bar also changed, because callbacks and previews do not chain. It is the responsibility of the programmer to keep track of such "parameter dependencies" and structure things as needed for their use case.
Thanks to Adrian Daerr for the suggestion.
Let's add
boolean isPreviewed()toModuleItem, andboolean preview() default true;toParameter, which control whether each individual parameter calls thepreview()method after it changes.Note that in cases where parameter
footriggers a callback which changesbar, butfoodeclarespreview=false, this will not trigger a preview even thoughbaralso changed, because callbacks and previews do not chain. It is the responsibility of the programmer to keep track of such "parameter dependencies" and structure things as needed for their use case.Thanks to Adrian Daerr for the suggestion.