Race-G
⚠️ IMPORTANT NOTICE · EN
From Race-G v5.x onwards, documentation and support are provided exclusively in Spanish (Latin America).
⚠️ AVIS IMPORTANT · FR
À partir de la version Race-G v5.x, la documentation et l'assistance sont fournies uniquement en espagnol (Amérique latine).
⚠️ AVVISO IMPORTANTE · IT
Dalla versione Race-G v5.x in poi, la documentazione e l'assistenza sono fornite esclusivamente in spagnolo (America Latina).
⚠️ AVISO IMPORTANTE · PT
A partir da versão Race-G v5.x, a documentação e o suporte são fornecidos única e exclusivamente em espanhol (América Latina).
Race-G 11 · Operación y soporte Panel de Botones (Play)

Panel de Botones (Play)

11 · Operación y soporte

Panel de Botones — Pestaña PLAY

PLAY es el centro de operaciones en vivo. Cada botón es un overlay independiente. Gris = apagado, amarillo = al aire. Los botones son arrastrables, el orden se guarda en localStorage.play_order. La botonera que viste en las capturas se usa solo como referencia — a la derecha la tenés reducida a 300px de ancho (zoom negativo) para orientarte, pero lo importante es qué hace cada control.

Concepto clave: Todos los botones emiten por socket.io → server.py → state["labels"] → labels_state → layout.html. Algunos son toggle directo (toggleLabel), otros abren modal intermedio (openPodioModal, openUltimasVueltasModal, openSeriesModal, openComparativaModal, openRaceControlModal, openClimaModal, openCustomRotulosModal, openGrupoclasModal, openGrillaPreview, openBatallaPosModal, cdOpen, mmOpen). Las banderas usan toggleBandera(clave) y comparten la misma caja visual en pantalla — solo una manual a la vez. El Cuenta Vueltas tiene además banderas automáticas del timing (data.flag: yellow/green/red/finish/none) configuradas en Editor de Estilo → Banderas → Superior/Inferior.

1. LABELS / OVERLAYS — todos los botones explicados

Botón (como se ve)Qué hace exactamenteCuándo usarlo / dependencias
Cuenta VueltasMuestra vueltas totales, restantes o tiempo (según CONFIG → Cuentavueltas). Es el único que cambia de color automáticamente con la bandera que manda el cronometraje (amarilla, verde, roja, a cuadros). Debe quedar prendido casi toda la carrera. Internamente data-label="cuentavueltas" → #ovl-cuentavueltas en layout.Base fija de transmisión. Modo se elige en CONFIG. Si tu fuente no manda flag, queda en verde/none. No depende de campeonato.
Crawl SuperiorTira horizontal superior con posiciones, gaps, intervalos. Respeta Corte de posiciones (TODOS/CORTE), Mostrar/Ocultar Eliminados y Resaltado de Ranking. Usa datos de competitors vivos.Base fija junto con Totem y Cuenta Vueltas. Para filtrar, usá CORTE y Eliminados.
Totem LateralColumna vertical con posiciones. Columna derecha configurable: logo de marca o cantidad de sobrepasos. Columna de dif configurable: diferencia real o paradas restantes.Base fija. Config rápida en SLOT DERECHO / FUENTE / MOSTRAR EN DIF/GAP. Marca viene de drivers/{gid}.json → marca.
Vuelta RápidaDestaca la mejor vuelta de la carrera hasta ese momento. Si hay nueva mejor mientras está al aire, se actualiza solo.Úsalo como destaque 5-10s cada vez que alguien baja el récord. No lo dejes fijo.
GanadorRótulo de ganador. Es zona segura: LABELS_INDEPENDIENTES_DE_GRUPO — no se borra al cambiar de grupo/tanda. Queda hasta Reset.Cierre con bandera a cuadros. data-label="ganador"
Clasif. FinalTabla final estática (no viva). Paginada con ◀ Anterior / Siguiente → cfCmd('prev'/'next') → state._cf_page. Solo funciona si el overlay está al aire.Post carrera, cuando ya no hay datos vivos. Permite recorrer toda la clasificación.
🏆 PodioAbre modal: confirmás P1-P2-P3 y luego manda al aire. No es toggle directo.openPodioModal() → confirma → labels_state.podio
Speed TrapVelocidad máxima por sector. Cálculo en server.py → calc_speedtrap(): largo * factor / tiempo_sector * 3.6. Usa autódromo activo con extensión, sector y factor.Tras rectas largas. Requiere autódromo activo con datos de SpeedTrap cargados. Si vacío, sale vacío.
🏁 Últimas VueltasAbre modal con histórico de últimas vueltas por piloto. Usa state["_ultimas_vueltas"] que se llena en cada poll del timing.openUltimasVueltasModal(). Para análisis de ritmo en relanzamientos.
Top 10 Pit Stop ACTCTop 10 paradas más rápidas en boxes. Datos de PitBox / timing. Solo visible en perfil ACTC.labelPreviewOrToggle(this,'top10pitstops','pitstop')
Top 7 MarcasAgrupa por marca (Ford, Chevrolet, etc.) y muestra mejores por marca. Marca desde Drivers.Categorías multimarca. Si marca no mapeada, no aparece.
🏆 Campeonato CompletoTabla de campeonato histórico (pre-carrera). Zona segura. Paginado con champCmd('prev'/'next') → state._champ_page. Respeta Solo Apellido y rows_per_page del estilo visual.Previa y post. Requiere campeonato activo en campeonatos.json
SeguidorFocus en un piloto seguido: muestra gap adelante y atrás. Piloto seguido se elige en CONFIG o clic en clasificador.Para onboard o persecución específica.
🏆 Campeonato ReducidoVersión compacta del campeonato, menos filas, ideal para overlay chico.Zona segura. Mismo origen que Completo pero layout reducido.
Mejores Parc.Mejores parciales (sectores) del día. Toma bs1..bs5 (best sector personal) del timing.Útil para ver dónde se hace la diferencia. Requiere fuente con sectores.
🏆 Campeonato En VivoSolo puntos de hoy, sin histórico. Calcula según regla de puntos activa.Durante carrera para ver puntos que se están ganando ahora.
📰 SeriesAbre modal de Series / Baterías. Muestra grillas de series clasificatorias.openSeriesModal(). Para fin de semana con series.
🏆 Campeonato Post CarreraHistórico + puntos de esta carrera sumados según regla activa. Es el cierre oficial con puntos ya aplicados.Al final, cuando terminó todo. Necesita regla de puntos.
Top 10 AvancesTop 10 pilotos que más avanzaron: pos_largada - position. Cálculo en enrich_grilla() usando cfg.grilla_activa → secuencia.Tras largada o relanzamiento. Requiere grilla activa.
✕ ComparativaAbre modal de comparativa por sectores S1-S5 vs otro piloto. Requiere autódromo con total + S1..S5 cargados.openComparativaModal()
🏁 RaceControl ACTCMensajes de Dirección de Carrera: investigaciones, recargos, apercibimientos. Abre modal editor.openRaceControlModal(). Solo ACTC.
🏆 Record Circuito ACTCMuestra récord oficial del circuito activo. Datos de circuitos.json → autódromo activo. Zona segura.Previa, para contexto histórico.
☁️ ClimaAbre modal de Clima → foto fija de condiciones. Guarda en _clima_data zona segura. El botón NO se ilumina (excepción).openClimaModal(). Ver guía clima.php. Es foto fija, no live.
Mejores Últimas 5 VTop consistencia: mejores promedios de últimas 5 vueltas por piloto. Usa histórico _ultimas_vueltas.labelPreviewOrToggle(...'records5v')
🟢 RÓTULOS CUSTOMIZADOSRótulos libres creados por usuario (tercios custom). Abre modal gestor.openCustomRotulosModal(). Verde en UI real #102216 / #2e7a3f.
Top 10 Refuelling ACTCTop 10 tiempos de recarga: tiempo Pit Stop - offset. Offset se carga en input #top10-refuel-offset-input → cfg.top10_refuel_offset. Acepta decimales con punto, no coma.Separa tiempo de combustible. Si offset vacío, no resta. Usar punto: 22.9

2. Configuradores rápidos del Totem/Crawl — SLOT DERECHO / FUENTE / MOSTRAR EN DIF/GAP

En tu captura 1 aparecen justo debajo de los botones principales. Son 3 filas que cambian el storytelling sin ir a CONFIG.

FilaOpcionesQué cambia en pantallaJS / config
SLOT DERECHO:Logo Marca / SobrepasosColumna derecha del Totem: logo de marca (de Drivers) o número de sobrepasos del piloto.setTotemSlot(v) → cfg.totem_slot — Azul activo #7dd3fc
FUENTE: ACTCPARADAS / COMB / NEUM / MANUALÍcono de paradas en Totem/Crawl: PARADAS=número puro, COMB=bidón combustible, NEUM=neumático, MANUAL=planilla Google Sheets. MANUAL lee paradas_manual.json.setStopsMode(v) → cfg.cf-stops-mode — Verde activo #bbf7d0
MOSTRAR EN DIF/GAP:Diferencias / ParadasEn columna de diferencias: dif=gap/intervalo real, paradas=paradas restantes obligatorias.setStopsDisplayMode(v) → cfg.cf-stops-display — Azul activo

3. Banderas / Situaciones — 10 estados manuales + 2 automáticas

Las manuales comparten misma caja en pantalla: state.manual.box = {width,height,top,left,align} editable en Editor de Estilo → Banderas. Solo una manual a la vez. Cada estado manual tiene: bgType, bg, bg2, bgMid, angle, bgImage, text, textOn, align, valign, fontFamily, fontSize, fontWeight, textColor, shadowMode, shadow, padding, radius. Texto admite token {N} solo en Últimas X.

Botón (captura)ClaveCuándo usarloDetalle técnico
● Formación (amarillo)formacion / _bnd_formacionVuelta de instalación previa a largadatoggleBandera(this,'formacion')
● Previa (amarillo)previaHimno, presentación, previaMisma capa que resto
● Pace Car (naranja)safetySafety Car real en pistaDiferente de amarilla automática del crono
● Bandera Roja (rojo)rojaDetención por incidenteActiva semáforo en rojo si está prendido
○ Última Vuelta (blanco)ultimaÚltima vuelta fijaNo depende de vueltas restantes
● VSC (amarillo)vscVirtual Safety CarTexto VSC
Actividad DemoradademoradaDemora sin rojaCartel neutro
🏁 Últimas X Vueltas + badge 2ultimas_xCierre con cuenta regresiva real#ultimas_x_n = rgLapsRemaining(currentData) → se actualiza solo. En editor {N}
🚫 Carrera SuspendidasuspendidaSuspensión sin cancelaciónCongela visual
✕ Carrera CanceladacanceladaCancelación definitivaCartel final
Doble sistema: Automáticas del Cuenta Vueltas: CV_FLAG_STATES = yellow/green/red/finish/none → superior e inferior desde data.flag. Manuales: 10 estados, misma caja, se pisan. Se editan en Editor de Estilo → Banderas. Bloque arrastrable por grip ⠿ o flotar con bndPanelFloat() / bndPanelDock().

4. Paradas en Boxes — ACTC

Control (captura 2)Qué haceBadge
🅿 PARADAS EN BOXESModal con flotantes: En Boxes (cronómetro por auto) e Historial de Paradas. Solo si #cf-gestion-paradas-panel tildado en CONFIG. openParadasBoxModal()#paradasbox-status-badge: rojo=sin actividad (tu foto), verde=auto en boxes, gris=sin configurar
📋 GESTIÓN DE PARADAS (MANUAL)Conecta Google Sheet. Guarda URL en cfg.paradas_manual_url. Alimenta SOURCE=MANUAL. openParadasManualModal()#paradasmanual-status-badge: verde=conectado (tu foto), gris=sin configurar, rojo=error Sheets
⛽ TOP 10 REFUELLING — RESTA (SEG): 0Input #top10-refuel-offset-input → cfg.top10_refuel_offset. Cálculo: tiempo_pitstop - offset = tiempo_recarga. Acepta decimales con punto. En tu captura 0.Si vacío, no resta. Usar punto: 22.9

5. Campeonato, corte y visibilidad

Control (captura 2)Qué haceDependencias
CAMPEONATO ACTIVO: TC 2026 (63)Elige campeonato para toda la sesión. Afecta todos los overlays de campeonato, resaltado y logos. champSetActiveFromPlay()campeonatos.json — 63 pilotos en tu foto
REGLA: Regla BasicaRegla que define puntos por posición. Usada para Campeonato Post y En Vivo. Sin regla, suma 0.reglas.json
CORTE: TODOS / CORTE / 8TODOS=sin corte. CORTE+N=solo primeras N en Crawl/Totem. Guarda cfg.corte_modo + cfg.corte_valor. Necesita 💾 corteSave(). En tu foto TODOS activo azul, 8 cargado.Afecta Crawl y Totem
Mostrar/Ocultar EliminadosAlterna cfg.mostrar_eliminados. Si off, DNF/OUT no aparecen.competitors.estado
Apagar / Recuperar / ResetApagar guarda snapshot _labels_snapshot y apaga todo. Recuperar restaura. Reset borra snapshot, limpia _ultimas_vueltas y deja solo zona segura.Recuperar solo si antes usaste Apagar
CLASIFICADOR FINAL: Anterior / SiguientePaginación → cfCmd('prev'/'next') → state._cf_pageSolo si overlay al aire
CAMPEONATO COMPLETO: Anterior / SiguientePaginación → champCmd('prev'/'next') → state._champ_pagerows_per_page del estilo

6. Grupos, Grilla, Batalla, Countdown y Media

Bloque (capturas 2,3,4)Qué haceDetalle técnico
GRUPOS CLASIFICATORIOS — Seleccionar — Mostrar / GestionarMuestra grupos de clasificación. Gestionar abre CRUD.#gc-play-select → toggleGrupoClas() → grupos_clasificatorios.json
GRILLA DE PARTIDA — SELECCIONAR GRILLA + ↻Elige grilla, preview y manda al aire. En tu captura selector vacío + recarga.#grilla-select-play → setActiveGrilla() → cfg.grilla_activa → enrich_grilla() pos_largada/avance. loadGrillas() /api/grillas, openGrillaPreview(), toggleGrillaOverlay(), /api/grilla_page/prev/next
⚔ BATALLA POR POS — MOSTRAR/OCULTAR / APAGARConfigurás pelea entre 2+ pilotos. Estado — sin batalla — en tu foto.openBatallaPosModal() → state._batalla, toggleBatallaOverlay(), hideBatallaOverlay(), #batalla-status
⏱ COUNTDOWN — RACE START IN — Editar/Play / SacarCuenta regresiva largada. Seteás mm:ss, texto, beep. Estado — sin countdown — en tu foto.cdOpen() → cd_start → layout 100ms, cdStop() → cd_stop, state._countdown
🎬 MEDIA PLAYBACK — GESTOR / SALIDA Layout / DIRECTORIO ANIMATION_ALPHA_1.webm / PLAY PAUSA RESUME STOP REPLAY RESTAURAR / BLOQUESGestor define tamaño, posición, grupos. Salida: auto (Caspar si responde si no Layout), caspar, layout, both. Directorio lista /media. Conversión ⇄ WebM VP9+alpha para transparencia. Transporte con PLAY/PAUSE/END/LOOP/STG/5S y tiempos. Bloques reproducen grupo completo.mmOpen() → media_groups.json, videoSetOutput(), videoLoadList() /api/media/list, videoUploadFile() /api/media/upload, videoConvert() /api/media/convert ffmpeg, videoCmd('play'/'pause'/'resume'/'stop'/'replay'/'restore'), plCmd('play'/'prev'/'next'/'stop'), state._playlist, #pl-quick-status, #video-status, .vtime .vtime-fill. Video por encima de todo. Formatos: mp4,mov,avi,mkv,mxf,m4v,webm,png,jpg,gif,webp,bmp,svg,tif,tga
Flujo recomendado: Previa: CONFIG Fuente + Autódromo S1-S5 + total + SpeedTrap + Record + Campeonato + Regla + Polling. PLAY: Camp Completo, Record, Comparativa, Grilla, Clima, Previa. Largada: Countdown 05:00→00:00, Apagar, Cuenta Vueltas a Vueltas, prender Cuenta Vueltas + Crawl + Totem + Semáforo, Corte TODOS. Carrera: base fija 3, destaques 5-10s: Vuelta Rápida, Mejores Parc, Speed Trap, Top10 Avances, Batalla si <1s, Sobrepasos Amarilla revisando cola. Banderas: Pace/VSC/Roja/Demorada/Últimas X badge 2. Paradas ACTC: badge verde, SOURCE=FUEL o MANUAL, SHOW=Stops. Cierre: Última + Últimas X, Ganador, Podio, Clasif Final ◀▶, Camp Post + Camp Cambios animación 3s.
REFERENCIA VISUAL — 300PX MAX (zoom negativo 0.72)
LABELS / OVERLAYS — tus 4 capturas reducidas
Cuenta Vueltas
Ganador
Crawl Superior
Totem Lateral
Vuelta Rápida
Clasif. Final
🏆 Podio
Speed Trap
🏁 Últimas Vueltas
Top 10 Pit Stop
Top 7 Marcas
🏆 Camp. Completo
Seguidor
🏆 Camp. Reducido
Mejores Parc.
🏆 Camp. En Vivo
📰 Series
🏆 Camp. Post Carrera
Top 10 Avances
✕ Comparativa
🏁 RaceControl
🏆 Record Circuito
☁️ Clima
Mejores Últimas 5 V
🟢 ROTULOS CUSTOM
Top 10 Refuel
SLOT DERECHO: Logo Marca | Sobrepasos — FUENTE: PARADAS COMB NEUM MANUAL — DIF/GAP: Diferencias Paradas
● Formación
● Previa
● Pace Car
● Bandera Roja
○ Última Vuelta
● VSC
Actividad Demorada
🏁 Últimas X 2
🚫 Suspendida
✕ Cancelada
🅿 PARADAS EN BOXES ● rojo
📋 GESTIÓN MANUAL ● verde
TOP10 REFUEL RESTA: 0
CAMPEONATO TC 2026 (63) | Regla Basica
CORTE: TODOS CORTE 8 | Mostrar/Ocultar Eliminados | Apagar Recuperar Reset
CLASIFICADOR FINAL ◀ ▶ | CAMP. COMPLETO ◀ ▶
GRUPOS: Seleccionar — Mostrar Gestionar | GRILLA: Seleccionar ↻
BATALLA POR POS — sin batalla | COUNTDOWN — sin countdown
🎛 GESTOR DE MEDIOS | SALIDA Layout | ANIMATION_ALPHA_1.webm 6.8MB | PLAY PAUSA RESUME STOP REPLAY RESTAURAR | BLOQUES — sin grupos — sin lista
AI
Race-G Assistant
Ayudante automatizado por IA
Hola! Bienvenido a Race-G...
Haz tu pregunta aquí, o tal vez te interese:
Cargando…