fix reveal mask not latching - move phase check into shader effect

This commit is contained in:
Damocles 2026-04-18 11:47:34 +02:00
parent cad64e7fe6
commit 7e9baa9b7e

View file

@ -25,23 +25,22 @@ WlSessionLockSurface {
// Overlay group: blur + dim + hexes, revealed per-pixel by wave position
Item {
id: _overlay
anchors.fill: parent
opacity: _unlockFade
property bool _revealed: false
onVisibleChanged: _revealed = false
layer.enabled: !_revealed
layer.effect: ShaderEffect {
property real uPhase: _hexWave.wavePhase
property real uWidth: root.width
fragmentShader: Quickshell.shellPath("modules/reveal_mask.frag.qsb")
}
Connections {
target: _hexWave
function onWavePhaseChanged() {
if (!parent._revealed && _hexWave.wavePhase >= root.width)
parent._revealed = true;
onUPhaseChanged: {
if (!_overlay._revealed && uPhase >= _overlay.width)
_overlay._revealed = true;
}
}