{
  "_id": "6a1f1657b401979e7341e736",
  "Package": "affiner",
  "Type": "Package",
  "Title": "A Finer Way to Render 3D Illustrated Objects in 'grid' Using\nAffine Transformations",
  "Version": "0.4.0-4",
  "Authors@R": "c(person(\"Trevor L.\", \"Davis\", role = c(\"aut\", \"cre\"),\nemail = \"trevor.l.davis@gmail.com\",\ncomment = c(ORCID = \"0000-0001-6341-4639\")))",
  "Description": "Dilate, permute, project, reflect, rotate, shear, and\ntranslate 2D and 3D points.  Supports parallel projections\nincluding oblique projections such as the cabinet projection as\nwell as axonometric projections such as the isometric\nprojection.  Use 'grid's \"affine transformation\" feature to\nrender illustrated flat surfaces.",
  "URL": "https://trevorldavis.com/R/affiner/",
  "BugReports": "https://github.com/trevorld/affiner/issues",
  "License": "MIT + file LICENSE",
  "VignetteBuilder": "knitr, ragg, rmarkdown",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "Config/testthat/edition": "3",
  "Config/roxygen2/version": "8.0.0",
  "Repository": "https://trevorld.r-universe.dev",
  "Date/Publication": "2026-05-17 04:15:04 UTC",
  "RemoteUrl": "https://github.com/trevorld/affiner",
  "RemoteRef": "HEAD",
  "RemoteSha": "dffadb8bfa84d9966c926dace4e8f8a1ef8c911b",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-17 06:23:05 UTC",
    "User": "root"
  },
  "Author": "Trevor L. Davis [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-6341-4639>)",
  "Maintainer": "Trevor L. Davis <trevor.l.davis@gmail.com>",
  "MD5sum": "e4ca52fa0e7298f5152389201334b6bd",
  "_user": "trevorld",
  "_type": "src",
  "_file": "affiner_0.4.0-4.tar.gz",
  "_fileid": "5e8da83a5e677944e98d9b7a02aea96d8184babc45d1b81432e4d77b52c815eb",
  "_filesize": 2018194,
  "_sha256": "5e8da83a5e677944e98d9b7a02aea96d8184babc45d1b81432e4d77b52c815eb",
  "_created": "2026-05-17T06:23:05.000Z",
  "_published": "2026-06-02T17:43:51.168Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79134839934,
      "time": 152,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7039984817"
    },
    {
      "job": 79134840252,
      "time": 154,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7039985033"
    },
    {
      "job": 79134840318,
      "time": 111,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7039980306"
    },
    {
      "job": 79134839951,
      "time": 100,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7039979286"
    },
    {
      "job": 79134839085,
      "time": 214,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7039968410"
    },
    {
      "job": 79134839331,
      "time": 116,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7365452579"
    },
    {
      "job": 79134839897,
      "time": 108,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7039980034"
    },
    {
      "job": 79134840099,
      "time": 141,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7039983721"
    },
    {
      "job": 79134840323,
      "time": 216,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7039993328"
    }
  ],
  "_buildurl": "https://github.com/r-universe/trevorld/actions/runs/25983341165",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/trevorld/affiner",
  "_commit": {
    "id": "dffadb8bfa84d9966c926dace4e8f8a1ef8c911b",
    "author": "Trevor L. Davis <trevor.l.davis@gmail.com>",
    "committer": "Trevor L. Davis <trevor.l.davis@gmail.com>",
    "message": "docs: Document counter-clockwise vertex order in polygon helper functions\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\n",
    "time": 1778991304
  },
  "_maintainer": {
    "name": "Trevor L. Davis",
    "email": "trevor.l.davis@gmail.com",
    "login": "trevorld",
    "description": "Studies electricity markets",
    "uuid": 2433259,
    "orcid": "0000-0001-6341-4639"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.6.0",
      "role": "Depends"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "aRtsy",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "gridpattern",
      "role": "Suggests"
    },
    {
      "package": "gtable",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "ragg",
      "version": ">= 1.3.3",
      "role": "Suggests"
    },
    {
      "package": "rgl",
      "role": "Suggests"
    },
    {
      "package": "rlang",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "stats",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "vdiffr",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "trevorld",
  "_selfowned": true,
  "_usedby": 7,
  "_updates": [
    {
      "week": "2025-29",
      "n": 1
    },
    {
      "week": "2025-30",
      "n": 5
    },
    {
      "week": "2025-31",
      "n": 1
    },
    {
      "week": "2025-41",
      "n": 2
    },
    {
      "week": "2026-05",
      "n": 2
    },
    {
      "week": "2026-13",
      "n": 2
    },
    {
      "week": "2026-14",
      "n": 3
    },
    {
      "week": "2026-18",
      "n": 16
    },
    {
      "week": "2026-19",
      "n": 11
    },
    {
      "week": "2026-20",
      "n": 5
    }
  ],
  "_tags": [
    {
      "name": "v0.2.1",
      "date": "2026-01-28"
    },
    {
      "name": "v0.3.1",
      "date": "2026-05-10"
    }
  ],
  "_stars": 10,
  "_contributors": [
    {
      "user": "trevorld",
      "count": 90,
      "uuid": 2433259
    }
  ],
  "_userbio": {
    "uuid": 2433259,
    "type": "user",
    "name": "Trevor L. Davis",
    "description": "Studies electricity markets"
  },
  "_downloads": {
    "count": 763,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/affiner"
  },
  "_devurl": "https://github.com/trevorld/affiner",
  "_pkgdown": "https://trevorldavis.com/R/affiner/",
  "_searchresults": 4,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/affiner.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/trevorld/affiner",
  "_realowner": "trevorld",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2024-10-14"
    },
    {
      "version": "0.1.3",
      "date": "2024-12-02"
    },
    {
      "version": "0.2.1",
      "date": "2026-01-28"
    },
    {
      "version": "0.3.1",
      "date": "2026-05-10"
    }
  ],
  "_exports": [
    "aabb_polygon2d",
    "affine_settings",
    "affineGrob",
    "affiner_options",
    "angle",
    "angular_unit",
    "angular_unit<-",
    "arccosecant",
    "arccosine",
    "arccotangent",
    "arcsecant",
    "arcsine",
    "arctangent",
    "as_angle",
    "as_coord1d",
    "as_coord2d",
    "as_coord3d",
    "as_ellipse2d",
    "as_line2d",
    "as_plane3d",
    "as_point1d",
    "as_polygon2d",
    "as_segment2d",
    "as_transform1d",
    "as_transform2d",
    "as_transform3d",
    "convex_hull2d",
    "Coord1D",
    "Coord2D",
    "Coord3D",
    "cosecant",
    "cosine",
    "cotangent",
    "cross_product2d",
    "cross_product3d",
    "degrees",
    "distance1d",
    "distance2d",
    "distance3d",
    "dot_product1d",
    "dot_product2d",
    "dot_product3d",
    "Ellipse2D",
    "gradians",
    "grid.affine",
    "grid.isocube",
    "has_intersection",
    "has_overlap2d",
    "intersection",
    "is_angle",
    "is_congruent",
    "is_coord1d",
    "is_coord2d",
    "is_coord3d",
    "is_ellipse2d",
    "is_equivalent",
    "is_line2d",
    "is_parallel",
    "is_plane3d",
    "is_point1d",
    "is_polygon2d",
    "is_segment2d",
    "is_transform1d",
    "is_transform2d",
    "is_transform3d",
    "isocubeGrob",
    "isotoxal_2ngon_inner_radius",
    "isotoxal_2ngon_polygon2d",
    "Line2D",
    "normal2d",
    "normal3d",
    "painter_depth",
    "painter_order",
    "permute2d",
    "permute3d",
    "pi_radians",
    "Plane3D",
    "Point1D",
    "Polygon2D",
    "project1d",
    "project2d",
    "project3d",
    "radians",
    "rectangle_polygon2d",
    "reflect1d",
    "reflect2d",
    "reflect3d",
    "regular_ngon_polygon2d",
    "rotate2d",
    "rotate3d",
    "rotate3d_to_AA",
    "scale1d",
    "scale2d",
    "scale3d",
    "secant",
    "Segment2D",
    "shear2d",
    "shear3d",
    "sine",
    "star_inner_radius",
    "star_polygon2d",
    "tangent",
    "transform1d",
    "transform2d",
    "transform3d",
    "translate1d",
    "translate2d",
    "translate3d",
    "turns"
  ],
  "_help": [
    {
      "page": "affiner-package",
      "title": "affiner: A Finer Way to Render 3D Illustrated Objects in 'grid' Using Affine Transformations",
      "topics": [
        "affiner-package",
        "affiner"
      ]
    },
    {
      "page": "aabb_polygon2d",
      "title": "Axis-aligned bounding box polygon",
      "topics": [
        "aabb_polygon2d"
      ]
    },
    {
      "page": "abs.Coord",
      "title": "Compute Euclidean norm",
      "topics": [
        "abs.Coord1D",
        "abs.Coord2D",
        "abs.Coord3D"
      ]
    },
    {
      "page": "affine_settings",
      "title": "Compute 'grid' affine transformation feature viewports and transformation functions",
      "topics": [
        "affine_settings"
      ]
    },
    {
      "page": "affineGrob",
      "title": "Affine transformation grob",
      "topics": [
        "affineGrob",
        "grid.affine"
      ]
    },
    {
      "page": "affiner_options",
      "title": "Get affiner options",
      "topics": [
        "affiner_options"
      ]
    },
    {
      "page": "angle",
      "title": "Angle vectors",
      "topics": [
        "angle",
        "degrees",
        "gradians",
        "pi_radians",
        "radians",
        "turns"
      ]
    },
    {
      "page": "angle-methods",
      "title": "Implemented base methods for angle vectors",
      "topics": [
        "abs.angle",
        "angle-methods",
        "as.complex.angle",
        "as.double.angle",
        "format.angle",
        "print.angle"
      ]
    },
    {
      "page": "angular_unit",
      "title": "Get/set angular unit of angle vectors",
      "topics": [
        "angular_unit",
        "angular_unit<-"
      ]
    },
    {
      "page": "as_angle",
      "title": "Cast to angle vector",
      "topics": [
        "as_angle",
        "as_angle.angle",
        "as_angle.character",
        "as_angle.complex",
        "as_angle.Coord2D",
        "as_angle.Coord3D",
        "as_angle.Line2D",
        "as_angle.numeric",
        "as_angle.Plane3D"
      ]
    },
    {
      "page": "as_coord1d",
      "title": "Cast to coord1d object",
      "topics": [
        "as_coord1d",
        "as_coord1d.character",
        "as_coord1d.Coord1D",
        "as_coord1d.Coord2D",
        "as_coord1d.data.frame",
        "as_coord1d.list",
        "as_coord1d.matrix",
        "as_coord1d.numeric",
        "as_coord1d.Point1D"
      ]
    },
    {
      "page": "as_coord2d",
      "title": "Cast to coord2d object",
      "topics": [
        "as_coord2d",
        "as_coord2d.angle",
        "as_coord2d.character",
        "as_coord2d.complex",
        "as_coord2d.Coord2D",
        "as_coord2d.Coord3D",
        "as_coord2d.data.frame",
        "as_coord2d.list",
        "as_coord2d.matrix",
        "as_coord2d.numeric"
      ]
    },
    {
      "page": "as_coord3d",
      "title": "Cast to coord3d object",
      "topics": [
        "as_coord3d",
        "as_coord3d.angle",
        "as_coord3d.character",
        "as_coord3d.Coord2D",
        "as_coord3d.Coord3D",
        "as_coord3d.data.frame",
        "as_coord3d.list",
        "as_coord3d.matrix",
        "as_coord3d.numeric"
      ]
    },
    {
      "page": "as_ellipse2d",
      "title": "Cast to Ellipse2D object",
      "topics": [
        "as_ellipse2d",
        "as_ellipse2d.Coord2D",
        "as_ellipse2d.numeric"
      ]
    },
    {
      "page": "as_line2d",
      "title": "Cast to Line2D object",
      "topics": [
        "as_line2d",
        "as_line2d.angle",
        "as_line2d.character",
        "as_line2d.Coord2D",
        "as_line2d.Line2D",
        "as_line2d.numeric",
        "as_line2d.Point1D"
      ]
    },
    {
      "page": "as_plane3d",
      "title": "Cast to Plane3D object",
      "topics": [
        "as_plane3d",
        "as_plane3d.character",
        "as_plane3d.Coord3D",
        "as_plane3d.Line2D",
        "as_plane3d.numeric",
        "as_plane3d.Plane3D",
        "as_plane3d.Point1D"
      ]
    },
    {
      "page": "as_point1d",
      "title": "Cast to Point1D object",
      "topics": [
        "as_point1d",
        "as_point1d.character",
        "as_point1d.Coord1D",
        "as_point1d.numeric",
        "as_point1d.Point1D"
      ]
    },
    {
      "page": "as_polygon2d",
      "title": "Cast to Polygon2D object",
      "topics": [
        "as_polygon2d",
        "as_polygon2d.Coord2D",
        "as_polygon2d.Ellipse2D",
        "as_polygon2d.numeric",
        "as_polygon2d.Polygon2D"
      ]
    },
    {
      "page": "as_segment2d",
      "title": "Cast to Segment2D object",
      "topics": [
        "as_segment2d",
        "as_segment2d.Coord2D",
        "as_segment2d.Polygon2D"
      ]
    },
    {
      "page": "as_transform1d",
      "title": "Cast to 1D affine transformation matrix",
      "topics": [
        "as_transform1d",
        "as_transform1d.default",
        "as_transform1d.transform1d"
      ]
    },
    {
      "page": "as_transform2d",
      "title": "Cast to 2D affine transformation matrix",
      "topics": [
        "as_transform2d",
        "as_transform2d.default",
        "as_transform2d.transform2d"
      ]
    },
    {
      "page": "as_transform3d",
      "title": "Cast to 3D affine transformation matrix",
      "topics": [
        "as_transform3d",
        "as_transform3d.default",
        "as_transform3d.transform3d"
      ]
    },
    {
      "page": "bounding_ranges",
      "title": "Compute axis-aligned ranges",
      "topics": [
        "bounding_ranges",
        "range.Coord1D",
        "range.Coord2D",
        "range.Coord3D",
        "range.Ellipse2D",
        "range.Line2D",
        "range.Plane3D",
        "range.Point1D",
        "range.Segment2D"
      ]
    },
    {
      "page": "centroid",
      "title": "Compute centroids of coordinates",
      "topics": [
        "centroid",
        "mean.Coord1D",
        "mean.Coord2D",
        "mean.Coord3D"
      ]
    },
    {
      "page": "convex_hull2d",
      "title": "Compute 2D convex hulls",
      "topics": [
        "convex_hull2d",
        "convex_hull2d.Coord2D",
        "convex_hull2d.Polygon2D"
      ]
    },
    {
      "page": "Coord1D",
      "title": "1D coordinate vector R6 Class",
      "topics": [
        "Coord1D"
      ]
    },
    {
      "page": "Coord2D",
      "title": "2D coordinate vector R6 Class",
      "topics": [
        "Coord2D"
      ]
    },
    {
      "page": "Coord3D",
      "title": "3D coordinate vector R6 Class",
      "topics": [
        "Coord3D"
      ]
    },
    {
      "page": "cross_product2d",
      "title": "Compute 2D vector cross product",
      "topics": [
        "cross_product2d"
      ]
    },
    {
      "page": "cross_product3d",
      "title": "Compute 3D vector cross product",
      "topics": [
        "cross_product3d"
      ]
    },
    {
      "page": "distance1d",
      "title": "1D Euclidean distances",
      "topics": [
        "distance1d"
      ]
    },
    {
      "page": "distance2d",
      "title": "2D Euclidean distances",
      "topics": [
        "distance2d"
      ]
    },
    {
      "page": "distance3d",
      "title": "3D Euclidean distances",
      "topics": [
        "distance3d"
      ]
    },
    {
      "page": "dot_product",
      "title": "Compute dot (inner) products",
      "topics": [
        "dot_product",
        "dot_product1d",
        "dot_product2d",
        "dot_product3d"
      ]
    },
    {
      "page": "Ellipse2D",
      "title": "2D ellipse R6 Class",
      "topics": [
        "Ellipse2D"
      ]
    },
    {
      "page": "graphics",
      "title": "Plot coordinates, points, lines, polygons, ellipses, and segments",
      "topics": [
        "graphics",
        "lines.Coord2D",
        "lines.Ellipse2D",
        "lines.Line2D",
        "lines.Point1D",
        "lines.Polygon2D",
        "lines.Segment2D",
        "plot.Coord1D",
        "plot.Coord2D",
        "plot.Ellipse2D",
        "plot.Polygon2D",
        "plot.Segment2D",
        "points.Coord1D",
        "points.Coord2D"
      ]
    },
    {
      "page": "has_intersection",
      "title": "Whether two objects intersect",
      "topics": [
        "has_intersection",
        "has_intersection.default",
        "has_intersection.Line2D",
        "has_intersection.Plane3D",
        "has_intersection.Point1D"
      ]
    },
    {
      "page": "has_overlap2d",
      "title": "Whether two 2D shapes overlap",
      "topics": [
        "has_overlap2d",
        "has_overlap2d.Ellipse2D",
        "has_overlap2d.Polygon2D"
      ]
    },
    {
      "page": "intersection",
      "title": "The intersection of two objects.",
      "topics": [
        "intersection",
        "intersection.Coord1D",
        "intersection.Coord2D",
        "intersection.Coord3D",
        "intersection.Ellipse2D",
        "intersection.Line2D",
        "intersection.Plane3D",
        "intersection.Point1D"
      ]
    },
    {
      "page": "inverse-trigonometric-functions",
      "title": "Angle vector aware inverse trigonometric functions",
      "topics": [
        "arccosecant",
        "arccosine",
        "arccotangent",
        "arcsecant",
        "arcsine",
        "arctangent",
        "inverse-trigonometric-functions"
      ]
    },
    {
      "page": "is_angle",
      "title": "Test whether an object is an angle vector",
      "topics": [
        "is_angle"
      ]
    },
    {
      "page": "is_congruent",
      "title": "Test whether two objects are congruent",
      "topics": [
        "is_congruent",
        "is_congruent.angle",
        "is_congruent.numeric"
      ]
    },
    {
      "page": "is_coord1d",
      "title": "Test whether an object has a Coord1D class",
      "topics": [
        "is_coord1d"
      ]
    },
    {
      "page": "is_coord2d",
      "title": "Test whether an object has a Coord2D class",
      "topics": [
        "is_coord2d"
      ]
    },
    {
      "page": "is_coord3d",
      "title": "Test whether an object has a Coord3D class",
      "topics": [
        "is_coord3d"
      ]
    },
    {
      "page": "is_ellipse2d",
      "title": "Test whether an object has an Ellipse2D class",
      "topics": [
        "is_ellipse2d"
      ]
    },
    {
      "page": "is_equivalent",
      "title": "Test whether two objects are equivalent",
      "topics": [
        "is_equivalent",
        "is_equivalent.angle",
        "is_equivalent.Coord1D",
        "is_equivalent.Coord2D",
        "is_equivalent.Coord3D",
        "is_equivalent.Line2D",
        "is_equivalent.numeric",
        "is_equivalent.Plane3D",
        "is_equivalent.Point1D"
      ]
    },
    {
      "page": "is_line2d",
      "title": "Test whether an object has a Line2D class",
      "topics": [
        "is_line2d"
      ]
    },
    {
      "page": "is_parallel",
      "title": "Whether two objects are parallel",
      "topics": [
        "is_parallel",
        "is_parallel.Line2D",
        "is_parallel.Plane3D"
      ]
    },
    {
      "page": "is_plane3d",
      "title": "Test whether an object has a Plane3D class",
      "topics": [
        "is_plane3d"
      ]
    },
    {
      "page": "is_point1d",
      "title": "Test whether an object has a Point1D class",
      "topics": [
        "is_point1d"
      ]
    },
    {
      "page": "is_polygon2d",
      "title": "Test whether an object has a Polygon2D class",
      "topics": [
        "is_polygon2d"
      ]
    },
    {
      "page": "is_segment2d",
      "title": "Test whether an object has a Segment2D class",
      "topics": [
        "is_segment2d"
      ]
    },
    {
      "page": "is_transform1d",
      "title": "Test if 1D affine transformation matrix",
      "topics": [
        "is_transform1d"
      ]
    },
    {
      "page": "is_transform2d",
      "title": "Test if 2D affine transformation matrix",
      "topics": [
        "is_transform2d"
      ]
    },
    {
      "page": "is_transform3d",
      "title": "Test if 3D affine transformation matrix",
      "topics": [
        "is_transform3d"
      ]
    },
    {
      "page": "isocubeGrob",
      "title": "Isometric cube grob",
      "topics": [
        "grid.isocube",
        "isocubeGrob"
      ]
    },
    {
      "page": "isotoxal_2ngon_inner_radius",
      "title": "Isotoxal 2n-gon inner radius",
      "topics": [
        "isotoxal_2ngon_inner_radius",
        "star_inner_radius"
      ]
    },
    {
      "page": "isotoxal_2ngon_polygon2d",
      "title": "Isotoxal 2n-gon and star polygon",
      "topics": [
        "isotoxal_2ngon_polygon2d",
        "star_polygon2d"
      ]
    },
    {
      "page": "Line2D",
      "title": "2D lines R6 Class",
      "topics": [
        "Line2D"
      ]
    },
    {
      "page": "normal2d",
      "title": "2D normal vectors",
      "topics": [
        "normal2d",
        "normal2d.Coord2D",
        "normal2d.Line2D"
      ]
    },
    {
      "page": "normal3d",
      "title": "3D normal vectors",
      "topics": [
        "normal3d",
        "normal3d.character",
        "normal3d.Coord3D",
        "normal3d.Plane3D"
      ]
    },
    {
      "page": "painter_depth",
      "title": "Painter's depth, order, and sort methods",
      "topics": [
        "painter_depth",
        "painter_depth.Coord2D",
        "painter_depth.Coord3D",
        "painter_depth.Polygon2D",
        "painter_depth.Segment2D",
        "painter_order",
        "painter_order.Coord2D",
        "painter_order.Coord3D",
        "painter_order.Polygon2D",
        "sort.Coord2D",
        "sort.Coord3D"
      ]
    },
    {
      "page": "Plane3D",
      "title": "3D planes R6 Class",
      "topics": [
        "Plane3D"
      ]
    },
    {
      "page": "Point1D",
      "title": "1D points R6 Class",
      "topics": [
        "Point1D"
      ]
    },
    {
      "page": "Polygon2D",
      "title": "2D polygon R6 Class",
      "topics": [
        "Polygon2D"
      ]
    },
    {
      "page": "rectangle_polygon2d",
      "title": "Rectangle polygon",
      "topics": [
        "rectangle_polygon2d"
      ]
    },
    {
      "page": "regular_ngon_polygon2d",
      "title": "Regular n-gon polygon",
      "topics": [
        "regular_ngon_polygon2d"
      ]
    },
    {
      "page": "rotate3d_to_AA",
      "title": "Convert from 3D rotation matrix to axis-angle representation.",
      "topics": [
        "rotate3d_to_AA"
      ]
    },
    {
      "page": "Segment2D",
      "title": "2D line segment R6 Class",
      "topics": [
        "Segment2D"
      ]
    },
    {
      "page": "transform1d",
      "title": "1D affine transformation matrices",
      "topics": [
        "project1d",
        "reflect1d",
        "scale1d",
        "transform1d",
        "translate1d"
      ]
    },
    {
      "page": "transform2d",
      "title": "2D affine transformation matrices",
      "topics": [
        "permute2d",
        "project2d",
        "reflect2d",
        "rotate2d",
        "scale2d",
        "shear2d",
        "transform2d",
        "translate2d"
      ]
    },
    {
      "page": "transform3d",
      "title": "3D affine transformation matrices",
      "topics": [
        "permute3d",
        "project3d",
        "reflect3d",
        "rotate3d",
        "scale3d",
        "shear3d",
        "transform3d",
        "translate3d"
      ]
    },
    {
      "page": "trigonometric-functions",
      "title": "Angle vector aware trigonometric functions",
      "topics": [
        "cosecant",
        "cosine",
        "cotangent",
        "secant",
        "sine",
        "tangent",
        "trigonometric-functions"
      ]
    }
  ],
  "_pkglogo": "https://github.com/trevorld/affiner/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/trevorld/affiner/raw/HEAD/README.md",
  "_rundeps": [
    "R6"
  ],
  "_vignettes": [
    {
      "source": "geometry.Rmd",
      "filename": "geometry.html",
      "title": "Geometry in affiner",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Table of Contents",
        "<a name=\"angles\">Angle objects</a>",
        "<a name=\"trigonometry\">Trigonometry</a>",
        "<a name=\"2d\">2D Coordinates</a>",
        "<a name=\"3d\">3D Coordinates</a>",
        "<a name=\"projection\">Orthographic/Axonometric and Oblique Projections</a>"
      ],
      "created": "2024-07-11 23:13:09",
      "modified": "2026-04-02 00:34:40",
      "commits": 4
    },
    {
      "source": "affiner.Rmd",
      "filename": "affiner.html",
      "title": "Introduction to affiner",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Table of Contents",
        "<a name=\"overview\">Overview</a>",
        "<a name=\"examples\">Examples</a>",
        "<a name=\"logo\">Isometric-cube hex logo</a>",
        "<a name=\"dice\">Render an \"illustrated\" d6 dice using oblique and isometric projections</a>"
      ],
      "created": "2024-07-11 23:13:09",
      "modified": "2024-12-11 04:04:33",
      "commits": 5
    }
  ],
  "_score": 7.3222192947339195,
  "_indexed": true,
  "_nocasepkg": "affiner",
  "_universes": [
    "trevorld"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.4.0-4",
      "date": "2026-05-17T06:25:26.000Z",
      "distro": "noble",
      "commit": "dffadb8bfa84d9966c926dace4e8f8a1ef8c911b",
      "fileid": "da0ef5d745c6d716e09394dbedd0b6d562b825780cb6329fbb2da7d3628d82c8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25983341165"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.4.0-4",
      "date": "2026-05-17T06:25:27.000Z",
      "distro": "noble",
      "commit": "dffadb8bfa84d9966c926dace4e8f8a1ef8c911b",
      "fileid": "217c58e8f5404cfc621c5f735b858edb236fa8fc734d40ebc25752a267976b6f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25983341165"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.4.0-4",
      "date": "2026-05-17T06:24:56.000Z",
      "commit": "dffadb8bfa84d9966c926dace4e8f8a1ef8c911b",
      "fileid": "cbeeecf3452f52332149da588e991e9c01b4bd15fc4d10d5c200900bb5b0cfaf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25983341165"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.4.0-4",
      "date": "2026-05-17T06:24:49.000Z",
      "commit": "dffadb8bfa84d9966c926dace4e8f8a1ef8c911b",
      "fileid": "1fe4be88f81247a2255f9004b3766f07fc1b135307b901d2b053e10a06af75f8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25983341165"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.4.0-4",
      "date": "2026-05-17T06:24:32.000Z",
      "commit": "dffadb8bfa84d9966c926dace4e8f8a1ef8c911b",
      "fileid": "a06c13789b0b4425e1ad90e7d311b0cce8f39d806cfbaf21344643ca78aed916",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25983341165"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.4.0-4",
      "date": "2026-05-17T06:25:02.000Z",
      "commit": "dffadb8bfa84d9966c926dace4e8f8a1ef8c911b",
      "fileid": "c7fdafce1dd162a8e909f643d74d6094b6431950ba474e293b84698eb4d5a38d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25983341165"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.4.0-4",
      "date": "2026-05-17T06:26:25.000Z",
      "commit": "dffadb8bfa84d9966c926dace4e8f8a1ef8c911b",
      "fileid": "caca7a57d5c1dc034310a50420049f492b0f89d913e340250cb8b043d9971c31",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25983341165"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.4.0-4",
      "date": "2026-06-02T17:43:30.000Z",
      "commit": "dffadb8bfa84d9966c926dace4e8f8a1ef8c911b",
      "fileid": "a9a82c61d11c43e3b7f781c8ed6e36d26b2ef064256519fc5d4ec00cf005177a",
      "status": "success",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25983341165"
    }
  ]
}