Reorganize fields order

This commit is contained in:
relhamdi
2026-06-21 00:04:23 +02:00
parent 3ca9f2e802
commit 2ddbf82013
4 changed files with 117 additions and 121 deletions
+30 -30
View File
@@ -38,21 +38,13 @@ class CharacterBuilder:
"eyes_override_mode": ("BOOLEAN", {"default": False}),
"eyewear_override": ("STRING", {"default": ""}),
"eyewear_override_mode": ("BOOLEAN", {"default": False}),
# Hair
"bald": ("BOOLEAN", {"default": False}),
# Face details
"face_details_override": ("STRING", {"default": ""}),
"face_details_override_mode": ("BOOLEAN", {"default": False}),
# Hair
"bald": ("BOOLEAN", {"default": False}),
# Body details
"show_body_details": ("BOOLEAN", {"default": True}),
"face_piercings_override": ("STRING", {"default": ""}),
"face_piercings_override_mode": ("BOOLEAN", {"default": False}),
"upper_details_override": ("STRING", {"default": ""}),
"upper_details_override_mode": ("BOOLEAN", {"default": False}),
"mid_details_override": ("STRING", {"default": ""}),
"mid_details_override_mode": ("BOOLEAN", {"default": False}),
"lower_details_override": ("STRING", {"default": ""}),
"lower_details_override_mode": ("BOOLEAN", {"default": False}),
# Nails / Makeup
"show_nails": ("BOOLEAN", {"default": True}),
"nail_color_override": ("STRING", {"default": ""}),
@@ -66,32 +58,40 @@ class CharacterBuilder:
"neckwear_override_mode": ("BOOLEAN", {"default": False}),
"armwear_override": ("STRING", {"default": ""}),
"armwear_override_mode": ("BOOLEAN", {"default": False}),
# Body
# Body / Body details
"show_body": ("BOOLEAN", {"default": True}),
"show_body_details": ("BOOLEAN", {"default": True}),
"show_upper_body": ("BOOLEAN", {"default": True}),
"upper_details_override": ("STRING", {"default": ""}),
"upper_details_override_mode": ("BOOLEAN", {"default": False}),
"show_mid_body": ("BOOLEAN", {"default": True}),
"mid_details_override": ("STRING", {"default": ""}),
"mid_details_override_mode": ("BOOLEAN", {"default": False}),
"show_lower_body": ("BOOLEAN", {"default": True}),
"lower_details_override": ("STRING", {"default": ""}),
"lower_details_override_mode": ("BOOLEAN", {"default": False}),
"show_butt": ("BOOLEAN", {"default": True}),
},
"optional": {
# Eyes
"eye_color": ("STRING", {"forceInput": True}),
"eye_type": ("STRING", {"forceInput": True}),
"eye_color": ("STRING", {"forceInput": True}),
"pupils": ("STRING", {"forceInput": True}),
"eye_details": ("STRING", {"forceInput": True}),
"eye_effects": ("STRING", {"forceInput": True}),
"eyewear": ("STRING", {"forceInput": True}),
# Face
"teeth": ("STRING", {"forceInput": True}),
# Mouth
"mouth_type": ("STRING", {"forceInput": True}),
"face_details": ("STRING", {"forceInput": True}),
"face_piercings": ("STRING", {"forceInput": True}),
"teeth": ("STRING", {"forceInput": True}),
# Hair
"hair_color": ("STRING", {"forceInput": True}),
"hair_style": ("STRING", {"forceInput": True}),
# Face details
"face_details": ("STRING", {"forceInput": True}),
"face_piercings": ("STRING", {"forceInput": True}),
# Nails / Makeup
"nail_color": ("STRING", {"forceInput": True}),
"nail_type": ("STRING", {"forceInput": True}),
"nail_color": ("STRING", {"forceInput": True}),
"makeup": ("STRING", {"forceInput": True}),
"makeup_modifiers": ("STRING", {"forceInput": True}),
# Accessories
@@ -127,18 +127,11 @@ class CharacterBuilder:
eyes_override_mode,
eyewear_override,
eyewear_override_mode,
bald,
face_details_override,
face_details_override_mode,
bald,
show_body_details,
face_piercings_override,
face_piercings_override_mode,
upper_details_override,
upper_details_override_mode,
mid_details_override,
mid_details_override_mode,
lower_details_override,
lower_details_override_mode,
show_nails,
nail_color_override,
nail_color_override_mode,
@@ -151,25 +144,32 @@ class CharacterBuilder:
armwear_override,
armwear_override_mode,
show_body,
show_body_details,
show_upper_body,
upper_details_override,
upper_details_override_mode,
show_mid_body,
mid_details_override,
mid_details_override_mode,
show_lower_body,
lower_details_override,
lower_details_override_mode,
show_butt,
# Optional
eye_color="",
eye_type="",
eye_color="",
pupils="",
eye_details="",
eye_effects="",
eyewear="",
teeth="",
mouth_type="",
face_details="",
face_piercings="",
teeth="",
hair_color="",
hair_style="",
nail_color="",
face_details="",
face_piercings="",
nail_type="",
nail_color="",
makeup="",
makeup_modifiers="",
facewear="",
+34 -30
View File
@@ -30,24 +30,25 @@ BASE_ENDPOINT = f"{API_ROOT}/characters"
CHARACTER_TEMPLATE = {
# Eyes
"eye_color": "",
"eye_type": EMPTY_VALUE,
"eye_color": "",
"pupils": EMPTY_VALUE,
"eye_details": "",
"eyewear": "",
# Face
"teeth": EMPTY_VALUE,
# Mouth
"mouth_type": EMPTY_VALUE,
"face_details": "",
"face_piercings": "",
"teeth": EMPTY_VALUE,
# Hair
"hair_color": "",
"hair_style_options": "",
"hair_style_selected": "",
# Face details
"face_details": "",
"face_piercings": "",
# Nails / Makeup
"makeup": "",
"nail_color": "",
"nail_type": EMPTY_VALUE,
"nail_color": "",
"makeup": "",
# Accessories
"facewear": "",
"neckwear": "",
@@ -97,23 +98,24 @@ class CharacterLoader:
"required": {
"character_file": (scan_files(_get_characters_dir()),),
# Eyes
"eye_color": ("STRING", {"default": ""}),
"eye_type": (get_builder_config_key(_CFG, "eye_type"),),
"eye_color": ("STRING", {"default": ""}),
"pupils": (get_builder_config_key(_CFG, "pupils"),),
"eye_details": ("STRING", {"default": ""}),
"eyewear": ("STRING", {"default": ""}),
# Face
"teeth": (get_builder_config_key(_CFG, "teeth"),),
# Mouth
"mouth_type": (get_builder_config_key(_CFG, "mouth_type"),),
"face_details": ("STRING", {"default": ""}),
"face_piercings": ("STRING", {"default": ""}),
"teeth": (get_builder_config_key(_CFG, "teeth"),),
# Hair
"hair_color": ("STRING", {"default": ""}),
"hair_style_options": ("STRING", {"multiline": True, "default": ""}),
"hair_style_selected": ("STRING", {"default": ""}),
# Face details
"face_details": ("STRING", {"default": ""}),
"face_piercings": ("STRING", {"default": ""}),
# Nails / Makeup
"nail_color": ("STRING", {"default": ""}),
"nail_type": (get_builder_config_key(_CFG, "nail_type"),),
"nail_color": ("STRING", {"default": ""}),
"makeup": ("STRING", {"default": ""}),
# Accessories
"facewear": ("STRING", {"default": ""}),
@@ -148,22 +150,23 @@ class CharacterLoader:
RETURN_TYPES = ("STRING",) * 28
RETURN_NAMES = (
# Eyes
"eye_color",
"eye_type",
"eye_color",
"pupils",
"eye_details",
"eyewear",
# Face
"teeth",
# Mouth
"mouth_type",
"face_details",
"face_piercings",
"teeth",
# Hair
"hair_color",
"hair_style",
# Face details
"face_details",
"face_piercings",
# Nails / Makeup
"nail_color",
"nail_type",
"nail_color",
"makeup",
# Accessories
"facewear",
@@ -188,20 +191,20 @@ class CharacterLoader:
def load_character(
self,
character_file,
eye_color,
eye_type,
eye_color,
pupils,
eye_details,
eyewear,
teeth,
mouth_type,
face_details,
face_piercings,
teeth,
hair_color,
hair_style_options,
hair_style_selected,
nail_color,
face_details,
face_piercings,
nail_type,
nail_color,
makeup,
facewear,
neckwear,
@@ -262,22 +265,23 @@ class CharacterLoader:
return (
# Eyes
clean_val(eye_color),
clean_val(eye_type),
clean_val(eye_color),
clean_val(pupils),
clean_val(eye_details),
clean_val(eyewear),
# Face
clean_val(teeth),
# Mouth
clean_val(mouth_type),
clean_val(face_details),
clean_val(face_piercings),
clean_val(teeth),
# Hair
clean_val(hair_color),
clean_val(hair_style_selected),
# Face details
clean_val(face_details),
clean_val(face_piercings),
# Nails / Makeup
clean_val(nail_color),
clean_val(nail_type),
clean_val(nail_color),
clean_val(makeup),
# Accessories
clean_val(facewear),
+44 -53
View File
@@ -22,24 +22,24 @@ const OVERRIDE_FIELDS = [
"eyewear_override",
"face_details_override",
"face_piercings_override",
"upper_details_override",
"mid_details_override",
"lower_details_override",
"nail_color_override",
"facewear_override",
"neckwear_override",
"armwear_override",
"upper_details_override",
"mid_details_override",
"lower_details_override",
];
const BOOL_FIELDS = [
"show_eyes",
"show_eyeballs",
"bald",
"show_body_details",
"show_nails",
"show_makeup",
"toggle_accessories",
"show_body",
"show_body_details",
"show_upper_body",
"show_mid_body",
"show_lower_body",
@@ -156,11 +156,11 @@ const applyAllVisibility = (node, toggleWidgets) => {
const showEyes = get("show_eyes");
const showEyeballs = get("show_eyeballs");
const isBald = get("bald");
const showPiercings = get("show_body_details");
const showNails = get("show_nails");
const showMakeup = get("show_makeup");
const toggleAccessories = get("toggle_accessories");
const showBody = get("show_body");
const showBodyDetails = get("show_body_details");
const showUpperBody = get("show_upper_body");
const showMidBody = get("show_mid_body");
const showLowerBody = get("show_lower_body");
@@ -186,51 +186,6 @@ const applyAllVisibility = (node, toggleWidgets) => {
// bald -> hair_color + hair_style dots
setDotsDisabled(node, ["hair_color", "hair_style"], !isBald);
// show_body_details -> 4 piercing override toggle widgets + raw dots
setToggleWidgetDisabled(
node,
toggleWidgets,
["face_piercings_override"],
!showPiercings,
);
setDotsDisabled(node, ["face_piercings"], !showPiercings);
setToggleWidgetDisabled(
node,
toggleWidgets,
["upper_details_override"],
!(showBody && showUpperBody && showPiercings),
);
setDotsDisabled(
node,
["upper_details"],
!(showBody && showUpperBody && showPiercings),
);
setToggleWidgetDisabled(
node,
toggleWidgets,
["mid_details_override"],
!(showBody && showMidBody && showPiercings),
);
setDotsDisabled(
node,
["mid_details"],
!(showBody && showMidBody && showPiercings),
);
setToggleWidgetDisabled(
node,
toggleWidgets,
["lower_details_override"],
!(showBody && showLowerBody && showPiercings),
);
setDotsDisabled(
node,
["lower_details"],
!(showBody && showLowerBody && showPiercings),
);
// show_nails -> nail_color_override toggle widget + nail_type/nail_color dots
setDotsDisabled(node, ["nail_type"], !showNails);
setDotsDisabled(node, ["nail_color"], !(showNails && showMakeup));
@@ -257,6 +212,43 @@ const applyAllVisibility = (node, toggleWidgets) => {
!toggleAccessories,
);
// show_body_details -> 3 body details override toggle widgets + raw dots
setToggleWidgetDisabled(
node,
toggleWidgets,
["upper_details_override"],
!(showBody && showUpperBody && showBodyDetails),
);
setDotsDisabled(
node,
["upper_details"],
!(showBody && showUpperBody && showBodyDetails),
);
setToggleWidgetDisabled(
node,
toggleWidgets,
["mid_details_override"],
!(showBody && showMidBody && showBodyDetails),
);
setDotsDisabled(
node,
["mid_details"],
!(showBody && showMidBody && showBodyDetails),
);
setToggleWidgetDisabled(
node,
toggleWidgets,
["lower_details_override"],
!(showBody && showLowerBody && showBodyDetails),
);
setDotsDisabled(
node,
["lower_details"],
!(showBody && showLowerBody && showBodyDetails),
);
// show_body -> 4 body sub-toggles
setDisabled(
node,
@@ -282,11 +274,11 @@ const attachCharacterBuilder = (node) => {
"show_eyes",
"show_eyeballs",
"bald",
"show_body_details",
"show_nails",
"show_makeup",
"toggle_accessories",
"show_body",
"show_body_details",
"show_upper_body",
"show_mid_body",
"show_lower_body",
@@ -310,9 +302,8 @@ const attachCharacterBuilder = (node) => {
{ name: "show_butt" },
];
const groups = [
{ from: "show_eyes", to: "face_details_override" },
{ from: "show_eyes", to: "eyewear_override" },
{ from: "bald", to: "bald" },
{ from: "show_body_details", to: "lower_details_override" },
{ from: "show_nails", to: "show_makeup" },
{ from: "toggle_accessories", to: "armwear_override" },
{ from: "show_body", to: "show_butt" },
+9 -8
View File
@@ -20,23 +20,24 @@ const BASE_ENDPOINT = `${API_ROOT}/characters`;
const CHARACTER_TEMPLATE = {
// Eyes
eye_color: "",
eye_type: EMPTY_VALUE,
eye_color: "",
pupils: EMPTY_VALUE,
eye_details: "",
eyewear: "",
// Face
teeth: EMPTY_VALUE,
// Mouth
mouth_type: EMPTY_VALUE,
face_details: "",
face_piercings: "",
teeth: EMPTY_VALUE,
// Hair
hair_color: "",
hair_style_options: "",
hair_style_selected: "",
// Face details
face_details: "",
face_piercings: "",
// Nails / Makeup
nail_color: "",
nail_type: EMPTY_VALUE,
nail_color: "",
makeup: "",
// Accessories
facewear: "",
@@ -259,9 +260,9 @@ const attachCharacterLoader = (node) => {
];
const groups = [
{ from: "eye_color", to: "eye_details" },
{ from: "teeth", to: "mouth_type" },
{ from: "mouth_type", to: "teeth" },
{ from: "face_details", to: "face_piercings" },
{ from: "nail_color", to: "nail_type" },
{ from: "nail_type", to: "makeup" },
{ from: "facewear", to: "armwear" },
{ from: "base_body", to: "body_details" },
{ from: "upper_body", to: "upper_details" },