📈 GH Trending Explorer 🎲 Surprise me

← all repos

Jiaxu-Li / GlassIntroKit

git clone https://github.com/Jiaxu-Li/GlassIntroKit.git 0.1.0 · 3d ago

A first-launch intro for SwiftUI apps, made with Liquid Glass and Metal.

—
stars, 24h
+35
stars, 7 days · #1,181
+35
stars, 30 days · #8,022
35
★ total · +35% this week
1
forks · 0 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageSwift
LicenseApache-2.0
Created2026-10-17 (3d ago)
Last push3d ago
Watchers2
OwnerUser

GitHub topics

Links

README excerpt
GlassIntroKit 
 A first-launch intro for SwiftUI apps, made with Liquid Glass and Metal. 
---
The launch opens on your mark on frosted glass. On the first launch a welcome follows: the mark writes "hello" in glass, then turns, page by page, into the pictures your app's story needs. At the end a few words turn in, the mark fills with colour, and it dissolves over your app. The same intro runs on macOS and iOS. Watch the full recording.
## Contents
- Features
- Requirements
- Installation
- Quick start
- How an intro plays
- Pages
- The ending and the mark
- Playing the intro
- All options
- Accessibility, localization, and privacy
- Demo app
- Documentation
- Building and testing
- FAQ
- Contributing
- Author
- License
## Features
- **One modifier.** `.glassIntro(appName:pages:)` on your root view, and the intro plays over it.
- **Eight pictures, any order.** A greeting, the mark, scattered symbols, a live Metal scene, a graph, falling nodes, an app icon, and cards with your own views. Every pair joins without a jump.
- **Yours to shape.** Graphs of your own nodes and wires, scenes in your shape, colour, and motion, a RealityKit or SwiftUI view through the lens, backgrounds, buttons, and the words of the ending.
- **Tested frame by frame.** The tests play every page after every other page and fail on any frame that jumps.
- **Accessible.** Reduce Motion, keyboard, and VoiceOver support.
- **No dependencies, no network.** It stores one Boolean to remember that the welcome was shown.
## Requirements
| | |
|---|---|
| Version | 0.1.0 |
| Platforms | iOS 26 or later, macOS 26 or later |
| Swift | 6.3 or later, Swift 6 language mode |
| Tested with | Xcode 27, Swift 6.4 |
| Built-in text | English |
| Dependencies | None |
| License | Apache 2.0 |
## Installation
### Xcode
Choose **File › Add Package Dependencies…**, enter `https://github.com/Jiaxu-Li/GlassIntroKit.git`, and add **GlassIntroKit** to your app target.
### Swift Package Manager
 [code] 
## Quick start
 [code] 
Run the app. The launch plays once per process, in the first window that shows it, and the welcome plays on the first launch. While you work on it, set `welcome: .everyLaunch` to see it at every launch (see Playing the intro).
## How an intro plays
1. **Launch.** Your mark comes up on frosted glass over the app.
2. **Welcome.** Your pages, one at a time. Each has a picture, a title, a message, and **Continue**.
3. **Last page.** "Let's Begin" and **Get Started**, in your words if you like.
4. **Ending.** Up to three lines of glass words, then the mark fills with colour.
5. **Your app.** The mark dissolves where it is, and the app is yours.
## Pages
### The eight pictures
| Page | Picture | Options |
|---|---|---|
| `.greeting(_:message:)` | The mark gathers into a pen and writes "hello" in glass. | |
| `.mark(_:message:)` | The mark in glass, its detail opening. | |
| `.symbols(_:message:symbols:center:)` | The mark melts into a symbol, and glass symbols scatter out of it. | the sym