Terreno
Seis modelos. Un mismo objetivo arquitectónico.
Simulador paramétrico de factibilidad para un lote irregular en Ambato (332,90 m²). Misma geometría DXF, mismo prompt maestro; distintas implementaciones de IA.
Qué resuelve el proyecto
Importar el terreno real desde DXF, explorar configuraciones de Bloque A (vivienda) y Bloque B (rentero), estimar áreas y costos, y evaluar capacidad financiera por etapas — sin convertir el lote en un rectángulo.
Propuesta de referencia
Idea general preferente: bloque integrado con acceso unificado — vivienda al frente y bloque rentero al fondo, patio central y construcción por etapas.
Experimentos
Cinco implementaciones activas para comparar lado a lado. OpenCode queda marcado como inactivo (no se despliega).
Comparativa
Stack y alcance a partir del mismo punto de partida.
| Criterio | Codex · Sol | Claude · Fable | Claude · Opus 5 | Gemini · Test | Cursor · Grok 5.4 | OpenCode · DeepSeek V4 (inactivo) |
|---|---|---|---|---|---|---|
| Herramienta | Codex | Claude | Claude | Gemini | Cursor | OpenCode |
| Modelo | GPT Sol | Fable | Opus 5 | Test | Grok 5.4 | DeepSeek V4 Pro |
| Frontend | Vite + React 19 | Vite + React 18 + R3F | Vite + React 18 | Vite + React 19 | Next.js 15 | Next.js 14 |
| Backend | Cliente puro | Cliente puro | Cliente puro | Cliente puro | FastAPI | FastAPI + Celery |
| Persistencia | Dexie (IndexedDB) | localStorage / store | localStorage | Zustand (memoria) | En memoria / archivos | Postgres + PostGIS + Redis |
| Editor 2D | Konva | Canvas SVG | SVG | Konva | Konva | Konva |
| Vista 3D | — | Three.js / R3F | — | — | R3F | R3F |
| Tests | Vitest + Playwright | Vitest | Vitest | — | pytest | pytest |
| Docs de diseño | README | docs/ (5) | docs/ (14) | README | README | docs/ (4) |
| Ruta UI | /e/codex/ |
/e/fable/ |
/e/opus5/ |
/e/gemini/ |
/e/grok/ |
— |
Cómo levantar
Desde la raíz del repo, con Docker instalado:
docker compose up --build
El home se sirve en
http://localhost:8090/
(Docker) o en
http://localhost/terreno/
(Apache/XAMPP). Codex, Fable, Opus 5, Gemini y Cursor quedan en puertos dedicados.
OpenCode no se levanta por defecto (perfil
opencode si hace falta localmente).