feat(shell): metaball ambient + translucent bars/panels/controls, drop carousel fades
Smoke rounds 3-4 (owner feedback). Checkpoint during iteration. Ambient (the big one): rewrote ambient.wgsl from translating gaussian blobs to a METABALL field (r²/d² summed + smoothstep iso-surface) with 2-octave domain warp — lobes fuse/stretch/split like an amoeba / lava lamp (the Cider motion that was missing), faster clock, more contrast. Surfaces made background-aware (translucent when the dynamic background is on): - Search results view (root + toolbar), artist Network panel + its tab-row header (transparent to avoid double-translucent compounding), JUMP TO bar (JumpNavBar bar-bg passed in — can't import ShellState without a cycle). - Discover toolbars + tab pill + BrowseHeaderTools; SearchResultsView toolbar. - CircleAction (shared: playlist/album/artist/etc. action buttons) on-surface secondary fill goes glass; playlist Sort dropdown; QbzSelect closed control. - New app-background-bar-alpha knob (0.3, env QBZ_BG_BAR_ALPHA): thin bars go MORE transparent than panels (surface-alpha 0.5). - Content well: frosted tint (0.22) + 1px hairline border → distinct panel. - Album/Artist header gradient auto-suppressed under the dynamic background (they clashed); header text stays light on the dynamic backdrop. - Discover carousel edge-fade "shadows" hidden when active (Carousel / PlaylistCarousel / ArtistCarousel / PinnedCarousel). Base:76ea5a82. Prior checkpoint:4e405338. cc
This commit is contained in:
20 files changed
+169
-87
No files matched your search
@@ -7,7 +7,7 @@
|
||||
import { Theme } from "../foundation/semantic-colors.slint";
|
||||
import { QbzIcon } from "QbzIcon.slint";
|
||||
import { LoadingSpinner } from "LoadingSpinner.slint";
|
||||
import { TooltipState } from "../state.slint";
|
||||
import { TooltipState, ShellState, AppearanceState } from "../state.slint";
|
||||
|
||||
export component CircleAction inherits Rectangle {
|
||||
in property <image> icon;
|
||||
@@ -48,7 +48,11 @@ export component CircleAction inherits Rectangle {
|
||||
background: root.on-surface
|
||||
? (root.primary
|
||||
? (ta.has-hover ? Theme.accent-hover : Theme.accent)
|
||||
: ((ta.has-hover || root.active) ? Theme.surface-hover : Theme.surface-elevated))
|
||||
: ((ta.has-hover || root.active)
|
||||
? Theme.surface-hover
|
||||
: (ShellState.app-background-active
|
||||
? Theme.surface-elevated.with-alpha(AppearanceState.app-background-surface-alpha)
|
||||
: Theme.surface-elevated)))
|
||||
: (root.primary
|
||||
? (ta.has-hover ? #ffffffd6 : #ffffff)
|
||||
: ((ta.has-hover || root.active) ? #ffffff3d : #ffffff24));
|
||||
|
||||
Reference in new issue
Block a user