klad
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에서 이 그림들을 획 단위로 재생해 볼 수 있습니다.
- 라이선스: source-available이며, open source는 아닙니다. 수익이 연간 50만 유로 미만인 자신이나 회사 내부에서 자유롭게 구축하고 사용할 수 있습니다. Licence를 참조하세요.
- 지원 환경: macOS (펜 압력 및 기울기 지원). 또한 Linux와 Windows에서도 빌드되고 테스트를 통과하며, 변경 사항이 있을 때마다 확인됩니다. 현재 편집기는 Linux에서 마우스를 사용하여 시작할 수 있으며, 아직 아무도 Windows에서 사용해 본 적은 없습니다.
- 상태: 초기 단계입니다. 이것은 첫 번째 공개 버전이며, 직접 구축해야 합니다: From source를 참조하세요.
그냥 그림을 생성하는 것이 왜 안 되나요?
이미지 생성기는 픽셀을 제공하고, 남은 유일한 수정은 주사위를 다시 굴리는 것과 같습니다. klad는 모든 스트로크와 모든 채우기를 데이터로 유지합니다: 어디로 갔는지, 얼마나 세게 눌렸는지, 어떤 브러시였는지, 색상이 무엇이었는지. 몇 시간 후에 당신의 것이든 에이전트의 것이든 그중 아무거나 골라 다시 색칠하거나, 구부리거나, 이동시키거나, 삭제할 수 있습니다.
- 단순한 벡터가 아닌 페인트입니다. 스트로크는 벡터처럼 경로(path)와 압력(pressure)을 유지하면서도 여전히 페인트로 나타납니다. 유화 물감은 빛을 반사하는 능선(ridges)을 남기고, 스머지(smudge)는 이미 레이어에 있는 페인트를 끌고 갑니다. 이 스머지도 스트로크로 남아있습니다: 나중에 이동시키면 klad가 다시 그 자리에 도착하며 블렌딩합니다.
- 순수하게 벡터 작업도 할 수 있습니다. 포스터, 표지 및 카드에 사용할 수 있도록 편집 가능한 포인트(points), 그라디언트(gradient), 글로우(glow), 그리고 자체적으로 제공되는 약 50가지 오픈 폰트에 실제 텍스트를 가진 도형을 만들 수 있습니다.
- 완벽한 페인팅 및 애니메이션 앱입니다. 24가지 브러시와 브러시 에디터, 레이어(layers), 마스크(masks), 클리핑(clipping), 효과(effects), 양파껍질(onion skins)과 클립이 있는 타임라인, 키 드로잉에서 생성된 인비트윈(in-betweens), IK가 적용된 본(bones), 그리고 PNG, 스프라이트 시트(sprite sheets) 또는 Godot으로 바로 내보내기 기능을 제공합니다.
- 당신의 드로잉은 당신의 것입니다. 드로잉은 컴퓨터에 있는 일반 파일들의 폴더이며, klad는 계정이 필요하지 않습니다. 하루에 한 번만 새 버전을 확인하며, 이 기능을 끌 수 있습니다. 수정 사항은 편집하는 부분의 파일만 변경하므로, 드로잉을 git에서 관리하기 좋습니다.
에이전트와 작업하기
- 요청합니다 (Ask). 드로잉에 필요한 것을 평범한 말로 에이전트에게 알려줍니다: 여관을 위한 등불, 왼쪽에서 빛나게, 별도의 레이어에 배치.
- 지켜봅니다 (Watch).
klad 명령줄을 통해 페인팅이 진행되고, 그 스트로크가 약 1초 후에 에디터에 나타납니다.
- 지정합니다 (Point). 캔버스에 메모를 고정하거나 의도하는 부분을 선택합니다("이쪽 면에 이끼를 더 많이"). 에이전트는 둘 다 읽습니다.
- 인계받습니다 (Take over). 당신이 원하는 것을 손으로 다시 그리거나, 에이전트의 스트로크와 마찬가지로 자신의 스트로크를 그립니다. 에이전트의 스트로크는 자체 것으로 표시되며 모든 변경 사항은 공유된 히스토리의 한 단계가 되므로, 무엇이든 되돌릴 수 있습니다.
시작 프롬프트는 Try it에서 확인할 수 있습니다. klad skill은 에이전트 스킬을 docs/skill/SKILL.md에 출력합니다: 그림을 보는 방법, 수정하는 방법 및 결과를 확인하는 방법을 다룹니다. 두 번째인 klad skill drawing (docs/skill/drawing/SKILL.md)은 기술 자체를 가르칩니다: 그림 기획, 형태의 빛(light on form), 명암(values), 윤곽선(edges), 색상(colour), 재료 및 결과를 판단하는 방법을 다룹니다. 둘 다 MIT이므로 어떤 에이전트와 어떤 도구에도 사용할 수 있습니다. 그림을 열어보며 따라 그려보세요:
에이전트가 무엇을 그릴지는 에이전트 자체와 사용자가 얼마나 많은 지침(steer)을 주느냐에 달려 있습니다. 이 스킬들은 에이전트에게 도구와 일부 기술을 가르쳐줄 뿐이며, 나머지 작업은 당신의 손에 있는 펜이 담당합니다.
개발자를 위한 기능: 그림은 데이터입니다
편집기에서 할 수 있는 모든 것은 klad 명령어를 가지고 있으므로, 스크립트나 에이전트는 열려있는 동일한 그림을 대상으로 작동할 수 있습니다. 이 명령어는 스트로크를 JSON으로 읽고, 주소(address)를 통해 어떤 것이든 변경하며, JSON 연산(JSON ops) 형태로 일괄 편집을 적용합니다.
| 기능 | 편집기에서 | 스크립트 또는 에이전트에서 |
|---|
| 페인팅 | B와 압력 있는 펜 | klad stroke art.klad l4 --brush oil --path 'M100 400 C 300 200 500 600 700 400' |
| ... | | |
The 파일 형식은 MIT 라이선스 하에 바이트 단위까지 문서화되어 있습니다 (docs/format.md), 따라서 다른 앱이나 엔진도 klad의 유무와 관계없이 klad 그림을 읽고 쓸 수 있습니다.
게임 제작자를 위해 만들어졌습니다
소품(Props), 캐릭터, 배경 및 프레임별 애니메이션에 사용됩니다. 핵심 포즈를 그리고, klad가 그 사이의 그림들을 부분적으로 그려줍니다. 이는 아크(arcs) (미끄러지는 발, 땅속으로 가라앉는 부분 등)를 확인하고, 첫 번째 그림부터 모든 그림에 색상을 입히며, 각 클립의 타이밍과 함께 스프라이트 시트 또는 Godot SpriteFrames 씬을 내보냅니다.
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 export creature.klad --godot ../game/art
사용해보기
에이전트로 그림 그리기
-
사용자 본인과 에이전트 모두를 위해 'klad'를 경로(path)에 설정합니다: target/release/klad install (Linux의 경우 target/linux/release/klad install; Mac에서는 비밀번호를 요청할 수 있습니다).
-
그림이 그려질 폴더에서 코딩 에이전트(Claude Code, Codex 또는 명령을 실행할 수 있는 다른 도구)를 시작하고 다음 내용을 붙여넣습니다:
klad skill과 klad skill drawing을 실행하고 출력되는 내용을 읽으세요. 그런 다음 scene.klad 파일을 만들고 밤 풍경화(후드를 쓴 여행자가 등불을 들고 무너진 아치로 비추는 모습, 그 뒤를 작은 생명체가 따라오는 모습, 평면적인 음영 처리와 등불 빛으로 조명된)를 그려보세요.
-
에이전트가 scene.klad 파일을 만든 후, 다른 터미널에서 열어 획(strokes)이 그려지는 것을 확인하고 따라 그리세요: klad open scene.klad.
-
그런 다음 방향을 제시합니다. 캔버스에 메모를 고정(pin)하려면 N을 누르고("이쪽에도 이끼가 더 필요해"와 같은 내용) 에이전트에게 메모를 읽도록 지시하거나, S로 원하는 획을 선택하여 직접 수정할 수 있습니다.
모든 빌드에는 'klad' 명령줄 도구(command line tool), 에디터, 폰트, 라이선스, 에이전트 스킬, 그리고 보고 보거나 그릴 수 있는 여섯 개의 샘플 그림이 포함되어 있습니다 (시작 창에 표시됩니다; klad samples는 이들을 나열하고 하나를 복사합니다). 첫 시작은 기본적인 단계를 제공합니다: 모양을 그리고(draw), 채우고(fill), 에이전트에게 그림을 전달하는 것입니다. docs/guide/의 가이드에서는 'Getting started' (docs/guide/getting-started.md)부터 시작하여, 에디터에서 페인팅, 선택, 채우기, 애니메이션화(animate), 리깅(rig), 내보내기(export) 방법을 한 가지 레시피씩 보여줍니다.
소스 코드로 빌드하기
처음 빌드는 약 10분이 걸립니다.
- rustup을 사용하여 Rust를 설치하고
just를 설치합니다 (brew install just 또는 cargo install just). Linux의 경우, 또한 pkg-config, libfreetype-dev, libfontconfig1-dev, libxkbcommon-dev, 그리고 libwayland-dev가 필요합니다.
git clone https://github.com/klad-app/klad && cd klad를 실행한 후, just compile을 사용하면 현재 기계용으로 klad와 klad-editor가 target/release/에 생성됩니다 (Linux의 경우 target/linux/release/). 빌드하는 결과물은 본인의 용도 또는 작년에 매출이 50만 유로 미만이었던 회사의 용도로 사용될 수 있습니다 (라이선스 Licence 참조).
target/release/klad open을 실행하면 에디터가 시작 창에서 열립니다: 그림을 그리고 페인팅을 시작하거나, 첫 단계를 진행할 수 있습니다 (도움말 > 에디터의 첫 단계).
target/release/klad install은 klad를 터미널 경로에 설치하여 사용자 본인과 에이전트 모두가 사용할 수 있게 합니다 (에디터의 문서 메뉴는 'klad 명령어 설치'와 동일합니다).
just samples는 samples/ 디렉토리에 샘플 그림들(등불, 걷는 생명체, 달리는 택배원, 지하 유적, 여관 간판, 나무, 초원, 채색된 고체물, 레몬 그릇과 브러시 작업으로 다시 채색한 것, 튀어 오르는 공, 잉크 예제)을 빌드합니다. 이 중 하나를 target/release/klad open samples/lantern/lantern.klad로 열 수 있습니다. samples/shipped.json에 나열된 여섯 가지는 시작 창에 표시되며 모든 빌드(packaging/samples.sh)에 포함됩니다.
- Mac의 경우,
just app은 dist/ 디렉토리에 klad.app과 디스크 이미지를 생성합니다. just dist는 이 기계의 빌드를 아카이브로 패키징합니다. 각 기계는 자신을 위해 빌드합니다: Mac은 Mac 버전을, Linux는 Linux 버전을 만듭니다.
초기 개발 단계 (What's rough)
- 직접 빌드해야 합니다. 아직 설치 프로그램은 없습니다. macOS, Windows 및 Linux용 서명된 빌드가 소스와 동일한 라이선스로 계획되어 있습니다. 준비가 되면 [klad.studio]에 이메일을 남겨주세요.
- 에디터는 Mac에서 제작되었습니다. Linux에서는 시작하고 마우스로 그림을 그릴 수 있지만, 태블릿 압력 기능은 아직 지원되지 않습니다. Windows에서는 빌드되고 테스트를 통과했지만, 아무도 이 환경에서 사용해 보지 않았으니 여러분의 의견을 알려주세요.
- 몇 가지 기본적인 일러스트레이션 기능이 부족합니다: 여러 도형 동시 선택, 정렬 및 분배(align and distribute), 스내핑(snapping), 그리드(grid), 그리고 SVG 가져오기 및 내보내기.
- 본(Bones) 기능은 미리 보기 버전입니다: 해당 명령어는 여전히 변경될 수 있습니다.
- Klad가 변경됨에 따라 그림 파일이 계속 열리면서 새로운 포맷 버전과 함께 마이그레이션(migration)이 제공됩니다.
구축하기 (Building on it)
docs/format.md: 그림 파일의 포맷으로, 어떤 프로그램에서든 읽고 쓸 수 있을 만큼 충분합니다.
docs/cli.md: 모든 명령어와 그 옵션들(klad <명령어> --help를 실행하면 동일한 내용이 출력됩니다).
crates/client: klad-client. Klad 명령을 실행하고, 편집 내용을 JSON 연산(ops)으로 적용하며, 그림 파일을 다시 읽어오는 작은 Rust 크레이트입니다.
docs/DESIGN.md: Klad가 어떻게 구축되었는지 설명합니다: CLI, 브러시 엔진(brush engine), 렌더링(rendering), 에디터, 그리고 의존성들입니다.
CONTRIBUTING.md: 빌드, 테스트, 코드 규칙 및 변경 사항을 제출하는 방법에 관한 내용입니다.
samples/: 처음부터 그림을 만드는 생성기들로, 연산(ops)이 실제로 사용되는 것을 볼 수 있는 가장 좋은 장소입니다.
just build
just test
just lint
...
라이선스 (Licence)
Klad는 오픈 소스(open source)가 아닌 소스 사용 가능(source-available)하며, 저작권은 Indicode BV에 있습니다.