{
  "_id": "6a2d32db3efcd9bda42fb6cd",
  "Package": "rustgd",
  "Title": "Rust-Backed Graphics Device and Viewer Windows for Terminal R\nSessions",
  "Version": "0.0.0.9000",
  "Authors@R": "person(\"Jose J.\", \"Alcocer\", email = \"alcocer@protonmail.com\", role = c(\"aut\", \"cre\"))",
  "Description": "Provides a Rust-backed graphics device and companion\nviewer windows for plots, HTML widgets and live URLs, and data\nframes, so that terminal and editor R sessions without an IDE\nviewer pane (such as radian, Zed, or Neovim) can display\ngraphics, htmlwidgets, Shiny apps, and data frames in native\nwindows.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/rextendr/version": "0.5.0",
  "SystemRequirements": "Cargo (Rust's package manager), rustc",
  "Config/pak/sysreqs": "cmake libssl-dev libclang-dev",
  "Repository": "https://alcocer-jj.r-universe.dev",
  "Date/Publication": "2026-06-13 09:39:15 UTC",
  "RemoteUrl": "https://github.com/alcocer-jj/rustgd",
  "RemoteRef": "HEAD",
  "RemoteSha": "a72bded6724ed58b041e18e77a4f84337b6c4283",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-13 09:59:26 UTC",
    "User": "root"
  },
  "Author": "Jose J. Alcocer [aut, cre]",
  "Maintainer": "Jose J. Alcocer <alcocer@protonmail.com>",
  "MD5sum": "29331f220221ed5c467015d6e2425eff",
  "_user": "alcocer-jj",
  "_type": "src",
  "_file": "rustgd_0.0.0.9000.tar.gz",
  "_fileid": "9024f1b0b60de043a29fdda943132beb96e2a9f72013180d10f77667aa1b97d3",
  "_filesize": 19438054,
  "_sha256": "9024f1b0b60de043a29fdda943132beb96e2a9f72013180d10f77667aa1b97d3",
  "_created": "2026-06-13T09:59:26.000Z",
  "_published": "2026-06-13T10:37:15.884Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 81182493032,
      "time": 224,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 81182493007,
      "time": 832,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "7609908902"
    },
    {
      "job": 81182493027,
      "time": 259,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 81182493031,
      "time": 883,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "7609914596"
    },
    {
      "job": 81182493006,
      "time": 669,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "7609891916"
    },
    {
      "job": 81182493019,
      "time": 1050,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "7609931247"
    },
    {
      "job": 81182493005,
      "time": 466,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "7609870376"
    },
    {
      "job": 81182493002,
      "time": 1488,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "7609979647"
    },
    {
      "job": 81181563820,
      "time": 927,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7609816756"
    },
    {
      "job": 81182492979,
      "time": 171,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 81182493010,
      "time": 975,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "7609923379"
    },
    {
      "job": 81182492999,
      "time": 967,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "7609922660"
    },
    {
      "job": 81182493001,
      "time": 943,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "7609920102"
    }
  ],
  "_buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/27463495913",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/alcocer-jj/rustgd",
  "_commit": {
    "id": "a72bded6724ed58b041e18e77a4f84337b6c4283",
    "author": "Jose Alcocer <84480542+alcocer-jj@users.noreply.github.com>",
    "committer": "Jose Alcocer <84480542+alcocer-jj@users.noreply.github.com>",
    "message": "improve examples from README\n",
    "time": 1781343555
  },
  "_maintainer": {
    "name": "Jose J. Alcocer",
    "email": "alcocer@protonmail.com",
    "login": "alcocer-jj",
    "description": "",
    "uuid": 84480542
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2",
      "role": "Depends"
    },
    {
      "package": "arrow",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "later",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "shiny",
      "role": "Suggests"
    }
  ],
  "_owner": "alcocer-jj",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-24",
      "n": 8
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "alcocer-jj",
      "count": 8,
      "uuid": 84480542
    }
  ],
  "_userbio": {
    "uuid": 84480542,
    "type": "user",
    "name": "José J. Alcocer"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/rustgd"
  },
  "_devurl": "https://github.com/alcocer-jj/rustgd",
  "_searchresults": 1,
  "_cargo": true,
  "_topics": [
    "rust",
    "cargo"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/readme.html",
    "extra/readme.md",
    "extra/rustgd.html",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "rustgd",
    "rustgd_browse",
    "rustgd_disable",
    "rustgd_enable",
    "unuse_rustgd",
    "unuse_rustgd_webview",
    "use_rustgd",
    "use_rustgd_webview",
    "view"
  ],
  "_help": [
    {
      "page": "dot-rustgd_frames_bin",
      "title": "Internal: absolute path to the staged rustgd-frames binary.",
      "topics": [
        ".rustgd_frames_bin"
      ]
    },
    {
      "page": "dot-rustgd_frames_dir",
      "title": "Internal: per-process frames directory, a sibling of the plots and widgets directories. Uses the session temp directory so it works on every platform (Windows has no /tmp); the binary receives this path as an argument.",
      "topics": [
        ".rustgd_frames_dir"
      ]
    },
    {
      "page": "dot-rustgd_frames_register_cleanup",
      "title": "Internal: remove the frames directory when R exits.",
      "topics": [
        ".rustgd_frames_register_cleanup"
      ]
    },
    {
      "page": "dot-rustgd_record_current",
      "title": "Internal: snapshot the current device's graphics display list, provided rustgd is the active device. Returns NULL silently in any situation where recordPlot is not safe or not meaningful (e.g. the user switched devices mid-expression, or there's nothing to record). Recording is cheap compared to the actual drawing that just happened, so calling it on every drew/new_page flag fire (not just new_page) is fine.",
      "topics": [
        ".rustgd_record_current"
      ]
    },
    {
      "page": "dot-rustgd_register_cleanup",
      "title": "Internal: register a one-time finalizer that removes the widget directory when R exits, so nothing is left in the temp folder. The webview binary, if still open, sees its directory vanish on its next poll and exits.",
      "topics": [
        ".rustgd_register_cleanup"
      ]
    },
    {
      "page": "dot-rustgd_widgets_dir",
      "title": "Internal: per-process widget directory. Separate from the device's rustgd- directory so the two lifecycles never interfere. Uses the session temp directory so it works on every platform; the binary receives this path as an argument.",
      "topics": [
        ".rustgd_widgets_dir"
      ]
    },
    {
      "page": "rustgd",
      "title": "Start the rustgd graphics device.",
      "topics": [
        "rustgd"
      ]
    },
    {
      "page": "rustgd_browse",
      "title": "Show a live URL in the rustgd web window.",
      "topics": [
        "rustgd_browse"
      ]
    },
    {
      "page": "rustgd_disable",
      "title": "Deactivate the rustgd suite in the current session only.",
      "topics": [
        "rustgd_disable"
      ]
    },
    {
      "page": "rustgd_enable",
      "title": "Activate the rustgd suite in the current session only.",
      "topics": [
        "rustgd_enable"
      ]
    },
    {
      "page": "rustgd_handle_clear_all",
      "title": "Internal: process a clear-all signal from the viewer. Empties the plot history, deletes every plot-NNNN.svg in the session dir, and resets the page counter so the next user-issued plot() starts fresh at plot-0001.svg.",
      "topics": [
        "rustgd_handle_clear_all"
      ]
    },
    {
      "page": "rustgd_handle_clear_plot",
      "title": "Internal: process a clear-active-plot signal from the viewer. The marker file contains the 1-based index of the plot to remove. The entry is dropped from plot_history, the corresponding SVG file is deleted, and any higher-numbered files are renamed down by one so the on-disk numbering stays contiguous and matches the new history indices.",
      "topics": [
        "rustgd_handle_clear_plot"
      ]
    },
    {
      "page": "rustgd_input_handler",
      "title": "Internal: process a pending resize if one exists. Reads resize.txt, updates the device dimensions, and re-evaluates every plot in the session history at the new size. Each plot is directed to its own plot-NNNN.svg file via rustgd_set_current_page().",
      "topics": [
        "rustgd_input_handler"
      ]
    },
    {
      "page": "rustgd_poll_resize",
      "title": "Internal: scheduled poll for resize signals and viewer-close events. Reschedules itself while the device is active.",
      "topics": [
        "rustgd_poll_resize"
      ]
    },
    {
      "page": "rustgd_webview_bin",
      "title": "Internal: absolute path to the staged rustgd-webview binary.",
      "topics": [
        "rustgd_webview_bin"
      ]
    },
    {
      "page": "unuse_rustgd",
      "title": "Stop using rustgd for plots, web content, and data frames.",
      "topics": [
        "unuse_rustgd"
      ]
    },
    {
      "page": "unuse_rustgd_webview",
      "title": "Stop using the rustgd web viewer.",
      "topics": [
        "unuse_rustgd_webview"
      ]
    },
    {
      "page": "use_rustgd",
      "title": "Use rustgd for plots, web content, and data frames.",
      "topics": [
        "use_rustgd"
      ]
    },
    {
      "page": "use_rustgd_webview",
      "title": "Use the rustgd web viewer for HTML content.",
      "topics": [
        "use_rustgd_webview"
      ]
    },
    {
      "page": "view",
      "title": "View a data frame in a rustgd frames window.",
      "topics": [
        "view"
      ]
    }
  ],
  "_readme": "https://github.com/alcocer-jj/rustgd/raw/HEAD/README.md",
  "_rundeps": [
    "arrow",
    "assertthat",
    "bit",
    "bit64",
    "cli",
    "cpp11",
    "glue",
    "later",
    "lifecycle",
    "magrittr",
    "purrr",
    "R6",
    "Rcpp",
    "rlang",
    "tidyselect",
    "vctrs",
    "withr"
  ],
  "_score": 1.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "rustgd",
  "_universes": [
    "alcocer-jj"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.0.9000",
      "date": "2026-06-13T10:13:44.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "a72bded6724ed58b041e18e77a4f84337b6c4283",
      "fileid": "6141caaec4916e581533f3956d1de7834c52602988b561d4cd4b938f79768789",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/27463495913"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.0.0.9000",
      "date": "2026-06-13T10:14:08.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "a72bded6724ed58b041e18e77a4f84337b6c4283",
      "fileid": "b5f1280336e931a0f705666025097629e66e77d717e3bdee4e8adc56913cf3c7",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/27463495913"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.0.9000",
      "date": "2026-06-13T10:15:57.000Z",
      "arch": "aarch64",
      "commit": "a72bded6724ed58b041e18e77a4f84337b6c4283",
      "fileid": "fb5ffc764d5f539c8b01843eeaa48a4c78467b429ad6d12880037eea84cdd533",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/27463495913"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.0.9000",
      "date": "2026-06-13T10:14:52.000Z",
      "arch": "x86_64",
      "commit": "a72bded6724ed58b041e18e77a4f84337b6c4283",
      "fileid": "6025c7f9c0f38bd9a9f47eab1c3312592fb84ffafa74fd470357f8f5c7c2b11a",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/27463495913"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.0.0.9000",
      "date": "2026-06-13T10:13:36.000Z",
      "arch": "aarch64",
      "commit": "a72bded6724ed58b041e18e77a4f84337b6c4283",
      "fileid": "41115493f180e9934250004e90d9ddbda79b09954467a93838f9ce75ef61cb0d",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/27463495913"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.0.0.9000",
      "date": "2026-06-13T10:14:48.000Z",
      "arch": "x86_64",
      "commit": "a72bded6724ed58b041e18e77a4f84337b6c4283",
      "fileid": "9cc031ff52683ffdaf157a4e4b429d8d3304ad4aecbeccfebb135d1cd029316e",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/27463495913"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-06-13T10:13:13.000Z",
      "arch": "x86_64",
      "commit": "a72bded6724ed58b041e18e77a4f84337b6c4283",
      "fileid": "a46d079ad24b5a46a6f6a794673ef1e98df1b50c8463dc4e1414a388a97365b1",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/27463495913"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-06-13T10:13:12.000Z",
      "arch": "x86_64",
      "commit": "a72bded6724ed58b041e18e77a4f84337b6c4283",
      "fileid": "29126f3628ea937ad67b85a1fab807359744e11f9fa514404864971ae41a6bc6",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/27463495913"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-06-13T10:13:09.000Z",
      "arch": "x86_64",
      "commit": "a72bded6724ed58b041e18e77a4f84337b6c4283",
      "fileid": "fa8f9f7e4f37dc604d5270247d28f8ff7c11e0efbef475c161c558f9e0c2d370",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/alcocer-jj/actions/runs/27463495913"
    }
  ]
}