Faking liquid inside animated glass using boolean; modifier update issue

So this is the scene:

  • wine glass animation done externally, loaded via Mesh Cache (.pc2)
  • wine object is a mesh filling the glass to the top, attached to glass with a Surface Deform modifier
  • boolean cut object (cube) parented to armature
  • armature attached to bottom of wine object by Copy Location constraint

So with this setup the boolean cube would follow the glass around.
I’d then like to use the armature to animate the boolean cube to fake the wine surface moving simply inside the glass.

The problem is that the boolean modifier does not update correctly. Each frame the wine is cut at the previous frame’s boolean cube position.
Once the boolean modifier is updated by clicking any option in it, it behaves correctly, cutting the wine object at the present frame level.

Does anyone know how to get this to work correctly?

Aight so the problem was fixed by introducing a new object with vertex group to act as the pin for the armature Copy Location. This object is attached to .pc2 animated glass with suface deform.

I guess the issue was the order that Blender solves modifiers or smth, cause the boolean modifier depends on the bool cube/armature, the location of which depends in turn on the object on which the modifier is in the first place. So maybe a loop dependency thing also.