Scheda partita di tiro

Classifiche live per una gara di tiro a bersaglio anulare su rimfire, carabina ad aria e smallbore. Le divisioni sono classificate per punteggio e conteggio X accanto al foglio della scheda in evidenza, con ogni bersaglio disegnato che mostra i colpi dove sono caduti, totali per riga e totale scheda. Le schede segnate scritte dall’agente del cronometrista sono in evidenza e celebrate quando fresche.

Fogli di punteggio forniti appaiono accanto a classifiche di divisione, conteggi X, percentuali e posizioni colpite registrate della scheda in evidenza. Le classifiche condividono l’altezza dello schermo: poche schede sono grandi, molte divisioni si paginano in gruppi che seguono la scheda in evidenza, e ogni divisione mantiene le sue righe superiori. I fogli oltre 25 tori disegnano ogni toro su una griglia, e in Primetime si sfogliano piastrelle fino a 25 tori che mantengono ogni colpo registrato, punteggio e totale riga. Durante Primetime, intestazione e classifiche animano, i punteggi normali appaiono in ciano, parentesi marcano schede fresche e coriandoli discreti celebrano fogli perfetti completati. Il movimento ridotto presenta un fermo composto.

Live card

Questa scheda viene disegnata nel browser con lo stesso codice usato dai Player, con dati di esempio.

Categoria: Sport. Tag: Tabelloni segnapunti, Classifiche e posizioni, Sport individuali.

Layout

Questa scheda a schermo intero riempie tutto lo schermo in orizzontale o verticale e non è posizionata come angolo, chip o striscia.

Layout: pieno. Moduli: orizzontale, verticale.

Layout, temi e pubblicazione delle schede. Esplora le schede.

Dati e privacy

Questa scheda usa le proprietà configurate e i dati live della scheda.

Proprietà

Per tema, sfondo, accento e posizione, vedi Proprietà comuni.

Imposta le proprietà statiche nei params della scheda quando la crei. Il suo documento dati contiene solo proprietà dinamiche. Le righe annidate descrivono il contenuto della proprietà genitore.

Proprietà statiche

NomeTipoPredefinitoValori e limitiDescrizione
titlestring"Match standings"maxLength: 60L’etichetta sopra il nome della partita; l’intestazione stessa quando i dati non nominano alcuna partita.
subtitlestring""maxLength: 120Una linea sotto il titolo, prima della data della partita e del conteggio tiratori.
targetobjectadditionalProperties: falseIl foglio bersaglio su cui viene sparata ogni carta.
target.bullsinteger25minimo: 1; massimo: 100Registrare tori su un foglio.
target.rowsinteger5minimo: 1; massimo: 20Righe in cui si posizionano i tori, lette da sinistra a destra, dall’alto in basso.
target.ringsarray[10,9,8,7,6,5]minItems: 1; maxItems: 12Valori degli anelli di punteggio dall’anello interno verso l’esterno. Il primo è il punteggio più alto del centro.
target.xRingbooleantrueUn anello X dentro l’anello interno; X conta per risolvere i pareggi.
target.radiiarray[]maxItems: 12Raggi degli anelli dall’anello interno verso l’esterno, uno per valore dell’anello, in qualsiasi unità (la scheda scala l’anello esterno a 1). Gli spazi vuoti distanziano gli anelli in modo uniforme.
target.xRadiusnumber0minimo: 0Il raggio dell’anello X nell’unità di raggi, o come frazione dell’anello esterno quando raggi è vuoto. 0 è metà dell’anello interno.
target.blackinteger4minimo: 0; massimo: 12Quanti anelli, dall’anello interno verso l’esterno, copre il nero di mira.
target.shotSizenumber0.22minimo: 0; massimo: 1Il diametro di un foro di sparo come frazione del raggio dell’anello esterno di punteggio.
showPercentbooleantrueMostra il punteggio di ogni scheda come percentuale del massimo del foglio.
rankingstring"best""best", "every"best classifica ogni tiratore una volta per divisione, sulla sua miglior scheda; every classifica ogni scheda.
rotateSecondsinteger12minimo: 0; massimo: 600Secondi in cui ogni scheda classificata è mostrata nella rotazione dell’orologio da parete. 0 mantiene l’ultima scheda mostrata.
freshMinutesinteger3minimo: 0; massimo: 60Una scheda inviata recentemente è fresca: in evidenza prima della rotazione e contrassegnata Appena arrivata. 0 la disattiva.
backgroundColorstringa, nullonullmodello: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sovrascrive il colore di sfondo e della piastra della scheda con un colore piatto ordinato in CSS. #RRGGBBAA fornisce l’opacità. background none ha la precedenza.
textColorstringa, nullonullmodello: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sovrascrive i colori del testo principale e secondario. I colori di accento e di stato semantico mantengono i loro ruoli.

Proprietà dinamiche

NomeTipoPredefinitoValori e limitiDescrizione
matchobjectadditionalProperties: falseLa partita.
match.namestring""maxLength: 60
match.datestring""maxLength: 10YYYY-MM-DD.
divisionsarray[]maxItems: 8Divisioni in ordine di visualizzazione. Una divisione nominata da una voce ma assente in questa lista viene aggiunta dopo di esse.
divisions[].idstringminLength: 1; maxLength: 40; Obbligatorio
divisions[].namestringmaxLength: 40; Obbligatorio
entriesarray[]maxItems: 200Schede punteggio, una per ogni foto del foglio. I punteggi sono autorevoli: la scheda li somma e li classifica e disegna ogni colpo dove è caduto, ma non ricalcola mai dai colpi.
entries[].idstringminLength: 1; maxLength: 60; ObbligatorioStabile e unico: l’agente riscrive lo stesso ID quando corregge una scheda.
entries[].shooterstringminLength: 1; maxLength: 40; ObbligatorioIl nome visualizzato del tiratore; le carte con lo stesso nome (ignorando maiuscole/minuscole) sono un unico tiratore.
entries[].divisionstringmaxLength: 40Un divisions[].id.
entries[].labelstringmaxLength: 80Cos’è questa scheda, per esempio 25 m · Foglio 2.
entries[].submittedAtstringmaxLength: 40Istante ISO 8601 in cui la scheda è stata valutata. Determina la freschezza e risolve i pareggi (vince il più vecchio).
entries[].bullsarraymaxItems: 100; ObbligatorioUno per ogni record bull in ordine di foglio, da sinistra a destra per riga. I tori oltre target.bulls sono ignorati; quelli mancanti sono considerati non segnati.
entries[].bulls[].scorenumero, nullminimo: 0; massimo: 100; ObbligatorioIl punteggio del toro; null significa non ancora segnato.
entries[].bulls[].xbooleanIl colpo è nell’anello X (il suo punteggio è il valore dell’anello interno).
entries[].bulls[].hitsarraymaxItems: 10Centri dei tiri in unità del raggio dell’anello esterno del bersaglio: 0,0 è il centro, +x a destra, +y in alto.
entries[].bulls[].hits[].dxnumberminimo: -2; massimo: 2; Obbligatorio
entries[].bulls[].hits[].dynumberminimo: -2; massimo: 2; Obbligatorio
entries[].photostringmaxLength: 512Un URL multimediale risolto dall’host della foto della scheda.
featuredstring""maxLength: 60Un id di voce per mantenere in evidenza. Vuoto mostra una scheda nuova, altrimenti ruota.

Esempio di canvas

Salva le proprietà statiche come params.json e crea la scheda. Il risultato contiene il suo ID crd_.

{
  "theme": "neomustard"
}
screenrig card create --type shooting-match --major 1 --file params.json

Aggiungi questo elemento ai primitives di una pagina playlist, con quell’ID al posto di quello dell’esempio. Pubblica la playlist e assegna uno schermo.

{
  "id": "shooting-match",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Scrivere dati live

Scrivi il documento nella scheda dopo averla creata, poi sostituiscilo per aggiornare lo schermo senza ripubblicare. La scheda controlla ogni scrittura rispetto alle sue proprietà dinamiche e rifiuta un documento che non accetta. Usa lo stesso progetto della playlist.

Salva il documento come card-data.json. Il CLI legge il documento stesso, senza wrapper:

{
  "match": {},
  "divisions": [],
  "entries": [],
  "featured": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

Oppure chiamare direttamente l’API. L’API incapsula lo stesso documento in un campo document. Un token agente nomina già il suo progetto, quindi non viene inviato un header progetto; se invii ScreenRig-Project, deve corrispondere al progetto del token. Fornisci l’autorizzazione API tramite l’ambiente; vedi Autenticazione API.

curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"document":{"match":{},"divisions":[],"entries":[],"featured":""}}'