Análisis, comentarios y búsqueda

Panel de Análisis

El panel Análisis (CTRL-L) muestra los datos de análisis de la posición actual importados desde eXtreme Gammon (XG), GNUbg, BGBlitz o gammonNet. Presenta las mejores alternativas (jugadas de fichas o decisiones de cubo) con sus valores de equidad y los errores correspondientes. La tecla d alterna entre el análisis de las jugadas de fichas y el análisis del cubo. Durante la navegación por una partida, la jugada realmente jugada se resalta en la lista de alternativas. Pulse CTRL-L o ejecute el comando list para mostrar u ocultar el panel.

Una posición sin análisis lo indica, con un botón Evaluar que la abre en el panel Eval.

El botón Desafío de la barra de herramientas, situado tras el del pipcount (tecla m), sirve para decidirse antes de ver el análisis al recorrer posiciones: resultados de una búsqueda, revisión de un match, repaso de los propios errores. Activado, cubre con una zona gris todo el análisis del panel, fichas y cubo; un clic en la zona lo revela. Vuelve en cada cambio de posición. El desafío es una máscara de visualización: revelar no guarda nada en la base. El ajuste se mantiene hasta cerrar blunderDB, como el del pipcount. En la revisión de un match, el desafío oculta también las marcas, las pérdidas y la dificultad de la lista de jugadas; las de la jugada mostrada se revelan con su análisis.

Bajo las tablas, una frase dice a veces lo que costó la decisión jugada y por qué: «Pierde 120 mp: la jugada realizada deja tres fichas sueltas donde 13/7 8/7 solo deja una.» Procede de seis reglas medibles — la exposición, un punto de la casa hecho o perdido, las posibilidades de gammon abandonadas, una seguridad que cuesta más de lo que aporta, y los dos sentidos de un error de cubo (doblar demasiado tarde o demasiado pronto, aceptar demasiado amplio o pasar demasiado estricto).

La regla que importa es la del silencio: la frase solo aparece cuando una regla se aplica con confianza, y sobre un error que supera el umbral a partir del cual los motores coinciden en que lo es. El resto del tiempo no hay frase — ni marco vacío, ni «no lo sabemos». Una explicación equivocada cuesta más que ninguna: enseña algo inexacto.

La misma frase acompaña al error allí donde acaba de cometerlo: al dorso de una tarjeta Anki, bajo el análisis revelado, y en el veredicto del quiz del ejercicio Decisión, bajo el coste en mp. Rigen las mismas reglas de silencio: una jugada correcta, o un error que ninguna regla explica, no añade nada.

Cuando una posición ha sido juzgada por varios motores, una franja en la cabecera del panel los pone lado a lado: una línea por motor, con su profundidad y su respuesta — el veredicto de cubo, o su propia mejor jugada. Dice primero si coinciden, y es la discrepancia lo que la justifica: «XG dice doblar, tomar; gammonNet dice no doblar» se lee de un vistazo, donde había que comparar dos tablas en diagonal.

La mejor jugada de un motor es la mejor de ese motor: la lista de jugadas candidatas está ordenada por equidad, con todos los motores mezclados, así que su primer elemento no es la mejor jugada de ninguno en particular.

La franja aparece solo si de verdad hay varios motores, y existe únicamente en este panel: el panel Eval presenta una decisión, la del motor integrado (ADR-0017), y una comparación no tendría sitio allí.

Las jugadas se escriben como se leen en el tablero, aquí igual que en el panel Eval: la ficha menos avanzada se mueve primero, y una ficha que encadena varios dados se escribe una sola vez — un 64 jugado con la misma ficha se lee 24/14, y 24/14* si golpea al llegar. El detalle del encadenamiento solo reaparece cuando dice algo más: un golpe por el camino conserva su punto de paso, 24/18* 18/14, sin lo cual el golpe en el 18 desaparecería de la notación.

La equidad de un análisis importado sigue la misma regla que el panel Eval: la columna indica su propio marco de referencia, «Equity (money)» o «Equity (match)» según el marcador de la posición analizada, nunca un simple «Equity» mudo sobre la escala. Las reglas Jacoby y Beaver activas en una posición de money game también se muestran, en insignias bajo la tabla de decisión del cubo.

Rollouts

El panel Análisis sabe rodar una posición: jugar cientos de partidas a partir de cada jugada elegida, o de cada acción de cubo, para desempatar dos opciones que la evaluación directa apenas separa. En la tabla de jugadas candidatas, Ctrl+clic añade o quita una jugada de la selección y Mayús+clic la extiende hasta la jugada pulsada; el clic simple selecciona una sola jugada, como de costumbre. Un clic derecho sobre la selección — o sobre otra jugada, que pasa a ser la selección — abre un menú cuya entrada Rollout (Estándar) lanza enseguida el rollout de las jugadas seleccionadas con el ajuste elegido. En una decisión de cubo, el clic derecho rueda la decisión entera. La tecla Mayús+R del panel hace lo mismo (sin selección, rueda las mejores candidatas de la posición), como el comando rollout (alias ro). Durante el rollout, una barra fina bajo la tabla sigue las partidas jugadas; Cancelar, la entrada Cancelar el rollout del menú, Esc o Mayús+R de nuevo lo detienen sin escribir nada. El ajuste — Rápido, Estándar o Libre — se elige en la pestaña gammonNet de la configuración (véase configuración).

El mismo menú ofrece Copiar la posición y el análisis, la imagen que copia CTRL-X CTRL-X: el tablero y el principio de la lista de jugadas, o el análisis del cubo completo. En cuanto se selecciona una jugada, se añade una segunda entrada, Copiar la posición y las jugadas seleccionadas: la imagen solo conserva esas jugadas, en el orden de la clasificación, cada una precedida de su rango entre todos los candidatos y con su diferencia respecto a la mejor jugada de la posición, no a la mejor de la selección. En una decisión de cubo, solo aparece la primera. Las celdas de las tablas de análisis no se seleccionan como texto: los clics de selección no dejan resaltado en ellas.

El resultado se almacena junto al análisis, nunca en su lugar: un análisis importado no se modifica. Cada jugada rodada lleva su resultado en su propia fila de la tabla, en una columna Rollout que solo aparece cuando la posición tiene un rollout: la equidad y la semianchura de su intervalo de confianza del 95 %, en la escala de la columna de equidad. Pasar el cursor por la celda da el detalle: la desviación típica, la JSD (la distancia a la mejor jugada en desviaciones típicas de la diferencia: a partir del límite, la jugada queda decidida y deja de jugarse), el número de partidas y la Configuración — el motor y la firma completa de los parámetros: dos rollouts con la misma firma son los mismos números. El rollout se detiene en cuanto las jugadas quedan desempatadas. El rollout de una decisión de cubo, que no tiene fila de jugada, se muestra como una tabla bajo la decisión. Un rollout juega el cubo en sus partidas: la clasificación es fiable, la equidad absoluta algo menos, lo que el bloque recuerda. No juega el beaver: su fila doblar, aceptar es la de una simple aceptación, incluso en una posición de money bajo la regla Beaver, donde el análisis directo cuenta el beaver. Una posición que no está en la base se puede rodar, pero no se almacena.

El comando ro search rueda, una tras otra, las posiciones de la lista mostrada — resultados de búsqueda, partido o colección — que aún no llevan este rollout; una confirmación da el total antes de empezar. Cada posición se escribe en cuanto termina: cancelar conserva lo hecho, y volver a lanzar retoma donde se detuvo. El avance sobrevive al cierre del panel.

Una base abierta en solo lectura, porque otra instancia de blunderDB la mantiene, rechaza de entrada un rollout que se almacenaría: un mensaje lo dice antes de que se juegue la primera partida.

Panel de Comentarios

El panel Comentarios (CTRL-P) muestra, añade y modifica los comentarios asociados a la posición actual. Una posición puede llevar varios, escritos por personas distintas: todos se muestran en hilo, del más reciente al más antiguo, cada uno con el nombre de su autor, y los suyos van primero. Los comentarios importados desde archivos XG se asocian automáticamente a las posiciones correspondientes. Pulse CTRL-P o ejecute el comando comment para mostrar u ocultar el panel.

El nombre atribuido a sus comentarios se configura en las preferencias, pestaña Interfaz, campo Su nombre; si está vacío, sus comentarios no llevan autor. Los comentarios de una importación XG se atribuyen a XG, los de un archivo de partida a su transcriptor. Reescribir un comentario se lo atribuye a usted. La búsqueda au"Alice" retiene las posiciones que Alice ha comentado; fuera de la interfaz, blunderdb comment add --author escribe un comentario atribuido a ese autor y blunderdb comment list los vuelve a leer (véase Interfaz de línea de comandos (CLI)). Este nombre es texto libre: no certifica nada, a diferencia de la firma descrita más abajo.

Cada comentario procedente de un archivo lleva una etiqueta de procedencia (XG, GNU BG, BGF, o importado cuando la procedencia nunca se registró). Los comentarios que usted escribió no llevan ninguna: es el caso corriente, y señalarlo en cada línea sería ruido. Modificar un comentario importado se lo atribuye: tras la modificación, la frase es suya.

Esta distinción se nota en otro sitio: borrar una partida ya no destruye una posición sobre la que usted había escrito. Una nota tomada del archivo de origen sí desaparece con la partida que la trajo.

Un comentario recibido en una base exportada con marca de origen lleva la firma de su emisor: el hilo muestra «comentario de emisor» seguido de la huella de su clave, precedido de ✓. Dos personas pueden llevar el mismo nombre, no la misma huella: compárela con la que el emisor le comunicó.

Un comentario que ya no corresponde a lo que se firmó se conserva pero se marca ⚠ no verificado: texto o autor modificado en el archivo, comentario movido a otra posición, o posición cuya identidad se ha corregido desde entonces. En efecto, la firma cubre la identidad de la posición: cuando blunderdb repair reajusta el centinela de Crawford de una posición (y la fusiona si hace falta con su gemela), o cuando la reparación de una partida mueve sus notas a la posición corregida, los comentarios firmados que lleva ya no se verifican, aunque su texto no haya cambiado; blunderdb repair indica su número. Una firma que blunderDB no sabe leer se muestra ⚠ firma ilegible. Modificar un comentario firmado retira la firma: la frase pasa a ser suya.

Un comentario recibido de otra base conserva su procedencia: una nota que su autor había escrito retiene su posición cuando se elimina una partida, como las suyas; una observación que procedía de un archivo XG conserva su etiqueta XG y desaparece con la partida. Esto vale para una base exportada por una versión de blunderDB que ya firma los comentarios; procedente de un archivo más antiguo, un comentario lleva la etiqueta importado y desaparece con la partida. blunderdb comment list da la procedencia en su columna Origin y la firma en su columna Signed by.

Las etiquetas

Una etiqueta es una #palabra escrita en un comentario. Nada la declara, ninguna tabla la contiene, y es deliberado: el vocabulario es su propia prosa, y exigir una declaración antes de poder etiquetar convertiría un hábito en papeleo.

Lo que faltaba era la otra mitad: ver el vocabulario que uno se ha construido, y hacer clic en una etiqueta en vez de recordar cómo se escribía. El comando tags, o el botón # de la cabecera del panel, abre la ventana del vocabulario: las etiquetas de esta base, cada una con el número de posiciones que la llevan, pulsables para lanzar la búsqueda correspondiente. Bajo la lista figuran las etiquetas recomendadas que la base aún no usa — un vocabulario tomado de la literatura del backgammon (#blitz, #prime, #holding, #backgame, #containment, #crunch, #ace-point, #timing…), sugerido y nunca impuesto: una etiqueta ausente de esa lista vale exactamente lo mismo que una que figure en ella.

Al escribir, un # propone las etiquetas que esta base ya usa, y luego las recomendadas. Es lo que evita escribir #back-game un día y #backgame al siguiente, algo que nada más detectaría.

La búsqueda por etiqueta se escribe #prime en la línea de comandos. Es delimitada: #prime no encuentra #priming, mientras que una búsqueda de texto ordinaria, que busca una subcadena, no sabe distinguirlas. Varias etiquetas se acumulan — s #prime #backgame pide las posiciones que llevan ambas — porque una posición lleva varias etiquetas: nombrar dos solo puede querer decir «las dos». Es lo contrario del filtro de fase o de procedencia, donde una posición solo tiene un valor y nombrar dos valores solo puede querer decir «una u otra».

La misma lista se obtiene fuera de la interfaz con blunderdb list --type tags (véase Interfaz de línea de comandos (CLI)).

La papelera

Eliminar una posición, una colección, un comentario, una tarjeta Anki o un partido (match) pasa por una papelera: la eliminación se produce, pero una copia de lo que desaparece se conserva treinta días. El comando trash abre la ventana que los lista, cada uno con Restaurar y Eliminar, y un botón Vaciar la papelera.

Una posición restaurada vuelve con su análisis y sus comentarios — devolverla desnuda sería una restauración solo de nombre —, su marca «estudiada» y las respuestas de entrenamiento dadas sobre ella. Recupera su antiguo número; si la misma posición se ha guardado entretanto, se conserva esa, porque una posición solo existe una vez: recibe la marca, las respuestas y los comentarios que le faltan, y conserva su análisis si tiene una. Si su número lo ocupa otra, recibe uno nuevo. Una colección vuelve con su lista; las posiciones que contenía nunca se habían eliminado — una colección es una vista sobre ellas.

Un match eliminado se lleva sus partidas, sus jugadas, sus análisis y las posiciones que ya nada retiene, con las notas del archivo de origen: la papelera lo guarda todo. Restaurado, vuelve con su número y su fecha de importación originales, con sus partidas, sus jugadas y sus estadísticas, y el diario de su importación vuelve a nombrarlo; las posiciones que la eliminación había purgado vuelven como una posición restaurada, las que quedaron en la biblioteca siguen como han quedado. Recupera su lugar en su torneo; si el torneo se ha eliminado, vuelve fuera de torneo. Recupera su plaza de Dirección si aún existe, enfrenta a los mismos jugadores y está libre; si no, se queda con el director y el match vuelve sin ella. En esos casos, la barra de estado lo indica. La restauración se rechaza, y la entrada permanece en la papelera, si otro match ocupa su número, o si entretanto se ha importado un match con la misma huella de archivo; un match sin huella, introducido o jugado en blunderDB, no se compara así.

Lo que tiene más de treinta días lo elimina el comando vacuum, nunca la apertura de una base: no hacer vacuum es conservarlo todo.

Nota

La papelera no viaja: una exportación no la lleva consigo.

Panel de Búsqueda

El panel Búsqueda (CTRL-F o TAB) permite filtrar las posiciones según criterios libremente combinables: estructura de fichas, tipo de decisión de cubo, magnitud del error, fechas, etiquetas, etc. La tecla TAB abre simultáneamente el panel de búsqueda y el editor de posición, lo que permite definir una estructura de fichas que buscar directamente en el tablero.

Panel de Búsqueda

El panel Búsqueda: filtros numéricos, estructura de fichas en el tablero, pestañas Al menos / Excepto.

Los filtros se ajustan en la subpestaña Criterios. Cuando una búsqueda no encuentra nada, el panel lo indica («Ninguna posición coincide») con un botón Borrar filtros, en lugar de limitarse a la barra de estado.

Para buscar entre las posiciones mostradas, use el comando ss seguido de filtros (p. ej.: ss nc, ss E>40). ss busca en la lista en pantalla: los resultados de la búsqueda anterior, la colección abierta o las posiciones del partido en revisión, tanto si el comando se escribe directamente como desde el panel de búsqueda (TAB). La casilla Buscar en los resultados actuales del panel sigue la misma regla; la casilla Abrir en una nueva pestaña muestra los resultados en una nueva vista (véase Pestañas de vistas) en lugar de la vista actual. En una colección y en un partido, s se rechaza: buscaría en toda la biblioteca y reemplazaría la lista mostrada.

Los resultados de una búsqueda ss lanzada desde una colección o una partida se abandonan con Esc, con una sola pulsación en cuanto ni un campo ni el panel que tiene el foco tiene algo que cerrar (una jugada seleccionada en el análisis, por ejemplo): blunderDB vuelve a la colección completa, o a la partida en la jugada estudiada, y a la posición que se dejó. Esta vuelta solo sigue a ss: s, lanzada desde el panel de búsqueda abierto sobre una colección o una partida, busca en toda la biblioteca, y Esc ya no devuelve a la lista que se dejó.

Una búsqueda en una base grande se muestra antes de contarse: la primera página de resultados aparece de inmediato, y la barra de estado indica « Buscando… » con el tiempo transcurrido hasta que se conoce el total; este sustituye entonces la longitud provisional de la lista. Solo se ejecuta una búsqueda a la vez: iniciar otra abandona la anterior. Esc interrumpe la búsqueda en curso y detiene su recorrido de la base; si la primera página ya estaba mostrada, queda sola, y la barra de estado lo indica.

El panel ofrece un control explícito del tipo de decisión buscado: Indiferente (ningún filtro), Fichas (decisiones de jugada) o Cubo (decisiones de cubo). Cuando se selecciona Cubo, una segunda lista precisa el subtipo: Todos, Doblar / No doblar (el jugador con el turno debe decidir si doblar) o Aceptar / Pasar (respuesta a un doblaje del rival). El control está sincronizado con el tablero: modificar los dados o el cubo en el tablero actualiza el tipo de decisión, y viceversa. En modo Aceptar / Pasar, el cubo se muestra en el centro del tablero con el valor ofrecido; ese valor sigue siendo editable.

La fase de la partida — apertura, medio juego, carrera, retirada de fichas — es una etiqueta que blunderDB calcula únicamente a partir del tablero. Nunca es editable y se puede buscar con el token ph: de la línea de comandos (ph:race, repetible: ph:race ph:bearoff). Tres de sus cuatro fronteras son las que GNU Backgammon emplea para dirigir sus redes; la cuarta, donde termina la apertura, es una convención de blunderDB: una posición sigue en la apertura mientras ninguno de los dos bandos haya movido más de cuatro fichas de sus puntos de partida, no se haya retirado ninguna y ninguna esté en la barra.

Nota

La etiqueta la recalcula el comando blunderdb repair. En una base abierta por primera vez con esta versión, el cálculo se hace una vez, al abrirla. Una base cuyas fases nunca se han calculado no devuelve nada para ph: — nada, en lugar de una respuesta falsa.

El token like ordena en vez de restringir: su presencia clasifica el resultado por distancia creciente a una posición objetivo — like la actual, like42 la de índice 42 — y los demás tokens restringen el conjunto así ordenado, de modo que s like42 E>80 se lee «las vecinas de la 42 donde fallé». La distancia es una distancia de transporte en pips de ficha, la cantidad de movimiento de fichas que separa dos posiciones, vista del jugador que mueve.

Una vecina es el mismo problema, no el mismo dibujo: la clasificación se toma dentro de la clase del objetivo — mismo tipo de decisión, mismo régimen (dinero o partido) para una decisión de cubo, y un partido distinto del suyo, pues las posiciones que la rodean en su propia partida son sus estructuras más cercanas sin ser jamás sus vecinas. Los dados, el marcador y el cubo quedan fuera de la clase; los tokens ordinarios los filtran cuando se quiere. like42* amplía la clase a todos los tipos de decisión y a ambos regímenes, nunca al partido del objetivo; like<12 descarta lo que está a más de doce pips de ficha. Una clasificación que no encuentra nada devuelve una lista vacía y lo dice, en vez de diez posiciones sin relación.

En modo edición, s like toma por objetivo el tablero dibujado: se dibuja aproximadamente la posición que uno recuerda, se lanza, y la biblioteca responde — allí donde la búsqueda por estructura exige el dibujo exacto. El tablero se lee entonces como una posición y no como un patrón: un punto dejado vacío cuenta como fichas retiradas, lo cual es exacto para una posición real y falsea el cálculo para un dibujo dejado a medias.

Cada vecina lleva su distancia bajo las tablas de análisis, junto con la posición de la que está cerca. Es lo que permite juzgar si uno mira una vecina o una coincidencia, y es la razón de ser del límite. La clasificación se lanza también sin pasar por la línea de comandos: CTRL-MAYÚS-L, o la entrada Posiciones vecinas del menú contextual del tablero.

El token n cuenta los encuentros: n>3 conserva las posiciones encontradas al menos tres veces en la base, todas las partidas y todos los jugadores juntos. Es otra pregunta distinta de «qué he fallado» — una posición encontrada veinte veces y bien jugada diecinueve sigue siendo la que hay que saber de memoria. Se cuentan decisiones, no partidas: la misma posición dos veces en una partida cuenta por dos, porque eran dos decisiones. Combinado con un filtro de jugador, solo cuenta las apariciones de ese jugador: n>3 pl!"Alice" conserva las posiciones que Alice tuvo que jugar al menos tres veces, y pl"Alice" las de las partidas que disputó; op"Bob" restringe igualmente el recuento a las partidas contra Bob.

El plan de juego es una segunda etiqueta derivada, junto a la fase, y responde a la pregunta que un paquete de filtros guardados no sabe plantear: «muéstrame mis errores en holding game». Token gt:, repetible (gt:holding gt:mutualholding), desde el punto de vista del jugador que mueve — el plan en el que se tomaba la decisión.

Los diez planes reconocidos, en el orden en que las reglas los agotan, del más específico al más general:

  • race — las fichas más atrasadas de ambos bandos se han cruzado: ya no es posible ningún contacto. Frontera de GNU Backgammon.

  • bearin — el jugador que mueve está entrando las fichas mientras el adversario aún mantiene un ancla en su casa.

  • crunch — el jugador que mueve tiene como mucho seis fichas fuera de sus puntos 1 y 2. Regla de GNU Backgammon, umbral de su autor.

  • backgame — dos o más anclas en la casa del adversario.

  • acepoint — una sola ancla, en el punto uno del adversario, con al menos veinte pips de retraso.

  • blitz — tres o más puntos de la casa hechos, y el adversario en la barra o con una ficha suelta que golpear en esa casa.

  • primevprime — ambos bandos mantienen un bloqueo de al menos cuatro puntos, y cada uno tiene una ficha atrapada tras el del otro.

  • mutualholding — ambos bandos mantienen un ancla alta.

  • holding — el jugador que mueve mantiene un ancla alta, el adversario no.

  • contact — contacto, y ninguno de los planes anteriores. La apertura acaba aquí.

Tres de estas reglas son las de GNU Backgammon y están documentadas; las demás son convenciones de blunderDB. La literatura del backgammon describe los planes de juego sin cifrar sus fronteras, y no se ha publicado ninguna medida de acuerdo entre clasificadores para este problema. Los umbrales no documentados — tres puntos de casa para un blitz, cuatro puntos para un bloqueo, veinte pips de retraso para un ace-point game — se enuncian por tanto aquí en vez de esconderse en el código, y están versionados: cámbielos, ejecute blunderdb repair, y toda la base se reetiqueta.

Nota

Se conserva una sola etiqueta por posición, la del jugador que mueve. Una etiqueta derivada nunca es editable, nunca se exporta como verdad, y una base cuyos planes nunca se han calculado no devuelve nada para gt: — igual que para ph:.

El filtro Marcada conserva las posiciones que ha marcado en el programa de origen de la partida. Solo eXtreme Gammon produce esta información, registrada jugada a jugada en el archivo .xg; blunderDB la lee al importar y la conserva. Una decisión de cubo marcada da dos posiciones marcadas, el doblez y la aceptación/paso, ya que blunderDB divide en dos lo que el archivo de origen registra como una sola decisión.

Nota

El marcado no es retroactivo: las partidas ya presentes en la base no contienen esta información, puesto que solo existe en los archivos de origen. Basta con volver a importar el archivo .xg correspondiente — la importación detecta el duplicado y no añade nada más que las marcas, sin tocar los comentarios ni los análisis existentes. El marcado no puede ponerse ni quitarse desde blunderDB: para una lista de trabajo temporal, utilice más bien una colección.

El filtro Comentario consulta los comentarios asociados a las posiciones según tres modos exclusivos. contiene el texto busca una o varias palabras en el texto de los comentarios (campo de entrada, palabras separadas por ;, al menos una debe coincidir); tiene un comentario conserva toda posición que lleve un comentario, sea cual sea su contenido; sin comentario conserva por el contrario las posiciones no anotadas — útil, combinado con un filtro de error o de fecha, para elaborar la lista de lo que queda por comentar.

Nota

Los comentarios importados de un archivo de partida (XG, GNUbg) cuentan como comentarios. Para quedarse solo con los suyos, añada el token co:user en la línea de comandos (co:xg, co:gnubg, co:bgf y co:unknown designan las demás procedencias). Además, los comentarios asociados a una partida o a un torneo no se ven afectados: anotan la partida o el torneo, no sus posiciones.

El filtro Partidas y Torneos se apoya en un selector común (ventana modal) en lugar de la introducción de identificadores numéricos: dos listas de casillas, una para las partidas y otra para los torneos, cada una filtrable por texto (jugador, fecha, evento para las partidas; nombre, fecha, lugar para los torneos), con botones Todo / Ninguno que solo actúan sobre el subconjunto actualmente filtrado. Marcar un torneo marca automáticamente (y atenúa) sus partidas miembro en la lista de partidas, dejando patente que un torneo equivale al conjunto de sus partidas.

La banda del panel de búsqueda lleva un selector Criterios (los filtros) | Historial | Guardados — con un cuarto segmento, Asistente, cuando el asistente interno está activado — y, en Criterios, el botón Buscar en su extremo derecho. La pestaña Historial enumera las búsquedas anteriores con su fecha y su comando: un clic selecciona una búsqueda y muestra la posición asociada en el tablero, un doble clic la vuelve a ejecutar. Cada entrada puede guardarse en la biblioteca de filtros (icono de marcador, dándole un nombre al filtro) o eliminarse. La pestaña Guardados contiene la biblioteca de filtros: hacer doble clic en un filtro guardado para relanzar la búsqueda correspondiente (véase Anexo: Uso avanzado de los filtros). El comando history (alias hi) abre el panel de búsqueda.

La estrella de un filtro de la biblioteca lo fija. Los filtros fijados aparecen como etiquetas en la parte superior del panel, sea cual sea la pestaña abierta, numeradas en el orden de la biblioteca: un clic en una etiqueta lanza el filtro, y ALT-1 … ALT-9 lanzan el filtro fijado de ese rango desde cualquier pantalla en modo NORMAL o EDIT, sin abrir el panel. El filtro plantea entonces la misma pregunta que con el doble clic, estructura de fichas incluida. La fijación pertenece a la base: sigue al filtro renombrado, desaparece con el filtro eliminado y no viaja con la exportación de la biblioteca.

Una búsqueda relanzada conserva su clasificación: s like42 clasifica respecto a la posición 42, y s like respecto al tablero guardado con la búsqueda — el que se estaba consultando o dibujando. Una entrada que no guardó tablero no se relanza contra el de la pantalla, y la barra de estado lo indica.

Truco

Consulte la lista de comandos para ver la lista de filtros disponibles.

Panel de Colecciones

Panel de Colecciones

El panel Colecciones: nombre, número de posiciones, descripción, última modificación.

En los paneles Colecciones, Torneos, Anki y Transcripción, el botón + de la cabecera, seguido del nombre de lo que crea (+ Nueva colección, + Nuevo torneo, + Nuevo mazo, + Nueva transcripción), es el único gesto de creación: abre el campo de entrada, que Esc o Cancelar cierra en los paneles Colecciones y Torneos. En la lista de partidos, el icono ⌨ abre la transcripción del partido y el icono ✎ corrige sus metadatos.

El panel Colecciones (CTRL-B) permite gestionar colecciones de posiciones. Las colecciones pueden crearse, renombrarse y eliminarse. Se les pueden añadir o quitar posiciones (tecla Supr, se pide confirmación). Haga doble clic en una colección para recorrer sus posiciones con las teclas IZQUIERDA y DERECHA. El comando ss busca entre las posiciones de la colección abierta; Esc vuelve después a la colección (véase Panel de Búsqueda). El orden de las colecciones y de las posiciones dentro de una colección puede cambiarse arrastrando y soltando. Pulse CTRL-B o ejecute el comando collection para mostrar u ocultar el panel.

En la cabecera de una colección abierta, el número de posiciones es un enlace que las vuelve a poner en el recorrido, desde la primera; la casilla en esta colección añade o quita la posición mostrada. Una lista vacía propone + Nueva colección.

La Pila es la colección del gesto «revisar más tarde»: un doble clic fuera del tablero, la tecla b o el botón de marcador de la barra de herramientas pone la posición mostrada en la Pila, y el mismo gesto la retira. Un marcador en la esquina del tablero indica que la posición está en ella, sin otro mensaje. El gesto vale en todas partes donde se muestra una posición: revisión, búsqueda, edición, Eval, Transcripción, cuestionario, Duelo. La vuelta a cero del tablero pasa por el menú del clic derecho (véase menú del tablero). La Pila es una colección ordinaria — renombrada, reordenada, exportada, vaciada como cualquier otra; se crea en el primer uso y se vuelve a crear si se ha eliminado. Una posición que aún no está en la biblioteca (un borrador del tablero de búsqueda o de evaluación) se escribe allí al instante, como una posición aportada sola, y luego se pone en la Pila. La línea de comandos hace el mismo gesto con collection pile.

Una colección puede estar viva: su contenido ya no es una lista hecha a mano sino el resultado de una búsqueda, reevaluado cada vez que se abre. El botón ◇ en la cabecera de la colección la hace viva con la última búsqueda lanzada; ◈ indica que ya lo está, y el mismo botón le devuelve su lista. Nada se destruye al hacerla viva: las posiciones que contenía siguen ahí al volver atrás.

El botón ❄, visible en una colección viva, la congela: las posiciones que la búsqueda selecciona en ese instante pasan a ser el contenido de una colección ordinaria, en el orden de la búsqueda, y la consulta se borra. Las posiciones que contenía antes de ser viva se sustituyen.

Una colección viva cuya consulta lleva un token que esta versión ya no conoce se niega a abrirse y lo dice, en vez de devolver toda la base. Es el único fallo que un filtro guardado no debe tener: ensancharse en silencio.

Una colección viva sigue viva en una exportación de la base: su consulta viaja con ella y se reevalúa, en el destinatario, sobre las posiciones del archivo. Cuando la exportación lleva las posiciones de las colecciones, lleva las que la consulta selecciona en el momento de la exportación, hasta el tope de 5000 posiciones. Una consulta que designa posiciones, partidas o torneos por su número se reescribe con los números del archivo; si alguno queda fuera del archivo, la colección se exporta congelada, con las posiciones que la consulta selecciona en el momento de la exportación.

Un mazo de repetición espaciada basado en una colección viva reproduce su consulta cada vez que se abre una sesión: las posiciones que la búsqueda selecciona desde la última vez entran en él, y las tarjetas que ya estaban conservan su planificación. Una evaluación está acotada por un tope de 5.000 posiciones; cuando la consulta selecciona más, solo las primeras, en el orden de la búsqueda, alimentan el mazo, y la barra de estado lo indica junto con el número real de posiciones seleccionadas.

El botón Proponer… del encabezado abre las posiciones de referencia: una lista corta de posiciones para estudiar, elegida entre sus errores para que cada una resuma muchos. Estudiar los diez peores errores suele dar diez variantes de un mismo problema, o posiciones singulares que no enseñan nada sobre las demás; una posición de referencia está en el centro de varios de sus errores, de estructura parecida, y su lección sirve para todos.

  • Los errores son los del plan de estudio: cifrados en MWC y ordenados por familia (plan de juego, naturaleza, tema). Dos errores de una familia son vecinos a lo sumo a 12 pasos de ficha de distancia like; un error de cubo solo tiene como vecinos los del mismo marcador.

  • Cada posición vale el MWC recuperable (pérdida menos dificultad) de sus vecinas y de ella misma: lo que aportaría su lección si sirviera para todas. Una lección ajustada (la segunda opción cuesta menos de medio error) o un veredicto inestable (otra profundidad o un rollout dice otra cosa) cuenta por la mitad; se señala un rollout que lo confirma. La cifra al principio de cada línea es el MWC cubierto; el motivo da la cifra contada cuando la lección cuenta por la mitad.

  • La lista es variada: una posición elegida cubre a sus vecinas, que ya no aportan nada a las siguientes, y ninguna posición propuesta es un casi-duplicado de otra. Una posición ya tratada — comentada, en una colección, una tarjeta de Anki o marcada como «estudiada» — nunca se propone, y sus vecinas se consideran cubiertas.

El alcance es toda la base de datos, la partida en curso, un torneo o el filtro del panel Estadísticas; el jugador es el de ese filtro. El tamaño es de 10, 20 o 50 posiciones. Cada línea indica su familia, su marcador si se trata del cubo, el MWC que cubre y su motivo: cuántos errores y partidas resume, el tamaño de su familia entre sus decisiones, su propio recuperable, la diferencia con la segunda opción. Hacer clic en una línea abre la posición; las casillas marcadas se convierten con un clic en una colección, un mazo de Anki o un quiz. En línea de comandos: blunderdb collection suggest (véase collection — Gestionar las colecciones).

Lecciones

Una lección es una secuencia de pasos que un entrenador escribe una sola vez para un alumno y le entrega en un archivo de base (véase el comando lesson export de Interfaz de línea de comandos (CLI)). Cada paso tiene un título, un texto y puede mostrar una colección, una posición, ambas o ninguna. El comando le lista las lecciones de la base en la barra de estado; le 2 abre la lección 2; le edit abre el editor de lecciones.

Aparece entonces una barra de lectura encima del tablero: nombre de la lección, número del paso, título y luego el texto. Anterior y Siguiente cambian de paso; el paso lleva al tablero la colección o la posición que muestra, que se recorre después con los gestos habituales. Cerrar sale de la lección. Un paso cuya colección o posición se ha eliminado conserva su texto.

La casilla Paso hecho de la barra marca el paso actual como hecho; un segundo clic quita la marca, y la barra cuenta los pasos hechos. Es el único gesto que escribe algo: leer una lección, cambiar de paso o abrirla no registra nada, ni el paso alcanzado ni la apertura. La marca se escribe en la base abierta, la del alumno, y ninguna exportación la incluye. Importar un archivo que contiene una lección la crea; una lección del mismo nombre ya presente no se toca.

El editor de lecciones se abre con le edit (le edit 2 sobre la lección 2) o con el botón Editar de la barra de lectura. A la izquierda, la lista de lecciones y un campo para crear una; a la derecha, el nombre y la descripción de la lección elegida, luego sus pasos. Cada paso tiene un título, un texto, una colección elegida en la lista y una posición: Posición actual le adjunta la posición mostrada en el tablero, Quitar la posición se la retira. Guardar el paso escribe sus cambios; las flechas lo desplazan un lugar; Añadir un paso añade uno al final. Leer cierra el editor y abre la lección en su primer paso; Exportar como página web guarda la lección en un único archivo HTML autónomo (título, descripción, cada paso con su texto y su tablero, el análisis guardado de cada posición plegado como la respuesta de un cuestionario, el origen de la marca de agua al pie), listo para publicar tal cual: no contiene ningún script ni hace ninguna llamada de red; Eliminar borra la lección y sus pasos, sin tocar las colecciones ni las posiciones que mostraban. Las lecciones también se crean y se modifican por la línea de comandos o por la API (Las lecciones).

Una copia de seguridad —la exportación de toda la biblioteca desde la ventana de exportación o por la línea de comandos— se lleva todas las lecciones. En la ventana de exportación, la fila Lecciones las elige una a una: cada lección marcada sale con las colecciones y las posiciones que muestran sus pasos, y el archivo puede llevar marca de agua o protegerse con contraseña (.dbx) como cualquier exportación. Sin esta casilla, una exportación parcial (una selección de posiciones, de colecciones o de partidas) no se lleva las lecciones.