1---2name: ink3description: Skill for the Ink area of Wiki. 282 symbols across 101 files.4---56# Ink78282 symbols | 101 files | Cohesion: 50%910## When to Use1112- Working with code in `AI/`13- Understanding how widestLine, lineWidth, waitForNodeReconnect work14- Modifying ink-related functionality1516## Key Files1718| File | Symbols |19|------|---------|20| `AI/3-Application/Claude-Code-source/src/ink/ink.tsx` | copySelectionNoClear, copySelection, hasTextSelection, onRender, unmount (+33) |21| `AI/3-Application/Claude-Code-source/src/ink/screen.ts` | cellAtCI, diffEach, diffRowBoth, diffRowRemoved, diffRowAdded (+29) |22| `AI/3-Application/Claude-Code-source/src/ink/selection.ts` | hasSelection, applySelectionOverlay, startSelection, wordBoundsAt, selectWordAt (+12) |23| `AI/3-Application/Claude-Code-source/src/ink/log-update.ts` | render, transitionHyperlink, transitionStyle, readLine, renderFrameSlice (+9) |24| `AI/3-Application/Claude-Code-source/src/ink/dom.ts` | measureTextNode, findOwnerChainAtRow, walk, setStyle, setTextStyles (+6) |25| `AI/3-Application/Claude-Code-source/src/ink/render-node-to-output.ts` | drainAdaptive, drainProportional, renderNodeToOutput, renderChildren, blitEscapingAbsoluteDescendants (+6) |26| `AI/3-Application/Claude-Code-source/src/ink/focus.ts` | focusNext, focusPrevious, moveFocus, collectTabbable, FocusManager (+5) |27| `AI/3-Application/Claude-Code-source/src/ink/output.ts` | blit, intersectClip, maxDefined, get, write (+3) |28| `AI/3-Application/Claude-Code-source/src/ink/parse-keypress.ts` | parseTerminalResponse, parseMultipleKeypresses, keycodeToName, parseMouseEvent, parseKeypress |29| `AI/3-Application/Claude-Code-source/src/ink/render-to-screen.ts` | scanPositions, applyPositionedHighlight, transform, renderToScreen |3031## Entry Points3233Start here when exploring this area:3435- **`widestLine`** (Function) — `AI/3-Application/Claude-Code-source/src/ink/widest-line.ts:2`36- **`lineWidth`** (Function) — `AI/3-Application/Claude-Code-source/src/ink/line-width-cache.ts:9`37- **`waitForNodeReconnect`** (Function) — `AI/3-Application/Openclaw-source/src/gateway/server-methods/nodes.ts:473`38- **`resolveCliNoOutputTimeoutMs`** (Function) — `AI/3-Application/Openclaw-source/src/agents/cli-runner/reliability.ts:56`39- **`scheduleStatePersist`** (Function) — `AI/3-Application/Openclaw-source/extensions/nostr/src/nostr-bus.ts:377`4041## Key Symbols4243| Symbol | Type | File | Line |44|--------|------|------|------|45| `ClickEvent` | Class | `AI/3-Application/Claude-Code-source/src/ink/events/click-event.ts` | 9 |46| `CharPool` | Class | `AI/3-Application/Claude-Code-source/src/ink/screen.ts` | 20 |47| `HyperlinkPool` | Class | `AI/3-Application/Claude-Code-source/src/ink/screen.ts` | 56 |48| `StylePool` | Class | `AI/3-Application/Claude-Code-source/src/ink/screen.ts` | 111 |49| `FocusManager` | Class | `AI/3-Application/Claude-Code-source/src/ink/focus.ts` | 14 |50| `ActivityManager` | Class | `AI/3-Application/Claude-Code-source/src/utils/activityManager.ts` | 12 |51| `Ink` | Class | `AI/3-Application/Claude-Code-source/src/ink/ink.tsx` | 76 |52| `widestLine` | Function | `AI/3-Application/Claude-Code-source/src/ink/widest-line.ts` | 2 |53| `lineWidth` | Function | `AI/3-Application/Claude-Code-source/src/ink/line-width-cache.ts` | 9 |54| `waitForNodeReconnect` | Function | `AI/3-Application/Openclaw-source/src/gateway/server-methods/nodes.ts` | 473 |55| `resolveCliNoOutputTimeoutMs` | Function | `AI/3-Application/Openclaw-source/src/agents/cli-runner/reliability.ts` | 56 |56| `scheduleStatePersist` | Function | `AI/3-Application/Openclaw-source/extensions/nostr/src/nostr-bus.ts` | 377 |57| `getChatMembers` | Function | `AI/3-Application/Openclaw-source/extensions/feishu/src/chat.ts` | 38 |58| `getSkillUsageScore` | Function | `AI/3-Application/Claude-Code-source/src/utils/suggestions/skillUsageTracking.ts` | 43 |59| `calculateFeedWidth` | Function | `AI/3-Application/Claude-Code-source/src/components/LogoV2/Feed.tsx` | 23 |60| `getChartData` | Function | `React/React-source/packages/react-devtools-shared/src/devtools/views/Profiler/RankedChartBuilder.js` | 32 |61| `getChartData` | Function | `React/React-source/packages/react-devtools-shared/src/devtools/views/Profiler/FlamegraphChartBuilder.js` | 36 |62| `walkTree` | Function | `React/React-source/packages/react-devtools-shared/src/devtools/views/Profiler/FlamegraphChartBuilder.js` | 65 |63| `resolveMediaDurationMs` | Function | `AI/3-Application/Openclaw-source/extensions/matrix/src/matrix/send/media.ts` | 161 |64| `cb` | Function | `Vue2/Vue2-source/packages/server-renderer/src/util.ts` | 108 |6566## Execution Flows6768| Flow | Type | Steps |69|------|------|-------|70| `ScrollKeybindingHandler → HasSelection` | cross_community | 5 |71| `RegisterTelegramHandlers → Max` | cross_community | 5 |72| `HandlePluginsCommand → Max` | cross_community | 5 |73| `CondensedLogo → Max` | cross_community | 5 |74| `ScrollKeybindingHandler → ClearSelection` | cross_community | 4 |75| `CreateTelegramBot → Max` | cross_community | 4 |76| `HandleModelPickerInteraction → Max` | cross_community | 4 |7778## Connected Areas7980| Area | Connections |81|------|-------------|82| Plugins | 14 calls |83| Termio | 11 calls |84| Auto-reply | 5 calls |85| Scripts | 4 calls |86| Shared-commands | 4 calls |87| Constants | 3 calls |88| Components | 3 calls |89| Cli | 2 calls |9091## How to Explore92931. `gitnexus_context({name: "widestLine"})` — see callers and callees942. `gitnexus_query({query: "ink"})` — find related execution flows953. Read key files listed above for implementation details