here’s my theory

i create a boxGeometry of size 1,1,1

new THREE.BoxGeometry( 1, 1, 1 );

i translate the geometry using

geometry.translate(0,0.5.,0)

or

geometry.applyMatrix4( new THREE.Matrix4().makeTranslation( 0, 0.5, 0 ) )

now i expect the center/origin/pivot point to be at the bottom of the cube & and if i animate mesh.scale.y it should look like its growing from a stationary position. But in practice the mesh seems to getting translated way to much.

what could be the issue ?

fiddle (translate part at the end)

https://jsfiddle.net/orion_prime/1hu4tnr5/8/