Componentes
Documentação detalhada de cada componente da aplicação.
📦 Visão Geral
O Camera App é construído com componentes modulares e bem definidos. Cada componente tem responsabilidades claras e interfaces bem documentadas.
🎯 Componentes Principais
📹 CameraViewModel
ViewModel central que gerencia todo o estado da câmera e coordena as interações entre UI e camada de captura.
Ver documentação →🎥 CaptureSessionController
Controller de baixo nível que encapsula toda a complexidade do AVCaptureSession. Gerencia dispositivos, formatos e configurações.
Ver documentação →🎬 SegmentedRecorder
Gerencia a gravação de múltiplos segmentos de vídeo independentes, cada um em um arquivo temporário separado.
Ver documentação →📜 Teleprompter
Sistema completo de teleprompter com overlay flutuante, scroll automático e controles de interação.
Ver documentação →📱 CameraPreviewView
Bridge UIKit para AVCaptureVideoPreviewLayer com suporte a gestos (tap, pinch, double-tap).
Ver documentação →🎨 Filtros de Vídeo
Sistema de aplicação de filtros Core Image durante a exportação de vídeos.
Ver documentação →🏗️ Hierarquia de Componentes
CameraApp
└── ContentView
├── CameraViewModel
│ ├── CaptureSessionController
│ │ └── AVCaptureSession
│ └── SegmentedRecorder
│ └── AVCaptureMovieFileOutput
│
├── CameraPreviewView
│ └── AVCaptureVideoPreviewLayer
│
└── TeleprompterOverlay
├── TeleprompterViewModel
└── TeleprompterTextView
└── UITextView
📚 Componentes por Camada
View Layer
- ContentView - Orquestrador principal da UI
- TeleprompterOverlay - Overlay do teleprompter
- CameraPreviewView - Preview da câmera
- GlassCompat - Componentes UI reutilizáveis
ViewModel Layer
- CameraViewModel - Estado e lógica central
- TeleprompterViewModel - Estado do teleprompter
Controller/Service Layer
- CaptureSessionController - Gerenciamento AVFoundation
- SegmentedRecorder - Gravação de segmentos
🔍 Navegação Rápida
Por Funcionalidade
- Gravação: SegmentedRecorder • CaptureSessionController
- Câmera: CaptureSessionController • CameraPreviewView
- Teleprompter: TeleprompterOverlay • TeleprompterViewModel
- Filtros: VideoFilter • Aplicação de Filtros
- UI: ContentView • GlassCompat
Por Tipo
- ViewModels: CameraViewModel • TeleprompterViewModel
- Controllers: CaptureSessionController • SegmentedRecorder
- Views: ContentView • TeleprompterOverlay • CameraPreviewView
- Utilities: GlassCompat • VideoFilter
📖 Guias Relacionados
Depois de entender os componentes:
- Guia de Gravação - Como usar o sistema de gravação
- Guia de Teleprompter - Como usar o teleprompter
- Guia de Filtros - Como aplicar filtros
← Arquitetura | CameraViewModel → |