# Pruebas del proyecto

Para ver la simulación no necesitas Node.js ni ejecutar pruebas. Para desarrollar, desde la carpeta del proyecto:

```text
node tests/camaras.cjs
node tests/materiales.cjs
node tests/observador.cjs
node tests/eclipses.cjs
node tests/terreno.cjs
node tests/lugares-luna.cjs
node tests/estrellas.cjs
node tests/calendario-ui.cjs
node tests/rendimiento.cjs
node tests/recursos.cjs
node tests/recursos-luna.cjs
node tests/suelo-lunar.cjs
node tests/noche.cjs
node tests/experiencias.cjs
node tests/estado.cjs
node tests/linea-tiempo.cjs
node tests/mapa-lunar.cjs
node tests/inmersivo.cjs
node tests/camara-libre.cjs
node tests/navegacion.cjs
node tests/planetas.cjs
node tests/escena-planetas.cjs
node tests/planetas-materiales.cjs
node tests/observador-planetas.cjs
node tests/estado-planetas.cjs
node tests/fotografia.cjs
node tests/controles-rapidos.cjs
node tests/luna-actual.cjs
node tests/rotulos-estrellas.cjs
node tests/comparar.cjs
node tests/constelaciones-v11.cjs
node tests/cielo-v11.cjs
node tests/jupiter.cjs
node tests/ayuda-visual.cjs
node tests/estado-v11.cjs
node tests/herramientas-v11.cjs
node tests/astro-actual.cjs
node tests/seleccion-planetas.cjs
node tests/lugares-planetas-datos.cjs
node tests/lugares-planetas.cjs
node tests/navegacion-observar.cjs
```

Son pruebas locales, sin paquetes adicionales ni conexión. Cubren encuadres y seguimiento, materiales, ubicaciones, fases, eventos, eclipses y geometría del terreno. Los shaders y controles también se revisan visualmente en navegador.

La advertencia de Three.js sobre la edición clásica es esperada: se conserva para permitir la apertura con doble clic sin servidor. Consulta [el registro de verificación v06](../references/verificacion-v06.md).

La versión 05 añade comprobaciones de desplazamiento y horizonte lunar, planificación nocturna y cambios de hora, recorridos educativos, validación de escenas importadas, restauración de cámaras y composición de imágenes.

La prueba del planificador usa un reloj y una cola de fotogramas controlados: mide trabajo solicitado, no FPS ni batería de un dispositivo físico. Los errores numéricos de estrellas se comparan con otra ruta del mismo motor astronómico, no con observaciones independientes.

La versión 06 comprueba ventanas y marcas temporales, selección agrupada durante arrastres, mapa y destinos derivados del DEM, reutilización de fondos, y entrada/salida del modo inmersivo con alternativa sin Fullscreen.

La versión 08 añade traslaciones en los ejes de la cámara, seguimiento después de desplazarse, guardado entre fotogramas, controles de ratón y teclado y el mando de flechas. `navegacion.cjs` comprueba repetición y cancelación de pulsaciones; integrado con el bucle real, confirma que mover en pausa no recalcula efemérides y que al soltar se vuelve al reposo. Registro: [verificación v08](../references/verificacion-v08.md).

La versión 09 añade miniatura lunar calculada (fases, libración, eclipse, textura y caché), controles rápidos sincronizados y nombres legibles con tamaño estable y descarte de solapamientos. Registro: [verificación v09](../references/verificacion-v09.md).

## Comprobaciones añadidas en la versión 11

- `comparar.cjs`: las cien parejas a varios anchos, radios medios, escala de
  diámetros, distancia Tierra–Luna y conversión exacta de velocidad de la luz.
  Comprueba que cerrar el desplegable deja el dibujo en reposo.
- `constelaciones-v11.cjs`: 88 constelaciones únicas, las dos figuras de Serpiente,
  búsquedas con tildes y nombres HYG, picking de líneas/rótulos y selección sin
  alterar coordenadas.
- `cielo-v11.cjs`: diferencias relativas Ciudad/Campo/Cielo oscuro, efectos de
  altura, crepúsculo y fase/posición lunar; ninguno reintroduce estrellas de día.
  También comprueba opciones guardadas antes de crear el visor local.
- `jupiter.cjs`: posiciones en muestras independientes de JPL Horizons, escalas,
  movimiento, velocidad, geometría de sombra e integridad de los mapas USGS.
  Consulta las desviaciones medidas en [Júpiter v11](../references/jupiter-v11.md).
- `ayuda-visual.cjs`: coherencia de la altura solar sobre la Luna con su
  orientación 3D, cruce ascendente del horizonte, cancelación, límites de fecha y
  detección de cuerpos fuera del encuadre.

El mapa de orientación y la disposición de controles requieren también una
comprobación visual en navegador. Los resultados numéricos son comprobaciones de
casos concretos, no una certificación de precisión científica en cualquier fecha.
Los presets de cielo son un modelo ilustrativo: sus pruebas verifican coherencia
relativa, no predicciones de visibilidad atmosférica real.

- `estado-v11.cjs`: compatibilidad de favoritos antiguos y restauración de contaminación lumínica, constelaciones y foco joviano.
- `herramientas-v11.cjs`: mapa en dos escalas, proyección cenital, seguimiento de cámara, recuperación de Ío y cancelación de búsqueda lunar ante cambios del usuario.

Resultado integrado: [verificación v11](../references/verificacion-v11.md).

## Comprobaciones añadidas en la versión 12

- `astro-actual.cjs`: coherencia de la iluminación y la orientación de la miniatura, norte arriba, diámetros medios y distancias físicas. Comprueba que el cambio de astro y el estado de reposo no necesitan otro motor 3D.
- `seleccion-planetas.cjs`: seleccionar un planeta vuelve al visor y actualiza la tarjeta sin abrir automáticamente la ficha inferior. La ficha se abre con la acción explícita correspondiente; las vistas lunares y locales conservan su contexto.
- `lugares-planetas-datos.cjs`: contrato de los 23 lugares, identificadores únicos, fuentes oficiales HTTPS, signos de longitud, fechas y distinción entre referencias de superficie y gigantes sin marcas inventadas.
- `lugares-planetas.cjs`: proyección y visibilidad de lugares, relación con la superficie, filtro por día de aterrizaje y distribución de etiquetas.

La tarjeta, la posición de las etiquetas y los cambios de encuadre se revisan también en navegador. Las pruebas geométricas no certifican precisión cartográfica métrica ni convierten los mapas históricos en imágenes actuales. El filtro de aterrizajes tiene precisión de día UTC.

Resultados de esta entrega: [verificación v12](../references/verificacion-v12.md). Los registros anteriores se conservan como historial.

## Comprobaciones añadidas en la versión 13

- `navegacion-observar.cjs`: elegir un eclipse o volver a su máximo recupera su vista y enfoca el visor; el arrastre continuo no quita el foco y confirmar devuelve a la imagen. Comprueba el orden de actualización del cielo local y la visita a un lugar lunar sin abrir ajustes inferiores.
- `lugares-luna.cjs` y `lugares-planetas.cjs`: geometría y distribución con dimensiones mayores de texto. Se comprueban etiquetas sin superposición, márgenes, conectores y prioridad del lugar seleccionado en vistas amplias y estrechas.
- Las comprobaciones existentes de selección planetaria, constelaciones, recorridos y estado siguen formando parte de la regresión.

La revisión en navegador completa estas pruebas: retorno desde paneles inferiores, teclado y barras arrastrables, recorridos y favoritos, y legibilidad de lugares en escritorio y móvil. Consulta los resultados obtenidos en el [registro de verificación v13](../references/verificacion-v13.md). Las pruebas locales no miden la legibilidad en todos los tamaños de pantalla ni certifican todos los navegadores.

## Versión 17

```text
node tests/mundos-modelo.test.cjs
node tests/mundos-renderer.test.cjs
node tests/mundos-integracion.cjs
```

Comparación independiente con JPL Horizons, unidades y forma de los cuerpos, cámara local, iluminación, sombras, mapas opcionales y escenas guardadas. Consulta los límites de las mediciones en `references/mundos-modelo-v17.md`.


La versión 18 añade `node tests/sonido.cjs` y `node tests/sonido-interfaz.cjs` para reproducción, efectos, preferencias, errores y controles.
