enso-org / enso

Hybrid visual and textual functional programming.
https://ensoanalytics.com
Apache License 2.0
7.36k stars 323 forks source link

Nodes that are not computed look bad #7642

Closed wdanilo closed 8 months ago

wdanilo commented 1 year ago

Discord username

No response

What type of issue is this?

Permanent – Occurring repeatably

Is this issue blocking you from using Enso?

Is this a regression?

What issue are you facing?

Currently, when nodes are not computed yet, they look like this:

image

It has several issues:

  1. The node's background is 2 colors, because probably the selection shape is visible: image
  2. The connections start points are visible below nodes: image
  3. The colors are different than in the design.

In order to get to the design view, we need to also use the background image provided by the cloud team as the background for the graph editor. This should be simple, as our WebGL scene has transparent background and cloud uses the image just as background of the HTML scene, so please let's chat with the Cloud team how to utilize this image.

The design looks like this:

image

Expected behaviour

As shown above.

How we can reproduce it?

No response

Screenshots or screencasts

No response

Logs

No response

Enso Version

newest

Browser or standalone distribution

Standalone distribution (local project)

Browser Version or standalone distribution

standalone

Operating System

MacOS

Operating System Version

No response

Hardware you are using

No response

somebody1234 commented 1 year ago

basic testing suggests that removing the solid backgrounds from .scene and #root is enough to let the background show through - the CSS sets the background on body so it makes sense that nothing special should need to be done

vitvakatu commented 1 year ago

@kazcw could you please give some comment regarding visual issues here? I remember from PR discussion there were some technical issues, e.g. for connections between nodes.

kazcw commented 1 year ago
  1. The INVISIBLE_HOVER_COLOR has a small nonzero alpha, to avoid being culled. If round-to-zero rounding mode is being used on the GPU in some part of compositing, this could cause this color to be a little bit visible when blending with another color. I'll test this possibility after my current PR.
  2. This is an interesting problem. We don't currently have a good way to draw shapes meeting when they are not rendered fully opaquely. I think the best solution involves some changes to our rendering API. I'll write up the situation in more detail after my current PR.
kazcw commented 1 year ago
  1. I did not find the hypothesized rounding issue when compositing with the INVISIBLE_HOVER_COLOR in testing. We must be drawing something more opaque than that. I'm debugging to find which of the many Rectangles drawn over the node is causing the tint.
enso-bot[bot] commented 1 year ago

Keziah Wesley reports a new STANDUP for the last Friday (2023-08-25):

Progress: SpectorJS is not working. RenderDoc is not working, for different reasons on Windows and Linux. It should be finished by 2023-08-30.

Next Day: Next day I will be working on the #7642 task. Write render-dumping debug code.

enso-bot[bot] commented 1 year ago

Keziah Wesley reports a new STANDUP for yesterday (2023-08-28):

Progress: Working on render snapshot debug tool. It should be finished by 2023-08-30.

Next Day: Next day I will be working on the #7642 task. Debugging rendering.

farmaazon commented 8 months ago

Fixed in new GUI