Lomo con una pequeña curvatura y sombra interior en los tomos que están de frente.
Los lomos de obras con logo llevan solo el logo y el número del tomo, sin el título en texto.
Pósit cuadrado al sacar un tomo: tomo, capítulos y «Vas por el capítulo N, página P», sin botones ni barra de progreso. /api/shelf devuelve ahora chapterNum.
Arte de los lomos y portadas desde la caché del dispositivo sin esperar turno en la cola de red.
Giroscopio (estante y libro 3D), calibrado con grabaciones reales del iPad mini 6 y el Pixel 10:
Integra rotationRate en lugar de los ángulos β/γ de deviceorientation, que saltaban con el dispositivo vertical aunque estuviera quieto (la cámara oscilaba ±17°; ahora tiembla ~0,4°).
Tope suave (tanh) en lugar de un tope seco, y más rango: estante 14°/26°, libro 10°/15°.
Menos sensibilidad al caminar, según la agitación del acelerómetro.
En horizontal, el lado se deduce de la gravedad (Safari del iPad informa mal screen.orientation.angle).
Suavizado por tiempo (followTilt), igual a 60 y a 120 Hz.
El laboratorio de grabación que se usó para calibrar se quita en el segundo commit.
Pruebas
Playwright en Chromium: estante (s12, s16, s4) y libro 3D (b3) en las comprobaciones de inclinación, capturas con la inclinación al tope en iPad, Pixel y libro.
Las grabaciones del iPad y el Pixel pasadas por el createTilt real (comparación antes/después).
Probado a mano en el iPad mini 6 y el Pixel 10. WebKit no se volvió a correr completo.
Nota
main es un único commit que resume la historia, así que esta rama se creó sobre él con el mismo contenido final que libro-3d-y-tomos.
## Qué trae
**Estante 3D**
- Lomo con una pequeña curvatura y sombra interior en los tomos que están de frente.
- Los lomos de obras con logo llevan solo el logo y el número del tomo, sin el título en texto.
- Pósit cuadrado al sacar un tomo: tomo, capítulos y «Vas por el capítulo N, página P», sin botones ni barra de progreso. `/api/shelf` devuelve ahora `chapterNum`.
- Arte de los lomos y portadas desde la caché del dispositivo sin esperar turno en la cola de red.
**Giroscopio (estante y libro 3D)**, calibrado con grabaciones reales del iPad mini 6 y el Pixel 10:
- Integra `rotationRate` en lugar de los ángulos β/γ de `deviceorientation`, que saltaban con el dispositivo vertical aunque estuviera quieto (la cámara oscilaba ±17°; ahora tiembla ~0,4°).
- Tope suave (`tanh`) en lugar de un tope seco, y más rango: estante 14°/26°, libro 10°/15°.
- Menos sensibilidad al caminar, según la agitación del acelerómetro.
- En horizontal, el lado se deduce de la gravedad (Safari del iPad informa mal `screen.orientation.angle`).
- Suavizado por tiempo (`followTilt`), igual a 60 y a 120 Hz.
El laboratorio de grabación que se usó para calibrar se quita en el segundo commit.
## Pruebas
- Playwright en Chromium: estante (s12, s16, s4) y libro 3D (b3) en las comprobaciones de inclinación, capturas con la inclinación al tope en iPad, Pixel y libro.
- Las grabaciones del iPad y el Pixel pasadas por el `createTilt` real (comparación antes/después).
- Probado a mano en el iPad mini 6 y el Pixel 10. WebKit no se volvió a correr completo.
## Nota
`main` es un único commit que resume la historia, así que esta rama se creó sobre él con el mismo contenido final que `libro-3d-y-tomos`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
- Estante: entradas desde el menú, la librería y la ficha; orden reciente o A–Z; foto del estante, arte de lomos y portadas
guardados en el dispositivo; sin conexión muestra solo lo guardado.
- Notas de 40 letras sin cortar palabras, lomo curvo, sombra en las portadas de frente y lomos con logo sin el título.
- Pósit cuadrado con el capítulo y la página por la que va el usuario; paso al lector sin pantalla de carga.
- Giroscopio: integra rotationRate (sin los saltos de β/γ con el dispositivo vertical), tope suave, menos sensibilidad al
caminar, lado en horizontal según la gravedad, suavizado por tiempo y más rango en el estante y el libro.
- Laboratorio del giroscopio en Ajustes (temporal, solo desarrollo) para grabar los sensores.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ya sirvió para calibrar createTilt con grabaciones del iPad mini 6 y el Pixel 10: fuera la página #/gyrolab, su botón en
Ajustes y la ruta /api/gyrolab.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Qué trae
Estante 3D
/api/shelfdevuelve ahorachapterNum.Giroscopio (estante y libro 3D), calibrado con grabaciones reales del iPad mini 6 y el Pixel 10:
rotationRateen lugar de los ángulos β/γ dedeviceorientation, que saltaban con el dispositivo vertical aunque estuviera quieto (la cámara oscilaba ±17°; ahora tiembla ~0,4°).tanh) en lugar de un tope seco, y más rango: estante 14°/26°, libro 10°/15°.screen.orientation.angle).followTilt), igual a 60 y a 120 Hz.El laboratorio de grabación que se usó para calibrar se quita en el segundo commit.
Pruebas
createTiltreal (comparación antes/después).Nota
maines un único commit que resume la historia, así que esta rama se creó sobre él con el mismo contenido final quelibro-3d-y-tomos.🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.