Detect any data changes, output 0 during data change, 1 after

Hello guys~

In Grasshopper, I have a main group containing two subgroups, both of which have sliders. I want to monitor all activity within the main group wirelessly. Any parameter change inside the group should immediately trigger a script to output 0. Once the changes stop for a specific duration, the output should revert to 1. The script needs to monitor these changes remotely without direct wire connections. I have no knowledge about coding whatsoever so I’ve tried vibe coding several times but no luck…I need this to pause downstream heavy calculation and switch what should be shown in the rhino viewport. Any idea how to achieve this?

Thanks a million!!

(during value change)

(after value change)

A very basic and naive approach that I used to do is the following checkpoint:

in the Number component, I feed a Mass Addition (or any other operation that reduces everything to a single final number, to be evaluated case by case) of all the sliders I want to control (with hidden wires). Then I set the desired delay on the Smooth Number component.

If you don’t want to connect a lot of sliders, or in general if you want to have just one value near the checkpoint to connect to the number (to avoid spaghetti), you can extract a numeric property of a data previous to the checkpoint (that you know will change when you change the sliders) and use that.

2 example below:

  • kangaroo: stream controlled with iteration count
  • galapagos: stream controlled with fitness value

5 Likes

@Fabio_Franchetti Wow this is such a playful and elegant way to solve the problem! No coding, no plugins, just native grasshopper components, awesome~

1 Like

This is extremely cool and intuitive to understand. It’s a very clean and elegant solution to the eliminate lag caused by sliders for heavy definitions. Thank you for sharing!

1 Like