Skip to content

Open Reader 1.1.2 - solo las notas de la pagina abierta

Choose a tag to compare

@jdsalasca jdsalasca released this 02 Nov 16:22
· 3 commits to main since this release

Open Reader 1.1.2

Arreglo de las marcas del borde: aparecían las de todo el capítulo, no solo
las de la página abierta.

Qué pasaba

El paginador no recorta el texto: maqueta el capítulo entero en columnas y
desplaza el iframe a la izquierda para enseñar una sola. Las marcas
conservan su coordenada dentro del capítulo, así que al calcular su altura
entraban todas, también las de páginas que no estabas viendo, y se amontonaban
al canto.

Cómo se arregló

La ventana visible se calcula con la posición real del iframe:

ventana = [hoja.izquierda - iframe.izquierda, hoja.derecha - iframe.izquierda]

Una marca solo se dibuja si su left cae dentro de esa rebanada. La lógica está
en core/markers.ts (visibleAnchors) y cubierta con tests: conserva las de la
página abierta, descarta las de otra columna y las de secciones que ya no están
cargadas, y no filtra nada si la ventana no se conoce.

Comprobado

Con un EPUB de un capítulo de 120 párrafos (varias páginas):

Página Marcas Cuál
7 % 1 «Párrafo 5»
11 % (antes de crear una nota) 0 —
11 % (después) 1 «Párrafo 10»

Es decir: cada página enseña exactamente su marca, ni una más.

También probado un PDF de 6 páginas a 390 px: abre, pagina y no se rompe.

50 tests en verde (19 sobre marcas).

Nota de despliegue

El servidor de casa (192.168.1.100) estaba apagado o sin red al publicar esta
versión: el código y la etiqueta están en GitHub, pero el sitio puede tardar en
recibirla hasta que vuelva a estar encendido.