{
  "_id": "6adb0479c9cc1e56bbac5365",
  "Package": "ggblend",
  "Title": "Blending and Compositing Algebra for 'ggplot2'",
  "Version": "0.1.2",
  "Date": "2025-10-03",
  "Authors@R": "person(\"Matthew\", \"Kay\", , \"mjskay@northwestern.edu\", role = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0001-9446-0419\"))",
  "Description": "Algebra of operations for blending, copying, adjusting,\nand compositing layers in 'ggplot2'. Supports copying and\nadjusting the aesthetics or parameters of an existing layer,\npartitioning a layer into multiple pieces for re-composition,\napplying affine transformations to layers, and combining layers\n(or partitions of layers) using blend modes (including\ncommutative blend modes, like multiply and darken). Blend mode\nsupport is particularly useful for creating plots with\noverlapping groups where the layer drawing order does not\nchange the output; see Kindlmann and Scheidegger (2014)\n<doi:10.1109/TVCG.2014.2346325>.",
  "License": "MIT + file LICENSE",
  "Language": "en-US",
  "Config/testthat/edition": "3",
  "BugReports": "https://github.com/mjskay/ggblend/issues",
  "URL": "https://mjskay.github.io/ggblend/,\nhttps://github.com/mjskay/ggblend",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Repository": "https://mjskay.r-universe.dev",
  "Date/Publication": "2025-10-04 17:30:45 UTC",
  "RemoteUrl": "https://github.com/mjskay/ggblend",
  "RemoteRef": "HEAD",
  "RemoteSha": "cada16eb0221b6b42d760f833ffa137d6c954a29",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-23 06:50:53 UTC",
    "User": "root"
  },
  "Author": "Matthew Kay [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0001-9446-0419>)",
  "Maintainer": "Matthew Kay <mjskay@northwestern.edu>",
  "_user": "mjskay",
  "_type": "src",
  "_file": "ggblend_0.1.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/95b08c3319e1f4b7e62be53c9746b4c7ab38ac9c1db12527e88ae4d0978bfb1e",
  "_filesize": 4965728,
  "_sha256": "95b08c3319e1f4b7e62be53c9746b4c7ab38ac9c1db12527e88ae4d0978bfb1e",
  "_expires": "2027-01-31T06:53:43.000Z",
  "_created": "2026-10-23T06:50:53.000Z",
  "_published": "2026-10-23T06:53:45.283Z",
  "_upstream": "https://github.com/mjskay/ggblend",
  "_status": "success",
  "_maintainer": {
    "name": "Matthew Kay",
    "email": "mjskay@northwestern.edu",
    "login": "mjskay",
    "mastodon": "@mjskay@fediscience.org",
    "bluesky": "@mjskay.com",
    "description": "Associate Professor at Northwestern; works on human-computer interaction, information visualization, communicating uncertainty",
    "uuid": 6345019,
    "orcid": "0000-0001-9446-0419"
  },
  "_jobs": [
    {
      "job": 120283421745,
      "time": 127,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12483988575"
    },
    {
      "job": 120283421769,
      "time": 120,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12483599775"
    },
    {
      "job": 120283421811,
      "time": 110,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12484082560"
    },
    {
      "job": 120283421730,
      "time": 123,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12483399241"
    },
    {
      "job": 120282435194,
      "time": 176,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12484415845"
    },
    {
      "job": 120283421831,
      "time": 89,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12483568187"
    },
    {
      "job": 120283421792,
      "time": 98,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12483933519"
    },
    {
      "job": 120283421778,
      "time": 86,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12484041830"
    },
    {
      "job": 120283421879,
      "time": 64,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12484575500"
    }
  ],
  "_buildurl": "https://github.com/r-universe/mjskay/actions/runs/39913709985",
  "_commit": {
    "id": "cada16eb0221b6b42d760f833ffa137d6c954a29",
    "author": "Matthew Kay <matthew.kay@gmail.com>",
    "committer": "Matthew Kay <matthew.kay@gmail.com>",
    "message": "add revdep to .Rbuildignore\n",
    "time": 1759599045
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2",
      "role": "Depends"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.4.0",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "fontquiver",
      "role": "Suggests"
    },
    {
      "package": "showtext",
      "role": "Suggests"
    },
    {
      "package": "sysfonts",
      "role": "Suggests"
    },
    {
      "package": "ggnewscale",
      "role": "Suggests"
    },
    {
      "package": "scales",
      "role": "Suggests"
    }
  ],
  "_owner": "mjskay",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 209,
  "_contributors": [
    {
      "user": "mjskay",
      "count": 83,
      "uuid": 6345019
    },
    {
      "user": "teunbrand",
      "count": 1,
      "uuid": 49372158
    }
  ],
  "_userbio": {
    "uuid": 6345019,
    "type": "user",
    "name": "Matthew Kay",
    "followers": 467,
    "description": "Associate Professor at Northwestern; works on human-computer interaction, information visualization, communicating uncertainty"
  },
  "_downloads": {
    "count": 510,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ggblend"
  },
  "_devurl": "https://github.com/mjskay/ggblend",
  "_pkgdown": "https://mjskay.github.io/ggblend/",
  "_searchresults": 135,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/ggblend.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/mjskay/ggblend",
  "_realowner": "mjskay",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2023-05-22"
    },
    {
      "version": "0.1.2",
      "date": "2025-10-05"
    }
  ],
  "_exports": [
    "adjust",
    "affine_transform",
    "as_layer_like",
    "as_layer_list",
    "blend",
    "copy_over",
    "copy_under",
    "format",
    "is_layer_like",
    "layer_list",
    "nop",
    "partition",
    "show"
  ],
  "_help": [
    {
      "page": "ggblend-package",
      "title": "Blending and compositing for ggplot2",
      "topics": [
        "ggblend-package",
        "ggblend"
      ]
    },
    {
      "page": "adjust",
      "title": "Adjust layer params and aesthetics (Layer operation)",
      "concept": [
        "layer operations"
      ],
      "topics": [
        "adjust",
        "adjust-class"
      ]
    },
    {
      "page": "affine_transform",
      "title": "Translate, scale, and rotate ggplot2 layers (Layer operation)",
      "concept": [
        "layer operations"
      ],
      "topics": [
        "affine_transform",
        "affine_transform-class"
      ]
    },
    {
      "page": "blend",
      "title": "Blend ggplot2 layers (Layer operation)",
      "concept": [
        "layer operations"
      ],
      "topics": [
        "blend",
        "blend-class"
      ]
    },
    {
      "page": "copy",
      "title": "Copy layers then adjust params and aesthetics (Layer operation)",
      "concept": [
        "layer operations"
      ],
      "topics": [
        "copy",
        "copy_over",
        "copy_under"
      ]
    },
    {
      "page": "layer_list",
      "title": "Lists of layer-like objects",
      "topics": [
        "+,layer_list,layer_list-method",
        "as_layer_list",
        "as_layer_list.LayerInstance",
        "as_layer_list.layer_list",
        "as_layer_list.list",
        "layer_list",
        "layer_list-class",
        "show,layer_list-method"
      ]
    },
    {
      "page": "layer-like",
      "title": "ggplot2 layer-like objects",
      "topics": [
        "as_layer_like",
        "as_layer_like.default",
        "as_layer_like.LayerInstance",
        "as_layer_like.layer_list",
        "as_layer_like.list",
        "is_layer_like",
        "layer",
        "layer-like"
      ]
    },
    {
      "page": "nop",
      "title": "Identity (\"no-op\") transformation (Layer operation)",
      "concept": [
        "layer operations"
      ],
      "topics": [
        "nop",
        "nop-class"
      ]
    },
    {
      "page": "operation_composition",
      "title": "Layer operation composition",
      "topics": [
        "operation_composition",
        "operation_composition-class"
      ]
    },
    {
      "page": "operation_product",
      "title": "Layer operation products",
      "topics": [
        "*,adjust,adjust-method",
        "*,ANY,operation-method",
        "*,nop,nop-method",
        "*,nop,operation-method",
        "*,nop,operation_sum-method",
        "*,numeric,operation-method",
        "*,operation,ANY-method",
        "*,operation,nop-method",
        "*,operation,numeric-method",
        "*,operation,operation-method",
        "*,operation,operation_sum-method",
        "*,operation_sum,nop-method",
        "*,operation_sum,operation-method",
        "*,operation_sum,operation_sum-method",
        "operation_product",
        "operation_product-class",
        "prod,operation-method"
      ]
    },
    {
      "page": "operation_sum",
      "title": "Layer operation sums",
      "topics": [
        "+,numeric,operation-method",
        "+,operation,numeric-method",
        "+,operation,operation-method",
        "format,operation_sum-method",
        "operation_sum",
        "operation_sum-class",
        "sum,operation-method"
      ]
    },
    {
      "page": "operation-class",
      "title": "Layer operations",
      "topics": [
        "format,adjust-method",
        "format,affine_transform-method",
        "format,blend-method",
        "format,nop-method",
        "format,operation-method",
        "format,operation_composition-method",
        "format,operation_product-method",
        "operation",
        "operation-class",
        "show,operation-method"
      ]
    },
    {
      "page": "partition",
      "title": "Partition a layer into subgroups (Layer operation)",
      "concept": [
        "layer operations"
      ],
      "topics": [
        "partition"
      ]
    }
  ],
  "_pkglogo": "https://github.com/mjskay/ggblend/raw/HEAD/man/figures/logo.svg",
  "_readme": "https://github.com/mjskay/ggblend/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_score": 6.149450058942079,
  "_indexed": true,
  "_nocasepkg": "ggblend",
  "_universes": [
    "mjskay"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-10-23T06:52:46.000Z",
      "distro": "resolute",
      "commit": "cada16eb0221b6b42d760f833ffa137d6c954a29",
      "fileid": "https://r2.ropensci.org/7cc12c96b3c521812ff92a74532f128bed3a62503cbb9c4034799e37533dd15e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mjskay/actions/runs/39913709985"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-10-23T06:52:49.000Z",
      "distro": "resolute",
      "commit": "cada16eb0221b6b42d760f833ffa137d6c954a29",
      "fileid": "https://r2.ropensci.org/bf13bb7893b6b1b440966e544dfc3c432ec0b4a121b5bcb8bd1e1e0abe96278c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mjskay/actions/runs/39913709985"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-10-23T06:52:35.000Z",
      "commit": "cada16eb0221b6b42d760f833ffa137d6c954a29",
      "fileid": "https://r2.ropensci.org/73759c1549e6f25bd23f4b4f1511ec2858c446f7ec9ce3d60969ee81f27b565e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mjskay/actions/runs/39913709985"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-10-23T06:52:41.000Z",
      "commit": "cada16eb0221b6b42d760f833ffa137d6c954a29",
      "fileid": "https://r2.ropensci.org/fb3f412a3fd4b5bad01d4b2314ae78198e9f06b98392b7cfded18e462ff34c51",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mjskay/actions/runs/39913709985"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.2",
      "date": "2026-10-23T06:52:41.000Z",
      "commit": "cada16eb0221b6b42d760f833ffa137d6c954a29",
      "fileid": "https://r2.ropensci.org/ec22bd76327bd53d9d9eeec34f361ed18174eca8eb909a257c3b7cb64b21a5b6",
      "status": "success",
      "buildurl": "https://github.com/r-universe/mjskay/actions/runs/39913709985"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-10-23T06:52:07.000Z",
      "commit": "cada16eb0221b6b42d760f833ffa137d6c954a29",
      "fileid": "https://r2.ropensci.org/92dc093d1ee3d6b240ed054715fd3f47f8b1c2c4139d115daae11ca40cec6da9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mjskay/actions/runs/39913709985"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-10-23T06:51:59.000Z",
      "commit": "cada16eb0221b6b42d760f833ffa137d6c954a29",
      "fileid": "https://r2.ropensci.org/8ea99b479bf4d5858eb63005617a3283180863741a06122467468b28e9c68550",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mjskay/actions/runs/39913709985"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-10-23T06:51:51.000Z",
      "commit": "cada16eb0221b6b42d760f833ffa137d6c954a29",
      "fileid": "https://r2.ropensci.org/53da618f1537071621028c821bd313f4017bf02ea43f922f6945a0a3ded82ee9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mjskay/actions/runs/39913709985"
    }
  ]
}