# 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