Match e trascrizione

Pannello Match

Il pannello Match (CTRL-Tab) elenca i match importati. Fare doppio clic su un match (o premere INVIO) per navigare tra le sue mosse. Il comando m riprende la navigazione nell’ultimo match visitato.

Il campo filtro, in alto nel pannello (/ per andarci, Esc per cancellarlo), mantiene solo le partite in cui un giocatore, l’evento, il luogo, il torneo o la data contiene il testo digitato. Il filtro e l’ordinamento delle colonne sono eseguiti dal database: l’elenco si carica a pagine durante lo scorrimento e il contatore «n / N partite» indica la parte caricata. Correggere un giocatore, una data o un torneo nell’elenco aggiorna solo la riga modificata.

Quando l’elenco è vuoto, il pannello propone Importa… (Ctrl+I); senza un database aperto propone invece Apri un database…, insieme a Torna alla schermata iniziale. Quando è il filtro di testo ad aver svuotato l’elenco, propone Cancella il filtro. I pannelli Stats, Collezioni e Anki vuoti offrono gli stessi pulsanti.

L’utente può:

  • scorrere le mosse di un match usando i tasti SINISTRA e DESTRA,

  • passare da una partita all’altra con i tasti PageUp e PageDown,

  • visualizzare l’analisi delle mosse (pedine e cubo) premendo CTRL-L,

  • alternare tra l’analisi delle mosse di pedine e quella del cubo con il tasto d,

  • vedere la mossa effettivamente giocata evidenziata nell’analisi,

  • cercare tra le posizioni del match con il comando ss (es.: ss E>80); Esc riporta poi alla mossa studiata (vedere Pannello Ricerca).

L’ultima posizione visitata in ciascun match viene memorizzata e ripristinata automaticamente. Premere CTRL-Tab o eseguire il comando match per mostrare o nascondere il pannello.

Il pulsante ⊕ di una riga arricchisce quell’incontro da un file. Dietro non c’è nulla di nuovo: reimportare lo stesso incontro in un altro formato lo arricchisce già sul posto — l’impronta canonica riconosce che si tratta dello stesso incontro, e le analisi e i commenti del secondo file completano il primo. Ciò che il pulsante apporta è che lo si trova: nessuno indovina che un’importazione è anche un arricchimento. Il resoconto che segue dice quale dei due è avvenuto — «arricchiti: 1» invece di «importati: 1».

Ogni match può essere esportato come trascrizione Jellyfish .mat tramite il pulsante ⬇ dell’elenco dei match o la voce Esporta .mat del menu ⋯ della scheda del match.

Un clic su un match apre la sua scheda. Una riga di intestazione dà i giocatori, il punteggio finale (il vincitore in grassetto, il suo nome al passaggio del puntatore), la lunghezza, la cadenza se c’è e la data; il torneo, il turno e il luogo compaiono al passaggio del puntatore. A destra, l’icona 🎞 di un match che ha un video, il pulsante Rivedi e il menu ⋯, che contiene Esporta .mat, Modifica la trascrizione ed Elimina il match. Segue la sintesi del bilancio del match, poi una barra di tab: Trascrizione, che elenca le mosse partita per partita (un clic su una mossa vi porta la revisione), Grafici, Da rivedere, Dettagli, Info e Statistiche. Il tab scelto occupa tutta l’altezza rimanente del pannello e scorre da solo, mentre l’intestazione e la sintesi restano al loro posto; quando un tab ha il focus, le frecce sinistra e destra passano al precedente o al successivo. Il tab lasciato aperto resta aperto al match successivo. Un tab senza contenuto non compare: un match senza analisi non ha né Da rivedere né Dettagli, un match senza perdita né durata nota non ha Grafici.

Scheda di un match, tab Grafici

La scheda di un match: l’intestazione, la sintesi del bilancio per giocatore, poi il tab Grafici, con una decisione sotto il puntatore.

Ogni mossa della trascrizione porta la sua gravità: ? per un errore, ?? per un blunder, un filetto colorato al margine della riga, e il costo della mossa in equity al passaggio del puntatore sul segno. Le soglie sono quelle del database (Configurazione), le stesse con cui contano le statistiche. La mossa è giudicata così come è stata giocata: una stessa posizione giocata due volte nel match riceve due giudizi. Una mossa che l’analisi non valuta non porta alcun segno.

L’intestazione di ogni partita conta i suoi segni, che sia espansa o no: si vede senza aprirla in quale partita si trovano i blunder. Un clic su un conteggio carica quelle posizioni nel pannello di analisi.

Quando la partita è analizzata, la trascrizione aggiunge la colonna MWC, le probabilità di vincere la partita che la decisione è costata, in percentuale: 0 per una decisione senza perdita, un trattino per una decisione che l’analisi non valuta o il cui punteggio non ha valore nella tabella di equità della partita (gioco a money, decisione fuori dalle statistiche). Un clic sull’intestazione MWC ordina le mosse di ogni gioco dalla perdita più pesante alla più leggera, poi il contrario, poi ripristina l’ordine della partita; le decisioni non valutate passano per ultime, e questo ordinamento sostituisce quello per durata. Il tab Grafici mostra due grafici a tutta larghezza sull’asse delle decisioni di quello delle durate: una barra per decisione, poi la perdita cumulata di ciascun giocatore, che si ferma al suo totale (tratto pieno per il primo giocatore, tratteggiato per il secondo). Ogni grafico ha il suo titolo, la sua legenda, la sua scala a sinistra e, sotto l’asse, il numero di ciascuna partita (P1, P2…), con una linea tratteggiata che segna il passaggio da una partita alla successiva. Una decisione non valutata porta un piccolo segno alla base della barra, senza altezza. Passare sopra una decisione, o scorrerle con le frecce (i tasti Inizio e Fine portano alle estremità), la segna su tutti i grafici e sulla sua riga della trascrizione, e un suggerimento mostra il gioco, la mossa, il giocatore e la perdita; il suggerimento si colloca dal lato in cui sta per intero nella cornice del grafico, anche in un pannello stretto. Un clic, o Invio, porta lì la revisione. Lo stesso vale per il grafico delle durate. Nella legenda di ogni grafico, il nome di ciascun giocatore è una casella di controllo (da tastiera come con il mouse): deselezionarla nasconde i suoi segni nei tre grafici, perché l’impostazione è comune, e passaggio del mouse, clic e frecce cadono ormai solo sulle decisioni dell’altro giocatore (un clic prende la decisione visibile più vicina). L’ultimo giocatore selezionato non si può deselezionare, e ogni match si apre con entrambi i giocatori selezionati. Fuori dall’interfaccia, match --format json aggiunge decision_losses (una voce per mossa, con mwc_loss pari a null per una mossa non valutata), --format text una riga « MWC loss » per mossa valutata e --format summary il totale per giocatore.

Difficoltà ed errori evitabili. Una perdita dice quanto è costata una mossa, non se era difficile trovare quella giusta. La colonna Diff., accanto a MWC, dà la difficoltà della decisione: la perdita di probabilità di vincere la partita che un giocatore di riferimento subirebbe in media nella stessa posizione. Questo giocatore di riferimento non gioca alla perfezione: sceglie ogni opzione con una probabilità tanto più bassa quanto più costa, π(i) proporzionale a exp(−Δᵢ/τ), dove Δᵢ è il costo dell’opzione i rispetto alla migliore, in equity normalizzata. La difficoltà vale d = Σ π(i)·Δᵢ, convertita in MWC al punteggio e al cubo della decisione come la perdita: è espressa nella stessa unità, una percentuale di probabilità di vincere la partita. Le opzioni sono i candidati dell’analisi per una mossa di pedine; non raddoppio e raddoppio (contro la migliore risposta) per chi ha il cubo; accetto e passo per chi riceve il raddoppio. La temperatura τ vale 0,025: la decisione a due opzioni più difficile è quella con uno scarto di circa 0,032, e una posizione con cinque candidati distanziati di 0,01 dà l’errore medio di un giocatore di circa PR 6; è un a priori di giocatore forte, fissato prima di esaminare qualsiasi risultato.

Come leggerla: una decisione ovvia, o forzata, ha una difficoltà vicina a 0 senza che alcuna soglia la distingua; una decisione serrata, in cui più opzioni stanno a pochi millesimi, ne ha una grande. Una perdita molto superiore alla difficoltà è un errore che la posizione non giustificava; una perdita vicina alla difficoltà, un errore che farebbe anche un buon giocatore. Una decisione è un errore evitabile, contrassegnato da un ! accanto alla sua perdita e da un punto sopra la sua barra, quando la sua perdita raggiunge la soglia di errore della base e la sua difficoltà non ne supera un decimo: su una decisione a due opzioni, il giocatore di riferimento non la commetterebbe una volta su dieci. Nel grafico per decisione, la difficoltà è un tratto orizzontale su ogni barra: una barra che sale molto sopra il suo tratto segnala un errore evitabile.

La tabella del tab Dettagli dà, per ogni giocatore, la sua perdita di MWC totale (quella dell’elenco delle partite), il numero di decisioni valutate e, sulle decisioni che hanno una perdita e una difficoltà: la difficoltà totale, l”eccesso Σ(perdita − difficoltà), in MWC, ciò che il giocatore ha perso oltre il giocatore di riferimento (negativo quando ha fatto meglio), il rapporto perdita totale / difficoltà totale (1: gioca come il giocatore di riferimento; 2: perde il doppio) e il numero di errori evitabili. Il rapporto non è dato quando la difficoltà totale è sotto lo 0,5 %: su una partita troppo facile misurerebbe solo rumore, l’eccesso resta.

Perché guardarla: il PR e la perdita MWC mescolano due cose, la qualità del gioco e la difficoltà delle posizioni incontrate. Un avversario che crea posizioni complesse fa salire l’errore dell’altro; una partita di corsa pura lo fa scendere. La difficoltà corregge entrambi gli effetti: l’eccesso e il rapporto confrontano il giocatore con ciò che ci si poteva aspettare nelle sue posizioni. Per lo studio, ordina gli errori: gli errori evitabili sono disattenzioni o una regola saputa male, da rivedere per primi e spesso facili da correggere; le perdite su decisioni difficili sono lavoro di fondo (rollout, principi, posizioni di riferimento) e pesano meno nel giudizio su una partita.

Incertezza e limiti: la difficoltà dipende da un modello di giocatore e da τ, fissati una volta; cambiare l’uno cambia tutte le cifre. Conosce solo i candidati che l’analisi ha conservato (pochi in XG, secondo i filtri in GNU Backgammon): le opzioni assenti non pesano nulla e la difficoltà è allora un minorante. Eredita l’errore dell’analisi stessa, soprattutto a bassa profondità. Su una sola partita, l’eccesso e il rapporto poggiano su poche decisioni e variano molto da una partita all’altra: indicano una tendenza, non una classifica. La difficoltà è calcolata solo per le decisioni la cui perdita è valutata; altrove vale un trattino. Fuori dall’interfaccia, match --format json riporta difficulty e avoidable su ogni voce di decision_losses e il riepilogo per giocatore sotto difficulty_summary; --format text aggiunge le righe «Difficulty» e «Avoidable error», --format summary la difficoltà, l’eccesso, il rapporto e il numero di errori evitabili.

Bilancio del match. Il bilancio risponde, per ogni giocatore, alle tre domande che ci si pone dopo un match: che cosa rivedo, ho perso per i dadi o per il gioco, e i miei errori vengono dalla fretta o da una lacuna? Le soglie sono state fissate prima di esaminare qualsiasi risultato.

In testa alla scheda, sopra i tab, una sintesi affianca i giocatori (uno sotto l’altro quando il pannello è stretto): il nome, con il tratto che lo designa sul grafico cumulato, il PR, la perdita di MWC del match e, per un match terminato, il verdetto della fortuna in chiaro («vinto con il gioco», «perso per i dadi»…) seguito dal solo risultato corretto. Il passaggio sul PR ne mostra l’intervallo; quello sul verdetto, le componenti del risultato corretto. Il resto si divide tra due tab: Dettagli dà gli intervalli, la perdita riportata a 7 punti e la fortuna; Da rivedere, le decisioni da rivedere e la ripartizione degli errori tra affrettati e ponderati:

  • PR e perdita di MWC riportata a 7 pt, con il loro intervallo al 95 %, calcolato ricampionando le partite del match. La perdita riportata a 7 punti è la perdita del match messa sulla scala di un match a 7 punti (L₇, vedere Metriche e strumenti di studio): serve a confrontare match di lunghezze diverse, mentre la sintesi mostra solo la perdita del match stesso. Servono tre partite; un match più corto mostra un trattino. Un intervallo ampio indica che un match non basta per giudicare un livello: confrontatelo con gli altri vostri match invece di concludere da un solo valore.

  • Risultato corretto per la fortuna, per un match concluso. Il risultato è l’esito (100 % vinto, 0 % perso) meno le probabilità iniziali (50 % sullo 0-0); la fortuna netta somma la fortuna dei vostri tiri meno quella dei tiri avversari, ogni tiro convertito in MWC al punteggio e al cubo della sua posizione, come una perdita. Il risultato corretto è il risultato meno la fortuna netta. Se è positivo in un match perso, hanno deciso i dadi; negativo, il gioco. Lo scarto degli errori (perdita dell’avversario meno la vostra) è ciò che il risultato corretto stima: le due cifre coincidono quando la fortuna è completa. La copertura è indicata quando alcuni tiri non hanno una fortuna misurata (un file senza fortuna, un tiro non analizzato); senza alcun tiro misurato, o per una partita a denaro, la riga non compare.

  • Tre decisioni da rivedere: tra i vostri errori (soglia della base), quelli con la parte evitabile della perdita, perdita − difficoltà, più grande — cioè la perdita moltiplicata per il suo carattere evitabile. Un errore che avrebbe commesso anche il giocatore di riferimento non vale una sessione: si rivede prima ciò che era alla portata. Un clic sulla decisione la mostra, come una riga dell’estratto.

  • Errori affrettati e ponderati, quando il match ha conservato la durata delle decisioni: un errore giocato più in fretta della mediana delle vostre decisioni dello stesso tipo (pedine o cubo) in questo match è affrettato, gli altri ponderati. La mediana è la vostra, in questo match: non dipende dal ritmo, e senza legame tra velocità ed errore gli errori si dividerebbero metà e metà. Una maggioranza affrettata richiede disciplina (rallentare su queste posizioni); una maggioranza ponderata, conoscenza (studiare la famiglia di posizioni).

Il tab Dettagli termina con la tabella delle perdite e della difficoltà descritta sopra. match --format summary stampa lo stesso bilancio, e il server lo serve tramite /v1/stats.matchReview.

Quando la partita ha conservato la durata delle sue decisioni (una partita giocata contro un bot), la trascrizione aggiunge tre colonne allineate sulle cifre: Cubo (la decisione di cubo, presa prima del lancio o sulla riga del cubo stessa), Gioco (la mossa di pedine) e Orologio, il tempo che il giocatore di turno ha consumato dall’inizio della partita, questa mossa compresa, qualunque sia l’ordinamento. Sotto una cadenza, la colonna diventa Orologio residuo e dà il tempo che resta sull’orologio del giocatore dopo la mossa, calcolato come lo conta l’arbitro del Duello (ritardo per turno, riserva azzerata al superamento). Le informazioni della partita e la sua intestazione ricordano la cadenza (preimpostazione, ritardo, comportamento al superamento) e la banca del tempo di ciascun giocatore, riportata al punteggio iniziale quando la riserva è contata per punto rimanente. Un clic sull’intestazione Gioco ordina le mosse di ogni gioco dalla più lunga alla più breve, poi dalla più breve alla più lunga, poi ripristina l’ordine della partita; una casella senza durata (nessuna decisione di cubo in quel turno, o mossa giocata dal solo Arbitro) porta un trattino, e quelle mosse vanno per ultime. L’Orologio parte da zero dalla prima mossa. Il tab Grafici inizia con un riepilogo che dà per ogni giocatore il totale, la media per mossa di pedine e per decisione di cubo e, se la partita ha una cadenza, un segno per il giocatore la cui riserva si è esaurita per prima (il Duello registra solo quello); un grafico colloca la durata di ogni decisione nel corso della partita. In revisione, la durata della decisione giocata si legge discretamente sotto l’analisi. La ricerca la filtra con tm>30 (in secondi), che si combina con E>x: s tm>30 E>80 trattiene le mosse a lungo meditate e comunque sbagliate, essendo durata ed errore quelli della stessa mossa giocata. Il tab Statistiche, sotto gli errori ricorrenti, incrocia tempo ed errore: per ogni giocatore e ogni fascia di durata nota (meno di 5 s, da 5 a 15 s, da 15 a 30 s, più di 30 s), il numero di decisioni, l’errore medio e la quota di blunder. Una decisione il cui errore non è registrato è contata senza entrare nella media.

La colonna Posizioni conta le posizioni distinte di quelle decisioni e le apre con un clic. La tabella e i suoi link leggono tutte le decisioni cronometrate del database, senza il filtro del pannello.

Un match giocato qui, nato da un Duello, porta la sua origine nel tab Info della sua scheda, sotto il titolo Provenienza, su una riga, anche se non ha alcuna mossa: «Giocato qui», poi, se del caso, «Perso per tempo» con il giocatore la cui riserva si è esaurita sotto una cadenza che fa perdere il match, o «Interrotto prima della fine» per un Match che un Duello interrotto ha lasciato incompiuto, la cadenza, il giocatore la cui riserva si è esaurita per prima e il livello del Bot con la versione di gammonNet di cui ha giocato la politica. Un clic apre la partenza (la posizione iniziale o lo XGID scelto), il seme dei dadi rivelato e il suo SHA-256, da confrontare con l’impronta pubblicata alla creazione del Duello: se coincidono, il seme permette di ricalcolare ogni lancio senza fidarsi di blunderDB. Un match che non è stato giocato qui non ha origine, e il suo tab Info non ha questo titolo.

Il tab Info della scheda del match riprende l’intestazione del match. Vi aggiunge ciò che il file di origine dice dei giocatori e della sessione, quando lo dice — un file eXtreme Gammon lo dice sempre: il punteggio Elo di ciascun giocatore con la sua esperienza tra parentesi, il trascrittore, le regole Jacoby e Beaver di una partita libera e il programma che ha scritto il file. Queste informazioni vengono esportate con il match. Reimportare un file già presente le dà al match che non le aveva, senza sostituire nulla di ciò che già porta. Anche il comando match della riga di comando le mostra. I commenti di intestazione e di chiusura del match di un file eXtreme Gammon diventano il commento del match, firmato con il nome del suo trascrittore, o XG se il file non ne indica uno; l’orologio e la tabella di equity non vengono importati. La scheda mostra questo autore accanto al commento, e l’esportazione lo copia con esso; modificare il commento lo firma con Il tuo nome (impostazioni).

La riga File sorgente porta il pulsante ⟲ quando il match ne indica uno: rilegge quel file e riscrive le posizioni, le analisi e gli errori del match come un nuovo import, conservando tutto ciò che è stato inserito da allora (torneo, nomi, scambio dei giocatori, commenti, trascrizione, video e riferimenti) e le analisi più profonde di quelle del file. Un match conforme al suo file lo segnala nella barra di stato; altrimenti una conferma indica il numero di mosse la cui posizione cambia e la quota di mosse analizzate prima e dopo; la barra di stato conta poi i commenti rimasti su una posizione che una collezione, una carta o una lezione tiene. La riparazione è rifiutata quando il file è introvabile, non contiene più questo match o quando le sue mosse non permettono di dire quale giocatore del file è quale. Il comando match repair fa lo stesso, e match repair --list trova i match che differiscono dal loro file.

Un match trascritto da un video porta la sua sorgente: un URL http(s) (YouTube, per esempio) o il percorso di un file. La riga Video della sezione Info la modifica: digitare un URL o un percorso e premere INVIO, File… per scegliere un video, Scollega per togliere la sorgente. Un match che ne ha una mostra l’icona 🎞 nell’intestazione della sua scheda, e ogni decisione che porta un segno del video mostra la stessa icona nella sua riga della trascrizione. Cliccare l’icona, o premere v quando la decisione è quella in revisione, porta il video un secondo prima del lancio dei dadi: per un file il video si apre accanto alla scacchiera, o sopra la scheda se è stato rimesso nel pannello, e [ e ] ne regolano la velocità; per una sorgente YouTube il browser apre il link con il marcatore temporale. Un file mancante si ricollega dal riquadro, e un formato che il webview non riproduce vi è segnalato con i pacchetti da installare (vedere Download e installazione). Un match senza sorgente non cambia.

Il pulsante Gestisci giocatori della barra degli strumenti del pannello apre una finestra che elenca tutti i giocatori del database, ciascuno con il suo numero di match (fare clic sul numero mostra i suoi match nel pannello) e i suoi alias. Per unire, selezionare le varianti di ortografia di uno stesso giocatore, scegliere il nome canonico da conservare (digitarlo, o fare clic su ✓ sulla sua riga), quindi unire. La finestra resta aperta per concatenare altre unioni; Chiudi (o Esc) la chiude. L’unione crea un alias per variante: i match conservano i nomi dei loro file, ma le statistiche, la tabella Giocatori e la ricerca pl"…" leggono tutte le varianti come un solo giocatore, e le importazioni successive registrano il nome canonico. Fare clic su un alias (×) lo rimuove e annulla l’unione, come nella scheda Corpus delle impostazioni.

La stella (☆) di una riga designa il giocatore principale, quello a cui appartiene il database, memorizzato nel database e sempre in cima all’elenco. Si riempie subito e mostra il numero di match in cui è il giocatore 2 (cliccabile, per vederli), poi Inverti li inverte tutti in una sola volta: se un’inversione fallisce, nessun match viene invertito. Ogni match invertito conserva le sue analisi, i suoi errori, i suoi commenti, i suoi riferimenti video, la sua trascrizione e il suo torneo. Il giocatore principale è riconosciuto sotto tutti i suoi alias, e ogni importazione successiva, qualunque sia il formato, lo colloca come giocatore 1, come una trascrizione terminata; un match giocato contro gammonNet conserva le sue posizioni. Un match con una bozza di trascrizione aperta, o giocato in blunderDB, non viene invertito: il loro numero è indicato a parte.

Un’unione che tocca il giocatore principale — un alias aggiunto al suo nome, o il suo nome unito a un altro che lo designa — non inverte nulla da sola: il banner ricompare con i match che lascia da invertire, da confermare con Inverti o da scartare con Rimuovi, che rimuove il giocatore principale. Finché ne restano, fare clic sulla stella piena (★) riapre questo banner; altrimenti rimuove il giocatore principale, senza invertire nulla di ritorno.

Quando un match è aperto, una barra delle informazioni compare sopra il tavoliere: ricorda i giocatori presenti (giocatore 1 contro giocatore 2) nonché il contesto del match (evento, luogo, turno, data e lunghezza del match, quando queste informazioni sono disponibili). Questa barra viene mostrata anche al di fuori della modalità match: quando una posizione studiata (proveniente da una ricerca, da una collezione o da un accesso diretto) proviene da uno o più match, ne indica la provenienza — il primo match interessato e, se del caso, un badge « +N » che elenca gli altri al passaggio del mouse. Una posizione importata da sola, che nessun match referenzia, non mostra nulla.

Le schede Ricerca e Eval sostituiscono la scacchiera con una scacchiera di lavoro: un banner nella parte alta della scacchiera lo segnala («Scacchiera di ricerca», «Scacchiera di valutazione») e la barra informativa viene nascosta finché descriverebbe una posizione che non è sullo schermo. Il ritorno all’analisi ripristina la posizione studiata.

All’apertura di un database contenente match, il pannello Match viene mostrato subito e la revisione inizia direttamente sulla prima posizione, così da cominciare immediatamente la navigazione.

Nota

Un database può essere aperto in scrittura da una sola finestra alla volta. Se si apre un database già aperto in un’altra finestra di blunderDB, esso si apre in sola lettura : la navigazione, la ricerca e l’analisi restano possibili, ma qualsiasi modifica è disattivata e la barra del titolo mostra « [sola lettura] ».

Suggerimento

Fare riferimento a Scorciatoie da tastiera per le scorciatoie disponibili.

Pannello Trascrizione

Il pannello Trascrizione (CTRL-MAIUSC-T, comando transcribe o tr) serve a digitare un match che si ha sotto gli occhi — un foglio di match, una registrazione video — per farne un match della libreria. Ciò che si digita è una bozza: vive nella base, si chiude e si riapre, e non entra né nelle statistiche né nelle ricerche finché non è stata salvata come match.

Il pannello si apre sulla lista delle bozze del database: ultima modifica, giocatori, lunghezza, numero di azioni e la partita già prodotta (# seguito dal suo identificativo) oppure la dicitura «nessuna partita». Un clic apre una bozza, e il pulsante Bozze della barra vi riporta. Il pulsante Nuova trascrizione apre il modulo di creazione.

La lista si percorre anche da tastiera: GIÙ e SU (o j e k) spostano l’evidenziazione, INVIO apre la bozza evidenziata, n apre il modulo. La prima bozza è evidenziata all’apertura ed è quella modificata più di recente: riprendere il lavoro di ieri costa dunque due tasti, CTRL-MAIUSC-T e poi INVIO.

Il modulo chiede una cosa sola: la lunghezza del match. Il valore 0 indica una partita a soldi e fa comparire le caselle Jacoby e Beaver. Il campo si apre sulla lunghezza dell’ultima bozza modificata, oppure su 7 quando la base non ne contiene alcuna. I nomi dei giocatori non vengono chiesti: la bozza designa i lati come Giocatore 1 e Giocatore 2, e l’elenco mostra «Senza nome».

Tutto ciò che si deduce da quanto è stato digitato — la lunghezza della partita (o «Denaro»), il punteggio, la dicitura Crawford quando la partita in corso lo è, il numero della partita, lo stato del cubo — il suo valore, al centro o a nome di chi lo possiede — e il campo di turno — compare nella barra della partita, sopra la tavola: è lì che lo sguardo si trova già quando ci si chiede chi sia di turno. L’azione attesa, invece, è scritta per esteso nella barra di stato: «dadi di Kévin», «risposta di Alice al raddoppio».

La barra della bozza, in testa al pannello, si legge in tre gruppi. A sinistra, Bozze riporta all’elenco. Al centro, ciò che serve durante l’inserimento: il verso della scacchiera, le due frecce di annullamento, Video e Metadati. A destra, i gesti che fanno uscire la bozza da se stessa e il menu ⋯. In un pannello stretto, l’inserimento passa su una seconda riga.

Il giocatore 1 resta in basso sul tavoliere, chiunque sia di turno. Un match che si trascrive è una partita che si svolge: il turno cambia a ogni mezza mossa, e seguirlo capovolgerebbe il tavoliere da un turno all’altro — le pedine appena guardate passerebbero in alto e l’occhio rifarebbe il percorso a ogni lancio. Il turno si legge dai dadi, che cambiano lato. Il pulsante ⇅ della barra capovolge il tavoliere e mostra il giocatore 2 in basso; non modifica la bozza, e alla chiusura la visualizzazione torna al verso giusto. Da non confondere con il pulsante Inverti i giocatori del riquadro Metadati, che scambia i due giocatori nel documento stesso.

Il pulsante Metadati della barra apre l’intestazione della bozza, in qualsiasi momento: i nomi dei due giocatori — completati automaticamente dai giocatori della base —, l’evento, il luogo, il turno, la data (quella odierna per impostazione predefinita), il trascrittore (l’utente della base per impostazione predefinita) e il torneo a cui il match sarà collegato al momento del salvataggio; se lasciato vuoto, un match nuovo viene classificato, come all’importazione, nel torneo che porta il nome del suo evento. Nessun campo è obbligatorio: una bozza senza nomi si salva e si esporta lo stesso, con intestazioni vuote. Il pulsante Invertire i giocatori scambia i due nomi, assegna tutte le azioni al campo opposto e gira la damiera: è lo stesso match, letto dall’altro lato.

Quando è aperto, il modulo prende il posto dell’inserimento: i dadi, la tavolozza e i candidati sono nascosti, la trascrizione resta visibile e il video resta al suo posto. Lo stesso pulsante, o Esc, riporta l’inserimento.

La lunghezza del match si cambia in questo stesso pannello, in qualsiasi momento: il punteggio, la partita Crawford e il riferimento — le partite a soldi quando la lunghezza vale 0, e compaiono allora le caselle Jacoby e Beaver — sono ricalcolati da un capo all’altro della bozza, e le azioni registrate dopo la vittoria sono segnalate «oltre la fine» senza che nessuna venga eliminata. La lunghezza fa parte dell’identità di una posizione: dopo un salvataggio, cambiarla e salvare di nuovo scrive posizioni nuove, da analizzare, e le vecchie spariscono non appena più nulla le trattiene.

Sotto la barra, la bozza occupa tre regioni: la tavolozza dei bersagli del mouse, le mosse candidate e la trascrizione. Si dispongono secondo la larghezza del pannello. In un pannello largo — il dock in basso — le tre stanno una accanto all’altra, con la tavolozza a sinistra. In un pannello medio, le candidate occupano la parte alta e la trascrizione viene accanto al triangolo dei lanci, nello spazio che questo lascia alla sua destra. In un pannello stretto le tre si susseguono: candidate, tavolozza, trascrizione — lì il triangolo e la trascrizione non stanno affiancati senza amputare alla trascrizione la seconda colonna, e basta allargare il dock di qualche decina di pixel per riunirli. In ogni caso la regola è la stessa: nulla si interpone fra le due caselle del lancio e la prima riga delle candidate, e almeno cinque candidate si leggono senza far scorrere alcunché.

La tavolozza mostra i due dadi man mano che vengono inseriti; un clic su di essi li cancella, come BACKSPACE. Una partita comincia con la sua prima mossa, giocata dal vincitore del tiro d’apertura: i suoi due dadi si digitano come quel tiro, il dado del giocatore 1 e poi quello del giocatore 2, e il più alto dà la mossa al suo campo, che gioca entrambi i dadi. La mossa si sceglie poi tra i candidati, come ogni altra. Le parità, ritirate al tavolo, non si trascrivono; una prima mossa digitata come doppio è registrata così com’è e segnata «dadi incoerenti», poiché nessun tiro d’apertura è un doppio, e un raddoppio del cubo prima della prima mossa è segnato «azione di cubo impossibile». Un’azione di cubo registrata dopo la fine di una partita porta lo stesso segno: resta nella partita terminata, non ne apre una nuova e si elimina a mano.

Non appena cade il secondo dado, tutte le mosse legali del lancio vengono elencate, classificate dal motore incorporato, la prima preselezionata. Non disegna nulla sulla tavola finché non vi si passa sopra il puntatore né la si sceglie. La lista dà la mossa, la sua equità e il suo scarto dalla migliore: trascrivere significa riconoscere la mossa che si è vista giocare, non giudicarla — per questo c’è il pannello Valutazione. Questa classifica è una valutazione: viene mostrata, non viene mai scritta nel database. Quando il motore non è disponibile, le mosse sono elencate senza classifica e la lista lo dice in testa.

Un tiro senza alcuna mossa legale registra da sé il tiro a vuoto: la mano passa all’avversario senza mossa da digitare. Quando il tiro a vuoto non conta, il tasto f dice soltanto che il giocatore di turno resta fuori: inserisce il primo tiro, prima i non doppi, che non lo fa rientrare dalla barra. Fuori dalla barra, o davanti a un tavolo interno che lascia rientrare ogni tiro, non inserisce nulla e la barra di stato lo dice.

La rotellina seleziona la candidata successiva o precedente, sia sopra la lista sia sopra la tavola: lo sguardo resta sulla tavola e le frecce scorrono, il che riconosce una mossa più in fretta della lettura della sua notazione. Un clic su una riga la seleziona, un doppio clic la convalida.

Un indicatore, a sinistra delle caselle del tiro — e sulla barra della modalità cinema —, dice che cosa fa la digitazione in quel momento: Inserimento alla fine del documento, Modifica mossa N su un’azione già scritta, poi la mossa che INVIO convalida e l’effetto delle cifre. Nessun tasto è bloccato: su un’azione scritta come alla fine, j/k e le frecce scelgono una riga dell’analisi, il tavoliere gioca e le cifre digitano i dadi. In Inserimento, la riga preselezionata — la prima dell’analisi — è disegnata sul tavoliere, e le cifre del tiro successivo la registrano prima di aprire la decisione successiva. Su un’azione scritta, le cifre ridigitano il suo tiro sul posto e INVIO convalida la correzione: il cursore passa allora alla decisione successiva, e le posizioni che seguono vengono ricalcolate. Fine riporta alla fine del documento.

Il triangolo dei ventuno tiri sta sotto le due caselle del tiro, accanto alla tastiera e non al suo posto: due cifre restano due volte più rapide di un clic, e il triangolo è lì per chi trascrive con la mano sul mouse. Una casella per tiro, mai due: 3-1 e 1-3 sono lo stesso tiro.

Ogni mossa giocata sul tavoliere inizia con il tiro, digitato da tastiera o cliccato sul triangolo: senza dadi inseriti, il tavoliere non gioca nulla. Con i due dadi inseriti, il tavoliere è vincolato alle mosse legali di quel tiro — a fine documento come su un’azione riletta, il cui cursore ha caricato i dadi. Un clic su una pedina la gioca con il dado di sinistra, o con il successivo quando il primo non può; un trascinamento la posiziona sulla sua destinazione. I dadi giocati diventano grigi, un clic sui dadi non giocati li scambia, e Backspace — o il clic destro sul tavoliere, che riprende l’intera mossa — annulla la mossa. Ogni passo giocato mantiene nell’elenco solo i candidati che lo contengono, con il primo preselezionato: è il gesto della mossa lontana, dove scendere al dodicesimo candidato costa tredici tasti. Fin dal primo passo, le frecce del candidato selezionato lasciano il tavoliere, per non confondersi con la mossa che si gioca; tornano quando la mossa viene ripresa o registrata.

La mossa completata viene registrata solo da una convalida: un clic sui dadi resi grigi, INVIO, o il tiro successivo — una cifra o una casella del triangolo —, che la registra prima con i dadi così come sono stati digitati. Su un’azione riletta, la sostituisce.

Una mossa illegale si trascrive così come è stata giocata, senza pulsante né cambio di modalità. Un trascinamento che nessuna mossa legale offre posiziona la pedina dove viene rilasciata — anche da un punto da cui non parte alcuna mossa legale, purché contenga una pedina del lato al tratto. La mossa esce allora dalle regole: il seguito si gioca liberamente, a clic come a trascinamento, l’elenco dei candidati lascia il posto a una riga che lo ricorda, e la convalida scrive i dadi inseriti, i passi e il tavoliere ottenuto. Backspace annulla l’ultimo passo; annullare l’unico passo fuori dalle regole restituisce l’elenco.

La mossa si digita anche da tastiera, nella trascrizione. Un doppio clic sulla cella di una mossa — o di una danza, di una mossa non registrata — la trasforma in un campo, precompilato con i suoi dadi e la sua notazione, 62: 24/18 13/11. Vi si correggono insieme il tiro e la mossa; senza dadi: davanti, si digita solo la mossa — 13/7 8/7*, bar/22, 6/off, 13/7(2) — e i dadi della cella restano. INVIO registra entrambi al posto di ciò che era scritto, ESC richiude la cella senza scrivere nulla. Dadi illeggibili (72:) o un testo che non dice alcuna mossa lasciano il campo aperto, e la barra di stato lo segnala; una mossa illegale per questi dadi viene registrata e contrassegnata, mai sostituita da un’altra. Il tasto e apre allo stesso modo la cella del cursore. La cella tratteggiata dell’inserimento in corso si apre allo stesso modo, appena i suoi due dadi sono inseriti.

Una mossa immessa con il trascinamento libero o con la notazione che risulti legale resta una mossa ordinaria — il confronto si fa sulla tavola ottenuta, mai sulla provenienza del gesto; altrimenti viene marcata «mossa illegale» nella trascrizione, e l’esportazione .mat avverte prima di scrivere il file, senza mai rifiutare.

La tavola lasciata da una mossa illegale vale per la posizione da cui è stata giocata. Quando una correzione più in alto nel transcript cambia quella posizione, i passi della mossa vengono rigiocati dalla nuova, e tutte le posizioni che seguono riportano la correzione.

Le frecce del tavoliere sono quelle della mossa scritta nella decisione sotto il cursore, in grigio, rigiocata sulla posizione che ha. Un passo che lì non si gioca più — punto di partenza svuotato da una correzione più in alto, punto tenuto dall’avversario, pedina lasciata sulla barra, uscita con una pedina fuori dalla casa, lunghezza che nessun dado copre dopo un lancio corretto — parte comunque dal punto scritto, in rosso tratteggiato, con il punto di partenza cerchiato, e la cella porta il segno «mossa illegale». Una mossa che la rigiocata giudica illegale senza che alcun passo lo sia da solo diventa tutta rossa. La mossa del motore non ne prende mai il posto: una riga dell’elenco disegna le sue frecce, in blu, solo al passaggio del puntatore o quando è scelta con la rotellina, i tasti o un clic.

Sulla riga dei dadi, la fila Raddoppiare, Accettare, Passare, Abbandonare porta al mouse i quattro gesti del cubo: sono, insieme ai due dadi, le cinque risposte possibili a una sola domanda — che cosa ha fatto il campo di turno? Dice a chi tocca: il campo di turno annuncia — raddoppiare, abbandonare — oppure il campo avverso risponde — accettare, passare; mai tutti e quattro insieme, e un pulsante il cui gesto non risponderebbe a nulla resta spento. La tastiera, invece, non rifiuta mai nulla: un pulsante spento è un bersaglio che non si offre, non un gesto vietato. «Abbandonare» non registra ancora nulla: la fila diventa i tre livelli — semplice, gammon, backgammon — e «Annulla», che raddoppia il tasto ESC; da tastiera, r poi 1, 2 o 3, con INVIO che vale semplice. Il cubo disegnato sulla tavola è il secondo bersaglio di questi gesti: un clic su di esso propone un raddoppio. Davanti a un’offerta non risponde — accettare e passare sono due risposte simmetriche e vivono insieme nella fila, un clic ciascuna.

La barra di stato dice in una parola che cosa la bozza attende: la danza registrata d’ufficio, la prima mossa di una partita, la risposta attesa a un raddoppio, il livello atteso dopo un abbandono, la correzione sul posto, la mossa «da rivedere» il cui lancio è cambiato. Vi risponde anche ai gesti che non hanno nulla da fare — «niente da annullare», «nessuna azione sotto il cursore» — per un secondo e mezzo. L’incoerenza che un’azione ha lasciato dietro di sé è invece segnalata in testa alla trascrizione, là dove si trova la cella difettosa.

Una partita finisce con un passo, con un abbandono o con l’uscita della quindicesima pedina (semplice, gammon o backgammon, moltiplicato per il valore del cubo). Il punteggio, la partita Crawford e la fine dell’incontro compaiono allora nella barra della partita, e si attende la prima mossa della partita successiva.

Il punteggio di una partita è quello che danno le partite precedenti, salvo se al tavolo ne è stato dichiarato un altro. Un doppio clic sul punteggio nell’intestazione di una partita, nella trascrizione, lo trasforma in un campo precompilato: vi si digita il punteggio al quale la partita è stata giocata — 3-2, 3–2 o 3 2 —, INVIO lo registra, ESC richiude il campo senza scrivere nulla, e un campo svuotato poi confermato torna al punteggio derivato. La partita è giocata a quel punteggio: la partita Crawford, la fine dell’incontro e le partite seguenti ne discendono, e sia l’incontro salvato sia il file .mat lo riportano. Un punteggio diverso da quello derivato è segnalato, il suggerimento indica quello derivato, e la prima azione della partita porta l’incoerenza «punteggio dichiarato incoerente». Nel gioco a soldi non c’è punteggio da dichiarare.

Una trascrizione ripresa a metà match può cominciare dopo la partita Crawford. Quando la prima partita si apre con un giocatore a un punto dal match, nella sua intestazione compare una casella Post-Crawford: spuntata, quella partita non è la partita Crawford, il cubo è in gioco secondo le regole consuete e non segue alcuna partita Crawford. Non spuntata, o senza giocatori a un punto dal match, la partita Crawford si deduce dal punteggio come di consueto. Il match salvato porta la dichiarazione, e il file .mat la scrive in una riga di intestazione ; [Crawford "PostCrawford"] che blunderDB rilegge; gnubg la ignora e conta quella prima partita come la partita Crawford.

La trascrizione occupa la metà destra del pannello: una colonna per giocatore, una riga per turno, l’azione di cubo e la fine della partita nella colonna di chi agisce. La cella del cursore è incorniciata; spostare il cursore riporta la tavola alla posizione dell’azione mirata e mostra le sue candidate, con la mossa registrata selezionata. Un’incoerenza (mossa illegale, doppio turno, azione di cubo impossibile, azione oltre la fine dell’incontro, dadi incoerenti, mossa non registrata, punteggio dichiarato incoerente) decora la sua cella; il suggerimento indica la regola infranta e ciò che è in causa (“videau: Bob non lo detiene”). La mossa non registrata è il caso di un file .mat riletto: gnubg vi scrive ??? quando non ha conservato la mossa giocata, il lancio è noto e la mossa no, e mettere il cursore su quella cella propone le mosse di quel lancio per completarla. Un doppio turno lascia una cella vuota, incorniciata da un tratteggio, nella colonna del campo a cui manca il turno: il cursore vi si ferma, un clic ve lo porta, ed è lì che si digita il turno mancante — una decisione eliminata, per esempio. Le partite si ripiegano; quella del cursore è aperta.

Ciò che si sta digitando è disegnato nella trascrizione, tratteggiato, nel punto esatto in cui sarà scritto: i dadi man mano che cadono, la notazione della mossa appena è selezionata, e nella colonna del campo a cui l’azione appartiene. Una correzione copre la cella che sostituisce, un inserimento apre una cella tra le sue due vicine, una digitazione nuova compare in fondo alla partita in corso. Nulla è scritto nella bozza prima della convalida; ciò che si legge e ciò che il documento dirà non divergono mai.

Correggere è digitare sulla cella in cui ci si trova. Con il cursore su un’azione, una cifra ne ricomincia il lancio sul posto, e anche le quattro azioni di cubo valgono come correzioni: su un rifiuto, t — o il pulsante Accetta — scrive un’accettazione al posto del rifiuto, senza doverlo cancellare e poi inserire. La partita riprende allora il suo corso: si apre una cella subito dopo l’accettazione, dalla parte di chi ha raddoppiato, e il seguito della partita vi si digita come al solito, inserito davanti alla prima mossa della partita successiva, finché la partita non termina. Quella prima mossa conserva, annunciandolo, il punteggio con cui iniziava la sua partita: se la fine della partita ripresa ne dà un altro, la differenza viene segnalata. Gli stessi tasti riempiono la cella che un inserimento ha appena aperto: i e poi d inserisce un raddoppio davanti all’azione mirata.

Tornare sull”ultima azione significa tornare là dove si scrive la trascrizione. Una cifra digitata su di essa ne corregge ancora il lancio, ma una volta ridigitato quel lancio, la cifra successiva la convalida e apre la decisione seguente; INVIO la convalida allo stesso modo. Le decisioni successive si aggiungono allora in coda, come la prima volta.

Digitare un altro tiro sulla prima mossa di una partita decide di nuovo chi inizia: il dado del giocatore 1 si digita per primo, quello del giocatore 2 dopo, e vince il più alto — dado grande prima, la mossa va al giocatore 1, in basso sul tavoliere; dado piccolo prima, al giocatore 2, in alto. Il primo candidato del nuovo tiro è preselezionato e la mossa è da rivedere. Ridigitare lo stesso tiro, in un ordine o nell’altro, non cambia nulla. Per dare la prima mossa all’altro giocatore senza cambiare tiro si usa s: l’ordine dei dadi segue la parte, e una prima mossa giocata dalla parte che quell’ordine non designa è segnalata «dadi incoerenti». Il resto della partita mantiene le sue parti.

Un inserimento in mezzo al documento continua a inserire: la convalida apre una cella vuota di seguito, e l’azione successiva si inserisce a sua volta invece di sovrascrivere quella dopo. È questo che permette di recuperare tutta la fine di una partita — un rifiuto che avrebbe dovuto essere un’accettazione — senza perdere ciò che è già stato digitato della partita seguente. La fine della partita, o lo spostamento del cursore, mette fine all’inserimento: il cursore si posa allora sulla prima mossa della partita successiva.

Canc (o x) toglie la decisione in corso di modifica e arretra sulla precedente, pronta per essere corretta: su una cella scritta, l’azione scompare; su un inserimento aperto o un lancio digitato in fondo al documento, è l’immissione a essere abbandonata. Premendo Canc più volte si risale così la trascrizione cancellando. Le azioni successive mantengono il loro campo, e il doppio turno lasciato da un’eliminazione è segnalato senza che il cursore vi sia riportato.

Un clic destro su una cella apre le correzioni di quell’azione — inserire prima, inserire dopo, eliminare, cambiare campo — e vi porta il cursore per strada; sono gli stessi gesti dei tasti i, a, x e s, e il menu del browser viene soppresso soltanto lì. Altrove non hanno pulsanti: un pulsante che agisse sull”«azione sotto il cursore» mirerebbe a una cella che si può non vedere, mentre il clic destro nomina la propria.

La barra della bozza porta le sue due sole uscite, all’estremità destra, dopo il menu «⋯». «Termina» (CTRL-INVIO) scrive la partita nella biblioteca e libera la bozza; l’analisi delle sole posizioni nuove parte subito, con il suo avanzamento e la sua annullabilità nella barra di stato. «Abbandona» elimina la bozza senza partita; la conferma viene chiesta solo per una bozza mai terminata, poiché porta via tutto ciò che vi è scritto. Accanto, la barra dice che cosa farà Termina — una nuova partita, o la sostituzione della partita #n. Non dice nulla della salvaguardia della bozza stessa: viene scritta nella base dopo ogni azione, e tornare all’elenco la lascia da riprendere più tardi.

Il menu ⋯ della barra contiene «.mat text», che apre il file Jellyfish così come verrebbe scritto, in una finestra abbastanza larga perché le sue colonne restino allineate, con un pulsante per copiarlo, ed «Esporta .mat», che scrive quello stesso file su disco. Le due frecce ↶ e ↷ annullano e ripristinano, come CTRL-Z e CTRL-MAIUSC-Z.

Se l’analisi di un match trascritto è stata interrotta — l’applicazione chiusa durante il lotto —, la barra di stato lo segnala alla successiva apertura della base e propone di terminarla. Di questa interruzione non viene conservato nulla: la proposta ritorna finché restano posizioni da analizzare, e il lotto riavviato riguarda solo questo match, mai l’intera biblioteca.

Una bozza che porta incoerenze viene comunque terminata, dopo un avviso: nulla viene rifiutato. Una mossa illegale viene esportata così come è stata giocata, con l’avviso che gnubg e XG la segnaleranno («Invalid move») e divergeranno in seguito.

Per correggere un match della libreria, il pulsante ⌨ dell’elenco dei match o «Modifica la trascrizione» della sua scheda apre una bozza a partire da quel match — o riapre quella già aperta su di esso: una sola bozza per match. Terminare questa bozza sostituisce il match con lo stesso identificatore; le posizioni delle azioni invariate conservano i loro commenti, le loro analisi e le loro carte. Un match importato (XG, GnuBG, BGF) porta analisi e commenti che un .mat non porta: prima di aprire, una finestra di dialogo dice fino a quanti, e che terminare la bozza può farli perdere.

Un match si trascrive anche da un video. Il pulsante Video della barra della bozza apre un menu: File locale… per scegliere un video sul disco, Link YouTube… per incollare un indirizzo nel campo che si apre nel menu e, separato, Rimuovi il video per rimuovere la sorgente. Il menu porta solo la sorgente: la modalità cinema e la posizione del video si regolano con i pulsanti della barra sopra il video, visibile finché un video è caricato. ECHAP o un clic altrove chiude il menu e restituisce l’inserimento al pannello. Finché nessuna sorgente è allegata, il pannello resta come descritto sopra: né riquadro, né tasto in più. Una volta allegata la sorgente, il pulsante porta il suo nome breve — il nome del file, o «YouTube» — e il video viene mostrato accanto alla scacchiera. Un file introvabile si ricolloca dal video con Scegli il file…. Su un video YouTube già allegato, Link YouTube… si apre sul suo indirizzo, selezionato: un incolla lo sostituisce. Una bozza riaperta ritrova il suo video in pausa dove lo si era lasciato su questa postazione, in mancanza alcuni secondi prima del suo ultimo marcatore; il cursore resta alla fine della trascrizione, pronto per l’inserimento, e segue la riproduzione solo quando questa entra in un’altra azione.

Il video accanto alla scacchiera. Finché un video è aperto, l’area della scacchiera si divide: il video a sinistra, la scacchiera a destra, separati da una barra verticale che si trascina per ingrandire l’uno o l’altra; la larghezza resta la stessa da una sessione all’altra. Il video mantiene le sue proporzioni e occupa al meglio lo spazio che gli viene dato. Il pulsante posto nella barra sopra di esso lo rimette nel pannello, sopra la trascrizione, e lo riporta accanto alla scacchiera; anche questa scelta è ricordata. Nel pannello, l’altezza del video si regola trascinando la barra sottostante, senza mai spingere l’inserimento fuori vista. Passare da un posto all’altro non riavvia un file: la riproduzione continua nello stesso istante; un video YouTube riprende dall’istante in cui era, in pausa. Cliccare nel video, sui suoi controlli o sulla barra di separazione lascia la tastiera al pannello: i tasti di inserimento, i tasti del video e CTRL-SINISTRA / CTRL-DESTRA, che ruotano la scacchiera, mantengono il loro effetto.

Il lato del video. Il video parte a sinistra della scacchiera; può passare a destra. Il pulsante ⇄, accanto a quello che lo rimette nel pannello, cambia lato con un clic. Si può anche afferrare la piccola maniglia in alto sul video e trascinarla: le due metà della zona si illuminano e rilasciare su una delle due vi colloca il video. ESC, o rilasciare fuori dalla zona, annulla. La scacchiera, invece, non si sposta: trascinare su di essa sposta le pedine. Il lato è ricordato da una sessione all’altra e la larghezza resta quella del video, da qualunque lato si trovi. La maniglia e il pulsante lasciano la tastiera al pannello.

La modalità cinema. Per seguire il match in grande, F11 o il pulsante della barra sopra il video, a sinistra di quello che lo riporta nel pannello, mettono la finestra a schermo intero e danno tutto lo spazio al video. Un piccolo tavoliere fluttua sopra, nell’angolo in basso a destra: mostra la posizione della trascrizione, i dadi inseriti, la mossa in corso sul tavoliere e le frecce del tavoliere principale, la cui notazione appare nella sua intestazione. La mossa vi si gioca come sul tavoliere principale: clic su una pedina, trascinamento, clic sui dadi per invertirli o convalidare, clic destro sul tavoliere per ricominciare. Si sposta trascinandolo — dalla sua intestazione quando i dadi sono inseriti, giocando allora il tavoliere la mossa; un pulsante della sua intestazione gli dà tre dimensioni, un altro lo riduce a una linguetta che lo riapre. Posizione e dimensione vengono ricordate; ridotto, si riapre alla prossima entrata nella modalità cinema. La tastiera resta quella del pannello: i dadi, i candidati, la convalida, il cursore e i tasti del video (SPAZIO, [, ], …) mantengono il loro effetto, e né il tavoliere né i pulsanti prendono il focus. Poiché la fila dei gesti del cubo vi è nascosta, r apre sopra il video una piccola finestra con i tre livelli di abbandono: 1, 2, 3 o un clic li scelgono, INVIO vale semplice, e ESC la annulla senza uscire dalla modalità cinema. F11, ESC o il pulsante in alto a destra escono dalla modalità cinema e riportano la finestra allo stato precedente: nella modalità cinema, ESC serve a uscire, e BACKSPACE cancella i dadi inseriti. Rimuovere il video, lasciare la bozza o cambiare scheda la terminano anch’essi. Il lettore non ha uno schermo intero proprio, YouTube compreso: solo la modalità cinema cambia lo schermo. La modalità esiste solo nella Trascrizione, con un video allegato.

Con un video, ogni mossa nuova porta dei marcatori: l’istante del lancio, fissato dal primo tasto dei dadi, e l’istante della mossa, fissato dalla convalida, entrambi letti dal video nel momento del gesto. Una correzione sul posto non tocca i marcatori. Solo una convalida esplicita fissa l’istante della mossa: INVIO, il doppio clic su un candidato o la mossa completata sulla scacchiera. La cifra del lancio successivo, o un gesto di cubo, convalida anch’essa la mossa, ma non fissa alcun istante: la mossa resta senza istante di mossa anziché riceverne uno falso, e la barra di stato lo ricorda. Una mossa completata sulla scacchiera senza dadi digitati prima non ha istante del lancio. Per marcare l’orario della decisione sulle pedine, si convalida quindi con INVIO nel momento in cui la mossa è finita nell’immagine. v fissa a posteriori l’istante corrente come istante della mossa del cursore, MAIUSC-V come istante del lancio. SPAZIO avvia o mette in pausa il video; MAIUSC-SINISTRA e MAIUSC-DESTRA lo spostano di 5 secondi, CTRL-MAIUSC-SINISTRA e CTRL-MAIUSC-DESTRA di un secondo. [ rallenta la riproduzione e ] l’accelera, a passi di 0,25 tra 0,25× e 4×; un video YouTube offre solo le velocità del suo lettore, fino a 2×. La velocità viene mostrata nell’angolo del video quando non è 1×, e una nuova sorgente riparte a 1×.

Un video girato di traverso si raddrizza con il pulsante ⟳ della barra video, presente anche nella barra della modalità teatro, o con o: un quarto di giro a ogni pressione, da 0° a 270°. L’immagine resta intera, nel video di un file come nel riquadro YouTube. L’angolo è ricordato per la bozza, solo su questo computer; non viene scritto nel database.

Dai marcatori si deducono le durate delle decisioni: la decisione sulle pedine va dal lancio alla fine della mossa, la decisione sul videau dall’azione precedente al lancio, un raddoppio o una risposta dall’azione precedente alla propria. Una cella che porta un marcatore lo segnala con un punto discreto; il suo suggerimento indica il lancio, la mossa e la durata (“lancio 12:34, mossa 12:51, 17 s”), e il pannello di analisi mostra la durata dell’azione del cursore come per un match giocato in Duello. I marcatori fuori dall’ordine del video, il minor numero possibile perché gli altri avanzino, sono segnalati come ogni incoerenza e lasciano sconosciute le durate che ne dipendono. Posizionare il cursore su una cella (clic sulla mossa o sulla sua durata, h, l) porta il video un secondo prima del lancio di quell’azione, o prima della sua mossa se il lancio non ha istante; un lettore in pausa resta in pausa.

Appena la bozza ha un video o un riferimento temporale, la trascrizione guadagna una colonna durata a destra di ogni giocatore: la durata della decisione, in secondi (in minuti e secondi oltre il minuto), seguita, dopo un punto mediano, dalla decisione di cubo che precede il tiro. Una mossa senza istante d’azione non resta vuota: la sua durata è stimata dal tiro al primo istante della mossa successiva (il suo tiro, o un gesto di cubo), e appare come una durata misurata; il suo suggerimento la dice stimata. È un maggiorante, che comprende il raccogliere e il lanciare i dadi. Nessuna decisione di cubo viene stimata: senza l’istante d’azione della mossa precedente, la sua durata resta sconosciuta, e la barra di stato propone allora v su quella mossa per misurarla. Durante la riproduzione, il cursore segue il video nella parte già temporizzata: ogni azione copre il video dal suo tiro, o in mancanza dall’azione precedente, fino all’inizio della successiva, e il cursore si posa sull’azione in cui entra la riproduzione; oltre l’ultimo riferimento, torna una volta alla fine della trascrizione. Non si sposta né durante un inserimento né quando il video è in pausa, e questo spostamento non entra nella cronologia dell’annullamento. Posizionato a mano, il cursore resta sull’azione scelta finché la riproduzione non ne è uscita: si fa clic su una mossa senza istante d’azione, si avvia il video, si preme v alla fine della mossa, ed è quella mossa a ricevere l’istante. Sull’ultima azione, che non ha fine, vi resta dieci secondi dopo il suo tiro, poi torna alla fine della trascrizione: lì le cifre aprono il tiro successivo, e l’indicatore lo dice.

L’applicazione non decodifica il video da sola: i formati riprodotti sono quelli del webview. Un formato che non riproduce, o un file per il quale il webview non restituisce alcuna informazione dopo dieci secondi, viene segnalato nel pannello, con il suo contenitore e, su Linux, i plugin GStreamer da installare. Un MP4 H.264 e AAC richiede gst-plugins-good (demultiplexer MP4, parser AAC), gst-plugins-bad e gst-libav (decodificatori H.264 e AAC): su Arch, gst-plugins-good gst-plugins-bad gst-libav; su Debian e Ubuntu, gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav; su Fedora, gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer1-libav (quest’ultimo proviene da RPM Fusion) — vedere Download e installazione.

Un video che si blocca — un salto che non va a buon fine, un’immagine immobile durante la riproduzione — viene ricaricato dopo tre secondi, poi ripreso all’istante richiesto, alla stessa velocità, in riproduzione o in pausa come prima. Dopo tre ricaricamenti senza effetto, il riquadro lo segnala e propone di riprovare.

Un file .webm o .mkv multiplexato male blocca il video su alcuni salti: un gruppo di immagini del file comincia con un fotogramma non chiave, che il webview non sa decodificare da solo. È il caso di file scaricati con yt-dlp. All’apertura di un file simile, blunderDB legge l’indice del file (pochi kilobyte per gruppo) e, se trova salti difettosi, il riquadro lo segnala con il comando che ripara il file senza ricodificarlo, pronto da copiare:

ffmpeg -i 'ronde 4.webm' -map 0 -c copy -cluster_time_limit 30000 'ronde 4.remux.webm'

Il comando scrive una copia accanto all’originale; associate poi questa copia alla partita o alla trascrizione. Il riquadro propone lo stesso comando quando rinuncia dopo i suoi tre ricaricamenti su un .webm o un .mkv.

Suggerimento

Fare riferimento a Scorciatoie da tastiera per le scorciatoie disponibili.