A guided breathing session around a glass orb with a Siri-style wave inside.
A breathing session screen on one centre line: a display phase caption, a ring that winds on the inhale and unwinds on the exhale around a dark glass orb whose thin voice wave travels through the equator, a giant light serif count, the pattern as one filling row, and session controls. The orb stays still; its colour glides from aqua on the inhale to lavender on the hold and ember on the exhale.
$199 once, every piece included. See how installing works · Sign in
SwiftUI source you own, built on Apple frameworks only.
Meditation and Sleep (brief), Daily Health (recipe). Your agent builds around this screen in the same design.
Meditation App (template)
How it behaves, what it handles, and the decisions behind it.
A dark glass ball with a Siri-style voice wave inside, shipped as PhaseOrb.metal. Four thin sine membranes travel left to right through the equator with white crests, seen through a refracting shell with a cool and a warm rim. Motion is fixed to the thinking look: there is no phase, level or touch input, and the sphere never scales, floats or pulses. Colour is the one input, so the orb can show what the screen is about.
PhaseOrb(size: 160, palette: .siri). The ball fills 90% of the square frame, so leave the frame square.palette takes a PhaseOrb.Palette: four bands, a dark ground, a crest and the cool and warm rim. Build your own from hex (Palette(bands: [0x…], ground: 0x…, rimCool: 0x…, rimWarm: 0x…)) or from Color. A change crossfades over 0.8 seconds..siri (blue, pink, orange and red over violet, the default), .breatheIn (aqua and sea blue), .breatheHold (lavender and violet) and .breatheOut (ember and persimmon).PhaseOrb.metal must be in Compile Sources; the CLI installs it beside the Swift file. Its stitchable function is phaseOrbSiriWave with helpers in the phaseOrbSiri namespace, so it links next to the other orb pieces in one target.Float time precise. Reduce Motion pauses the wave and makes palette changes instant. One VoiceOver element labeled "Assistant" with the value "Thinking".PhaseOrbExample at the end of PhaseOrb.swift is the Breathe screen from the preview.Pieces that work well next to this one.