{
    "x0_main.py": {
        "display_name": "1: Procesar Exportación XML de un proyecto a SCL",
        "short_description": "LadderToSCL - Conversor de Siemens LAD/FUP XML a SCL",
        "long_description": "Este script es el punto de entrada y orquestador principal para el proceso de conversión de archivos XML de Siemens TIA Portal (LAD/FUP) a código SCL y la generación de documentación relacionada.\n\n**Lógica Principal:**\n\n1.  **Configuración:** Carga parámetros desde `ParamManagerScripts` (directorio de trabajo, nombres de carpetas de salida, etc.).\n2.  **Logging:** Inicia un archivo `log.txt` para registrar detalladamente el progreso y los errores.\n3.  **Descubrimiento:** Busca recursivamente todos los archivos `.xml` dentro del subdirectorio `PLC` del directorio de trabajo configurado.\n4.  **Procesamiento Individual (Pasos x1-x3):**\n    *   Itera sobre cada archivo XML encontrado.\n    *   Implementa lógica para **saltar** pasos si el XML no ha cambiado y las salidas ya existen y están actualizadas.\n    *   Llama a funciones de `x1_to_json.py`, `x2_process.py`, y `x3_generate_scl.py` para convertir XML -> JSON intermedio -> JSON procesado -> archivo SCL/Markdown final.\n5.  **Referencias Cruzadas (Paso x4):** Llama a una función de `x4_cross_reference.py` para generar análisis de llamadas, uso de DBs, etc., basándose en los archivos procesados.\n6.  **Agregación (Paso x5):** Llama a una función de `x5_aggregate.py` para combinar las salidas SCL/Markdown y las referencias cruzadas en un único archivo Markdown resumen.\n7.  **Resumen y Salida:** Registra un resumen final del proceso (éxitos, saltos, fallos) y finaliza con un código de estado (0 para éxito, 1 si hubo errores).\n",
        "hidden": false
    },
    "x1_to_json.py": {
        "display_name": "x1_to_json",
        "short_description": "LadderToSCL - Conversor de Siemens LAD/FUP XML a SCL",
        "long_description": "",
        "hidden": true
    },
    "x2_process.py": {
        "display_name": "x2_process",
        "short_description": "LadderToSCL - Conversor de Siemens LAD/FUP XML a SCL",
        "long_description": "",
        "hidden": true
    },
    "x3_generate_scl.py": {
        "display_name": "x3_generate_scl",
        "short_description": "LadderToSCL - Conversor de Siemens LAD/FUP XML a SCL",
        "long_description": "",
        "hidden": true
    },
    "x4_cross_reference.py": {
        "display_name": "2: Procesar un archivo individual usando x4",
        "short_description": "LadderToSCL - Conversor de Siemens LAD/FUP XML a SCL",
        "long_description": "",
        "hidden": true
    },
    "x5_aggregate.py": {
        "display_name": "x5_aggregate",
        "short_description": "LadderToSCL - Conversor de Siemens LAD/FUP XML a SCL",
        "long_description": "",
        "hidden": true
    },
    "x7_clear.py": {
        "display_name": "3: Limpiar archivos json y md",
        "short_description": "3: Limpiar archivos json y md generados por (1)",
        "long_description": "",
        "hidden": false
    },
    "debug_array_parsing.py": {
        "display_name": "debug_array_parsing",
        "short_description": "Sin descripción corta.",
        "long_description": "",
        "hidden": false
    },
    "test_conversion.py": {
        "display_name": "test_conversion",
        "short_description": "Sin descripción corta.",
        "long_description": "",
        "hidden": false
    },
    "x8_manual_gui.py": {
        "display_name": "2: Procesar un archivo individual",
        "short_description": "x8_manual_gui.py - Interfaz Manual con GUI para XML→SCL",
        "long_description": "",
        "hidden": false
    },
    "test_array_fix.py": {
        "display_name": "test_array_fix",
        "short_description": "Sin descripción corta.",
        "long_description": "",
        "hidden": false
    },
    "test_parser.py": {
        "display_name": "test_parser",
        "short_description": "Sin descripción corta.",
        "long_description": "",
        "hidden": false
    },
    "test_hash_detection.py": {
        "display_name": "test_hash_detection",
        "short_description": "Sin descripción corta.",
        "long_description": "",
        "hidden": false
    },
    "test_hash_edge_cases.py": {
        "display_name": "test_hash_edge_cases",
        "short_description": "Sin descripción corta.",
        "long_description": "",
        "hidden": false
    }
}