xonecode 0.31.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-ChyJtiiz.js → EditorDeFichero-Cj0knNmP.js} +1 -1
- package/apps/web/dist/assets/index-Ga8fTlWp.js +499 -0
- package/apps/web/dist/assets/{index-IptObD2z.css → index-R3kXj69E.css} +1 -1
- package/apps/web/dist/assets/{php-B91ZcS-9.js → php-MVUx_K96.js} +1 -1
- package/apps/web/dist/assets/{ruby-DrxrTSz0.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/config/modelosDeMotor.js +4 -2
- package/dist/agent/config/modelosDeMotor.js.map +1 -1
- package/dist/agent/config/settingsEnDisco.js +26 -0
- package/dist/agent/config/settingsEnDisco.js.map +1 -1
- package/dist/agent/dispositivos/cajasDeMaqueta.js +218 -0
- package/dist/agent/dispositivos/cajasDeMaqueta.js.map +1 -0
- package/dist/agent/dispositivos/geometriaEnDisco.js +107 -0
- package/dist/agent/dispositivos/geometriaEnDisco.js.map +1 -0
- package/dist/agent/dispositivos/juezVisual.js +84 -3
- package/dist/agent/dispositivos/juezVisual.js.map +1 -1
- package/dist/agent/grafo/criticaVisual.js +246 -11
- 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/lectorDeReferencias.js +21 -0
- package/dist/agent/grafo/lectorDeReferencias.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/motoresLocales.js +429 -0
- package/dist/agent/motores/motoresLocales.js.map +1 -0
- 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 +133 -13
- package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
- package/dist/agent/motores/trueforge/toolsDeFichero.js +24 -6
- package/dist/agent/motores/trueforge/toolsDeFichero.js.map +1 -1
- package/dist/agent/sesiones/adjuntosDeSesion.js +192 -5
- 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/subagentes/ejecutableEnWindows.js +139 -0
- package/dist/agent/subagentes/ejecutableEnWindows.js.map +1 -0
- package/dist/agent/subagentes/subagenteCodex.js +7 -2
- package/dist/agent/subagentes/subagenteCodex.js.map +1 -1
- package/dist/agent/subagentes/subagenteOpencode.js +12 -5
- package/dist/agent/subagentes/subagenteOpencode.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/adjuntos.js +10 -2
- package/dist/core/adjuntos.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 +367 -0
- package/dist/core/descripcionDePantalla.js.map +1 -0
- package/dist/core/estiloMedido.js +352 -0
- package/dist/core/estiloMedido.js.map +1 -0
- package/dist/core/fuentes.js +174 -0
- package/dist/core/fuentes.js.map +1 -0
- package/dist/core/geometriaDePantalla.js +537 -0
- package/dist/core/geometriaDePantalla.js.map +1 -0
- package/dist/core/motoresLocales.js +128 -0
- package/dist/core/motoresLocales.js.map +1 -0
- package/dist/core/notify.js +4 -0
- package/dist/core/notify.js.map +1 -1
- package/dist/core/nucleoXone.js +6 -6
- package/dist/core/nucleoXone.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/settings.js +5 -0
- package/dist/core/settings.js.map +1 -1
- package/dist/core/shellDeAgente.js +36 -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/core/zipDeAdjunto.js +79 -0
- package/dist/core/zipDeAdjunto.js.map +1 -0
- package/dist/web/servidor/arranque.js +201 -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/SKILL.md +2 -1
- package/skills/xone-development/references/css/buenas-practicas-y-parser.md +2 -1
- package/skills/xone-development/references/css/de-una-maqueta-a-xone.md +83 -0
- package/skills/xone-development/references/css/patrones-material-y-temas.md +15 -13
- package/skills/xone-development/references/css/propiedades-y-herencia.md +2 -2
- package/skills/xone-development/references/css/selectores-unidades-colores.md +8 -3
- package/skills/xone-development/references/indice-completo.md +1 -0
- 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/skills/xone-hotswap/lib/geometria.mjs +147 -0
- package/skills/xone-hotswap/scripts/xone-captura-android +6 -0
- package/skills/xone-hotswap/scripts/xone-hotswap +8 -0
- package/skills/xone-hotswap/scripts/xone-recargar-android +15 -0
- package/apps/web/dist/assets/index-CFIrUOmW.js +0 -499
package/dist/core/agentes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentes.js","sourceRoot":"","sources":["../../src/core/agentes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentes.js","sourceRoot":"","sources":["../../src/core/agentes.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export const LLAMADAS_IGUALES_PARA_BUCLE = 4;
|
|
|
26
26
|
/** A partir de qué fracción del tope la ventana está «cerca»: queda poco antes de resumir. */
|
|
27
27
|
export const FRACCION_DE_CONTEXTO_CERCA = 0.9;
|
|
28
28
|
/** Las tools que ESCRIBEN en el proyecto (las que llevan HITL, `CLAUDE.md`). */
|
|
29
|
-
export const TOOLS_QUE_ESCRIBEN = new Set(["write_file", "edit_file", "incorporar_adjunto"]);
|
|
29
|
+
export const TOOLS_QUE_ESCRIBEN = new Set(["write_file", "edit_file", "incorporar_adjunto", "traer_fuente"]);
|
|
30
30
|
/** Lo que cabe de un mensaje de error en un hallazgo: se reconoce, no se reproduce. */
|
|
31
31
|
export const TOPE_DE_MENSAJE = 200;
|
|
32
32
|
function recortar(texto) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analisisDeSesion.js","sourceRoot":"","sources":["../../src/core/analisisDeSesion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAkDH,wFAAwF;AACxF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,8FAA8F;AAC9F,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAC9C,gFAAgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"analisisDeSesion.js","sourceRoot":"","sources":["../../src/core/analisisDeSesion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* El DESCRIPTOR DE PANTALLA: lo que el modelo ve en UNA imagen —la maqueta o la captura, cada una SOLA— con el
|
|
3
|
+
* MISMO esquema y el MISMO vocabulario cerrado, para que la comparación la haga el CÓDIGO. Puro.
|
|
4
|
+
*
|
|
5
|
+
* Existe por la calculadora de MyAllXOne. El crítico comparaba las dos imágenes a la vez y contestaba en prosa
|
|
6
|
+
* libre: vio el visor roto, pero en la misma lista dijo que el «0» de la maqueta era una píldora ancha y que la
|
|
7
|
+
* «=» era más grande que las demás, las dos cosas falsas, y no había forma de separar lo cierto de lo inventado.
|
|
8
|
+
* La maqueta ya se describía con un esquema; la captura, no. Ahora hablan el mismo idioma.
|
|
9
|
+
*
|
|
10
|
+
* Cuatro reglas:
|
|
11
|
+
*
|
|
12
|
+
* - **Cada imagen se describe SOLA.** Con las dos delante el modelo compara de memoria y lo que ve en una se
|
|
13
|
+
* contagia a la otra.
|
|
14
|
+
* - **En la captura, la ESTRUCTURA la pone el árbol de controles** (`filasDelAparato`): se le dice qué controles
|
|
15
|
+
* existen y en qué fila, y solo describe cómo se ve cada uno. Así no puede inventarse una fila ni un botón.
|
|
16
|
+
* - **Vocabulario CERRADO** (formas, tamaños de letra, alineación, colores en `#RRGGBB`): lo que no está en la
|
|
17
|
+
* lista se tira, no se interpreta.
|
|
18
|
+
* - **La comparación es de CÓDIGO** (`compararDescripciones`), control a control y siempre con la misma frase,
|
|
19
|
+
* agrupada por diferencia: «forma píldora → círculo en «7», «8»…». Un texto RECORTADO se dice siempre.
|
|
20
|
+
*
|
|
21
|
+
* Las filas descritas de una maqueta sin `code.html` se comparan además contra el árbol medido
|
|
22
|
+
* (`compararConMaqueta` en modo `aproximada`, vía `maquetaDeLaDescripcion`).
|
|
23
|
+
*/
|
|
24
|
+
import { tieneLetras, textoParaEmparejar, textoVisible } from "./geometriaDePantalla.js";
|
|
25
|
+
export const FORMAS = ["pildora", "redondeada", "recta", "circulo"];
|
|
26
|
+
export const LETRAS = ["pequena", "normal", "grande", "enorme"];
|
|
27
|
+
export const ALINEACIONES = ["izquierda", "centro", "derecha"];
|
|
28
|
+
const TOPE_DE_FILAS = 30;
|
|
29
|
+
const TOPE_POR_FILA = 12;
|
|
30
|
+
const TOPE_DE_UNIDADES = 6;
|
|
31
|
+
const TOPE_DE_EXTRAS = 8;
|
|
32
|
+
const TOPE_DE_EXTRA = 160;
|
|
33
|
+
/**
|
|
34
|
+
* El prompt, el MISMO para la maqueta y para la captura. `controlesQueExisten` (de la captura, del árbol): las
|
|
35
|
+
* filas con sus textos, que el modelo tiene que usar tal cual.
|
|
36
|
+
*/
|
|
37
|
+
export function promptDescribirPantalla(controlesQueExisten) {
|
|
38
|
+
return [
|
|
39
|
+
"Te doy UNA imagen: una pantalla de app móvil. NO la compares con nada: descríbela, en DOS FASES y en este orden.",
|
|
40
|
+
"",
|
|
41
|
+
"FASE 1, GEOMETRÍA. Las filas de controles de ARRIBA ABAJO, cada una con su `zona` (cabecera, visor, teclado…); en",
|
|
42
|
+
"cada fila, los controles de IZQUIERDA A DERECHA, cada uno con:",
|
|
43
|
+
"- `texto`: el texto visible EXACTO (respeta los signos: «÷», «×», «−», «√»). Un icono sin texto, su nombre entre",
|
|
44
|
+
" corchetes: «[borrar]», «[historial]».",
|
|
45
|
+
"- `unidades`: su ancho respecto al control MÁS ESTRECHO de su fila (1, 2, 3…). Si todos miden igual, todos 1.",
|
|
46
|
+
"Un bloque que ocupa la fila entera (un visor, un título) es una fila de un solo elemento.",
|
|
47
|
+
...(controlesQueExisten === undefined || controlesQueExisten.length === 0
|
|
48
|
+
? []
|
|
49
|
+
: [
|
|
50
|
+
"",
|
|
51
|
+
"Estos son los controles que EXISTEN en esta pantalla, fila a fila (medidos, no los adivines): usa ESTAS filas y",
|
|
52
|
+
"ESTOS textos, sin añadir ni quitar. Si uno no se ve en la imagen, ponle `\"noVisible\": true`.",
|
|
53
|
+
...controlesQueExisten.map((f) => ` ${f}`),
|
|
54
|
+
]),
|
|
55
|
+
"",
|
|
56
|
+
"FASE 2, ESTILO. Para CADA control de la fase 1, en el mismo objeto:",
|
|
57
|
+
`- \`forma\`: una de ${FORMAS.join(", ")} (un círculo es tan alto como ancho; una píldora es más ancha que alta con`,
|
|
58
|
+
" los extremos redondos).",
|
|
59
|
+
"- `fondo`: el color de su fondo, como #RRGGBB. `colorTexto`: el color de su texto o icono, como #RRGGBB.",
|
|
60
|
+
`- \`letra\`: el tamaño del texto, uno de ${LETRAS.join(", ")}.`,
|
|
61
|
+
"- `borde`: true si tiene un contorno o una línea visible alrededor.",
|
|
62
|
+
"- `recortado`: true si su texto se ve CORTADO por algún borde (le falta un trozo de las letras).",
|
|
63
|
+
`- \`alineacion\`: dónde va su texto dentro del control, una de ${ALINEACIONES.join(", ")}.`,
|
|
64
|
+
"",
|
|
65
|
+
"Y en `extras`, en frases cortas, lo que SE VE y no es ningún control: cajas vacías, rectángulos con borde, líneas,",
|
|
66
|
+
"marcos. Si no hay nada así, lista vacía.",
|
|
67
|
+
"",
|
|
68
|
+
"Describe SOLO lo que se ve. No inventes controles.",
|
|
69
|
+
"",
|
|
70
|
+
'Contesta SOLO este JSON: {"filas":[{"zona":"teclado","controles":[{"texto":"7","unidades":1,"forma":"circulo","fondo":"#2A2E36","colorTexto":"#FFFFFF","letra":"grande","borde":false,"recortado":false,"alineacion":"centro"}, …]}, …],"extras":["…"]}',
|
|
71
|
+
].join("\n");
|
|
72
|
+
}
|
|
73
|
+
/** La fila de la captura como se le da al modelo: los textos, y un control sin texto por su nombre entre corchetes. */
|
|
74
|
+
export function filasParaElDescriptor(filas) {
|
|
75
|
+
return filas.map((fila, i) => `fila ${i + 1}: ${fila.map((c) => `«${c.texto ?? `[${c.nombre ?? "sin nombre"}]`}»`).join(" ")}`);
|
|
76
|
+
}
|
|
77
|
+
const esTexto = (x) => typeof x === "string" && x.trim() !== "";
|
|
78
|
+
const color = (x) => (typeof x === "string" && /^#[0-9a-fA-F]{6}$/.test(x) ? x.toUpperCase() : undefined);
|
|
79
|
+
const booleano = (x) => (typeof x === "boolean" ? x : undefined);
|
|
80
|
+
function controlVisto(c) {
|
|
81
|
+
if (!esTexto(c["texto"]) || c["noVisible"] === true)
|
|
82
|
+
return undefined;
|
|
83
|
+
const u = c["unidades"];
|
|
84
|
+
const campos = { texto: c["texto"].trim() };
|
|
85
|
+
if (typeof u === "number" && Number.isFinite(u) && u >= 1 && u <= TOPE_DE_UNIDADES)
|
|
86
|
+
campos.unidades = u;
|
|
87
|
+
const forma = FORMAS.find((f) => f === c["forma"]);
|
|
88
|
+
if (forma !== undefined)
|
|
89
|
+
campos.forma = forma;
|
|
90
|
+
const fondo = color(c["fondo"]);
|
|
91
|
+
if (fondo !== undefined)
|
|
92
|
+
campos.fondo = fondo;
|
|
93
|
+
const colorTexto = color(c["colorTexto"]);
|
|
94
|
+
if (colorTexto !== undefined)
|
|
95
|
+
campos.colorTexto = colorTexto;
|
|
96
|
+
const letra = LETRAS.find((l) => l === c["letra"]);
|
|
97
|
+
if (letra !== undefined)
|
|
98
|
+
campos.letra = letra;
|
|
99
|
+
const borde = booleano(c["borde"]);
|
|
100
|
+
if (borde !== undefined)
|
|
101
|
+
campos.borde = borde;
|
|
102
|
+
const recortado = booleano(c["recortado"]);
|
|
103
|
+
if (recortado !== undefined)
|
|
104
|
+
campos.recortado = recortado;
|
|
105
|
+
const alineacion = ALINEACIONES.find((a) => a === c["alineacion"]);
|
|
106
|
+
if (alineacion !== undefined)
|
|
107
|
+
campos.alineacion = alineacion;
|
|
108
|
+
return campos;
|
|
109
|
+
}
|
|
110
|
+
/** La descripción que devolvió el modelo, o `undefined` si no trae al menos una fila. Lo que no encaja se tira. */
|
|
111
|
+
export function interpretarDescripcion(objeto) {
|
|
112
|
+
if (objeto === undefined || !Array.isArray(objeto["filas"]))
|
|
113
|
+
return undefined;
|
|
114
|
+
const filas = objeto["filas"]
|
|
115
|
+
.slice(0, TOPE_DE_FILAS)
|
|
116
|
+
.map((f) => {
|
|
117
|
+
// Se acepta también la fila como lista suelta de controles.
|
|
118
|
+
const fila = Array.isArray(f) ? { controles: f } : typeof f === "object" && f !== null ? f : undefined;
|
|
119
|
+
if (fila === undefined || !Array.isArray(fila["controles"]))
|
|
120
|
+
return undefined;
|
|
121
|
+
const controles = fila["controles"]
|
|
122
|
+
.filter((c) => typeof c === "object" && c !== null)
|
|
123
|
+
.map(controlVisto)
|
|
124
|
+
.filter((c) => c !== undefined)
|
|
125
|
+
.slice(0, TOPE_POR_FILA);
|
|
126
|
+
return controles.length === 0 ? undefined : { ...(esTexto(fila["zona"]) ? { zona: fila["zona"].trim().slice(0, 30) } : {}), controles };
|
|
127
|
+
})
|
|
128
|
+
.filter((f) => f !== undefined);
|
|
129
|
+
if (filas.length === 0)
|
|
130
|
+
return undefined;
|
|
131
|
+
const extras = (Array.isArray(objeto["extras"]) ? objeto["extras"] : [])
|
|
132
|
+
.filter(esTexto)
|
|
133
|
+
.map((e) => (e.length > TOPE_DE_EXTRA ? `${e.slice(0, TOPE_DE_EXTRA - 1)}…` : e.trim()))
|
|
134
|
+
.slice(0, TOPE_DE_EXTRAS);
|
|
135
|
+
return { filas, extras };
|
|
136
|
+
}
|
|
137
|
+
const UNIDAD = 10;
|
|
138
|
+
/**
|
|
139
|
+
* La descripción como cajas de una REJILLA: cada fila a su altura, cada control a lo ancho de sus unidades. Solo
|
|
140
|
+
* sirven para decir fila, orden y ancho relativo (`compararConMaqueta` en modo `aproximada`); un control sin
|
|
141
|
+
* unidades —o todos, con `conAnchos: false`— va marcado `sinAncho`.
|
|
142
|
+
*/
|
|
143
|
+
export function maquetaDeLaDescripcion(d, conAnchos = true) {
|
|
144
|
+
const elementos = [];
|
|
145
|
+
let anchoMaximo = 0;
|
|
146
|
+
d.filas.forEach((fila, f) => {
|
|
147
|
+
let x = 0;
|
|
148
|
+
for (const c of fila.controles) {
|
|
149
|
+
const unidades = c.unidades ?? 1;
|
|
150
|
+
elementos.push({
|
|
151
|
+
texto: c.texto,
|
|
152
|
+
caja: { x, y: f * UNIDAD, ancho: unidades * UNIDAD, alto: UNIDAD * 0.8 },
|
|
153
|
+
...(conAnchos && c.unidades !== undefined ? {} : { sinAncho: true }),
|
|
154
|
+
});
|
|
155
|
+
x += unidades * UNIDAD;
|
|
156
|
+
}
|
|
157
|
+
anchoMaximo = Math.max(anchoMaximo, x);
|
|
158
|
+
});
|
|
159
|
+
return { ancho: Math.max(anchoMaximo, UNIDAD), alto: d.filas.length * UNIDAD, elementos };
|
|
160
|
+
}
|
|
161
|
+
/** La maqueta MEDIDA (las cajas del `code.html`) vista como si fuera un aparato, para compararla con la descrita. */
|
|
162
|
+
export function htmlComoAparato(m) {
|
|
163
|
+
return {
|
|
164
|
+
pantalla: { ancho: m.ancho, alto: m.alto },
|
|
165
|
+
controles: m.elementos.map((e) => ({ ...(textoParaEmparejar(e.texto) === "" ? {} : { texto: e.texto }), caja: e.caja })),
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
// ---------------------------------------------------------------- comparar dos descripciones
|
|
169
|
+
const NOMBRE_DE_FORMA = { pildora: "píldora", redondeada: "redondeada", recta: "recta", circulo: "círculo" };
|
|
170
|
+
const NOMBRE_DE_LETRA = { pequena: "pequeña", normal: "normal", grande: "grande", enorme: "enorme" };
|
|
171
|
+
/**
|
|
172
|
+
* Cuánto se separan dos colores para contarlo: una distancia en RGB. El modelo ESTIMA el color de una imagen y
|
|
173
|
+
* varía de una vez a otra en la misma; por debajo de esto es la misma tinta descrita dos veces.
|
|
174
|
+
*/
|
|
175
|
+
const DISTANCIA_DE_COLOR = 90;
|
|
176
|
+
/** Un color redondeado a pasos de 16 por canal: para AGRUPAR, que «#BDF3FE» y «#BDF4FF» son la misma tinta. */
|
|
177
|
+
const redondo = (h) => `#${[1, 3, 5].map((i) => Math.min(255, Math.round(parseInt(h.slice(i, i + 2), 16) / 16) * 16).toString(16).padStart(2, "0")).join("").toUpperCase()}`;
|
|
178
|
+
function distanciaDeColor(a, b) {
|
|
179
|
+
const rgb = (h) => [1, 3, 5].map((i) => parseInt(h.slice(i, i + 2), 16));
|
|
180
|
+
const [x, y] = [rgb(a), rgb(b)];
|
|
181
|
+
return Math.sqrt(x.reduce((s, v, i) => s + (v - y[i]) ** 2, 0));
|
|
182
|
+
}
|
|
183
|
+
const ICONO = "\u0000icono";
|
|
184
|
+
/** La clave con que se emparejan: el texto (con sus alias). Todos los iconos comparten clave y se emparejan por cercanía. */
|
|
185
|
+
function clave(c) {
|
|
186
|
+
const t = textoParaEmparejar(c.texto);
|
|
187
|
+
return t !== "" ? t : ICONO;
|
|
188
|
+
}
|
|
189
|
+
/** Hasta dónde se busca pareja a un icono, o a un texto que en la captura dice otra cosa (un DEG que está en RAD). */
|
|
190
|
+
const CERCA = 0.12;
|
|
191
|
+
const MUY_CERCA = 0.06;
|
|
192
|
+
/** Un texto con letras o cifras: en uno solo de signos («−», «.»), la altura de la tinta no es el tamaño de la letra. */
|
|
193
|
+
const conLetras = (t) => /[0-9A-Za-zÁÉÍÓÚáéíóúÑñ]/.test(textoParaEmparejar(t));
|
|
194
|
+
const decimal = (x, d = 1) => x.toFixed(d).replace(".", ",");
|
|
195
|
+
/**
|
|
196
|
+
* Dos formas VECINAS (recta ↔ redondeada ↔ píldora/círculo) con casi la misma proporción, medida en los dos: el radio
|
|
197
|
+
* está en el límite entre dos nombres. Sin cifras (una descripción), no se sabe, y no es menor.
|
|
198
|
+
*/
|
|
199
|
+
function formaVecina(m, a) {
|
|
200
|
+
// Las DOS cifras casi iguales: un cuadrado redondeado de 1,2:1 frente a un círculo de 1,0:1 (radio parecido, otra
|
|
201
|
+
// proporción) es una diferencia que se ve —la de las teclas de la calculadora—, no un límite entre nombres.
|
|
202
|
+
if (m.proporcion === undefined || a.proporcion === undefined || Math.abs(m.proporcion - a.proporcion) > 0.1)
|
|
203
|
+
return false;
|
|
204
|
+
if (m.radio === undefined || a.radio === undefined || Math.abs(m.radio - a.radio) > 0.1)
|
|
205
|
+
return false;
|
|
206
|
+
const nivel = (f) => (f === "recta" ? 0 : f === "redondeada" ? 1 : 2);
|
|
207
|
+
return Math.abs(nivel(m.forma) - nivel(a.forma)) === 1;
|
|
208
|
+
}
|
|
209
|
+
/** El texto de un control en un hallazgo, como se VE: sin el nombre de la ligadura de su icono. */
|
|
210
|
+
const nombrar = (c) => `«${textoVisible(c.texto)}»`;
|
|
211
|
+
/**
|
|
212
|
+
* La comparación, control a control y con la misma frase siempre. Se empareja por TEXTO en orden de lectura
|
|
213
|
+
* (el segundo «±» de la maqueta con el segundo de la captura). Las diferencias iguales se AGRUPAN: dieciséis
|
|
214
|
+
* teclas que pasan de píldora a círculo son una línea, no dieciséis.
|
|
215
|
+
*/
|
|
216
|
+
export function compararDescripciones(maqueta, captura) {
|
|
217
|
+
/**
|
|
218
|
+
* Cada control con su SITIO: su centro medido si lo trae (fracción de la pantalla), o su fila y columna relativas
|
|
219
|
+
* si viene descrito. Se empareja por TEXTO y, entre los del mismo texto, por cercanía: por texto solo, el «0» del
|
|
220
|
+
* visor de la maqueta se emparejaba con la tecla «0» de la captura.
|
|
221
|
+
*/
|
|
222
|
+
const situar = (d) => d.filas.flatMap((f, i) => f.controles.map((c, j) => ({
|
|
223
|
+
c,
|
|
224
|
+
fila: i,
|
|
225
|
+
y: c.centro?.y ?? (d.filas.length > 1 ? i / (d.filas.length - 1) : 0),
|
|
226
|
+
x: c.centro?.x ?? (f.controles.length > 1 ? j / (f.controles.length - 1) : 0.5),
|
|
227
|
+
})));
|
|
228
|
+
const ms = situar(maqueta);
|
|
229
|
+
const as = situar(captura);
|
|
230
|
+
const lejania = (i, j) => Math.abs(ms[i].y - as[j].y) + Math.abs(ms[i].x - as[j].x) / 4;
|
|
231
|
+
const pareja = new Map();
|
|
232
|
+
const usadas = new Set();
|
|
233
|
+
const emparejar = (candidatas) => {
|
|
234
|
+
for (const { i, j } of candidatas.sort((x, y) => x.d - y.d)) {
|
|
235
|
+
if (pareja.has(i) || usadas.has(j))
|
|
236
|
+
continue;
|
|
237
|
+
pareja.set(i, j);
|
|
238
|
+
usadas.add(j);
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
const todas = [];
|
|
242
|
+
ms.forEach((m, i) => as.forEach((a, j) => clave(m.c) === clave(a.c) && todas.push({ i, j, d: lejania(i, j) })));
|
|
243
|
+
emparejar(todas.filter(({ i, d }) => clave(ms[i].c) !== ICONO || d <= CERCA));
|
|
244
|
+
const grupos = new Map();
|
|
245
|
+
const anotar = (que, quien) => grupos.set(que, [...(grupos.get(que) ?? []), nombrar(quien)]);
|
|
246
|
+
const gruposMenores = new Map();
|
|
247
|
+
// La letra se agrupa aparte: la de UN solo control que discrepa es un glifo (el «1» es estrecho y bajo en unas
|
|
248
|
+
// fuentes), no el tamaño de la fuente. Si son varios, es el tamaño.
|
|
249
|
+
const gruposDeLetra = new Map();
|
|
250
|
+
const anotarLetra = (que, quien) => gruposDeLetra.set(que, [...(gruposDeLetra.get(que) ?? []), nombrar(quien)]);
|
|
251
|
+
const anotarMenor = (que, quien) => gruposMenores.set(que, [...(gruposMenores.get(que) ?? []), nombrar(quien)]);
|
|
252
|
+
// Un texto que en la captura dice OTRA cosa en el mismo sitio (un interruptor DEG que está en RAD): no falta. Solo
|
|
253
|
+
// con los dos sitios MEDIDOS: con la fila y la columna de una descripción, el «0» de muestra del visor «estaba en
|
|
254
|
+
// el mismo sitio» que el «12 + 3» de la captura.
|
|
255
|
+
const otroTexto = [];
|
|
256
|
+
// Palabra con palabra: una cifra no es la traducción de nada (medido: el «19» del visor salía como pareja de «COPY»).
|
|
257
|
+
ms.forEach((m, i) => {
|
|
258
|
+
if (pareja.has(i) || clave(m.c) === ICONO || m.c.centro === undefined || !tieneLetras(clave(m.c)))
|
|
259
|
+
return;
|
|
260
|
+
as.forEach((a, j) => !usadas.has(j) && clave(a.c) !== ICONO && tieneLetras(clave(a.c)) && a.c.centro !== undefined && lejania(i, j) <= MUY_CERCA && otroTexto.push({ i, j, d: lejania(i, j) }));
|
|
261
|
+
});
|
|
262
|
+
const antes = new Set(pareja.keys());
|
|
263
|
+
emparejar(otroTexto);
|
|
264
|
+
const notas = [];
|
|
265
|
+
for (const i of pareja.keys()) {
|
|
266
|
+
if (antes.has(i))
|
|
267
|
+
continue;
|
|
268
|
+
notas.push(`${nombrar(as[pareja.get(i)].c)} donde la maqueta dice ${nombrar(ms[i].c)}: otro texto en su sitio (traducido, u otro estado). No cuenta; su estilo sí se compara.`);
|
|
269
|
+
}
|
|
270
|
+
// Lo que no está solo es noticia si su FILA existe en la captura (algún vecino se emparejó): los datos de ejemplo
|
|
271
|
+
// de un visor («1,240 × 15%…», un «0» de muestra) no tienen por qué estar.
|
|
272
|
+
const filasConPareja = new Set([...pareja.keys()].map((i) => ms[i].fila));
|
|
273
|
+
const faltan = [];
|
|
274
|
+
ms.forEach(({ c: m, fila }, i) => {
|
|
275
|
+
const j = pareja.get(i);
|
|
276
|
+
if (j === undefined) {
|
|
277
|
+
// Una cifra o un signo suelto de la maqueta («12», «09:41») es un dato de ejemplo: que falte no es un defecto. Un
|
|
278
|
+
// BOTÓN que falta (una tecla) ya lo dice la geometría, que sí sabe si es un botón.
|
|
279
|
+
if (filasConPareja.has(fila) && clave(m) !== ICONO && tieneLetras(clave(m)))
|
|
280
|
+
faltan.push(nombrar(m));
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
const a = as[j].c;
|
|
284
|
+
if (m.forma !== undefined && a.forma !== undefined && m.forma !== a.forma) {
|
|
285
|
+
const cifra = (c) => (c.proporcion === undefined ? "" : ` (${decimal(c.proporcion)}:1)`);
|
|
286
|
+
const que = `forma ${NOMBRE_DE_FORMA[m.forma]}${cifra(m)} → ${NOMBRE_DE_FORMA[a.forma]}${cifra(a)}`;
|
|
287
|
+
if (formaVecina(m, a))
|
|
288
|
+
anotarMenor(que, m);
|
|
289
|
+
else
|
|
290
|
+
anotar(que, m);
|
|
291
|
+
}
|
|
292
|
+
if (conLetras(m.texto)) {
|
|
293
|
+
if (m.alturaDeLetra !== undefined && a.alturaDeLetra !== undefined) {
|
|
294
|
+
const veces = a.alturaDeLetra / m.alturaDeLetra;
|
|
295
|
+
if (veces > 1.3 || veces < 0.77)
|
|
296
|
+
anotarLetra(`letra ${decimal(veces)} veces la de la maqueta`, m);
|
|
297
|
+
}
|
|
298
|
+
else if (m.letra !== undefined && a.letra !== undefined && m.letra !== a.letra) {
|
|
299
|
+
anotar(`letra ${NOMBRE_DE_LETRA[m.letra]} → ${NOMBRE_DE_LETRA[a.letra]}`, m);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
if (m.borde !== undefined && a.borde !== undefined && m.borde !== a.borde)
|
|
303
|
+
anotar(a.borde ? "lleva un BORDE que la maqueta no tiene" : "le falta el borde de la maqueta", m);
|
|
304
|
+
if (m.alineacion !== undefined && a.alineacion !== undefined && m.alineacion !== a.alineacion)
|
|
305
|
+
anotar(`texto alineado a ${m.alineacion} → a ${a.alineacion}`, m);
|
|
306
|
+
if (m.fondo !== undefined && a.fondo !== undefined && distanciaDeColor(m.fondo, a.fondo) > DISTANCIA_DE_COLOR)
|
|
307
|
+
anotar(`fondo ${redondo(m.fondo)} → ${redondo(a.fondo)}`, m);
|
|
308
|
+
if (m.colorTexto !== undefined && a.colorTexto !== undefined && distanciaDeColor(m.colorTexto, a.colorTexto) > DISTANCIA_DE_COLOR) {
|
|
309
|
+
anotar(`color del texto ${redondo(m.colorTexto)} → ${redondo(a.colorTexto)}`, m);
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
// Un BORDE en la captura cuando la maqueta no tiene ninguno: también en lo que no tiene pareja (el visor).
|
|
313
|
+
if (!ms.some(({ c }) => c.borde === true)) {
|
|
314
|
+
as.forEach(({ c }, j) => {
|
|
315
|
+
if (!usadas.has(j) && c.borde === true)
|
|
316
|
+
anotar("lleva un BORDE, y en la maqueta nada lo lleva", c);
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
const deLetra = [...gruposDeLetra.values()].reduce((n, q) => n + q.length, 0);
|
|
320
|
+
for (const [que, quienes] of gruposDeLetra)
|
|
321
|
+
(deLetra > 1 ? grupos : gruposMenores).set(que, quienes);
|
|
322
|
+
const lineas = (g) => [...g.entries()].sort((x, y) => y[1].length - x[1].length).map(([que, quienes]) => `${que} en ${quienes.join(", ")}${quienes.length > 3 ? ` (${quienes.length} controles)` : ""}.`);
|
|
323
|
+
const menores = lineas(gruposMenores);
|
|
324
|
+
const diferencias = [...grupos.entries()]
|
|
325
|
+
.sort((x, y) => y[1].length - x[1].length)
|
|
326
|
+
.map(([que, quienes]) => `${que} en ${quienes.join(", ")}${quienes.length > 3 ? ` (${quienes.length} controles)` : ""}.`);
|
|
327
|
+
const recortes = as
|
|
328
|
+
.map((x) => x.c)
|
|
329
|
+
.filter((c) => c.recortado === true)
|
|
330
|
+
.map((c) => `${nombrar(c)} se ve RECORTADO (le falta un trozo de las letras).`);
|
|
331
|
+
return {
|
|
332
|
+
diferencias,
|
|
333
|
+
faltan,
|
|
334
|
+
recortes,
|
|
335
|
+
extras: { maqueta: maqueta.extras, captura: captura.extras },
|
|
336
|
+
...(menores.length === 0 ? {} : { menores }),
|
|
337
|
+
...(notas.length === 0 ? {} : { notas }),
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
/** El bloque que ve el agente. `medida`: las dos salen de los píxeles de cada control, no de un modelo. */
|
|
341
|
+
export function informeDeComparacion(c, como = "descrita") {
|
|
342
|
+
const lineas = [
|
|
343
|
+
como === "medida"
|
|
344
|
+
? "COMPARACIÓN CONTROL A CONTROL, MEDIDA en los píxeles de cada control (la caja del árbol en la captura, la del code.html en la maqueta; en cada línea, maqueta → aparato):"
|
|
345
|
+
: "COMPARACIÓN CONTROL A CONTROL (la maqueta y la captura descritas POR SEPARADO, con el mismo esquema; en cada línea, maqueta → aparato):",
|
|
346
|
+
];
|
|
347
|
+
for (const r of c.recortes)
|
|
348
|
+
lineas.push(`- ${r}`);
|
|
349
|
+
if (c.faltan.length > 0)
|
|
350
|
+
lineas.push(`- No los encuentro en la captura: ${c.faltan.join(", ")}.`);
|
|
351
|
+
for (const d of c.diferencias)
|
|
352
|
+
lineas.push(`- ${d}`);
|
|
353
|
+
if (c.extras.captura.length > 0) {
|
|
354
|
+
lineas.push(`- Lo que se ve y no es un control, en la captura: ${c.extras.captura.join("; ")}.` +
|
|
355
|
+
(c.extras.maqueta.length > 0 ? ` En la maqueta: ${c.extras.maqueta.join("; ")}.` : " En la maqueta, nada así."));
|
|
356
|
+
}
|
|
357
|
+
if (lineas.length === 1)
|
|
358
|
+
lineas.push(c.menores === undefined ? "- Nada: cada control se ve como en la maqueta." : "- Nada que arreglar.");
|
|
359
|
+
for (const m of c.menores ?? [])
|
|
360
|
+
lineas.push(`- (menor, no hace falta arreglarlo) ${m}`);
|
|
361
|
+
for (const n of c.notas ?? [])
|
|
362
|
+
lineas.push(`- (nota) ${n}`);
|
|
363
|
+
return lineas;
|
|
364
|
+
}
|
|
365
|
+
/** Hay algo que arreglar según la comparación. */
|
|
366
|
+
export const hayQueArreglar = (c) => c.recortes.length + c.faltan.length + c.diferencias.length > 0;
|
|
367
|
+
//# sourceMappingURL=descripcionDePantalla.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descripcionDePantalla.js","sourceRoot":"","sources":["../../src/core/descripcionDePantalla.ts"],"names":[],"mappings":"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"}
|