# Devlog del Proyecto: Masmorres (Physical-Web Crawler)

Este documento sirve para llevar un control diario del desarrollo, decisiones técnicas y nuevas funcionalidades implementadas en el proyecto.

## [2025-12-23] - Interacción con Puertas y Navegación

### Funcionalidades Implementadas
- **Sistema de Puertas Interactivas:**
  - Se eliminó la transición automática entre salas al pisar una puerta.
  - Ahora las puertas actúan como bloqueos físicos hasta que son "abiertas" explícitamente.
  - Lógica de selección: Click en una puerta cerrada para seleccionarla (feedback visual amarillo).
  - **Modal de Interacción:** 
    - Al mover una unidad adyacente a una puerta seleccionada, se dispara un modal UI: "¿Quieres abrir la puerta?".
    - **Confirmar:** La puerta visual se oculta, la sala destino se renderiza (si no lo estaba) y se permite el paso.
    - **Cancelar:** Se deselecciona la puerta y se mantiene cerrada.

### Cambios Técnicos
- Modificado `main.js` para incluir `checkDoorInteraction` al finalizar el movimiento.
- Nuevo estado en `SESSION`: `selectedDoorId`.
- Actualización de `isWalkable` para considerar el estado `isOpen` de las puertas.

## [2025-12-20] - Sistema Visual Dinámico (Dynamic Wall Opacity)

### Funcionalidades Implementadas
- **Opacidad de Muros Contextual:**
  - Los muros ahora ajustan su opacidad dinámicamente basándose en la rotación de la cámara (N, S, E, W) para evitar obstruir la visión del jugador.
  - **Regla General:** Los muros "frontales" a la cámara se vuelven semitransparentes (50%), mientras que los "traseros" permanecen opacos.

### Cambios Técnicos
- Implementada función `getWallOpacity(wallSide, viewDirection)`.
- Integración en `setCameraView` para refrescar opacidades al girar la vista.
- Los muros ahora tienen la propiedad `userData.wallSide` asignada durante la generación.

## [2025-12-19] - Feedback de Selección y UI

### Funcionalidades Implementadas
- **Resaltado de Selección (Highlighting):**
  - Unidades y objetos interactivos ahora muestran un aura/color amarillo al ser seleccionados.
  - Opacidad reducida al 50% para indicar estado de selección activo.
- **Mejoras de Animación:**
  - Refinamiento del "salto" de los standees al moverse entre casillas.

## [Inicio del Proyecto] - Manifiesto y Core Loop

### Visión General
- Definido el **Manifiesto Técnico (v2.0)**: Visión de un "Puente Híbrido" entre juego de mesa físico y motor narrativo digital (LLM).
- **Generación Procedural:** Algoritmo de mazmorras basado en tiles de 4x4 con expansión orgánica.
- **Motor Gráfico:** Three.js con cámara isométrica ortográfica y controles restringidos (N, S, E, W).
