{
  "_id": "6acfd4bce2d863f6629534a8",
  "Package": "paparazzi",
  "Title": "Scripted Demo Videos, Screenshots, and Tests for Web Pages",
  "Version": "0.0.0.9000",
  "Authors@R": "c(\nperson(\"Garrick\", \"Aden-Buie\", , \"garrick@adenbuie.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-7111-0077\")),\nperson(\"W.Y.\", role = \"cph\",\ncomment = \"Copyright holder of the bundled html-to-image JavaScript library\")\n)",
  "Description": "Script polished demo videos and screenshots of anything\nthat runs in a web browser, including 'Shiny' apps, 'Quarto'\ndocuments, and live websites. A pipeable interface built on\n'chromote' clicks, types, and waits the way a person would.\nWhile recording, a cursor glides between elements, text is\ntyped one character at a time, and a camera zooms and pans to\nthe action. Annotations, callouts, spotlights, captions, and\nredactions follow their elements as the page changes. Frame\ncaptures to an element or aspect ratio, emulate phones, dark\nmode, and other devices, and write MP4, WebM, or GIF files.\nWithout a recording, the same scripts run at full speed as\nbrowser tests with auto-waiting actions and retrying\nexpectations that work with 'testthat'.",
  "License": "MIT + file LICENSE",
  "URL": "https://posit-dev.github.io/paparazzi/,\nhttps://github.com/posit-dev/paparazzi",
  "BugReports": "https://github.com/posit-dev/paparazzi/issues",
  "Config/Needs/website": "av, brand.yml, gifski, png, shiny",
  "Config/roxygen2/version": "8.1.1",
  "Config/testthat/edition": "3",
  "Config/testthat/parallel": "true",
  "Config/testthat/start-first": "record, stage, example, cursor",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "Collate": "'actions.R' 'annotate-callout.R' 'annotate-spotlight.R'\n'overlay.R' 'annotate.R' 'camera.R' 'caption.R' 'context.R'\n'utils-purrr.R' 'cursor.R' 'device.R' 'drag-preview.R'\n'example.R' 'expect.R' 'fonts.R' 'frame.R' 'geometry.R' 'get.R'\n'inspect.R' 'js.R' 'keys.R' 'loc.R' 'nav.R' 'open.R'\n'paparazzi-package.R' 'record.R' 'resolve.R' 'scope.R'\n'screenshot.R' 'serve.R' 'shiny-input.R' 'stage.R' 'style.R'\n'utils-check.R' 'utils-examples.R' 'utils.R' 'wait.R'",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "chromium make libssl-dev",
  "Repository": "https://posit-dev.r-universe.dev",
  "Date/Publication": "2026-10-14 14:02:21 UTC",
  "RemoteUrl": "https://github.com/posit-dev/paparazzi",
  "RemoteRef": "HEAD",
  "RemoteSha": "ab8fc677a3dff078a409d419b091a6b233c7abbd",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-14 18:58:51 UTC",
    "User": "root"
  },
  "Author": "Garrick Aden-Buie [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-7111-0077>),\nW.Y. [cph] (Copyright holder of the bundled html-to-image JavaScript\nlibrary)",
  "Maintainer": "Garrick Aden-Buie <garrick@adenbuie.com>",
  "_user": "posit-dev",
  "_type": "src",
  "_file": "paparazzi_0.0.0.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/250ed3b8e30db0db07a813b321d499907384e8026836d8e50aaefed066d09bbf",
  "_filesize": 1050186,
  "_sha256": "250ed3b8e30db0db07a813b321d499907384e8026836d8e50aaefed066d09bbf",
  "_expires": "2027-01-22T19:15:05.000Z",
  "_created": "2026-10-14T18:58:51.000Z",
  "_published": "2026-10-14T19:15:07.944Z",
  "_buildurl": "https://github.com/r-universe/posit-dev/actions/runs/38619238111",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 116044339637,
      "time": 203,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11922506055"
    },
    {
      "job": 116044339399,
      "time": 221,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11922206344"
    },
    {
      "job": 116044339716,
      "time": 217,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11921224034"
    },
    {
      "job": 116044339550,
      "time": 219,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11922217770"
    },
    {
      "job": 116042300537,
      "time": 246,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11921481111"
    },
    {
      "job": 116044339627,
      "time": 140,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11921266866"
    },
    {
      "job": 116044339679,
      "time": 223,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11921506587"
    },
    {
      "job": 116044339478,
      "time": 214,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11921291952"
    },
    {
      "job": 116044339677,
      "time": 231,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11921661461"
    }
  ],
  "_upstream": "https://github.com/posit-dev/paparazzi",
  "_commit": {
    "id": "ab8fc677a3dff078a409d419b091a6b233c7abbd",
    "author": "Garrick Aden-Buie <garrick@adenbuie.com>",
    "committer": "Garrick Aden-Buie <garrick@adenbuie.com>",
    "message": "style: group test steps into paragraphs with blank lines\n\nInsert blank lines inside test_that() blocks to separate setup,\nactions, and groups of related expectations, matching the pattern\nfirst applied in test-annotate-callout.R. Whitespace only: no code,\ncomments, or strings changed (diff is 1179 insertions, 0 deletions,\nall blank lines). air format --check . and jarl check . pass.\n\nRoborev review skipped at the user's request (formatting only).\n",
    "time": 1791986541
  },
  "_maintainer": {
    "name": "Garrick Aden-Buie",
    "email": "garrick@adenbuie.com",
    "login": "gadenbuie",
    "mastodon": "@grrrck@fosstodon.org",
    "bluesky": "@grrrck.xyz",
    "description": "Software engineer for Shiny at @posit-pbc",
    "uuid": 5420529,
    "orcid": "0000-0002-7111-0077"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "chromote",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "later",
      "role": "Imports"
    },
    {
      "package": "pillar",
      "role": "Imports"
    },
    {
      "package": "processx",
      "role": "Imports"
    },
    {
      "package": "promises",
      "role": "Imports"
    },
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 1.2.0",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "withr",
      "role": "Imports"
    },
    {
      "package": "av",
      "role": "Suggests"
    },
    {
      "package": "gifski",
      "role": "Suggests"
    },
    {
      "package": "htmltools",
      "role": "Suggests"
    },
    {
      "package": "httpuv",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "pkgdown",
      "role": "Suggests"
    },
    {
      "package": "png",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "shiny",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.2.0",
      "role": "Suggests"
    },
    {
      "package": "xfun",
      "role": "Suggests"
    }
  ],
  "_owner": "posit-dev",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-39",
      "n": 188
    },
    {
      "week": "2026-40",
      "n": 256
    },
    {
      "week": "2026-41",
      "n": 161
    },
    {
      "week": "2026-42",
      "n": 31
    }
  ],
  "_tags": [],
  "_topics": [
    "browser-testing",
    "chrome",
    "chromote",
    "quarto",
    "screen-recording",
    "shiny"
  ],
  "_stars": 3,
  "_contributors": [
    {
      "user": "gadenbuie",
      "count": 1150,
      "uuid": 5420529
    }
  ],
  "_userbio": {
    "uuid": 107264312,
    "type": "organization",
    "name": "Posit, PBC",
    "followers": 1058
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/paparazzi"
  },
  "_devurl": "https://github.com/posit-dev/paparazzi",
  "_pkgdown": "https://posit-dev.github.io/paparazzi/",
  "_searchresults": 19,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/paparazzi.html",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "pz_act_blur",
    "pz_act_click",
    "pz_act_drag",
    "pz_act_focus",
    "pz_act_hover",
    "pz_act_press",
    "pz_act_scroll",
    "pz_act_select_text",
    "pz_act_type",
    "pz_annotate",
    "pz_annotate_callout",
    "pz_annotate_caption",
    "pz_annotate_clear",
    "pz_annotate_redact",
    "pz_annotate_spotlight",
    "pz_camera",
    "pz_camera_reset",
    "pz_chromote",
    "pz_close",
    "pz_cursor_hide",
    "pz_cursor_leave",
    "pz_cursor_move",
    "pz_cursor_show",
    "pz_device",
    "pz_example",
    "pz_expect_attr",
    "pz_expect_checked",
    "pz_expect_class",
    "pz_expect_count",
    "pz_expect_enabled",
    "pz_expect_exists",
    "pz_expect_focused",
    "pz_expect_hidden",
    "pz_expect_in_viewport",
    "pz_expect_js",
    "pz_expect_style",
    "pz_expect_text",
    "pz_expect_title",
    "pz_expect_url",
    "pz_expect_value",
    "pz_expect_visible",
    "pz_find",
    "pz_find_first",
    "pz_find_last",
    "pz_find_nth",
    "pz_find_pop",
    "pz_find_reset",
    "pz_font_bunny",
    "pz_font_file",
    "pz_font_google",
    "pz_frame",
    "pz_get_attr",
    "pz_get_count",
    "pz_get_elements",
    "pz_get_html",
    "pz_get_rect",
    "pz_get_style",
    "pz_get_text",
    "pz_get_title",
    "pz_get_url",
    "pz_get_value",
    "pz_inspect",
    "pz_js",
    "pz_loc",
    "pz_local_page",
    "pz_nav_back",
    "pz_nav_forward",
    "pz_nav_goto",
    "pz_nav_reload",
    "pz_open",
    "pz_record",
    "pz_record_hold",
    "pz_record_pause",
    "pz_record_resume",
    "pz_record_start",
    "pz_record_stop",
    "pz_screenshot",
    "pz_serve_quarto",
    "pz_serve_shiny",
    "pz_serve_static",
    "pz_set_files",
    "pz_set_shiny_input",
    "pz_set_value",
    "pz_stage",
    "pz_stage_annotate",
    "pz_stage_fonts",
    "pz_stage_frame",
    "pz_wait",
    "pz_wait_for_js",
    "pz_wait_for_navigation",
    "pz_wait_for_shiny_idle",
    "pz_wait_for_stable",
    "pz_with_page"
  ],
  "_help": [
    {
      "page": "paparazzi-actions",
      "title": "How actions work",
      "topics": [
        "paparazzi-actions"
      ]
    },
    {
      "page": "pz_act_blur",
      "title": "Blur the focused element",
      "topics": [
        "pz_act_blur"
      ]
    },
    {
      "page": "pz_act_click",
      "title": "Click an element",
      "topics": [
        "pz_act_click"
      ]
    },
    {
      "page": "pz_act_drag",
      "title": "Drag an element to another element or by an offset",
      "topics": [
        "pz_act_drag"
      ]
    },
    {
      "page": "pz_act_focus",
      "title": "Focus an element",
      "topics": [
        "pz_act_focus"
      ]
    },
    {
      "page": "pz_act_hover",
      "title": "Hover the pointer over an element",
      "topics": [
        "pz_act_hover"
      ]
    },
    {
      "page": "pz_act_press",
      "title": "Press key combinations",
      "topics": [
        "pz_act_press"
      ]
    },
    {
      "page": "pz_act_scroll",
      "title": "Scroll the page or an element into view",
      "topics": [
        "pz_act_scroll"
      ]
    },
    {
      "page": "pz_act_select_text",
      "title": "Select text inside an element",
      "topics": [
        "pz_act_select_text"
      ]
    },
    {
      "page": "pz_act_type",
      "title": "Type text into an element",
      "topics": [
        "pz_act_type"
      ]
    },
    {
      "page": "pz_annotate",
      "title": "Mark page elements",
      "topics": [
        "pz_annotate"
      ]
    },
    {
      "page": "pz_annotate_callout",
      "title": "Add text callouts to page elements",
      "topics": [
        "pz_annotate_callout"
      ]
    },
    {
      "page": "pz_annotate_caption",
      "title": "Add a screen-space caption",
      "topics": [
        "pz_annotate_caption"
      ]
    },
    {
      "page": "pz_annotate_clear",
      "title": "Clear page annotations",
      "topics": [
        "pz_annotate_clear"
      ]
    },
    {
      "page": "pz_annotate_redact",
      "title": "Redact page elements",
      "topics": [
        "pz_annotate_redact"
      ]
    },
    {
      "page": "pz_annotate_spotlight",
      "title": "Spotlight page elements",
      "topics": [
        "pz_annotate_spotlight"
      ]
    },
    {
      "page": "pz_camera",
      "title": "Move the recording camera",
      "topics": [
        "pz_camera"
      ]
    },
    {
      "page": "pz_camera_reset",
      "title": "Reset the recording camera",
      "topics": [
        "pz_camera_reset"
      ]
    },
    {
      "page": "pz_chromote",
      "title": "Get the underlying ChromoteSession",
      "topics": [
        "pz_chromote"
      ]
    },
    {
      "page": "pz_close",
      "title": "Close a page",
      "topics": [
        "pz_close"
      ]
    },
    {
      "page": "pz_cursor_hide",
      "title": "Hide the overlay cursor",
      "topics": [
        "pz_cursor_hide"
      ]
    },
    {
      "page": "pz_cursor_leave",
      "title": "Move the overlay cursor out of the frame",
      "topics": [
        "pz_cursor_leave"
      ]
    },
    {
      "page": "pz_cursor_move",
      "title": "Move the overlay cursor to an element",
      "topics": [
        "pz_cursor_move"
      ]
    },
    {
      "page": "pz_cursor_show",
      "title": "Show the overlay cursor",
      "topics": [
        "pz_cursor_show"
      ]
    },
    {
      "page": "pz_device",
      "title": "Set the page's size and display settings",
      "topics": [
        "pz_device"
      ]
    },
    {
      "page": "pz_example",
      "title": "Paths to example pages and apps",
      "topics": [
        "pz_example"
      ]
    },
    {
      "page": "pz_expect_attr",
      "title": "Expect attributes",
      "topics": [
        "pz_expect_attr"
      ]
    },
    {
      "page": "pz_expect_checked",
      "title": "Expect elements to be checked",
      "topics": [
        "pz_expect_checked"
      ]
    },
    {
      "page": "pz_expect_class",
      "title": "Expect a class",
      "topics": [
        "pz_expect_class"
      ]
    },
    {
      "page": "pz_expect_count",
      "title": "Expect a number of matching elements",
      "topics": [
        "pz_expect_count"
      ]
    },
    {
      "page": "pz_expect_enabled",
      "title": "Expect elements to be enabled",
      "topics": [
        "pz_expect_enabled"
      ]
    },
    {
      "page": "pz_expect_exists",
      "title": "Expect at least one element to match",
      "topics": [
        "pz_expect_exists"
      ]
    },
    {
      "page": "pz_expect_focused",
      "title": "Expect elements to be focused",
      "topics": [
        "pz_expect_focused"
      ]
    },
    {
      "page": "pz_expect_in_viewport",
      "title": "Expect elements to be in the viewport",
      "topics": [
        "pz_expect_in_viewport"
      ]
    },
    {
      "page": "pz_expect_js",
      "title": "Expect a JavaScript predicate to hold",
      "topics": [
        "pz_expect_js"
      ]
    },
    {
      "page": "pz_expect_style",
      "title": "Expect computed styles",
      "topics": [
        "pz_expect_style"
      ]
    },
    {
      "page": "pz_expect_text",
      "title": "Expect element text content",
      "topics": [
        "pz_expect_text"
      ]
    },
    {
      "page": "pz_expect_title",
      "title": "Expect the page title",
      "topics": [
        "pz_expect_title"
      ]
    },
    {
      "page": "pz_expect_url",
      "title": "Expect the page URL",
      "topics": [
        "pz_expect_url"
      ]
    },
    {
      "page": "pz_expect_value",
      "title": "Expect element values",
      "topics": [
        "pz_expect_value"
      ]
    },
    {
      "page": "pz_expect_visible",
      "title": "Expect elements to be visible",
      "topics": [
        "pz_expect_hidden",
        "pz_expect_visible"
      ]
    },
    {
      "page": "pz_find",
      "title": "Find elements and push them as the current scope",
      "topics": [
        "pz_find"
      ]
    },
    {
      "page": "pz_find_first",
      "title": "Find the first match and push it as the current scope",
      "topics": [
        "pz_find_first"
      ]
    },
    {
      "page": "pz_find_last",
      "title": "Find the last match and push it as the current scope",
      "topics": [
        "pz_find_last"
      ]
    },
    {
      "page": "pz_find_nth",
      "title": "Find the nth match and push it as the current scope",
      "topics": [
        "pz_find_nth"
      ]
    },
    {
      "page": "pz_find_pop",
      "title": "Pop the current scope",
      "topics": [
        "pz_find_pop"
      ]
    },
    {
      "page": "pz_find_reset",
      "title": "Clear all scope, back to the root",
      "topics": [
        "pz_find_reset"
      ]
    },
    {
      "page": "pz_font_bunny",
      "title": "Declare a font from Bunny Fonts",
      "topics": [
        "pz_font_bunny"
      ]
    },
    {
      "page": "pz_font_file",
      "title": "Declare a font from a local file",
      "topics": [
        "pz_font_file"
      ]
    },
    {
      "page": "pz_font_google",
      "title": "Declare a font from Google Fonts",
      "topics": [
        "pz_font_google"
      ]
    },
    {
      "page": "pz_frame",
      "title": "Frame a capture region",
      "topics": [
        "pz_frame"
      ]
    },
    {
      "page": "pz_get_attr",
      "title": "Read an attribute of matching elements",
      "topics": [
        "pz_get_attr"
      ]
    },
    {
      "page": "pz_get_count",
      "title": "Count matching elements",
      "topics": [
        "pz_get_count"
      ]
    },
    {
      "page": "pz_get_elements",
      "title": "Describe matching elements",
      "topics": [
        "pz_get_elements"
      ]
    },
    {
      "page": "pz_get_html",
      "title": "Read the HTML of matching elements",
      "topics": [
        "pz_get_html"
      ]
    },
    {
      "page": "pz_get_rect",
      "title": "Read the geometry of matching elements",
      "topics": [
        "pz_get_rect"
      ]
    },
    {
      "page": "pz_get_style",
      "title": "Read computed styles of matching elements",
      "topics": [
        "pz_get_style"
      ]
    },
    {
      "page": "pz_get_text",
      "title": "Read the text of matching elements",
      "topics": [
        "pz_get_text"
      ]
    },
    {
      "page": "pz_get_title",
      "title": "Read the page title",
      "topics": [
        "pz_get_title"
      ]
    },
    {
      "page": "pz_get_url",
      "title": "Read the page URL",
      "topics": [
        "pz_get_url"
      ]
    },
    {
      "page": "pz_get_value",
      "title": "Read the value of matching elements",
      "topics": [
        "pz_get_value"
      ]
    },
    {
      "page": "pz_inspect",
      "title": "Inspect the current page state",
      "topics": [
        "pz_inspect"
      ]
    },
    {
      "page": "pz_js",
      "title": "Evaluate JavaScript in the page",
      "topics": [
        "pz_js"
      ]
    },
    {
      "page": "pz_loc",
      "title": "Locate elements by CSS, with text, position, and scope qualifiers",
      "topics": [
        "pz_loc"
      ]
    },
    {
      "page": "pz_nav_goto",
      "title": "Navigate the page",
      "topics": [
        "pz_nav_back",
        "pz_nav_forward",
        "pz_nav_goto",
        "pz_nav_reload"
      ]
    },
    {
      "page": "pz_open",
      "title": "Open a page",
      "topics": [
        "pz_open"
      ]
    },
    {
      "page": "pz_record",
      "title": "Record a block of code",
      "topics": [
        "pz_record"
      ]
    },
    {
      "page": "pz_record_hold",
      "title": "Hold the current frame while recording",
      "topics": [
        "pz_record_hold"
      ]
    },
    {
      "page": "pz_record_pause",
      "title": "Pause and resume a recording",
      "topics": [
        "pz_record_pause",
        "pz_record_resume"
      ]
    },
    {
      "page": "pz_record_start",
      "title": "Record a page interaction",
      "topics": [
        "pz_record_start"
      ]
    },
    {
      "page": "pz_record_stop",
      "title": "Stop a recording and write the video",
      "topics": [
        "pz_record_stop"
      ]
    },
    {
      "page": "pz_screenshot",
      "title": "Take a screenshot",
      "topics": [
        "pz_screenshot"
      ]
    },
    {
      "page": "pz_serve_quarto",
      "title": "Serve a document or project with Quarto",
      "topics": [
        "pz_serve_quarto"
      ]
    },
    {
      "page": "pz_serve_shiny",
      "title": "Run a Shiny app in a background process",
      "topics": [
        "pz_serve_shiny"
      ]
    },
    {
      "page": "pz_serve_static",
      "title": "Serve static files over HTTP",
      "topics": [
        "pz_serve_static"
      ]
    },
    {
      "page": "pz_set_files",
      "title": "Attach files to a file input",
      "topics": [
        "pz_set_files"
      ]
    },
    {
      "page": "pz_set_shiny_input",
      "title": "Set a bound Shiny input",
      "topics": [
        "pz_set_shiny_input"
      ]
    },
    {
      "page": "pz_set_value",
      "title": "Set the value of a form control",
      "topics": [
        "pz_set_value"
      ]
    },
    {
      "page": "pz_stage",
      "title": "Stage animation settings",
      "topics": [
        "pz_stage"
      ]
    },
    {
      "page": "pz_stage_annotate",
      "title": "Stage annotation style defaults",
      "topics": [
        "pz_stage_annotate"
      ]
    },
    {
      "page": "pz_stage_fonts",
      "title": "Stage fonts for annotations and captions",
      "topics": [
        "pz_stage_fonts"
      ]
    },
    {
      "page": "pz_stage_frame",
      "title": "Stage the default framing",
      "topics": [
        "pz_stage_frame"
      ]
    },
    {
      "page": "pz_wait",
      "title": "Wait while pumping the page's event loop",
      "topics": [
        "pz_wait"
      ]
    },
    {
      "page": "pz_wait_for_js",
      "title": "Wait until a JavaScript condition holds",
      "topics": [
        "pz_wait_for_js"
      ]
    },
    {
      "page": "pz_wait_for_navigation",
      "title": "Wait for a navigation to finish",
      "topics": [
        "pz_wait_for_navigation"
      ]
    },
    {
      "page": "pz_wait_for_shiny_idle",
      "title": "Wait until a Shiny page is idle",
      "topics": [
        "pz_wait_for_shiny_idle"
      ]
    },
    {
      "page": "pz_wait_for_stable",
      "title": "Wait until an element stops changing",
      "topics": [
        "pz_wait_for_stable"
      ]
    },
    {
      "page": "pz_with_page",
      "title": "Open a page that closes when a block or calling frame exits",
      "topics": [
        "pz_local_page",
        "pz_with_page"
      ]
    }
  ],
  "_pkglogo": "https://github.com/posit-dev/paparazzi/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/posit-dev/paparazzi/raw/HEAD/README.md",
  "_rundeps": [
    "AsioHeaders",
    "chromote",
    "cli",
    "cpp11",
    "curl",
    "fastmap",
    "glue",
    "jsonlite",
    "later",
    "lifecycle",
    "magrittr",
    "otel",
    "pillar",
    "pkgconfig",
    "processx",
    "promises",
    "ps",
    "R6",
    "Rcpp",
    "rlang",
    "tibble",
    "utf8",
    "vctrs",
    "websocket",
    "withr",
    "zip"
  ],
  "_vignettes": [
    {
      "source": "agents-locators-and-scopes.Rmd",
      "filename": "agents-locators-and-scopes.html",
      "title": "Agent guide: Locators and scopes",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-10-01 13:25:13",
      "modified": "2026-10-01 13:25:13",
      "commits": 1
    },
    {
      "source": "agents-pages-and-serving.Rmd",
      "filename": "agents-pages-and-serving.html",
      "title": "Agent guide: Pages and serving",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-10-01 13:25:13",
      "modified": "2026-10-01 13:25:13",
      "commits": 1
    },
    {
      "source": "agents-recording-and-staging.Rmd",
      "filename": "agents-recording-and-staging.html",
      "title": "Agent guide: Recording and staging",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-10-01 13:25:13",
      "modified": "2026-10-01 13:25:13",
      "commits": 1
    },
    {
      "source": "agents-screenshots-and-annotations.Rmd",
      "filename": "agents-screenshots-and-annotations.html",
      "title": "Agent guide: Screenshots and annotations",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-10-01 13:25:13",
      "modified": "2026-10-01 13:25:13",
      "commits": 1
    },
    {
      "source": "agents-shiny.Rmd",
      "filename": "agents-shiny.html",
      "title": "Agent guide: Shiny",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-10-01 13:25:13",
      "modified": "2026-10-01 13:25:13",
      "commits": 1
    },
    {
      "source": "agents-testing.Rmd",
      "filename": "agents-testing.html",
      "title": "Agent guide: Testing",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-10-01 13:25:13",
      "modified": "2026-10-01 13:25:13",
      "commits": 1
    },
    {
      "source": "agents.Rmd",
      "filename": "agents.html",
      "title": "paparazzi for coding agents",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-10-01 13:25:13",
      "modified": "2026-10-01 13:25:13",
      "commits": 1
    }
  ],
  "_score": 4.90200289135073,
  "_indexed": true,
  "_nocasepkg": "paparazzi",
  "_universes": [
    "posit-dev",
    "gadenbuie"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.0.9000",
      "date": "2026-10-14T19:01:39.000Z",
      "distro": "resolute",
      "commit": "ab8fc677a3dff078a409d419b091a6b233c7abbd",
      "fileid": "https://r2.ropensci.org/839aa540b8388cc23081c5dc7a4702d6dbf01fa8f432ac03ab4ddc17fbe7b8d9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/posit-dev/actions/runs/38619238111"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.0.0.9000",
      "date": "2026-10-14T19:01:46.000Z",
      "distro": "resolute",
      "commit": "ab8fc677a3dff078a409d419b091a6b233c7abbd",
      "fileid": "https://r2.ropensci.org/caf0534b90f230846e8b58dc9425c41fb8064fd01dc2cbfe55d22bc994b2c1f6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/posit-dev/actions/runs/38619238111"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.0.9000",
      "date": "2026-10-14T19:12:34.000Z",
      "commit": "ab8fc677a3dff078a409d419b091a6b233c7abbd",
      "fileid": "https://r2.ropensci.org/7718c313a56571a7087f070bc84adf03888b08e5a875eb993036f122282905df",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/posit-dev/actions/runs/38619238111"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.0.0.9000",
      "date": "2026-10-14T19:10:01.000Z",
      "commit": "ab8fc677a3dff078a409d419b091a6b233c7abbd",
      "fileid": "https://r2.ropensci.org/29b1b634f563242a69054c3099599d59be6e987c9b7c92e177daa6f3803db716",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/posit-dev/actions/runs/38619238111"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.0.0.9000",
      "date": "2026-10-14T19:01:53.000Z",
      "commit": "ab8fc677a3dff078a409d419b091a6b233c7abbd",
      "fileid": "https://r2.ropensci.org/a7aa197be3dc529a9df201a15361eca9dc750c284f741ece9e31849cbddb866b",
      "status": "success",
      "buildurl": "https://github.com/r-universe/posit-dev/actions/runs/38619238111"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-10-14T19:00:40.000Z",
      "commit": "ab8fc677a3dff078a409d419b091a6b233c7abbd",
      "fileid": "https://r2.ropensci.org/dd6536841afa05e2f68dc718bd6f0d832480fd076af36a8f96753ef3febdd5a6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/posit-dev/actions/runs/38619238111"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-10-14T19:00:39.000Z",
      "commit": "ab8fc677a3dff078a409d419b091a6b233c7abbd",
      "fileid": "https://r2.ropensci.org/c137084b78702e6d407576fa5665c2da15abcf755c97d8f952301a5b454ed5ba",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/posit-dev/actions/runs/38619238111"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.0.0.9000",
      "date": "2026-10-14T19:00:54.000Z",
      "commit": "ab8fc677a3dff078a409d419b091a6b233c7abbd",
      "fileid": "https://r2.ropensci.org/5016a7b28a1d9551960575160852bc372a27e8be5f27a3f70606027f11ec4226",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/posit-dev/actions/runs/38619238111"
    }
  ]
}