#14761·enso

Default visualization is not displayed in gui

Author: 4e6Created Feb 12, 2026Updated Apr 30, 2026
Labels-gui

Using the following project as an example Timed (copy).enso-project.zip

Issue

On the startup the gui sends 3 attach visualization requests per node (which visualization is open):

  1. It requests a -> a.default_visualization.to_js_object.to_json that returns JSON representation of a value. And after receiving the value it does not display it.
json
{
  "jsonrpc": "2.0",
  "id": "5",
  "method": "executionContext/attachVisualization",
  "params": {
    "visualizationId": "cface6a3-2012-4013-8c57-0d59149b7262",
    "expressionId": "f65f768e-9989-4861-be24-a62c244061d4",
    "visualizationConfig": {
      "executionContextId": "837bdc66-5e71-4ede-a0bc-d3d19c46a20d",
      "expression": "a -> a.default_visualization.to_js_object.to_json",
      "visualizationModule": "Standard.Visualization.Helpers"
    }
  }
}
  1. and at the same time Standard.Visualization.Preprocessor.default_preprocessor that returns {"library":null,"name":"Table"} for all types of values.
json
{
  "jsonrpc": "2.0",
  "id": "6",
  "method": "executionContext/attachVisualization",
  "params": {
    "visualizationId": "5fa3f9bd-7f02-4c4c-bd15-19f2d19cb92c",
    "expressionId": "f65f768e-9989-4861-be24-a62c244061d4",
    "visualizationConfig": {
      "executionContextId": "837bdc66-5e71-4ede-a0bc-d3d19c46a20d",
      "expression": "default_preprocessor",
      "visualizationModule": "Standard.Visualization.Preprocessor",
      "positionalArgumentsExpressions": []
    }
  }
}
  1. Finally, based on the {"library":null,"name":"Table"} result, it requests a table visualization for the node Standard.Visualization.Table.Visualization.prepare_visualization which is displayed.
json
{
  "jsonrpc": "2.0",
  "id": "17",
  "method": "executionContext/attachVisualization",
  "params": {
    "visualizationId": "0b53f251-7557-4766-9c41-12b33793b8c4",
    "expressionId": "f65f768e-9989-4861-be24-a62c244061d4",
    "visualizationConfig": {
      "executionContextId": "837bdc66-5e71-4ede-a0bc-d3d19c46a20d",
      "expression": "prepare_visualization",
      "visualizationModule": "Standard.Visualization.Table.Visualization",
      "positionalArgumentsExpressions": [
        "1000"
      ]
    }
  }
}

Thoughts

It will be reasonable to either:

  • display the result of default visualization a -> a.default_visualization.to_js_object.to_json
  • remove the initial request to compute a -> a.default_visualization.to_js_object.to_json because the result is unused
  • replace the initial default visualization request with the table visualization Standard.Visualization.Table.Visualization.prepare_visualization because in practice, every node is visualized this way on startup.

IMO for better UX we should change the default visualization expression because this way the user will see the visualization faster.