erp-vidrio-templado/docs/08-epicas/EPIC-VT-005-corte.md

211 lines
7.5 KiB
Markdown

# EPICA: EPIC-VT-005 - Corte (Nesting)
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | EPIC-VT-005 |
| **Nombre** | Corte (Nesting) |
| **Modulo** | corte |
| **Fase** | Fase 1 - MVP |
| **Prioridad** | P0 (Critico) |
| **Estado** | Backlog |
| **Story Points** | 45 |
| **Sprint(s)** | Sprint 5-6 |
---
## Descripcion
Módulo 100% nuevo especializado en optimización de corte de vidrio. Implementa algoritmos de nesting para maximizar aprovechamiento de láminas, minimizando desperdicio. Incluye visualización gráfica del plan de corte y gestión de retazos aprovechables.
---
## Objetivo de Negocio
- Reducir desperdicio de material en 20-30%
- Optimizar uso de láminas completas
- Aprovechar retazos para piezas pequeñas
- Reducir tiempo de planificación de corte
- Trazabilidad de material por pieza
---
## Historias de Usuario
| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-VT005-001 | Como planificador, quiero generar plan de corte automático que minimice desperdicio | P0 | 13 | Backlog |
| US-VT005-002 | Como planificador, quiero visualizar gráficamente el plan de corte para validarlo | P0 | 8 | Backlog |
| US-VT005-003 | Como planificador, quiero ajustar manualmente posición de piezas en lámina para optimizar | P1 | 5 | Backlog |
| US-VT005-004 | Como operador de corte, quiero ver plan de corte en pantalla junto a mesa para ejecutar | P0 | 3 | Backlog |
| US-VT005-005 | Como operador de corte, quiero marcar piezas cortadas para registrar avance | P0 | 3 | Backlog |
| US-VT005-006 | Como almacenista, quiero registrar retazos aprovechables para reutilizar | P0 | 3 | Backlog |
| US-VT005-007 | Como planificador, quiero incluir retazos disponibles en plan de corte para aprovecharlos | P1 | 5 | Backlog |
| US-VT005-008 | Como jefe de producción, quiero ver métricas de desperdicio por lámina para medir eficiencia | P1 | 3 | Backlog |
| US-VT005-009 | Como admin, quiero configurar margen de corte (kerf) por tipo de máquina | P2 | 2 | Backlog |
**Total Story Points:** 45 SP
---
## Algoritmo de Nesting
```
┌─────────────────────────────────────────────────┐
│ LÁMINA 2440 x 1830 mm │
│ ┌──────────────┐ ┌──────────────┐ ┌────────┐ │
│ │ │ │ │ │ │ │
│ │ Pieza 1 │ │ Pieza 2 │ │ P3 │ │
│ │ 800x600 │ │ 700x500 │ │ 400x │ │
│ │ │ │ │ │ 500 │ │
│ └──────────────┘ └──────────────┘ └────────┘ │
│ ┌──────────────┐ ┌─────────┐ ┌──────────────┐ │
│ │ │ │ │ │ │ │
│ │ Pieza 4 │ │ P5 │ │ RETAZO │ │
│ │ 600x400 │ │ 300x │ │ Aprovechable│ │
│ │ │ │ 400 │ │ │ │
│ └──────────────┘ └─────────┘ └──────────────┘ │
│ ┌────────────────────────────────────────────┐ │
│ │ DESPERDICIO (no aprovechable) │ │
│ └────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
Aprovechamiento: 87%
Retazo: 8%
Desperdicio: 5%
```
---
## Criterios de Aceptacion de la Epica
**Funcionales:**
- [ ] Generar plan de corte automático (algoritmo bin packing)
- [ ] Visualización gráfica del plan de corte
- [ ] Edición manual de posiciones
- [ ] Considerar margen de corte (kerf)
- [ ] Registro de retazos aprovechables
- [ ] Inclusión de retazos en planes
- [ ] Métricas de aprovechamiento
**No Funcionales:**
- [ ] Generación de plan < 10 segundos para 50 piezas
- [ ] Aprovechamiento mínimo 80%
- [ ] Visualización responsive para pantallas de planta
**Tecnicos:**
- [ ] Algoritmo de nesting (bin packing 2D)
- [ ] Integración con inventario
- [ ] Integración con producción
- [ ] Canvas/SVG para visualización
---
## Dependencias
**Esta epica depende de:**
| Epica/Modulo | Estado | Bloqueante |
|--------------|--------|------------|
| EPIC-VT-001 Fundamentos | Backlog | Si |
| EPIC-VT-003 Produccion | Backlog | Si |
| EPIC-VT-004 Inventario | Backlog | Si |
**Esta epica bloquea:**
| Epica/Modulo | Razon |
|--------------|-------|
| EPIC-VT-006 Templado | Requiere piezas cortadas |
---
## Desglose Tecnico
**Database:**
- [ ] Schema: `cutting`
- [ ] Tablas: 5 (cutting_plans, plan_pieces, remnants, machines, cut_logs)
- [ ] Funciones: 2 (calculate_waste, register_remnant)
- [ ] Indices: Por lámina, orden, estado
**Backend:**
- [ ] Modulo: `cutting`
- [ ] Entities: 4 (CuttingPlan, PlanPiece, Remnant, CutLog)
- [ ] Services: NestingService (algoritmo)
- [ ] Endpoints: 12
- [ ] Tests: 25
**Frontend:**
- [ ] Paginas: 3 (CuttingPlans, PlanViewer, Remnants)
- [ ] Componentes: 10 (CuttingCanvas, PieceEditor, WasteMetrics, etc.)
- [ ] Stores: 1 (cuttingStore)
---
## Endpoints API
| Metodo | Endpoint | Descripcion |
|--------|----------|-------------|
| POST | /api/cutting/plans | Crear plan de corte |
| GET | /api/cutting/plans/:id | Ver plan de corte |
| POST | /api/cutting/plans/:id/optimize | Ejecutar nesting |
| PATCH | /api/cutting/plans/:id/pieces | Ajustar posiciones |
| POST | /api/cutting/plans/:id/execute | Ejecutar corte |
| POST | /api/cutting/plans/:id/pieces/:pieceId/cut | Marcar pieza cortada |
| GET | /api/cutting/remnants | Listar retazos |
| POST | /api/cutting/remnants | Registrar retazo |
| GET | /api/cutting/metrics | Métricas de desperdicio |
---
## Riesgos
| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Algoritmo no óptimo | Media | Alto | Benchmarks vs soluciones comerciales |
| Rotación incorrecta de piezas | Media | Medio | Considerar dirección del vidrio |
| Retazos no aprovechados | Alta | Medio | Alertas de retazos disponibles |
---
## Nota Técnica
Este módulo es **100% nuevo** y no tiene equivalente en el ERP-Core. El algoritmo de nesting es específico para la industria del vidrio y debe considerar:
- Dirección del vidrio (no todas las piezas pueden rotar)
- Margen de corte (kerf) variable por máquina
- Dimensiones máximas de láminas estándar
- Retazos mínimos aprovechables
---
## Definition of Ready (DoR)
- [x] Historias de usuario definidas
- [x] Criterios de aceptacion claros
- [x] Dependencias identificadas
- [x] Estimacion completada
- [ ] Investigación de algoritmos de nesting
- [ ] Definición de tamaño mínimo de retazo
## Definition of Done (DoD)
- [ ] Algoritmo de nesting funcionando
- [ ] Visualización gráfica de planes
- [ ] Registro de retazos operativo
- [ ] Métricas de aprovechamiento
- [ ] Tests de algoritmo
- [ ] Documentación de API
---
## Historial
| Fecha | Cambio | Autor |
|-------|--------|-------|
| 2025-12-08 | Creacion de epica | Claude-Agent |
---
**Creada por:** Claude-Agent
**Fecha:** 2025-12-08
**Ultima actualizacion:** 2025-12-08