# Motor de ajedrez — atribución y licencia (GPL-3)

Los ficheros de este directorio **no forman parte del código de Tempo** y no se han
modificado ni compilado de nuevo. Se sirven tal cual, como componente separado, y Tempo
se comunica con ellos exclusivamente mediante mensajes UCI sobre un Web Worker.

## Qué hay aquí

| Fichero | Tamaño | SHA-256 |
|---|---|---|
| `stockfish-19-lite-single.js` | 21.415 B | `D3344124AB067FB0B90EE77873BB8E9FBF5FC01BC525FE714B0F942581E889E6` |
| `stockfish-19-lite-single.wasm` | 1.787.571 B | `57AC2D72312ABA346760E3F173F687A8C211208E97A87268436F7F0E10BB5387` |

## Origen exacto (código fuente correspondiente)

- Proyecto: Stockfish.js (WASM de Stockfish para navegador), versión **19.0.0**.
- Autoría: Stockfish.js (c) 2026, Chess.com, LLC. Stockfish (c) los autores de Stockfish.
- Binarios: <https://github.com/nmrugg/Stockfish.js/releases/tag/v19.0.0>
- Código fuente de la versión servida:
  - <https://github.com/nmrugg/Stockfish.js/tree/v19.0.0>
  - <https://github.com/official-stockfish/Stockfish/tree/sf_19>
- Texto completo de la licencia: <https://raw.githubusercontent.com/nmrugg/Stockfish.js/master/Copying.txt>

## Licencia

Licencia pública general GNU, versión 3 (GPL-3.0). Se distribuyen los binarios sin
modificar; quien reciba esta web tiene derecho a obtener el código fuente correspondiente
en los enlaces anteriores. Tempo no incorpora, enlaza estáticamente ni relicencia el motor.

## Cómo se regeneran

```bash
npm run engine:fetch
```

El script descarga de nuevo los ficheros desde la release oficial y **verifica el SHA-256**
de cada uno; si el hash no coincide, aborta. Para cambiar de variante (o de versión del
motor) hay que editar `scripts/fetch-engine.mjs` y actualizar esta tabla y los tamaños de
`src/lib/chess/engine.ts`.

## Por qué esta variante

`lite` + `single` (1,8 MB) porque: arranca en cualquier navegador y móvil sin cabeceras
COOP/COEP, no bloquea la interfaz (corre en un Web Worker) y a profundidades 12-18 su
clasificación de errores coincide con la del motor completo. La variante completa ocupa
≈94 MB, lo que en móvil arruina el tiempo de carga y la primera impresión.
