Skip to content

iOS: "Sky behind cards" parity — day-cycle sky behind the whole Today scroll (opt-in) - #16

Merged
ryanbr merged 1 commit into
mainfrom
sky-behind-cards-ios
Jul 7, 2026
Merged

ryanbr merged 1 commit into
mainfrom
sky-behind-cards-ios

Conversation

@ryanbr

@ryanbr ryanbr commented Jul 7, 2026

Copy link
Copy Markdown
Owner

iOS parity for #15 (Android). The liquid Today sky is a 340 top band, so Card transparency only reveals it behind the hero; lower cards fade toward the flat canvas.

Adds the same opt-in Settings → Appearance → "Sky behind cards" toggle (default OFF) that extends the sky behind the whole Today scroll.

How (mirrors the Android knobs)

  • LiquidSky / LiquidSkyStatic gain a settleStrength — 1 keeps the current seamless fade-to-canvas; fill mode uses 0.78 so the horizon tint survives behind the scroll instead of dissolving to dark.
  • LiquidTodayView’s backdrop drops the 340 frame (fills the view) with the softer settle when the toggle is on.
  • New SkyBehindCardsPrefs.enabledKey = "noop.skyBehindCards" — the same key as Kotlin NoopPrefs.skyBehindCards, shared with the Settings Toggle.

Scope / safety

  • Default OFF → zero change for existing users.
  • Swift compile-gated by CI (can’t build on the dev box).

Verify

  • iOS/macOS build via CI.
  • Try: Settings → Appearance → turn on “Sky behind cards”, then drag Card transparency up.

…whole Today scroll (opt-in)

Mirrors the Android PR (#15). The liquid Today sky is a 340 top band, so Card
transparency only reveals it behind the hero; lower cards fade toward the flat canvas.

Add the opt-in "Sky behind cards" toggle (Settings → Appearance, default OFF):
- LiquidSky / LiquidSkyStatic gain a settleStrength (1 = default seamless fade-to-canvas;
  0.78 in fill mode so the horizon tint survives behind the scroll instead of dissolving
  to dark).
- LiquidTodayView backdrop fills the whole view (drops the 340 frame) with the softer
  settle when the toggle is on.
- New SkyBehindCardsPrefs.enabledKey ("noop.skyBehindCards"), shared with the Settings
  Toggle; matches the Kotlin NoopPrefs.skyBehindCards key so the pref reads the same.

Default OFF = zero change for existing users.
@ryanbr
ryanbr merged commit 27b0c9d into main Jul 7, 2026
4 checks passed
ryanbr added a commit that referenced this pull request Jul 7, 2026
iOS: liquid Today honours the Day-cycle background toggle (closes #16 parity gap)
tanarchytan pushed a commit to tanarchytan/noop that referenced this pull request Jul 7, 2026
Closes the last parity gap from ryanbr#16. iOS`\s LiquidTodayView always drew the sky,
ignoring the "Day-cycle background" setting — so turning it off did NOT give the plain
dark canvas it does on Android and the classic TodayView. The "Sky behind cards" switch
was therefore standalone on iOS vs day-cycle-gated on Android.

- Gate the LiquidTodayView sky on @AppStorage(SceneBackgroundPrefs.enabledKey); off = the
  plain surfaceBase canvas (matches Android + classic Today).
- Disable/grey the "Sky behind cards" Settings toggle when the day-cycle background is off
  (the sky it extends is not drawn then) — mirrors the Android `enabled = showDayCycleBackground`.
@ryanbr
ryanbr deleted the sky-behind-cards-ios branch July 14, 2026 10:49
DX23876 referenced this pull request in DX23876/noop Jul 22, 2026
iOS: "Sky behind cards" parity — day-cycle sky behind the whole Today scroll (opt-in)
DX23876 referenced this pull request in DX23876/noop Jul 22, 2026
Closes the last parity gap from #16. iOS`\s LiquidTodayView always drew the sky,
ignoring the "Day-cycle background" setting — so turning it off did NOT give the plain
dark canvas it does on Android and the classic TodayView. The "Sky behind cards" switch
was therefore standalone on iOS vs day-cycle-gated on Android.

- Gate the LiquidTodayView sky on @AppStorage(SceneBackgroundPrefs.enabledKey); off = the
  plain surfaceBase canvas (matches Android + classic Today).
- Disable/grey the "Sky behind cards" Settings toggle when the day-cycle background is off
  (the sky it extends is not drawn then) — mirrors the Android `enabled = showDayCycleBackground`.
DX23876 referenced this pull request in DX23876/noop Jul 22, 2026
iOS: liquid Today honours the Day-cycle background toggle (closes #16 parity gap)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant