Saga Share Profile
Saga · Prototype · Round 2 · October 10, 2026 · #462 · Liquid Glass sprint #442

Share your profile is the card

The sheet's hero is the card your friend gets: your poster wall behind your photo in its theme ring, the Saga capsule underneath, alive. Three ways to set it on the sheet, side by side. Drag a card to tilt it, tap QR code to turn it over, and use the switches to slow it down or turn motion off.

Round 2 (this one). Your note on round 1: "I don't actually want the text message itself on it, it needs to look nicer and be thematically similar to what's going to be sent." The Messages bubbles and "Follow me on Saga" are gone; every option draws the card itself, from the shared card's own numbers.
Round 1. Three link-preview sheets (A Preview, B Live card, C Stage). Collapsed at the bottom, unchanged.

What your friend gets

The real shared cards (F3, 1200 × 630), which every option below draws live. Today's sheet still leads with a QR code (round 1's audit, T1 to T6, still holds).

Tanner's shared card: his photo in an ochre ring over a tilted wall of his posters, the Saga capsule below
Your wall. Production, saga.pictures/@tmcallister92/card.jpg: your recent posters, tilted −8°.
A sparse profile's card: the default figure in an ochre ring over the sign-in brand wall
Brand wall. Staging, @iossmoke: a sparse or private profile gets the sign-in wall.

1 · The sheet

Each phone runs on @/lib/motion's real values and the real Sheet's rise (320 ms on CHISEL, the scrim on DURATION.quick). Rings land on SPRING.card, the tilt returns on SPRING.snappy, the lockup carves on DURATION.slow, turns take Flip's 600 ms, and the posters counter-scroll like the sign-in wall. When a haptic fires, the Dynamic Island names it.

2 · In person: the QR code

The same three sheets after QR code. The code keeps today's look: theme ink on bone, the mark in the middle, error correction H. This prototype's code opens the plain profile link; the app's carries your invite.

3 · The motion, step by step

Milliseconds from the tap on Share in your profile's header. Reduce Motion: every state jumps, the wall and tilt hold still, and turning over becomes a crossfade.

MomentA · KeepsakeB · Full bleedC · TicketHaptic
Sheet rises0 · 320 on CHISEL, the scrim over DURATION.quick (the real Sheet; round 1 used SPRING.sheet, which the app doesn't)none (it answers your tap)
The card arrives140 · dealt in: up 110 pt from flat (60° back) to its resting lean, SPRING.card60 · the wall opens out from your photo, an iris over 560 on CHISEL140 · issued: up 70 pt, tipping forward from 28°, SPRING.card
Photo ring380 · from 70%, SPRING.card200 · from 70%, SPRING.card380 · from 70%, SPRING.cardtick as it lands
Saga lockup520 · the mark carves over 280 on CHISEL; the wordmark's four strokes follow, 40 apart
Your nameOn the back onlyNot shown (the link's title carries it)520 · carves in word by word, 60 apart, like Welcome back's title
At restPosters counter-scroll inside the card; the card floats 3 pt up and down every 5 sThe whole sheet's wall counter-scrollsPosters counter-scroll in the ticket's top
TiltDrag or device motion, up to 8°; the wall slides behind the ring, the shadow shifts, a glint crosses, the card's edge showsNo tilt: parallax only, the wall moves 3× the ring, the capsule stays putUp to 8°; the foil strip on the stub shifts color, a glint crosses
QR codeThe card turns over side to side: Flip, 600Your photo turns like a coin and lands as the code (circle to rounded square), the wall dims and slowsThe ticket turns end over end, 600, onto bone ticket stocktick
ShareA tick, then the system share sheet with "Follow me on Saga" and the link (systemShare, as sharePage does)tick
Copy link"Copied" with a check for 2 s; a failure says how to copy it by handcut / warn

4 · Copy

WhereTodayAll three options
TitleShare your profile · Share @nameUnchanged
Line, yoursWhoever opens this link or scans the code and joins becomes your friend.Whoever opens this link and joins becomes your friend.
Line, someone else'sSend the link, or let a friend scan the code.None: the card says it
On the cardNot shownNothing but the card's own pieces (A, B). C adds your name and @username on the ticket, and the link on its stub
QR controlThe code is always shownA and C: "QR code" in the sheet's header, then "Preview" · B: a round glass button, "Show QR code" to VoiceOver
ButtonsShare link · Copy link · DoneShare · Copy link, with 16 pt corners like every other text button (the sprint review's P8). Done goes: pull down or tap outside
What gets sentFollow me on Saga + the linkUnchanged; the sheet no longer prints it

5 · Web and Android

PlatformA · KeepsakeB · Full bleedC · Ticket
iPhoneA normal sheet; tilt from device motionThe sheet's bleed; native glass buttons on iOS 26A normal sheet; tilt from device motion
WebTilt follows the mouse on hover; no device motion. Share appears only with Web Share; otherwise Copy link is the one primary button, as today. Hover brightens both buttons; Esc closes.
AndroidTilt through Reanimated's useAnimatedSensor (no new native module, so it ships over the air); ripples; back closesSame, but the glass buttons may be a flat tint until the blur prop is fixed (sprint review A6)Same as A

My recommendation

A, the keepsake. It is the card your friend gets, at its real 1.91 : 1 shape, so what you see is what lands in their thread, and it's richer than round 1's B: it's dealt onto the sheet, floats, catches the light, shows its edge when you tilt it, and turns over to the QR code the way a real card would. It stays a normal Sheet with no glass over imagery, and it's built from parts we already have (PosterWall, Avatar's ring, Flip, SheenGradient).

B is the most immersive, but the sheet becomes a portrait version of a landscape card, its line and buttons sit on the wall, and on Android the glass may be a flat tint (A6). C is the most fun object, but a ticket with your name on it is a new thing that the link never shows anyone, and it needs the tallest sheet.

Decisions I made

Which one: A, B or C, a mix, or another round?

Round 1 · link previews in a Messages thread (superseded)