You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently Haze is all smoke and mirrors, as it draws all of the blurred areas in the haze layout node. The hazeChild nodes just update the size, shape, etc, which the haze modifier reads, to know where to draw.
What if we invert this, so that the haze node creates a graphics layer and puts it in the HazeState. Each hazeChild then uses that graphics layer to apply the blurred effect locally in the relevant layout node.
This could fix a number of issues, including #213, #229 and #245, which all boil down to the fact that we don't draw in the child nodes.
Even if this works, there is a downside though: anything which draws in-between the haze and hazeChild would be ignored. This is because the children are directly drawing the haze parent.
I see two options to workaround this:
Easy: make this 'mode' optional.
Harder: We add a hazeAncestor modifier which devs have to apply to intermediary ancestors. This modifier will basically do the same thing as haze and stuff a graphics layer into the HazeState. The hazeChild would then draw all of the ancestor layers in the effect.
Option 2 is out of scope for the initial release, but can be followed up on. Again, even if this works.
The text was updated successfully, but these errors were encountered:
Currently Haze is all smoke and mirrors, as it draws all of the blurred
areas in the haze layout node. The hazeChild nodes just update the size,
shape, etc, which the haze modifier reads, to know where to draw.
This PR inverts this, so that the haze node creates a graphics layer and
puts it in the HazeState. Each hazeChild then uses that graphics layer
to apply the blurred effect locally in the relevant layout node.
Fixes#213, #229, #245, #256
Currently Haze is all smoke and mirrors, as it draws all of the blurred areas in the
haze
layout node. ThehazeChild
nodes just update the size, shape, etc, which thehaze
modifier reads, to know where to draw.What if we invert this, so that the
haze
node creates a graphics layer and puts it in theHazeState
. EachhazeChild
then uses that graphics layer to apply the blurred effect locally in the relevant layout node.This could fix a number of issues, including #213, #229 and #245, which all boil down to the fact that we don't draw in the child nodes.
Even if this works, there is a downside though: anything which draws in-between the
haze
andhazeChild
would be ignored. This is because the children are directly drawing the haze parent.I see two options to workaround this:
hazeAncestor
modifier which devs have to apply to intermediary ancestors. This modifier will basically do the same thing ashaze
and stuff a graphics layer into theHazeState
. ThehazeChild
would then draw all of the ancestor layers in the effect.Option 2 is out of scope for the initial release, but can be followed up on. Again, even if this works.
The text was updated successfully, but these errors were encountered: