diff --git a/iconeXR.png b/iconeXR.png new file mode 100644 index 0000000..83807d9 Binary files /dev/null and b/iconeXR.png differ diff --git a/index.html b/index.html index cb67369..84c2f53 100644 --- a/index.html +++ b/index.html @@ -7,6 +7,8 @@ TrackSteelXR + + diff --git a/logotipo_steelXR.png b/logotipo_steelXR.png new file mode 100644 index 0000000..d4f5505 Binary files /dev/null and b/logotipo_steelXR.png differ diff --git a/process_images.py b/process_images.py new file mode 100644 index 0000000..3e1b8e1 --- /dev/null +++ b/process_images.py @@ -0,0 +1,49 @@ +from PIL import Image +import numpy as np + +def remove_black_background(img_path, out_path): + # Carregar imagem e garantir modo RGBA + img = Image.open(img_path).convert("RGBA") + data = np.array(img) + + # Extrair canais + r, g, b, a = data[:,:,0], data[:,:,1], data[:,:,2], data[:,:,3] + + # O alpha original é estimado pelo valor máximo dos canais R, G, B + # Isso funciona porque o fundo é preto (0,0,0) + # Usamos fmax para obter o valor float e evitar overflow/underflow + max_rgb = np.fmax(np.fmax(r, g), b) + + # Criar nova imagem com o mesmo tamanho + new_data = np.zeros_like(data) + + # O novo alpha é o valor máximo de R, G, B + new_alpha = max_rgb.astype(np.uint8) + + # Onde new_alpha é maior que zero, desmultiplicamos a cor para remover o halo preto + mask = new_alpha > 0 + + # Copiar canais + new_data[:,:,0] = r + new_data[:,:,1] = g + new_data[:,:,2] = b + new_data[:,:,3] = new_alpha + + # Aplicar unmultiplying alpha para clarear os pixels semi-transparentes de borda + # R_new = R_old * 255 / alpha + alpha_float = new_alpha.astype(float) + for i in range(3): + channel = data[:,:,i].astype(float) + # Onde a máscara for verdadeira, calcula. Onde for falsa, deixa zero. + adjusted = np.zeros_like(channel) + adjusted[mask] = np.minimum(255, (channel[mask] * 255.0 / alpha_float[mask])) + new_data[:,:,i] = adjusted.astype(np.uint8) + + # Salvar a nova imagem + out_img = Image.fromarray(new_data, "RGBA") + out_img.save(out_path, "PNG") + print(f"Processada: {img_path} -> {out_path}") + +if __name__ == "__main__": + remove_black_background("logotipo_steelXR.png", "public/logotipo_steelXR_transparente.png") + remove_black_background("iconeXR.png", "public/iconeXR_transparente.png") diff --git a/public/favicon.ico b/public/favicon.ico index 3c01d69..bff3238 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/iconeXR_transparente.png b/public/iconeXR_transparente.png new file mode 100644 index 0000000..93f0bba Binary files /dev/null and b/public/iconeXR_transparente.png differ diff --git a/public/logotipo_steelXR_transparente.png b/public/logotipo_steelXR_transparente.png new file mode 100644 index 0000000..35c13cd Binary files /dev/null and b/public/logotipo_steelXR_transparente.png differ diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx index 4424d07..08f6de3 100644 --- a/src/pages/Index.tsx +++ b/src/pages/Index.tsx @@ -211,19 +211,23 @@ const Index = () => { {/* Logo area */} -
-
- -

- TrackSteelXR -

-
-

- Inspeção de Qualidade Industrial -

{showLanding && } diff --git a/steelxr.md b/steelxr.md new file mode 100644 index 0000000..13c566a --- /dev/null +++ b/steelxr.md @@ -0,0 +1,127 @@ +# TrackSteelXR — Descritivo Publicitário para Landing Page + +--- + +## Título de Alto Impacto + +**Inspeção de obras em tempo real com Realidade Aumentada: meça, valide e decida — sem sair do canteiro.** + +--- + +## 3 Benefícios Principais + +### 1. Medições Precisas em AR com Snap Inteligente +Vertex snap, detecção automática de arestas e furos em modelos IFC. O controlador XR identifica automaticamente vértices, arestas e furos — medições em milímetros reais sem trena ou cálculos manuais. Após 1 segundo de focalização, a medição é registrada automaticamente (dwell detection). + +### 2. Inspeção por Checklist Digital com Gravação de Voz +Elimine planilhas de papel. Faça inspeções de qualidade diretamente no modelo 3D, com aprovação ou reprovação de cada item, anotações por texto e gravação de voz — tudo rastreável e auditável. Relatório PDF completo gerado em segundos. + +### 3. Cortes de Seção Interativos para Análise Estrutural +Visualize o interior de estruturas metálicas com cortes dinâmicos nos eixos X, Y e Z — sem desmontar nada. Ideal para validar projetos complexos antes da montagem. + +--- + +## Análise Resumida de Todos os Recursos + +### Visualização 3D e Realidade Aumentada + +- Renderização de modelos IFC nativamente via web-ifc (WASM) +- Suporte a Meta Quest com controle por gatilho (trigger), botões A/B e snap toggle +- Laser visual colorido que indica tipo de snap (verde=aresta, âmbar=furo, azul=vértice) +- Modo Perspective e Orthographic comutável sem perda de enquadramento +- Walk mode em primeira pessoa com teclado (WASD + Q/E para elevação) +- Grid infinito auto-follow que se ajusta à posição Y da peça + +### Sistema de Medição + +- Snap inteligente a vértices, arestas e centros de furos circulares +- Detecção automática de furos por circle-fit em geometria e por face +- Hover label mostra diâmetro de furo ou comprimento de aresta em tempo real +- Lock-on a alvos para medição contínua com interpolação suave +- Dwell detection: 1 segundo de focalização registra medição automaticamente +- Suporte a Undo/redo com teclas Z e Escape + +### Inspeção e Checklist + +- Checklist por item com status: Pendente, Aprovado, Reprovado +- Anotações em texto livre por item +- Gravação de voz por item (MediaRecorder API com áudio WebM) +- Barra de progresso visual e contadores por status +- Reset completo do checklist + +### Cortes de Seção + +- Cortes independentes nos eixos X, Y e Z +- Slider de posicionamento com range dinâmico (baseado nos limites reais da peça) +- Inversão de direção do corte por eixo +- Botões de atalho: Min, Centro, Max +- Opacidade configurável da janela de corte + +### Calibração e Posicionamento + +- Calibração em 3 pontos para alinhamento com referência real +- Ajuste fino de posição (X, Y, Z) e rotação (X, Y, Z) por modelo +- Suporte a múltiplos modelos simultâneos com controles independentes +- Exportação de seleção para GLB + +### Relatórios e Compartilhamento + +- Relatório PDF completo com: info do modelo, ajustes finos, checklist, medições e screenshots +- Screenshots da cena 3D com anotações +- Compartilhamento via WebRTC (broadcast/source com signaling) +- Logging remoto para diagnóstico + +--- + +## Diferenciais do Mercado Concorrente + +| Concorrentes Tradicionais | TrackSteelXR | +|---------------------------|--------------| +| Software de escritório (AutoCAD, Revit) | Visualização **no canteiro** em AR | +| Trena e planilha manual | **Snap inteligente** que identifica geometria automaticamente | +| Relatório em papel ou Excel | **PDF automático** com evidências visuais | +| Medição por estimativa | **Milímetros reais** com calibração | +| Acesso restrito a profissionais | **XR controller** — mãos livres, mobilidade total | +| Sem suporte a IFC | **web-ifc WASM** nativo para IFC direto | +| Checklists em papel | **Checklist digital** com voz, texto e status | +| Sem cortes dinâmicos | **Cortes interativos** X/Y/Z em tempo real | + +--- + +## Inovações Tecnológicas + +1. **Pipeline IFC → WebGL nativo**: Parsing de arquivos IFC (IFC2x3, IFC4) via web-ifc (WASM), conversão em Three.js sem servidor — roda 100% no browser. + +2. **Smart Snap 3D com dwell detection**: O sistema detecta automaticamente vértices, arestas e furos circulares por raycasting + geometria. Após 1 segundo de focalização, a medição é registrada automaticamente — zero cliques desnecessários. + +3. **XR Controller com laser visual colorido**: Meta Quest integrado com laser que muda de cor conforme o tipo de snap (verde=aresta, âmbar=furo, azul=vértice), snap toggle por gatilho esquerdo, medição por gatilho direito, undo/clear por botões A/B. + +4. **Section cuts em tempo real com clipping planes**: Utiliza THREE.Plane clipping para cortes per-model, com range dinâmico calculado a partir dos bounds reais da peça. + +5. **Relatório PDF com evidências visuais**: jsPDF gera documento completo com screenshots da cena 3D, checklist com status coloridos e tabela de medições — em uma única ação. + +6. **WebRTC broadcast para colaboração remota**: Sinalização + broadcast/source para compartilhar a visão AR com outros participantes em tempo real. + +7. **Calibração por 3 pontos com quaternions**: Sistema de calibração que captura 3 pares de normais (world + local) e calcula o quaternion de alinhamento para posicionar o modelo no espaço real. + +8. **Walk mode com física de colisão simples**: Navegação em primeira pessoa com detecção de limites da peça para orientação no espaço 3D. + +--- + +## Benefícios Incontestáveis + +- **Elimina retrabalho**: Validação dimensional no canteiro antes da montagem — erros corrigidos na hora, não no escritório. +- **Precisão em milímetros**: Snap inteligente a geometria real do modelo IFC — não há estimativas, há dados. +- **Rastreabilidade total**: Cada item do checklist tem status, nota, áudio e timestamp. Relatório PDF serve como documento de entrega ao cliente. +- **Mobilidade sem precedentes**: Meta Quest + controllers = profissionais com as mãos livres para manusear a peça enquanto inspecionam. +- **Zero dependência de servidor**: IFC roda no browser via WASM. Sem backend, sem instalação — um link funciona. +- **Decisões em segundos**: Dwell detection registra medições automaticamente. O operador olha, focaliza 1 segundo, e o dado está salvo. +- **Validação visual antes da compra**: Cliente vê o relatório com screenshots e sabe exatamente o que está comprando. + +--- + +## Parágrafo Final — A Dor da Gestão + +Atrasos por erros de medição, retrabalho por falhas de comunicação e perdas por não conformidade são o pesadelo de qualquer gestão de produção metalmecânica ou obra civil. O **TrackSteelXR** coloca o modelo 3D IFC no canteiro — em Realidade Aumentada — para que engenheiros e gestores tomem decisões precisas no momento certo. **Menos retrabalho, mais produtividade, entregas dentro do prazo.** E um relatório PDF com evidências visuais que transforma inspeção em documento de entrega. + +**Seu próximo projeto já pode começar com a certeza de que cada peça foi validada — não por planilha, mas por realidade.** \ No newline at end of file