tiawl / spaceporn

Wiki and Generator for space contemplators
The Unlicense
19 stars 1 forks source link

Configurable Groups and Objects #63

Open tiawl opened 1 year ago

tiawl commented 1 year ago

Allow, throught an organized options structure: 1) select object individually and configure them, 2) select objects by group and configure them.

For the second point: each individual object is always associated to a group. For each group, none of its object, some of its object or all of its object could be displayed. A group option is a plural ID. Examples:

--planets   a separated comma list of planets object to display
            possible values: dry,land,ring,all,none
            all keyword is a shortcut for dry,land,ring.
            if none is selected, planets are not displayed.
            default value: all
--colors   a separated comma list of planets object to display
           possible values: red, blue, green, all, none.
           all keyword is a shortcut for red, blue, green
           if none is selected, everything is black and white.
           default value: none

Possible group options:

Internally, each group of object is always associated to a struct which allow to customize the group. A struct group option is a plural ID followed with dash and the member ID of the struct. Exemple:

--planets-frequency

Internally, each object is always associated to a struct which allow to customize the object independently to other object of the same group. A struct object option is the singular of its group ID, followed with dash the object ID, followed with dash and the member ID of the struct. Exemple:

--planet-dry-colornumbers

Some objects can not be rely to a group. Exemple: camera

tiawl commented 1 year ago

Here a list of issues referring to configurable objects: