{"id":13941927,"url":"https://github.com/bupaverse/processanimateR","last_synced_at":"2025-07-20T05:31:31.092Z","repository":{"id":42618772,"uuid":"129872676","full_name":"bupaverse/processanimateR","owner":"bupaverse","description":"Token replay animation for process maps created with processmapR by using SVG animations (SMIL) and the htmlwidget package.","archived":false,"fork":false,"pushed_at":"2024-01-30T14:56:07.000Z","size":7560,"stargazers_count":68,"open_issues_count":24,"forks_count":11,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-07-14T11:33:36.268Z","etag":null,"topics":["animation","bupar","business-process","event-logs","htmlwidgets","process-map","processmining","svg-animations"],"latest_commit_sha":null,"homepage":"https://bupaverse.github.io/processanimateR/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bupaverse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-04-17T08:33:42.000Z","updated_at":"2025-07-10T11:40:15.000Z","dependencies_parsed_at":"2022-08-19T05:00:32.520Z","dependency_job_id":"b133a57b-1129-410e-b2b9-fa965054c655","html_url":"https://github.com/bupaverse/processanimateR","commit_stats":{"total_commits":141,"total_committers":6,"mean_commits":23.5,"dds":"0.11347517730496459","last_synced_commit":"35e5e9feb2bc26b701b15e419aefc520b24df8f2"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/bupaverse/processanimateR","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bupaverse%2FprocessanimateR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bupaverse%2FprocessanimateR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bupaverse%2FprocessanimateR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bupaverse%2FprocessanimateR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bupaverse","download_url":"https://codeload.github.com/bupaverse/processanimateR/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bupaverse%2FprocessanimateR/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266071519,"owners_count":23871940,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animation","bupar","business-process","event-logs","htmlwidgets","process-map","processmining","svg-animations"],"created_at":"2024-08-08T02:01:36.156Z","updated_at":"2025-07-20T05:31:26.050Z","avatar_url":"https://github.com/bupaverse.png","language":"JavaScript","readme":"# processanimateR\n\n\u003e Flexible token replay animation for process maps created by bupaR using SVG animations.\n\n[![](https://cranlogs.r-pkg.org/badges/processanimateR)](https://cran.r-project.org/package=processanimateR)\n[![CRAN\\_Status\\_Badge](https://www.r-pkg.org/badges/version/processanimateR)](https://cran.r-project.org/package=processanimateR)\n[![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://lifecycle.r-lib.org/articles/stages.html#maturing)\n[![Travis-CI Build Status](https://travis-ci.org/bupaverse/processanimateR.svg?branch=master)](https://travis-ci.org/bupaverse/processanimateR)\n\n[![processanimateR example](man/figures/processanimateR-banner.png)](https://bupaverse.github.io/processanimateR/example/processanimateR-banner.html)\n\nFlexible token replay animation for process maps created through the [processmapR](https://github.com/gertjanssenswillen/processmapR/) package from the [bupaR](https://bupar.net) suite, which uses [DiagrammeR](https://github.com/rich-iannone/DiagrammeR/) and [viz.js](https://github.com/mdaines/viz.js) library to render process maps using GraphViz. As alternative renderer [Leaflet](https://leafletjs.com/) with fixed coordinates for activities is also supported.\n\nProcessanimateR provides a [htmlwidget](https://www.htmlwidgets.org/) using SVG animations ([SMIL](https://www.w3.org/TR/2008/REC-SMIL3-20081201/)) to create the animation. Sizes, colors, and many more aspects of the token shapes are customizable based on trace, event attributes, or a secondary data frame if an attribute does not change according to the original event log.\n\n## Getting Started\n\n**WARNING: There are breaking changes in the API of this package between v0.3.0 and v1.0.0**\n\n### Installing\n\nA stable version of ProcessanimateR can be installed from CRAN:\n```r\ninstall.packages(\"processanimateR\")\n```\n\nYou can also use the development or specific released version by using the remotes package. \nNote that the current development version may break without warning. \n```r\n# install the remotes package\nsource(\"https://install-github.me/r-lib/remotes\")\n\n# use remotes to install the latest version of processanimateR\nremotes::install_github(\"bupaverse/processanimateR\")\n\n# or install a specific tag\nremotes::install_github(\"bupaverse/processanimateR@v0.3.0\")\n```\n\n### Warnings and Limitations\n* Tokens travel through the process approximately according to the times at which (start and complete) events of the activities occur. In some cases processanimateR will add a small epsilon time to make sure that the SMIL animation works fine, since there seem to be some limitations with regard to zero duration animations. \n* Be aware that the perceived speed in which tokens travel depends on the length of edges in the process map, which is the result of an automatic layout algorithm and does not represent any kind of real distance between activities. \n* Parallelism is still handled poorly as to be expected from a process map. In particular overlapping start and completion times of activities may result in tokens moving unexpectedly.\n* The timeline slider option cannot be used in Internet Explorer due to missing support for certain SVG animation functions.\n\n### Usage\n\nWe use the `patients` event log provided by the `eventdataR` package. \n```r\nlibrary(processanimateR)\nlibrary(eventdataR)\n```\n\nA basic animation with static color and token size:\n```r\nanimate_process(patients)\n```\n\nDefault token color, size, or image can be changed as follows:\n```r\nanimate_process(example_log, mapping = token_aes(size = token_scale(12), shape = \"rect\"))\nanimate_process(example_log, mapping = token_aes(color = token_scale(\"red\")))\n```\n\nThe example animation on the top of this site:\n```r\nanimate_process(patients, mode = \"relative\", jitter = 10, legend = \"color\",\n  mapping = token_aes(color = token_scale(\"employee\", \n    scale = \"ordinal\", \n    range = RColorBrewer::brewer.pal(7, \"Paired\"))))\n```\n\nTokens can also be assigned images, for example:\n```r\nanimate_process(example_log,\n   mapping = token_aes(shape = \"image\",\n    size = token_scale(10),\n    image = token_scale(\"https://upload.wikimedia.org/wikipedia/commons/5/5f/Pacman.gif\")))\n```\n\nMore advanced usage examples can be found [here](https://bupaverse.github.io/processanimateR/articles/).\n\n## Libraries Used\nThis package makes use of the following libraries:\n\n* [bupaR](https://github.com/gertjanssenswillen/bupaR), for the base process mining functions in R.\n* [viz.js](https://github.com/mdaines/viz.js), for the GraphViz layout;\n* [d3](https://d3js.org), for SVG management;\n* [d3-legend](https://github.com/susielu/d3-legend), to render D3 scales;\n* [fakesmil](https://github.com/FakeSmile/FakeSmile), to provide SMIL support in most browsers;\n* [svg-pan-zoom](https://github.com/bumbu/svg-pan-zoom), for the panning/zooming option;\n* [MomentJS](https://github.com/moment/moment), for parsing and formatting times and durations;\n* [Leaflet](https://leafletjs.com/), for rendering process maps on geographical maps.\n\n## Versioning\n\nWe use [SemVer](https://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/bupaverse/processanimateR/tags). \n\n## License\n\nThis software is licensed under the MIT License - see the [LICENSE](https://github.com/bupaverse/processanimateR/blob/master/LICENSE.md) file for details.\n\n## Acknowledgments\n\nThis software was partly supported by the [HUMAN project](http://humanmanufacturing.eu/), which has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement no. 723737 (HUMAN)\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbupaverse%2FprocessanimateR","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbupaverse%2FprocessanimateR","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbupaverse%2FprocessanimateR/lists"}