@hostarys/marciano 1.1.0
- Marciano más robusto, rápido y accesible (API compatible).
- Correcciones: `queue()`/`play()` se cumplen al acabar su expresión aunque la cola ya esté en marcha; `play()` interrumpe también a mitad de parpadeo y con una expresión desconocida avisa y devuelve una promesa cumplida; quitar `mood` o `status` recalcula la base (`status` > `mood` > `dots`); `glow="0"` apaga el resplandor; `lipSync()` ya no duplica el audio ni deja analizadores colgados (`stopLipSync()` nuevo); `say()` cumple la promesa anterior y usa siempre texto plano; un error en una transición ya no congela al Marciano; el arrastre termina con `pointercancel` y no dispara clic al soltar; dos accesorios explícitos del mismo hueco: gana el primero; `toAttributes` acepta `"false"`.
- Rendimiento: un solo bucle de animación y un solo listener de puntero para todos los Marcianos, plantilla SVG analizada una vez, escrituras al DOM solo cuando cambian, rects cacheados, apagado total tras `exit()`, chispas en bolsa fija, modo ligero sin el hervor del filtro y movimiento reducido que para el SMIL y las chispas (atributo `motion`). Silueta en path relativo (misma geometría) y nuevo `marciano-flame.min.js` (85 KB, 34 KB gzip).
- API: eventos `ready`, `poke`, `sleep`, `wake`, `dragstart`, `dragend`, `saystart`, `sayend` y `queuechange` (`moodchange` solo en cambios reales, con `previous`); métodos `stop()` y `stopLipSync()`; `el.mood` asignable y `el.baseMood`; `MarcianoFlame.version` y aviso si otra versión intenta registrarse; `say()` sin texto muestra el contenido hijo. Props React nuevas (`label`, `decorative`, `motion`, `onReady`, `onPoke`, `onQueueChange`...), subruta `@hostarys/marciano/core` sin React y directivas `"use client"` fiables (también en modo watch). El componente ya no se incrusta en cada salida del paquete.
- Accesibilidad: rol `img` con nombre (`label`) o botón enfocable con Enter/Espacio y anillo de foco; `decorative` lo oculta.
- Plugin de WordPress: atributos `paused`, `label`, `decorative` y `motion` en el shortcode; atributos permitidos por kses generados desde el componente; carga el script minificado (el normal con `SCRIPT_DEBUG`).
- Reestructura del monorepo: las listas de expresiones, accesorios, temporadas, colores y estados salen de `shared/marciano.manifest.json` (misma API pública). `@hostarys/marciano/marciano-flame.js` incluye ahora sus tipos. El plugin de WordPress admite todos los accesorios y el atributo `season`.