diff --git a/scripts/35_gate5_penpot_design.py b/scripts/35_gate5_penpot_design.py index ed1860e..f3f9cd4 100644 --- a/scripts/35_gate5_penpot_design.py +++ b/scripts/35_gate5_penpot_design.py @@ -1130,6 +1130,53 @@ THRESHOLDS = { **UMBRALES_VIBRACION_NO_APLICA, **UMBRALES_FILL_EXPLICITO, }, + # ------------------------------------------------------------------------------------ + # Sonda de generalizacion (Fase 6.4.25b, segunda reanudacion): 4 rubros nunca vistos ni en + # los seeds ni en los prompts oficiales de la puerta 5 (ferreteria, gimnasio, tienda de + # mascotas, panaderia). NO es la puerta 5 oficial -- es un chequeo adicional para distinguir + # mejora real de sobreajuste al holdout conocido. Los umbrales espejan al analogo mas + # cercano entre los 10 oficiales, para que el veredicto sea comparable en criterio. + # ------------------------------------------------------------------------------------ + "gp-01-ferreteria": { # analogo: g5-05-grid-tres-diferenciales (catalogo en grid, media) + "shapeCount": 12, "distinctFillColors": 3, "placeholderGreys": 0, + "textsWithCharacters": 9, "typeScale": (2, 20), "textFillShare": 1.0, + "layoutBoards": 1, "layoutChildSizingShare": 0.5, "containmentViolations": 0, + "structure": (3, 3), "styleRichness": 3, "rootHeightMismatch": 32, + "exportBeforeFinal": True, "forbiddenBehavior": 0, "exceptionRate": 0.34, + "fontIdBoundShare": 1.0, "rendersOk": True, + **UMBRALES_VIBRACION_NO_APLICA, + **UMBRALES_FILL_EXPLICITO_MEDIA, + }, + "gp-02-gimnasio": { # analogo: g5-09/10 brief ambiguo (alta, "elegi vos" -> vibracion aplica) + "shapeCount": 30, "distinctFillColors": 6, "placeholderGreys": 0, + "textsWithCharacters": 12, "typeScale": (3, 32), "textFillShare": 1.0, + "layoutBoards": 3, "layoutChildSizingShare": 0.5, "containmentViolations": 0, + "structure": (3, 4), "styleRichness": 3, "rootHeightMismatch": 48, + "exportBeforeFinal": True, "forbiddenBehavior": 0, "exceptionRate": 0.34, + "fontIdBoundShare": 1.0, "rendersOk": True, + **UMBRALES_VIBRACION, + **UMBRALES_FILL_EXPLICITO, + }, + "gp-03-tienda-mascotas": { # analogo: g5-03-card-producto (card con foto real, media) + "shapeCount": 6, "distinctFillColors": 3, "placeholderGreys": 0, + "textsWithCharacters": 4, "typeScale": (3, 20), "textFillShare": 1.0, + "layoutBoards": None, "layoutChildSizingShare": None, "containmentViolations": 0, + "structure": (2, 1), "styleRichness": 3, "rootHeightMismatch": 32, + "exportBeforeFinal": True, "forbiddenBehavior": 0, "exceptionRate": 0.34, + "fontIdBoundShare": 1.0, "rendersOk": True, + **UMBRALES_VIBRACION_NO_APLICA, + **UMBRALES_FILL_EXPLICITO_MEDIA, + }, + "gp-04-panaderia": { # analogo: g5-06-landing-pizzeria (landing brief ambiguo, alta) + "shapeCount": 25, "distinctFillColors": 5, "placeholderGreys": 0, + "textsWithCharacters": 12, "typeScale": (4, 32), "textFillShare": 1.0, + "layoutBoards": 2, "layoutChildSizingShare": 0.5, "containmentViolations": 0, + "structure": (3, 5), "styleRichness": 5, "rootHeightMismatch": 48, + "exportBeforeFinal": True, "forbiddenBehavior": 0, "exceptionRate": 0.34, + "fontIdBoundShare": 1.0, "rendersOk": True, + **UMBRALES_VIBRACION, + **UMBRALES_FILL_EXPLICITO, + }, }