Вы можете хранить текстовые элементы в массиве
let textArray = []
$("#text1").click(function(e) {
// .....
wrapper.appendChild(newText)
textArray.unshift(newText)
// .....
И при любом событии (нажатие кнопки, нажатие стрелки) смещаем элементы в массиве и присваиваем им новые позиции:
// move the array hovever you want
textArray.unshift(textArray[textArray.length - 1])
textArray.pop()
// move the elements - each one one further down, and the last one on the first position:
for (let i = 0; i < textArray.length; i++) {
let y = (i === textArray.length - 1) ? 0 : (i + 1) // the last one one on position 0
let newPos = new THREE.Vector3(0, y * -0.05, 0)
textArray[i].setAttribute('position', newPos)
}
Вы можете проверить это в этой скрипке .