MCPcopy Create free account

hub / github.com/ZSeven-W/openpencil / functions

Functions3,401 in github.com/ZSeven-W/openpencil

↓ 1 callersFunctiondetectTargets
()
apps/cli/src/commands/install.ts:45
↓ 1 callersFunctiondetectThemeFromNodeForest
* BFS over a forest of nodes, returning the theme detected from the * first frame with a usable solid fill. Returns `undefined` if no * frame in the
apps/web/src/services/ai/design-canvas-ops.ts:978
↓ 1 callersFunctiondetectWarnings
(plan: CodePlanFromAI)
apps/web/server/utils/codegen-plan-store.ts:106
↓ 1 callersFunctiondiffFields
* Compute the per-field delta between two nodes. Returns the keys that changed * (in `next`) along with the original values (from `base`). Skips the
packages/pen-core/src/merge/node-diff.ts:104
↓ 1 callersFunctiondiffSnapshots
Compare before/after snapshots and report fixes.
packages/pen-mcp/src/tools/design-refine.ts:153
↓ 1 callersMethoddispatch
(name: string, args: unknown)
apps/web/src/services/ai/agent-tool-executor.ts:84
↓ 1 callersFunctiondoGlobalSearch
(q: string)
packages/pen-react/src/components/icon-picker-dialog.tsx:132
↓ 1 callersFunctiondoGlobalSearch
(q: string)
apps/web/src/components/shared/icon-picker-dialog.tsx:147
↓ 1 callersMethoddrawAgentBadge
( canvas: Canvas, name: string, frameX: number, frameY: number, frameW: number, color:
apps/web/src/canvas/skia/skia-renderer.ts:155
↓ 1 callersMethoddrawAgentGlow
( canvas: Canvas, x: number, y: number, w: number, h: number, color: string, breat
apps/web/src/canvas/skia/skia-renderer.ts:142
↓ 1 callersMethoddrawAgentNodeBorder
( canvas: Canvas, x: number, y: number, w: number, h: number, color: string, breat
apps/web/src/canvas/skia/skia-renderer.ts:168
↓ 1 callersMethoddrawAgentPreviewFill
( canvas: Canvas, x: number, y: number, w: number, h: number, color: string, time:
apps/web/src/canvas/skia/skia-renderer.ts:181
↓ 1 callersMethoddrawArcHandles
( canvas: Canvas, x: number, y: number, w: number, h: number, startAngle: number,
apps/web/src/canvas/skia/skia-renderer.ts:193
↓ 1 callersMethoddrawEllipse
( canvas: Canvas, node: PenNode, x: number, y: number, w: number, h: number, opaci
packages/pen-renderer/src/node-renderer.ts:657
↓ 1 callersMethoddrawFrameLabel
Simple frame label drawing for read-only renderer.
packages/pen-renderer/src/renderer.ts:345
↓ 1 callersMethoddrawFrameLabelColored
( canvas: Canvas, name: string, x: number, y: number, isReusable: boolean, isInstance:
apps/web/src/canvas/skia/skia-renderer.ts:130
↓ 1 callersMethoddrawHoverOutline
(canvas: Canvas, x: number, y: number, w: number, h: number)
apps/web/src/canvas/skia/skia-renderer.ts:114
↓ 1 callersMethoddrawIconFont
( canvas: Canvas, node: PenNode, x: number, y: number, w: number, h: number, opaci
packages/pen-renderer/src/node-renderer.ts:900
↓ 1 callersMethoddrawImageFillRect
( canvas: Canvas, fill: ImageFill, w: number, h: number, absX: number, absY: number,
packages/pen-renderer/src/node-renderer.ts:293
↓ 1 callersMethoddrawNodeWithSelection
* Draw a single render node with optional selection highlight.
apps/web/src/canvas/skia/skia-renderer.ts:37
↓ 1 callersMethoddrawPathEditor
(canvas: Canvas, anchors: PenAnchor[], zoom: number, closed: boolean)
apps/web/src/canvas/skia/skia-renderer.ts:207
↓ 1 callersMethoddrawPenPreview
(canvas: Canvas, data: PenPreviewData, zoom: number)
apps/web/src/canvas/skia/skia-renderer.ts:126
↓ 1 callersMethoddrawPolygon
( canvas: Canvas, node: PenNode, x: number, y: number, w: number, h: number, opaci
packages/pen-renderer/src/node-renderer.ts:733
↓ 1 callersMethoddrawPreview
(canvas: Canvas, shape: { type: string; x: number; y: number; w: number; h: number })
apps/web/src/canvas/skia/skia-renderer.ts:45
↓ 1 callersMethoddrawSelectionBorder
( canvas: import('canvaskit-wasm').Canvas, x: number, y: number, w: number, h: number, )
packages/pen-engine/src/browser/canvas-renderer.ts:185
↓ 1 callersMethoddrawSelectionBorder
(canvas: Canvas, x: number, y: number, w: number, h: number)
apps/web/src/canvas/skia/skia-renderer.ts:106
↓ 1 callersMethoddrawSelectionMarquee
(canvas: Canvas, x1: number, y1: number, x2: number, y2: number)
apps/web/src/canvas/skia/skia-renderer.ts:118
↓ 1 callersMethoddrawText
* Main text drawing entry — tries vector, falls back to bitmap.
packages/pen-renderer/src/text-renderer.ts:132
↓ 1 callersMethoddrawTextShadow
* Draw text shadow as a blurred copy of the actual text glyphs.
packages/pen-renderer/src/text-renderer.ts:384
↓ 1 callersFunctionellipseToPath
(rx: number, ry: number)
packages/pen-core/src/boolean-ops.ts:118
↓ 1 callersMethodencrypt
(plain: string)
apps/desktop/git/auth-store.ts:20
↓ 1 callersFunctionengineBranchMergeFolderMode
* Folder-mode 3-way merge path. Delegates to system-git worktree helpers * in worktree-merge.ts. Returns the same result union as engineBranchMerge.
apps/desktop/git/git-engine.ts:1578
↓ 1 callersFunctionengineClone
(opts: { url: string; dest: string; auth?: AuthCreds; })
apps/desktop/git/git-engine.ts:1239
↓ 1 callersFunctionenrichFillForAIConsumerView
(node: PenNode, fill: PenFill)
apps/web/src/services/ai/consumer-view-enrichment.ts:222
↓ 1 callersFunctionenrichImageFillForAIConsumerView
(node: PenNode, fill: ImageFill)
apps/web/src/services/ai/consumer-view-enrichment.ts:191
↓ 1 callersFunctionenrichNodesFromHtmlHints
* Walk the PenNode tree and fill in missing style properties using hints * extracted from the clipboard HTML. Only fills in properties that are * u
packages/pen-figma/src/figma-clipboard.ts:349
↓ 1 callersFunctionensureClaudeConfigWritable
* On Windows, Claude Code SDK may fail with EPERM when writing to ~/.claude.json * or ~/.claude/ config files. Ensure the directory and config file e
apps/web/server/utils/resolve-claude-agent-env.ts:85
↓ 1 callersFunctionensureDir
()
apps/web/server/utils/server-logger.ts:19
↓ 1 callersMethodensureFonts
* Load multiple font families concurrently.
packages/pen-renderer/src/font-manager.ts:230
↓ 1 callersFunctionensurePrefixStr
(id: string, prefix: string)
apps/web/src/services/ai/streaming-design-renderer.ts:244
↓ 1 callersFunctionensureRepo
Git clone/update (fallback when no bundle).
apps/cli/src/commands/install.ts:80
↓ 1 callersMethodensureResizePreviewNodes
(engine: SkiaEngine)
apps/web/src/canvas/skia/skia-interaction.ts:566
↓ 1 callersMethodensureRotatePreviewNodes
(engine: SkiaEngine)
apps/web/src/canvas/skia/skia-interaction.ts:574
↓ 1 callersFunctionenvToText
Serialize a record to KEY=VALUE lines
apps/web/src/components/shared/acp-agent-settings.tsx:48
↓ 1 callersFunctionequalizeCardRow
(parent: FrameNode, children: PenNode[])
apps/web/src/services/ai/role-resolver.ts:928
↓ 1 callersFunctionequalizeHorizontalSiblings
(parentId: string)
apps/web/src/services/ai/design-canvas-ops.ts:842
↓ 1 callersFunctionestimateAutoHeight
( text: string, fontSize: number, lineHeight: number, parentContentWidth?: number, canvasWidth = 120
apps/web/src/services/ai/generation-utils.ts:96
↓ 1 callersFunctionestimateCanvasSize
(children: PenNode[])
packages/pen-mcp/src/tools/open-document.ts:153
↓ 1 callersFunctionestimateTextWidthPrecise
( text: string, fontSize: number, letterSpacing = 0, fontWeight?: string | number, )
packages/pen-core/src/layout/text-measure.ts:141
↓ 1 callersMethodevictParaCache
(incoming: number)
packages/pen-renderer/src/text-renderer.ts:83
↓ 1 callersMethodevictParaImageCache
(incoming: number)
packages/pen-renderer/src/text-renderer.ts:95
↓ 1 callersFunctionevictTextCache
()
apps/web/src/canvas/skia/skia-overlays.ts:27
↓ 1 callersMethodevictTextCache
(incoming: number)
packages/pen-renderer/src/text-renderer.ts:109
↓ 1 callersMethodexecute
(toolCall: ToolCallEvent)
apps/web/src/services/ai/agent-tool-executor.ts:28
↓ 1 callersFunctionexecuteCodexCommand
( args: string[], timeoutMs: number, stdinText?: string, )
apps/web/server/utils/codex-client.ts:265
↓ 1 callersFunctionexecuteGeminiCommand
( binPath: string, args: string[], timeoutMs: number, stdinText?: string, )
apps/web/server/utils/gemini-client.ts:218
↓ 1 callersFunctionexecuteLine
( line: string, doc: PenDocument, bindings: Map<string, string>, results: OpResult[], pageId?: strin
packages/pen-mcp/src/tools/batch-design.ts:158
↓ 1 callersFunctionexecuteSubAgents
( plan: OrchestratorPlan, request: AIDesignRequest, preparedPrompt: PreparedDesignPrompt, progress: Or
apps/web/src/services/ai/orchestrator-sub-agent.ts:59
↓ 1 callersFunctionexportActivePageImage
( doc: PenDocument, activePageId: string | null, format: ImageExportFormat, multiplier = 1, )
apps/web/src/utils/global-export.ts:198
↓ 1 callersFunctionexportDesignMd
(spec: DesignMdSpec, fileName?: string)
apps/web/src/utils/design-md-io.ts:53
↓ 1 callersFunctionexportDocumentPdf
(doc: PenDocument, multiplier = 2)
apps/web/src/utils/global-export.ts:225
↓ 1 callersFunctionexportKit
( sourceDoc: PenDocument, componentIds: string[], kitName: string, )
apps/web/src/uikit/kit-import-export.ts:45
↓ 1 callersFunctionexportThemePreset
( name: string, themes: Record<string, string[]>, variables: Record<string, VariableDefinition>, )
apps/web/src/utils/theme-preset-io.ts:33
↓ 1 callersFunctionextractAllJsonBlocks
* Helper to find all complete JSON blocks in text (```json or ``` blocks).
apps/web/src/services/ai/design-parser.ts:188
↓ 1 callersFunctionextractAndApplyDesign
(responseText: string)
apps/web/src/services/ai/design-canvas-ops.ts:561
↓ 1 callersFunctionextractAndApplyDesignModification
(responseText: string)
apps/web/src/services/ai/design-canvas-ops.ts:578
↓ 1 callersFunctionextractCodexCliError
(stderr: string)
apps/web/server/utils/codex-client.ts:380
↓ 1 callersFunctionextractColors
(sections: Map<string, string>)
packages/pen-ai-skills/src/style-guide/style-guide-parser.ts:60
↓ 1 callersFunctionextractDesignContext
( existing: DesignContext, plan: OrchestratorPlanLike, )
packages/pen-ai-skills/src/memory/document-context.ts:26
↓ 1 callersFunctionextractFigmaClipboardData
(html: string)
packages/pen-figma/src/figma-clipboard.ts:79
↓ 1 callersFunctionextractFlip
(transform?: FigmaMatrix)
packages/pen-figma/src/converters/common.ts:119
↓ 1 callersFunctionextractGeminiError
Extract a human-readable error from Gemini CLI stdout/stderr
apps/web/server/utils/gemini-client.ts:335
↓ 1 callersFunctionextractHtmlFromResponse
* Extract the HTML content from an AI response. * Handles responses with code fences, markdown, or bare HTML.
apps/web/src/services/ai/design-code-generator.ts:55
↓ 1 callersFunctionextractHtmlSection
(html: string, subtaskLabel: string)
apps/web/src/services/ai/design-code-generator.ts:142
↓ 1 callersFunctionextractRadius
(sections: Map<string, string>)
packages/pen-ai-skills/src/style-guide/style-guide-parser.ts:139
↓ 1 callersFunctionextractRootFrameFillColor
* Pull the first solid fill color off the plan's root frame, if any. * Used in the sub-agent prompt so the model sees the actual background * color
apps/web/src/services/ai/orchestrator-sub-agent.ts:714
↓ 1 callersFunctionextractStructureSummary
(html: string)
apps/web/src/services/ai/design-code-generator.ts:90
↓ 1 callersFunctionextractSubtaskCandidates
(obj: Record<string, unknown>)
apps/web/src/services/ai/orchestrator-planning.ts:186
↓ 1 callersFunctionextractTypography
(sections: Map<string, string>)
packages/pen-ai-skills/src/style-guide/style-guide-parser.ts:87
↓ 1 callersMethodfeedText
(rawResponse: string)
apps/web/src/services/ai/streaming-design-renderer.ts:39
↓ 1 callersFunctionfetchFromOpenverse
( query: string, count: number, aspectRatio: string | undefined, clientId: string | undefined, clien
apps/web/server/api/ai/image-search.ts:235
↓ 1 callersFunctionfetchFromWikimedia
(query: string, count: number)
apps/web/server/api/ai/image-search.ts:282
↓ 1 callersFunctionfetchGeminiModels
Fetch available models from Gemini API using local auth credentials
apps/web/server/api/ai/connect-agent.ts:904
↓ 1 callersFunctionfetchLiveDocument
Fetch the current document from the live Electron canvas.
packages/pen-mcp/src/document-manager.ts:221
↓ 1 callersFunctionfetchLiveSelection
()
packages/pen-mcp/src/document-manager.ts:435
↓ 1 callersFunctionfetchProviderModels
( baseURL: string, apiKey?: string, )
apps/web/src/components/shared/model-selector.tsx:59
↓ 1 callersFunctionfigToBinaryParts
* Split a .fig file buffer into schema and data binary parts. * Also extracts image files from the ZIP archive if present.
packages/pen-figma/src/fig-parser.ts:101
↓ 1 callersFunctionfigmaClipboardToNodes
( buffer: ArrayBuffer, html?: string, )
packages/pen-figma/src/figma-clipboard.ts:144
↓ 1 callersFunctionfigmaFillColor
(figma: FigmaNodeChange)
packages/pen-figma/src/converters/common.ts:182
↓ 1 callersFunctionfigmaNodeChangesToPenNodes
( decoded: FigmaDecodedFile, layoutMode: FigmaImportLayoutMode = 'openpencil', )
packages/pen-figma/src/figma-node-mapper.ts:269
↓ 1 callersFunctionfigmaToPenDocument
( decoded: FigmaDecodedFile, fileName: string, pageIndex: number = 0, layoutMode: FigmaImportLayoutMod
packages/pen-figma/src/figma-node-mapper.ts:95
↓ 1 callersFunctionfileExists
(filePath: string)
packages/pen-mcp/src/document-manager.ts:425
↓ 1 callersFunctionfileKey
Derive a storage key from a file identifier. Returns null for untitled documents.
apps/web/src/stores/design-md-store.ts:9
↓ 1 callersMethodfind
()
apps/web/server/opencode/v2/gen/sdk.gen.ts:4176
↓ 1 callersFunctionfindDecoder
* Find the decode function for the root message type in the compiled schema. * Figma's .fig files use a root type called "Message", so we look for *
packages/pen-figma/src/fig-parser.ts:190
↓ 1 callersFunctionfindDesktopBinary
Find the installed desktop app binary.
apps/cli/src/launcher.ts:42
↓ 1 callersFunctionfindInTree
(nodes: PenNode[], id: string)
apps/web/src/uikit/kit-utils.ts:63
↓ 1 callersFunctionfindLatestLog
()
packages/pen-mcp/src/tools/debug-logs-tail.ts:33
↓ 1 callersFunctionfindNode
(list: typeof nodes, id: string)
packages/pen-mcp/src/tools/snapshot-layout.ts:22
↓ 1 callersFunctionfindParentByPath
(path: string, doc: PenDocument, pageId?: string)
packages/pen-mcp/src/tools/batch-design.ts:491
← previousnext →1,601–1,700 of 3,401, ranked by callers