Captura 360° guiada no iPhone — pontos no espaço, disparo automático, stitch Metal e viewer interativo.
Instalar no Windows · Instalar com Mac · Como funciona · Arquitetura · Baixar IPA
Panorama360 transforma um iPhone comum numa câmera 360°: você gira no lugar, o app guia com pontos flutuantes sobre a câmera, dispara sozinho quando está alinhado/estável/nítido, costura tudo numa imagem equiretangular e abre um viewer Metal (arrastar, pinça, giroscópio).
| Incluído na v1 | Fora de escopo (por enquanto) |
|---|---|
| Onboarding + primeira sala (8 pontos) | Login / feed / social |
| Captura guiada + auto-shutter | Marketplace / tokens |
| Stitch Metal (orientação ARKit/CoreMotion) | Backend / nuvem / IA |
| Viewer 360° interativo | OpenCV (opcional — ver docs) |
- Guia visual — esfera de pontos projetada no preview ao vivo
- Disparo inteligente —
CaptureGate(ângulo + estabilidade + foco + nitidez) - Stitch determinístico — warp pela orientação conhecida, sem feature-matching cego
- Viewer GPU — shaders Metal na esfera equiretangular
- Windows-friendly — IPA na nuvem (Actions) + Sideloadly no PC
- Diagnóstico —
CrashReporterpersiste a última falha (útil em sideload sem Mac)
flowchart LR
A[Câmera + Motion] --> B[CaptureGuide]
B --> C{CaptureGate}
C -->|ready| D[Foto HEIC + quatérnio]
D --> E[SessionStore]
E --> F[PanoramaEngine / Metal]
F --> G[Equiretangular]
G --> H[Viewer 360°]
- Preview em tela cheia
- Pontos: verde → amarelo → azul (alinhado)
- Retículo verde + aparelho parado → foto automática
- Último ponto → stitch → viewer
Detalhes: docs/Sistema.md · docs/Architecture.md
Cada push em main gera um artifact não assinado:
- Abra Actions → Build IPA
- Entre no run verde mais recente
- Baixe Panorama360-unsigned-ipa → descompacte →
Panorama360-unsigned.ipa
Repo público = minutos macOS do Actions ilimitados e grátis.
IPA (Actions) → Sideloadly + Apple ID → USB → Trust no iPhone
Guia completo: docs/InstallingOnWindows.md
Instalação grátis dura 7 dias (limite do Apple ID). Reinstale o IPA para renovar.
brew install xcodegen
cd Panorama360
xcodegen generate
open Panorama360.xcodeprojAssine com sua Team → iPhone físico → ⌘R.
Guia: docs/BuildingOnMac.md
O simulador não serve (sem câmera / ARKit).
| Item | Valor |
|---|---|
| UI | SwiftUI |
| Captura | AVFoundation · CoreMotion · (ARKit opcional no path alternativo) |
| Stitch / Viewer | Metal · CoreImage · Accelerate |
| Arquitetura | MVVM + Clean + Swift Concurrency |
| iOS mínimo | 16.0 (iPhone) |
| Bundle ID | com.teleport.panorama360 |
| Projeto Xcode | XcodeGen ← project.yml |
Panorama360/
├─ project.yml
├─ .github/workflows/build-ipa.yml
├─ docs/ Sistema · Architecture · install guides
└─ Panorama360/
├─ App/ @main · AppRouter · onboarding
├─ Domain/ modelos puros
├─ Device/ Camera · Motion · AR · CaptureGate
├─ Guide/ esfera de pontos + alinhamento
├─ Panorama/ stitch Metal (+ OpenCV opcional)
├─ Viewer/ renderer Metal + shaders
├─ Presentation/ ViewModels
├─ UI/ SwiftUI (Onboarding, Capture, Viewer…)
└─ Utilities/ storage · crash · blur · math
| Doc | Conteúdo |
|---|---|
| Sistema.md | Produto e pipeline (PT) |
| Architecture.md | Camadas, gate, concorrência |
| BuildingOnMac.md | XcodeGen + signing |
| InstallingOnWindows.md | Actions + Sideloadly |
| OpenCVIntegration.md | Stitcher opcional |
| CONTRIBUTING.md | PRs e estilo |
| CHANGELOG.md | Histórico de versões |
Gire devagar, boa luz, telefone na vertical na altura do peito. Sobreposição entre pontos importa mais do que velocidade.
MIT © Teleport / Panorama360 contributors