{"id":16073253,"url":"https://github.com/emomaxd/twease","last_synced_at":"2025-06-13T04:05:50.237Z","repository":{"id":247857727,"uuid":"826830316","full_name":"emomaxd/Twease","owner":"emomaxd","description":"Twease is a header only C++ library designed to provide utilities for animation, tweening, and easing functions.","archived":false,"fork":false,"pushed_at":"2024-07-13T18:52:56.000Z","size":5,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T10:31:26.262Z","etag":null,"topics":["animation","c-plus-plus","header-only","tweening"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emomaxd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-10T13:12:01.000Z","updated_at":"2024-07-19T07:52:32.000Z","dependencies_parsed_at":"2024-10-12T00:15:12.623Z","dependency_job_id":null,"html_url":"https://github.com/emomaxd/Twease","commit_stats":null,"previous_names":["emomaxd/twease"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/emomaxd/Twease","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emomaxd%2FTwease","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emomaxd%2FTwease/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emomaxd%2FTwease/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emomaxd%2FTwease/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emomaxd","download_url":"https://codeload.github.com/emomaxd/Twease/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emomaxd%2FTwease/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259578199,"owners_count":22879213,"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","c-plus-plus","header-only","tweening"],"created_at":"2024-10-09T08:05:20.117Z","updated_at":"2025-06-13T04:05:50.208Z","avatar_url":"https://github.com/emomaxd.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Twease Library\n===============\n\nOverview\n--------\nTwease is a header only C++ library designed to provide utilities for animation, tweening, and easing functions. It facilitates smooth transitions between values and can be integrated into various applications requiring dynamic value changes over time.\n\nTo see easing functions as visually check [Twease-Visualizer](https://github.com/EmomaxD/TweaseVisualizer) out!\n\nFeatures\n--------\n1. **Tweening**: Interpolate between sequences of values over a specified duration.\n2. **Easing Functions**: Provide various easing functions (e.g., linear, quadratic, cubic) for smooth animations.\n3. **Animation**: Transition smoothly between different states or values.\n4. **Customizable**: Easily integrate into existing C++ projects with customizable interpolation methods and easing functions.\n\n\nAnimation example:\n--------\n```cpp\n#include \u003ciostream\u003e\n#include \u003cvector\u003e\n\n#include \"Twease/Twease.h\"\n\nint main() {\n\n    double deltaTime = 0.016; // 60 FPS\n\n    \n    auto anim = Twease::Animation\u003cdouble\u003e::animate(0.0, 100.0).during(2.0).easing(Twease::cubicIn);\n\n    while (!anim.isCompleted()) {\n        anim.update(deltaTime);\n        std::cout \u003c\u003c \"Current value: \" \u003c\u003c anim.getCurrentValue() \u003c\u003c std::endl;\n    }\n    \n    return 0;\n}\n```\nTweening example:\n--------\n```cpp\n#include \u003ciostream\u003e\n#include \u003cvector\u003e\n\n#include \"Twease/Twease.h\"\n\nint main() {\n\n    auto helloworld = Twease::Tween\u003cchar\u003e({ 'h', 'e', 'l', 'l', 'o' })\n    .to({ 'w', 'o', 'r', 'l', 'd' })\n    .during(50);\n\n\n    for (int i = 0; i \u003c= helloworld.during(); ++i) {\n        std::vector\u003cchar\u003e interpolatedSequence = helloworld.step(static_cast\u003cdouble\u003e(i) / helloworld.during());\n\n        for (char c : interpolatedSequence)\n            std::cout \u003c\u003c c;\n\n        std::cout \u003c\u003c std::endl;\n    }\n    \n    return 0;\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femomaxd%2Ftwease","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femomaxd%2Ftwease","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femomaxd%2Ftwease/lists"}