Voltar ao blog de BIM e IFC
Gêmeos digitais · 2026-08-21 · 12 min
LiDAR em tempo real + IFC no navegador: demo de replay MCAP
Rode a interface de replay web de verdade e conheça os buffers limitados, os frames binários e a telemetria por trás de um stream simulado de IFC + LiDAR, honestamente identificado como tal.
Capa com o título LiDAR em tempo real e IFC sobre uma captura real do visualizador, mostrando o replay temporal simulado alinhado com um pavilhão
Um vídeo de uma nuvem de pontos e um stream de nuvem de pontos ao vivo não são o mesmo produto. Vídeo tem pixels fixos e codecs de hardware maduros. Uma nuvem de pontos temporal tem coordenadas, atributos, poses e timestamps que os usuários podem inspecionar ou comparar com o IFC. Essa flexibilidade cria um problema de transporte e memória bem mais difícil.
A arquitetura abaixo trata gravações e fontes ao vivo como dois adaptadores que alimentam um único contrato de frame limitado. Isso permite que uma equipe valide reprodução, busca (seek), tratamento de corrupção e atualizações de GPU com dados gravados antes de comprar ou integrar um sensor.
O navegador recebe frames limitados e validados; a filtragem e a normalização de coordenadas ficam na borda (edge).
Experimente o replay temporal de IFC + LiDAR
O exemplo ao vivo a seguir gera uma frente de varredura determinística ao redor do pavilhão IFC correspondente. O mesmo frame passa por codificação binária, validação por CRC e um buffer de transporte fixo de três posições antes de chegar à GPU. Mude para o visualizador completo para injetar perda, reordenação e corrupção determinísticas, além de uma janela de reconexão.
Pavilhão de Operações — LiDAR temporal simulado
Uma varredura simulada de 16 segundos a 12 FPS, alinhada a um pavilhão IFC4 incluído. Isso comprova o pipeline de reprodução; não é uma alegação de sensor físico.
O LiDAR simulado está em reprodução — arraste para orbitar
Captura real do produto: a fonte temporal é um replay simulado determinístico, enquanto o parsing, o buffering, as atualizações de GPU e o alinhamento com o IFC rodam no visualizador de verdade.
O contrato mínimo de frame
Um pacote de transporte precisa de mais do que valores XYZ. Números de sequência revelam perda e reordenação. Timestamps em nanossegundos alinham os pontos com vídeo, pose e anotações. Uma origem declarada mantém coordenadas de mundo grandes fora dos vértices Float32 da GPU. Flags de atributo evitam que a interface finja que existe intensidade ou classificação quando a fonte nunca as forneceu.
| Campo | Por que existe | Falha detectada |
|---|
| sequence | Identidade monotônica do frame | Perda, duplicação ou reordenação |
| timestampNs | Referência temporal comum | Deriva de vídeo/pose |
| origin + bounds | Precisão local e culling | Jitter ou alocação absurda |
| pointCount + stride | Orçamento do payload | Pacote truncado ou malicioso |
| attribute flags | Semântica explícita | RGB/intensidade/classe inventados |
| CRC32 | Integridade do payload | Corrupção no armazenamento ou transporte |
Backpressure: o frame válido mais novo vence
Mesmo um stream de rede confiável pode gerar uma experiência ao vivo ruim. Se a decodificação leva 120 ms enquanto os frames chegam a cada 80 ms, uma fila normal cresce indefinidamente e o visualizador vira uma gravação atrasada. A política correta para o modo ao vivo é limitada: manter duas ou três posições reutilizáveis, rejeitar frames inválidos, descartar trabalho pendente superado e exibir ao usuário a latência e a contagem de descartes.
Fila ilimitada
- A latência cresce durante um período lento
- Frames antigos consomem memória e tempo de decodificação
- A interface continua dizendo “conectado” enquanto mostra o passado
- A recuperação pode demorar mais que o próprio incidente
Buffer ao vivo limitado
- A memória permanece constante
- O frame válido mais recente substitui o trabalho obsoleto
- Descartes e idade permanecem visíveis
- A recuperação é imediata quando a capacidade volta
MCAP para gravação e replay reproduzível
O MCAP é um contêiner modular para mensagens publish/subscribe com timestamp e serialização arbitrária. Seus chunks e índices oferecem busca por tempo e por tópico, exatamente o que uma linha do tempo de replay precisa. A especificação do formato MCAP descreve o contêiner e os registros de resumo de acesso aleatório.
Compatibilidade de contêiner não é compatibilidade de mensagem. O ROS publica pontos organizados ou não ordenados via sensor_msgs/PointCloud2; o Foxglove define seu próprio schema PointCloud. O MCAP da demo usa um payload de aplicação versionado, então importar qualquer um dos dois ecossistemas exige um adaptador nomeado, e não uma conversão de bytes na esperança de que funcione.
Gravado primeiro
Um fixture licenciado torna reproduzíveis os testes de pausa, busca (seek), reconexão e regressão antes da integração com o hardware.
Adaptador ao vivo depois
WebSocket ou WebTransport mudam a entrega, não a semântica de frame consumida pelo renderizador.
Telemetria visível
Latência, idade do frame, perda, reordenação, pacotes inválidos e reconexões devem aparecer na interface do produto.
Injeção de falhas
Falhas determinísticas transformam a queda do Wi-Fi de uma conferência de surpresa em uma transição de estado já ensaiada.
Para um contexto estático medido, volte ao workflow de Scan-to-BIM com IFC + nuvem de pontos. Para um recurso baseado em pixels que pode usar codecs de vídeo de hardware e ainda assim ficar dentro da cena 3D, veja IFC + vídeo sobre terreno 3D.
LiDAR em tempo real + IFC no navegador: demo de replay MCAP