(3D) Build Extended Specifications¶
sync (spec.json)¶
To be used to define a series of "simple" part syncing rules to be applied under the key sync
inside the spec.json
file.
{ // describes sets customization options that should be synced, for instance: // * parts that share the same options space when the material/color of one of them changes, // the others get the same material/color (see the `eyeslet` and `upper_bottom` examples) // * parts with specific materials when the color of one of them changes, the others get the // same color (see the `upper_nappa_bottom_suede` example) // * parts with specific colors when the material of one of them changes, the others get the // same material (see the `upper_white_bottom_white` example) // * one can specify a certain set of part combination that should trigger a // specific combination on other parts (see the `upper_nappa_red_bottom_suede_red` example) "eyelets_fringe_eylets" : ["eyelets", "fringe_eyelets"], "upper_bottom" : [ { "part": "upper" }, { "part": "bottom" } ], "upper_nappa_bottom_suede": [ { "part": "upper", "material": "nappa" }, { "part": "bottom", "material": "suede" } ], "upper_white_bottom_white": [ { "part": "upper", "color": "white" }, { "part": "bottom", "color": "white" } ], "upper_nappa_red_bottom_suede_red": [ { "part": "upper", "material": "nappa", "color": "green" }, { "part": "bottom", "material": "suede", "color": "red" } ] }
restrictions (spec.json)¶
To be used to restrict customization combinations to happen to be applied under the key restrictions
inside the spec.json
file.
{ // prevents parts or pairs of material-color of appearing together, // meaning that when one is present on the customization, the // other won't appear in the UI for selection, special cases // exist for a single element item where that combination is // always excluded from the UI (hard restriction) "restrictions" : [[{ "part" : "laces" }], [{ "material" : "nappa" }], [{ "material" : "hairy_calf", "color" : "blue" }], [{ "material" : "croco_kl", "color" : "gold" }, { "material" : "glitter_kl", "color" : "blush_pink" }], [{ "material" : "croco_kl", "color" : "gold" }, { "material" : "glitter_kl", "color" : "stained" }], [{ "material" : "croco_kl", "color" : "gold" }, { "material" : "glitter_kl", "color" : "light_gold" }]] }