classico_layout

module
v0.0.0-...-3f6faf8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2022 License: EUPL-1.2

README

Pavement tile layout generator

What is it?

This program generates tile layouts for Classico tiles. Classico tiles (also known as Old Town) is a set of tiles of 3 sizes: small, medium and large. The width ratio is 1:2:3 and the height is 2 for all tiles. The tiles look like this:
small tile medium tile large tile

The number of tiles on a pallet can be different among manufacturers. Here's an example of one layer of tiles on a pallet:
pallet layer

Also, the pavement can consist of tiles of different color so we need to mix them in a proper ratio.

The task is to layout tiles within a given pavement width so that the remainder of tiles is minimum.

Installation

git clone git@github.com:bhmj/classico_layout.git

Configuration & run

make build

./build/classico_layout --pallet.large=16 --pallet.medium=16 --pallet.small=4

Example of layout generated

Roadmap

  • configurable number of large, medium and small pieces in one pallet layer
  • configurable number of layers
  • configurable pavement width
  • configurable color ratio
  • configurable output path
  • user-defined colors
  • color mix: random pattern for 2 colors
  • color mix: random pattern for N colors
  • color mix: gradient pattern

Usage

Usage:
  classico_layout [OPTIONS]

Classico tile layout generator
version 0.3.0

Application Options:
      --config-file=                                         Classico config file path (json and yaml formats supported) [$CLASSICO_CONFIG_FILE]
      --log-level=[debug|info|warn|error|dpanic|panic|fatal] Log level (default: info) [$CLASSICO_LOG_LEVEL]

Pallet configuration:
      --pallet.large=                                        Number of large pieces in one layer (default: 16) [$CLASSICO_PALLET_LARGE]
      --pallet.medium=                                       Number of medium pieces in one layer (default: 16) [$CLASSICO_PALLET_MEDIUM]
      --pallet.small=                                        Number of small pieces in one layer (default: 4) [$CLASSICO_PALLET_SMALL]
      --pallet.layers=                                       Number of layers on a pallet (default: 12) [$CLASSICO_PALLET_LAYERS]

Pavement configuration:
      --pavement.width=                                      Width of the pavement in small piece numbers (default: 10) [$CLASSICO_ROAD_WIDTH]

Color configuration:
      --color.mode=[random|gradient]                         Color mode (default: random) [$CLASSICO_COLOR_MODE]

Help Options:
  -h, --help                                                 Show this help message

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :)

Licence

EUPL 1.2

Author

Michael Gurov aka BHMJ

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL