{"id":23085441,"url":"https://github.com/arkaht/cpp-curve-editor-x","last_synced_at":"2025-09-10T11:33:00.182Z","repository":{"id":235849815,"uuid":"755245545","full_name":"arkaht/cpp-curve-editor-x","owner":"arkaht","description":"Curve Editor X ─ a C++ and raylib Bézier spline editor for the Curve-X library","archived":false,"fork":false,"pushed_at":"2025-03-09T16:45:48.000Z","size":248,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T15:28:58.292Z","etag":null,"topics":["bezier","cmake","cpp","curve","editor","raylib","raylib-cpp","simple","spline"],"latest_commit_sha":null,"homepage":"https://guthen.itch.io/curve-editor-x","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arkaht.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-09T18:19:42.000Z","updated_at":"2025-03-09T16:45:51.000Z","dependencies_parsed_at":"2025-03-09T17:23:17.625Z","dependency_job_id":"295dff37-d2a4-4ba5-9805-4a4a3937156c","html_url":"https://github.com/arkaht/cpp-curve-editor-x","commit_stats":null,"previous_names":["arkaht/cpp-curve-editor-x"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/arkaht/cpp-curve-editor-x","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkaht%2Fcpp-curve-editor-x","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkaht%2Fcpp-curve-editor-x/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkaht%2Fcpp-curve-editor-x/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkaht%2Fcpp-curve-editor-x/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arkaht","download_url":"https://codeload.github.com/arkaht/cpp-curve-editor-x/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkaht%2Fcpp-curve-editor-x/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274455433,"owners_count":25288557,"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","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bezier","cmake","cpp","curve","editor","raylib","raylib-cpp","simple","spline"],"created_at":"2024-12-16T17:54:51.449Z","updated_at":"2025-09-10T11:33:00.160Z","avatar_url":"https://github.com/arkaht.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Curve-X Editor\n**Curve-X is a small and easy-to-use C++ Bézier library to create 2D-splines with its own GUI editor.**\n\nThis is the repository for the GUI editor, made in C++ with Raylib.\n\nRead the [Curve-X](https://github.com/arkaht/cpp-curve-x) repository's for more detailed information.\n\n![image](https://github.com/arkaht/cpp-curve-x/assets/114919245/a32a058e-9ba1-4add-89f0-de4ad0f14434)\n\u003e Two examples: a geometrical shape curve ([`samples/heart.cvx`](https://github.com/arkaht/cpp-curve-x/blob/master/samples/heart.cvx)) and a timed-based curve ([`samples/controller-gamepad-sensitivity.cvx`](https://github.com/arkaht/cpp-curve-x/blob/master/samples/controller-gamepad-sensitivity.cvx))\n\n## Dependencies \n+ C++17 compiler\n+ CMake 3.11\n\n## Libraries\n+ [Curve-X](https://github.com/arkaht/cpp-curve-x)\n+ [raylib](https://github.com/raysan5/raylib)\n\n## Features\n+ Written in **simple and straightforward C++17** using **snake_case** notation.\n+ Project IDE-independent thanks to **CMake**.\n+ Support for both geometrical shapes and timed-based curves.\n+ Multiple evaluation methods: progress (from 0.0 to 1.0), time (using X-axis) and distance.\n+ Add, remove and move curve points as well as changing their tangent mode.\n+ Evaluate the values of the curves in-editor.\n+ Saving and loading .cvx files inside the editor.\n+ Grid scaling with zoom.\n+ **Free and open-source**.\n\n## Inputs\n+ **Ctrl+S**: Save the selected spline to a file\n+ **Ctrl+L**: Import a spline from a file\n+ **Ctrl+;**: Toggle debug mode\n\nFocusing editor:\n+ **F1**, **F2**, **F3**: Switch curve interpolation mode to Bezier, Time or Distance respectively.\n+ **F**: Fit viewport to all curves.\n+ **TAB**: Toggle visibility of control points.\n+ **Delete**: Delete selected control point.\n+ **Left Click**: Select control or tangent points.\n+ Double **Left Click**: Add a control point to mouse location.\n+ Holding **Ctrl** while moving a point: Snap the selected point to the grid.\n+ Holding **Shift**: Evaluate the selected curve with the current interpolation mode.\n+ **ALT+Wheel**: Change curve drawing thickness.\n+ **Wheel**: Zoom to mouse location.\n\n\nFocusing layers tab:\n+ **Left Click**: Select a curve layer\n+ **Delete**: Delete selected curve layer\n\n## Project Structure\nThis project is split into two Github repositories: the GUI editor (this one) and the [library](https://github.com/arkaht/cpp-curve-x). You are not forced to use the editor, it is entirely optional but it is here to facilitate your experience with Curve-X.\n\n**Folder structure:**\n+ **`libs/`** contains all libraries necessary for the editor to compile\n+ **`src/`** contains source files of the editor","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkaht%2Fcpp-curve-editor-x","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farkaht%2Fcpp-curve-editor-x","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkaht%2Fcpp-curve-editor-x/lists"}