# Calculate Media Strategy

Fuente conceptual: OpenViking `openviking/parse/base.py` (AGPL-3.0)
Reimplementar desde cero. No copiar codigo.

## Funcion a implementar

### calculate_media_strategy

- **Dominio:** core
- **Lang:** Python
- **Purity:** pure
- **Signature:** `calculate_media_strategy(image_count: int, line_count: int) -> str`
- **Retorno:** `"full_page_vlm"` | `"extract"` | `"text_only"`
- **Descripcion:** Determina la estrategia optima de procesamiento de medios para un documento basado en la proporcion de imagenes vs texto.
- **Algoritmo:**
  1. Si `line_count > 0` y (`image_count / line_count > 0.3` o `image_count >= 5`): → `"full_page_vlm"` (documento dominado por imagenes, usar vision-language model)
  2. Si `image_count > 0`: → `"extract"` (pocas imagenes, extraer y procesar individualmente)
  3. Si `image_count == 0`: → `"text_only"` (solo texto)
- **Deps:** ninguna
- **Tests:**
  - 0 imagenes → text_only
  - 2 imagenes, 100 lineas → extract (ratio bajo)
  - 10 imagenes, 20 lineas → full_page_vlm (ratio > 0.3)
  - 5 imagenes, 100 lineas → full_page_vlm (>= 5 imagenes)
  - 0 lineas, cualquier imagenes → text_only (division por cero evitada)
