The hero of klad.studio: a terminal beside the klad editor. An agent paints a sprout creature stroke by stroke through the klad command line; in the editor its leaves are recoloured, its mouth bent into a smile, a smudge moved and its blush blended; then the agent puts its parts in groups, keys them, and the creature walks while the editor's timeline plays

给你的智能体真正的画笔。klad 是一个 2D 绘画和动画应用,你可以与一个编码智能体共同使用。你在编辑器里用笔作画。智能体则通过klad命令行,用同样的画笔,在同一幅画上作画,你们双方都能即时看到彼此的笔触。

klad 中没有图像模型。你的智能体(Claude Code、Codex,任何能运行命令的东西)决定画什么;klad 为它提供画笔、图层和时间线。无论你们谁画下的内容都保持其原本的样子:一笔带有其路径、压力、画笔和颜色的笔触,一个带有其顶点的形状,一块带有其区域的填充。所以不存在反复重掷、碰运气:如果某片叶子看起来不对,你就修那片叶子。

当被要求画“一个给我的游戏用的小嫩芽生物”时,智能体画了 4,344 笔笔触和填充。你来修改它们:给叶子重新上色,弯一弯嘴巴,挪动一处污迹,混合腮红。然后智能体为它制作动画:生物的各个部分被分入五个组,205 个关键帧驱动它们,没有任何一帧被重新绘制。

A night scene: a hooded traveller holds a lantern on a pole out to a ruined stone arch, a small sprout creature following Twelve game props: a chest, a crate, a barrel, a torch, a potion, a key, a shield, a signpost, rope, a bedroll, mushrooms and a waystone

用 Claude Fable 5.2 创作的画作:生物、场景和道具套件都是通过klad命令行一笔一笔画出来的。

  • 网站和指南: klad.studio,其中这些画作会一笔一笔地回放。
  • 许可:源码可见,但并非开源。你可以自由地为自己构建和使用,也可以在年收入低于 500,000 欧元的公司内部使用。参见许可。
  • 运行于:macOS(支持笔压和倾斜)。它也能在 Linux 和 Windows 上构建并通过测试,每次变更都会检查;编辑器目前在 Linux 上只能用鼠标启动,还没有人在 Windows 上用它画过。
  • 状态:早期阶段。这是第一个公开版本,需要你自己构建:参见从源码构建。

为什么不直接生成图片?

图像生成器交给你的是像素,剩下的唯一编辑方式就是再掷一次骰子。klad 把每一笔笔触和每一块填充都作为数据保留:它去了哪里、按得多重、用的什么画笔和什么颜色。几小时后你可以挑出其中任何一个,无论是你的还是智能体的,重新上色、弯折、移动或删除。

  • 这是绘画,不只是矢量。一笔画会像矢量那样保留路径和压感,最终仍以颜料的形式落下。厚涂的油彩会留下迎光的脊线,涂抹则会拖拽图层上已有的颜料。涂抹同样是一笔:之后移动它,klad 会在它落下的地方重新混合。
  • 它也能只做矢量。带可编辑锚点的形状、渐变、辉光,以及约五十种随附开源字体中的真实文本,用于海报、封面和卡片。
  • 它是一个完整的绘画和动画应用。二十多种画笔和一个画笔编辑器,图层、蒙版、剪贴、特效,带洋葱皮和片段的时间轴,由你的关键帧生成的中间帧,带 IK 的骨骼,以及导出为 PNG、精灵表或直接导入 Godot。
  • 你的画作始终属于你。一幅画就是你电脑上的一个普通文件文件夹,klad 无需账号。它每天只检查一次新版本,你也可以关掉。一次编辑只改动它所编辑内容的文件,所以画作很适合放在 git 里。

与你的智能体协作

  1. 吩咐。用平实的语言告诉你的智能体这幅画需要什么:给客栈加一盏灯笼,光从左边来,放在单独的图层上。
  2. 观察。它通过klad命令行作画,它的笔画大约一秒后就会出现在你的编辑器里。
  3. 指认。在画布上钉一条注释,或选中你指的部分(“这一侧多加点苔藓”)。智能体两者都会读取。
  4. 接手。你可以手动画任何地方,智能体的笔画和你自己的笔画一样。它的笔画会被标记为它自己的,每一次改动都是共享历史中的一步,所以你可以撤销其中任何一步。

起步用的提示词在试试。klad skill会打印出智能体技能,位于docs/skill/SKILL.md:如何查看一幅画、修改它并检查结果。第二个技能,klad skill drawing(docs/skill/drawing/SKILL.md),教授技艺:构思画面、形体上的光、明度、边缘、色彩、材质,以及如何评判结果。两者都是 MIT 许可,所以可以和任何智能体、任何工具一起使用。打开这幅画来观看并跟着画:

智能体画出什么,取决于智能体本身以及你对它的引导程度。这些技能教会它工具和一些技艺;剩下的靠你手中的笔。

致开发者:画作即数据

你在编辑器里能做的一切,都有一个klad命令也是如此,所以脚本或智能体可以在你打开的同一幅画上工作。它把笔画读取为 JSON,按地址修改其中任意一条,并以 JSON 操作的形式批量应用编辑。

要 在编辑器中 从脚本或智能体
绘制 B以及一支带压感的笔 klad stroke art.klad l4 --brush oil --path 'M100 400 C 300 200 500 600 700 400'
稍后修改笔画 S来选中它,然后重新上色、调整大小或移动;A弯曲它的路径 klad set art.klad c4:s12 size=3.5 color=#3355aa
读取现有内容 用以下方式指向它S klad strokes art.klad l4 --json
平涂颜色 G,在线条图层上填充 klad fill art.klad l2 --at 820,640 --ref lines --gap 4 --color skin
指向某个东西 N钉一条注释,S选中 klad notes art.klad,klad selection art.klad
中间帧 中间帧窗口 klad inbetween art.klad --layers lines,colour --from 0 --to 6
导出 cmd E,或从某个片段导出到 Godot klad export art.klad --godot ../game/art
撤销 cmd Z,或使用历史记录面板 klad undo art.klad

文件格式在 MIT 许可证下逐字节记录(docs/format.md),因此其他应用和引擎无论是否使用 klad 都能读写 klad 绘图。

为游戏而生

道具、角色、背景和逐帧动画。画出关键姿势,klad 会逐部件生成中间的画;它会检查弧线(一只滑动的脚、一个沉入地下的部件),从第一张画开始为每张画上色,并导出精灵表或一个 GodotSpriteFrames场景,包含每个片段的时序。

The creature's idle, on threes The creature's walk, on twos The courier's idle The courier's run

klad inbetween creature.klad --layers lines,colour --from 3 --to 5 --spacing in-out
klad arcs creature.klad --track 'lines:near leg' --clip walk --check
klad 导出 creature.klad --godot ../game/art

试一试

git clone https://github.com/klad-app/klad && cd klad
just compile                  #第一次大约十分钟
target/release/klad open      #在 Linux 上:target/linux/release/klad open

然后让你的智能体来画

  1. 把klad放到你的路径中,为你和你的智能体:target/release/klad install(在 Linux 上target/linux/release/klad install;在 Mac 上它可能会要求输入你的密码)。

  2. 在绘图应存放的文件夹中启动你的编码智能体(Claude Code、Codex 或任何能运行命令的工具),然后粘贴:

    运行klad skill和klad skill drawing并读取它们打印的内容。然后创建 scene.klad 并绘制一个夜景:一个戴兜帽的旅人举着灯笼伸向一座废墟拱门,一只小生物跟在后面,平涂着色并由灯笼照亮。

  3. 一旦它生成了scene.klad,在另一个终端中打开它以观看笔画落下,并一起绘制:klad open scene.klad。

  4. 然后引导它。按N在画布上钉一条注释(“这边多些苔藓”),并告诉智能体读取你的注释,或用S选中任意笔画并自行修改。

每个构建都包含klad命令行工具、编辑器、字体、许可证、智能体技能以及六幅可供查看和绘制的示例绘图(启动窗口会显示它们;klad samples列出它们并复制出一个)。首次启动会提供入门步骤:画一个形状、填充它,并把绘图交给智能体。其中的指南docs/guide/在编辑器中演示如何绘制、选择、填充、制作动画、绑定骨骼并导出,每次一个配方,从入门。

从源码构建

首次构建大约需要十分钟。

  1. 使用以下命令安装 Rust:rustup以及just(brew install just,或cargo install just)。在 Linux 上还需要pkg-config,libfreetype-dev,libfontconfig1-dev,libxkbcommon-dev以及libwayland-dev。
  2. git clone https://github.com/klad-app/klad && cd klad,然后just compile会为klad和klad-editor你当前所在的机器生成构建产物,位于target/release/(在 Linux 上位于target/linux/release/)。你构建的产物供自己使用,或者供你所在的公司使用(如果该公司去年营收低于 500,000 欧元,详见许可证)。
  3. target/release/klad open会在其起始窗口中启动编辑器:绘制一幅画并开始上色,或迈出第一步(Help > First steps in the editor)。
  4. target/release/klad install会将klad加入你的终端路径,供你和智能体使用(编辑器的文档菜单中有同样的功能,名为 "install the klad command")。
  5. just samples会在samples/中构建示例画作(一盏灯笼、一个行走的生物、一名奔跑的快递员、一处地下遗迹、一块客栈招牌、一棵树、一片草地、涂色实体、一碗柠檬以及用笔触覆盖的同一碗柠檬、一个弹跳的球、墨水示例);用target/release/klad open samples/lantern/lantern.klad打开其中一个。samples/shipped.json中列出的六个示例会显示在起始窗口中,并进入每次构建(packaging/samples.sh)。
  6. 在 Mac 上,just app会生成klad.app以及一个磁盘映像,位于dist/;just dist会将本机的构建打包为归档文件。每台机器为自己构建:Mac 构建 Mac 版本,Linux 构建 Linux 版本。

粗糙之处

  • 你需要自行构建。目前还没有安装程序。计划在源码相同的许可证下提供 macOS、Windows 和 Linux 的签名构建;在 klad.studio 留下你的邮箱,以便在它们就绪时收到通知。
  • 该编辑器是在 Mac 上开发的。在 Linux 上它可以启动,你可以用鼠标绘图:目前平板在那里还没有压感。在 Windows 上它可以构建且测试通过,但还没有人在那里绘制过,所以请告诉我们你看到的情况。
  • 一些插画基础功能尚缺失:同时选择多个形状、对齐与分布、吸附、网格,以及 SVG 导入和导出。
  • 骨骼是预览功能:其命令仍可能变化。
  • 随着 klad 的变化,画作仍能继续打开:新的格式版本会附带迁移。

在其上构建

  • docs/format.md:一幅画的文件格式,足以让任何程序读写它。
  • docs/cli.md:每条命令及其选项(klad <command> --help打印的内容相同)。
  • crates/client:klad-client,一个小型 Rust crate,用于运行 klad 命令、以 JSON 操作应用编辑并读回画作。
  • docs/DESIGN.md:klad 是如何构建的:CLI、笔刷引擎、渲染、编辑器、依赖项。
  • CONTRIBUTING.md:构建、测试、代码规则以及如何提交变更。
  • samples/:从零开始生成图纸的生成器,是查看这些操作实际使用的最佳位置。
just build      #klad CLI 和编辑器的发布构建
just 测试       #每个测试,以及 drawkit 检查
just lint       #rustfmt 和 clippy,警告视为错误
just audit      #许可证、RustSec 安全公告、来源以及声明均为最新
just samples    #构建示例图纸

许可证

klad 是源码可获取的,并非开源,版权归 Indicode BV 所有。

  • 该应用,即下一点中未列出的所有内容,依据PolyForm Internal Use License 1.0.0授权,并附带三项额外许可和一项限制(LICENSE):你可以将其用于个人目的,免费从源码构建,也可以在公司内部使用;你可以向 Indicode BV 提交变更以作为贡献提议;你用其制作的图纸归你所有,可以分享,包括 klad 复制到其中的画笔设置和图片。限制:某家公司(连同其控制或受其控制的公司计算)在上一纳税年度营收达到 500,000 欧元或以上,则每位为其使用 klad 的人员都需要购买许可证。你可以为这些用途构建和修改它;但你不得分发它,无论是源码还是构建产物。
  • 在 itch.io、Steam 或从 Indicode BV 购买构建产物,即可获得该购买许可证,且构建产物依据相同条款授权:源码和构建产物共用一个许可证,没有单独的最终用户许可证。
  • 这些文件依据 MIT 许可证(LICENSE-MIT)授权,因此任何程序或智能体都可以处理 klad 图纸:docs/format.md(文件格式)、docs/cli.md(命令参考)、docs/skill/(智能体技能)以及crates/client/(该klad-clientcrate)。
  • 贡献将依据贡献者许可协议(CLA.md)授权给 Indicode BV,以纳入 klad 及其售卖的构建产物中;参见CONTRIBUTING.md。

klad 构建于开源库、字体和 Skia 之上;它们的许可证位于THIRD-PARTY-NOTICES.md,也可通过klad licences以及编辑器的“关于”窗口查看。