diff --git a/COMPANERO.md b/COMPANERO.md
index c87284f9..dd1e2bcb 100644
--- a/COMPANERO.md
+++ b/COMPANERO.md
@@ -74,7 +74,8 @@ Los consumibles no suman a ese total: cuestan de 5 a 15 y son opcionales.
- **Vínculo:** +1 por cada cuidado y +3 extra al cumplir el deseo de la visita. Una misma acción gratuita suma como mucho una vez cada 30 segundos, pero se puede hacer siempre.
- **Cinco niveles**, a los 0, 10, 25, 50 y 100 puntos. El 100 es el máximo y se muestra desde el principio.
- **Un deseo por visita**, distinto del de la visita anterior: probar una comida, un baño de burbujas, algo nuevo para ponerse, jugar o caricias. Primero se elige el tipo, todos igual de probables, y después cuál comida: así las siete comidas no acaparan los deseos.
-- **Escenas:** comer lleva la comida a la boca, el jabón da un baño de burbujas y jugar trae una pelota que rebota. Con movimiento reducido se ve la misma escena, quieta.
+- **Tocarlo:** responde con risa, guiño, sonrojo o un giro, nunca dos veces seguidas igual, y vuelve a mostrar su deseo. Cinco toques en 3 segundos lo marean un momento: es un gesto gracioso, no un castigo. Suma vínculo con la regla de 30 segundos y no da monedas.
+- **Escenas:** comer lleva la comida a la boca, el jabón da un baño de burbujas y jugar trae una pelota que rebota. Al comer mastica («ñam») y en el baño se sonroja. Con movimiento reducido se ve la misma escena, quieta.
## Datos
diff --git a/design/companero/expresiones.json b/design/companero/expresiones.json
index d32c7ce0..26d0ce6c 100644
--- a/design/companero/expresiones.json
+++ b/design/companero/expresiones.json
@@ -1,6 +1,6 @@
{
- "nota": "Expresiones del compañero (#9, #18). Solo cambian ojos y boca; las coordenadas copian las de cada cara. tipo: punto (ojo oscuro), pupila (búho: pupila sobre el disco claro) o panda (ojo claro con pupila sobre la mancha). Sin boca: el búho (pico) y el conejo (dientes).",
- "expresiones": ["contento", "feliz", "antojado", "dormido", "sorprendido"],
+ "nota": "Expresiones del compañero (#9, #18, #33). Solo cambian ojos y boca; las coordenadas copian las de cada cara. tipo: punto (ojo oscuro), pupila (búho: pupila sobre el disco claro) o panda (ojo claro con pupila sobre la mancha). Sin boca: el búho (pico) y el conejo (dientes).",
+ "expresiones": ["contento", "feliz", "antojado", "dormido", "sorprendido", "guino", "sonrojado", "mareado", "nam"],
"animales": {
"fox": { "tipo": "punto", "color": "#3A2620", "ojos": [[46, 58, 5], [74, 58, 5]], "boca": { "d": "M54 82c2 3 10 3 12 0", "cx": 60, "cy": 83.5, "ancho": 12 } },
"owl": { "tipo": "pupila", "color": "#2C2620", "ojos": [[45, 52, 6.5], [75, 52, 6.5]] },
diff --git a/design/companero/expresiones.mjs b/design/companero/expresiones.mjs
index 66da17ae..da37db9a 100644
--- a/design/companero/expresiones.mjs
+++ b/design/companero/expresiones.mjs
@@ -1,7 +1,7 @@
-// The companion's five expressions (#9, #18): contento (the face as drawn), feliz, antojado,
-// dormido and sorprendido. Only the eyes and the mouth change: the face's own eyes and mouth are
+// The companion's expressions (#9, #18, #33): contento (the face as drawn), feliz, antojado,
+// dormido, sorprendido, guino (a wink), sonrojado (blushing), mareado (dizzy) and nam (chewing). Only the eyes and the mouth change: the face's own eyes and mouth are
// taken out and new ones, marked data-expr, are drawn at the same coordinates (expresiones.json).
-// Run on its own, it writes the 40 animal and expression pairs to expresiones/ and checks them:
+// Run on its own, it writes the 72 animal and expression pairs to expresiones/ and checks them:
// valid SVG in headless Chrome, and nothing but the eyes, the mouth and the sleeping «z» differs
// from the contento face.
// Usage: node design/companero/expresiones.mjs
@@ -68,5 +68,5 @@ document.getElementById("r").textContent=JSON.stringify(t.map((s,i)=>new DOMPars
fallas.forEach((f) => console.error("✗ " + f));
const fuera = fallas.filter((f) => f.includes("fuera de ojos")).length;
console.log(`${archivos.length} expresiones, ${fuera} diferencias fuera de rasgos`);
- if (archivos.length !== 40 || fallas.length) process.exit(1);
+ if (archivos.length !== Object.keys(datos.animales).length * expresiones.length || fallas.length) process.exit(1);
}
diff --git a/design/companero/expresiones/bear-guino.svg b/design/companero/expresiones/bear-guino.svg
new file mode 100644
index 00000000..5f52aeec
--- /dev/null
+++ b/design/companero/expresiones/bear-guino.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/bear-mareado.svg b/design/companero/expresiones/bear-mareado.svg
new file mode 100644
index 00000000..a35016e2
--- /dev/null
+++ b/design/companero/expresiones/bear-mareado.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/bear-nam.svg b/design/companero/expresiones/bear-nam.svg
new file mode 100644
index 00000000..7d5c76f4
--- /dev/null
+++ b/design/companero/expresiones/bear-nam.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/bear-sonrojado.svg b/design/companero/expresiones/bear-sonrojado.svg
new file mode 100644
index 00000000..cd32928f
--- /dev/null
+++ b/design/companero/expresiones/bear-sonrojado.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/capybara-guino.svg b/design/companero/expresiones/capybara-guino.svg
new file mode 100644
index 00000000..38f95c15
--- /dev/null
+++ b/design/companero/expresiones/capybara-guino.svg
@@ -0,0 +1,17 @@
+
diff --git a/design/companero/expresiones/capybara-mareado.svg b/design/companero/expresiones/capybara-mareado.svg
new file mode 100644
index 00000000..1f5f3a26
--- /dev/null
+++ b/design/companero/expresiones/capybara-mareado.svg
@@ -0,0 +1,17 @@
+
diff --git a/design/companero/expresiones/capybara-nam.svg b/design/companero/expresiones/capybara-nam.svg
new file mode 100644
index 00000000..08e4fccf
--- /dev/null
+++ b/design/companero/expresiones/capybara-nam.svg
@@ -0,0 +1,17 @@
+
diff --git a/design/companero/expresiones/capybara-sonrojado.svg b/design/companero/expresiones/capybara-sonrojado.svg
new file mode 100644
index 00000000..64e9a1da
--- /dev/null
+++ b/design/companero/expresiones/capybara-sonrojado.svg
@@ -0,0 +1,17 @@
+
diff --git a/design/companero/expresiones/cat-guino.svg b/design/companero/expresiones/cat-guino.svg
new file mode 100644
index 00000000..94a64a47
--- /dev/null
+++ b/design/companero/expresiones/cat-guino.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/cat-mareado.svg b/design/companero/expresiones/cat-mareado.svg
new file mode 100644
index 00000000..52ede540
--- /dev/null
+++ b/design/companero/expresiones/cat-mareado.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/cat-nam.svg b/design/companero/expresiones/cat-nam.svg
new file mode 100644
index 00000000..d9fed4c7
--- /dev/null
+++ b/design/companero/expresiones/cat-nam.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/cat-sonrojado.svg b/design/companero/expresiones/cat-sonrojado.svg
new file mode 100644
index 00000000..a1d2e663
--- /dev/null
+++ b/design/companero/expresiones/cat-sonrojado.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/conejo-guino.svg b/design/companero/expresiones/conejo-guino.svg
new file mode 100644
index 00000000..82012712
--- /dev/null
+++ b/design/companero/expresiones/conejo-guino.svg
@@ -0,0 +1,23 @@
+
diff --git a/design/companero/expresiones/conejo-mareado.svg b/design/companero/expresiones/conejo-mareado.svg
new file mode 100644
index 00000000..0ce17f64
--- /dev/null
+++ b/design/companero/expresiones/conejo-mareado.svg
@@ -0,0 +1,23 @@
+
diff --git a/design/companero/expresiones/conejo-nam.svg b/design/companero/expresiones/conejo-nam.svg
new file mode 100644
index 00000000..407413cc
--- /dev/null
+++ b/design/companero/expresiones/conejo-nam.svg
@@ -0,0 +1,23 @@
+
diff --git a/design/companero/expresiones/conejo-sonrojado.svg b/design/companero/expresiones/conejo-sonrojado.svg
new file mode 100644
index 00000000..8110f8bd
--- /dev/null
+++ b/design/companero/expresiones/conejo-sonrojado.svg
@@ -0,0 +1,23 @@
+
diff --git a/design/companero/expresiones/fox-guino.svg b/design/companero/expresiones/fox-guino.svg
new file mode 100644
index 00000000..0f1d43c2
--- /dev/null
+++ b/design/companero/expresiones/fox-guino.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/fox-mareado.svg b/design/companero/expresiones/fox-mareado.svg
new file mode 100644
index 00000000..90924d2f
--- /dev/null
+++ b/design/companero/expresiones/fox-mareado.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/fox-nam.svg b/design/companero/expresiones/fox-nam.svg
new file mode 100644
index 00000000..8c32cb6a
--- /dev/null
+++ b/design/companero/expresiones/fox-nam.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/fox-sonrojado.svg b/design/companero/expresiones/fox-sonrojado.svg
new file mode 100644
index 00000000..dfa077be
--- /dev/null
+++ b/design/companero/expresiones/fox-sonrojado.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/nutria-guino.svg b/design/companero/expresiones/nutria-guino.svg
new file mode 100644
index 00000000..116fda7b
--- /dev/null
+++ b/design/companero/expresiones/nutria-guino.svg
@@ -0,0 +1,18 @@
+
diff --git a/design/companero/expresiones/nutria-mareado.svg b/design/companero/expresiones/nutria-mareado.svg
new file mode 100644
index 00000000..6e218b91
--- /dev/null
+++ b/design/companero/expresiones/nutria-mareado.svg
@@ -0,0 +1,18 @@
+
diff --git a/design/companero/expresiones/nutria-nam.svg b/design/companero/expresiones/nutria-nam.svg
new file mode 100644
index 00000000..707bea7d
--- /dev/null
+++ b/design/companero/expresiones/nutria-nam.svg
@@ -0,0 +1,18 @@
+
diff --git a/design/companero/expresiones/nutria-sonrojado.svg b/design/companero/expresiones/nutria-sonrojado.svg
new file mode 100644
index 00000000..a3e0e5f0
--- /dev/null
+++ b/design/companero/expresiones/nutria-sonrojado.svg
@@ -0,0 +1,18 @@
+
diff --git a/design/companero/expresiones/owl-guino.svg b/design/companero/expresiones/owl-guino.svg
new file mode 100644
index 00000000..02bc236f
--- /dev/null
+++ b/design/companero/expresiones/owl-guino.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/owl-mareado.svg b/design/companero/expresiones/owl-mareado.svg
new file mode 100644
index 00000000..bb87f4a0
--- /dev/null
+++ b/design/companero/expresiones/owl-mareado.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/owl-nam.svg b/design/companero/expresiones/owl-nam.svg
new file mode 100644
index 00000000..1cc96531
--- /dev/null
+++ b/design/companero/expresiones/owl-nam.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/owl-sonrojado.svg b/design/companero/expresiones/owl-sonrojado.svg
new file mode 100644
index 00000000..49695eea
--- /dev/null
+++ b/design/companero/expresiones/owl-sonrojado.svg
@@ -0,0 +1,10 @@
+
diff --git a/design/companero/expresiones/panda-guino.svg b/design/companero/expresiones/panda-guino.svg
new file mode 100644
index 00000000..21408ec5
--- /dev/null
+++ b/design/companero/expresiones/panda-guino.svg
@@ -0,0 +1,21 @@
+
diff --git a/design/companero/expresiones/panda-mareado.svg b/design/companero/expresiones/panda-mareado.svg
new file mode 100644
index 00000000..ebdb5366
--- /dev/null
+++ b/design/companero/expresiones/panda-mareado.svg
@@ -0,0 +1,21 @@
+
diff --git a/design/companero/expresiones/panda-nam.svg b/design/companero/expresiones/panda-nam.svg
new file mode 100644
index 00000000..4c66e8c9
--- /dev/null
+++ b/design/companero/expresiones/panda-nam.svg
@@ -0,0 +1,21 @@
+
diff --git a/design/companero/expresiones/panda-sonrojado.svg b/design/companero/expresiones/panda-sonrojado.svg
new file mode 100644
index 00000000..6af8272a
--- /dev/null
+++ b/design/companero/expresiones/panda-sonrojado.svg
@@ -0,0 +1,21 @@
+
diff --git a/design/companero/vista-previa.html b/design/companero/vista-previa.html
index e0fc2a6f..d4920f50 100644
--- a/design/companero/vista-previa.html
+++ b/design/companero/vista-previa.html
@@ -1381,6 +1381,482 @@
+nutria