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):
- It requests
a -> a.default_visualization.to_js_object.to_jsonthat returns JSON representation of a value. And after receiving the value it does not display it.
{
"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"
}
}
}- and at the same time
Standard.Visualization.Preprocessor.default_preprocessorthat returns{"library":null,"name":"Table"}for all types of values.
{
"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": []
}
}
}- Finally, based on the
{"library":null,"name":"Table"}result, it requests a table visualization for the nodeStandard.Visualization.Table.Visualization.prepare_visualizationwhich is displayed.
{
"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_jsonbecause the result is unused - replace the initial default visualization request with the table visualization
Standard.Visualization.Table.Visualization.prepare_visualizationbecause 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.
Source: enso-org/enso