DandyLine -- Pop-Up Cards V1 -- 3-Tier Disclosure
How Pop-Up Cards Work

DandyLine pop-up cards work in three tiers of disclosure. Tier 1 (glance) for hover/peek. Tier 2 (preview) for tap-to-see-more. Tier 3 (open) for the actual seed/vault content. This page documents what's already locked across other files (Section A) and asks for picks on the still-undefined pieces (Section B): the "overlapping dandelion" treatment when 4-5 popups crowd around a single seed cluster, and the Tier 2 -> Tier 3 transition.

Throughline: never crowd. never crop the dandelion. always feel like you're holding the thing.

A
Locked Tiers + Transition -- Reference Only
CANONICAL

These are already locked across other source files. Use these as the source of truth -- everything in Section B is the layer that's still undecided.

A1 -- Tier 1 (Glance) · 5 urgency-tier variants
product-seeds.html canonical · Apr 28 final rule
3 elements: icon · title · state. Final rule (Apr 28): the countdown itself communicates urgency through format + color — no urgency-tier label needed for far states. Far states (Distant · Patient): countdown text only in lifecycle color. Close states (Approaching · Blooming Soon): label + countdown inline. Bloom Now: CTA label + ambient pulse (per MOTION-SPEC A13), no countdown. Backdrop blur 6px. Disappears on pointer-out. Note: filter pills (per F04-C) keep using categorical tier names since you filter BY category — the no-label rule applies only to individual seed popups where the countdown does the work.
Mom's letter
5yr 2mo 14d
Mom's letter
3yr 4mo 12d
Mom's letter
Approaching · 18:7:22
Mom's letter
Blooming Soon · 2:33:10
Mom's letter
Bloom Now
A2 -- Tier 2 (Preview) · 4 anatomy variants
product-seeds.html 1057-1124 · product-roots.html 965-977 · Apr 28 final rule
7-element anatomy: orb+state | from | title | media | countdown | emotion | status+date. Apr 28 final rule: close-time states get label + segmented colon countdown (`2 : 33 : 10`); far-time states show inline shorthand (`3yr 4mo 12d`) without label; Bloom Now shows "READY" instead of countdown + ambient pulse; LOCATION-LOCKED replaces the entire countdown row with a pin + place name. Vault color tints border + state + status. Tap on Tier 1 lifts here. Tap again or swipe to commit -> Tier 3.
Blooming Soon
from Mom
Day you were born
2:14
2 : 33 : 10
Joyful · Proud
Sealed · Planted Mar 12, 2024
Bloom Now
from Dad
First steps
Photo
READY
Tender · Awe
Bloom Now · Planted May 03, 2023
Sealed
from Mom
Letter for your 30th
letter · text
3yr 4mo 12d
Warm · Proud
Sealed · Planted Apr 02, 2025
LOCATION-LOCKED
Past You
Open when you visit Paris
location unlock · text
Paris, France
Sprouted Here
Adventurous · Hopeful
Sealed · Planted Jan 1, 2025
A3 -- Tier 1 -> Tier 2 Transition
MOTION-SPEC-V1 B2 = B
Locked Apr 27: Crossfade in same position. Tier 1 fades out at the same anchor as Tier 2 fades in. Calm, controlled, no motion-direction noise. 250ms each, slight overlap.
See MOTION-SPEC-V1.html Section B1 for the live demo.
A4 -- Tier 3 (Open) Candidates
Inspiration Library
Three different "open" surfaces exist depending on context. Routing matrix below tells you when to use which.
Use this Tier 3When the moment is...Example
Bloom view (Entry 014)FIRST time recipient unseals a "Bloom Now" seed. The moment matters. Full-bleed, sparse chrome, immersive.Receiving a letter from Mom for your 30th birthday
Held-Medium Drawer (Entry 027)RE-VISITING a media-rich seed. Medium stays held; metadata is a draggable layer over it.Re-watching a video of first steps, dragging the drawer up to read the planter's note
Pull-up Structured Card (Entry 031)BROWSING context — user wants to see all the structured info as a coherent card without leaving the list page.Tapping a vault row in the chooser to see its description, contributors, rules, recent seeds
B
Undecided Pieces -- Pick One Per Group
DECIDE

Two questions to lock: how do popups behave when 4-5 of them crowd around the dandelion (B1), and what happens when you go from Tier 2 preview into Tier 3 open (B2). Click to mark a pick.

B1 -- "Crowded Dandelion" Pop-up Treatment Locked Apr 28: D

When multiple seeds in close proximity all want to surface their popups simultaneously (cluster hover, or dense Garden views), they can't all show full-size Tier 1 popups -- they'd crowd and crop the dandelion. Locked Apr 28: variant D (Anchored depth) supersedes yesterday's B = Stacked. A/B/C kept here for reference. Click any variant to compare.

A -- Smaller-scale crowd
Tier 1 popups shrink to ~60% size when neighbors overlap. All visible at once, but each is smaller. Reads as "constellation of labels."
Mom's letter
Bloom
First steps
Soon
Anniversary
6d
Dad's note
2y
B -- Stacked with offset
All popups stack at one anchor point (next to the seed cluster, not the individual orbs), each offset slightly. Like cards on a table -- one on top, others peeking out behind.
Anniversary
Dad's note
Mom's letter
Bloom
"4 seeds in this cluster -- tap to flip through"
C -- Pointer chips only
When the cluster is too dense, popups are replaced by tiny pointer chips on each orb (initial-only or color dot). Tap any chip to expand its full Tier 1 popup. Quietest option, never crowds.
M
F
A
D
D -- Anchored depth ✓ Locked Apr 28
A by default; depth activates only on collision. Each surfacing seed gets its own Tier 1 popup anchored beside its orb (like the V2 globe — cards belong to specific seeds, not a global stack point). When two popups would overlap, the lower-priority one slides BEHIND with subtle rotation (~3°) and opacity falloff (~55%). Layering is anchored to clusters, not globally — two clusters of 3 seeds on opposite sides = two small overlap groups, not one giant stack. Cap: ~5 visible per cluster (matches V2 globe sparse mode). Bloom Now popups carry the ambient pulse (per MOTION-SPEC A13) so they read as actionable even when depth-pushed behind siblings.
Mom's letter
Bloom Now
First steps
2:43:18
Anniversary
6d 4h
Birthday wish
14d
Lake Cove
Sealed
5 visible · 1 cluster overlap (top-right) · Bloom Now pulses for attention

B2 -- Tier 2 -> Tier 3 Transition Locked Apr 28: C

When the gardener taps "open" on the Tier 2 preview, how does it transition to Tier 3? Locked Apr 28: C (Tier 2 docks as a thumbnail in Tier 3 corner) supersedes yesterday's A+C combo. The Tier 3 destination remains gold regardless of vault color (universal "commitment moment" rule). A/B kept here for reference.

A -- Card EXPANDS into Tier 3 (bloom expansion)
The Tier 2 card itself grows from its size to fill the screen (like Entry 030's bloom-from-card pattern). Most powerful for "bloom now" moments -- the card IS becoming the bloom.
Bloom Now
Mom's letter
2:14
B -- Tier 2 fades, Tier 3 fades in
Calm transition. Tier 2 dissolves, Tier 3 emerges in its place over the same surface. Same rule as MOTION-SPEC B2 (Tier 1 -> Tier 2 crossfade) for consistency.
JOURNEY VAULT
Wedding day vows
Mom's letter
2:14
C -- Tier 2 docks as a thumbnail ✓ Locked Apr 28
The Tier 2 card shrinks down + slides to a corner as Tier 3 takes over the rest of the screen. The preview becomes a "you came from here" badge -- tap to return.
Mom's letter
2:14
Note: The locked Tier 3 destination depends on context (per A4 routing matrix). This B2 picks the motion of getting there, separate from which destination. Could also vary per destination -- e.g. A for bloom view, B for held-medium drawer, C for pull-up card. Worth picking ONE as the default and naming exceptions.
C
Future Popup States — Inventory
CAPTURED · NOT YET DESIGNED

Popup states we know exist but haven't designed visual treatments for yet. Each forward-references its homework card so the deeper design work has a home. Master app-design-system.html spec should NOT ship without these designed — they're current gaps.

Pressed (preserved forever)
HW#178
Visual intent (per Ashley): silver/cream-toned glow instead of gold · reflective sheen · thin bright outline · "sealed forever, protected" feel · slow ambient pulse (slower than A13 Bloom Now). Both orb AND popup variants needed. Distinct enough that anyone glancing instantly recognizes "this is preserved." Cross-references Entry 024 (Canopi pressed shelf) destination chassis + Entry 009 (TheFork seal-confirmation moment).
→ Design pass needed. See HW#178 for full spec scope.
Composting (decision window)
HW#179
Visual intent: terracotta-tinted (canonical compost color per Entry 010 Pillar) · slightly faded opacity · possibly drifting downward · degrading-progress signal as compost window advances. Tier 2 popup needs two CTAs: "Bring back" (recover) + "Let it go" (commit to release, uses Entry 032 slide-to-commit two-gesture pattern since irreversible). Both orb + popup variants needed.
→ Design pass needed. See HW#179 for full spec scope.
Held in Trust (recipient state)
HW#180
Distinct from "Sealed" lifecycle. "Held in Trust" is the Seed Keys / Guardian state where a recipient hasn't claimed their Seed Key yet. From the GARDENER's view: their seed shows "waiting for [recipient] to claim." From a GUARDIAN's view: the seed shows "held on behalf of [recipient]." Visual needs: distinct from time-gated states · suggests pending relationship · possibly uses Guardian iconography. Per CLAUDE.md vocabulary table.
→ Design pass needed. See HW#180 for full spec scope.
Location-not-yet-arrived (geofence-gated)
HW#181
Distinct from LOCATION-LOCKED display state above. LOCATION-LOCKED shows the recipient where the seed lives but they haven't arrived yet. The popup state needs to communicate "you must physically go to [Place] for this to bloom" without spoiling the contents. References Entry 022 (zenly map · place-tagged discovery) + product-roots.html arrival flow. Distinct geofence trigger UI from time-trigger UI.
→ Design pass needed. See HW#181 for full spec scope.
Locked-but-visible (peer-contribution gating)
HW#177
Journey Vault contribution mechanic. When other gardeners' contributions exist at this prompt-point but the user hasn't contributed yet, their seeds show as visible-but-locked — "contribute to unlock." NEW state axis: this is "waiting for YOUR action," not waiting for time. Cold-start dignity rules also needed (what shows when no peer contributions exist yet). Connects to bloom-moment animation (HW#176) since unlock IS a bloom event.
→ Design pass needed. See HW#177 for full spec scope.
The Bloom Moment animation (Tier 2 → bloom view)
HW#176
Not a popup STATE — but the transition motion FROM popup INTO bloom view is the emotional centerpiece of the entire app. B2=C locks the mechanical thumbnail-dock motion; the actual blooming animation (what the user sees + feels in those 2–4 seconds of opening) needs its own design pass. Inspiration: Entry 014 (Apple TV bloom view), Entry 030 (Kole Jain bloom-from-card-to-page expansion), Entry 008 (anticipation-not-opacity throughline), Entry 009 (TheFork seal moment). Existing prototype: ux-bloom-reveal.html (predates V2 motion + B1=D + A13).
→ Dedicated design pass needed. See HW#176 for full spec scope.
0 of 2 popup decisions made