Skip to content

Intro

Última actualización: 06-01-2026 09:01 PM Esta documentación existe para que tú y el asistente puedan retomar pAVANTI en cualquier momento con el contexto correcto: qué es, qué reglas no se negocian, cómo está dividido el código y qué toca hacer después.

pAVANTI prioriza continuidad y cero fricción. El dato clave (y “sagrado”) es: en cada reto, fecha + minutos. Con eso se habilitan vistas como el calendario de actividad y futuras métricas.


Cómo leer esta documentación (orden recomendado)

Section titled “Cómo leer esta documentación (orden recomendado)”
  1. Contexto (Monolito) Reglas del producto, decisiones cerradas, filosofía y límites.

  2. Modularidad (Monolito) Mapa del código: responsabilidades, fronteras, qué tocar y qué evitar.

  3. Modularidad (docs separados)

    • Sidebar derecha: calendario de actividad global (UI y UX).
    • lib/actividad: agregación por fecha (lógica pura, reutilizable).
  4. Backlog (Monolito) Lo siguiente a construir y su definición de hecho.

Regla práctica: entra por Contexto → Modularidad → Backlog. Consulta los docs separados cuando trabajes el calendario o la agregación de actividad.


pAVANTI/
intro.md
Contexto/
index.md
contexto-monolito.md
Modularidad/
index.md
modularidad-monolito.md
sidebar-derecha.md
lib-actividad.md
Backlog/
index.md
backlog-monolito.md
  • Contexto/contexto-monolito.md

    • propósito, reglas, “datos sagrados” (fecha + minutos),
    • persistencia (local) y estrategia de importación/migración best-effort.
  • Modularidad/modularidad-monolito.md

    • estructura real del código (types/, lib/, hooks/, components/),
    • responsabilidades y límites por archivo/módulo,
    • contrato de import/export y persistencia de UI.
  • Modularidad/sidebar-derecha.md

    • diseño y comportamiento del calendario (global, por meses, selector de año),
    • degradado verde por intensidad + horas/día dentro de la celda,
    • auto-focus/auto-scroll al mes relevante.
  • Modularidad/lib-actividad.md

    • normalización de fecha (YYYY-MM-DD),
    • agregación minutos/día por proyecto y global,
    • extracción de años disponibles y edge cases.
  • Backlog/backlog-monolito.md

    • prioridades siguientes, fases y entregables,
    • definición de hecho para cada bloque.

  • Qué es: gestor personal de proyectos con grupos y retos (estructura simple). Un proyecto puede tener muchos grupos para organizar.
  • Qué importa: en retos, fecha + minutos (habilita actividad y métricas).
  • Persistencia (datos): guardado local + export/import JSON.
  • Estrategia de import: best-effort (rescatar y preservar datos; si el archivo está “medio bien”, se intenta recuperar en vez de rechazar).

Lo nuevo implementado en este chat (importante)

Section titled “Lo nuevo implementado en este chat (importante)”

El colapsado/expandido de los grupos ya no se pierde:

  • Al recargar: se restaura automáticamente.
  • Al exportar/importar: el estado viaja dentro del archivo y se restaura al importar.

Cómo funciona (a nivel de datos):

  • Se guarda como preferencia UI separada del modelo.
  • En el export v2 se incluye un bloque opcional:
{
"schema": "pavanti-proyectos-export",
"v": 2,
"proyectos": [ ... ],
"ui": {
"v": 1,
"collapsedByProyecto": {
"<proyectoId>": ["<grupoId>", "<grupoId>"]
}
}
}
  • El import acepta:

    • v1: Proyecto[] (archivos antiguos sin UI)
    • v2: objeto con proyectos + ui (restaura colapsado)

Nota: el colapsado se guarda por IDs de grupo, así que si cambian los IDs entre exports/imports, no se puede restaurar con exactitud.


  • Existe sidebar derecha con Actividad Global:

    • calendario por meses (12 bloques),
    • selector de año,
    • cada día muestra horas/día (1 decimal) dentro de la celda,
    • color en verdes degradados por intensidad,
    • auto-scroll al mes actual (o primer mes con actividad en otros años).
  • La tabla de proyectos soporta:

    • edición directa de título/fecha/minutos/notas,
    • grupos/retos,
    • colapsado persistente (incluido export/import v2).

  • Interacción útil: click en un día del calendario → filtrar/centrar retos de esa fecha en la tabla (convierte el calendario en navegación).
  • Opcional (cosmético): si notas “parpadeo” al cambiar de proyecto, se puede ajustar la carga del colapsado para aplicarla antes del primer paint (mejora UX, no bloquea).