# INSTRUCCIONES PARA KIMI: LATEX Y EJERCICIOS PRO 💯
*(Sprint 3 - Tareas Asignadas de Frontend y Base de Datos)*

Kimi, el usuario ha revisado los resultados del módulo en el dashboard y ha identificado dos problemas críticos para la experiencia de estudio. Tu objetivo es aplicar soporte matemático visual (LaTeX) de primera clase y popular masivamente la base de datos con ejercicios dignos de un estudiante universitario.

---

## 📐 1. Renderizado de LaTeX en Frontend (Prioridad Alta)
Actualmente, fórmulas como `\mathbf{u} + \mathbf{v} = (u_1 + v_1, u_2 + v_2, u_3 + v_3)` o `\sum_{k} a_{ik}b_{kj}` aparecen como texto crudo en la interfaz dentro de "Ejemplos resueltos".

**El objetivo:** Utilizar el ecosistema de LaTeX para que las fórmulas se pinten magistralmente.

### Archivo a Editar:
- `frontend/src/app/(dashboard)/modules/[moduleId]/page.tsx`

### Instrucciones Técnicas para el Renderizado:
1. El proyecto ya cuenta con las dependencias `react-katex` y `katex`.
2. Debes importar y aplicar `<BlockMath />` e `<InlineMath />` de `react-katex`, junto con su hoja de estilos `katex/dist/katex.min.css`.
3. Reemplaza el bloque crudo actual de `example.latexFormula`:
   ```tsx
   // ❌ ELIMINAR ESTO:
   {example.latexFormula && (
     <div className="rounded-lg bg-muted p-3 font-mono text-sm">
       {example.latexFormula}
     </div>
   )}
   
   // ✅ REEMPLAZAR POR ALGO ASÍ:
   {example.latexFormula && (
     <div className="rounded-lg bg-muted p-4 my-2 overflow-x-auto text-center">
       <BlockMath math={example.latexFormula} />
     </div>
   )}
   ```
4. **IMPORTANTE (Markdown Híbrido):** La propiedad `content` o `explanation` suele contener texto mezclado con LaTeX en línea (ej: "Dados dos vectores \mathbf{u} y \mathbf{v}..."). 
   - Debes implementar un *parser* rápido que separe el texto de las fórmulas inline para usar `<InlineMath />`, **o bien** instalar `react-markdown` junto a `remark-math` y `rehype-katex` para parsear automáticamente el contenido que viene del backend como Markdown enriquecido. ¡Tú decides el approach más sólido!

---

## 🧠 2. Ampliación Masiva de Ejercicios (Prioridad Extrema)
El usuario ha sido claro: *"quiero muuuuuuuuuuuuuuchos mas ejercicios, la persona tiene que salir cual pro a comerse el parcial"*.

### Archivo a Editar:
- `backend/prisma/seed.ts` (Opcional: puedes crear un script adyacente como `backend/prisma/seed-pro.ts` para no saturar el seed base y llamarlo en cascada).

### Instrucciones para el Data Seed:
1. Expande brutalmente la cantidad y profundidad de los *Ejemplos Resueltos* (`examples`) en los módulos existentes (Especialmente Álgebra Lineal, Cálculo Vectorial, Ecuaciones Diferenciales, etc.).
2. Debes inyectar **decenas de nuevos Ejercicios (`exercises`)**. 
3. **Curva de Dificultad (Nivel Parcial Universitativo):**
   - Comienza con ejercicios de dificultad `BASIC` (ej. sumas de vectores simples).
   - Escala hacia algoritmos `INTERMEDIATE` (producto cruz, determinantes 3x3).
   - Termina en nivel `ADVANCED` / "Modo Parcial" (matrices ortogonales, autovalores, autovectores, diagonalización de matrices complejas, optimización en Rn).
4. Asegúrate que cada ejercicio complejo **tenga un `solutionSteps` detallado línea por línea en JSON o string** para que al resolverlo, el UI le explique al usuario el proceso como si fuera su tutor privado. La sintaxis LaTeX de las soluciones debe estar inmaculada para encajar con tu fix del punto 1.

### Pasos Finales de Validación:
1. Ejecuta el nuevo seed: `npm run prisma:seed`
2. Verifica en el dashboard que los módulos pasen a tener un aspecto "Premium" con docenas de ítems desbloqueados.
3. Asegúrate de no introducir ningún error de Typescript (tu `tsc --noEmit` de frontend y backend deben resistir).
