{
  "_id": "6a1c52e31d7bb097a0a3066e",
  "Package": "tulpaMesh",
  "Title": "Constrained Delaunay Triangulation Meshes for Spatial 'SPDE'\nModels",
  "Version": "0.1.2",
  "Authors@R": "c(\nperson(\"Gilles\", \"Colling\", email = \"gilles.colling051@gmail.com\",\nrole = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0003-3070-6066\")),\nperson(\"Artem\", \"Amirkhanov\",\nrole = c(\"ctb\", \"cph\"),\ncomment = \"CDT library (src/cdt/, MPL-2.0)\"),\nperson(\"William C.\", \"Lenthe\",\nrole = c(\"ctb\", \"cph\"),\ncomment = \"Geometric predicates (src/cdt/predicates.h, BSD-3-Clause)\")\n)",
  "Description": "Generate constrained Delaunay triangulation meshes for use\nwith stochastic partial differential equation (SPDE) spatial\nmodels (Lindgren, Rue and Lindstroem 2011\n<doi:10.1111/j.1467-9868.2011.00777.x>). Provides automatic\nmesh generation from point coordinates with boundary\nconstraints, Ruppert refinement for mesh quality, finite\nelement method (FEM) matrix assembly (mass, stiffness,\nprojection), barrier models, spherical meshes via icosahedral\nsubdivision, and metric graph meshes for network geometries.\nBuilt on the 'CDT' header-only C++ library (Amirkhanov 2024\n<https://github.com/artem-ogre/CDT>). Designed as the mesh\nbackend for the 'tulpa' Bayesian hierarchical modelling engine\nbut usable standalone for any spatial triangulation task.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "SystemRequirements": "C++17, GNU make",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "URL": "https://github.com/gcol33/tulpaMesh",
  "BugReports": "https://github.com/gcol33/tulpaMesh/issues",
  "Config/roxygen2/version": "8.0.0",
  "Config/pak/sysreqs": "make",
  "Repository": "https://gcol33.r-universe.dev",
  "Date/Publication": "2026-05-31 13:10:01 UTC",
  "RemoteUrl": "https://github.com/gcol33/tulpamesh",
  "RemoteRef": "HEAD",
  "RemoteSha": "d00254b1e04e67941fac68280ef2ae4054e4112c",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-05-31 15:20:37 UTC",
    "User": "root"
  },
  "Author": "Gilles Colling [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0003-3070-6066>),\nArtem Amirkhanov [ctb, cph] (CDT library (src/cdt/, MPL-2.0)),\nWilliam C. Lenthe [ctb, cph] (Geometric predicates\n(src/cdt/predicates.h, BSD-3-Clause))",
  "Maintainer": "Gilles Colling <gilles.colling051@gmail.com>",
  "MD5sum": "da7bfe06ce179a65aae50cfb905e6036",
  "_user": "gcol33",
  "_type": "src",
  "_file": "tulpaMesh_0.1.2.tar.gz",
  "_fileid": "d1a4e4a5cc00aa0bf89966b769d099fa85f31ce7d19f91c72d1a28a9b11aca36",
  "_filesize": 300403,
  "_sha256": "d1a4e4a5cc00aa0bf89966b769d099fa85f31ce7d19f91c72d1a28a9b11aca36",
  "_created": "2026-05-31T15:20:37.000Z",
  "_published": "2026-05-31T15:25:23.574Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78735930269,
      "time": 149,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7317841251"
    },
    {
      "job": 78735930267,
      "time": 154,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7317841755"
    },
    {
      "job": 78735930259,
      "time": 132,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7317839665"
    },
    {
      "job": 78735930266,
      "time": 181,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7317844613"
    },
    {
      "job": 78735930261,
      "time": 115,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7317837989"
    },
    {
      "job": 78735930311,
      "time": 248,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7317851245"
    },
    {
      "job": 78735930257,
      "time": 120,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7317838523"
    },
    {
      "job": 78735930254,
      "time": 184,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7317844774"
    },
    {
      "job": 78735714494,
      "time": 213,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7317825882"
    },
    {
      "job": 78735930227,
      "time": 114,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 78735930263,
      "time": 138,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7317840127"
    },
    {
      "job": 78735930265,
      "time": 138,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7317840191"
    },
    {
      "job": 78735930245,
      "time": 125,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7317839026"
    }
  ],
  "_buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/gcol33/tulpamesh",
  "_commit": {
    "id": "d00254b1e04e67941fac68280ef2ae4054e4112c",
    "author": "Gilles Colling <gilles.colling051@gmail.com>",
    "committer": "Gilles Colling <gilles.colling051@gmail.com>",
    "message": "chore: prep 0.1.2 for CRAN (Rbuildignore, WORDLIST, comments, roxygen 8.0.0)\n\nBuild/release hygiene only:\n* .Rbuildignore: exclude dev_notes/, fix-mesh-zero-triangles.md, and\n  the _* preflight scripts so they don't ship in the tarball.\n* inst/WORDLIST: expand with the technical terms surfaced by\n  spelling::spell_check_package() (sf geometry types, projection acronyms,\n  citation fragments, math/geometry terms).\n* cran-comments.md: rewrite for 0.1.2 patch release (the previous text\n  still described the 0.1.1 resubmission).\n* DESCRIPTION: roxygen2 8.0.0 bumped RoxygenNote -> Config/roxygen2/version.\n* man/tulpaMesh-package.Rd: regenerated under roxygen2 8.0.0 (adds the\n  maintainer Authors block the older roxygen had omitted).\n",
    "time": 1780233001
  },
  "_maintainer": {
    "name": "Gilles Colling",
    "email": "gilles.colling051@gmail.com",
    "login": "gcol33",
    "linkedin": "in/gilles-colling-0b3747306",
    "orcid": "0000-0003-3070-6066",
    "twitter": "@Gilles__Colling",
    "description": "Building tools for ecology in R, C++, and Rust.\nWhy did Microsoft have to buy it. Sadge :(",
    "uuid": 25009600
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppParallel",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.12",
      "role": "Imports"
    },
    {
      "package": "Matrix",
      "version": ">= 1.5-0",
      "role": "Imports"
    },
    {
      "package": "RcppParallel",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "fmesher",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "svglite",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "gcol33",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-13",
      "n": 10
    },
    {
      "week": "2026-14",
      "n": 1
    },
    {
      "week": "2026-20",
      "n": 6
    },
    {
      "week": "2026-21",
      "n": 3
    },
    {
      "week": "2026-22",
      "n": 4
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-03-25"
    },
    {
      "name": "v0.1.1",
      "date": "2026-03-30"
    },
    {
      "name": "v0.1.2",
      "date": "2026-05-31"
    }
  ],
  "_topics": [
    "delaunay",
    "ecology",
    "fem",
    "geostatistics",
    "mesh",
    "spatial",
    "spde",
    "cpp"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "gcol33",
      "count": 21,
      "uuid": 25009600
    }
  ],
  "_userbio": {
    "uuid": 25009600,
    "type": "user",
    "name": "Gilles Colling",
    "description": "Building tools for ecology in R, C++, and Rust.\nWhy did Microsoft have to buy it. Sadge :("
  },
  "_downloads": {
    "count": 146,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/tulpaMesh"
  },
  "_devurl": "https://github.com/gcol33/tulpamesh",
  "_searchresults": 9,
  "_rbuild": "4.6.0",
  "_assets": [
    "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",
    "extra/tulpaMesh.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/gcol33/tulpamesh",
  "_realowner": "gcol33",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2026-04-03"
    }
  ],
  "_exports": [
    "as_tulpa_mesh",
    "barrier_triangles",
    "fem_matrices",
    "fem_matrices_nonstationary",
    "fem_matrices_p2",
    "mesh_components",
    "mesh_crs",
    "mesh_quality",
    "mesh_summary",
    "refine_mesh",
    "set_crs",
    "subdivide_mesh",
    "subset_mesh",
    "tulpa_mesh",
    "tulpa_mesh_1d",
    "tulpa_mesh_graph",
    "tulpa_mesh_sphere"
  ],
  "_help": [
    {
      "page": "as_tulpa_mesh",
      "title": "Convert to a tulpa_mesh Object",
      "topics": [
        "as_tulpa_mesh",
        "as_tulpa_mesh.fm_mesh_2d",
        "as_tulpa_mesh.inla.mesh"
      ]
    },
    {
      "page": "barrier_triangles",
      "title": "Identify Barrier Triangles",
      "topics": [
        "barrier_triangles"
      ]
    },
    {
      "page": "fem_matrices",
      "title": "Compute FEM Matrices from a Mesh",
      "topics": [
        "fem_matrices"
      ]
    },
    {
      "page": "fem_matrices_nonstationary",
      "title": "Non-stationary FEM Matrices with Spatially Varying Parameters",
      "topics": [
        "fem_matrices_nonstationary"
      ]
    },
    {
      "page": "fem_matrices_p2",
      "title": "Compute P2 (Quadratic) FEM Matrices",
      "topics": [
        "fem_matrices_p2"
      ]
    },
    {
      "page": "mesh_components",
      "title": "Identify Disconnected Mesh Components",
      "topics": [
        "mesh_components"
      ]
    },
    {
      "page": "mesh_crs",
      "title": "Get or Set the CRS of a Mesh",
      "topics": [
        "mesh_crs",
        "set_crs"
      ]
    },
    {
      "page": "mesh_quality",
      "title": "Per-Triangle Mesh Quality Metrics",
      "topics": [
        "mesh_quality"
      ]
    },
    {
      "page": "mesh_summary",
      "title": "Print Mesh Quality Summary",
      "topics": [
        "mesh_summary"
      ]
    },
    {
      "page": "plot.tulpa_mesh",
      "title": "Plot a Triangular Mesh",
      "topics": [
        "plot.tulpa_mesh"
      ]
    },
    {
      "page": "refine_mesh",
      "title": "Adaptively Refine a Mesh Based on Error Indicators",
      "topics": [
        "refine_mesh"
      ]
    },
    {
      "page": "subdivide_mesh",
      "title": "Subdivide a Mesh",
      "topics": [
        "subdivide_mesh"
      ]
    },
    {
      "page": "subset_mesh",
      "title": "Extract a Submesh from Triangle Indices",
      "topics": [
        "subset_mesh"
      ]
    },
    {
      "page": "tulpa_mesh",
      "title": "Create a Triangular Mesh for SPDE Spatial Models",
      "topics": [
        "print.tulpa_mesh",
        "tulpa_mesh"
      ]
    },
    {
      "page": "tulpa_mesh_1d",
      "title": "Create a 1D Mesh for Temporal SPDE Models",
      "topics": [
        "print.tulpa_mesh_1d",
        "tulpa_mesh_1d"
      ]
    },
    {
      "page": "tulpa_mesh_graph",
      "title": "Create a Metric Graph Mesh",
      "topics": [
        "print.tulpa_mesh_graph",
        "tulpa_mesh_graph"
      ]
    },
    {
      "page": "tulpa_mesh_sphere",
      "title": "Create a Triangular Mesh on the Sphere",
      "topics": [
        "tulpa_mesh_sphere"
      ]
    }
  ],
  "_readme": "https://github.com/gcol33/tulpamesh/raw/HEAD/README.md",
  "_rundeps": [
    "lattice",
    "Matrix",
    "Rcpp",
    "RcppParallel"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "quickstart.Rmd",
      "filename": "quickstart.html",
      "title": "Quick Start",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Your first mesh",
        "Controlling mesh density",
        "Getting FEM matrices",
        "Using a formula interface",
        "Mesh quality",
        "Ruppert refinement",
        "Next steps"
      ],
      "created": "2026-03-25 22:51:53",
      "modified": "2026-03-25 23:19:17",
      "commits": 2
    },
    {
      "source": "workflows.Rmd",
      "filename": "workflows.html",
      "title": "Spatial Workflows",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Custom boundaries",
        "sf polygon boundaries",
        "Polygons with holes",
        "Barrier models",
        "Mesh subdivision",
        "Adaptive refinement",
        "Mesh operations",
        "Extract submesh",
        "Find disconnected components",
        "Converting from fmesher"
      ],
      "created": "2026-03-25 22:51:53",
      "modified": "2026-03-25 23:19:17",
      "commits": 2
    },
    {
      "source": "advanced.Rmd",
      "filename": "advanced.html",
      "title": "Spherical and Temporal Meshes",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Spherical meshes",
        "FEM on the sphere",
        "Projection with lon/lat coordinates",
        "Earth-radius meshes",
        "Euler characteristic",
        "1D temporal meshes",
        "1D FEM properties",
        "Irregular time spacing",
        "Metric graph meshes",
        "Junction detection",
        "FEM on graphs",
        "Subdividing long edges",
        "sf LINESTRING input",
        "Non-stationary FEM",
        "P2 quadratic elements",
        "Parallel FEM assembly"
      ],
      "created": "2026-03-25 22:51:53",
      "modified": "2026-03-25 23:19:17",
      "commits": 2
    }
  ],
  "_score": 4.8750612633917,
  "_indexed": true,
  "_nocasepkg": "tulpamesh",
  "_universes": [
    "gcol33"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-31T15:23:05.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "d00254b1e04e67941fac68280ef2ae4054e4112c",
      "fileid": "a50c8fadc86fe0d6b6a3ce4f4d01f6f6ab4deb4316d1c46c9461a0db6d7d4ca0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-31T15:23:05.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "d00254b1e04e67941fac68280ef2ae4054e4112c",
      "fileid": "c87e6db86ed8bfbe1276d3cb9013608034e2ba85ccd4af0df7fa2ad267ea9ce9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-31T15:22:50.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "d00254b1e04e67941fac68280ef2ae4054e4112c",
      "fileid": "f6d2fedb2183967a8e5ca18abdb65fd46f9093e692a39024ce70eadce08fcd42",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-31T15:23:03.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "d00254b1e04e67941fac68280ef2ae4054e4112c",
      "fileid": "02d80dac55c94362ff2183947f3620b7b85a0b6c8341ca593bbb6d7181b7ac5f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-31T15:22:28.000Z",
      "arch": "aarch64",
      "commit": "d00254b1e04e67941fac68280ef2ae4054e4112c",
      "fileid": "e90d1e566936d6849c62a44227130d50108bb2d40050d3525f970236afa78e78",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-31T15:24:00.000Z",
      "arch": "x86_64",
      "commit": "d00254b1e04e67941fac68280ef2ae4054e4112c",
      "fileid": "033ac1991e1c0efac003d7f5a3a89c05055c01ebbd1726c094c77dc11735685f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-31T15:22:29.000Z",
      "arch": "aarch64",
      "commit": "d00254b1e04e67941fac68280ef2ae4054e4112c",
      "fileid": "6daea24d7e226b3dfab2724381b51f0d27326898154721e6c2c078f676b82fa2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-31T15:23:17.000Z",
      "arch": "x86_64",
      "commit": "d00254b1e04e67941fac68280ef2ae4054e4112c",
      "fileid": "2ea98a70acd5a5d5621bc9209440f52c92dc38781a3ed8f609340863824e3a33",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-31T15:22:14.000Z",
      "arch": "x86_64",
      "commit": "d00254b1e04e67941fac68280ef2ae4054e4112c",
      "fileid": "c26dda8d4f516535d2230c67ee48c841b9de8bbb01bb969b69d79ea14704abfa",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-31T15:22:15.000Z",
      "arch": "x86_64",
      "commit": "d00254b1e04e67941fac68280ef2ae4054e4112c",
      "fileid": "6014b620e372c47f89c6dbb4de8604976d0511d0223c47ff02b501979dbf565b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-31T15:22:07.000Z",
      "arch": "x86_64",
      "commit": "d00254b1e04e67941fac68280ef2ae4054e4112c",
      "fileid": "2db4470860d9c740e61d879ba4b7453f0164d0cfe3c8b0a367ada37ed74aff0f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/26716420222"
    }
  ]
}