refactor: use name and line pointer instead of local variable
fix: text movement
feat: add rotation encoders
refactor: move text view commands to text viewer
feat: add text viewer main