Analisi, commenti e ricerca
Pannello Analisi
Il pannello Analisi (CTRL-L) visualizza i dati di analisi della posizione corrente importati da eXtreme Gammon (XG), GNUbg, BGBlitz o gammonNet. Mostra le migliori alternative (mosse di pedine o decisioni di cubo) con i relativi valori di equity e gli errori corrispondenti. Il tasto d alterna tra l’analisi delle mosse di pedine e l’analisi del cubo. Durante la navigazione in un match, la mossa effettivamente giocata viene evidenziata nell’elenco delle alternative. Premere CTRL-L o eseguire il comando list per mostrare o nascondere il pannello.
Una posizione senza analisi lo indica, con un pulsante Valuta che la apre nel pannello Eval.
Il pulsante Sfida della barra degli strumenti, posto dopo quello del pipcount (tasto m), serve a pronunciarsi prima di vedere l’analisi scorrendo le posizioni: risultati di una ricerca, revisione di un match, ripasso dei propri errori. Attivo, copre con una zona grigia tutta l’analisi del pannello, pedine e cubo; un clic sulla zona la rivela. Torna a ogni cambio di posizione. La sfida è una maschera di visualizzazione: rivelare non registra nulla nel database. L’impostazione resta fino alla chiusura di blunderDB, come quella del pipcount. Nella revisione di un match, la sfida nasconde anche i segni, le perdite e la difficoltà dell’elenco delle mosse; quelli della mossa mostrata si rivelano con la sua analisi.
Sotto le tabelle, una frase dice a volte quanto è costata la decisione giocata e perché: «Perdi 120 mp: la mossa giocata lascia tre pedine scoperte dove 13/7 8/7 ne lascia solo una.» Viene da sei regole misurabili — l’esposizione, un punto di casa fatto o mancato, le probabilità di gammon abbandonate, una sicurezza che costa più di quanto renda, e i due sensi di un errore di cubo (raddoppiare troppo tardi o troppo presto, prendere troppo largo o passare troppo stretto).
La regola che conta è quella del silenzio: la frase compare solo se una regola si applica con sicurezza, e su un errore oltre la soglia da cui i motori concordano che lo sia. Il resto del tempo non c’è frase — né cornice vuota, né «non lo sappiamo». Una spiegazione sbagliata costa più di nessuna spiegazione: insegna qualcosa di inesatto.
La stessa frase accompagna l’errore dove lo avete appena commesso: sul retro di una carta Anki, sotto l’analisi rivelata, e nel verdetto del quiz dell’esercizio Decisione, sotto il costo in mp. Valgono le stesse regole di silenzio: una mossa giusta, o un errore che nessuna regola spiega, non aggiunge nulla.
Quando una posizione è stata giudicata da più motori, una fascia in testa al pannello li mette fianco a fianco: una riga per motore, con la sua profondità e la sua risposta — il verdetto del cubo, o la sua propria mossa migliore. Dice anzitutto se concordano, ed è il disaccordo a giustificarla: «XG dice raddoppio, presa; gammonNet dice niente raddoppio» si legge a colpo d’occhio, là dove bisognava confrontare due tabelle in diagonale.
La mossa migliore di un motore è la migliore di quel motore: l’elenco delle mosse candidate è ordinato per equità, con tutti i motori mescolati, quindi il suo primo elemento non è la mossa migliore di nessuno in particolare.
La fascia appare solo se ci sono davvero più motori, ed esiste unicamente in questo pannello: il pannello Eval presenta una decisione, quella del motore integrato (ADR-0017), e un confronto non vi avrebbe posto.
Le mosse sono scritte come si leggono sul tavoliere, qui come nel pannello Eval: la pedina meno avanzata si muove per prima, e una pedina che concatena più dadi si scrive una sola volta — un 64 giocato con la stessa pedina si legge 24/14, e 24/14* se colpisce all’arrivo. Il dettaglio della concatenazione ricompare solo quando dice qualcosa in più: un colpo lungo il percorso conserva il suo punto di passaggio, 24/18* 18/14, senza il quale il colpo sul 18 sparirebbe dalla notazione.
L’equità di un’analisi importata segue la stessa regola del pannello Eval: la colonna indica il proprio referenziale, «Equity (money)» o «Equity (match)» a seconda del punteggio della posizione analizzata, mai un semplice «Equity» muto sulla scala. Le regole Jacoby e Beaver attive su una posizione money game vengono mostrate anch’esse, in badge sotto la tabella di decisione del cubo.
Rollout
Il pannello Analisi sa rollare una posizione: giocare centinaia di partite a partire da ogni mossa scelta, o da ogni azione del cubo, per distinguere due scelte che la valutazione diretta separa a malapena. Nella tabella delle mosse candidate, Ctrl+clic aggiunge o toglie una mossa dalla selezione e Maiusc+clic la estende fino alla mossa cliccata; il clic semplice seleziona una sola mossa, come d’abitudine. Un clic destro sulla selezione — o su un’altra mossa, che diventa la selezione — apre un menu la cui voce Rollout (Standard) avvia subito il rollout delle mosse selezionate con l’impostazione scelta. Su una decisione di cubo, il clic destro rolla l’intera decisione. Il tasto Maiusc+R del pannello fa lo stesso (senza selezione, rolla le migliori candidate della posizione), come il comando rollout (alias ro). Durante il rollout, una barra sottile sotto la tabella segue le partite giocate; Annulla, la voce Annulla il rollout del menu, Esc o ancora Maiusc+R lo fermano senza scrivere nulla. L’impostazione — Veloce, Standard o Libera — si sceglie nella scheda gammonNet della configurazione (vedi configurazione).
Lo stesso menu propone Copia la posizione e l’analisi, l’immagine che copia CTRL-X CTRL-X: la tavola e l’inizio dell’elenco delle mosse, oppure l’intera analisi del cubo. Non appena una mossa è selezionata, si aggiunge una seconda voce, Copia la posizione e le mosse selezionate: l’immagine conserva solo quelle mosse, nell’ordine della classifica, ciascuna preceduta dal suo rango fra tutti i candidati e con il suo scarto dalla migliore mossa della posizione, non dalla migliore della selezione. Su una decisione di cubo compare solo la prima. Le celle delle tabelle di analisi non si selezionano come testo: i clic di selezione non vi lasciano evidenziazioni.
Il risultato è memorizzato accanto all’analisi, mai al suo posto: un’analisi importata non viene modificata. Ogni mossa rollata porta il suo risultato nella propria riga della tabella, in una colonna Rollout che compare solo quando la posizione ha un rollout: l’equità e la semiampiezza del suo intervallo di confidenza al 95 %, sulla scala della colonna dell’equità. Passare il cursore sulla cella dà il dettaglio: la deviazione standard, la JSD (la distanza dalla mossa migliore in deviazioni standard della differenza: dal limite in poi, la mossa è decisa e non viene più giocata), il numero di partite e la Configurazione — il motore e la firma completa dei parametri: due rollout con la stessa firma sono gli stessi numeri. Il rollout si ferma non appena le mosse sono distinte. Il rollout di una decisione di cubo, che non ha una riga di mossa, viene mostrato come tabella sotto la decisione. Un rollout gioca il cubo nelle sue partite: la classifica è affidabile, l’equità assoluta un po” meno, come ricorda il blocco. Non gioca il beaver: la sua riga raddoppio, presa è quella di una semplice presa, anche su una posizione money con la regola Beaver, dove l’analisi diretta conta il beaver. Una posizione che non è nel database si può rollare, ma non viene memorizzata.
Il comando ro search rolla, una dopo l’altra, le posizioni della lista mostrata — risultati di ricerca, partita o collezione — che non portano ancora questo rollout; una conferma indica il totale prima di iniziare. Ogni posizione viene scritta appena finita: annullare conserva quanto è fatto, e rilanciare riprende da dove ci si era fermati. L’avanzamento sopravvive alla chiusura del pannello.
Un database aperto in sola lettura, perché un’altra istanza di blunderDB lo detiene, rifiuta subito un rollout che verrebbe memorizzato: un messaggio lo dice prima che sia giocata la prima partita.
Pannello Commenti
Il pannello Commenti (CTRL-P) mostra, aggiunge e modifica i commenti associati alla posizione corrente. Una posizione può averne diversi, scritti da persone diverse: sono tutti mostrati in un thread, dal più recente al più vecchio, ciascuno con il nome del suo autore, e i vostri vengono per primi. I commenti importati dai file XG sono associati automaticamente alle posizioni corrispondenti. Premere CTRL-P o eseguire il comando comment per mostrare o nascondere il pannello.
Il nome attribuito ai vostri commenti si imposta nelle preferenze, scheda Interfaccia, campo Il vostro nome; se è vuoto, i vostri commenti non hanno autore. I commenti di un’importazione XG sono attribuiti a XG, quelli di un file di partita al suo trascrittore. Riscrivere un commento lo attribuisce a voi. La ricerca au"Alice" mantiene le posizioni che Alice ha commentato; fuori dall’interfaccia, blunderdb comment add --author scrive un commento attribuito a quell’autore e blunderdb comment list li rilegge (vedi Interfaccia a riga di comando (CLI)). Questo nome è testo libero: non attesta nulla, a differenza della firma descritta più sotto.
Ogni commento proveniente da un file porta un”etichetta di provenienza (XG, GNU BG, BGF, oppure importato quando la provenienza non è mai stata registrata). I commenti che hai scritto non ne portano: è il caso normale, e segnalarlo a ogni riga sarebbe rumore. Modificare un commento importato te lo attribuisce: dopo la modifica, la frase è la tua.
Questa distinzione si vede altrove: cancellare una partita non distrugge più una posizione su cui tu avevi scritto. Una nota ripresa dal file di origine, invece, sparisce con la partita che l’ha portata.
Un commento ricevuto in un database esportato con un contrassegno di origine porta la firma del suo emittente: il thread mostra «commento di emittente» seguito dall’impronta della sua chiave, preceduto da ✓. Due persone possono avere lo stesso nome, non la stessa impronta: confrontatela con quella che l’emittente vi ha comunicato.
Un commento che non corrisponde più a quanto è stato firmato viene conservato ma contrassegnato ⚠ non verificato: testo o autore modificato nel file, commento spostato su un’altra posizione, o posizione la cui identità è stata corretta nel frattempo. La firma copre infatti l’identità della posizione: quando blunderdb repair riallinea la sentinella di Crawford di una posizione (e la fonde se necessario con la sua gemella), o quando la riparazione di una partita sposta le vostre note sulla posizione corretta, i commenti firmati che essa porta non si verificano più, benché il loro testo non sia cambiato; blunderdb repair ne indica il numero. Una firma che blunderDB non sa leggere viene mostrata ⚠ firma illeggibile. Modificare un commento firmato ne toglie la firma: la frase è allora vostra.
Un commento ricevuto da un altro database conserva la sua provenienza: una nota scritta dal suo autore trattiene la sua posizione quando una partita viene eliminata, come le vostre; un’osservazione proveniente da un file XG conserva l’etichetta XG e scompare con la partita. Questo vale per un database esportato da una versione di blunderDB che firma già i commenti; proveniente da un file più vecchio, un commento porta l’etichetta importato e scompare con la partita. blunderdb comment list dà la provenienza nella colonna Origin e la firma nella colonna Signed by.
Il cestino
Eliminare una posizione, una collezione, un commento, una carta Anki o un match passa da un cestino: l’eliminazione avviene davvero, ma una copia di ciò che sparisce è conservata trenta giorni. Il comando trash apre la finestra che li elenca, ciascuno con Ripristina ed Elimina, e un pulsante Svuota il cestino.
Una posizione ripristinata torna con la sua analisi e i suoi commenti — restituirla nuda sarebbe un ripristino solo di nome —, il suo segno «studiata» e le risposte di allenamento date su di essa. Riprende il suo vecchio numero; se nel frattempo la stessa posizione è stata salvata, si tiene quella, perché una posizione esiste una sola volta: riceve il segno, le risposte e i commenti che le mancano, e tiene la sua analisi se ne ha una. Se il suo numero è preso da un’altra, ne riceve uno nuovo. Una collezione torna con la sua lista; le posizioni che conteneva non erano mai state eliminate — una collezione è una vista su di esse.
Un match eliminato porta con sé le sue partite, le sue mosse, le loro analisi e le posizioni che nient’altro trattiene, con le note del file di origine: il cestino conserva tutto questo. Ripristinato, torna con il suo numero e la sua data di importazione originali, con le sue partite, le sue mosse e le sue statistiche, e il registro della sua importazione lo nomina di nuovo; le posizioni che l’eliminazione aveva rimosso tornano come una posizione ripristinata, quelle rimaste nella libreria restano come sono diventate. Riprende il suo posto nel torneo; se il torneo è stato eliminato, torna fuori torneo. Riprende il suo posto nella Direzione se esiste ancora, oppone gli stessi giocatori ed è libero; altrimenti resta al direttore e il match torna senza. In questi casi, la barra di stato lo segnala. Il ripristino è rifiutato, e la voce resta nel cestino, se un altro match occupa il suo numero, o se nel frattempo è stato importato un match con la stessa impronta di file; un match senza impronta, inserito o giocato in blunderDB, non viene confrontato così.
Ciò che ha più di trenta giorni viene eliminato dal comando vacuum, mai dall’apertura di una base: non fare vacuum è tenere tutto.
Nota
Il cestino non viaggia: un’esportazione non lo porta con sé.
Pannello Ricerca
Il pannello Ricerca (CTRL-F o TAB) permette di filtrare le posizioni secondo criteri liberamente combinabili: struttura delle pedine, tipo di decisione di cubo, magnitudo dell’errore, date, tag, ecc. Il tasto TAB apre contemporaneamente il pannello di ricerca e l’editor di posizione, consentendo di definire una struttura di pedine da cercare direttamente sul board.
Il pannello Ricerca: filtri numerici, struttura di pedine sul tabellone, schede Almeno / Tranne.
I filtri si impostano nella sottoscheda Criteri. Quando una ricerca non trova nulla, il pannello lo indica («Nessuna posizione corrisponde») con un pulsante Cancella i filtri, senza limitarsi alla barra di stato.
Per cercare tra le posizioni visualizzate, usare il comando ss seguito da filtri (es.: ss nc, ss E>40). ss cerca nell’elenco sullo schermo: i risultati della ricerca precedente, la collezione aperta o le posizioni del match in revisione, sia che il comando venga digitato direttamente sia dal pannello di ricerca (TAB). La casella Cerca nei risultati attuali del pannello segue la stessa regola; la casella Apri in una nuova scheda mostra i risultati in una nuova vista (vedi Schede delle viste) anziché nella vista corrente. In una collezione e in un match, s è rifiutato: cercherebbe in tutta la libreria e sostituirebbe l’elenco visualizzato.
Dai risultati di una ricerca ss avviata da una collezione o da un match si esce con Esc, con una sola pressione non appena né un campo né il pannello che ha il focus ha qualcosa da chiudere (una mossa selezionata nell’analisi, per esempio): blunderDB torna alla collezione intera, o al match sulla mossa studiata, e alla posizione lasciata. Questo ritorno segue solo ss: s, avviato dal pannello di ricerca aperto su una collezione o un match, cerca in tutta la libreria, e Esc non riporta più all’elenco lasciato.
Una ricerca su un database grande viene mostrata prima di essere contata: la prima pagina di risultati compare subito, e la barra di stato indica « Ricerca… » con il tempo trascorso finché il totale non è noto; questo sostituisce allora la lunghezza provvisoria dell’elenco. Una sola ricerca alla volta è in corso: avviarne un’altra abbandona la precedente. Esc interrompe la ricerca in corso e ferma la sua scansione del database; se la prima pagina era già visualizzata, resta da sola, e la barra di stato lo dice.
Il pannello offre un controllo esplicito del tipo di decisione ricercato: Indifferente (nessun filtro), Pedine (decisioni di mossa) o Cubo (decisioni di cubo). Quando è selezionato Cubo, un secondo elenco precisa il sotto-tipo: Tutti, Raddoppio / No raddoppio (il giocatore di turno deve decidere se raddoppiare) o Accetta / Passa (risposta a un raddoppio avversario). Il controllo è sincronizzato con il board: modificare i dadi o il cubo sul board aggiorna il tipo di decisione, e viceversa. In modalità Accetta / Passa, il cubo è mostrato al centro del board al valore offerto; tale valore resta modificabile.
La fase di gioco — apertura, mediogioco, corsa, uscita delle pedine — è un’etichetta che blunderDB calcola dalla sola tavola. Non è mai modificabile ed è cercabile tramite il token ph: della riga di comando (ph:race, ripetibile: ph:race ph:bearoff). Tre delle sue quattro frontiere sono quelle che GNU Backgammon usa per indirizzare le sue reti; la quarta, dove finisce l’apertura, è una convenzione di blunderDB: una posizione è ancora in apertura finché nessuno dei due campi ha mosso più di quattro pedine dai propri punti di partenza, nessuna è uscita e nessuna è sulla barra.
Nota
L’etichetta viene ricalcolata dal comando blunderdb repair. Su una base aperta per la prima volta con questa versione, il calcolo avviene una volta, all’apertura. Una base le cui fasi non sono mai state calcolate non restituisce nulla per ph: — nulla, piuttosto che una risposta sbagliata.
Il token like ordina invece di restringere: la sua presenza dispone il risultato per distanza crescente da una posizione bersaglio — like quella corrente, like42 quella di indice 42 — e gli altri token restringono l’insieme così ordinato, tanto che s like42 E>80 si legge «le vicine della 42 dove ho sbagliato». La distanza è una distanza di trasporto in pip di pedina, la quantità di movimento di pedine che separa due posizioni, vista dal giocatore di turno.
Una vicina è lo stesso problema, non lo stesso disegno: l’ordinamento si prende dentro la classe del bersaglio — stesso tipo di decisione, stesso regime (soldi o incontro) per una decisione di cubo, e un incontro diverso dal suo, perché le posizioni che la circondano nella sua stessa partita sono le sue strutture più vicine senza esserne mai le vicine. Dadi, punteggio e cubo restano fuori classe; i token ordinari li filtrano quando lo si vuole. like42* allarga la classe a tutti i tipi di decisione e a entrambi i regimi, mai all’incontro del bersaglio; like<12 scarta ciò che dista più di dodici pip di pedina. Un ordinamento che non trova nulla rende una lista vuota e lo dice, invece di dieci posizioni senza rapporto.
In modo modifica, s like prende per bersaglio la dama disegnata: si disegna all’incirca la posizione di cui ci si ricorda, si lancia, e la biblioteca risponde — là dove la ricerca per struttura esige il disegno esatto. La dama è allora letta come una posizione e non come un motivo: un punto lasciato vuoto conta come pedine fuori, il che è esatto per una posizione reale e falsa il calcolo per un disegno lasciato a metà.
Ogni vicina porta la sua distanza sotto le tabelle di analisi, insieme alla posizione di cui è vicina. È questo che permette di giudicare se si guarda una vicina o una coincidenza, ed è la ragion d’essere del limite. L’ordinamento si lancia anche senza passare dalla riga di comando: CTRL-MAIUSC-L, oppure la voce Posizioni vicine del menu contestuale della dama.
Il token n conta gli incontri: n>3 mantiene le posizioni incontrate almeno tre volte nella base, tutte le partite e tutti i giocatori insieme. È una domanda diversa da «cosa ho sbagliato» — una posizione incontrata venti volte e ben giocata diciannove resta quella da sapere a memoria. Si contano decisioni, non partite: la stessa posizione due volte in una partita vale per due, perché erano due decisioni. Combinato con un filtro giocatore, conta solo le occorrenze di quel giocatore: n>3 pl!"Alice" mantiene le posizioni che Alice ha dovuto giocare almeno tre volte, e pl"Alice" quelle delle partite che ha disputato; op"Bob" limita allo stesso modo il conteggio alle partite contro Bob.
Il piano di gioco è una seconda etichetta derivata, accanto alla fase, e risponde alla domanda che un pacchetto di filtri salvati non sa porre: «mostrami i miei errori in holding game». Token gt:, ripetibile (gt:holding gt:mutualholding), dal punto di vista del giocatore di turno — il piano in cui la decisione veniva presa.
I dieci piani riconosciuti, nell’ordine in cui le regole li esauriscono, dal più specifico al più generale:
race— le pedine più arretrate dei due schieramenti si sono incrociate: nessun contatto è più possibile. Frontiera di GNU Backgammon.bearin— il giocatore di turno rientra le pedine mentre l’avversario tiene ancora un’ancora nella sua casa.crunch— il giocatore di turno ha al più sei pedine fuori dai suoi punti 1 e 2. Regola di GNU Backgammon, soglia del suo autore.backgame— due o più ancore nella casa avversaria.acepoint— una sola ancora, sul punto uno avversario, con almeno venti pip di ritardo.blitz— tre o più punti di casa fatti, e l’avversario alla barra o con una pedina scoperta da colpire in quella casa.primevprime— entrambi tengono un blocco di almeno quattro punti, e ciascuno ha una pedina intrappolata dietro quello dell’altro.mutualholding— entrambi tengono un’ancora alta.holding— il giocatore di turno tiene un’ancora alta, l’avversario no.contact— contatto, e nessuno dei piani sopra. L’apertura finisce qui.
Tre di queste regole sono quelle di GNU Backgammon e sono documentate; le altre sono convenzioni di blunderDB. La letteratura del backgammon descrive i piani di gioco senza quantificarne le frontiere, e nessuna misura di accordo tra classificatori è pubblicata per questo problema. Le soglie non documentate — tre punti di casa per un blitz, quattro punti per un blocco, venti pip di ritardo per un ace-point game — sono quindi enunciate qui invece di restare nascoste nel codice, e sono versionate: cambiarle ed eseguire blunderdb repair rietichetta l’intera base.
Nota
Una sola etichetta è conservata per posizione, quella del giocatore di turno. Un’etichetta derivata non è mai modificabile, mai esportata come verità, e una base i cui piani non sono mai stati calcolati non restituisce nulla per gt: — come per ph:.
Il filtro Contrassegnata conserva le posizioni che avete contrassegnato nel software di origine della partita. Solo eXtreme Gammon produce questa informazione, registrata mossa per mossa nel file .xg; blunderDB la legge all’importazione e la conserva. Una decisione di cubo contrassegnata dà due posizioni contrassegnate, il raddoppio e l’accetta/passa, poiché blunderDB divide in due ciò che il file di origine registra come una sola decisione.
Nota
La marcatura non è retroattiva: le partite già presenti nel database non contengono questa informazione, poiché esiste solo nei file di origine. È sufficiente reimportare il file .xg interessato — l’importazione rileva il duplicato e non aggiunge altro che i contrassegni, senza toccare i commenti né le analisi esistenti. Il contrassegno non può essere né posto né rimosso da blunderDB: per un elenco di lavoro temporaneo, utilizzate piuttosto una collezione.
Il filtro Commento interroga i commenti associati alle posizioni secondo tre modalità esclusive. contiene il testo cerca una o più parole nel testo dei commenti (campo di immissione, parole separate da ;, almeno una deve corrispondere); ha un commento conserva ogni posizione che porti un commento, qualunque sia il suo contenuto; senza commento conserva al contrario le posizioni non annotate — utile, combinato con un filtro di errore o di data, per stilare l’elenco di ciò che resta da commentare.
Nota
I commenti importati da un file di partita (XG, GNUbg) contano come commenti. Per tenere solo i tuoi, aggiungi il token co:user sulla riga di comando (co:xg, co:gnubg, co:bgf e co:unknown designano le altre provenienze). Del resto, i commenti associati a una partita o a un torneo non sono interessati: annotano la partita o il torneo, non le sue posizioni.
Il filtro Match & Tornei si basa su un selettore comune (finestra modale) anziché sull’inserimento di identificativi numerici: due elenchi con caselle di spunta, uno per i match e uno per i tornei, ciascuno filtrabile per testo (giocatore, data, evento per i match; nome, data, luogo per i tornei), con pulsanti Tutti / Nessuno che agiscono solo sul sottoinsieme attualmente filtrato. Selezionare un torneo seleziona automaticamente (e disabilita, mostrandoli in grigio) i match che ne fanno parte nell’elenco dei match, rendendo visibile il fatto che un torneo equivale all’insieme dei suoi match.
La banda del pannello di ricerca reca un selettore Criteri (i filtri) | Cronologia | Salvati — con un quarto segmento, Assistente, quando l’assistente interno è attivato — e, su Criteri, il pulsante Cerca alla sua estremità destra. La scheda Cronologia elenca le ricerche passate con la loro data e il loro comando: un clic seleziona una ricerca e mostra la posizione associata sul tavoliere, un doppio clic la riesegue. Ogni voce può essere salvata nella libreria dei filtri (icona segnalibro, dando un nome al filtro) o eliminata. La scheda Salvati contiene la libreria dei filtri: fare doppio clic su un filtro salvato per rilanciare la ricerca corrispondente (vedi Appendice: Utilizzo avanzato dei filtri). Il comando history (alias hi) apre il pannello di ricerca.
La stella di un filtro della libreria lo fissa. I filtri fissati compaiono come etichette in cima al pannello, qualunque scheda sia aperta, numerati nell’ordine della libreria: un clic su un’etichetta lancia il filtro, e ALT-1 … ALT-9 lanciano il filtro fissato di quel rango da qualsiasi schermata in modalità NORMAL o EDIT, senza aprire il pannello. Il filtro pone allora la stessa domanda del doppio clic, struttura delle pedine compresa. La fissazione appartiene al database: segue il filtro rinominato, scompare con il filtro eliminato e non viaggia con l’esportazione della libreria.
Una ricerca rilanciata conserva la sua classifica: s like42 classifica rispetto alla posizione 42, e s like rispetto alla tavola salvata con la ricerca — quella che si stava consultando o disegnando. Una voce che non ha conservato la tavola non viene rilanciata contro quella sullo schermo, e la barra di stato lo segnala.
Suggerimento
Fare riferimento a elenco dei comandi per l’elenco dei filtri disponibili.
Pannello Raccolte
Il pannello Collezioni: nome, numero di posizioni, descrizione, ultima modifica.
Nei pannelli Collezioni, Tornei, Anki e Trascrizione, il pulsante + dell’intestazione, seguito dal nome di ciò che crea (+ Nuova collezione, + Nuovo torneo, + Nuovo mazzo, + Nuova trascrizione), è l’unico gesto di creazione: apre il campo di inserimento, che Esc o Annulla chiude nei pannelli Collezioni e Tornei. Nell’elenco dei match, l’icona ⌨ apre la trascrizione del match e l’icona ✎ ne corregge i metadati.
Il pannello Collezioni (CTRL-B) consente di gestire collezioni di posizioni. Le collezioni possono essere create, rinominate ed eliminate. Vi si possono aggiungere o togliere posizioni (tasto Canc, viene chiesta conferma). Fare doppio clic su una collezione per scorrerne le posizioni con i tasti SINISTRA e DESTRA. Il comando ss cerca tra le posizioni della collezione aperta; Esc riporta poi alla collezione (vedere Pannello Ricerca). L’ordine delle collezioni e delle posizioni all’interno di una collezione può essere modificato per trascinamento. Premere CTRL-B o eseguire il comando collection per mostrare o nascondere il pannello.
Nell’intestazione di una collezione aperta, il numero di posizioni è un link che le rimette nello scorrimento, dalla prima; la casella in questa collezione aggiunge o toglie la posizione mostrata. Un elenco vuoto propone + Nuova collezione.
La Pila è la raccolta del gesto «rivedere più tardi»: un doppio clic fuori dalla scacchiera, il tasto b o il pulsante segnalibro della barra degli strumenti mette la posizione mostrata sulla Pila, e lo stesso gesto la toglie. Un segnalibro all’angolo della scacchiera indica che la posizione vi si trova, senza altro messaggio. Il gesto vale ovunque sia mostrata una posizione: revisione, ricerca, modifica, Eval, Trascrizione, quiz, Duello. L’azzeramento della scacchiera passa per il menu del clic destro (vedi menu della scacchiera). La Pila è una raccolta ordinaria — rinominata, riordinata, esportata, svuotata come le altre; è creata al primo uso e ricreata se è stata eliminata. Una posizione che non è ancora nella libreria (una bozza della scacchiera di ricerca o di valutazione) vi è scritta all’istante, come una posizione portata da sola, poi messa sulla Pila. La riga di comando fa lo stesso gesto con collection pile.
Una raccolta può essere viva: il suo contenuto non è più una lista fatta a mano ma il risultato di una ricerca, rivalutato ogni volta che la si apre. Il pulsante ◇ in testa alla raccolta la rende viva con l’ultima ricerca lanciata; ◈ segnala che lo è già, e lo stesso pulsante le restituisce la lista. Nulla viene distrutto: le posizioni che conteneva sono ancora lì quando si torna indietro.
Il pulsante ❄, visibile su una raccolta viva, la congela: le posizioni che la ricerca seleziona in quel momento diventano il contenuto di una raccolta ordinaria, nell’ordine della ricerca, e la query viene cancellata. Le posizioni che conteneva prima di essere viva vengono sostituite.
Una raccolta viva la cui interrogazione porta un token che questa versione non conosce più rifiuta di aprirsi e lo dice, invece di restituire l’intera base. È l’unico guasto che un filtro salvato non deve avere: allargarsi in silenzio.
Una collezione viva resta viva in un’esportazione del database: la sua query viaggia con essa e viene rivalutata, presso il destinatario, sulle posizioni del file. Quando l’esportazione porta con sé le posizioni delle collezioni, porta quelle che la query seleziona al momento dell’esportazione, fino al tetto di 5000 posizioni. Una query che indica posizioni, match o tornei con il loro numero viene riscritta sui numeri del file; se uno di essi resta fuori dal file, la collezione parte congelata, con le posizioni che la query seleziona al momento dell’esportazione.
Un mazzo di ripetizione dilazionata basato su una raccolta viva riesegue la sua interrogazione a ogni apertura di sessione: le posizioni che la ricerca seleziona dall’ultima volta vi entrano, e le carte già presenti conservano la loro pianificazione. Una valutazione è limitata da un tetto di 5.000 posizioni; quando l’interrogazione ne seleziona di più, solo le prime, nell’ordine della ricerca, alimentano il mazzo, e la barra di stato lo segnala insieme al numero reale di posizioni selezionate.
Il pulsante Proponi… dell’intestazione apre le posizioni di riferimento: una breve lista di posizioni da studiare, scelta tra i tuoi errori in modo che ciascuna ne riassuma molti. Studiare i dieci errori peggiori dà spesso dieci varianti di uno stesso problema, o posizioni singolari che non insegnano nulla sulle altre; una posizione di riferimento sta al centro di più dei tuoi errori, di struttura simile, e la sua lezione serve a tutti.
Gli errori sono quelli del piano di studio: quantificati in MWC e ordinati per famiglia (piano di gioco, natura, tema). Due errori di una famiglia sono vicini se distano al massimo 12 passi di pedina nella distanza
like; un errore di cubo ha come vicini solo quelli dello stesso punteggio.Ogni posizione vale l”MWC recuperabile (perdita meno difficoltà) delle sue vicine e di se stessa: ciò che la sua lezione renderebbe se servisse a tutte. Una lezione risicata (la seconda scelta costa meno di mezzo errore) o un verdetto instabile (un’altra profondità o un rollout dice altro) conta per metà; un rollout che conferma viene segnalato. La cifra all’inizio di ogni riga è l’MWC coperto; la ragione dà la cifra conteggiata quando la lezione conta per metà.
La lista è varia: una posizione scelta copre le sue vicine, che non rendono più nulla alle successive, e nessuna posizione proposta è un quasi-duplicato di un’altra. Una posizione già trattata — commentata, in una collezione, una carta Anki o contrassegnata come «studiata» — non viene mai proposta, e le sue vicine sono considerate coperte.
L”ambito è l’intero database, la partita in corso, un torneo o il filtro del pannello Statistiche; il giocatore è quello di questo filtro. La dimensione è di 10, 20 o 50 posizioni. Ogni riga indica la sua famiglia, il suo punteggio se si tratta del cubo, l’MWC che copre e la sua ragione: quanti errori e partite riassume, la dimensione della sua famiglia tra le tue decisioni, il suo recuperabile proprio, il distacco dalla seconda scelta. Un clic su una riga apre la posizione; le caselle spuntate diventano con un clic una collezione, un mazzo Anki o un quiz. Da riga di comando: blunderdb collection suggest (vedi collection — Gestire le collezioni).
Lezioni
Una lezione è una sequenza di passi che un coach scrive una sola volta per un allievo e gli consegna in un file di database (vedi il comando lesson export in Interfaccia a riga di comando (CLI)). Ogni passo ha un titolo, un testo e può mostrare una collezione, una posizione, entrambe o nessuna. Il comando le elenca le lezioni del database nella barra di stato; le 2 apre la lezione 2; le edit apre l’editor delle lezioni.
Compare allora una barra di lettura sopra la scacchiera: nome della lezione, numero del passo, titolo, poi il testo. Precedente e Successivo cambiano passo; il passo porta sulla scacchiera la collezione o la posizione che mostra, che si scorre poi con i gesti consueti. Chiudi esce dalla lezione. Un passo la cui collezione o posizione è stata eliminata conserva il suo testo.
La casella Passo fatto della barra segna il passo corrente come fatto; un secondo clic toglie il segno, e la barra conta i passi fatti. È l’unico gesto che scrive qualcosa: leggere una lezione, cambiare passo o aprirla non registra nulla, né il passo raggiunto né l’apertura. Il segno viene scritto nel database aperto, quello dell’allievo, e nessuna esportazione lo porta con sé. Importare un file che contiene una lezione la crea; una lezione con lo stesso nome già presente non viene toccata.
L’editor delle lezioni si apre con le edit (le edit 2 sulla lezione 2) o con il pulsante Modifica della barra di lettura. A sinistra, l’elenco delle lezioni e un campo per crearne una; a destra, il nome e la descrizione della lezione scelta, poi i suoi passi. Ogni passo ha un titolo, un testo, una collezione scelta dall’elenco e una posizione: Posizione corrente vi allega la posizione mostrata sulla scacchiera, Stacca la posizione la toglie. Salva il passo scrive le sue modifiche; le frecce lo spostano di un posto; Aggiungi un passo ne aggiunge uno in fondo. Leggi chiude l’editor e apre la lezione al suo primo passo; Esporta come pagina web salva la lezione in un unico file HTML autonomo (titolo, descrizione, ogni passo con il suo testo e la sua scacchiera, l’analisi salvata di ogni posizione ripiegata come la risposta di un quiz, l’origine della filigrana a piè di pagina), pronto da pubblicare così com’è: non contiene alcuno script e non fa alcuna chiamata di rete; Elimina cancella la lezione e i suoi passi, senza toccare le collezioni né le posizioni che mostravano. Le lezioni si creano e si modificano anche da riga di comando o tramite l’API (Le lezioni).
Un backup — l’esportazione dell’intera libreria dalla finestra di esportazione o da riga di comando — porta con sé tutte le lezioni. Nella finestra di esportazione, la riga Lezioni le sceglie una per una: ogni lezione spuntata parte con le raccolte e le posizioni che i suoi passaggi mostrano, e il file può essere filigranato o protetto da password (.dbx) come ogni esportazione. Senza questa casella, un’esportazione parziale (una selezione di posizioni, di raccolte o di match) non porta con sé le lezioni.