Skip to content

Releases: tornikegomareli/Aurora

0.4.0

14 May 23:44

Choose a tag to compare

Full Changelog: 0.3.0...0.4.0

Aurora 0.3.0

12 May 09:21

Choose a tag to compare

Custom palettes, mood presets, the heartbeat intro, outro animations, and .glowWhileLoading.

What's new

  • Custom palettesAuroraGlow.Palette is public. Six built-in presets: .appleIntelligence, .sunset, .ocean, .forest, .monochrome, .cyberpunk. Build your own from a base and 4 anchors (SIMD3<Float> each).
  • Mood presetsAuroraGlow.Mood (.neutral, .listening, .thinking, .error, .success). One call bundles palette + speed for semantic state.
  • Heartbeat intro — third IntroStyle case alongside .thicknessGrow and .borderFill. Thickness pulses 2–3× before settling.
  • Outro animationsAuroraGlow.OutroStyle (.dissolve, .shrinkInward) plays when isVisible flips 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

12 May 01:04

Choose a tag to compare

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 (default true)
  • 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 (default 0.5s)
  • AuroraGlow.Burster is now @MainActor — fixes Swift 6 strict-concurrency warnings; off-main callers must hop via Task { @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.10

API 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

11 May 22:26

Choose a tag to compare

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 a colorEffect shader
  • 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 tree
  • AuroraGlow.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.