内容
# Photonic
一款混合 **矢量 + 光栅** 图形编辑器,使用 Rust 构建,拥有原生 GPU 加速 GUI 和集成 MCP 服务器,支持通过 Claude 进行 AI 辅助设计。
## 功能特点
- **原生 GUI**,使用 egui 和 wgpu(GPU 加速,跨平台)
- **MCP 服务器** — Claude 可以通过 JSON-RPC API 创建和编辑艺术作品
- **完整的矢量工具集** — 形状,贝塞尔曲线,布尔运算,渐变,变换
- **Photoshop 级光栅编辑** — 像素层,带有调整(色阶,曲线,色相/饱和度,色彩平衡…),滤镜(高斯/盒式/运动模糊,锐化,中间值,噪点,边缘…),画笔引擎(绘制,擦除,克隆,涂抹,减淡/加深),选择和非破坏性图层蒙版,以及 16 种 CSS/Photoshop 混合模式。参见 [docs/raster-editing.md](docs/raster-editing.md)。
- **撤销/重做历史**,带有命名检查点,用于时间旅行
- **SVG / PNG / JPEG / WebP 导出**(光栅层合并到所有格式)
- **Lua 脚本**,用于自动化
## 快速入门
### 构建
```sh
cargo build --release
```
### 运行(GUI 模式)
```sh
cargo run --release
# 或打开已保存的文档:
cargo run --release -- path/to/file.photonic
```
### 运行 MCP 服务器(无界面)
```sh
cargo run --release -- mcp --port 7842
```
MCP 服务器监听 `http://localhost:7842`,并接受 JSON-RPC 2.0 请求。
### Lua REPL
```sh
cargo run --release -- repl
```
## 项目布局
```
photonic/
├── crates/
│ ├── photonic-core/ # 数据结构和业务逻辑
│ ├── photonic-render/ # GPU 渲染(wgpu + lyon)
│ ├── photonic-gui/ # egui GUI
│ ├── photonic-mcp/ # MCP 服务器和 JSON-RPC 处理程序
│ └── photonic-app/ # 二进制入口点
├── docs/
│ ├── architecture.md # 依赖库设计和内部实现
│ ├── mcp-api.md # MCP 工具参考
│ └── file-format.md # .photonic 文件格式
└── ROADMAP.md # 计划功能
```
## 文档
| 文档 | 内容 |
|---|---|
| [docs/architecture.md](docs/architecture.md) | 依赖库分解,数据模型,并发模型 |
| [docs/raster-editing.md](docs/raster-editing.md) | 光栅(像素)编辑子系统 — 模型,操作,MCP 表面,分阶段 |
| [docs/mcp-api.md](docs/mcp-api.md) | 每个 MCP 工具,带有参数和示例 |
| [docs/file-format.md](docs/file-format.md) | `.photonic` JSON 模式参考 |
## 依赖库概览
| 依赖库 | 角色 |
|---|---|
| `photonic-core` | `Document`,`SceneNode`,`Transform`,`Fill`,`CommandHistory` |
| `photonic-render` | `PhotonicRenderer`(wgpu),`HeadlessRenderer`,曲面细分 |
| `photonic-gui` | `PhotonicApp`,面板,工具实现 |
| `photonic-mcp` | JSON-RPC 服务器,20+ 处理函数 |
| `photonic-app` | `main()`,日志记录,模式调度 |
## 关键技术
| 领域 | 库 |
|---|---|
| GPU 渲染 | wgpu |
| 路径曲面细分 | lyon |
| 贝塞尔几何 | kurbo |
| GUI | egui + egui-wgpu |
| 异步运行时/HTTP | tokio + axum |
| 布尔路径运算 | geo |
| 序列化 | serde_json |
| 脚本 | mlua(Lua 5.4) |
## 贡献
欢迎贡献!参见 [CONTRIBUTING.md](CONTRIBUTING.md),了解如何设置,编码约定和拉取请求工作流程。请同时阅读我们的 [行为准则](CODE_OF_CONDUCT.md)。若要报告安全问题,请参见 [SECURITY.md](SECURITY.md)。
## 许可证
Photonic 在 [MIT License](LICENSE) 下许可。
它捆绑了第三方开源组件,遵循其自身的宽松许可证;其通知在 [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md) 中复制。