# Funkcje
## Pliki Figma
OpenPencil otwiera i zapisuje pliki `.fig` bez wcześniejszej konwersji. Import i eksport korzystają z binarnego kodeka Kiwi używanego przez Figmę: 194 definicje schematu i około 390 pól dla każdego obiektu. Zapisz: ⌘S; Zapisz jako: ⇧⌘S.
**Kopiowanie między Figmą a OpenPencil:** skopiuj obiekty w jednym edytorze i wklej w drugim. Zachowywane są zalewy, obwiednie, automatyczny układ, tekst, efekty, promienie narożników i sieci wektorowe. Wymiana działa w obie strony.
## Rysowanie i edycja
- **Figury:** prostokąt, elipsa, linia, wielokąt i gwiazda.
- **Pióro:** sieci wektorowe, krzywe Béziera i uchwyty stycznych.
- **Tekst:** edycja bezpośrednio na obszarze roboczym i obsługa IME.
- **Formatowanie tekstu:** pogrubienie, kursywa, podkreślenie i przekreślenie wybranych zakresów.
- **Automatyczny układ:** Flexbox i CSS Grid przez Yoga WASM; kierunek, odstępy, wypełnienie, wyrównanie, rozmiary i ścieżki siatki.
- **Komponenty:** tworzenie komponentów i zestawów, egzemplarze, nadpisania oraz automatyczna synchronizacja.
- **Zmienne:** tokeny projektu z kolekcjami, trybami Light i Dark, typami Color, Float, String i Boolean oraz powiązaniami.
- **Sekcje:** kontenery najwyższego poziomu przejmujące przecinające się obiekty.
## Panel właściwości
Zawartość kart „Projekt”, „Kod” i „AI” zależy od zaznaczenia.
- **Wygląd:** przezroczystość, wspólny lub osobny promień narożników i widoczność.
- **Zalew:** kolor jednolity, gradient liniowy, radialny, kątowy lub diamentowy oraz obraz.
- **Obwiednia:** kolor, grubość, wyrównanie, osobna grubość boków, zakończenia, łączenia i kreskowanie.
- **Efekty:** cień zewnętrzny i wewnętrzny, rozmycie warstwy, tła i pierwszego planu.
- **Typografia:** wybór czcionki z wyszukiwaniem i wirtualnym przewijaniem, odmiana, rozmiar, wyrównanie i formatowanie.
- **Układ:** ustawienia automatycznego układu.
- **Eksport:** skala, format PNG/JPG/WEBP/SVG i podgląd.
## Renderowanie
OpenPencil używa Skia przez CanvasKit WASM — tego samego silnika graficznego co Figma:
- gradienty liniowe, radialne, kątowe i diamentowe;
- zalewy obrazami z różnymi trybami skalowania;
- pamięć podręczna efektów osobnych obiektów;
- łuki, częściowe elipsy i pierścienie;
- pomijanie obiektów poza widokiem i ponowne użycie pędzli;
- prowadnice przyciągania z uwzględnieniem obrotu;
- linijki z zakresem zaznaczenia;
- podświetlenie zgodne z rzeczywistą geometrią.
## Cofanie i ponawianie
Można cofnąć tworzenie, usuwanie, przesuwanie, zmianę rozmiaru, właściwości i rodzica, układ oraz zmienne. Skróty: ⌘Z i ⇧⌘Z.
## Strony i dokumenty
Strony można dodawać, usuwać i przemianowywać; każda zachowuje własne położenie i skalę widoku. Wiele dokumentów można otworzyć w kartach.
## Eksport
- **Obrazy:** PNG, JPG i WEBP w skali od 0,5× do 4×.
- **SVG:** figury, tekst z zakresami stylów, gradienty, efekty i tryby mieszania.
- **Tailwind JSX:** HTML z klasami Tailwind v4 dla React lub Vue.
- **Kopiuj jako:** tekst, SVG, PNG albo JSX przez menu kontekstowe.
```sh
openpencil export design.fig -f jsx --style tailwind
```
## Czat AI
Naciśnij ⌘J. Ponad 90 narzędzi tworzy figury, zmienia style i układ, pracuje z komponentami i zmiennymi, wykonuje operacje logiczne, analizuje tokeny projektu i eksportuje zasoby. Można podłączyć Anthropic, OpenAI, Google AI, OpenRouter albo zgodny punkt końcowy.
Wywołania narzędzi pojawiają się na zwijanej osi czasu. Do kontroli wizualnej asystent eksportuje wynik i porównuje go z poleceniem. Wszystkie zmiany AI można cofnąć.
## Serwer MCP
Claude Code, Cursor, Windsurf i inni klienci MCP mogą odczytywać i zmieniać `.fig` bez interfejsu. Dostępnych jest ponad 90 narzędzi oraz transporty stdio i HTTP.
```sh
npm install -g @open-pencil/mcp
```
## CLI
```sh
openpencil tree design.fig # Drzewo obiektów
openpencil find design.fig --type TEXT # Wyszukiwanie
openpencil export design.fig -f png # Eksport
openpencil analyze colors design.fig # Analiza kolorów
openpencil analyze clusters design.fig # Powtarzające się struktury
openpencil eval design.fig -c "..." # Figma Plugin API
```
Wszystkie polecenia obsługują `--json`. Instalacja: `npm install -g @open-pencil/cli` albo `bun add -g @open-pencil/cli`.
## Współpraca w czasie rzeczywistym
Połączenie równorzędne WebRTC nie wymaga centralnego serwera. Udostępnij odnośnik i edytuj dokument wspólnie z innymi osobami, korzystając z kursorów, informacji o obecności i trybu śledzenia.
## Wersja komputerowa i internetowa
**Komputer:** Tauri v2, około 7 MB, dla macOS, Windows i Linux, z menu systemowymi, pracą bez sieci i automatycznym zapisem.
**Internet:** [app.openpencil.dev](https://app.openpencil.dev), możliwość instalacji jako PWA i interfejs dotykowy.
## Zastępcze ładowanie Google Fonts
Jeśli czcionka nie jest dostępna lokalnie, OpenPencil automatycznie pobiera ją z Google Fonts. Ręczna instalacja nie jest potrzebna.