{"id":22281258,"url":"https://github.com/shawnscode/crayon","last_synced_at":"2025-04-05T11:11:05.045Z","repository":{"id":17891071,"uuid":"74468754","full_name":"shawnscode/crayon","owner":"shawnscode","description":"A small, portable and extensible game framework written in Rust.","archived":false,"fork":false,"pushed_at":"2023-01-13T23:00:58.000Z","size":4237,"stargazers_count":180,"open_issues_count":28,"forks_count":9,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-04-14T04:41:29.310Z","etag":null,"topics":["entity-component","game-engine","multi-threading","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/shawnscode.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2016-11-22T12:07:01.000Z","updated_at":"2023-11-23T10:01:32.000Z","dependencies_parsed_at":"2023-01-14T12:49:40.930Z","dependency_job_id":null,"html_url":"https://github.com/shawnscode/crayon","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shawnscode%2Fcrayon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shawnscode%2Fcrayon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shawnscode%2Fcrayon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shawnscode%2Fcrayon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shawnscode","download_url":"https://codeload.github.com/shawnscode/crayon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247325693,"owners_count":20920714,"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":["entity-component","game-engine","multi-threading","rust"],"created_at":"2024-12-03T16:16:31.611Z","updated_at":"2025-04-05T11:11:05.023Z","avatar_url":"https://github.com/shawnscode.png","language":"Rust","readme":"# What is This?\n[![Build status](https://travis-ci.org/shawnscode/crayon.svg?branch=master)](https://travis-ci.org/shawnscode/crayon)\n[![Codecov](https://codecov.io/gh/shawnscode/crayon/branch/master/graph/badge.svg)](https://codecov.io/gh/shawnscode/crayon)\n[![Documentation](https://docs.rs/crayon/badge.svg)](https://docs.rs/crayon)\n[![Crate](https://img.shields.io/crates/v/crayon.svg)](https://crates.io/crates/crayon)\n[![License](https://img.shields.io/crates/l/crayon.svg)](https://github.com/shawnscode/crayon/blob/master/LICENSE-APACHE)\n\nCrayon is a small, portable and extensible game framework, which loosely inspired by some amazing blogs on [bitsquid](https://bitsquid.blogspot.de), [molecular](https://blog.molecular-matters.com) and [floooh](http://floooh.github.io/).\n\nSome goals include:\n\n- Intuitive lifetime free interfaces and extensible through external code modules;\n- Run on PCs, Mobiles and Web browsers from the same source;\n- Stateless, layered, multithread render system with OpenGL(ES) 3.0 or WebGL 2.0 backend;\n- Simplified assets workflow and asynchronous data loading from various filesystem;\n- Unified interfaces for handling input devices across platforms;\n- Built from the ground up to focus on multi-thread friendly with a work-stealing job scheduler;\n- etc.\n\nThis project adheres to [Semantic Versioning](http://semver.org/), all notable changes will be documented in this [file](./CHANGELOG.md).\n\n### Quick Example\n\nFor the sake of brevity, you can als run a simple and quick example with commands:\n\n``` sh\ngit clone git@github.com:shawnscode/crayon.git \u0026\u0026 cd crayon/examples\ncargo run --bin render_texture\n```\n\nYou can also check out [examples](./examples) folder for screenshots.\n\n### Assets Workflow\n\nThe asset workflow comes with the version 0.5.0. During the development, the assets could be stored in formats which could producing and editing by authoring tools directly, and it will be compiled into some kind of effecient format for runtime (which is dependent on platform and hardware devices usually).\n\nThe assets manipulation codes are placed under [crayon-tools](https://github.com/shawnscode/crayon-tools), checks out the repository for further details.\n\n### Platform-Specific\n\nThe WebAssembly supports is based on [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) and [web-sys](https://github.com/rustwasm/wasm-bindgen/tree/master/crates/web-sys), you could find detailed build instruction in the [documents](https://rustwasm.github.io/wasm-bindgen/). And there is a simple wasm template under [tools](./tools/wasm-template) folder might helps.\n\n### Screenshots\n\n![ModelViewer](./examples/screenshots/model_viewer.png)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshawnscode%2Fcrayon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshawnscode%2Fcrayon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshawnscode%2Fcrayon/lists"}