Implement the symbol effect API

Fechada
#1,199 0 comentários 1 reação 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Um pull request relacionado já foi integrado.

  • #1205 de @Kyle-Ye — integrado

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
swift

Direção de pesquisa

Start by locating the SymbolEffect stubs, _SymbolEffect, and GraphicsImage.updateSymbolEffects, then trace the existing symbol animator and protobuf encoding paths. The scope spans effect storage, modifiers, transitions, environment behavior, and platform animation; completion means the listed effects animate SF Symbols on iOS, macOS, and visionOS and round-trip through protobuf encoding.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

area: animation area: graphics area: rendering area: view platform: iOS platform: macOS platform: visionOS type: feature

Summary

The symbol effect API is mostly missing. SymbolEffect and its modifiers are empty stubs, _SymbolEffect has no storage or configurations, and GraphicsImage.updateSymbolEffects returns nil. As a result, symbolEffect, symbolEffects, symbolEffectsRemoved, SymbolEffectTransition, and ContentTransition.symbolEffect have no effect on SF Symbols images.

Scope

  • Implement _SymbolEffect with its storage, trigger, options, configurations, phase, environment storage, and protobuf encoding.
  • Add AnyEquatable for value-based effect triggers.
  • Implement the SPI SymbolEffect configurations, _SymbolEffectModifier, _SymbolEffectsModifier, _SymbolEffectsRemovedModifier, SymbolEffect.HiddenTransition, and ContentTransition.symbolReplace.
  • Add the Symbols-based modifiers _IndefiniteSymbolEffectModifier, _DiscreteSymbolEffectModifier, and _ConditionalSymbolEffectModifier, plus SymbolEffectTransition and ContentTransition.symbolEffect.
  • Drive symbol animations from the environment effects through the symbol animator: add, restart, cancel, priority, scale, and appear/disappear.
  • Convert Symbols effect configurations to the internal effect representation.

Acceptance criteria

  • The symbol effect modifiers and transitions animate SF Symbols images on iOS, macOS, and visionOS the same way as SwiftUI.
  • Symbol effects round-trip through protobuf encoding.
Linguagem predominante
Swift
Estrelas
2.5k
Forks
84
Merge médio
5h 5min
PRs com merge (30d)
81

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de OpenSwiftUIProject/OpenSwiftUI

Todas as issues de OpenSwiftUIProject/OpenSwiftUI

Issues semelhantes

Mais issues de Swift

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.