You are normalizing the u,v coords (n), you usually have to denormalize again before you sample the texture again (map it to the region of spritesheet your image resides in.)
(e.g. sampler2D(sampleFront, mix(srcOriginStart, srcOriginEnd, nUpdated)) )
If nUpdated.x or nUpdated.y is < 0 or > 1, you need decide how to deal with that, e.g. clamp or set color to a base color (transparent, white, etc.)