DIVIETO
CARGANDO DRAFT
OVERALL
herramientas de desarrollo

Esta pantalla solo pinta. Coste, química, legalidad, permiso de editar y estado de jornada vienen resueltos del contrato.

Química: el tramo lo resuelve el dominio y viaja en el contrato (chemistry.tier por slot, connection.tier por enlace). El tramo nulo se llama gray y se pinta rojo; el gris punteado es la conexión potencial (hueco vacío). Mientras montas, la química y el overall se recalculan aquí llamando al mismo módulo del dominio (src/domain/scoring-engine.mjs): no hay una segunda copia de la fórmula, y al guardar manda lo que diga el servidor.
Tope de overall: la barrera está donde se escribe el dato — el backend rechaza un once por encima del tope con DRAFT_OVER_CAP y no lo guarda. Esta pantalla lo avisa fuerte y deja seguir montando (no bloquea la elección, como en el prototipo), pero quien manda es el servidor.

view model crudo