https://github.com/jakubvalenta/tessellation
a web app to arrange tiles according to specified rules
https://github.com/jakubvalenta/tessellation
arrange composition django generate graphics tessellation tiles wang wang-tiles
Last synced: about 1 month ago
JSON representation
a web app to arrange tiles according to specified rules
- Host: GitHub
- URL: https://github.com/jakubvalenta/tessellation
- Owner: jakubvalenta
- License: gpl-3.0
- Created: 2019-10-30T22:10:19.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-12-02T14:16:13.000Z (6 months ago)
- Last Synced: 2026-04-30T00:36:09.296Z (about 2 months ago)
- Topics: arrange, composition, django, generate, graphics, tessellation, tiles, wang, wang-tiles
- Language: Python
- Homepage: https://tessellation.space
- Size: 1.71 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
- Notice: NOTICE
Awesome Lists containing this project
README
# Tessellation
A web app to arrange tiles according to specified rules.
Tessellation allows you to upload square images and define how they connect. The
app will then try to arrange the tiles into a larger composition adhering to the
connection rules. This is similar to the [Wang tiles
problem](https://en.wikipedia.org/wiki/Wang_tile).

## Installation
### Mac
```shell
$ brew install poetry yarn
$ make setup
```
### Arch Linux
```shell
# pacman -S python-poetry yarn
$ make setup
```
### Other systems
Install these dependencies manually:
- Python >= 3.10
- yarn
- poetry
Then run:
```shell
$ make setup
```
## Usage
Start a development server
```shell
$ make run
$ make frontend
```
Create database:
```shell
$ make create-user
$ make create-db
```
Create database tables, superuser, and populate the db with fixtures:
```shell
$ make migrate create-superuser populate-db
```
Start a development server with production settings.
Dependencies:
- pwgen
```shell
$ make run-prod
```
## Development
### Testing and linting
```shell
make test
make lint
```
### Help
```shell
make help
```
## Contributing
__Feel free to remix this project__ under the terms of the GNU General Public
License version 3 or later. See [COPYING](./COPYING) and [NOTICE](./NOTICE).