Skip to Content
klad

Changelog

Unreleased

The first builds, and klad's licences.

  • A new icon, painted in klad: a K in two brush strokes.
  • Drawings are .klad folders in a fresh format, klad/6 (drawings from the first builds open as they are, except their bones, which are dropped). Drawings from before (.draw folders) do not open and are not converted.
  • Drawings live well in git: an edit changes only the files of what it edits (doc.json keeps no revision or id counter), and copies of a drawing edited apart, in a clone or a worktree, never make the same id, so edits to different layers merge. New ids end in the copy's two-letter tag (l48qa, c12:s349qa); klad info shows it. The editor follows a git checkout of an open drawing, and klad never renders an old picture from its cache after one. Recolouring several strokes or fills at once (the selection bar in the editor, or klad recolour) moves them to the new colour together and keeps each one's own shade, so a painted-over area stays painted. If a merge still leaves an id used twice, klad repair (or Repair and open when the drawing won't open) gives every later one a new id and moves its stroke files along.
  • Erasers, smudges and blends stay with the strokes they were drawn over: move, copy or delete the strokes and they come along (or split, when only some of the strokes move), and an eraser erases only its own strokes, so moving them never bites into the paint they land on. The selection bar shows what is attached, "attached only" moves it on its own (it attaches to what it lands on), and detach frees it (klad detach); a stroke its erasers wipe out completely is skipped by clicks and the lasso. klad strokes --json lists on, attached and hidden. Stroke files move to version 2 (format klad/6); older drawings open with nothing attached.
  • Bending a stroke with the point tool bends what is attached to it. The eraser has a feather slider in the brush bar, for the pen's eraser end too: its edge fades out like an airbrush. Brushes take feather and fringe (an edge frayed into streaks along the stroke, like a dry brush), in the brush window and in klad brushes --set.
  • klad is source-available, not open source: the app is under the PolyForm Internal Use License 1.0.0, with permission for personal use (building from source is free for it), to propose contributions and to share the drawings you make (LICENSE). Companies with 100,000 euros or more in revenue a year buy a licence for each person who uses klad; a bought build is that licence, under the same terms. The file format (docs/format.md), the command reference (docs/cli.md), the agent skill and the new klad-client crate are MIT (LICENSE-MIT), so any program or agent can read, write and make klad drawings. Contributions come in under a contributor licence agreement (CLA.md).
  • klad-client: run klad from Rust, apply edits as JSON ops, read drawings back as JSON, render them.
  • Builds for macOS (an app, Apple silicon and Intel in one) and Windows, sold on itch.io; Linux from source. Each has the klad command line, the editor, the fonts, the licences and the agent skill.
  • The editor runs on Windows and Linux (klad open, or klad-editor), with the platform's open dialog; pens that report pressure through the system (Windows) draw with it.
  • On a Mac, .klad drawings show in Finder as one item and open in klad with a double click.
  • klad install (and "install the klad command" in the editor's document menu) puts klad on the terminal's path, for you and for agents. klad skill prints the agent skill.
  • The editor checks once a day whether a newer version is out and says so, with a link to what changed (off in the settings window); About's "check now" and klad updates check on demand and say why a check failed.
  • klad --version, About and the start window show the version and the commit a build was made from; just build counts the version up for every build.
  • In-betweens blend colours evenly (in OKLab), so light can follow a turning limb when the second key is coloured for it.
  • klad arcs follows the part of a foot on the ground: a heel-to-toe roll is no longer reported as a slide.
  • Help > Report a problem shows the report before it is copied (version, system, the last messages and lines of klad's log, with your home folder hidden) and can zip the drawing to attach; klad report prints the same. Errors and crashes are kept in a small log for it.
  • Nothing in the editor names klad's internal ids: the status line, layer settings, selections, the in-between window, undo and the history say layers by name and drawings by frame, the timeline numbers each layer's drawings 1, 2, 3, and a new layer is called "paint 1" instead of by its id. The numbers window (timings) moves behind Settings > Layout > developer tools, off by default.
  • The format promise: from 1.0, a drawing saved by any release opens in every later one with nothing lost. Each release keeps copies of the samples it saved, and the tests open them all with each new build.
  • Help > Guides and Help > What's new open klad's guides and this changelog on klad.studio; the welcome on the start window links the guides too.
  • Support by email: Help > Contact support opens an email to [email protected] with the version and your system filled in; Report a problem can email its report there too, and About links klad.studio and the address. Crash messages name the address as well as the issues page.
  • Messages say what happened and what to do next; when klad itself goes wrong it says so, and that your work is saved.
  • Bones: a bones layer holds a skeleton (klad bone, the bone tool J), weights from the bones or painted (klad weights), and poses that bend the drawing (klad pose, pose mode); in-betweens of two poses turn the bones. The bone tool lists the skeleton, picks a bone in every mode, and moves ends, joints and whole bones with their children (klad bone --move with --by).
  • Transform a whole layer or group: cmd T puts handles round it, and a drag moves, turns or scales every drawing on it, its shapes, and its bones and poses (klad transform --layer).
  • Bones live on a bones layer (Layer > New bones layer, or the first bone you draw makes one; klad add <file> layer bones). Any paint layer in the drawing joins it: attached to a bone it moves with that bone alone, as a cut-out, so a character drawn in pieces needs no weights; or it bends with the skeleton by the weights (klad attach, the picked bone's layers menu, or the bone button on a layer's row). Pose mode shows the drawing posed as you drag; "make this pose a drawing" keeps it.
  • Bones are a preview: the bone tool, Layer > New bones layer, the bones guide and the help of klad bone, attach, pose and ik say so. Posing may still change; drawings keep their rigs when it does.
  • Bones are drawn as chains: letting go of a bone starts the next one from its end, each click adds one, shift fans them from one joint, Esc ends the chain (klad bone --chain).
  • IK: a bone and its parent become a limb (or a bone alone an aim) that reaches for a target, bending the way it is drawn, with softness so knees do not snap straight (klad ik, the bone tool's options). In pose mode, drag a limb's end and the limb follows; move the whole by a root bone's head and planted feet stay where they are (klad pose --target, --mix); in-betweens keep them planted. Exports to Godot carry the solved turns.
  • A first start: the start window welcomes, offers first steps (draw a shape, fill it, hand the drawing to an agent, ticked off as you go; Help > First steps opens them again) and six sample drawings that open as copies (klad samples lists and copies them).
  • Picking strokes takes what you see: the topmost layer that shows paint under the pen and the mark covering the point, on all layers or this layer only (the S and V options).
  • A selected shape takes the colour as its fill or its outline (the shape's bar, Edit > Shape).
  • Alt click on a layer's eye shows only that layer, and again the rest as it was (klad solo).
  • Menus: a menu bar (the Mac's own, an in-window one on Windows and Linux) holds every command in File, Edit, Tools, Layer, Frame, Animation, View, Window and Help, with short labels, its keys, ticks for what is on and greyed items for what cannot run now; File has close (cmd W) and recent drawings.
  • Keys: layers, groups and shapes move, turn, scale and fade between frames with eases (klad key, the keys section of layer settings).
  • Godot: --godot-rig exports a Skeleton2D with Polygon2D parts and the poses as animations; --godot-scene a parallax scene with a Parallax2D per depth plane.
  • klad paintover (and "paint over" in the layers panel): brushwork from any picture, strokes that follow its forms and stop at its colour edges, big to small, detail where the picture has it; --like and --frames carry it through an animation without boiling.
  • klad compare (and "compare with the reference" in the editor): a drawing against a reference picture in numbers and words, with a heat map.
  • Large stills render several times faster: strokes land only where they painted, and the CLI replays a drawing's tiles on every core (same pixels).
  • Dragging in a large drawing: shapes and strokes move under the pointer from the first move, wherever they are (in groups with effects, clipped, masked, under any blend), drawn in the background tile by tile; the layers above and the rest of the dragged layer stay in place (dragging a shape on the topmost layer no longer hid the shapes above it), and letting go redraws only the tiles the move touched.
  • Edits on vector layers redraw only the tiles their shapes covered before and after, not the whole layer.
  • Noise and haze no longer make every edit redraw the tiles around it.
  • Drawings with many clipped layers and groups redraw several times faster: each tile skips the stacks that have nothing in it.
  • A tap that wobbles selects a shape or strokes without nudging them: a drag starts once the pointer has moved 3 points on screen.
  • The numbers panel shows how long the canvas takes each frame, next to the rest of the interface.
  • Switching layers no longer redraws the whole canvas when nothing on it changes.
  • Fixed tiles that could stay blank or out of date when a panel or popup was laid out for the first time while the canvas was being redrawn.

0.1.0 (2026-11-04)

The first public version: the klad command line on macOS and Linux and the editor on macOS, built from source.

From CHANGELOG.md in klad at main (71b9150).

Edit on GitHub

On this page