Mapping - Los clips salian del reves: mapper.js activaba UNPACK_FLIP_Y_WEBGL, pero el modelo va con origen arriba-izquierda y texImage2D ya sube la primera fila en t=0, asi que el flip la mandaba al final. Comprobado renderizando el mapper real en Chromium headless con una fuente mitad roja / mitad azul. - projectM se puede usar YA en una capa: los .milk de data/presets-projectm se traducen a Butterchurn en el navegador al elegirlos (milkdrop-preset- converter). La capa MilkDrop gana 'biblioteca' (butter | projectm) sin cambiar su firma, para no recrear el contexto WebGL al cambiar de una a otra. Medido: 100/100 presets de una muestra convierten, 84/84 de los que llevan shaders warp/comp; ~7 ms por preset. - Cada capa tiene su pestana arriba y su propia vista, y '+ CAPA' crea una y entra en ella: con varias capas, ir y volver a MAPPING no era viable. - Dos capas MilkDrop sin preset ya no salen identicas (cogian el indice 0): cada instancia elige uno al azar y lo escribe en el estado. - Una capa nueva ya no nace en la fuente "motor", que es el lienzo del motor activo y hacia que dos capas ensenaran lo mismo. Galeria de visuales - scripts/catalogar-visuales.py: ficha de cada clip (pelicula, personajes, duracion) y, sobre todo, si es una silueta de verdad y cuanta figura tiene. Distingue silueta de corte crudo por el negro puro del fondo: 0,63-0,90 frente a 0,04-0,06, sin zona gris. - El panel lista los clips agrupados por pelicula, con nombre legible y aviso de los que casi no tienen figura, en vez del nombre del archivo. - Soporte de siluetas con canal alfa (.webm VP9): transparencia de verdad, sin recorte por luminancia. El shader del mapper ya la respeta. Documentacion - docs/visuales.md nuevo; pendiente.md al dia con lo hecho y lo que queda. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
30 lines
950 B
JSON
30 lines
950 B
JSON
{
|
|
"server": {
|
|
"host": "0.0.0.0",
|
|
"port": 80
|
|
},
|
|
"kiosk": {
|
|
"browser": "chromium-browser"
|
|
},
|
|
"audio": {
|
|
"matchSource": "usb",
|
|
"_comment": "Subcadena para identificar el micro USB entre las fuentes de audio del sistema"
|
|
},
|
|
"projectm": {
|
|
"binary": "projectMSDL"
|
|
},
|
|
"network": {
|
|
"hostname": "fosfeno",
|
|
"_comment": "Nombre de red de la Raspberry. El panel queda en http://<hostname>.local/"
|
|
},
|
|
"auth": {
|
|
"token": "",
|
|
"_comment": "Vacio = panel abierto a toda la red local (como siempre). Si pones una clave, hara falta para conectarse y para subir archivos; el codigo QR del proyector ya la lleva dentro, asi que se entra escaneando igual. Recomendado en locales publicos: sin clave, cualquiera en la wifi puede apagar el equipo o meter codigo en las visuales."
|
|
},
|
|
"defaults": {
|
|
"engine": "butterchurn",
|
|
"sensitivity": 1.0,
|
|
"hydraSketch": "kaleido",
|
|
"shader": "tunel"
|
|
}
|
|
}
|