Create and initialize debug console panel.
Builds UI, registers with global console interceptor, and adds to DOM. Starts hidden - use toggle() or show() to display.
The console captures ALL messages logged since app startup, including those before this constructor was called (via global interceptor).
PrivatepanelPrivatecontentPrivateisPrivateautoPrivatefilterPrivatemessagePrivateeventsCleanup group covering every DOM listener attached by this panel: the toolbar buttons, drag/resize global listeners, and the blur/visibilitychange watchers that stop in-flight drag/resize when the window loses focus (otherwise the state stays "active" indefinitely — if the user releases the mouse off-window, we never see the mouseup and the next mousemove would resume dragging).
PrivatecreateCreate the debug console panel UI
PrivatesetupSetup event handlers for the panel
PrivatemakeMake the panel draggable
PrivatemakeMake the panel resizable
PrivaterenderPrivateformatFormat arguments for display
PrivaterenderPrivateformatFormat an argument as a DOM element (safe, no XSS)
PrivateapplyApply filter to existing messages
PrivateupdateUpdate status bar
PrivatescrollScroll to bottom of content
Clear all console messages from display and buffer.
Clears both the UI and the global console interceptor buffer. This is a destructive operation - messages cannot be recovered. The message count resets to 0.
PrivatecopyCopy all messages to clipboard
Show debug console with complete message history.
Displays all buffered messages from app startup, not just messages since last show(). This is key behavior - you can see what happened during initialization, data loading, etc. even if you open console later.
Triggered by Ctrl+L keyboard shortcut when console is hidden.
Hide debug console panel.
Messages continue to be buffered by the global interceptor while hidden. Next show() will display complete history.
Triggered by Ctrl+L when console is visible, close button, or Escape key.
Check if debug console is currently visible.
true if console panel is shown, false if hidden
Clean up debug console resources and remove from DOM.
Unregisters from global console interceptor, removes panel from DOM, and cleans up styles. Should be called during application teardown.
After calling dispose(), the DebugConsole instance cannot be reused.
Debug console UI component with console message capture and display.
Integrates with the global consoleInterceptor to show all browser console output in a styled panel. Messages are buffered globally, so opening the console shows full history from app startup.