Repository navigation
El eje del grafo etiquetaba las 75 releases y perdia 62 por el borde - #1010
Merged
github-actions[bot] merged 1 commit intoOct 12, 2026
Merged
Conversation
FrameTimeline etiquetaba TODAS las marcas de anotacion. Su propia nota dice que se escribio para "an axis with a band and a dozen ticks", y el registro le entrega ahora 141 marcas, 75 de ellas releases. spread() empujaba cada etiqueta a la derecha hasta despejar la anterior por 70 px. 75 x 70 son 5.250 px de etiquetas dentro de un viewBox de 900 que se escala al contenedor, asi que unas 62 se dibujaban pasado el borde derecho y se recortaban en silencio. Las que sobrevivian quedaban a intervalos uniformes de 70 px, que es lo que se ve en pantalla: una lista regular sin relacion con las fechas de debajo, que es justo lo unico que este grafico existe para mostrar. El overflow-x-auto del figure no ayudaba, porque el svg se escala al contenedor y nunca hay nada mas ancho que scrollear. DOS MITADES, y las dos hacen falta. 1. Solo se etiquetan las marcas que la nota llama load bearing: los dos extremos de la ventana, lo que caiga dentro, y el pivote. Se anaden la release justo anterior a la apertura y la primera pasada del cierre, que son las que dicen cuanta anotacion deja la ventana a cada lado. Las demas conservan punto, color y <title>, asi que la forma de la serie sigue ahi y el hover sigue nombrando cualquiera. 2. spread() se acota entre lo y hi. Empujaba SOLO a la derecha, asi que un grupo pegado al borde derecho se salia igual: las marcas de la ventana estan al final de una serie de nueve anos y CINCO etiquetas bastaban para poner la ultima en x=956 dentro de un viewBox de 900. Lo encontro el test, no yo. Ahora empuja, desplaza el grupo entero si se paso de hi, y vuelve a empujar desde lo por si ese desplazamiento saco la cabeza por el otro lado. Seis tests nuevos con las 75 marcas reales. Cada mitad tiene su mutacion comprobada: sin restringir fallan 2, sin acotar falla 1. Los 86 de la suite web en verde y tsc sin errores nuevos.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #1010 +/- ##
===========================================
+ Coverage 87.85% 88.00% +0.15%
===========================================
Files 306 330 +24
Lines 23414 25590 +2176
===========================================
+ Hits 20570 22521 +1951
- Misses 2844 3069 +225 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lo que se ve
El eje de la pagina del grafo muestra una fila de etiquetas regular,
GOA 156a
GOA 168, repartida por todo el ancho, mientras los puntos estan apinados a laizquierda. No hay relacion entre una cosa y la otra, y no hay scroll.
Por que
FrameTimelineetiqueta todas las marcas de anotacion. Su propia nota diceque se escribio para "an axis with a band and a dozen ticks"; el registro le
entrega hoy 141 marcas, 75 de ellas releases.
spread()empuja cada etiqueta a la derecha hasta despejar la anterior por 70 px.75 x 70 = 5.250 px de etiquetas dentro de un
viewBoxde 900 que se escala alcontenedor, asi que unas 62 se dibujan pasado el borde y se recortan en
silencio. Las que sobreviven quedan a intervalos uniformes de 70 px: la lista
regular de la captura.
El
overflow-x-autoque ya lleva el<figure>no ayuda, porque el svg se escalaal contenedor y nunca hay nada mas ancho que scrollear.
Las dos mitades del arreglo
1. Etiquetar solo lo que la nota llama load bearing: los dos extremos de la
ventana, lo que caiga dentro, y el pivote. Se anaden la release justo anterior a
la apertura y la primera pasada del cierre, que son las dos que dicen cuanta
anotacion deja la ventana a cada lado. Las demas conservan punto, color y
<title>, asi que la forma de la serie sigue ahi y el hover sigue nombrandocualquiera de ellas.
2. Acotar
spread()entreloyhi. Empujaba SOLO a la derecha, asi que ungrupo pegado al borde se salia igual: las marcas de la ventana estan al final de
una serie de nueve anos y cinco etiquetas bastaban para poner la ultima en
x=956dentro de un viewBox de 900. Esto lo encontro el test, no yo: con laprimera mitad sola, el caso seguia fallando. Ahora empuja, desplaza el grupo
entero si se paso de
hi, y vuelve a empujar desdelopor si esedesplazamiento saco la cabeza por el otro lado.
Tests
Seis nuevos en
tests/frameTimeline.test.tsx, construidos sobre 75 marcas conla forma del payload real:
x="undefined".Mutaciones comprobadas una a una: sin restringir las etiquetas fallan 2, sin
acotar el
spreadfalla 1.Los 86 tests de la suite web en verde, y
tsc --noEmitsin errores nuevos (elunico que queda,
useUrlParam.test.tsx: Cannot find name 'beforeEach', esidentico en
develop).