How to make SolidPointCollide to continuously update the Solid position for each iteration

I’m using VertexLoads to simulate how gravity makes a mesh fall. That mesh is a “metallic cap” that contains an inflatable tube inside of it:


When I inflate the tube using the Pressure component, the cap restrains the tube via the SolidPointCollide component and prevents “air” from getting out of the tube – just as the metallic rims of a wheel prevent air from getting out of the tires.

The problem is that the SolidPointCollide component only works with the initial position of the cap – when the cap starts falling it gets through the tube, and the tube is restrained as if the cap stayed on the same place as the beginning:


How can I make the SolidPointCollide component to work in a continuous fashion, using the cap’s position from the latest iteration of the Kangaroo Solver? E.g., if the cap starts falling, then I want the tube to remain inside the cap and adjust its shape as the cap keeps getting to a lower position.

Also, I want the cap to stop falling when the tube’s “inner pressure” is high enough to prevent it from shrinking the tube’s volume (just as an inflatable mattress won’t let you feel the floor if you walk over it, because its inner pressure won’t allow it to shrink that much).

You can test the simulation easily by pressing the “Reset?” toggle. Thanks for your time!

Here’s the GH definition: Inflatable tube.gh (70.3 KB)