{"id":21498395,"url":"https://github.com/aleokdev/guiedit","last_synced_at":"2026-03-27T04:53:24.526Z","repository":{"id":63080036,"uuid":"558934381","full_name":"aleokdev/guiedit","owner":"aleokdev","description":"Easily add an editor to any graphical application","archived":false,"fork":false,"pushed_at":"2022-11-12T15:50:46.000Z","size":438,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-03-15T15:22:59.522Z","etag":null,"topics":["editor","gui","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aleokdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-28T16:20:01.000Z","updated_at":"2023-11-18T00:26:58.000Z","dependencies_parsed_at":"2023-01-22T20:01:05.454Z","dependency_job_id":null,"html_url":"https://github.com/aleokdev/guiedit","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleokdev%2Fguiedit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleokdev%2Fguiedit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleokdev%2Fguiedit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleokdev%2Fguiedit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aleokdev","download_url":"https://codeload.github.com/aleokdev/guiedit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226071036,"owners_count":17569102,"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":["editor","gui","rust"],"created_at":"2024-11-23T16:38:18.085Z","updated_at":"2026-03-27T04:53:19.494Z","avatar_url":"https://github.com/aleokdev.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# guiedit\n[![Crates.io](https://img.shields.io/crates/v/guiedit.svg)](https://crates.io/crates/guiedit)\n[![dependency status](https://deps.rs/crate/guiedit/latest/status.svg)](https://deps.rs/crate/tiled/)\n\n`guiedit` is a Rust library for easily adding a developer GUI to any graphical application.\n\n![Sokoban with guiedit screenshot](res/screenshot-sokoban.png)\n\n## Current State\nThe crate is in a really experimental state right now. Although it is usable, things may change at\nany point. The tree node and inspector are already implemented, but the only backend supported is\nSFML. If you use SFML, feel free to include this crate, but expect to see many breaking changes down\nthe line.\n\nAny issue reports \u0026 PRs are greatly appreciated!\n\n## Goal\nThe goal of this crate is to be able to change a few lines of code in an existing or new codebase\nand instantly get an editor viewport, an object inspector, graphical gizmos, and even state\nloading/saving \u0026 hot code reloading. You can read further details on the \"Progress\" section below.\n\n## Tutorial\nTODO; Check examples for now\n\n\n## Progress\n| Symbol | Meaning |\n| ------ | ------- |\n| ✅     | Done; implemented |\n| ☑️      | Partial implementation |\n| 🚧     | Work-in-progress  |\n| ⌛     | Planned; Queued   |\n\n### Editor \u0026 Common Features\n|   Feature     |   Status  |\n| ------------- | --------- |\n| Inspector with support for `Inspectable` objects | ✅ |\n| `#[derive(Inspectable)]` for structs | ✅ |\n| `#[derive(Inspectable)]` for enums | ✅ |\n| Object tree with support for `TreeNode` objects | ✅ |\n| `#[derive(TreeNode)]` for structs | ✅ |\n| `#[derive(TreeNode)]` for enums | ⌛ |\n| `Inspectable` impl for std \u0026 core types | ☑️🚧 |\n| `TreeNode` impl for std \u0026 core types | ☑️🚧 |\n| Hot code reloading | ⌛ |\n| Graphical gizmo support | ⌛ |\n\n### [`sfml`](https://github.com/jeremyletang/rust-sfml) Integration\n|   Feature     |   Status  |\n| ------------- | --------- |\n| Forwarding all user rendering to offscreen texture | ✅ |\n| Capturing events from the editor and relaying them to user-side | ☑️ |\n| Object inspection via UI | ✅ |\n| Window resizing | ⌛ |\n| `Inspectable` impl for SFML types | ☑️🚧 |\n| Graphical gizmos for `Drawable`s | ⌛ |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleokdev%2Fguiedit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faleokdev%2Fguiedit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleokdev%2Fguiedit/lists"}