xonecode 0.33.0 → 0.34.2
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.
- package/apps/web/dist/assets/{EditorDeFichero-H_kGeZt2.js → EditorDeFichero-Cj0knNmP.js} +1 -1
- package/apps/web/dist/assets/index-Ga8fTlWp.js +499 -0
- package/apps/web/dist/assets/{index-CWBaotdZ.css → index-R3kXj69E.css} +1 -1
- package/apps/web/dist/assets/{php-CMFQiZgk.js → php-MVUx_K96.js} +1 -1
- package/apps/web/dist/assets/{ruby-Dj3BOBHc.js → ruby-n-r-AXdi.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/dist/agent/config/fuentesEnRed.js +80 -0
- package/dist/agent/config/fuentesEnRed.js.map +1 -0
- package/dist/agent/dispositivos/cajasDeMaqueta.js +90 -2
- package/dist/agent/dispositivos/cajasDeMaqueta.js.map +1 -1
- package/dist/agent/dispositivos/geometriaEnDisco.js +85 -3
- package/dist/agent/dispositivos/geometriaEnDisco.js.map +1 -1
- package/dist/agent/grafo/criticaVisual.js +43 -37
- package/dist/agent/grafo/criticaVisual.js.map +1 -1
- package/dist/agent/grafo/fuentesDeGoogle.js +133 -0
- package/dist/agent/grafo/fuentesDeGoogle.js.map +1 -0
- package/dist/agent/grafo/incorporarAdjunto.js +52 -42
- package/dist/agent/grafo/incorporarAdjunto.js.map +1 -1
- package/dist/agent/grafo/perfiles.js +2 -0
- package/dist/agent/grafo/perfiles.js.map +1 -1
- package/dist/agent/motores/trueforge/capacidades.js +9 -6
- package/dist/agent/motores/trueforge/capacidades.js.map +1 -1
- package/dist/agent/motores/trueforge/informesDeHijos.js +39 -7
- package/dist/agent/motores/trueforge/informesDeHijos.js.map +1 -1
- package/dist/agent/motores/trueforge/memoriaDeEspecialistas.js +75 -37
- package/dist/agent/motores/trueforge/memoriaDeEspecialistas.js.map +1 -1
- package/dist/agent/motores/trueforge/memoriaTrueforge.js +24 -4
- package/dist/agent/motores/trueforge/memoriaTrueforge.js.map +1 -1
- package/dist/agent/motores/trueforge/modeloLangchain.js +28 -4
- package/dist/agent/motores/trueforge/modeloLangchain.js.map +1 -1
- package/dist/agent/motores/trueforge/proponerTareas.js +67 -0
- package/dist/agent/motores/trueforge/proponerTareas.js.map +1 -0
- package/dist/agent/motores/trueforge/sesionTrueforge.js +104 -11
- package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
- package/dist/agent/sesiones/adjuntosDeSesion.js +68 -1
- package/dist/agent/sesiones/adjuntosDeSesion.js.map +1 -1
- package/dist/agent/subagentes/agentesEnDisco.js +12 -4
- package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
- package/dist/agent/tareas/aumentador.js +4 -3
- package/dist/agent/tareas/aumentador.js.map +1 -1
- package/dist/agent/turno/informeDeTraza.js +2 -1
- package/dist/agent/turno/informeDeTraza.js.map +1 -1
- package/dist/agent/turno/interrupts.js +12 -0
- package/dist/agent/turno/interrupts.js.map +1 -1
- package/dist/agent/turno/resumenDeTool.js +4 -0
- package/dist/agent/turno/resumenDeTool.js.map +1 -1
- package/dist/agent/turno/turnoReal.js +3 -0
- package/dist/agent/turno/turnoReal.js.map +1 -1
- package/dist/cli/consola.js.map +1 -1
- package/dist/cli/main.js +2 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/tui/transcript.js +5 -0
- package/dist/cli/tui/transcript.js.map +1 -1
- package/dist/core/actos.js.map +1 -1
- package/dist/core/agentes.js +10 -0
- package/dist/core/agentes.js.map +1 -1
- package/dist/core/analisisDeSesion.js +1 -1
- package/dist/core/analisisDeSesion.js.map +1 -1
- package/dist/core/descripcionDePantalla.js +26 -13
- package/dist/core/descripcionDePantalla.js.map +1 -1
- package/dist/core/estiloMedido.js +21 -1
- package/dist/core/estiloMedido.js.map +1 -1
- package/dist/core/fuentes.js +174 -0
- package/dist/core/fuentes.js.map +1 -0
- package/dist/core/geometriaDePantalla.js +101 -1
- package/dist/core/geometriaDePantalla.js.map +1 -1
- package/dist/core/notify.js +4 -0
- package/dist/core/notify.js.map +1 -1
- package/dist/core/ports.js +35 -0
- package/dist/core/ports.js.map +1 -1
- package/dist/core/repartoDeEncargo.js +87 -0
- package/dist/core/repartoDeEncargo.js.map +1 -0
- package/dist/core/shellDeAgente.js +23 -0
- package/dist/core/shellDeAgente.js.map +1 -1
- package/dist/core/tareas.js +7 -0
- package/dist/core/tareas.js.map +1 -1
- package/dist/core/turno.js +15 -0
- package/dist/core/turno.js.map +1 -1
- package/dist/web/servidor/arranque.js +117 -13
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/consolaWeb.js +5 -0
- package/dist/web/servidor/consolaWeb.js.map +1 -1
- package/dist/web/servidor/interrupcion.js +52 -0
- package/dist/web/servidor/interrupcion.js.map +1 -0
- package/dist/web/servidor/pielWeb.js +36 -0
- package/dist/web/servidor/pielWeb.js.map +1 -1
- package/dist/web/servidor/transporte.js +1 -0
- package/dist/web/servidor/transporte.js.map +1 -1
- package/dist/web/servidor/vestibulo.js +30 -2
- package/dist/web/servidor/vestibulo.js.map +1 -1
- package/package.json +1 -1
- package/skills/xone-development/references/css/de-una-maqueta-a-xone.md +6 -4
- package/skills/xone-development/references/xml-ui/atributos-coll-group-frame.md +4 -4
- package/skills/xone-development/references/xml-ui/nodos-group-y-frame.md +4 -4
- package/apps/web/dist/assets/index-DnGuOvbb.js +0 -499
package/apps/web/dist/index.html
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<!-- El icono oficial, servido por Vite desde `iconos/`. Es el mismo fichero que la
|
|
8
8
|
marca de la barra superior: dos copias del logo acaban siendo dos logos. -->
|
|
9
9
|
<link rel="icon" type="image/png" href="./iconos/xonecode.png" />
|
|
10
|
-
<script type="module" crossorigin src="./assets/index-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
10
|
+
<script type="module" crossorigin src="./assets/index-Ga8fTlWp.js"></script>
|
|
11
|
+
<link rel="stylesheet" crossorigin href="./assets/index-R3kXj69E.css">
|
|
12
12
|
</head>
|
|
13
13
|
<!-- Sin el atributo aquí: el oscuro es SOLO del splash (el registro de entorno y
|
|
14
14
|
modelo), no de la consola entera — `App.tsx` lo pone y lo quita él mismo, en el
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { buscarEnCatalogo, esTrueType, familiasDelCatalogo, TOPE_DE_CATALOGO_BYTES, TOPE_DE_CSS_BYTES, TOPE_DE_FUENTE_BYTES, TOPE_DE_FUENTES_MS, URL_DEL_CATALOGO, urlDeCss, urlDeTtfEnCss, } from "../../core/fuentes.js";
|
|
2
|
+
/**
|
|
3
|
+
* Google Fonts, de verdad, sin clave (lo medido está en `core/fuentes.ts`).
|
|
4
|
+
*
|
|
5
|
+
* **El catálogo se pide UNA vez por puerto** y se guarda: son 2,7 MB de un catálogo AJENO que no
|
|
6
|
+
* cambia en una sesión. No choca con «no cachear» de `xone_navegacion`, que habla del modelo del
|
|
7
|
+
* PROYECTO. Un fallo no se guarda: la siguiente llamada lo vuelve a intentar.
|
|
8
|
+
*
|
|
9
|
+
* Un fallo lleva el CÓDIGO HTTP o la palabra «red», nunca la URL ni el cuerpo remoto (mismo trato
|
|
10
|
+
* que `iconosEnRed`). `fetch` entra por parámetro para probarlo sin conexión.
|
|
11
|
+
*/
|
|
12
|
+
export function fuentesEnRed(llamar = fetch, topeMs = TOPE_DE_FUENTES_MS) {
|
|
13
|
+
const pedir = async (url, tope) => {
|
|
14
|
+
let respuesta;
|
|
15
|
+
try {
|
|
16
|
+
respuesta = await llamar(url, { signal: AbortSignal.timeout(topeMs) });
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
throw new Error("no hay red o Google Fonts no responde");
|
|
20
|
+
}
|
|
21
|
+
if (!respuesta.ok)
|
|
22
|
+
throw new Error(`Google Fonts contestó ${respuesta.status}`);
|
|
23
|
+
const declarado = Number(respuesta.headers.get("content-length") ?? "0");
|
|
24
|
+
if (declarado > tope)
|
|
25
|
+
throw new Error("la respuesta supera el tope de tamaño");
|
|
26
|
+
let bytes;
|
|
27
|
+
try {
|
|
28
|
+
bytes = new Uint8Array(await respuesta.arrayBuffer());
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
throw new Error("no hay red o Google Fonts no responde");
|
|
32
|
+
}
|
|
33
|
+
if (bytes.length > tope)
|
|
34
|
+
throw new Error("la respuesta supera el tope de tamaño");
|
|
35
|
+
return bytes;
|
|
36
|
+
};
|
|
37
|
+
let catalogo;
|
|
38
|
+
const elCatalogo = () => {
|
|
39
|
+
catalogo ??= (async () => {
|
|
40
|
+
const bytes = await pedir(URL_DEL_CATALOGO, TOPE_DE_CATALOGO_BYTES);
|
|
41
|
+
let cuerpo;
|
|
42
|
+
try {
|
|
43
|
+
// Hoy llega JSON a secas; antes llevaba delante el `)]}'` contra el XSSI, y se tolera.
|
|
44
|
+
const texto = new TextDecoder().decode(bytes);
|
|
45
|
+
cuerpo = JSON.parse(texto.slice(texto.indexOf("{")));
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
throw new Error("respuesta incompatible de Google Fonts");
|
|
49
|
+
}
|
|
50
|
+
const familias = familiasDelCatalogo(cuerpo);
|
|
51
|
+
if (familias.length === 0)
|
|
52
|
+
throw new Error("respuesta incompatible de Google Fonts");
|
|
53
|
+
return familias;
|
|
54
|
+
})();
|
|
55
|
+
catalogo.catch(() => {
|
|
56
|
+
catalogo = undefined;
|
|
57
|
+
});
|
|
58
|
+
return catalogo;
|
|
59
|
+
};
|
|
60
|
+
return {
|
|
61
|
+
async buscar(consulta, limite) {
|
|
62
|
+
return buscarEnCatalogo(await elCatalogo(), consulta, limite);
|
|
63
|
+
},
|
|
64
|
+
async familia(nombre) {
|
|
65
|
+
const f = (await elCatalogo()).find((x) => x.familia === nombre);
|
|
66
|
+
return f === undefined ? undefined : { familia: f.familia, categoria: f.categoria, estilos: f.estilos };
|
|
67
|
+
},
|
|
68
|
+
async ttf(familia, peso, cursiva) {
|
|
69
|
+
const css = new TextDecoder().decode(await pedir(urlDeCss(familia, peso, cursiva), TOPE_DE_CSS_BYTES));
|
|
70
|
+
const url = urlDeTtfEnCss(css);
|
|
71
|
+
if (url === undefined)
|
|
72
|
+
throw new Error("Google Fonts no devolvió un .ttf para ese estilo");
|
|
73
|
+
const bytes = await pedir(url, TOPE_DE_FUENTE_BYTES);
|
|
74
|
+
if (!esTrueType(bytes))
|
|
75
|
+
throw new Error("lo que llegó no es un fichero TrueType");
|
|
76
|
+
return bytes;
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=fuentesEnRed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fuentesEnRed.js","sourceRoot":"","sources":["../../../src/agent/config/fuentesEnRed.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,8 +27,96 @@ import { navegadorParaImprimir } from "../exportarPdf.js";
|
|
|
27
27
|
/** Lo que tarda como mucho un render: con red lenta, Tailwind y las fuentes son unos segundos. */
|
|
28
28
|
export const TOPE_DE_RENDER_MS = 45_000;
|
|
29
29
|
const MARCA = "__xonecode_cajas";
|
|
30
|
-
/**
|
|
31
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Qué se mide de la maqueta: los TEXTOS que se ven, cada uno con su caja. Se ejecuta DENTRO de la página (se
|
|
32
|
+
* inyecta con `toString()`), así que es JavaScript que el navegador entiende tal cual y no puede usar nada de fuera.
|
|
33
|
+
* Exportada para probarla con un DOM de pruebas.
|
|
34
|
+
*
|
|
35
|
+
* Antes se medían solo los `<button>`, cada uno con TODO su texto pegado. En la calculadora valía —cada tecla es un
|
|
36
|
+
* botón con un texto—, pero en una pantalla de tarjetas (Maset) cada tarjeta es un botón con título, badge,
|
|
37
|
+
* subtítulo y contador dentro: salía UN elemento «ENTREGAS PRIORIDAD Reparto de pedidos… 12 pend.» que no coincide
|
|
38
|
+
* con ningún control del aparato (BLOQUEANTE falso), y todo lo que no es botón —cabecera, banda, sección, pie— no se
|
|
39
|
+
* veía. Ahora:
|
|
40
|
+
* - un botón con UN texto (sin contar los iconos de Material) es un elemento, con la caja del BOTÓN: su forma es la
|
|
41
|
+
* de la tecla, no la de las letras;
|
|
42
|
+
* - un botón con VARIOS textos se parte en ellos;
|
|
43
|
+
* - fuera de los botones, cada elemento con texto propio es uno.
|
|
44
|
+
* Cada uno dice si es un botón (`boton`): lo que no lo es y no tiene letras es un dato de ejemplo («12», «09:41»).
|
|
45
|
+
*/
|
|
46
|
+
export function medirElementos(doc) {
|
|
47
|
+
var ICONO = /material-(symbols|icons)/;
|
|
48
|
+
var FUERA = /^(SCRIPT|STYLE|NOSCRIPT|TEMPLATE|TITLE|HEAD)$/;
|
|
49
|
+
var limpio = function (t) {
|
|
50
|
+
return (t || "").replace(/\s+/g, " ").trim();
|
|
51
|
+
};
|
|
52
|
+
var cajaDe = function (el) {
|
|
53
|
+
var r = el.getBoundingClientRect();
|
|
54
|
+
return r.width > 0 && r.height > 0 ? { x: r.left, y: r.top, ancho: r.width, alto: r.height } : undefined;
|
|
55
|
+
};
|
|
56
|
+
var propio = function (el) {
|
|
57
|
+
var t = "";
|
|
58
|
+
for (var n = el.firstChild; n; n = n.nextSibling)
|
|
59
|
+
if (n.nodeType === 3)
|
|
60
|
+
t += n.nodeValue;
|
|
61
|
+
return limpio(t);
|
|
62
|
+
};
|
|
63
|
+
// Todos sus textos, unidos con un espacio: `innerText` pegaría «content_copyCOPY» si el HTML no deja hueco entre ellos.
|
|
64
|
+
var todoElTexto = function (el) {
|
|
65
|
+
var partes = [];
|
|
66
|
+
var recorrer = function (n) {
|
|
67
|
+
for (var c = n.firstChild; c; c = c.nextSibling) {
|
|
68
|
+
if (c.nodeType === 3)
|
|
69
|
+
partes.push(c.nodeValue);
|
|
70
|
+
else if (c.nodeType === 1 && !FUERA.test(c.tagName))
|
|
71
|
+
recorrer(c);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
recorrer(el);
|
|
75
|
+
return limpio(partes.join(" "));
|
|
76
|
+
};
|
|
77
|
+
var esIcono = function (el) {
|
|
78
|
+
return typeof el.className === "string" && ICONO.test(el.className);
|
|
79
|
+
};
|
|
80
|
+
var hojas = [];
|
|
81
|
+
var todos = doc.body.querySelectorAll("*");
|
|
82
|
+
for (var i = 0; i < todos.length; i++)
|
|
83
|
+
if (!FUERA.test(todos[i].tagName) && propio(todos[i]) !== "")
|
|
84
|
+
hojas.push(todos[i]);
|
|
85
|
+
var salida = [];
|
|
86
|
+
var cubiertas = [];
|
|
87
|
+
var botones = doc.querySelectorAll("button,[role=button]");
|
|
88
|
+
for (var j = 0; j < botones.length; j++) {
|
|
89
|
+
var b = botones[j];
|
|
90
|
+
var dentro = hojas.filter(function (h) {
|
|
91
|
+
return b === h || b.contains(h);
|
|
92
|
+
});
|
|
93
|
+
var textos = dentro.filter(function (h) {
|
|
94
|
+
return !esIcono(h);
|
|
95
|
+
});
|
|
96
|
+
if (textos.length > 1)
|
|
97
|
+
continue;
|
|
98
|
+
var cb = cajaDe(b);
|
|
99
|
+
// La caja de SU texto, si va en un elemento propio: la letra (color, tamaño, recorte) se mide ahí, no en el botón
|
|
100
|
+
// entero, donde también está el icono (medido en Maset: el gris del cuadro del icono salía como color del texto).
|
|
101
|
+
var ct = textos.length === 1 && textos[0] !== b ? cajaDe(textos[0]) : undefined;
|
|
102
|
+
if (cb !== undefined)
|
|
103
|
+
salida.push(ct === undefined ? { texto: todoElTexto(b), caja: cb, boton: true } : { texto: todoElTexto(b), caja: cb, boton: true, cajaDelTexto: ct });
|
|
104
|
+
for (var k = 0; k < dentro.length; k++)
|
|
105
|
+
cubiertas.push(dentro[k]);
|
|
106
|
+
}
|
|
107
|
+
for (var m = 0; m < hojas.length; m++) {
|
|
108
|
+
if (cubiertas.indexOf(hojas[m]) >= 0)
|
|
109
|
+
continue;
|
|
110
|
+
var ch = cajaDe(hojas[m]);
|
|
111
|
+
if (ch !== undefined)
|
|
112
|
+
salida.push({ texto: propio(hojas[m]), caja: ch });
|
|
113
|
+
}
|
|
114
|
+
return salida;
|
|
115
|
+
}
|
|
116
|
+
/** El script que mide, DENTRO de la maqueta: sus textos (`medirElementos`) y sus bloques anchos, al envoltorio. */
|
|
117
|
+
// `var __name`: bajo `tsx`, esbuild envuelve cada función con `__name(fn, "nombre")` (keepNames), y ese ayudante no existe
|
|
118
|
+
// dentro de la página: sin él la medida no volvía nunca, en silencio. Con el build de `tsc` no aparece y esto no estorba.
|
|
119
|
+
const MEDIDOR = `<script>var __name=function(f){return f};addEventListener("load",function(){setTimeout(function(){var o=(${medirElementos.toString()})(document);var b=[];var cs=document.querySelectorAll("header,nav,section,main,footer,div");for(var j=0;j<cs.length;j++){var q=cs[j].getBoundingClientRect();if(q.width<innerWidth*0.85||q.height<24||q.height>innerHeight*0.6)continue;var rep=false;for(var k=0;k<b.length;k++){if(Math.abs(b[k].y-q.top)<3&&Math.abs(b[k].alto-q.height)<3)rep=true;}if(!rep)b.push({x:q.left,y:q.top,ancho:q.width,alto:q.height});}parent.postMessage(JSON.stringify({ancho:innerWidth,alto:innerHeight,tailwind:typeof tailwind!=="undefined",pideTailwind:!!document.querySelector('script[src*="tailwindcss"]'),elementos:o,bloques:b}),"*");},1200);});</script>`;
|
|
32
120
|
function envoltorio(ancho, alto) {
|
|
33
121
|
return `<!doctype html><html><body style="margin:0"><iframe src="maqueta.html" style="border:0;width:${ancho}px;height:${alto}px"></iframe><script>addEventListener("message",function(e){var p=document.createElement("pre");p.id="${MARCA}";p.textContent=e.data;document.body.appendChild(p);});</script></body></html>`;
|
|
34
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cajasDeMaqueta.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/cajasDeMaqueta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,kGAAkG;AAClG,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC,MAAM,KAAK,GAAG,kBAAkB,CAAC;AAEjC,
|
|
1
|
+
{"version":3,"file":"cajasDeMaqueta.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/cajasDeMaqueta.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,21 +5,103 @@
|
|
|
5
5
|
* Se empareja por el NOMBRE de la captura, nunca por la fecha de los ficheros: emparejar por fecha cruzó
|
|
6
6
|
* una vez el árbol de una ronda con la captura de otra. Nunca lanza: lo que no está o no se entiende es
|
|
7
7
|
* `undefined`, y el crítico lo dice.
|
|
8
|
+
*
|
|
9
|
+
* **Y, si el nombre no la encuentra, por el CONTENIDO** (`geometriaPorContenido`). Medido en Maset: el conductor
|
|
10
|
+
* sacaba `xone-hotswap shot` (`captura-1791288505460.jpg`, con su geometría) y la convertía con `sips` a
|
|
11
|
+
* `menu_ronda7.png`; el crítico, sin árbol que leer, se quedaba en la opinión del modelo dos rondas seguidas. La
|
|
12
|
+
* geometría se acepta solo si la captura ORIGINAL que nombra sigue en `/artefactos/` con los MISMOS píxeles que la
|
|
13
|
+
* que se juzga: una conversión o un renombrado la conservan; una captura de otro momento, no. La fecha solo acota
|
|
14
|
+
* cuántas se miran, nunca decide.
|
|
8
15
|
*/
|
|
9
|
-
import { readFileSync } from "node:fs";
|
|
16
|
+
import { readdirSync, readFileSync, statSync } from "node:fs";
|
|
10
17
|
import { join } from "node:path";
|
|
11
18
|
/** El nombre del fichero de geometría de una captura. La MISMA regla que `nombreDeGeometria` del script. */
|
|
12
19
|
export function nombreDeGeometria(nombreDeCaptura) {
|
|
13
20
|
const base = nombreDeCaptura.slice(nombreDeCaptura.lastIndexOf("/") + 1);
|
|
14
21
|
return `${base.replace(/\.[A-Za-z0-9]{2,4}$/, "")}.geometria.json`;
|
|
15
22
|
}
|
|
16
|
-
|
|
23
|
+
/** Cuántas geometrías, de las más recientes, se miran al buscar por contenido. */
|
|
24
|
+
export const GEOMETRIAS_A_MIRAR = 12;
|
|
25
|
+
/**
|
|
26
|
+
* Cuántos píxeles DISTINTOS se toleran, en fracción de la imagen. Una captura reconvertida (JPEG → PNG) repite los
|
|
27
|
+
* píxeles exactos; dos rondas distintas de la MISMA pantalla difieren en poco —la banda movida unos píxeles—, y por eso
|
|
28
|
+
* no vale una diferencia MEDIA: medido en Maset, la ronda 6 pasaba por la ronda 7 con una media por debajo de 2.
|
|
29
|
+
* Medido con las capturas reales (con `UMBRAL_DE_CANAL` 40): la misma captura reconvertida por `sips` difiere en un
|
|
30
|
+
* 0,02 % de los píxeles —dos decodificadores de JPEG no redondean igual en los bordes—, y dos rondas consecutivas en un
|
|
31
|
+
* 0,72 %. El tope va en medio, más cerca de la misma.
|
|
32
|
+
*/
|
|
33
|
+
const PIXELES_DISTINTOS_TOLERADOS = 0.001;
|
|
34
|
+
/** Un píxel es distinto si algún canal se aparta más de esto: la holgura del ruido entre decodificadores de JPEG (medido). */
|
|
35
|
+
const UMBRAL_DE_CANAL = 40;
|
|
36
|
+
/** Cuántos píxeles distintos hay, en fracción; `Infinity` si no tienen el mismo tamaño. Recorre la imagen ENTERA. Pura. */
|
|
37
|
+
export function fraccionDistinta(a, b) {
|
|
38
|
+
if (a.ancho !== b.ancho || a.alto !== b.alto)
|
|
39
|
+
return Infinity;
|
|
40
|
+
let distintos = 0;
|
|
41
|
+
for (let i = 0; i < a.datos.length; i += 4) {
|
|
42
|
+
if (Math.abs(a.datos[i] - b.datos[i]) > UMBRAL_DE_CANAL ||
|
|
43
|
+
Math.abs(a.datos[i + 1] - b.datos[i + 1]) > UMBRAL_DE_CANAL ||
|
|
44
|
+
Math.abs(a.datos[i + 2] - b.datos[i + 2]) > UMBRAL_DE_CANAL) {
|
|
45
|
+
distintos += 1;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return distintos / (a.ancho * a.alto);
|
|
49
|
+
}
|
|
50
|
+
/** ¿Son la MISMA imagen (la misma captura, quizá reconvertida)? Pura. */
|
|
51
|
+
export function mismaImagen(a, b) {
|
|
52
|
+
return fraccionDistinta(a, b) <= PIXELES_DISTINTOS_TOLERADOS;
|
|
53
|
+
}
|
|
54
|
+
const leerGeometria = (ruta) => {
|
|
17
55
|
try {
|
|
18
|
-
const leido = JSON.parse(readFileSync(
|
|
56
|
+
const leido = JSON.parse(readFileSync(ruta, "utf8"));
|
|
19
57
|
return leido["v"] === 1 ? leido : undefined;
|
|
20
58
|
}
|
|
21
59
|
catch {
|
|
22
60
|
return undefined;
|
|
23
61
|
}
|
|
62
|
+
};
|
|
63
|
+
/** La geometría de otra captura con los mismos píxeles que ésta, o `undefined`. Nunca lanza. */
|
|
64
|
+
export function geometriaPorContenido(carpetaDeHotswap, nombreDeCaptura, busqueda) {
|
|
65
|
+
try {
|
|
66
|
+
const base = nombreDeCaptura.slice(nombreDeCaptura.lastIndexOf("/") + 1);
|
|
67
|
+
const juzgada = busqueda.decodificar(readFileSync(join(busqueda.carpetaDeArtefactos, base)));
|
|
68
|
+
const candidatas = readdirSync(carpetaDeHotswap)
|
|
69
|
+
.filter((n) => n.endsWith(".geometria.json"))
|
|
70
|
+
.map((n) => ({ n, t: statSync(join(carpetaDeHotswap, n)).mtimeMs }))
|
|
71
|
+
.sort((a, b) => b.t - a.t)
|
|
72
|
+
.slice(0, GEOMETRIAS_A_MIRAR);
|
|
73
|
+
let mejor;
|
|
74
|
+
for (const { n } of candidatas) {
|
|
75
|
+
const g = leerGeometria(join(carpetaDeHotswap, n));
|
|
76
|
+
const original = g?.["captura"];
|
|
77
|
+
if (g === undefined || typeof original !== "string" || original === base)
|
|
78
|
+
continue;
|
|
79
|
+
const pantalla = g["pantalla"];
|
|
80
|
+
if (pantalla !== undefined && (pantalla.ancho !== juzgada.ancho || pantalla.alto !== juzgada.alto))
|
|
81
|
+
continue;
|
|
82
|
+
try {
|
|
83
|
+
const otra = busqueda.decodificar(readFileSync(join(busqueda.carpetaDeArtefactos, original.slice(original.lastIndexOf("/") + 1))));
|
|
84
|
+
const f = fraccionDistinta(juzgada, otra);
|
|
85
|
+
if (f <= PIXELES_DISTINTOS_TOLERADOS && (mejor === undefined || f < mejor.f))
|
|
86
|
+
mejor = { g, f };
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// La original ya no está o no se lee: esa no.
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// La MÁS parecida de las que pasan, no la primera: la más reciente no tiene por qué ser la suya.
|
|
93
|
+
if (mejor !== undefined)
|
|
94
|
+
return mejor.g;
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// Sin captura que leer o sin carpeta: sin geometría.
|
|
98
|
+
}
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
export async function geometriaDeCaptura(carpetaDeHotswap, nombreDeCaptura, busqueda) {
|
|
102
|
+
const porNombre = leerGeometria(join(carpetaDeHotswap, nombreDeGeometria(nombreDeCaptura)));
|
|
103
|
+
if (porNombre !== undefined || busqueda === undefined)
|
|
104
|
+
return porNombre;
|
|
105
|
+
return geometriaPorContenido(carpetaDeHotswap, nombreDeCaptura, busqueda);
|
|
24
106
|
}
|
|
25
107
|
//# sourceMappingURL=geometriaEnDisco.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometriaEnDisco.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/geometriaEnDisco.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"geometriaEnDisco.js","sourceRoot":"","sources":["../../../src/agent/dispositivos/geometriaEnDisco.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,4GAA4G;AAC5G,MAAM,UAAU,iBAAiB,CAAC,eAAuB;IACvD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,iBAAiB,CAAC;AACrE,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC;;;;;;;GAOG;AACH,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAC1C,8HAA8H;AAC9H,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,2HAA2H;AAC3H,MAAM,UAAU,gBAAgB,CAAC,CAAa,EAAE,CAAa;IAC3D,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC;IAC9D,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,IACE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,GAAG,eAAe;YACrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,GAAG,eAAe;YAC7D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,GAAG,eAAe,EAC7D,CAAC;YACD,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,CAAa,EAAE,CAAa;IACtD,OAAO,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,2BAA2B,CAAC;AAC/D,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,IAAY,EAAuC,EAAE;IAC1E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;QAChF,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAQF,gGAAgG;AAChG,MAAM,UAAU,qBAAqB,CAAC,gBAAwB,EAAE,eAAuB,EAAE,QAA8B;IACrH,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;aAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACnE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACzB,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAChC,IAAI,KAA4D,CAAC;QACjE,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;gBAAE,SAAS;YACnF,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAkD,CAAC;YAChF,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7G,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnI,MAAM,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,2BAA2B,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAAE,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACjG,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;QACH,CAAC;QACD,iGAAiG;QACjG,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,gBAAwB,EAAE,eAAuB,EAAE,QAA+B;IACzH,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5F,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxE,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -2,8 +2,8 @@ import { tool } from "@langchain/core/tools";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { esRutaDeArtefacto, mimeDeArtefacto, nombreDeArtefacto, rutaRelativaDeArtefacto, } from "../../core/artefactos.js";
|
|
4
4
|
import { imagenReferida } from "../../core/referenciasDeImagen.js";
|
|
5
|
-
import { compararConMaqueta, controlesDelArbol, filas as filasDeCajas, filasDelAparato, hallazgosDeGeometria, informeDeGeometria, } from "../../core/geometriaDePantalla.js";
|
|
6
|
-
import { compararDescripciones, hayQueArreglar,
|
|
5
|
+
import { cajaParaElEstilo, compararConMaqueta, controlesDelArbol, filas as filasDeCajas, filasDelAparato, hallazgosDeGeometria, informeDeGeometria, } from "../../core/geometriaDePantalla.js";
|
|
6
|
+
import { compararDescripciones, hayQueArreglar, informeDeComparacion, maquetaDeLaDescripcion, } from "../../core/descripcionDePantalla.js";
|
|
7
7
|
import { compararBloques, pantallaMedida } from "../../core/estiloMedido.js";
|
|
8
8
|
import { juzgarPantalla, TOPE_DE_PETICIONES, } from "../dispositivos/juezVisual.js";
|
|
9
9
|
/**
|
|
@@ -59,7 +59,12 @@ const Entrada = z.object({
|
|
|
59
59
|
* La geometría de esta captura (`core/geometriaDePantalla.ts`), o `undefined` si este montaje no la tiene.
|
|
60
60
|
* Nunca lanza: lo que no se puede medir se dice en el bloque, y el crítico sigue con su opinión.
|
|
61
61
|
*/
|
|
62
|
-
async function geometriaDe(entrada, referida, referencia, deps,
|
|
62
|
+
async function geometriaDe(entrada, referida, referencia, deps,
|
|
63
|
+
/**
|
|
64
|
+
* Describir la maqueta con un modelo, SOLO si hace falta: cuando no trae `code.html` medible es su única
|
|
65
|
+
* estructura. Con `code.html` ya no se pide (ver `estructuraDescrita`).
|
|
66
|
+
*/
|
|
67
|
+
describir) {
|
|
63
68
|
if (deps.leerGeometria === undefined)
|
|
64
69
|
return undefined;
|
|
65
70
|
let crudo;
|
|
@@ -105,7 +110,7 @@ async function geometriaDe(entrada, referida, referencia, deps, descrita) {
|
|
|
105
110
|
controles,
|
|
106
111
|
};
|
|
107
112
|
let maqueta;
|
|
108
|
-
|
|
113
|
+
let sinCajas;
|
|
109
114
|
if (referida !== undefined && referencia !== undefined && deps.cajasDeMaqueta !== undefined) {
|
|
110
115
|
let medida;
|
|
111
116
|
try {
|
|
@@ -114,18 +119,20 @@ async function geometriaDe(entrada, referida, referencia, deps, descrita) {
|
|
|
114
119
|
catch {
|
|
115
120
|
medida = { motivo: "no se pudo medir" };
|
|
116
121
|
}
|
|
117
|
-
const conDescripcion = descrita === undefined ? "" : " (la estructura de la maqueta va abajo, según su descripción)";
|
|
118
122
|
if (medida === undefined)
|
|
119
|
-
|
|
123
|
+
sinCajas = "la maqueta es solo una imagen (sin code.html al lado): aquí, solo lo que se ve en el propio aparato";
|
|
120
124
|
else if ("motivo" in medida)
|
|
121
|
-
|
|
125
|
+
sinCajas = `no pude medir las cajas de la maqueta: ${medida.motivo}. Aquí, solo lo del propio aparato`;
|
|
122
126
|
else
|
|
123
127
|
maqueta = medida;
|
|
124
128
|
}
|
|
129
|
+
// Sin cajas medidas, la descripción es la única estructura de la maqueta; con ellas no se pide (`estructuraDescrita`).
|
|
130
|
+
const descrita = maqueta === undefined ? await describir() : undefined;
|
|
131
|
+
const notas = sinCajas === undefined ? [] : [`${sinCajas}${descrita === undefined ? "" : " (la estructura de la maqueta va abajo, según su descripción)"}.`];
|
|
125
132
|
const h = hallazgosDeGeometria(aparato, maqueta);
|
|
126
133
|
const lineas = informeDeGeometria({ ...h, notas: [...h.notas, ...notas] }, maqueta !== undefined);
|
|
127
134
|
if (descrita !== undefined)
|
|
128
|
-
lineas.push(...estructuraDescrita(descrita, aparato
|
|
135
|
+
lineas.push(...estructuraDescrita(descrita, aparato));
|
|
129
136
|
return {
|
|
130
137
|
lineas,
|
|
131
138
|
hechos: [...h.bloqueantes, ...h.diferencias],
|
|
@@ -135,28 +142,15 @@ async function geometriaDe(entrada, referida, referencia, deps, descrita) {
|
|
|
135
142
|
};
|
|
136
143
|
}
|
|
137
144
|
/**
|
|
138
|
-
* Lo que aporta la maqueta DESCRITA, en un bloque APARTE del medido: nunca decide el rojo.
|
|
145
|
+
* Lo que aporta la maqueta DESCRITA, en un bloque APARTE del medido: nunca decide el rojo. Solo existe **sin
|
|
146
|
+
* `code.html`**: es la única estructura de la maqueta que hay, sus filas, orden y anchos contra el árbol medido. Así
|
|
147
|
+
* una maqueta que es solo un PNG también dice «la = va en otra fila».
|
|
139
148
|
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
* y el HTML cuenten lo mismo: la imagen es lo que se aprobó, y si el HTML se aparta, alguien tiene que
|
|
144
|
-
* decirlo.
|
|
149
|
+
* **Con `code.html` la maqueta ya no se describe.** Antes la descripción vigilaba que la imagen y el HTML contaran lo
|
|
150
|
+
* mismo, en un bloque que no decidía nada y costaba una llamada a un modelo por crítica; y como lo decía un modelo,
|
|
151
|
+
* se equivocaba: en la calculadora daba «DEC de la imagen no está en su code.html», y sí estaba.
|
|
145
152
|
*/
|
|
146
|
-
function estructuraDescrita(descrita, aparato
|
|
147
|
-
if (maqueta !== undefined) {
|
|
148
|
-
const h = compararConMaqueta(maquetaDeLaDescripcion(descrita, false), htmlComoAparato(maqueta), {
|
|
149
|
-
aproximada: true,
|
|
150
|
-
nombres: { maqueta: "la imagen de la maqueta", aparato: "su code.html" },
|
|
151
|
-
});
|
|
152
|
-
if (h.diferencias.length === 0)
|
|
153
|
-
return [];
|
|
154
|
-
return [
|
|
155
|
-
"",
|
|
156
|
-
"LA IMAGEN DE LA MAQUETA Y SU code.html NO CUENTAN LO MISMO (según la descripción de la imagen, que hizo un modelo; míralo):",
|
|
157
|
-
...h.diferencias.map((d) => `- ${d}`),
|
|
158
|
-
];
|
|
159
|
-
}
|
|
153
|
+
function estructuraDescrita(descrita, aparato) {
|
|
160
154
|
const h = compararConMaqueta(maquetaDeLaDescripcion(descrita), aparato, { aproximada: true });
|
|
161
155
|
return [
|
|
162
156
|
"",
|
|
@@ -249,7 +243,12 @@ function medirEstilo(captura, referencia, geometria, deps) {
|
|
|
249
243
|
if (deps.decodificar === undefined || geometria?.aparato === undefined)
|
|
250
244
|
return undefined;
|
|
251
245
|
try {
|
|
252
|
-
|
|
246
|
+
// El estilo de un texto se mide en la caja de su ENVOLTORIO si lo tiene (`cajaParaElEstilo`): el frame que hace de
|
|
247
|
+
// botón o de píldora, que es donde están el borde y el fondo.
|
|
248
|
+
const comoMedir = (fila) => fila.map((c) => {
|
|
249
|
+
const envoltorio = cajaParaElEstilo(c, geometria.aparato);
|
|
250
|
+
return { texto: c.texto ?? `[${c.nombre ?? "sin nombre"}]`, caja: c.caja, ...(envoltorio === c.caja ? {} : { envoltorio }) };
|
|
251
|
+
});
|
|
253
252
|
const imagenDeLaCaptura = deps.decodificar(Buffer.from(captura.base64, "base64"));
|
|
254
253
|
const vista = pantallaMedida(imagenDeLaCaptura, filasDelAparato(geometria.aparato).map(comoMedir));
|
|
255
254
|
if (referencia === undefined || geometria.maqueta === undefined) {
|
|
@@ -263,8 +262,14 @@ function medirEstilo(captura, referencia, geometria, deps) {
|
|
|
263
262
|
const indice = filasDeCajas(m.elementos.map((e) => e.caja));
|
|
264
263
|
const porFila = new Map();
|
|
265
264
|
m.elementos.forEach((e, i) => {
|
|
266
|
-
const
|
|
267
|
-
|
|
265
|
+
const aEscala = (c) => ({ x: c.x * escala, y: c.y * escala, ancho: c.ancho * escala, alto: c.alto * escala });
|
|
266
|
+
const caja = aEscala(e.caja);
|
|
267
|
+
// Un botón con su texto en un elemento propio: la letra en la caja del texto y la forma en la del botón, como el
|
|
268
|
+
// envoltorio del lado del aparato. Una caja que abraza su texto no dice nada de su alineación.
|
|
269
|
+
const control = e.cajaDelTexto !== undefined
|
|
270
|
+
? { texto: e.texto, caja: aEscala(e.cajaDelTexto), envoltorio: caja, ajustado: true }
|
|
271
|
+
: { texto: e.texto, caja, ...(e.boton === true ? {} : { ajustado: true }) };
|
|
272
|
+
porFila.set(indice[i], [...(porFila.get(indice[i]) ?? []), control]);
|
|
268
273
|
});
|
|
269
274
|
const filasDeLaMaqueta = [...porFila.entries()].sort((a, b) => a[0] - b[0]).map(([, f]) => f.sort((a, b) => a.caja.x - b.caja.x));
|
|
270
275
|
const comparacion = compararDescripciones(pantallaMedida(imagen, filasDeLaMaqueta), vista);
|
|
@@ -326,16 +331,17 @@ export function crearCriticaVisual(deps) {
|
|
|
326
331
|
// Lo MEDIDO primero: el modelo lo recibe como hechos y no tiene que adivinar la estructura.
|
|
327
332
|
// La maqueta, DESCRITA aparte y antes —geometría y luego estilo—: sin ella, el estilo queda a la memoria
|
|
328
333
|
// del modelo y una maqueta sin code.html no tiene estructura. No poder describirla no impide juzgar.
|
|
329
|
-
|
|
330
|
-
|
|
334
|
+
const describir = async () => {
|
|
335
|
+
if (referencia === undefined || deps.describirPantalla === undefined)
|
|
336
|
+
return undefined;
|
|
331
337
|
try {
|
|
332
|
-
|
|
338
|
+
return await deps.describirPantalla(referencia);
|
|
333
339
|
}
|
|
334
340
|
catch {
|
|
335
|
-
|
|
341
|
+
return undefined;
|
|
336
342
|
}
|
|
337
|
-
}
|
|
338
|
-
const geometria = await geometriaDe(entrada, referida, referencia, deps,
|
|
343
|
+
};
|
|
344
|
+
const geometria = await geometriaDe(entrada, referida, referencia, deps, describir);
|
|
339
345
|
/**
|
|
340
346
|
* **Con maqueta, la foto de UN CONTROL no se juzga**: la maqueta es la pantalla entera, y comparar contra un
|
|
341
347
|
* trozo es la opinión de un modelo sobre lo que falta alrededor. Medido en la calculadora: el desarrollador pasaba
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criticaVisual.js","sourceRoot":"","sources":["../../../src/agent/grafo/criticaVisual.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"criticaVisual.js","sourceRoot":"","sources":["../../../src/agent/grafo/criticaVisual.ts"],"names":[],"mappings":"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"}
|