Fluxo: gerar simulação IA

Usa a foto original da simulação, aplica prompt técnico travado e grava `imagem_simulada`.

Entrada: sistema/painel/paginas/simulador.php Tabelas: simulacoes_protese, proteses, clientes, config Ator: Profissional que já cadastrou uma simulação com foto original e prótese vinculada.

Cadeia de chamada

simulador.php -> submit #form_simulador -> paginas/simulador/salvar.php
simulador.php -> gerarIAmodal() -> paginas/simulador/gerar_ia.php
gerar_ia.php -> tabela config (openai_key) -> OpenAI Images API
sucesso -> simulador.php -> paginas/simulador/buscar.php -> atualização do modal
Esta seção responde à pergunta central de manutenção: qual arquivo chama qual arquivo dentro deste fluxo.

Arquivos envolvidos

ArquivoPapel dentro do fluxo
sistema/painel/paginas/simulador.phpTela, modal, ações de IA, canvas e WhatsApp.
sistema/painel/paginas/simulador/salvar.phpCadastro base com foto original e dados da simulação.
sistema/painel/paginas/simulador/gerar_ia.phpLê a foto, monta prompt, chama OpenAI e salva PNG gerado.
sistema/painel/paginas/simulador/buscar.phpRetorna JSON com `foto_original` e `imagem_simulada` para atualizar a UI.

Passo a passo

EtapaO que acontece
1. Cadastro baseO profissional salva a simulação em `salvar.php`, vinculando cliente, prótese e foto original.
2. Pré-condição`gerarIAmodal()` exige `id` salvo; sem isso o botão só mostra mensagem de erro no modal.
3. Chamada AJAXO clique em “Gerar com IA” envia `id` para `paginas/simulador/gerar_ia.php`.
4. Contexto técnico`gerar_ia.php` carrega cliente e prótese para obter `modelo`, `cor`, `densidade`, `tamanho` e `observacoes`.
5. Prompt travadoO backend monta um prompt duro: manter rosto, barba, fundo e obedecer exatamente à prótese definida no sistema.
6. Chamada externaO script usa cURL e a chave da tabela `config` para falar com a API de geração/edição de imagem da OpenAI.
7. Persistência da imagemA resposta retorna em base64, vira arquivo PNG em `images/simulacoes/` e substitui a imagem simulada anterior se existir.
8. Atualização da UIApós sucesso textual, o frontend chama `listarSimulacoes()` e em seguida `buscar.php` para preencher `foto_original_atual` e `imagem_simulada_atual`.
9. Pós-usoCom a imagem simulada salva, o usuário pode abrir o canvas para ajuste fino ou enviar o resultado por WhatsApp.

Entradas

EntradaOrigem/uso
idID da simulação
foto_originalArquivo da base real do cliente
modelo/cor/densidade/tamanhoLidos da prótese associada
openai_keyLida da tabela `config`

Saídas

SaídaDestino
Arquivo PNGImagem final em `images/simulacoes/`
BancoCampo `imagem_simulada` atualizado em `simulacoes_protese`
JSON secundário`buscar.php` devolve nomes dos arquivos para a interface

Pontos críticos de manutenção

  • `gerar_ia.php` ainda consulta e atualiza por `id` interpolado em trechos SQL. Isso é um ponto claro para endurecimento.
  • O fluxo depende de permissões de leitura e escrita na pasta `images/simulacoes/`.
  • O frontend considera sucesso apenas quando o backend devolve exatamente `Salvo com Sucesso`.

Abrir a camada linha por linha

Use estes links quando já souber qual arquivo do fluxo precisa ser alterado e quiser leitura minuciosa do código.