честно не пойму в чем проблема) вроде в инете много примеров с таким прогрессом. Вот тот же прогресс от ант в испекторе посмотрел, и нашел параметр в верстке от которого можно менять процент заполненности (stroke-dashoffset) или я чёт не понимаю)
да можно и на ванильном js, только что то я сомневаюсь, что вы сможете сделать что то подобное на нем) в ваше примере делать на чем то, кроме канваса это глупая идея
Зачем использовать three.js если не нужна сложная анимация? Это просто вращающаяся картинка либо svg. Могу скинуть и реализацию рулетки если интересно)