Cuando un usuario acerca o aleja o se desplaza con un lienzo de PaperJS, no está moviendo el lienzo real en el DOM ni aumentando el tamaño del elemento del lienzo. En su lugar, están cambiando la relación de visualización con el contenido dentro del elemento del lienzo.
Por lo tanto, las barras de desplazamiento deben crearse en el elemento de lienzo, pero no parece haber una forma de bloquear la relación de las barras de desplazamiento. Por ejemplo, si las barras de desplazamiento están en el contexto del lienzo y hace zoom, está haciendo zoom en todo el contenido del lienzo y las barras de desplazamiento también cambian de tamaño. Parece que la única solución sería tener algún tipo de oyente que siempre establezca su tamaño, posición, etc. en relación con el estado de zoom/panorámica del lienzo, lo que parece mucho código adicional. ¿Alguien ha encontrado una solución para esto?
Tendrías que hacer lo que comentaste al final de tu pregunta.
const scrollHeight = view.heightview.onFramescrollObject.bounds.height = scrollHeight / view.zoomobj.bounds.top , los límites inferiores de los objetos más bajos obj.bounds.bottom , y finalmente usar el centro de la posición de la vista actual para calcular la posición del controlador view.bounds.center