{
  "_id": "6a1d691a1d7bb097a0a4ea1d",
  "Package": "ggfx",
  "Title": "Pixel Filters for 'ggplot2' and 'grid'",
  "Version": "1.0.3.9000",
  "Authors@R": "c(person(given = \"Thomas Lin\",\nfamily = \"Pedersen\",\nrole = c(\"aut\", \"cre\"),\nemail = \"thomasp85@gmail.com\",\ncomment = c(ORCID = \"0000-0002-5147-4711\")),\nperson(given = \"RStudio\",\nrole = c(\"cph\", \"fnd\")))",
  "Description": "Provides a range of filters that can be applied to layers\nfrom the 'ggplot2' package and its extensions, along with other\ngraphic elements such as guides and theme elements. The filters\nare applied at render time and thus uses the exact pixel\ndimensions needed.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "URL": "https://ggfx.data-imaginist.com, https://github.com/thomasp85/ggfx",
  "BugReports": "https://github.com/thomasp85/ggfx/issues",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "libfontconfig1-dev libfreetype6-dev libfribidi-dev\nlibharfbuzz-dev libmagick++-dev gsfonts libicu-dev libjpeg-dev\nlibpng-dev libtiff-dev libwebp-dev libssl-dev",
  "Repository": "https://thomasp85.r-universe.dev",
  "Date/Publication": "2025-09-04 06:23:14 UTC",
  "RemoteUrl": "https://github.com/thomasp85/ggfx",
  "RemoteRef": "HEAD",
  "RemoteSha": "ccc7ba2509a5ceabbe436c7b6a986198e61d6364",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-01 11:05:05 UTC",
    "User": "root"
  },
  "Author": "Thomas Lin Pedersen [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-5147-4711>),\nRStudio [cph, fnd]",
  "Maintainer": "Thomas Lin Pedersen <thomasp85@gmail.com>",
  "MD5sum": "432430eba27b6a00582a56775011add5",
  "_user": "thomasp85",
  "_type": "src",
  "_file": "ggfx_1.0.3.9000.tar.gz",
  "_fileid": "060f2832f601a8018a3a32483a463b8512bdcc8871bfddc458fd23f1a16df64b",
  "_filesize": 1533360,
  "_sha256": "060f2832f601a8018a3a32483a463b8512bdcc8871bfddc458fd23f1a16df64b",
  "_created": "2026-06-01T11:05:05.000Z",
  "_published": "2026-06-01T11:12:26.480Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78838905442,
      "time": 200,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7329886440"
    },
    {
      "job": 78838905500,
      "time": 149,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7329871468"
    },
    {
      "job": 78838905447,
      "time": 99,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7329933292"
    },
    {
      "job": 78838905445,
      "time": 143,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7329948659"
    },
    {
      "job": 78838160190,
      "time": 277,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7329824629"
    },
    {
      "job": 78838905425,
      "time": 118,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7329861506"
    },
    {
      "job": 78838905506,
      "time": 124,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7329863721"
    },
    {
      "job": 78838905448,
      "time": 80,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7329849853"
    },
    {
      "job": 78838905456,
      "time": 107,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7329858187"
    }
  ],
  "_buildurl": "https://github.com/r-universe/thomasp85/actions/runs/26750823599",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/thomasp85/ggfx",
  "_commit": {
    "id": "ccc7ba2509a5ceabbe436c7b6a986198e61d6364",
    "author": "Thomas Lin Pedersen <thomasp85@gmail.com>",
    "committer": "Thomas Lin Pedersen <thomasp85@gmail.com>",
    "message": "Increment version number to 1.0.3.9000\n",
    "time": 1756966994
  },
  "_maintainer": {
    "name": "Thomas Lin Pedersen",
    "email": "thomasp85@gmail.com",
    "login": "thomasp85",
    "mastodon": "@thomasp85@fosstodon.org",
    "linkedin": "in/thomasp85",
    "orcid": "0000-0002-5147-4711",
    "twitter": "@thomasp85",
    "description": "Maker of tools focusing on data science and data visualisation",
    "uuid": 1775316
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "magick",
      "version": ">= 2.7.1",
      "role": "Imports"
    },
    {
      "package": "ragg",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "gtable",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "farver",
      "version": ">= 2.1.0",
      "role": "Suggests"
    }
  ],
  "_owner": "thomasp85",
  "_selfowned": true,
  "_usedby": 3,
  "_updates": [
    {
      "week": "2025-30",
      "n": 12
    },
    {
      "week": "2025-36",
      "n": 8
    }
  ],
  "_tags": [
    {
      "name": "v1.0.2",
      "date": "2025-07-24"
    },
    {
      "name": "v1.0.3",
      "date": "2025-09-03"
    }
  ],
  "_topics": [
    "filters",
    "ggplot2",
    "graphics"
  ],
  "_stars": 176,
  "_contributors": [
    {
      "user": "thomasp85",
      "count": 130,
      "uuid": 1775316
    },
    {
      "user": "erictleung",
      "count": 1,
      "uuid": 2754821
    },
    {
      "user": "jeroen",
      "count": 1,
      "uuid": 216319
    },
    {
      "user": "teunbrand",
      "count": 1,
      "uuid": 49372158
    }
  ],
  "_userbio": {
    "uuid": 1775316,
    "type": "user",
    "name": "Thomas Lin Pedersen",
    "description": "Maker of tools focusing on data science and data visualisation"
  },
  "_downloads": {
    "count": 1554,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ggfx"
  },
  "_devurl": "https://github.com/thomasp85/ggfx",
  "_pkgdown": "https://ggfx.data-imaginist.com",
  "_searchresults": 568,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/ggfx.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/thomasp85/ggfx",
  "_realowner": "thomasp85",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2021-03-31"
    },
    {
      "version": "1.0.1",
      "date": "2022-08-22"
    },
    {
      "version": "1.0.2",
      "date": "2025-07-24"
    },
    {
      "version": "1.0.3",
      "date": "2025-09-03"
    }
  ],
  "_exports": [
    "as_colourspace",
    "as_group",
    "as_reference",
    "blend_custom_raster",
    "blend_raster",
    "bloom_raster",
    "blur_raster",
    "ch_alpha",
    "ch_black",
    "ch_blue",
    "ch_chroma",
    "ch_custom",
    "ch_cyan",
    "ch_green",
    "ch_hue",
    "ch_key",
    "ch_lightness",
    "ch_luminance",
    "ch_magenta",
    "ch_red",
    "ch_saturation",
    "ch_yellow",
    "convolve_grob",
    "current_resolution",
    "displace_raster",
    "dither_raster",
    "from_pixels",
    "get_raster_area",
    "get_viewport_area",
    "index_raster",
    "inner_glow_raster",
    "interpolate_raster",
    "mask_raster",
    "motion_blur_raster",
    "ordered_dither_raster",
    "outer_glow_raster",
    "ras_fill",
    "ras_fit",
    "ras_place",
    "ras_stretch",
    "ras_tile",
    "set_raster_area",
    "set_viewport_area",
    "shade_raster",
    "to_pixels",
    "variably_blur_raster",
    "viewport_is_clipping",
    "viewport_location",
    "with_blend",
    "with_blend_custom",
    "with_bloom",
    "with_blur",
    "with_circle_dither",
    "with_custom",
    "with_custom_dither",
    "with_displacement",
    "with_dither",
    "with_halftone_dither",
    "with_inner_glow",
    "with_interpolate",
    "with_kernel",
    "with_mask",
    "with_motion_blur",
    "with_ordered_dither",
    "with_outer_glow",
    "with_raster",
    "with_shade",
    "with_shadow",
    "with_variable_blur"
  ],
  "_help": [
    {
      "page": "as_colourspace",
      "title": "Collect channels into a single layer of a specific colourspace",
      "concept": [
        "layer references"
      ],
      "topics": [
        "as_colourspace"
      ]
    },
    {
      "page": "as_group",
      "title": "Collect layers into a group that can be treated as a single layer",
      "concept": [
        "layer references"
      ],
      "topics": [
        "as_group"
      ]
    },
    {
      "page": "as_reference",
      "title": "Create a reference to a layer for use in other filters",
      "concept": [
        "layer references"
      ],
      "topics": [
        "as_reference"
      ]
    },
    {
      "page": "channel_spec",
      "title": "Set a channel of interest from a layer",
      "topics": [
        "Channels",
        "ch_alpha",
        "ch_black",
        "ch_blue",
        "ch_chroma",
        "ch_custom",
        "ch_cyan",
        "ch_green",
        "ch_hue",
        "ch_key",
        "ch_lightness",
        "ch_luminance",
        "ch_magenta",
        "ch_red",
        "ch_saturation",
        "ch_yellow"
      ]
    },
    {
      "page": "object_support",
      "title": "Supported object types",
      "topics": [
        "object_support"
      ]
    },
    {
      "page": "raster_placement",
      "title": "Control placements of raster in the plot",
      "topics": [
        "raster_placement",
        "ras_fill",
        "ras_fit",
        "ras_place",
        "ras_stretch",
        "ras_tile"
      ]
    },
    {
      "page": "render_context",
      "title": "Rendering information",
      "topics": [
        "current_resolution",
        "from_pixels",
        "get_raster_area",
        "get_viewport_area",
        "index_raster",
        "render_context",
        "set_raster_area",
        "set_viewport_area",
        "to_pixels",
        "viewport_is_clipping",
        "viewport_location"
      ]
    },
    {
      "page": "with_blend",
      "title": "Blend a layer with a reference",
      "concept": [
        "blend filters"
      ],
      "topics": [
        "with_blend"
      ]
    },
    {
      "page": "with_blend_custom",
      "title": "Create a custom blend type",
      "concept": [
        "blend filters"
      ],
      "topics": [
        "with_blend_custom"
      ]
    },
    {
      "page": "with_bloom",
      "title": "Apply bloom to your layer",
      "topics": [
        "with_bloom"
      ]
    },
    {
      "page": "with_blur",
      "title": "Apply a gaussian blur to your layer",
      "concept": [
        "blur filters"
      ],
      "topics": [
        "with_blur"
      ]
    },
    {
      "page": "with_ordered_dither",
      "title": "Dither image using a threshold dithering map",
      "concept": [
        "dithering filters"
      ],
      "topics": [
        "with_circle_dither",
        "with_custom_dither",
        "with_halftone_dither",
        "with_ordered_dither"
      ]
    },
    {
      "page": "with_custom",
      "title": "Apply a custom filter",
      "topics": [
        "with_custom"
      ]
    },
    {
      "page": "with_displacement",
      "title": "Apply a displacement map to a layer",
      "topics": [
        "with_displacement"
      ]
    },
    {
      "page": "with_dither",
      "title": "Dither image using Floyd-Steinberg error correction dithering",
      "concept": [
        "dithering filters"
      ],
      "topics": [
        "with_dither"
      ]
    },
    {
      "page": "with_inner_glow",
      "title": "Apply an inner glow to your layer",
      "concept": [
        "glow filters"
      ],
      "topics": [
        "with_inner_glow"
      ]
    },
    {
      "page": "with_interpolate",
      "title": "Blend two layerrs together by averaging them out",
      "concept": [
        "blend filters"
      ],
      "topics": [
        "with_interpolate"
      ]
    },
    {
      "page": "with_kernel",
      "title": "Apply a gaussian blur to your layer",
      "topics": [
        "with_kernel"
      ]
    },
    {
      "page": "with_mask",
      "title": "Apply a mask to a layer",
      "concept": [
        "blend filters"
      ],
      "topics": [
        "with_mask"
      ]
    },
    {
      "page": "with_motion_blur",
      "title": "Apply a motion blur to your layer",
      "concept": [
        "blur filters"
      ],
      "topics": [
        "with_motion_blur"
      ]
    },
    {
      "page": "with_outer_glow",
      "title": "Apply an outer glow to your layer",
      "concept": [
        "glow filters"
      ],
      "topics": [
        "with_outer_glow"
      ]
    },
    {
      "page": "with_raster",
      "title": "Convert a layer to a raster",
      "topics": [
        "with_raster"
      ]
    },
    {
      "page": "with_shade",
      "title": "Apply a gaussian blur to your layer",
      "topics": [
        "with_shade"
      ]
    },
    {
      "page": "with_shadow",
      "title": "Apply a drop shadow to a layer",
      "topics": [
        "with_shadow"
      ]
    },
    {
      "page": "with_variable_blur",
      "title": "Apply a variable blur to a layer",
      "concept": [
        "blur filters"
      ],
      "topics": [
        "with_variable_blur"
      ]
    }
  ],
  "_pkglogo": "https://github.com/thomasp85/ggfx/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/thomasp85/ggfx/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "cli",
    "cpp11",
    "curl",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "jsonlite",
    "labeling",
    "lifecycle",
    "magick",
    "magrittr",
    "R6",
    "ragg",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "S7",
    "scales",
    "stringi",
    "systemfonts",
    "textshaping",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "custom_filters.Rmd",
      "filename": "custom_filters.html",
      "title": "Custom filters",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The input",
        "nativeRaster objects",
        "Filter output",
        "Drawing area",
        "Our first filter",
        "Taking control of nativeRaster",
        "Detour: Escaping pixel values",
        "Finding the viewport",
        "Using magick",
        "Wrapping up"
      ],
      "created": "2021-03-02 15:38:44",
      "modified": "2021-03-08 19:35:52",
      "commits": 3
    },
    {
      "source": "ggfx.Rmd",
      "filename": "ggfx.html",
      "title": "Getting Started with Filters",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What are filters",
        "Filters and vector graphics",
        "Using ggfx",
        "The with_ functions",
        "Combining layers",
        "Using specific channels"
      ],
      "created": "2021-02-24 20:53:24",
      "modified": "2025-07-23 18:41:34",
      "commits": 2
    },
    {
      "source": "geoms.Rmd",
      "filename": "geoms.html",
      "title": "Using ggfx in ggplot2 extensions",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Our geom",
        "How to draw a variable blur",
        "Filtering a filtered geom"
      ],
      "created": "2021-03-02 21:49:31",
      "modified": "2025-09-01 08:15:00",
      "commits": 3
    }
  ],
  "_score": 10.099797036868715,
  "_indexed": true,
  "_nocasepkg": "ggfx",
  "_universes": [
    "thomasp85"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.3.9000",
      "date": "2026-06-01T11:08:06.000Z",
      "distro": "noble",
      "commit": "ccc7ba2509a5ceabbe436c7b6a986198e61d6364",
      "fileid": "af81ad9ce306af95a9d04e31f30d1de514471ef049bae002ab7577b271dff5bc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thomasp85/actions/runs/26750823599"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.3.9000",
      "date": "2026-06-01T11:07:21.000Z",
      "distro": "noble",
      "commit": "ccc7ba2509a5ceabbe436c7b6a986198e61d6364",
      "fileid": "750954751e575a215e8a14e2b7628e859b04af80cf4adc54f73670b326eb755e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thomasp85/actions/runs/26750823599"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.3.9000",
      "date": "2026-06-01T11:10:53.000Z",
      "commit": "ccc7ba2509a5ceabbe436c7b6a986198e61d6364",
      "fileid": "efd84f66a853c4c61c4575128308c5b6779e77af4f5ea729bca3aeaba19cb66f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thomasp85/actions/runs/26750823599"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.0.3.9000",
      "date": "2026-06-01T11:11:34.000Z",
      "commit": "ccc7ba2509a5ceabbe436c7b6a986198e61d6364",
      "fileid": "55471b3a56cebd50a8fa479ab863cc1367390f07cd288a89f09d31e0f22526ed",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thomasp85/actions/runs/26750823599"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.3.9000",
      "date": "2026-06-01T11:07:22.000Z",
      "commit": "ccc7ba2509a5ceabbe436c7b6a986198e61d6364",
      "fileid": "d67e8d8d691d0513c21aec9246aaa3901c9ebb0162214d961cbe951773fc2676",
      "status": "success",
      "buildurl": "https://github.com/r-universe/thomasp85/actions/runs/26750823599"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.3.9000",
      "date": "2026-06-01T11:06:51.000Z",
      "commit": "ccc7ba2509a5ceabbe436c7b6a986198e61d6364",
      "fileid": "181cfbaf328e24f10d1dddb6f4ab3208a5dfc0c58a4d54a9a8de7bd74a45ee68",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thomasp85/actions/runs/26750823599"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.3.9000",
      "date": "2026-06-01T11:06:16.000Z",
      "commit": "ccc7ba2509a5ceabbe436c7b6a986198e61d6364",
      "fileid": "cae06f3e3ec6a6609a2e60f10123116a218db45093d4aa70cacc347a6e765ace",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thomasp85/actions/runs/26750823599"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.0.3.9000",
      "date": "2026-06-01T11:06:26.000Z",
      "commit": "ccc7ba2509a5ceabbe436c7b6a986198e61d6364",
      "fileid": "d9f2f3cf2072f604f42a6186ae04e08570f9fd3ecb8c55e945f80452b6f5cc6c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/thomasp85/actions/runs/26750823599"
    }
  ]
}