[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-78243":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":15,"starSnapshotCount":15,"syncStatus":16,"lastSyncTime":40,"discoverSource":41},78243,"Aurora","tornikegomareli\u002FAurora","tornikegomareli","Most accurate, simple and customisable Apple Intelligence–style glow for SwiftUI, backed by Metal shaders.","https:\u002F\u002Ftornikegomareli.github.io\u002Faurora-landing\u002F",null,"Swift",118,7,1,0,2,12,2.71,false,"main",true,[23,24,25,26,27,28,29,30,31,32,33,34,35,36],"animation","apple-intelligence","glow","ios","ios-library","metal","metal-shaders","spm","swift","swift-package","swiftui","swiftui-components","ui-component","visual-effects","2026-06-12 02:03:46","\u003Cp align=\"center\">\n  \u003Ch1 align=\"center\">Aurora\u003C\u002Fh1>\n\u003C\u002Fp>\n\nMost accurate simple customizable SwiftUI components for the Apple Intelligence look — an animated glow ring and a shimmering text fill, both backed by Metal shaders.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSwift-5.9+-orange.svg\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FiOS-17.0+-blue.svg\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSwiftUI-Native-green.svg\" \u002F>\n\u003C\u002Fp>\n\n## Showcase\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Ftornikegomareli\u002FAurora\u002Freleases\u002Fdownload\u002F0.3.0\u002Fdemo11.gif\" width=\"30%\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Ftornikegomareli\u002FAurora\u002Freleases\u002Fdownload\u002F0.3.0\u002Fdemo22.gif\" width=\"30%\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Ftornikegomareli\u002FAurora\u002Freleases\u002Fdownload\u002F0.3.0\u002Fdemo33.gif\" width=\"30%\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Ftornikegomareli\u002FAurora\u002Freleases\u002Fdownload\u002F0.4.0\u002Fauroratext1.gif\" width=\"30%\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Ftornikegomareli\u002FAurora\u002Freleases\u002Fdownload\u002F0.4.0\u002Fauroratext2.gif\" width=\"30%\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Ftornikegomareli\u002FAurora\u002Freleases\u002Fdownload\u002F0.4.0\u002Fauroratext3.gif\" width=\"30%\" \u002F>\n\u003C\u002Fp>\n\n## Installation\n\n### Swift Package Manager\n\n```swift\ndependencies: [\n    .package(url: \"https:\u002F\u002Fgithub.com\u002Ftornikegomareli\u002FAurora.git\", from: \"0.4.0\")\n]\n```\n\nOr via Xcode: **File → Add Package Dependencies**\n\n## Quick Start\n\nGlow around a single screen — the most common case:\n\n```swift\nimport SwiftUI\nimport Aurora\n\nstruct HeroScreen: View {\n    var body: some View {\n        ZStack {\n          \u002F\u002F your page content\n        }\n        .frame(maxWidth: .infinity, maxHeight: .infinity)\n        .overlay {\n            AuroraGlow(.standard).ignoresSafeArea()\n        }\n    }\n}\n```\n\nThe overlay extends past the safe-area insets so the glow covers the full visible area. If you will remove `.frame(maxWidth: .infinity, maxHeight: .infinity)` ZStack size will be dependent on its content and glow will be also missplaced.\n\nOr glow around the whole app, apply the overlay once at the scene level:\n\n```swift\n@main\nstruct MyApp: App {\n    var body: some Scene {\n        WindowGroup {\n            ContentView()\n                .overlay {\n                    AuroraGlow(.standard).ignoresSafeArea()\n                }\n        }\n    }\n}\n```\n\nOr wrap a single view:\n\n```swift\nCard()\n    .padding()\n    .glow(.standard, cornerRadius: 24)\n```\n\nThe glow plays its intro on appear, settles into a steady state, and never intercepts taps.\n\n## Styles\n\nThree presets pick the overall feel:\n\n| Style       | Feel                                            |\n|-------------|-------------------------------------------------|\n| `.subtle`   | gentle steady-state, soft intro                 |\n| `.standard` | recommended default; moderate burst             |\n| `.dramatic` | energetic intro, big flames; closest to Apple's |\n\n```swift\nAuroraGlow(.dramatic).ignoresSafeArea()\n```\n\n## Palettes\n\nSix built-in palettes:\n\n```swift\nAuroraGlow(.standard).palette(.appleIntelligence)  \u002F\u002F default\nAuroraGlow(.standard).palette(.sunset)\nAuroraGlow(.standard).palette(.ocean)\nAuroraGlow(.standard).palette(.forest)\nAuroraGlow(.standard).palette(.monochrome)\nAuroraGlow(.standard).palette(.cyberpunk)\n```\n\nOr roll your own:\n\n```swift\nlet brand = AuroraGlow.Palette(\n    base: SIMD3(0.1, 0.2, 0.4),\n    anchors: [\n        SIMD3(1.0, 0.5, 0.0),\n        SIMD3(0.5, 0.8, 0.3),\n        SIMD3(0.2, 0.4, 0.9),\n        SIMD3(1.0, 0.2, 0.7),\n    ]\n)\nAuroraGlow(.standard).palette(brand)\n```\n\n## Intro animations\n\nThree intro styles for how the glow appears:\n\n| Style            | What you see                                            |\n|------------------|---------------------------------------------------------|\n| `.thicknessGrow` | Band scales from invisible to full thickness            |\n| `.borderFill`    | Band draws itself around the perimeter from one edge    |\n| `.heartbeat`     | Thickness pulses 2–3× before settling                   |\n\n```swift\nAuroraGlow(.standard)\n    .introStyle(.borderFill)\n    .introDuration(0.5)\n    .direction(.topToBottom)\n```\n\nFour direction cases: `.leftToRight`, `.rightToLeft`, `.topToBottom`, `.bottomToTop`.\n\n## Moods\n\nSemantic presets that bundle a palette and a speed:\n\n```swift\nAuroraGlow(.standard).mood(.listening)   \u002F\u002F appleIntelligence palette, faster pace\nAuroraGlow(.standard).mood(.thinking)    \u002F\u002F ocean palette, slower\nAuroraGlow(.standard).mood(.error)       \u002F\u002F red palette\nAuroraGlow(.standard).mood(.success)     \u002F\u002F green palette\n```\n\n## glowWhileLoading\n\nFor streaming and async work:\n\n```swift\n@State private var isLoading = false\n\nChatView()\n    .glowWhileLoading(isLoading)\n    .task {\n        isLoading = true\n        await streamFromAI()\n        isLoading = false\n    }\n```\n\nIntro plays on start, holds while loading, outro plays when done.\n\n## Re-firing the burst\n\nFor manual triggers — button taps, TCA effects, anywhere outside the View:\n\n```swift\n@State private var burster = AuroraGlow.Burster()\n\nCard().glow(AuroraGlow(.standard).burster(burster))\n\nButton(\"Ask again\") { burster.fire() }\n```\n\n## Customization\n\nChain modifiers for full control:\n\n```swift\nAuroraGlow(.standard)\n    .palette(.sunset)\n    .direction(.rightToLeft)\n    .introStyle(.heartbeat)\n    .introDuration(0.7)\n    .outroStyle(.dissolve)\n    .cornerRadius(24)\n    .borderWidth(6)\n    .glowSize(28)\n    .speed(0.12)\n```\n\nEvery modifier returns a new `AuroraGlow`, just like SwiftUI built-ins.\n\n## AuroraText\n\nFill SwiftUI `Text` glyphs with the same animated metaball colour field — the iconic Apple-Intelligence shimmering text look:\n\n```swift\nimport SwiftUI\nimport Aurora\n\nAuroraText(\"Apple Intelligence\")\n    .palette(.appleIntelligence)\n    .speed(0.4)\n    .font(.system(size: 56, weight: .heavy, design: .rounded))\n```\n\n`AuroraText` is a drop-in for `Text` — `.font`, `.fontWeight`, `.kerning`, `.multilineTextAlignment` and every other text-style environment value all work via the underlying `Text`. Chain `.palette`, `.speed`, or `.mood` first (those return `AuroraText`), then any SwiftUI modifier you want.\n\nIt pairs naturally with `AuroraGlow` for matching palettes:\n\n```swift\nZStack {\n    Color.black.ignoresSafeArea()\n    AuroraText(\"Aurora\\nIntelligence\")\n        .palette(.sunset)\n        .font(.system(size: 56, weight: .heavy, design: .rounded))\n        .multilineTextAlignment(.center)\n}\n.overlay {\n    AuroraGlow(.standard).palette(.sunset).ignoresSafeArea()\n}\n```\n\nMood presets bundle palette + pace for state-aware UI in one line — same vocabulary as `AuroraGlow.mood`:\n\n```swift\nAuroraText(\"Thinking…\").mood(.thinking)   \u002F\u002F ocean palette, slower\nAuroraText(\"Listening\").mood(.listening)  \u002F\u002F appleIntelligence, faster\n```\n\n## Examples\n\n`AuroraExamples` (Xcode project under `Examples\u002FAuroraExamples`) ships eight demo screens — hero, AuroraText, live tuning, custom profile, wash tuning, palette gallery, moods, and a `glowWhileLoading` sandbox. Open the project to play with them.\n\n## Requirements\n\n- iOS 17+\n- Swift 5.9+\n- The shader uses `ShaderLibrary` \u002F `colorEffect`, which are iOS 17 only.\n\n## Credits\n\nThe 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 + noise-warped SDF + damped-cosine burst envelope) is reproduced.\n\n## License\n\nMIT.\n","Aurora 是一个用于创建类似于 Apple Intelligence 风格的发光效果的 SwiftUI 组件库，支持自定义动画光环和闪烁文本填充，并通过 Metal 着色器实现高性能渲染。其核心功能包括三种预设风格（subtle、standard 和 dramatic）以及六种内置调色板，用户可以根据需要轻松调整视觉效果以匹配应用的设计需求。此项目特别适用于希望为 iOS 应用添加精美且流畅视觉特效的开发者，无论是增强单个视图还是整个应用程序界面的吸引力都非常合适。安装简单，可通过 Swift Package Manager 直接集成到项目中。","2026-06-11 03:56:38","CREATED_QUERY"]