Aplicación web estática que divide un vídeo o una imagen en piezas hexagonales. Cada pieza muestra un fragmento del medio alineado para formar el mosaico completo. El objetivo es hacer clic en cada hexágono para rotarlo de 60° en 60° hasta que todas las piezas queden con la orientación correcta (múltiplos de 360°). Al completarlo, se muestra el medio completo, confeti y un mensaje de felicitación.
No requiere Node ni build: solo HTML, CSS y JavaScript en el navegador.
clip-path, <canvas>, vídeo HTML5 y fetch.Abre index.html en el navegador (doble clic o arrastrar al navegador).
Para cargar vídeos por URL o evitar limitaciones de algunos navegadores con archivos locales, conviene servir la carpeta por HTTP, por ejemplo:
npx --yes serve .
Luego entra en la URL que indique la herramienta (suele ser http://localhost:3000).
| Archivo | Descripción |
|---|---|
index.html |
Interfaz: carga de medio, selectores de tamaño, botones de acción. |
script.js |
Lógica del puzzle, exportación a HTML autónomo y galería. |
style.css |
Estilos y diseño responsive. |
Otros:
puzle_inicial.html: ejemplo de puzzle empaquetado en un solo HTML (enfoque más simple, orientado a vídeo).Ejemplos/collage1.html … collage4.html: páginas de galería con varios puzzles en rejilla (referencia visual de la función “galería” de la app principal).modelo.mp4 si lo añades en la misma carpeta que index.html).El botón Generar IA llama por POST al endpoint público:
https://node.proyectodescartes.org/api/ia/image
con modelo zimage y tamaño 1024×1024. Si ese servicio no está disponible o bloquea la petición (CORS, red, etc.), la app mostrará un error o usará el respaldo con vídeo local modelo.mp4 cuando corresponda según el código de script.js.
<video> oculto alimenta varios <canvas> (un canvas por pieza) en un bucle requestAnimationFrame para dibujar la región correcta del fotograma en cada hexágono.<img> con desplazamiento y object-fit: cover para el mismo efecto de “ventana” sobre la imagen completa.clip-path: polygon(...) en .puzzle-piece.Interfaz y lógica atribuidas en el pie de página a Juan Guillermo Rivera Berrío, con apoyo de asistencia de IA (Gemini) en el mensaje del footer de index.html.
No se ha incluido archivo de licencia en el repositorio; añade la que corresponda si publicas el proyecto.