ADR 0083 — El dock de herramientas
Desarrollo
Estado: aceptado · Fecha: 2026-10-26
Contexto
Sección titulada «Contexto»Tres cosas se juntaban mal en el lado izquierdo de la app:
- El panel se llamaba rail —«raíl»— en el marcado y en el CSS, mientras al otro lado el ADR 0079 ya había nombrado un dock con su barra de actividad. Dos nombres para lo mismo: el raíl era la hoja, no la barra, y en el código no se sabía si se hablaba del panel o de su franja.
- El engranaje de Ajustes vivía en la cabecera, entre el botón de abrir repositorio y el menú de vistas. Ajustes es de la app, no del proyecto abierto, y ahí competía con lo que sí es del proyecto; con la ventana estrecha, además, se apiñaba con los botones de plataforma.
- El panel de la izquierda ocupaba sus 258 px siempre y no había manera de plegarlo. En un repo grande el mapa perdía ese ancho para tener a la vista unos controles que ya se sabe.
Decisión
Sección titulada «Decisión»- El dock de herramientas es el espejo del dock del inspector.
.tool-dockjunta la barra —.tool-bar, 44 px— y la hoja —.toolbar, 258 px—, con la barra por fuera, en el canto de la ventana. El dock derecho hace lo mismo con la barra por fuera del suyo: el contenido queda entre las dos franjas. - El raíl se llama toolbar. Desaparece
raildel marcado y del CSS. La hoja de herramientas es.toolbary su barra.tool-bar; la diferencia de un guion es la diferencia entre el panel y la franja, y el ADR lo dice para que no se confundan. - La barra lleva el marco, no la hoja. Mismo color y mismos estados que la barra del inspector (ADR 0082): la app queda rodeada por el armazón y las hojas dentro. En estrecho se tumba encima de su hoja, como la del inspector.
- El icono del mapa pliega la hoja. Es la convención de un editor: pulsar la herramienta activa la
pliega, y el mapa gana esos 258 px. El estado se recuerda entre visitas con el almacenamiento de las
secciones plegables (ADR 0061), no en el repositorio.
Con la hoja plegada el dock mide 44 px y la franja sigue a la vista. La hoja se va con el mismo
fundido que la del inspector (ADR 0079)
y
inertla retira del foco mientras está fuera. - El engranaje de Ajustes baja a la barra. Al pie, separado de las herramientas, y marcado
mientras el diálogo está abierto. La cabecera se queda con lo del proyecto abierto. Los ajustes no
cambian de API: el estado sigue siendo
settingsOpenysetSettingsOpen. - Las herramientas son datos.
TOOL_ENTRIESes una lista: añadir una herramienta es una entrada y su hoja en el dock, igual que un apartado del inspector (ADR 0079).
Consecuencias
Sección titulada «Consecuencias»- La rejilla del armazón pasa a
auto minmax(0, 1fr) auto: cada dock dice su ancho —barra más hoja—, así que al plegar una hoja el mapa se queda con lo que sobra sin reservar una franja vacía. - La hoja tiene ancho fijo (258, y 226 a partir de 1180 px) para que un texto largo no estire el dock y el mapa pierda lo que no debe.
- En la cabecera desaparece un botón que no era del proyecto; el escritorio mantiene su entrada de menú para Ajustes, que es otra cosa.
- Se borra el CSS de
.rail-settings, que ya no usaba ningún componente. - Tests:
TOOL_ENTRIEStiene una entrada por herramienta, con nombre y pista y sin repetir, ytoolLabelda el nombre de la hoja. - Las capturas que enseñan el engranaje en la cabecera y el raíl quedan por rehacer.
Alternativas descartadas
Sección titulada «Alternativas descartadas»- Dejar el engranaje en la cabecera. Es una acción de la app, no del proyecto, y en estrecho se apiña con los botones de plataforma.
- Una barra sin nada que plegar. El icono del mapa no tendría qué hacer: una entrada que se puede pulsar y no cambia nada no se distingue de un adorno.
- La barra por dentro, junto al mapa. Pierde el canto de la ventana y compite con el borde del marco, que es justo lo que el ADR 0082 vino a ordenar.
- Dos nombres parecidos para barra y hoja (
railde un lado,toolbardel otro). Es el problema que este ADR viene a quitar. - Guardar si la hoja está plegada en el repositorio. Es una preferencia de lectura, como el estado de una sección: no viaja con el código.
Hoja de ruta
Sección titulada «Hoja de ruta»El dock de herramientas
Sección titulada «El dock de herramientas»- El raíl pasa a
toolbar; el marcado y el CSS dejan de decirrail. - El dock con su barra de 44 px, con el color del marco y sus estados.
- El icono del mapa pliega la hoja y el estado se recuerda entre visitas.
- El engranaje de Ajustes, al pie de la barra, fuera de la cabecera.
- La hoja se pliega con el fundido del inspector y el mapa recupera el ancho de una vez.
Los ítems abiertos de esta decisión viven en el backlog del roadmap.
El registro de lo hecho vive en el feed de la guía.