boosterarena-mcp 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/nucleo.mjs +6 -2
  2. package/package.json +1 -1
package/dist/nucleo.mjs CHANGED
@@ -1712,6 +1712,8 @@ function conLoDelMcp(lista2, fn) {
1712
1712
  const recolocar = props("recolocar");
1713
1713
  recolocar.x = num("Nuevo borde izquierdo en %. Puede ser NEGATIVO o pasar de 100 para dejar el objeto FUERA del slide y que entre con una trayectoria (el monstruo que entra solo: x = -50).");
1714
1714
  recolocar.y = num("Nuevo borde superior en %. Tambi\xE9n puede quedar fuera del slide, como `x`.");
1715
+ props("poner_figura").alto = num("Alto en % del alto del slide, independiente del ancho. Para los paneles de capa: una elipse blanca de w 82 \xD7 alto 77, o un rect de 83 \xD7 71. Sin esto, la figura guarda su proporci\xF3n de siempre.");
1716
+ recolocar.alto = num("Nuevo alto en %: para cajas (Revelador, Ciclo, QR\u2026), zonas calientes y FIGURAS, independiente del ancho.");
1715
1717
  props("cambiar_estilo").gris_al_tocar = bool("true = en el \u25B6 Player, al tocar el objeto se vuelve gris (y otro toque le devuelve el color). Le dice al coach qu\xE9 botones ya us\xF3. false lo quita.");
1716
1718
  const i = lista2.findIndex((t) => t.function.name === "poner_emoji");
1717
1719
  lista2.splice(i + 1, 0, fn(
@@ -3354,7 +3356,9 @@ El ref "${refBase}" es el rengl\xF3n grande; cada uno es tambi\xE9n "${refBase}_
3354
3356
  x: pct(args.x, 40),
3355
3357
  y: pct(args.y, 35),
3356
3358
  w,
3357
- h: def.alto === "cuadrado" ? squareH(w) : squareH(w) * def.alto,
3359
+ // `alto` libre solo desde el MCP: los paneles de capa de los maestros son elipses de 82 × 77
3360
+ // y rectángulos de 83 × 71, estirados a mano en el editor (Planificatron, corpus 2026-09-30).
3361
+ h: b.estricto && num3(args.alto, 0) > 0 ? pct(args.alto, 20) : def.alto === "cuadrado" ? squareH(w) : squareH(w) * def.alto,
3358
3362
  fill: txt(args.color) || def.color,
3359
3363
  strokeW: 0,
3360
3364
  strokeStyle: "solid",
@@ -3655,7 +3659,7 @@ Pide \`describir("${el.widget}")\` para ver la forma exacta y vuelve a intentarl
3655
3659
  case "recolocar": {
3656
3660
  const el = buscarEl(b, txt(args.objetivo));
3657
3661
  if (!el) return no(b, `No encuentro ning\xFAn objeto "${txt(args.objetivo)}".`);
3658
- const altoLibre = el.kind === "widget" && !esMoneda(el) || !!el.hotspot;
3662
+ const altoLibre = el.kind === "widget" && !esMoneda(el) || !!el.hotspot || !!b.estricto && el.kind === "shape";
3659
3663
  if (num3(args.alto, 0) > 0 && !altoLibre) {
3660
3664
  return no(b, `${describirEl(el)} no acepta \`alto\`: se deformar\xEDa. Solo las cajas (Revelador, Ciclo, Label It, QR\u2026) y las zonas calientes. Cambia su tama\xF1o con \`w\` y el alto le sigue.`);
3661
3665
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "boosterarena-mcp",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "El MCP de Booster: tu agente crea y edita presentaciones dentro de boosterarena.com",
5
5
  "keywords": [
6
6
  "mcp",