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
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
| Nome | Tipo | Predefinito | Valori e limiti | Descrizione |
|---|---|---|---|---|
title | string | "Match standings" | maxLength: 60 | L’etichetta sopra il nome della partita; l’intestazione stessa quando i dati non nominano alcuna partita. |
subtitle | string | "" | maxLength: 120 | Una linea sotto il titolo, prima della data della partita e del conteggio tiratori. |
target | object | additionalProperties: false | Il foglio bersaglio su cui viene sparata ogni carta. | |
target.bulls | integer | 25 | minimo: 1; massimo: 100 | Registrare tori su un foglio. |
target.rows | integer | 5 | minimo: 1; massimo: 20 | Righe in cui si posizionano i tori, lette da sinistra a destra, dall’alto in basso. |
target.rings | array | [10,9,8,7,6,5] | minItems: 1; maxItems: 12 | Valori degli anelli di punteggio dall’anello interno verso l’esterno. Il primo è il punteggio più alto del centro. |
target.xRing | boolean | true | Un anello X dentro l’anello interno; X conta per risolvere i pareggi. | |
target.radii | array | [] | maxItems: 12 | Raggi 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.xRadius | number | 0 | minimo: 0 | Il raggio dell’anello X nell’unità di raggi, o come frazione dell’anello esterno quando raggi è vuoto. 0 è metà dell’anello interno. |
target.black | integer | 4 | minimo: 0; massimo: 12 | Quanti anelli, dall’anello interno verso l’esterno, copre il nero di mira. |
target.shotSize | number | 0.22 | minimo: 0; massimo: 1 | Il diametro di un foro di sparo come frazione del raggio dell’anello esterno di punteggio. |
showPercent | boolean | true | Mostra il punteggio di ogni scheda come percentuale del massimo del foglio. | |
ranking | string | "best" | "best", "every" | best classifica ogni tiratore una volta per divisione, sulla sua miglior scheda; every classifica ogni scheda. |
rotateSeconds | integer | 12 | minimo: 0; massimo: 600 | Secondi in cui ogni scheda classificata è mostrata nella rotazione dell’orologio da parete. 0 mantiene l’ultima scheda mostrata. |
freshMinutes | integer | 3 | minimo: 0; massimo: 60 | Una scheda inviata recentemente è fresca: in evidenza prima della rotazione e contrassegnata Appena arrivata. 0 la disattiva. |
backgroundColor | stringa, nullo | null | modello: "^#[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. |
textColor | stringa, nullo | null | modello: "^#[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
| Nome | Tipo | Predefinito | Valori e limiti | Descrizione |
|---|---|---|---|---|
match | object | additionalProperties: false | La partita. | |
match.name | string | "" | maxLength: 60 | |
match.date | string | "" | maxLength: 10 | YYYY-MM-DD. |
divisions | array | [] | maxItems: 8 | Divisioni in ordine di visualizzazione. Una divisione nominata da una voce ma assente in questa lista viene aggiunta dopo di esse. |
divisions[].id | string | minLength: 1; maxLength: 40; Obbligatorio | ||
divisions[].name | string | maxLength: 40; Obbligatorio | ||
entries | array | [] | maxItems: 200 | Schede 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[].id | string | minLength: 1; maxLength: 60; Obbligatorio | Stabile e unico: l’agente riscrive lo stesso ID quando corregge una scheda. | |
entries[].shooter | string | minLength: 1; maxLength: 40; Obbligatorio | Il nome visualizzato del tiratore; le carte con lo stesso nome (ignorando maiuscole/minuscole) sono un unico tiratore. | |
entries[].division | string | maxLength: 40 | Un divisions[].id. | |
entries[].label | string | maxLength: 80 | Cos’è questa scheda, per esempio 25 m · Foglio 2. | |
entries[].submittedAt | string | maxLength: 40 | Istante ISO 8601 in cui la scheda è stata valutata. Determina la freschezza e risolve i pareggi (vince il più vecchio). | |
entries[].bulls | array | maxItems: 100; Obbligatorio | Uno 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[].score | numero, null | minimo: 0; massimo: 100; Obbligatorio | Il punteggio del toro; null significa non ancora segnato. | |
entries[].bulls[].x | boolean | Il colpo è nell’anello X (il suo punteggio è il valore dell’anello interno). | ||
entries[].bulls[].hits | array | maxItems: 10 | Centri dei tiri in unità del raggio dell’anello esterno del bersaglio: 0,0 è il centro, +x a destra, +y in alto. | |
entries[].bulls[].hits[].dx | number | minimo: -2; massimo: 2; Obbligatorio | ||
entries[].bulls[].hits[].dy | number | minimo: -2; massimo: 2; Obbligatorio | ||
entries[].photo | string | maxLength: 512 | Un URL multimediale risolto dall’host della foto della scheda. | |
featured | string | "" | maxLength: 60 | Un 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":""}}'