Un CD girando en tu escritorio.

JewelCase es un widget 3D de código abierto: una caja de CD transparente con el disco del álbum que está sonando en Spotify, con refracción real de tu fondo de pantalla.

Demo en vivo: arrastrá para girar, clic para abrir la tapa

Qué es

Un objeto físico simulado con medidas reales (caja de 142 × 125 × 10,4 mm, CD de Ø 120 mm) que vive sobre tu escritorio y cambia de álbum cuando cambia tu música.

Plástico transparente real

Shader propio con absorción de Beer-Lambert, reflexión interna total y Fresnel. Rayones procedurales que solo brillan cuando agarran la luz.

El CD del álbum

Busca la foto real del disco en MusicBrainz / Cover Art Archive, Discogs, TheAudioDB y Fanart.tv. Si no hay, genera una serigrafía con la paleta de la portada.

Difracción física

El disco refleja arcoíris con una pista de 1,6 µm (órdenes 1 a 3) y marcas que giran con él.

Refracción del escritorio

La caja deforma lo que hay detrás, en vivo. La ventana es transparente y deja pasar los clics fuera del objeto.

Librito interactivo

Abrí la tapa, mirá la lista de canciones y tocá un renglón para reproducirla (Spotify Premium).

Liviano

Dibuja solo cuando algo cambia, baja la frecuencia en reposo y se pausa con apps a pantalla completa.

Instalar

Bajá el archivo de tu sistema desde la última release. No hace falta cuenta ni instalar nada más.

SistemaArchivoEstado
Windows 10/11 (x64).msi o -setup.exeCompleto Todas las funciones. Requiere WebView2 (ya viene con Windows 11).
Linux (x64).AppImage, .deb, .rpmExperimental Sin refracción en vivo del escritorio ni detección instantánea de Spotify. En Wayland el click-through dinámico puede no funcionar; X11 es lo recomendado.
macOS (Apple Silicon).dmgExperimental Igual que Linux. Sin firmar: clic derecho → Abrir la primera vez.

Windows puede mostrar SmartScreen porque el instalador no está firmado: «Más información → Ejecutar de todas formas».

Cómo se usa

  1. Abrí JewelCase. Aparece el widget en el escritorio y un ícono en la bandeja del sistema.
  2. Arrastrá para girar la caja. Clic sin mover para abrir o cerrar la tapa.
  3. Alt + arrastrar mueve la ventana. También podés usar «Reposicionar» en la bandeja (doble clic para salir de ese modo).
  4. Ajustes (clic en el ícono de la bandeja): tamaño, nivel de ventana (siempre encima / al fondo), calidad, refracción, desgaste de la caja y el CD, papel, fondo.
  5. Recargar arte desde la bandeja si un álbum trajo mal el disco. Por álbum podés fijar una foto manual con una URL.

Mouse

Arrastrar: rotar · Clic: tapa · Alt+arrastrar: mover · Clic en renglón: reproducir canción.

Bandeja

Ajustes, Reposicionar, Recargar arte, Salir.

Claves opcionales

Fanart.tv y Discogs mejoran la búsqueda de discos. Sin ellas funciona igual con MusicBrainz y TheAudioDB.

Conectar Spotify

Usa tu propio Client ID (autenticación PKCE, sin secretos). Hacerlo lleva dos minutos. Reproducir al tocar un renglón requiere Premium.

  1. Entrá a developer.spotify.com/dashboard y creá una app.
  2. En Redirect URIs agregá exactamente:
    http://127.0.0.1:47862/callback
  3. Copiá el Client ID y pegalo en Ajustes → Spotify, luego «Conectar».

El token de sesión se guarda en el almacén seguro del sistema (Administrador de Credenciales en Windows). En Windows, JewelCase también detecta el cambio de canción al instante sin iniciar sesión.

Compilar desde el código

Necesitás Node LTS y Rust (toolchain estable). En Windows, Visual Studio Build Tools con «Desktop development with C++». En Linux: libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libssl-dev libdbus-1-dev.

git clone https://github.com/XradX314/jewelcase.git
cd jewelcase
npm install
npm run tauri dev      # desarrollo
npm run tauri build    # genera los instaladores

src/render/jewelcase.ts es generado: para tocar el render editá tools/render/*.part.ts o build.mjs y corré npm run render. La referencia visual es demo.html.

Stack: Tauri 2 (Rust) · Vite · TypeScript · Three.js 0.158.