Anillo solitario
349,00 €
La foto viaja de la tarjeta a la ficha, y vuelve.
Gestiweb lab · 12 piezas
Doce efectos que corren en tu navegador, cada uno con su «cómo está hecho» y para qué le sirve a tu negocio. Empieza aquí: pasa el ratón o el dedo por el nombre.
// cada punto vuelve a su sitio como un muelle, y el puntero lo aparta
v.x += (casa.x - p.x) * muelle; v.y += (casa.y - p.y) * muelle;
const d = Math.hypot(p.x - raton.x, p.y - raton.y);
if (d < radio) { const f = (1 - d / radio) * empuje; v.x += (p.x - raton.x) / d * f; v.y += (p.y - raton.y) / d * f; }
v.x *= rozamiento; v.y *= rozamiento; p.x += v.x; p.y += v.y;
02
La misma fuente de la casa, Raleway, de la más fina a la más gruesa según bajas. Es texto de verdad, no una imagen: se puede seleccionar, y en una web normal lo leen Google y los lectores de pantalla.
gsap.to(letras, {
fontVariationSettings: '"wght" 900', letterSpacing: '-0.04em', yPercent: -20,
stagger: 0.04, ease: 'none',
scrollTrigger: { trigger: seccion, start: 'top top', end: '+=120%', scrub: true, pin: true }
});
03
Baja y el reloj se abre por capas: cristal, agujas, esfera, caja y correa. Muévelo con el ratón.
// el scroll (de 0 a 1) separa cada pieza hacia su sitio del despiece
partes.forEach(p => {
p.malla.position.lerpVectors(p.montada, p.despiezada, suave(progreso));
});
04
Mueve el ratón o arrastra el dedo: es un fluido de verdad, con remolinos que se deshacen solos.
// en cada cuadro: mover, quitar la divergencia y volver a mover
advectar(velocidad); salpicar(raton);
divergencia(velocidad);
for (let i = 0; i < 20; i++) jacobi(presion);
restarGradiente(velocidad, presion);
advectar(tinta, velocidad);
Entrando ahora
05
Pedidos que entran, ventas que suben y lo que queda por servir. Cifras de ejemplo, como las verías en tu panel.
el.animate([{ transform: 'scaleY(0)' }, { transform: 'scaleY(1)' }],
{ duration: 900, delay: i * 70, easing: 'cubic-bezier(.2,.7,.2,1)', fill: 'backwards' });
349,00 €
La foto viaja de la tarjeta a la ficha, y vuelve.
06
Pulsa un producto: la foto viaja hasta su ficha. Esto ya lo llevan nuestras tiendas con las animaciones «Vivas».
Las fotos de producto se han generado con IA.
foto.style.viewTransitionName = 'foto-producto';
document.startViewTransition(() => enseñarFicha(producto));
07 · Obra nº —
Miles de trazos siguen un campo invisible. Nadie más verá esta obra: si te gusta, descárgala.
const angulo = ruido(x * escala, y * escala, semilla) * Math.PI * 4;
x += Math.cos(angulo) * paso; y += Math.sin(angulo) * paso;
ctx.lineTo(x, y);
08 · 0 en la cesta
Coge un producto y tíralo a la cesta. Física de verdad: rebota, choca y cae.
for (const a of bolas) for (const b of bolas) {
const d = distancia(a, b), solape = a.r + b.r - d;
if (solape > 0) separar(a, b, solape), rebotar(a, b, 0.6);
}
09
El clip lo ha generado una IA a partir de una frase. Aquí lo convertimos en miles de cubos que suben y bajan con su luz.
Vídeo generado con IA.
ctx.drawImage(video, 0, 0, columnas, filas);
const px = ctx.getImageData(0, 0, columnas, filas).data;
for (let i = 0; i < total; i++) {
const luz = (px[i*4] + px[i*4+1] + px[i*4+2]) / 765;
matriz.makeScale(1, 0.2 + luz * 4, 1).setPosition(x(i), luz * 2, z(i));
cubos.setMatrixAt(i, matriz);
}
10
Una melodía que se fabrica en tu navegador y mueve el dibujo. Solo suena si lo pides.
const osc = audio.createOscillator(), filtro = audio.createBiquadFilter();
osc.connect(filtro).connect(eco).connect(analizador).connect(audio.destination);
analizador.getByteFrequencyData(frecuencias); // y con ellas se dibuja
11
Elige la tela y las patas: la silla cambia al momento, y el precio también. Gírala con el ratón o el dedo.
Tela
Patas
249,00 € precio de ejemplo
boton.onclick = () => {
tela.color.set(COLORES[boton.dataset.valor]);
total.textContent = euros(BASE + EXTRA[boton.dataset.valor]);
};
12
Esto es una muestra. Lo que más hacemos es software que se usa todos los días: tiendas B2B y al público, ERP, almacén y IA que trabaja con tus datos.
Tu equipo pide menos movimiento: ves cada pieza quieta, con su explicación.