# MView Experimental

> Especificación experimental para crear vistas persistentes y reejecutables sobre fuentes de solo lectura.

Usa este archivo como índice. Para crear una MView, empieza por la especificación y consulta después las referencias técnicas. No inventes campos de la fuente ni implementes adapters registrados.

## Inicio

- [Especificación](https://carmenlabs.com/experimental): manifiesto, adapters, transform, render, refresh y seguridad.
- [Referencias técnicas](https://carmenlabs.com/experimental/examples): selección por tipo de fuente y fragmentos de implementación.
- [Schema JSON](https://carmenlabs.com/experimental/schema.json): contrato machine-readable para validar mview.json.

## Selección rápida

- Fuente CSV: usa el adapter 'csv-table' con input 'table'.
- Fuente JSON: usa el adapter 'json-value' con input 'value'.
- Fuente Markdown: usa el adapter 'markdown-text' con input 'markdown'.
- Fuente de texto o logs: usa el adapter 'plain-text' con input 'text'.
- Selección explícita de archivos: usa source.kind 'directory' e input 'filesystem'.

## Flujo recomendado

1. Inspecciona la fuente real.
2. Elige la forma normalizada y el adapter.
3. Bajá el paquete de ejemplo más cercano (ver "Paquetes de ejemplo descargables" abajo) y usalo como punto de partida real: manifiesto, transform y estructura de carpetas quedan casi listos, solo cambian identidad, campos reales y validaciones. No copies su presentación — el render sí se rediseña según el pedido del usuario.
4. Adaptá el manifiesto, transform y render a la fuente real.
5. Aplica el diseño existente del usuario o sus indicaciones visuales. Si no existen, crea deliberadamente un diseño apropiado para el contenido, sin heredar la apariencia ni los estilos por defecto del ejemplo.
6. Valida el manifiesto y ejecuta un refresh sobre una copia temporal.

## Paquetes de ejemplo descargables

Cada uno es un paquete '.mview' completo y ejecutable, no solo un fragmento de código. Listado de
archivos exacto en [/experimental/examples](https://carmenlabs.com/experimental/examples#paquetes-descargables).

- CSV, dos vistas: https://carmenlabs.com/experimental/examples/csv/
- JSON: https://carmenlabs.com/experimental/examples/json/
- Markdown: https://carmenlabs.com/experimental/examples/markdown/
- Texto plano: https://carmenlabs.com/experimental/examples/text/
- Directorio explícito: https://carmenlabs.com/experimental/examples/directory/
- Vista que falla junto a otra válida: https://carmenlabs.com/experimental/examples/failing-view/

## Recursos

- [Contexto completo](https://carmenlabs.com/experimental/llms-full.txt): definición, ejemplos y roadmap en un único documento.
- [Roadmap](https://carmenlabs.com/experimental/roadmap): fases y criterios de validación.

## Adapters de referencia

- [csv-table](https://carmenlabs.com/experimental/adapters/csv-table.mjs)
- [json-value](https://carmenlabs.com/experimental/adapters/json-value.mjs)
- [markdown-text](https://carmenlabs.com/experimental/adapters/markdown-text.mjs)
- [plain-text](https://carmenlabs.com/experimental/adapters/plain-text.mjs)
