In theory, I think so too. That’s why I was a bit surprised about the solution (sham solution?).
With my frequent scatterbrains sometimes nice things come out, e.g. if one forgets to make a bracket around the difference in the numerator of the fraction.
But here it is really strange.
I have added some tests and console.log but cannot locate the problem.
There you can find the test example.
DeformableTriangulationCylinderWithHoles
Basically it is Triangulation cylinder with holes
Added deformation similar to DynamicTubeGeometryCaps.
For this lines 1148 to 1156
If you comment out triangGeo.morph( points );
you get the original triangulation.
In the class deformableCylinderWithHoles extends THREE.BufferGeometry { ...
only some things were added to the original, also some console.log.
Lines 50 to 64
Lines 201 to 265 g.morph = function ( points ) { ...
Lines 267 to 290 function getTangent( t, optionalTarget, delta ) { ...
instead of the original.