Step 4: Programs (Contentor de Código)

A biblioteca central onde os ficheiros e blocos de código são armazenados e geridos.[cite: 5]

Visão Geral

O módulo de Programas funciona como um disco rígido virtual. É aqui que o utilizador guarda as trajetórias matemáticas geradas pelo software CAM ou escritas manualmente.[cite: 5]

Organização e Tipologia

Os programas podem ser geridos independentemente das máquinas. Um programa gravado aqui fica disponível para ser "anexado" a qualquer Operação (Step 3) no futuro.[cite: 5]

🎓 Formato Educacional Interativo

Este espaço na interface está arquitetado para suportar componentes didáticos avançados:[cite: 5]

  • Vídeos Integrados: Tutoriais embutidos demonstrando como exportar o Código do CAM e carregar na plataforma.[cite: 5]
  • Animações de Fluxo: Esquemas animados ilustrando a diferença entre um ficheiro físico e texto colado diretamente no sistema.[cite: 5]
  • Interatividade: Componentes onde o aluno pode testar e validar pequenos blocos de código antes de os guardar definitivamente.[cite: 5]
📐 Enquadramento & Regras Globais

Este módulo gere o "Payload" matemático do simulador. O Programa é agnóstico em relação à máquina até ser emparelhado numa Estação.[cite: 5]

⚠️ Leitura Híbrida

A API deve prever duas origens: código guardado em campo TEXT/BLOB na base de dados, ou um caminho (path) para um ficheiro físico .txt/.nc.[cite: 5]

🔍 Funcionalidade: List & Filter

Propósito: Apresentar a biblioteca de código com filtros adequados à tipologia de ficheiros.[cite: 5]

🎯 Gatilho & UI
  • Inputs de Texto: Pesquisar programas...[cite: 5]
  • Dropdowns: Todos os Status e Todos os Tipos.[cite: 5]
  • UI: Sistema de Paginação visível no rodapé.[cite: 5]
📦 Componentes (A documentar)
  • Aguarda lógica da API (O filtro "Tipo" distingue Código CNC de ficheiros robóticos?).[cite: 5]
➕ Funcionalidade: Add

Propósito: Ingerir novo código para o sistema.[cite: 5]

🎯 Gatilho & UI
  • Botão verde "+ Novo Programa" no topo esquerdo.[cite: 5]
📦 Componentes (A documentar)
  • Aguarda modal: Terá Upload de Ficheiro (File Input) ou apenas Colar Texto (Textarea)?[cite: 5]
👁️ Funcionalidade: View

Propósito: Inspecionar o código armazenado sem o alterar.[cite: 5]

🎯 Gatilho & UI
  • Botão azul "View" no cartão.[cite: 5]
📦 Componentes (A documentar)
  • Aguarda modal de leitura: Renderiza com cores de sintaxe (Highlighting)?[cite: 5]
✏️ Funcionalidade: Edit

Propósito: Alterar o código existente ou os seus metadados (Nome, Descrição).[cite: 5]

🎯 Gatilho & UI
  • Botão laranja "Edit" no cartão.[cite: 5]
📦 Componentes (A documentar)
  • Aguarda contrato do formulário.[cite: 5]
🗑️ Funcionalidade: Delete

Propósito: Apagar o programa do sistema.[cite: 5]

🎯 Gatilho & UI
  • Botão vermelho "Delete" no cartão.[cite: 5]
📦 Componentes (A documentar)
  • Regra Crítica: Se o Programa estiver associado a uma Operação/Projeto ativo, o sistema deve impedir a eliminação ou lançar aviso?[cite: 5]