# Documentación General y Bitácora de Cambios - Co.Laborando

> [!IMPORTANT]
> **Regla de Mantenimiento:** Para evitar el consumo excesivo de tokens, este archivo debe mantenerse conciso, con un tamaño objetivo de **entre 150 y 250 líneas** en total. Al realizar nuevos cambios, se debe resumir o actualizar la información en lugar de añadir bloques redundantes de texto.

---

## 🎮 Concepto General del Proyecto
**Co.Laborando** es una aplicación interactiva de simulación y ludoteca empresarial. Los jugadores administran múltiples departamentos con recursos limitados (Tiempo, Personal, Capital) para completar proyectos en un tablero a lo largo de un ciclo temporal de **24 quincenas (4 trimestres)**.

---

## 🏗️ Arquitectura de Archivos Principal
*   **[colaborando2.php](file:///c:/CHV/ludotecaLocal/Colaborando/colaborando2.php) / [colaborando.php](file:///c:/CHV/ludotecaLocal/Colaborando/colaborando.php):** Vistas del tablero principal del juego, donde se colocan y arrastran los proyectos y recursos.
*   **[resumen.php](file:///c:/CHV/ludotecaLocal/Colaborando/resumen.php):** Pantalla del panel de control central (dashboard) que muestra métricas acumuladas, estado de departamentos, listado de activos y control de habilidades.
*   **[jsCode.js](file:///c:/CHV/ludotecaLocal/Colaborando/jsCode.js):** Lógica del lado del cliente que maneja las interacciones del tablero, transiciones de turnos y renders dinámicos.
*   **[manejoDeSesiones.js](file:///c:/CHV/ludotecaLocal/Colaborando/manejoDeSesiones.js) / [manejoDeSesiones.php](file:///c:/CHV/ludotecaLocal/Colaborando/manejoDeSesiones.php):** Sistema de persistencia que guarda y carga el estado del juego (en archivos `.json` en la raíz del proyecto).
*   **[sesiones.php](file:///c:/CHV/ludotecaLocal/Colaborando/sesiones.php):** Panel de administración para crear, inicializar o eliminar las sesiones guardadas.

---

## ⚙️ Mecánicas de Juego Clave

### 1. Departamentos y Recursos
Existen 6 departamentos: *Marketing y Ventas, Finanzas, Investigación y Desarrollo, Logística y Sistemas, Operaciones*, y *Recursos Humanos*. Cada uno posee recursos de **Tiempo, Personal** y **Capital**, representados dinámicamente en el tablero y resumen.

### 2. Ciclo de Vida de Proyectos
*   **En proceso:** Proyectos activos en los que se está trabajando.
*   **Completado:** Proyectos finalizados con éxito. Sus requerimientos y recursos recuperados se contabilizan.
*   **Descartado:** Proyectos cancelados manualmente por el usuario pagando penalizaciones.

### 3. Mantenimiento Trimestral y Penalizaciones
En los cierres de trimestre (quincenas 6, 12, 18 y 24), los proyectos activos en proceso requieren el pago de un coste de mantenimiento (`Tiempo`, `Personal`, `Capital`).
*   Si se paga, el proyecto se oculta temporalmente durante esa quincena y reaparece en la quincena siguiente (inicio de nuevo trimestre).
*   Si no se puede o no se quiere pagar, el proyecto debe ser **desechado**, lo que resta un costo de **Penalización** del acumulado financiero acumulado del trimestre actual.

### 4. Habilidades Especiales (Acción Quincenal)
Los departamentos pueden comprar habilidades especiales con cooldown (periodicidad). Ejemplos clave:
*   **Logística y Sistemas:** Permite omitir el costo de mantenimiento de un proyecto activo (pagarlo sin gastar recursos).
*   **Operaciones:** Permite desechar un proyecto en proceso sin costo de penalización.
*   **Ordenar proyectos:** Permite reordenar la cola de los próximos 5 proyectos en el tablero.

### 5. Contabilización de Activos
Los activos producidos por proyectos completados se dividen en 6 tipos: *Personal Calificado, Analistas, Flujo de Efectivo, Crédito e Inversión, Tecnología* y *Transporte y Maquinaria*. Se calculan dinámicamente y se clasifican en:
*   **Producidos:** Total de activos creados por proyectos completados.
*   **Recuperados:** Activos que fueron arrastrados con éxito de vuelta a los departamentos.
*   **Perdidos:** Activos que no se recuperaron a tiempo antes de cambiar de trimestre.

---

## 💾 Sistema de Sesiones
*   Las sesiones de juego se guardan localmente en archivos JSON en la raíz del proyecto.
*   Para evitar que estos archivos ensucien el repositorio Git, el archivo [.gitignore](file:///c:/CHV/ludotecaLocal/Colaborando/.gitignore) ignora todos los archivos `/*.json` de la raíz.
*   Se utiliza una técnica de *cache-busting* con el parámetro `_t` y la cabecera `cache: 'no-store'` para evitar cargas AJAX obsoletas entre pantallas.

---

## 📈 Bitácora Histórica de Cambios (Changelog)

*   **03/Jul/2026:**
    *   Implementación de la ventana de mantenimiento trimestral (Q6, 12, 18, 24) en resumen y tablero.
    *   Integración de habilidades especiales para omitir costo de mantenimiento (Logística) y omitir penalizaciones por desecho (Operaciones).
    *   Bypass de caché del navegador (`cache: 'no-store'`) para la carga de datos del juego.
    *   Añadida regla `/*.json` en `.gitignore` para limpiar el repositorio de archivos de juego locales.
    *   **Nuevo botón de Pantalla Completa:** Integrado en los encabezados de la pantalla de Resumen y el Tablero mediante la API de Fullscreen de HTML5, actualizando su texto de forma reactiva a eventos del navegador.
    *   **Alineación de Departamentos:** Se fijó la altura (38px) de la celda de habilidad especial en el tablero y se restauró el tamaño de letra original (14px) con un line-height controlado (1.2) para evitar desfases de altura cuando el texto ocupa dos líneas sin perder legibilidad.
*   **11/Jun/2026:**
    *   Creación del módulo de contabilización de activos (Producidos, Recuperados, Perdidos) calculado dinámicamente e integrado en la esquina inferior izquierda de resumen.
    *   Ajustes y correcciones en la habilidad especial de reordenamiento de proyectos.
*   **10/Jun/2026:**
    *   Implementación de la habilidad para previsualizar y ordenar los siguientes 5 proyectos del tablero.
    *   Añadido botón de habilidades especiales y opción de descarte de proyectos básicos.
