fix(debugger): cap and virtualise the Debug console, batch output events (#385)

Each DAP output event copied the whole console array and re-rendered every buffered line, so a debuggee writing continuously to stdout froze the window after tens of thousands of lines. Output is now queued and applied once per animation frame (merged per session and category), the buffer is capped (50,000 entries, plus the console buffer-size setting), and the Debug console renders only the visible rows.

Refs #377

Co-authored-by: a-rookie-of-C-language <[email protected]>
This commit is contained in:
arookieofcanda-rookie-of-C-language authored and GitHub committed 2026-10-30 18:18:01 +08:00
1 parent 379a52d6e7
commit ea53e4f6fa
4 files changed
+141 -17

No files matched your search

@@ -230,6 +230,7 @@
flex: 1;
min-height: 0;
overflow: auto;
position: relative;
padding: 6px 14px;
font-family: var(--font-mono);
font-size: var(--fs-ui);
@@ -244,7 +245,16 @@
color: var(--fg);
}
.consoleInner {
position: relative;
width: 100%;
}
.out {
position: absolute;
top: 0;
left: 0;
min-width: 100%;
color: var(--fg);
}
.cat-stderr {