Skip to content

Latest commit

 

History

History
110 lines (69 loc) · 7.46 KB

File metadata and controls

110 lines (69 loc) · 7.46 KB
graph LR
    Interaction_Loop_Manager["Interaction Loop Manager"]
    Command_Parser["Command Parser"]
    Output_Renderer["Output Renderer"]
    Expression_Evaluator["Expression Evaluator"]
    Context_Providers["Context Providers"]
    Command_Handlers["Command Handlers"]
    Error_Handlers["Error Handlers"]
    Interaction_Loop_Manager -- "initiates calls to" --> Command_Parser
    Interaction_Loop_Manager -- "initiates calls to" --> Output_Renderer
    Interaction_Loop_Manager -- "initiates calls to" --> Context_Providers
    Interaction_Loop_Manager -- "initiates calls to" --> Error_Handlers
    Command_Parser -- "provides parsed commands to" --> Command_Handlers
    Command_Handlers -- "sends data to" --> Output_Renderer
    Command_Handlers -- "invokes" --> Expression_Evaluator
    Command_Handlers -- "queries" --> Context_Providers
    Command_Handlers -- "calls" --> Error_Handlers
    Error_Handlers -- "utilizes" --> Output_Renderer
    Context_Providers -- "provides real-time debugging information to" --> Interaction_Loop_Manager
    Context_Providers -- "provides real-time debugging information to" --> Command_Handlers
Loading

CodeBoardingDemoContact

Details

The WDB Web Client (UI) subsystem is primarily defined by the components within the client/wdb/ui directory. It represents the interactive, browser-based user interface. Its external boundary for communication is with the WDB Server Core, facilitated by server-side components like server.coffees.wdb.Wdb and server.coffees._websocket.Websocket, which handle the WebSocket communication channel.

Interaction Loop Manager

Orchestrates the main interaction cycle of the UI, continuously fetching user input and updating the display. It acts as the central coordinator for client-side activities, embodying the real-time interaction aspect of the debugging tool.

Related Classes/Methods:

Command Parser

Parses raw user input received from the UI into structured commands that can be processed by the system. This component ensures a clear separation of concerns by isolating input interpretation.

Related Classes/Methods:

Output Renderer

Centralized function for displaying all forms of debugging output (e.g., variable values, messages, errors) to the user interface. It is crucial for presenting the real-time state of the debugging session to the user.

Related Classes/Methods:

Expression Evaluator

Executes Python code snippets or expressions provided by the user within the current debugging scope, typically by sending them to the server for evaluation. This is a core interactive feature of a debugging tool.

Related Classes/Methods:

Context Providers

Provide the UI with real-time information about the execution state of the debugged program (e.g., current file, execution frame, local and global variables). This data is typically fetched from the WDB Server Core, supporting real-time interaction and centralized session management.

Related Classes/Methods:

Command Handlers

Each method implements the specific logic for a user command, translating UI actions into requests sent to the WDB Server Core and processing the responses. These handlers are the direct interface between user intent and the debugging backend, reflecting the client-server and event-driven architecture.

Related Classes/Methods:

Error Handlers

Ensure that errors and exceptions encountered within the UI are gracefully handled and communicated to the user. This is vital for a robust debugging tool, providing clear feedback during unexpected situations.

Related Classes/Methods: