MCPcopy Index your code
hub / github.com/evolus/pencil

github.com/evolus/pencil @v3.1.1 sqlite

repository ↗ · DeepWiki ↗ · release v3.1.1 ↗
1,319 symbols 3,369 edges 272 files 13 documented · 1%
README

Image of Yaktocat

About The Next Version

Pencil V3 is a rewrite of Pencil that aims to fix major performance and scalability issues of the application. The new version is under heavy development and we are expecting GA builds in June. The following list summarizes important changes in the new version:

  • Pencil V3 uses Electron instead of Mozilla XULRunner as the runtime. We expect that by moving into this Nodejs-based environment, the Pencil source code can be much easier for all fellow developers to play with. The fact that Mozilla XULRunner is outdated is also a reason for the movement.
  • A new, zip-based file format was introduced to support large documents and better embedding of external bitmaps/resources.
  • A new mechanism for page management that dramatically reduces memory usage for large documents.
  • Document pages can now be structured into a tree-like model.
  • Custom fonts can now be embedded into Pencil .epz documents
  • Printing and PDF export will be improved to support all platforms and with many options
  • New UI approach

Setting up

Pencil uses Atom Electron as the runtime, follow the these steps to setup the environment:

  • Clone this repository
  • Make sure you are using nodejs 5+ (Pencil development only needs npm for package management. Node runtime is not required.)
  • Checkout this development branch:

    bash $ git checkout development

  • Install dependencies:

    bash $ npm install

  • Start Pencil using the prebuilt version of Electron

    bash $ npm start

Supported Platforms

OS X

Only OSX 64bit 10.9 and later are supported.

Windows

Windows 7 and later are supported, older operating systems are not supported (and do not work).

Linux

Core symbols most depended-on inside this repo

callback
called by 176
app/archive/installRemoteCollectionsDialog.js
cont
called by 129
app/lib/codemirror/javascript.js
debug
called by 110
app/pencil-core/common/util.js
Pos
called by 82
app/lib/codemirror/codemirror.js
getLine
called by 59
app/lib/codemirror/codemirror.js
elt
called by 54
app/lib/codemirror/codemirror.js
option
called by 52
app/lib/codemirror/codemirror.js
on
called by 50
app/lib/codemirror/codemirror.js

Shape

Function 1,319

Languages

TypeScript100%

Modules by API surface

app/lib/codemirror/codemirror.js452 symbols
app/lib/codemirror/javascript.js81 symbols
app/pencil-core/common/jspdf.min.js60 symbols
app/pencil-core/common/util.js55 symbols
app/pencil-core/behavior/commonBehaviors.js26 symbols
app/archive/settingDialog.js23 symbols
app/lib/codemirror/xml.js19 symbols
app/lib/widget/MapView.js15 symbols
app/lib/widget/ColorPicker.js13 symbols
app/tools/capture-services.js12 symbols
app/lib/widget/Common.js12 symbols
app/views/tools/StencilCollectionBuilder.js11 symbols

Dependencies from manifests, versioned

@electron/remote2.0.1 · 1×
adm-zip0.4.7 · 1×
archive-type4.0.0 · 1×
archiver3.0.0 · 1×
decompress4.0.0 · 1×
decompress-targz4.0.0 · 1×
easy-zip23.0.0 · 1×
electron16.0.0 · 1×
electron-builder23.3.3 · 1×
electron-log2.2.17 · 1×
electron-rebuild1.8.5 · 1×
electron-updater5.3.0 · 1×

For agents

$ claude mcp add pencil \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact