StartLineNumber/StartColumn: Position start (1-based, matches workbench
IMarkerData - Cocoon’s LanguagesNamespace.tsNormaliseDiagnostic
adds the + 1 from vscode.Position 0-based before sending to Mountain.
The MarkerService sanitiser at markerService.ts:243 clamps n > 0 ? n : 1, so 0-based values collapse line-0 entries onto line 1 and shift every
other line up by one - rendering squiggles on the wrong row.)
EndLineNumber/EndColumn: Position end (1-based, same convention)
Represents a single diagnostic marker, such as a compiler error or a linter
warning. This structure is compatible with VS Code’s IMarkerData
interface and is used by the Diagnostic service.