{
  "_id": "6a3a63156265ec60d6213bde",
  "Package": "dragmapr",
  "Title": "Create Draggable Plots from Projected Geometry",
  "Version": "0.2.0",
  "Authors@R": "person(\"George\", \"Arthur\", , \"prigasgenthian48@gmail.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-1975-1459\"))",
  "Description": "Creates interactive draggable plots from grouped projected\n'sf' geometry. The primary deliverable is a browser-based 'D3'\nhelper where regions and labels can be moved freely; users\ndrag, then copy or download the resulting offset tables. Labels\ncan be derived automatically with make_region_labels(),\nsupplied directly with as_drag_labels(), and their moved\npositions saved and restored with read_label_state() and\napply_label_state(). Hierarchical spatial datasets are\nsupported via make_hierarchy_key() and inherit_layout(), which\npropagate parent-level drag offsets to finer child groupings.\nAutomatic starting layouts are provided by suggest_offsets()\nusing radial, grid, or directional algorithms. Spatial file\ndiagnostics are available through dragmapr_diagnostics(). When\na reproducible static image is also needed,\nrender_dragged_map() reconstructs the layout as a 'ggplot2'\nplot from the source geometry plus the exported offset tables.\nProject bundles can be written with write_dragmapr_project()\nand rendered with render_dragmapr_project(). The interactive\nlayer is built on the 'D3' library: Bostock, Ogievetsky and\nHeer (2011) <doi:10.1109/TVCG.2011.185>. Spatial data handling\nuses the 'sf' package: Pebesma (2018)\n<doi:10.32614/RJ-2018-009>.",
  "License": "MIT + file LICENSE",
  "URL": "https://prigasg.github.io/dragmapr/",
  "BugReports": "https://github.com/PrigasG/dragmapr/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/pak/sysreqs": "libabsl-dev cmake libgdal-dev gdal-bin libgeos-dev\nlibssl-dev libproj-dev libsqlite3-dev libudunits2-dev",
  "Repository": "https://prigasg.r-universe.dev",
  "Date/Publication": "2026-06-11 04:14:17 UTC",
  "RemoteUrl": "https://github.com/prigasg/dragmapr",
  "RemoteRef": "HEAD",
  "RemoteSha": "0cd9c2ae8e268ffcce42c9a8c1fc42ed60f75297",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-23 10:39:05 UTC",
    "User": "root"
  },
  "Author": "George Arthur [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-1975-1459>)",
  "Maintainer": "George Arthur <prigasgenthian48@gmail.com>",
  "MD5sum": "0d697e300ca7cb1af10fcbce4a049221",
  "_user": "prigasg",
  "_type": "src",
  "_file": "dragmapr_0.2.0.tar.gz",
  "_fileid": "1d61826ea07764ce9f5e7d378f64d9187e53175b6fb9fb527298e1d5f47c2f80",
  "_filesize": 1147350,
  "_sha256": "1d61826ea07764ce9f5e7d378f64d9187e53175b6fb9fb527298e1d5f47c2f80",
  "_created": "2026-06-23T10:39:05.000Z",
  "_published": "2026-06-23T10:42:29.500Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 82934594640,
      "time": 168,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7818467458"
    },
    {
      "job": 82934594723,
      "time": 166,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7818467518"
    },
    {
      "job": 82934594690,
      "time": 115,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7818449434"
    },
    {
      "job": 82934594673,
      "time": 134,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7818464991"
    },
    {
      "job": 82933930093,
      "time": 226,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7818406852"
    },
    {
      "job": 82934594708,
      "time": 134,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7818455313"
    },
    {
      "job": 82934594695,
      "time": 143,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7818458276"
    },
    {
      "job": 82934594717,
      "time": 139,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7818457326"
    },
    {
      "job": 82934594757,
      "time": 110,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7818447849"
    }
  ],
  "_buildurl": "https://github.com/r-universe/prigasg/actions/runs/28020065601",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/prigasg/dragmapr",
  "_commit": {
    "id": "0cd9c2ae8e268ffcce42c9a8c1fc42ed60f75297",
    "author": "George Arthur <prigasgenthian48@gmail.com>",
    "committer": "George Arthur <prigasgenthian48@gmail.com>",
    "message": "Update spatial studio bloom workflow\n",
    "time": 1781151257
  },
  "_maintainer": {
    "name": "George Arthur",
    "email": "prigasgenthian48@gmail.com",
    "login": "prigasg",
    "orcid": "0000-0002-1975-1459",
    "description": "Code admirer and learner",
    "uuid": 55806509
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "sf",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "glasstabs",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "miniUI",
      "role": "Suggests"
    },
    {
      "package": "pkgdown",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "shiny",
      "role": "Suggests"
    },
    {
      "package": "shinyWidgets",
      "version": ">= 0.8.6",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "prigasg",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-22",
      "n": 16
    },
    {
      "week": "2026-23",
      "n": 17
    },
    {
      "week": "2026-24",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "v0.0.0.9000",
      "date": "2026-05-28"
    },
    {
      "name": "v0.1.0",
      "date": "2026-06-05"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "prigasg",
      "count": 36,
      "uuid": 55806509
    }
  ],
  "_userbio": {
    "uuid": 55806509,
    "type": "user",
    "name": "George Arthur",
    "followers": 1,
    "description": "Code admirer and learner"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/dragmapr"
  },
  "_devurl": "https://github.com/prigasg/dragmapr",
  "_pkgdown": "https://prigasg.github.io/dragmapr/",
  "_searchresults": 0,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/dragmapr.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/prigasg/dragmapr",
  "_realowner": "prigasg",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.2.0",
      "date": "2026-06-22"
    }
  ],
  "_exports": [
    "apply_label_offsets",
    "apply_label_state",
    "apply_offsets",
    "as_drag_annotations",
    "as_drag_labels",
    "build_elastic_transition",
    "create_layout_snapshot",
    "drag_map_prototype",
    "dragmapr_addin",
    "dragmapr_diagnostics",
    "dragmapr_iframe_bridge",
    "example_hhs_layout",
    "example_panel_layout",
    "inherit_layout",
    "layout_metrics",
    "make_group_boundaries",
    "make_hierarchy_key",
    "make_labels",
    "make_region_labels",
    "prepare_dragmapr_sf",
    "read_dragmapr_project",
    "read_dragmapr_sf_upload",
    "read_dragmapr_sf_url",
    "read_label_offsets",
    "read_label_state",
    "read_offsets",
    "render_dragged_map",
    "render_dragmapr_project",
    "restore_layout_snapshot",
    "select_label_ids",
    "suggest_offsets",
    "transition_options",
    "write_dragmapr_project"
  ],
  "_help": [
    {
      "page": "apply_label_offsets",
      "title": "Apply label-specific offsets to a label table",
      "topics": [
        "apply_label_offsets"
      ]
    },
    {
      "page": "apply_label_state",
      "title": "Apply draggable label state to a label table",
      "topics": [
        "apply_label_state"
      ]
    },
    {
      "page": "apply_offsets",
      "title": "Apply rigid offsets to grouped sf geometries",
      "topics": [
        "apply_offsets"
      ]
    },
    {
      "page": "as_drag_annotations",
      "title": "Coerce data to draggable annotation boxes",
      "topics": [
        "as_drag_annotations"
      ]
    },
    {
      "page": "as_drag_labels",
      "title": "Coerce data to a drag label table",
      "topics": [
        "as_drag_labels"
      ]
    },
    {
      "page": "build_elastic_transition",
      "title": "Build a local elastic parent-to-child transition",
      "topics": [
        "build_elastic_transition"
      ]
    },
    {
      "page": "create_layout_snapshot",
      "title": "Save a layout snapshot for a grouped sf dataset",
      "topics": [
        "create_layout_snapshot"
      ]
    },
    {
      "page": "drag_map_prototype",
      "title": "Write a draggable plot prototype HTML file",
      "topics": [
        "drag_map_prototype"
      ]
    },
    {
      "page": "dragmapr_addin",
      "title": "RStudio addin for the interactive drag-map prototype",
      "topics": [
        "dragmapr_addin"
      ]
    },
    {
      "page": "dragmapr_diagnostics",
      "title": "Summarise a spatial dataset for use with dragmapr",
      "topics": [
        "dragmapr_diagnostics"
      ]
    },
    {
      "page": "dragmapr_iframe_bridge",
      "title": "Build the Shiny iframe bridge JavaScript for a draggable helper",
      "topics": [
        "dragmapr_iframe_bridge"
      ]
    },
    {
      "page": "example_hhs_layout",
      "title": "Build a small explodemap-style HHS example layout",
      "topics": [
        "example_hhs_layout"
      ]
    },
    {
      "page": "example_panel_layout",
      "title": "Build a non-map panel layout example",
      "topics": [
        "example_panel_layout"
      ]
    },
    {
      "page": "inherit_layout",
      "title": "Inherit region offsets from a coarser to a finer grouping column",
      "topics": [
        "inherit_layout"
      ]
    },
    {
      "page": "layout_metrics",
      "title": "Measure mental-map stability between two layouts",
      "topics": [
        "layout_metrics"
      ]
    },
    {
      "page": "make_group_boundaries",
      "title": "Build dotted group-drag boundaries for expanded groups",
      "topics": [
        "make_group_boundaries"
      ]
    },
    {
      "page": "make_hierarchy_key",
      "title": "Build composite group keys from multiple columns",
      "topics": [
        "make_hierarchy_key"
      ]
    },
    {
      "page": "make_labels",
      "title": "Derive one label anchor per draggable region",
      "topics": [
        "make_labels"
      ]
    },
    {
      "page": "make_region_labels",
      "title": "Derive one default label per draggable region",
      "topics": [
        "make_region_labels"
      ]
    },
    {
      "page": "prepare_dragmapr_sf",
      "title": "Prepare an sf object for use with dragmapr",
      "topics": [
        "prepare_dragmapr_sf"
      ]
    },
    {
      "page": "read_dragmapr_project",
      "title": "Read a dragmapr project bundle",
      "topics": [
        "read_dragmapr_project"
      ]
    },
    {
      "page": "read_dragmapr_sf_upload",
      "title": "Read an sf object from a Shiny file upload",
      "topics": [
        "read_dragmapr_sf_upload"
      ]
    },
    {
      "page": "read_dragmapr_sf_url",
      "title": "Download and read an sf object from a URL",
      "topics": [
        "read_dragmapr_sf_url"
      ]
    },
    {
      "page": "read_label_offsets",
      "title": "Read label offsets from CSV",
      "topics": [
        "read_label_offsets"
      ]
    },
    {
      "page": "read_label_state",
      "title": "Read draggable label state from CSV",
      "topics": [
        "read_label_state"
      ]
    },
    {
      "page": "read_offsets",
      "title": "Read region offsets from CSV",
      "topics": [
        "read_offsets"
      ]
    },
    {
      "page": "render_dragged_map",
      "title": "Render an adjusted draggable plot with labels",
      "topics": [
        "render_dragged_map"
      ]
    },
    {
      "page": "render_dragmapr_project",
      "title": "Render a static map from a Spatial Studio project bundle",
      "topics": [
        "render_dragmapr_project"
      ]
    },
    {
      "page": "restore_layout_snapshot",
      "title": "Restore a layout snapshot",
      "topics": [
        "restore_layout_snapshot"
      ]
    },
    {
      "page": "select_label_ids",
      "title": "Select a readable subset of label IDs",
      "topics": [
        "select_label_ids"
      ]
    },
    {
      "page": "suggest_offsets",
      "title": "Suggest automatic region offsets for a draggable map",
      "topics": [
        "suggest_offsets"
      ]
    },
    {
      "page": "transition_options",
      "title": "Options for local elastic hierarchy transitions",
      "topics": [
        "transition_options"
      ]
    },
    {
      "page": "write_dragmapr_project",
      "title": "Write a dragmapr project bundle",
      "topics": [
        "write_dragmapr_project"
      ]
    }
  ],
  "_pkglogo": "https://github.com/prigasg/dragmapr/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/prigasg/dragmapr/raw/HEAD/README.md",
  "_rundeps": [
    "class",
    "classInt",
    "cli",
    "cpp11",
    "DBI",
    "e1071",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "jsonlite",
    "KernSmooth",
    "labeling",
    "lifecycle",
    "MASS",
    "proxy",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "s2",
    "S7",
    "scales",
    "sf",
    "units",
    "vctrs",
    "viridisLite",
    "withr",
    "wk"
  ],
  "_vignettes": [
    {
      "source": "dragmap-demo.Rmd",
      "filename": "dragmap-demo.html",
      "title": "Dragmap demo",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-06-05 14:44:18",
      "modified": "2026-06-08 19:58:52",
      "commits": 2
    },
    {
      "source": "example-gallery.Rmd",
      "filename": "example-gallery.html",
      "title": "Example gallery",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Explodemap-style HHS Fixture",
        "Non-map Panels",
        "CSV Round Trip",
        "Labels, Boxes, And Connectors",
        "Selected Labels And Legend Keys",
        "Movement Context",
        "Shiny"
      ],
      "created": "2026-05-27 11:36:42",
      "modified": "2026-06-05 05:05:57",
      "commits": 5
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting started with dragmapr",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Toy geometry",
        "drag_map_prototype() — full parameter reference",
        "Data",
        "Labels",
        "Label styling",
        "Connectors",
        "Movement context",
        "Initial positions",
        "RStudio addin",
        "Colour palette",
        "Legend",
        "Output file and display",
        "Optional: Static rendering",
        "Running examples"
      ],
      "created": "2026-05-27 11:36:42",
      "modified": "2026-06-05 05:05:57",
      "commits": 8
    },
    {
      "source": "hhs-placeholder-shapes-demo.Rmd",
      "filename": "hhs-placeholder-shapes-demo.html",
      "title": "HHS placeholder shapes demo",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-06-05 14:44:18",
      "modified": "2026-06-08 19:58:52",
      "commits": 2
    },
    {
      "source": "labels-and-static-output.Rmd",
      "filename": "labels-and-static-output.html",
      "title": "Labels and static output",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Label Concepts",
        "Info Boxes And Text-only Labels",
        "Connector Lines",
        "Region Movement Plus Label Movement",
        "Legend Filtering And Movement Context",
        "Saving Static Images",
        "Rendering A Spatial Studio Project"
      ],
      "created": "2026-05-27 11:36:42",
      "modified": "2026-06-05 05:05:57",
      "commits": 6
    },
    {
      "source": "shiny-workflows.Rmd",
      "filename": "shiny-workflows.html",
      "title": "Shiny workflows",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Embed A Draggable Plot",
        "Custom Labels",
        "Export A Report Image",
        "Static Only",
        "Spatial Studio",
        "Loading veil",
        "Reusable Shiny Helpers"
      ],
      "created": "2026-05-27 18:42:13",
      "modified": "2026-06-08 19:58:52",
      "commits": 9
    }
  ],
  "_score": 4.954242509439325,
  "_indexed": true,
  "_nocasepkg": "dragmapr",
  "_universes": [
    "prigasg"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-06-23T10:41:42.000Z",
      "distro": "noble",
      "commit": "0cd9c2ae8e268ffcce42c9a8c1fc42ed60f75297",
      "fileid": "66eb07b91e336c6ca3d8b68b37e2fe6f0b50a2b73458d3826b12476431a41407",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/prigasg/actions/runs/28020065601"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-06-23T10:41:42.000Z",
      "distro": "noble",
      "commit": "0cd9c2ae8e268ffcce42c9a8c1fc42ed60f75297",
      "fileid": "df6a478d907c8ae76a19afcec1d18d46b98c5d738988827e4e7ad1737875d972",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/prigasg/actions/runs/28020065601"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.0",
      "date": "2026-06-23T10:40:57.000Z",
      "commit": "0cd9c2ae8e268ffcce42c9a8c1fc42ed60f75297",
      "fileid": "71792a228751ddcf59d591b01d27dbf977a1f465fe958200694a1c7daf3d6ce0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/prigasg/actions/runs/28020065601"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.2.0",
      "date": "2026-06-23T10:41:38.000Z",
      "commit": "0cd9c2ae8e268ffcce42c9a8c1fc42ed60f75297",
      "fileid": "bc5766af1a4030e37969d4aa0780ba255b72edda27d391ef31707b12a85f6e00",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/prigasg/actions/runs/28020065601"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.0",
      "date": "2026-06-23T10:41:39.000Z",
      "commit": "0cd9c2ae8e268ffcce42c9a8c1fc42ed60f75297",
      "fileid": "8e190d74ccd50ea3894ead49c44251f8d3044ab0cb4b2e8d62a0fd5ca9eb4c49",
      "status": "success",
      "buildurl": "https://github.com/r-universe/prigasg/actions/runs/28020065601"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-06-23T10:41:02.000Z",
      "commit": "0cd9c2ae8e268ffcce42c9a8c1fc42ed60f75297",
      "fileid": "ac7dca63e1cced3e13f1951512d3899da95d46a38d60f59aed9867fba1da94df",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/prigasg/actions/runs/28020065601"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-06-23T10:40:31.000Z",
      "commit": "0cd9c2ae8e268ffcce42c9a8c1fc42ed60f75297",
      "fileid": "7755321211a230e8d1d1695fd42ded4725b585172299af18f6b925dad4069ed1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/prigasg/actions/runs/28020065601"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-06-23T10:40:37.000Z",
      "commit": "0cd9c2ae8e268ffcce42c9a8c1fc42ed60f75297",
      "fileid": "503f42e19f4cba15c4afe78caf6b8484061748a5ce3031b172253cdcc24489d1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/prigasg/actions/runs/28020065601"
    }
  ]
}