{
  "_id": "6ab9027799f7aa8c6aa39a4e",
  "Package": "sketchpad",
  "Title": "A Minimal Drawing System For Generative Art",
  "Version": "0.0.0.9000",
  "Authors@R": "person(\"Danielle\", \"Navarro\", , \"djnavarro@protonmail.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0001-7648-6578\"))",
  "Description": "A lightweight drawing system built on S7 classes and grid\ngraphics that can be used for generative art.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "8.0.0",
  "URL": "https://github.com/djnavarro/sketchpad,\nhttps://sketchpad.djnavarro.net/",
  "BugReports": "https://github.com/djnavarro/sketchpad/issues",
  "Config/testthat/edition": "3",
  "Remotes": [
    "djnavarro/waeponwifestre"
  ],
  "Collate": "'utils.R' 'fill.R' 'palette.R' 'color.R' 'noise_field.R'\n'noise_bridge.R' 'trans.R' 'style.R' 'xy.R' 'drawable.R'\n'shape_bezier.R' 'curve_bezier.R' 'curve_line.R'\n'curve_spiral.R' 'curve_scribble.R' 'shape_raw.R' 'curve_raw.R'\n'points_raw.R' 'shape_combine.R' 'shape_circle.R'\n'shape_rectangle.R' 'shape_polygon.R' 'shape_star.R'\n'shape_ellipse.R' 'shape_wedge.R' 'curve_arc.R' 'shape_blob.R'\n'shape_ribbon.R' 'shape_twist.R' 'curve_twist.R'\n'shape_stroke.R' 'shape_strokepath.R' 'canvas.R' 'sketch.R'\n'format.R' 'vectorize.R' 'effects.R' 'effect_tremor.R'\n'effect_bristle.R' 'effect_swatch.R' 'draw.R' 'group.R'\n'effect_grain.R' 'convert.R' 'save.R' 'sketchpad-package.R'",
  "Repository": "https://djnavarro.r-universe.dev",
  "Date/Publication": "2026-08-23 09:05:54 UTC",
  "RemoteUrl": "https://github.com/djnavarro/sketchpad",
  "RemoteRef": "HEAD",
  "RemoteSha": "a399dce446427f733491fc791396d0d2cb39a106",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-27 11:44:02 UTC",
    "User": "root"
  },
  "Author": "Danielle Navarro [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-7648-6578>)",
  "Maintainer": "Danielle Navarro <djnavarro@protonmail.com>",
  "_user": "djnavarro",
  "_type": "src",
  "_file": "sketchpad_0.0.0.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/80bd6a1e72472ff3d31bb0e550a601cac87cab38b6e92a7f10efa482687bb204",
  "_filesize": 743120,
  "_sha256": "80bd6a1e72472ff3d31bb0e550a601cac87cab38b6e92a7f10efa482687bb204",
  "_expires": "2027-01-05T11:48:05.000Z",
  "_created": "2026-09-27T11:44:02.000Z",
  "_published": "2026-09-27T11:48:06.960Z",
  "_jobs": [
    {
      "job": 108612678782,
      "time": 149,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10930443587"
    },
    {
      "job": 108612678811,
      "time": 127,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10931485035"
    },
    {
      "job": 108612678872,
      "time": 122,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10931316034"
    },
    {
      "job": 108612678871,
      "time": 106,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10930922852"
    },
    {
      "job": 108612157155,
      "time": 207,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10930732698"
    },
    {
      "job": 108612678784,
      "time": 106,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10931211338"
    },
    {
      "job": 108612678839,
      "time": 98,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10931151426"
    },
    {
      "job": 108612678780,
      "time": 102,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10930803607"
    },
    {
      "job": 108612678825,
      "time": 110,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10930589818"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/djnavarro/actions/runs/36316509635",
  "_status": "success",
  "_upstream": "https://github.com/djnavarro/sketchpad",
  "_commit": {
    "id": "a399dce446427f733491fc791396d0d2cb39a106",
    "author": "Danielle Navarro <djnavarro@protonmail.com>",
    "committer": "Danielle Navarro <djnavarro@protonmail.com>",
    "message": "Add color_*() colour-transform family\n\nAdds R/color.R with ten elementwise colour-vector operations:\ncolor_lighten()/color_darken(), color_saturate()/color_desaturate(),\ncolor_greyscale(), color_rotate_hue(), color_alpha(), color_invert(),\ncolor_mix() (with rgb/Lab blend space), and color_jitter(). Each\ntransforms an existing colour vector (e.g. palette_*() output) rather\nthan generating one, recycling arguments via an internal\nrecycle_common() helper and reusing palette.R's internal\nrgb_to_hsl()/hsl_to_rgb()/reflect_unit() helpers.\n\nWires the new family into DESCRIPTION's Collate, _pkgdown.yml's\nreference index, and AGENTS.md's architecture notes, plus a new\ntests/testthat/test-color.R.\n",
    "time": 1787475954
  },
  "_maintainer": {
    "name": "Danielle Navarro",
    "email": "djnavarro@protonmail.com",
    "login": "djnavarro",
    "description": "Statistician. Data scientist. Former academic cognitive scientist. Occasional generative artist. Evidently now also a pharmacometrician",
    "uuid": 2896325,
    "orcid": "0000-0001-7648-6578"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "ambient",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "S7",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "withr",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "tibble",
      "role": "Suggests"
    },
    {
      "package": "waeponwifestre",
      "role": "Suggests"
    }
  ],
  "_owner": "djnavarro",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-32",
      "n": 24
    },
    {
      "week": "2026-33",
      "n": 58
    },
    {
      "week": "2026-34",
      "n": 9
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "djnavarro",
      "count": 108,
      "uuid": 2896325
    }
  ],
  "_userbio": {
    "uuid": 2896325,
    "type": "user",
    "name": "Danielle Navarro",
    "followers": 1191,
    "description": "Statistician. Data scientist. Former academic cognitive scientist. Occasional generative artist. Evidently now also a pharmacometrician"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/sketchpad"
  },
  "_devurl": "https://github.com/djnavarro/sketchpad",
  "_pkgdown": "https://sketchpad.djnavarro.net/",
  "_searchresults": 5,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/readme.html",
    "extra/readme.md",
    "extra/sketchpad.html",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "canvas",
    "color_alpha",
    "color_darken",
    "color_desaturate",
    "color_greyscale",
    "color_invert",
    "color_jitter",
    "color_lighten",
    "color_mix",
    "color_rotate_hue",
    "color_saturate",
    "curve_arc",
    "curve_arcs",
    "curve_bezier",
    "curve_beziers",
    "curve_line",
    "curve_lines",
    "curve_raw",
    "curve_raws",
    "curve_scribble",
    "curve_scribbles",
    "curve_spiral",
    "curve_spirals",
    "curve_twist",
    "curve_twists",
    "draw",
    "drawable",
    "effect_bristle",
    "effect_grain",
    "effect_swatch",
    "effect_tremor",
    "fill",
    "fill_charcoal",
    "fill_checker",
    "fill_crosshatch",
    "fill_flow",
    "fill_gradient",
    "fill_halftone",
    "fill_hatch",
    "fill_image",
    "fill_marble",
    "fill_noise",
    "fill_none",
    "fill_scatter",
    "fill_scribble",
    "fill_solid",
    "fill_stipple",
    "fill_stripe",
    "fill_vignette",
    "group",
    "noise_bridge",
    "noise_field",
    "noise_sample",
    "palette_cosine",
    "palette_gradient",
    "palette_harmony",
    "palette_manual",
    "palette_tonal",
    "palette_walk",
    "points_raw",
    "points_raws",
    "save_pdf",
    "save_png",
    "save_svg",
    "shape_bezier",
    "shape_beziers",
    "shape_blob",
    "shape_blobs",
    "shape_circle",
    "shape_circles",
    "shape_combine",
    "shape_ellipse",
    "shape_ellipses",
    "shape_polygon",
    "shape_polygons",
    "shape_raw",
    "shape_raws",
    "shape_rectangle",
    "shape_rectangles",
    "shape_ribbon",
    "shape_ribbons",
    "shape_square",
    "shape_squares",
    "shape_star",
    "shape_stars",
    "shape_stroke",
    "shape_strokepath",
    "shape_strokepaths",
    "shape_strokes",
    "shape_twist",
    "shape_twists",
    "shape_wedge",
    "shape_wedges",
    "sketch",
    "style",
    "trans",
    "trans_affine",
    "trans_chain",
    "trans_fn",
    "trans_identity",
    "trans_reflect",
    "trans_rotate",
    "trans_scale",
    "trans_shear",
    "trans_translate",
    "trans_warp",
    "xy"
  ],
  "_help": [
    {
      "page": "canvas",
      "title": "Canvas settings for a sketch",
      "concept": [
        "core structure"
      ],
      "topics": [
        "canvas"
      ]
    },
    {
      "page": "color_alpha",
      "title": "Set a colour vector's alpha (opacity)",
      "concept": [
        "color helpers"
      ],
      "topics": [
        "color_alpha"
      ]
    },
    {
      "page": "color_greyscale",
      "title": "Convert a colour vector to greyscale",
      "concept": [
        "color helpers"
      ],
      "topics": [
        "color_greyscale"
      ]
    },
    {
      "page": "color_invert",
      "title": "Invert a colour vector",
      "concept": [
        "color helpers"
      ],
      "topics": [
        "color_invert"
      ]
    },
    {
      "page": "color_jitter",
      "title": "Randomly perturb a colour vector",
      "concept": [
        "color helpers"
      ],
      "topics": [
        "color_jitter"
      ]
    },
    {
      "page": "color_lighten",
      "title": "Lighten or darken a colour vector",
      "concept": [
        "color helpers"
      ],
      "topics": [
        "color_darken",
        "color_lighten"
      ]
    },
    {
      "page": "color_mix",
      "title": "Blend two colour vectors",
      "concept": [
        "color helpers"
      ],
      "topics": [
        "color_mix"
      ]
    },
    {
      "page": "color_rotate_hue",
      "title": "Rotate a colour vector's hue",
      "concept": [
        "color helpers"
      ],
      "topics": [
        "color_rotate_hue"
      ]
    },
    {
      "page": "color_saturate",
      "title": "Saturate or desaturate a colour vector",
      "concept": [
        "color helpers"
      ],
      "topics": [
        "color_desaturate",
        "color_saturate"
      ]
    },
    {
      "page": "curve_arc",
      "title": "An open arc",
      "concept": [
        "1D curves"
      ],
      "topics": [
        "curve_arc",
        "curve_arcs"
      ]
    },
    {
      "page": "curve_bezier",
      "title": "An open Bezier curve",
      "concept": [
        "1D curves"
      ],
      "topics": [
        "curve_bezier",
        "curve_beziers"
      ]
    },
    {
      "page": "curve_line",
      "title": "An open polyline",
      "concept": [
        "1D curves"
      ],
      "topics": [
        "curve_line",
        "curve_lines"
      ]
    },
    {
      "page": "curve_raw",
      "title": "An open path defined directly by its vertices",
      "concept": [
        "1D curves"
      ],
      "topics": [
        "curve_raw",
        "curve_raws"
      ]
    },
    {
      "page": "curve_scribble",
      "title": "A wandering scribble curve",
      "concept": [
        "1D curves"
      ],
      "topics": [
        "curve_scribble",
        "curve_scribbles"
      ]
    },
    {
      "page": "curve_spiral",
      "title": "An open spiral",
      "concept": [
        "1D curves"
      ],
      "topics": [
        "curve_spiral",
        "curve_spirals"
      ]
    },
    {
      "page": "curve_twist",
      "title": "An open, wandering path following a random walk",
      "concept": [
        "1D curves"
      ],
      "topics": [
        "curve_twist",
        "curve_twists"
      ]
    },
    {
      "page": "draw",
      "title": "Draw a drawable or sketch",
      "concept": [
        "core structure"
      ],
      "topics": [
        "draw"
      ]
    },
    {
      "page": "drawable",
      "title": "Parent class for all drawable objects",
      "concept": [
        "core structure"
      ],
      "topics": [
        "drawable"
      ]
    },
    {
      "page": "effect_bristle",
      "title": "A fanned bristle/dry-brush effect along a path",
      "concept": [
        "effects"
      ],
      "topics": [
        "effect_bristle"
      ]
    },
    {
      "page": "effect_grain",
      "title": "A paper-grain/textured-ink rendering of a drawable's own outline",
      "concept": [
        "effects"
      ],
      "topics": [
        "effect_grain"
      ]
    },
    {
      "page": "effect_swatch",
      "title": "A colour-swatch effect: repeat a template drawable, one per colour",
      "concept": [
        "effects"
      ],
      "topics": [
        "effect_swatch"
      ]
    },
    {
      "page": "effect_tremor",
      "title": "Layer jittered copies of a drawable for a hand-drawn look",
      "concept": [
        "effects"
      ],
      "topics": [
        "effect_tremor"
      ]
    },
    {
      "page": "fill",
      "title": "A resolved or auto-resolving fill value",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill"
      ]
    },
    {
      "page": "fill_charcoal",
      "title": "Charcoal/marker-style noise texture fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_charcoal"
      ]
    },
    {
      "page": "fill_checker",
      "title": "Checkerboard pattern fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_checker"
      ]
    },
    {
      "page": "fill_crosshatch",
      "title": "Crosshatch pattern fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_crosshatch"
      ]
    },
    {
      "page": "fill_flow",
      "title": "Domain-warped noise texture fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_flow"
      ]
    },
    {
      "page": "fill_gradient",
      "title": "Gradient fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_gradient"
      ]
    },
    {
      "page": "fill_halftone",
      "title": "Halftone dot pattern fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_halftone"
      ]
    },
    {
      "page": "fill_hatch",
      "title": "Diagonal hatch pattern fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_hatch"
      ]
    },
    {
      "page": "fill_image",
      "title": "User-supplied raster image fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_image"
      ]
    },
    {
      "page": "fill_marble",
      "title": "Marbled, veined texture fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_marble"
      ]
    },
    {
      "page": "fill_noise",
      "title": "Simplex/fractal noise texture fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_noise"
      ]
    },
    {
      "page": "fill_none",
      "title": "Unfilled (transparent) fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_none"
      ]
    },
    {
      "page": "fill_scatter",
      "title": "Scattered-shape pattern fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_scatter"
      ]
    },
    {
      "page": "fill_scribble",
      "title": "Wandering-line scribble texture fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_scribble"
      ]
    },
    {
      "page": "fill_solid",
      "title": "Solid colour fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_solid"
      ]
    },
    {
      "page": "fill_stipple",
      "title": "Stippled dot pattern fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_stipple"
      ]
    },
    {
      "page": "fill_stripe",
      "title": "Striped pattern fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_stripe"
      ]
    },
    {
      "page": "fill_vignette",
      "title": "Vignette fill",
      "concept": [
        "fill helpers"
      ],
      "topics": [
        "fill_vignette"
      ]
    },
    {
      "page": "group",
      "title": "A nested collection of drawables sharing one transform/style",
      "concept": [
        "core structure"
      ],
      "topics": [
        "group"
      ]
    },
    {
      "page": "noise_bridge",
      "title": "A smoothed Brownian bridge, as a path distortion",
      "concept": [
        "noise helpers"
      ],
      "topics": [
        "noise_bridge"
      ]
    },
    {
      "page": "noise_field",
      "title": "A sampled scalar noise field",
      "concept": [
        "noise helpers"
      ],
      "topics": [
        "noise_field"
      ]
    },
    {
      "page": "noise_sample",
      "title": "Sample a noise object",
      "concept": [
        "noise helpers"
      ],
      "topics": [
        "noise_sample"
      ]
    },
    {
      "page": "palette_cosine",
      "title": "Colour palette from a linear cosine formula",
      "concept": [
        "palette helpers"
      ],
      "topics": [
        "palette_cosine"
      ]
    },
    {
      "page": "palette_gradient",
      "title": "Colour palette interpolated between user-supplied colours",
      "concept": [
        "palette helpers"
      ],
      "topics": [
        "palette_gradient"
      ]
    },
    {
      "page": "palette_harmony",
      "title": "Colour palette from hue-rotation colour-wheel harmonies",
      "concept": [
        "palette helpers"
      ],
      "topics": [
        "palette_harmony"
      ]
    },
    {
      "page": "palette_manual",
      "title": "Colour palette drawn from a curated collection",
      "concept": [
        "palette helpers"
      ],
      "topics": [
        "palette_manual"
      ]
    },
    {
      "page": "palette_tonal",
      "title": "Colour palette from a monochromatic tint/shade ramp",
      "concept": [
        "palette helpers"
      ],
      "topics": [
        "palette_tonal"
      ]
    },
    {
      "page": "palette_walk",
      "title": "Colour palette from a bounded random walk through colour space",
      "concept": [
        "palette helpers"
      ],
      "topics": [
        "palette_walk"
      ]
    },
    {
      "page": "points_raw",
      "title": "A scatter of points defined directly by their coordinates",
      "concept": [
        "0D points"
      ],
      "topics": [
        "points_raw",
        "points_raws"
      ]
    },
    {
      "page": "save_png",
      "title": "Save a drawable or sketch to an image file",
      "concept": [
        "export helpers"
      ],
      "topics": [
        "save_pdf",
        "save_png",
        "save_svg"
      ]
    },
    {
      "page": "shape_bezier",
      "title": "A closed Bezier curve",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_bezier",
        "shape_beziers"
      ]
    },
    {
      "page": "shape_blob",
      "title": "An irregular, \"blobby\" circle",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_blob",
        "shape_blobs"
      ]
    },
    {
      "page": "shape_circle",
      "title": "A circle",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_circle",
        "shape_circles"
      ]
    },
    {
      "page": "shape_combine",
      "title": "Combine several drawables into one multi-sub-path shape",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_combine"
      ]
    },
    {
      "page": "shape_ellipse",
      "title": "An ellipse",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_ellipse",
        "shape_ellipses"
      ]
    },
    {
      "page": "shape_polygon",
      "title": "A regular polygon",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_polygon",
        "shape_polygons"
      ]
    },
    {
      "page": "shape_raw",
      "title": "A polygon defined directly by its vertices",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_raw",
        "shape_raws"
      ]
    },
    {
      "page": "shape_rectangle",
      "title": "A rectangle",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_rectangle",
        "shape_rectangles",
        "shape_square",
        "shape_squares"
      ]
    },
    {
      "page": "shape_ribbon",
      "title": "A tapered ribbon between two points",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_ribbon",
        "shape_ribbons"
      ]
    },
    {
      "page": "shape_star",
      "title": "A star",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_star",
        "shape_stars"
      ]
    },
    {
      "page": "shape_stroke",
      "title": "A tapered, pressure-modulated stroke along an arbitrary path",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_stroke",
        "shape_strokes"
      ]
    },
    {
      "page": "shape_strokepath",
      "title": "A ribbon following an arbitrary curve",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_strokepath",
        "shape_strokepaths"
      ]
    },
    {
      "page": "shape_twist",
      "title": "A twisted ribbon following a random path",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_twist",
        "shape_twists"
      ]
    },
    {
      "page": "shape_wedge",
      "title": "A pie-slice wedge or annulus segment",
      "concept": [
        "2D shapes"
      ],
      "topics": [
        "shape_wedge",
        "shape_wedges"
      ]
    },
    {
      "page": "sketch",
      "title": "A collection of drawable objects",
      "concept": [
        "core structure"
      ],
      "topics": [
        "sketch"
      ]
    },
    {
      "page": "style",
      "title": "Graphical style for a drawable object",
      "concept": [
        "core structure"
      ],
      "topics": [
        "style"
      ]
    },
    {
      "page": "trans",
      "title": "A 2D affine transformation",
      "concept": [
        "transform helpers"
      ],
      "topics": [
        "trans"
      ]
    },
    {
      "page": "trans_affine",
      "title": "Build a custom affine transform",
      "concept": [
        "transform helpers"
      ],
      "topics": [
        "trans_affine"
      ]
    },
    {
      "page": "trans_chain",
      "title": "A sequence of composed transforms",
      "concept": [
        "transform helpers"
      ],
      "topics": [
        "trans_chain"
      ]
    },
    {
      "page": "trans_fn",
      "title": "An arbitrary-function, non-rigid deformation",
      "concept": [
        "transform helpers"
      ],
      "topics": [
        "trans_fn"
      ]
    },
    {
      "page": "trans_identity",
      "title": "The identity transform",
      "concept": [
        "transform helpers"
      ],
      "topics": [
        "trans_identity"
      ]
    },
    {
      "page": "trans_reflect",
      "title": "Reflect points",
      "concept": [
        "transform helpers"
      ],
      "topics": [
        "trans_reflect"
      ]
    },
    {
      "page": "trans_rotate",
      "title": "Rotate points",
      "concept": [
        "transform helpers"
      ],
      "topics": [
        "trans_rotate"
      ]
    },
    {
      "page": "trans_scale",
      "title": "Scale points",
      "concept": [
        "transform helpers"
      ],
      "topics": [
        "trans_scale"
      ]
    },
    {
      "page": "trans_shear",
      "title": "Shear points",
      "concept": [
        "transform helpers"
      ],
      "topics": [
        "trans_shear"
      ]
    },
    {
      "page": "trans_translate",
      "title": "Translate points",
      "concept": [
        "transform helpers"
      ],
      "topics": [
        "trans_translate"
      ]
    },
    {
      "page": "trans_warp",
      "title": "A non-rigid, noise-based deformation",
      "concept": [
        "transform helpers"
      ],
      "topics": [
        "trans_warp"
      ]
    },
    {
      "page": "xy",
      "title": "A set of locations in 2D space",
      "concept": [
        "core structure"
      ],
      "topics": [
        "xy"
      ]
    }
  ],
  "_readme": "https://github.com/djnavarro/sketchpad/raw/HEAD/README.md",
  "_rundeps": [
    "ambient",
    "cli",
    "cpp11",
    "glue",
    "lifecycle",
    "magrittr",
    "purrr",
    "rlang",
    "S7",
    "vctrs",
    "withr"
  ],
  "_score": 2.1760912590556813,
  "_indexed": true,
  "_nocasepkg": "sketchpad",
  "_universes": [
    "djnavarro"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.0.9000",
      "date": "2026-09-27T11:46:58.000Z",
      "distro": "resolute",
      "commit": "a399dce446427f733491fc791396d0d2cb39a106",
      "fileid": "https://r2.ropensci.org/723c5cde7a2d105e9190741a4cc4f3216c1af030e5389162e20c4fb285364063",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/djnavarro/actions/runs/36316509635"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.0.0.9000",
      "date": "2026-09-27T11:46:09.000Z",
      "distro": "resolute",
      "commit": "a399dce446427f733491fc791396d0d2cb39a106",
      "fileid": "https://r2.ropensci.org/f6ed7c7e4e47e7501f04f033a1b5fe0438b7479dddc9f14a15a5dfb638201f84",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/djnavarro/actions/runs/36316509635"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.0.9000",
      "date": "2026-09-27T11:46:11.000Z",
      "commit": "a399dce446427f733491fc791396d0d2cb39a106",
      "fileid": "https://r2.ropensci.org/46f15ab2c6ca4bf22a886b13b76ebe3e31f2a90d733ae69ce0a133f0a2696932",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/djnavarro/actions/runs/36316509635"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.0.0.9000",
      "date": "2026-09-27T11:45:53.000Z",
      "commit": "a399dce446427f733491fc791396d0d2cb39a106",
      "fileid": "https://r2.ropensci.org/811b8ba45a3d2dc2f00508a23392978d52df09440cb8e907d50003e0a74bc9a1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/djnavarro/actions/runs/36316509635"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.0.0.9000",
      "date": "2026-09-27T11:46:18.000Z",
      "commit": "a399dce446427f733491fc791396d0d2cb39a106",
      "fileid": "https://r2.ropensci.org/4430f61e41d13ad7a6a82f6248c4139860e5d7e9c05d58a6e0a01cceb6bcaf2f",
      "status": "success",
      "buildurl": "https://github.com/r-universe/djnavarro/actions/runs/36316509635"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-09-27T11:45:17.000Z",
      "commit": "a399dce446427f733491fc791396d0d2cb39a106",
      "fileid": "https://r2.ropensci.org/064b8e1bb4c96750552ab61aaaece2be8f5be5f5d13c2eab0bbf14b93dd552e5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/djnavarro/actions/runs/36316509635"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-09-27T11:45:18.000Z",
      "commit": "a399dce446427f733491fc791396d0d2cb39a106",
      "fileid": "https://r2.ropensci.org/3dffbb7aef35fab87793ab8fc3cb13e9a54d4a2a270dc7876f22f989451f2a7e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/djnavarro/actions/runs/36316509635"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-09-27T11:45:34.000Z",
      "commit": "a399dce446427f733491fc791396d0d2cb39a106",
      "fileid": "https://r2.ropensci.org/f15190314e12f5873d541012b0802592f0ff22aa1dc083e51417c8927e3c7133",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/djnavarro/actions/runs/36316509635"
    }
  ]
}