Releases: tornikegomareli/Aurora
0.4.0
Full Changelog: 0.3.0...0.4.0
Aurora 0.3.0
Custom palettes, mood presets, the heartbeat intro, outro animations, and .glowWhileLoading.
What's new
- Custom palettes —
AuroraGlow.Paletteis public. Six built-in presets:.appleIntelligence,.sunset,.ocean,.forest,.monochrome,.cyberpunk. Build your own from abaseand 4anchors(SIMD3<Float>each). - Mood presets —
AuroraGlow.Mood(.neutral,.listening,.thinking,.error,.success). One call bundles palette + speed for semantic state. - Heartbeat intro — third
IntroStylecase alongside.thicknessGrowand.borderFill. Thickness pulses 2–3× before settling. - Outro animations —
AuroraGlow.OutroStyle(.dissolve,.shrinkInward) plays whenisVisibleflips false. New properties:isVisible,outroStyle,outroDuration. .glowWhileLoading(_:)— View modifier for AI streaming and async work. Intro plays on start, holds while loading, outro plays when done.
New API
```swift
AuroraGlow(.standard)
.palette(.sunset)
.mood(.error)
.introStyle(.heartbeat)
.outroStyle(.shrinkInward)
.outroDuration(0.4)
@State var isLoading = false
ChatView().glowWhileLoading(isLoading)
```
Demo app additions
AuroraExamples ships three new demo screens — Palettes (swatch picker), Moods (mood picker), glowWhileLoading (fake-load sandbox) — plus the existing wash tuning demo gains a Heartbeat option in its intro style picker.
Install
```swift
.package(url: "https://github.com/tornikegomareli/Aurora.git\", from: "0.3.0")
```
iOS 17+, Swift 5.9+.
Deferred
Four intro/outro styles from the original brainstorm are still on the table for a follow-up: .cornerBloom, .cascade, .shimmer intros, and .collapseToCorner outro.
Aurora 0.2.0
Intro animation system. The glow now plays a short intro on first appear with two distinct styles, a configurable direction, a colourful wash overlay, and an explicit speed knob.
What's new
- Intro animation on appear — controlled by
introOnAppear: Bool(defaulttrue) - Two intro styles via
AuroraGlow.IntroStyle.thicknessGrow— band scales from invisible to full thickness on all four sides.borderFill— band stays full size but is masked so it draws itself around the perimeter from a starting edge (new default)
- Direction via
AuroraGlow.Direction—.leftToRight,.rightToLeft,.topToBottom(default),.bottomToTop. Drives both the wash sweep and the border-fill start edge. - Wash overlay — a semi-transparent colored wavefront that travels across the screen during the intro, modulated by the noise field. Tunable via:
washSweepDuration(seconds for the wavefront to cross)washPulseWidth(how long each pixel stays lit)washPeak(max alpha)
introDuration: Float— speed knob for the intro (default0.5s)AuroraGlow.Bursteris now@MainActor— fixes Swift 6 strict-concurrency warnings; off-main callers must hop viaTask { @MainActor in burster.fire() }.
New defaults
Tuned to read like Apple's long-press / Hey-Siri intro:
AuroraGlow(.standard)
// gets:
// introStyle: .borderFill
// direction: .topToBottom
// introDuration: 0.5
// washSweepDuration: 0.12
// washPulseWidth: 0.80
// washPeak: 0.10API additions
AuroraGlow(.dramatic)
.direction(.bottomToTop)
.introStyle(.borderFill)
.introDuration(0.7)
.washSweepDuration(0.15)
.washPulseWidth(0.8)
.washPeak(0.1)All chainable. Existing 0.1.0 API surface is intact — old call sites compile unchanged.
Demo app
AuroraExamples (Xcode project under Examples/AuroraExamples) now has a fourth screen, Wash tuning, with live sliders + segmented pickers for the direction and intro style. Useful for dialing in custom looks before baking them as overrides.
Install
```swift
.package(url: "https://github.com/tornikegomareli/Aurora.git\", from: "0.2.0")
```
iOS 17+.
Aurora 0.1.0
First release.
A SwiftUI component that draws an animated glowing ring around any view, rendered by a single Metal fragment shader — no images, no GIFs.
What's in it
AuroraGlow— SwiftUI View backed by acolorEffectshader- Three presets —
.subtle,.standard,.dramatic View.glow(_:cornerRadius:)— overlay a glow on any view in one line- Chainable builders —
.cornerRadius(),.borderWidth(),.glowSize(),.speed(),.burstsOnAppear(),.burster() AuroraGlow.Burster—@Observable,@MainActor-isolated controller for re-firing the burst envelope from outside the SwiftUI treeAuroraGlow.Profile— public tuning struct for hand-rolled looks beyond the presets
Install
```swift
.package(url: "https://github.com/tornikegomareli/Aurora.git\", from: "0.1.0")
```
Requirements
iOS 17+.
Credits
The visual feel is reverse-engineered from Apple's IntelligentLightFrag shader in SiriUICore.framework. None of Apple's binary code is included — only the algorithm (anchored metaballs + warped SDF + procedural noise + damped-cosine burst envelope) is reproduced.