Skip to content

0.0.18 (JUN 13, 2025)

Pre-release
Pre-release

Choose a tag to compare

@pearmini pearmini released this 14 Jun 03:02

What's Changed

Optimize and simplify APIs:

example
import * as cm from "charmingjs";

function circles(x, y, r, data = []) {
  if (r < 16) return;
  data.push({x, y, r});
  circles(x - r / 2, y, r * 0.5, data);
  circles(x + r / 2, y, r * 0.5, data);
  circles(x, y - r / 2, r * 0.5, data);
  circles(x, y + r / 2, r * 0.5, data);
  return data;
}

const svg = cm.render({
  width: 480,
  height: 480,
  marks: [
    cm.svg("circle", circles(240, 240, 200), {
      cx: (d) => d.x,
      cy: (d) => d.y,
      r: (d) => d.r,
      stroke: "black",
      fill: "transparent",
    }),
  ],
});

document.body.appendChild(svg);

Full Changelog: charming-art/charming@v0.0.17...v0.0.18