openpencil/packages/pen-types
2026-05-03 21:00:00 +08:00
..
src Merge origin/v0.8.0 into feat/rust-ification 2026-05-03 21:00:00 +08:00
CLAUDE.md V0.7.1 (#102) 2026-04-13 21:30:23 +08:00
LICENSE V0.7.1 (#102) 2026-04-13 21:30:23 +08:00
package.json Merge origin/v0.8.0 into feat/rust-ification 2026-05-03 21:00:00 +08:00
README.md V0.7.1 (#102) 2026-04-13 21:30:23 +08:00
tsconfig.json V0.5.0 (#67) 2026-03-22 09:44:04 +08:00

@zseven-w/pen-types

Type definitions for the OpenPencil document model.

Install

npm install @zseven-w/pen-types

What's Included

This package provides all TypeScript types and interfaces for the OpenPencil design file format (.op):

  • Document model — PenDocument, PenPage, PenNode and all node types (FrameNode, RectangleNode, EllipseNode, TextNode, ImageNode, PathNode, etc.)
  • Styles — PenFill (solid, gradient, image), PenStroke, PenEffect (blur, shadow), BlendMode, StyledTextSegment
  • Variables & Themes — VariableDefinition, VariableValue, ThemedValue
  • Canvas state — ToolType, ViewportState, SelectionState, CanvasInteraction
  • UIKit — UIKit, KitComponent, ComponentCategory
  • Theme presets — ThemePreset, ThemePresetFile
  • Design spec — DesignMdSpec, DesignMdColor, DesignMdTypography

Usage

import type { PenDocument, PenNode, FrameNode } from '@zseven-w/pen-types';

License

MIT