{"id":19773594,"url":"https://github.com/ultraflame4/clir_rs","last_synced_at":"2025-10-07T22:40:39.466Z","repository":{"id":238494925,"uuid":"796494861","full_name":"ultraflame4/clir_rs","owner":"ultraflame4","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-12T15:07:24.000Z","size":247,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"stable","last_synced_at":"2025-02-28T11:45:50.272Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/ultraflame4.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-05-06T03:53:37.000Z","updated_at":"2024-05-12T15:07:07.000Z","dependencies_parsed_at":"2024-05-12T15:46:44.640Z","dependency_job_id":"1f3fa09b-d772-47d9-a9e8-d369f747b11f","html_url":"https://github.com/ultraflame4/clir_rs","commit_stats":null,"previous_names":["ultraflame4/clir_rs"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/ultraflame4/clir_rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultraflame4%2Fclir_rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultraflame4%2Fclir_rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultraflame4%2Fclir_rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultraflame4%2Fclir_rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ultraflame4","download_url":"https://codeload.github.com/ultraflame4/clir_rs/tar.gz/refs/heads/stable","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultraflame4%2Fclir_rs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266913696,"owners_count":24005580,"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-07-24T02:00:09.469Z","response_time":99,"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":[],"created_at":"2024-11-12T05:10:20.122Z","updated_at":"2025-10-07T22:40:34.412Z","avatar_url":"https://github.com/ultraflame4.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CliR.rs\nThe hilarously fast successor of [CliRenderer](https://github.com/ultraflame4/CliR/) written in rust. Most of the features in the python version were kept.\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ch2\u003eImages\u003c/h2\u003e\u003c/summary\u003e\nHere is an example I rendered, using a screenshot of the old version as the image source \\\n\u003ccode\u003e$ clir_rs https://github.com/ultraflame4/CliR/raw/main/resources/img.png\u003c/code\u003e\n       \n![image](https://github.com/ultraflame4/clir_rs/assets/34125174/ec911c89-0dcc-47cd-b246-2d88a2268eb7)\nScreenshot - https://github.com/ultraflame4/CliR/main/resources/img.png \\\nOriginal - Pixabay. (2017, February 25). View Of High Rise Buildings during Day Time\n\n\u003c/details\u003e\n\n\n## Building \u0026 Install\n\u003e [!NOTE]  \n\u003e rust is needed to build \u0026 install this program! See [installing rust](https://www.rust-lang.org/tools/install).\n\nInstall with `cargo install --git https://github.com/ultraflame4/clir_rs`.\n\n## Usage\n```\nUsage: clir_rs.exe \u003csource\u003e [--output \u003coutput\u003e] [--no-autosize] [-w \u003cwidth\u003e] [-h \u003cheight\u003e]\n       [--no-keep-aspect] [--no-color] [--plain-text] [--debug] [--use-original-image-size]\n       [--charset \u003ccharset\u003e]\n\nRenders an image to the console as unicode art\n\nPositional Arguments:\n  source            path to the source image\n\nOptions:\n  --output          saves output to this path.\n  --no-autosize     disables automatic resizing of output size to fit the\n                    terminal if available. Using --width or --height will\n                    override the detected values. When not available or\n                    disabled, autosize sets width to 100, height is derived from\n                    aspect ratio . If --no_keep_aspect is set, height will be\n                    set to 25\n  -w, --width       specify width of the output in number of chars.\n  -h, --height      specify height of the output in number of rows.\n  --no-keep-aspect  disables keeping of aspect ratio when resizing images. No\n                    effect when both --width \u0026 --height is used.\n  --no-color        disables colors, in rendered output. Result will be black \u0026\n                    white\n  --plain-text      enables plain text mode, useful for rendering unicode art.\n  --debug           enable debug outputs, which will be stored in\n                    `./clir_rs_debug/`\n  --use-original-image-size\n                    overrides all size options. Uses the orginal image's size.\n                    Calculation is (image.width / CELL_W, image.height / CELL_H)\n                    Where CELL_W \u0026 CELL_H is typically 2 \u0026 4 respectively.\n  --charset         overrides all size options. Uses the orginal image's size.\n                    Calculation is (image.width / CELL_W, image.height / CELL_H)\n                    Where CELL_W \u0026 CELL_H is typically 2 \u0026 4 respectively.\n  --help            display usage information\n```\n\n\n\n## Benchmarks\nDisclaimer: The benchmarks are not very scientific,as they were not done in a controlled, isloated environment, with multiple runs. \\\n\nAll tests was conducted by rendering `./test_image_2.png` using a fixed size of 1000 x 500, with color. \\\nAll results has been truncated, only showing the timings. \\\nThe new rust version shows the timings taken for each computation section, unfortunately the old python version only prints out the total time taken.\n\nThe tests here were done on my pc which has a i7-13700k.\n\n### CliRenderer (Python)\nCommand:\n```shell\n$ clirender \".\\test_resource\\test_image_2.png\" -w 1000 -h 500\n```\n\nResults:\n```shell\n...\n\n\nFinal image resolution: Character Size ((1000, 328)) Image Size ((2000, 1312))\nFinished in 12.508544683456421 seconds\n```\n\n### CliR.rs (Debug build)\nCommand:\n```shell\n$ ./target/debug/clir_rs.exe \".\\test_resource\\test_image_2.png\" -w 1000 -h 500\n```\n\nResults:\n```shell\n...\n\nSource Image Size (1137x747=849339) | Final Image size (2000x2000=4000000) | Cells count: 500000 (1000x500=500000)\nCell Generate Time: 203.26ms | Round Cell Pixels time: 177.95ms | String time: 396.79ms | Total compute time 778.00ms\nCommand completed in: 2.80s\n```\n\n### CliR.rs (Release build)\nCommand:\n```shell\n$ ./target/debug/clir_rs.exe \".\\test_resource\\test_image_2.png\" -w 1000 -h 500\n```\n\nResults:\n```shellcli\n...\n\nSource Image Size (1137x747=849339) | Final Image size (2000x2000=4000000) | Cells count: 500000 (1000x500=500000)\nCell Generate Time: 21.82ms | Round Cell Pixels time: 21.92ms | String time: 164.06ms | Total compute time 207.81ms\nCommand completed in: 1.08s\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultraflame4%2Fclir_rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fultraflame4%2Fclir_rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultraflame4%2Fclir_rs/lists"}