From c9755b35763c5c788e1b9caa44f7fc1e82ebf7c4 Mon Sep 17 00:00:00 2001 From: Hornwitser Date: Sat, 7 Jun 2025 18:25:09 +0200 Subject: [PATCH] Add python based source for designs Copy structure of src/designs.lua to designs.py to have the metadata for the available designs available to Python scripts. --- designs.py | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 designs.py diff --git a/designs.py b/designs.py new file mode 100644 index 0000000..189ae59 --- /dev/null +++ b/designs.py @@ -0,0 +1,82 @@ +# Keep this file in sync with src/designs.lua + +colors = [ + "red", + "green", + "black", + "cyan", + "purple", + "yellow", + "white", + "orange", + "pink", + "blue", + "lime", +] + +contents = [ + "empty", + "liquid", + "frozen", +] + +base_models = [ + "cone_normal", + "cone_slim", + "cone_inverted", + "cylinder", + "tube_one", + "tube_two", + "tube_three", + "sphere_normal", + "sphere_tiny", + "sphere_double", + "sphere_tubed", + "sphere_hemi", + "sphere_spiked", + "hourglass", + "torus", + "klein", + "pyramid", + "cube", + "triangle", + "triangle_alt", + "pentagon", + "hexagon", +] + +frozen_models = [ + "cone_normal", +] + +models = {} +for model in base_models: + variants = { + "empty": { + "name": "empty", + "model": model, + "contents": "empty", + }, + } + + for color in colors: + variants[f"liquid_{color}"] = { + "name": f"liquid_{color}", + "model": model, + "color": color, + "contents": "liquid", + } + + if model in frozen_models: + for color in colors: + variants[f"frozen_{color}"] = { + "model": model, + "name": f"frozen_{color}", + "color": color, + "contents": "frozen", + } + + models[model] = { + "name": model, + "variants": variants, + }