{"id":13419986,"url":"https://github.com/CGRU/cgru","last_synced_at":"2025-03-15T06:31:11.324Z","repository":{"id":2617121,"uuid":"3601260","full_name":"CGRU/cgru","owner":"CGRU","description":"CGRU - AFANASY","archived":false,"fork":false,"pushed_at":"2024-10-21T18:13:07.000Z","size":47225,"stargazers_count":277,"open_issues_count":39,"forks_count":111,"subscribers_count":42,"default_branch":"master","last_synced_at":"2024-10-22T09:29:51.884Z","etag":null,"topics":["afanasy","cgru","farm","manager","render","rendering","vfx","vfx-pipeline"],"latest_commit_sha":null,"homepage":"http://cgru.info/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CGRU.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2012-03-02T10:37:57.000Z","updated_at":"2024-10-21T18:13:11.000Z","dependencies_parsed_at":"2023-07-06T20:33:56.288Z","dependency_job_id":"dea4c904-0f60-4268-84ce-94e89d87df42","html_url":"https://github.com/CGRU/cgru","commit_stats":{"total_commits":5535,"total_committers":76,"mean_commits":72.82894736842105,"dds":0.3904245709123758,"last_synced_commit":"402a186fb2bafc6d1c6b69ee61a6e410505daebe"},"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CGRU%2Fcgru","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CGRU%2Fcgru/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CGRU%2Fcgru/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CGRU%2Fcgru/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CGRU","download_url":"https://codeload.github.com/CGRU/cgru/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221548236,"owners_count":16840981,"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":["afanasy","cgru","farm","manager","render","rendering","vfx","vfx-pipeline"],"created_at":"2024-07-30T22:01:23.929Z","updated_at":"2025-03-15T06:31:11.306Z","avatar_url":"https://github.com/CGRU.png","language":"C++","funding_links":[],"categories":["TODO scan for Android support in followings","C++"],"sub_categories":[],"readme":"## CGRU \u003cimg src=\"https://raw.githubusercontent.com/CGRU/cgru/master/favicon.ico\" align=\"right\" width=\"90\"\u003e\n\nCGRU is the Computer Graphics Tools Pack.\n\nIt consists of the main tools _Afanasy_ and _Rules_.\nOther tools are arranged as satellites around these two,\nlike _dailies encoding scripts_ and _software submission plug-ins_.\n\n**Afanasy** is a render farm manager.\n\n**Rules** is a Web based CG projects tracker.\n\n[Site](https://cgru.info)\n\n[Documentation](https://cgru.readthedocs.io)\n\n[Forum](https://forum.cgru.info)\n\nYou can ask any questions on the CGRU forum.\n\nGitHub issues are used for code development and bug tracking.\n\n### Coding rules:\n\n- Indentation - TABS. You can vary tab length, default 4 spaces length is normal.\n\t- Python Indentation - SPACES(4). It is not a problem to tune any modern text editor for each file type.\n- Code alignment - SPACES, it should not break on various tab length.\n- Variable names: variable_name.\n- Function names: functionName.\n- Class names: ClassName.\n- Use prefixes to make code more readable:\n\t- `i_` - Input variables.\n\t- `o_` - Output variables.\n\t- `m_` - Class members.\n\t- `ms_` - Static class members.\n\t- `g_` - External variables.\n\t- `v_` - Virtual functions.\n- Do not use \"!\" as NOT, since it is not noticeable for doing code review. It is much more easy to notice `false == `.\n- Use `false == var` and `NULL == val` instead of `var == false` or `var == NULL`.\nAs if you miss one '=' character, it will not be an error, it will be assignment, not comparison.\n- Use `const \u0026` to pass complex types as function parameters to not to copy class instance.\n\n#### Example:\n\n```c\n// Function with long parameters list:\nbool someFunction(std::string \u0026o_status, const std::string \u0026i_param1, const std::string \u0026i_param2,\n\tconst std::string \u0026i_param3, const std::string \u0026i_param4)\n{\n\t...\n\n\tif (false == variable_name)\n\t{\n\t\to_status = \"error\";\n\t\treturn false;\n\t}\n\treturn true;\n}\n```\n\nYou will notice, that some parts of the code are not following these rules. This\nis mostly because such code has been written before these rules were created or\nchanged.\n\nThe typical file header and code style for C++ and JS files can automatically be applied with the script \n[utilities/maintenance/codeStyleCheck.php](https://github.com/CGRU/cgru/blob/master/utilities/maintenance/codeStyleCheck.php) see the file for instructions of setup and usage. \n\nThe file header shall contain as much information as possible about the file, you can find a good example here:\n[afanasy/browser/monitor.js](https://github.com/CGRU/cgru/blob/master/afanasy/browser/monitor.js)\n### Some names:\n**CGRU** - came from CG - Rules. It has two meanings: computer graphics principles and computer graphics is a cool thing.\n\n**Afanasy** - came from a Greek name meaning [immortal](http://en.wikipedia.org/wiki/Afanasy). \n\n**Rules** - simple came from rules! This project tracker is based on defined rules.\nMostly project structure rules, where to store sources, references, dailies, outputs.\nAs Rules does not have its own database, it walks file-server folders structure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCGRU%2Fcgru","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCGRU%2Fcgru","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCGRU%2Fcgru/lists"}