Uma biblioteca Swift para criar apps nas plataformas Apple com gerenciamento de estado consistente, funcionalidades compostas, controle de efeitos colaterais e forte suporte a testes.
elijah-semyonov/DuoLikeAnimation
Demo para iOS que usa shaders Metal do SwiftUI e Core Motion para imitar a animação de dobra de um iPhone dobrável e dar à tela aparência de vidro fosco.
- Estrelas
- 158
- Forks
- 40
- Issues abertas
- 0
- Último commit
- mês passado
O que é?
DuoLikeAnimation é um projeto de demonstração para iOS que imita a animação de dobra do iPhone Duo usando apenas shaders do SwiftUI e Core Motion. Um layerEffect do Metal recebe a atitude do dispositivo em tempo real, fazendo um celular plano parecer dobrar como uma das metades de um dispositivo dobrável.
O efeito trata a tela como uma placa de vidro fosco. A interface permanece fixa no espaço do mundo enquanto o dispositivo se inclina em torno do eixo vertical. O shader reprojeta a visualização em perspectiva, aplica desfoque e escurece a imagem proporcionalmente à distância entre o vidro e o plano da interface, além de renderizar áreas pretas onde os raios não atingem a interface. Por padrão, o olho de quem vê é modelado a uma distância de 320 mm, como ao segurar o aparelho na mão.
O projeto inclui o shader, um modificador SwiftUI com parâmetros ajustáveis, um modelo de Core Motion que calibra a posição de inclinação zero e uma visualização de demonstração com um painel para recalibração e inclinação manual. No simulador, onde não há dados de movimento, a inclinação manual fica ativada por padrão.
Recursos principais
- 01O shader Metal layerEffect faz reprojeção em perspectiva, desfoque e escurecimento com base na distância.
- 02O Core Motion fornece a atitude do dispositivo e calibra a posição de inclinação zero a partir da primeira amostra.
- 03O modificador .foldEffect(angle:parameters:) expõe parâmetros ajustáveis.
- 04Um painel flutuante permite recalibração e inclinação manual.
- 05A inclinação manual fica ativada por padrão no simulador.
Casos de uso
- Aprender a escrever shaders layerEffect do SwiftUI com Metal.
- Prototipar efeitos de interface para dispositivos dobráveis ou com inclinação 3D no iOS.
- Estudar como os dados de atitude do Core Motion podem controlar efeitos visuais.
Início rápido
- 1
Abra DuoLikeAnimation.xcodeproj no Xcode
- 2
Execute o app em um dispositivo iOS (o simulador não tem dados de movimento, então a inclinação é controlada manualmente)
Antes de usar
- Foi desenvolvido apenas para iOS. Para obter o efeito real de inclinação, é necessário um dispositivo físico com sensores de movimento.
- É um projeto de demonstração, não uma biblioteca reutilizável.
Tópicos
Perguntas frequentes
- O que é DuoLikeAnimation?
- Demo para iOS que usa shaders Metal do SwiftUI e Core Motion para imitar a animação de dobra de um iPhone dobrável e dar à tela aparência de vidro fosco. DuoLikeAnimation é um projeto de demonstração para iOS que imita a animação de dobra do iPhone Duo usando apenas shaders do SwiftUI e Core Motion. Um layerEffect do Metal recebe a atitude do dispositivo em tempo real, fazendo um celular plano parecer dobrar como uma das metades de um dispositivo dobrável.
- DuoLikeAnimation é gratuito? Qual é a licença?
- DuoLikeAnimation é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- DuoLikeAnimation ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de DuoLikeAnimation foi em 11 de set. de 2026.
- Para que posso usar DuoLikeAnimation?
- Aprender a escrever shaders layerEffect do SwiftUI com Metal. Prototipar efeitos de interface para dispositivos dobráveis ou com inclinação 3D no iOS. Estudar como os dados de atitude do Core Motion podem controlar efeitos visuais.
- Como instalar DuoLikeAnimation?
- Abra DuoLikeAnimation.xcodeproj no Xcode Execute o app em um dispositivo iOS (o simulador não tem dados de movimento, então a inclinação é controlada manualmente)
- Onde consigo DuoLikeAnimation?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/elijah-semyonov/DuoLikeAnimation
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um launcher de apps para iOS que executa apps IPA dentro dele, sem instalá-los, com vários contêineres por app.
Cliente de vídeo nativo para iOS e tvOS do servidor de mídia Jellyfin, desenvolvido em Swift e SwiftUI.
Biblioteca iOS da Airbnb que renderiza nativamente, em tempo real, animações vetoriais do After Effects exportadas como JSON do bodymovin.
Integração do GitHub Copilot ao Xcode que adiciona preenchimento de código, chat, modo agente e revisão de código para projetos Swift e Objective-C.
Uma skill de agente que ensina assistentes de programação com IA, como Claude Code e Codex, a escrever código SwiftUI moderno e correto.