FITG Tester Debugging de ejercicios FITG

Entorno para depurar la lógica de ejecución de ejercicios fill-in-the-gap: evaluación de respuestas, validación de todas las soluciones (no sólo la primera), gestión de {gap} múltiples, contadores, rondas y flujo del FillInTheGapComponent tal y como se renderiza en producción.

Carga unidades desde la tabla exercise_units (por filtros o por hash), o pega el JSON de una unidad para reproducir un caso mínimo. El panel Debug de abajo muestra los parámetros efectivos y el content crudo de cada unidad cargada.

FITG Test
Aiuto

Carga de datos
Ej: grammar:verbs, grammar:declination, grammar:determiners
Bracket notation tal como está en DB, ej: [indicative],[verb]
JSON crudo de una unidad — mismo formato que la columna content de exercise_units. El hash se recalcula a partir del JSON.

Component toggles:
Debug (10 units)
Parámetros efectivos
{
    "source": "db",
    "skill": "grammar:verbs",
    "format": "fill-gaps",
    "tags": [
        "[indicative]"
    ],
    "cefr": "A1",
    "limit": 20,
    "unit": "",
    "contentJson": ""
}
Units (raw, tal cual están en exercise_units)
#0 b7256e6f5495c11f level=A1 tags=["[indicative]","[present]"] aislar
{
    "content": "Der Manager {gap} das Team zum Erfolg.",
    "hints": "führen, Präsens",
    "challenges": [
        {
            "solutions": [
                "führt"
            ],
            "hint": null,
            "options": null
        }
    ]
}
#1 65ba58cfb300c2d9 level=A1 tags=["[indicative]","[present]"] aislar
{
    "content": "Er {gap} uns den richtigen Weg.",
    "hints": "zeigen, Präsens",
    "challenges": [
        {
            "solutions": [
                "zeigt"
            ],
            "hint": null,
            "options": null
        }
    ]
}
#2 b0fbadd97d9a37d6 level=A1 tags=["[indicative]","[present]"] aislar
{
    "content": "Jeden Tag {gap} ich von zu Hause aus.",
    "hints": "arbeiten, Präsens",
    "challenges": [
        {
            "solutions": [
                "arbeite"
            ],
            "hint": null,
            "options": null
        }
    ]
}
#3 e4c517c1c8c870aa level=A1 tags=["[indicative]","[present]"] aislar
{
    "content": "Das {gap} ich nicht böse.",
    "hints": "meinen, Präsens",
    "challenges": [
        {
            "solutions": [
                "meine"
            ],
            "hint": null,
            "options": null
        }
    ]
}
#4 332aaa7dc1ac0608 level=A1 tags=["[indicative]","[present]"] aislar
{
    "content": "Sie {gap} seit drei Jahren in Berlin.",
    "hints": "leben, Präsens",
    "challenges": [
        {
            "solutions": [
                "leben"
            ],
            "hint": null,
            "options": null
        }
    ]
}
#5 fb7c6ab9d985250d level=A1 tags=["[indicative]","[present]"] aislar
{
    "content": "Heute {gap} wir viele Übungen.",
    "hints": "machen, Präsens",
    "challenges": [
        {
            "solutions": [
                "machen"
            ],
            "hint": null,
            "options": null
        }
    ]
}
#6 bf4785d7e5f11c35 level=A1 tags=["[indicative]","[present]"] aislar
{
    "content": "Du {gap} mir immer die Wahrheit.",
    "hints": "sagen, Präsens",
    "challenges": [
        {
            "solutions": [
                "sagst"
            ],
            "hint": null,
            "options": null
        }
    ]
}
#7 0960fef936db3f95 level=A1 tags=["[indicative]","[present]"] aislar
{
    "content": "Die Journalistin {gap} nach Details.",
    "hints": "fragen, Präsens",
    "challenges": [
        {
            "solutions": [
                "fragt"
            ],
            "hint": null,
            "options": null
        }
    ]
}
#8 7171a63df37d0aa7 level=A1 tags=["[indicative]","[present]"] aislar
{
    "content": "Die Kinder {gap} im Garten.",
    "hints": "spielen, Präsens",
    "challenges": [
        {
            "solutions": [
                "spielen"
            ],
            "hint": null,
            "options": null
        }
    ]
}
#9 0af7b61440270425 level=A1 tags=["[indicative]","[present]"] aislar
{
    "content": "Ich {gap} an deine Fähigkeiten.",
    "hints": "glauben, Präsens",
    "challenges": [
        {
            "solutions": [
                "glaube"
            ],
            "hint": null,
            "options": null
        }
    ]
}