Hovering over a symbol, type, or diagnostic marker in the editor shows nothing. There are no hover cards, no type information on hover, and no way to read the full text of a diagnostic error without switching to a panel.
This is a significant usability gap, especially for diagnostics. When a red gutter bar appears on a line, there is no way to see what the error is without looking at a separate diagnostics panel.
What needs to happen
At minimum, diagnostic hover should be implemented first since the diagnostic data is already available:
- When the user hovers over a line that has a diagnostic (red or yellow gutter bar, or an underlined region), show a small tooltip popup with the full diagnostic message, source, and error code.
- The tooltip should appear near the cursor after a short delay (~400ms) and dismiss when the cursor moves away.
As a stretch goal, symbol hover could show:
- The inferred type of the symbol (if LSP or other type info is available)
- The JSDoc/docstring associated with a function or class
Files likely involved
app/frontend/src/components/GpuEditor.tsx -- mouse move handler, tooltip state and rendering
- Diagnostic data is already passed to the editor; it needs to be queryable by line number on hover
Acceptance criteria
- Hovering over a line with a diagnostic shows a tooltip with the error/warning message
- The tooltip respects the editor's theme (dark/light)
- The tooltip does not flicker or reposition erratically
- It dismisses cleanly when the mouse moves to a different area
Hovering over a symbol, type, or diagnostic marker in the editor shows nothing. There are no hover cards, no type information on hover, and no way to read the full text of a diagnostic error without switching to a panel.
This is a significant usability gap, especially for diagnostics. When a red gutter bar appears on a line, there is no way to see what the error is without looking at a separate diagnostics panel.
What needs to happen
At minimum, diagnostic hover should be implemented first since the diagnostic data is already available:
As a stretch goal, symbol hover could show:
Files likely involved
app/frontend/src/components/GpuEditor.tsx-- mouse move handler, tooltip state and renderingAcceptance criteria