# @zseven-w/pen-types Type definitions for the [OpenPencil](https://github.com/ZSeven-W/openpencil) document model. ## Install ```bash 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 ```ts import type { PenDocument, PenNode, FrameNode } from '@zseven-w/pen-types'; ``` ## License MIT