pscat
Render and debug PostScript to PNG, SVG or PDF, write handwritten notes, and make generative art
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
pscatالتوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
pscat
pscat is a PostScript interpreter written in Rust. PostScript is a programming language for drawing pages; pscat runs your program and shows the picture as it is drawn, in a live window, or renders it to PNG, SVG or PDF. It also runs in a browser tab, and it ships with PostScript libraries for making art: generative patterns, paint and watercolor, printmaking, lettering, charts and more. It was built for fun, not as a Ghostscript replacement, though it aims for broad PostScript coverage over time.
pscatlabs.github.io/pscat has the docs, the full gallery, a specimen of every font, and a live playground that runs the interpreter in your browser, no install.
Install
cargo install pscat # pscat and pscat-mcp, from crates.io
pscat fonts install # optional: the full font catalog, as font packs
npm install pscat # from 0.6.2: the wasm renderer for browsers and Node
Or download a ready-built binary for macOS, Linux or Windows from the releases page (no Rust needed). Getting started has the details. Then:
pscat --png out.png some_file.ps
Quick start from a checkout
You need a stable Rust toolchain.
cargo run -- --page 500x500 examples/sierpinski.ps # watch it draw, live
cargo run -- --png out.png examples/sierpinski.ps # render to a PNG instead
cargo run -- -i # REPL + window: type PostScript, watch it draw
A taste of the REPL:
PS> 40 2 add =
42
PS> mark 1 2 3
PS<4> pstack
3
2
1
-mark-
To try it with nothing installed, open the
playground. New to PostScript? Start with
Learn PostScript. More sample programs live in examples/, and finished pieces in
gallery/.
Guides
Everything else is in docs/guides/:
- Getting started: build, install, command-line flags, output formats
- pscat in the browser and for AI agents
- Fonts and handwriting
- artkit: the generative-art toolkit, and style packs and page templates
- Painting and the landscape cookbook
- Printmaking and etching and dry media
- Lettering, headlines and apparel
- Charts and plots
For AI agents
pscat works well from a coding agent. The skills in plugin/skills/ (pscat,
psart, psviz) are plain Markdown any agent can read, and pscat-mcp is an
MCP server with six tools. In Claude Code, both come as one plugin:
/plugin install pscat --marketplace PSCatLabs/pscat
(after installing pscat; see plugin/README.md). In Codex:
codex plugin marketplace add PSCatLabs/pscat, then
codex plugin add pscat@pscat. See the
agents guide. Any other MCP client can run
pscat mcp (the same server as pscat-mcp), and pscat is listed in the
MCP Registry from 0.6.3:
- MCP Registry name:
mcp-name: io.github.PSCatLabs/pscat
Contributing
Start with CONTRIBUTING.md (including how contributions are
licensed), then AGENTS.md for conventions and SDLC.md
for how changes land. Report security problems as SECURITY.md
describes, and see docs/STABILITY.md for what stays
stable between releases. docs/dev/HANDOFF.md orients you in the code,
docs/dev/ARCHITECTURE.md explains the design, and
docs/dev/ has the contributor notes, such as how to
preview the website. docs/archive/ holds the project's history, including
the original stage-by-stage status log.
Why
I used to write raw PostScript by hand in college and send it straight to a LaserWriter. This is a from-scratch Rust interpreter built to relive that — watching a hand-written recursive PostScript program draw itself, live, without depending on a decades-old C codebase to do it.
Licence
pscat's code is dual-licensed under MIT or
Apache-2.0, at your option. The package also embeds font
data: the Liberation faces and the Courier Prime-derived typewriter outlines,
both under the SIL Open Font License 1.1. That's why
Cargo.toml says (MIT OR Apache-2.0) AND OFL-1.1. The OFL term covers only
the embedded font data, not pscat's code.
The fonts in fonts/catalog/ keep their own upstream licences. The original
gallery, example and shirt art is dedicated to the public domain under
CC0-1.0, with a few exceptions. CC0 grants no rights in the
pscat name or logo. THIRD_PARTY_NOTICES.md lists
what is under which terms.
SDLC
See SDLC.md for how this repo's development lifecycle
works (issue → branch → PR → review → merge → cleanup) and the
branch-protection/merge policy currently enforced on GitHub — generated
and kept in sync by the sdlcify skill.
الأسئلة الشائعة
ما هو pscat؟
Render and debug PostScript to PNG, SVG or PDF, write handwritten notes, and make generative art
كيف أثبّت pscat؟
اتبع خطوات التثبيت في توثيقه المعروض في هذه الصفحة وفي مستودعه.
هل يحتاج pscat إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل pscat مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص Apache-2.0.
من يصون pscat؟
ينشره PSCatLabs. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.