Top level repository for the Geometrize project, an app for geometrizing images into geometric primitives and associated tools.
Checkout this repository and then download the entire Geometrize codebase by running the get_geometrize_projects.sh script.
The Geometrize project is split across numerous git repositories and submodules - it comprises several separate, modular pieces of software.
Good places to start would be to build and run the C++ minimal example program, the Geometrize desktop application, or the web demo.
To contribute, make a pull request or open an issue on the relevant repository. Write access to repositories may also be granted to trusted contributors.
The project repositories are structured as follows:
TABLE-BEGINS
Repository Name | Description | Automated Build Status |
---|---|---|
geometrize-top-level-repo | The top level Geometrize C++ repository and developer quickstart guide | |
geometrize | The main Geometrize C++ desktop application repository. The submodules include translations, resources, sample images and scripts | |
geometrize-docs | Developer documentation generation and hosting for the Geometrize C++ application | |
geometrize-functional-tests | Automated tests for the Geometrize C++ application | |
geometrize-gallery | Code repository and hosting for a collection of example geometrized images | |
geometrize-haxe | The Geometrize Haxe library repository | |
geometrize-haxe-demo | A HaxeFlixel-based demo of the Geometrize Haxe library | |
geometrize-haxe-example | A minimal Haxe usage example of the Geometrize Haxe library | |
geometrize-haxe-unit-tests | Unit tests for the Geometrize Haxe library | |
geometrize-haxe-web | Code repository for the Geometrize Haxe web application | |
geometrize-installer | Installer and packaging code for the Geometrize C++ desktop application | |
geometrize-lib | The Geometrize C++ library repository. | |
geometrize-lib-docs | Developer documentation generation and hosting for the Geometrize C++ library | |
geometrize-lib-example | A minimal C++ usage example of the Geometrize C++ library | |
geometrize-lib-fuzzing | Fuzz tests for the Geometrize C++ library | |
geometrize-lib-unit-tests | Unit tests for the Geometrize C++ library | |
geometrize-resources | A collection of curated resources e.g. public domain images, for use with Geometrize | |
geometrize-s3-bucket-downloader | A frontend for downloading Geometrize installers (from an Amazon S3 bucket) | |
geometrize-screenshots | Hosting for a set of screenshots showing different parts of the Geometrize C++ application | |
geometrize-scripts | A collection of scripts, mostly used for customizing the Geometrize C++ shape generation algorithms | |
geometrize-templates | Template images and project settings for the Geometrize C++ application | |
geometrize-translations | Translations for the Geometrize C++ application user interface | |
geometrize-tween-optimizer | A tool for creating visually appealing tweens between sets of geometric primitives | |
geometrize-tweens | A web-based demo showing tweens between media composed of geometric primitives | |
geometrize-twitter-bot | A Twitter bot that geometrizes images found on Twitter, and tweets the results | |
geometrize-twitter-bot-docs | Developer documentation generation and documentation hosting for the Geometrize Twitter bot | |
geometrize-web-export | Code for rendering exported shape data in different web formats | |
geometrize-website | A user-facing website and landing page for the Geometrize project |
TABLE-ENDS
The table above was generated via the tabulate_git_repos_in_readme.sh script.
When a commit is made to the master branch of a repository, automated builds are triggered to build, test and deploy any artifacts. For example, when a commit is made to the main Geometrize C++ repository, a build job will build the latest changes for Windows, Mac and Linux. If this succeeds, then a build job for the Geometrize C++ installer is triggered, to build installers for the latest revision of Geometrize.
The build trigger and deployment graph for the project is shown below:
The graph above was generated via the generate_trigger_graph.sh script.
Most of the Geometrize project is free software, with code usually falling under the copyleft GPL license or the open source MIT license. Check the individual repositories and submodules and their associated LICENSE files for more details.
- Got an idea or suggestion? Open an issue on GitHub, or send Sam a message on Twitter.