Apply review fixes: V3 registration, compatibility rules, vocabulary cleanup

- Export V3 comfy_entrypoint only when comfy_api V3 symbols exist, else V1
  mappings; narrow the V3 import guard so real import errors surface
- Reject age_min > age_max with an input-named ValueError
- Validate data file structure at load with path and field in errors
- Sync JS sex filter lists with bundled data; test fails on drift
- Filter incompatible hair length/style and build/chest/shoulders pairs;
  user-fixed or allow-listed values win when nothing compatible remains
- Join bust as "<size> <shape> bust"
- Vocabulary: fix malformed phrases (softly built build, hair worn buzz
  cut), remove duplicate and conflicting entries, rename Maori to Maori
  with macron, add skin tones, body types, hair styles, clothing,
  footwear, accessories, female facial hair and male makeup options
- Bump version to 1.4.0
This commit is contained in:
BRADSEC
2026-10-31 13:13:15 +10:00
parent 1ce4dc851f
commit 205681e121
37 changed files with 502 additions and 278 deletions
+9 -1
View File
@@ -53,7 +53,7 @@
},
{
"label": "small ear piercings",
"description": "small ear piercings"
"description": "small stud earrings in both ears"
},
{
"label": "nose ring",
@@ -98,5 +98,13 @@
{
"label": "bindi",
"description": "a bindi"
},
{
"label": "hearing aids",
"description": "small hearing aids"
},
{
"label": "head wrap",
"description": "a cloth head wrap"
}
]
+6 -3
View File
@@ -1,5 +1,5 @@
[
{ "label": "porcelain", "description": "porcelain" },
{ "label": "porcelain", "description": "very light neutral" },
{ "label": "fair", "description": "fair" },
{ "label": "light", "description": "light" },
{ "label": "light medium", "description": "light medium" },
@@ -12,6 +12,9 @@
{ "label": "golden brown", "description": "golden brown" },
{ "label": "medium brown", "description": "medium brown" },
{ "label": "deep brown", "description": "deep brown" },
{ "label": "deep", "description": "deep" },
{ "label": "ebony", "description": "ebony" }
{ "label": "deep", "description": "very deep brown" },
{ "label": "ebony", "description": "very deep neutral brown" },
{"label": "light brown", "description": "light brown"},
{"label": "neutral medium brown", "description": "neutral medium brown"},
{"label": "rich dark brown", "description": "rich dark brown"}
]
+1 -9
View File
@@ -11,14 +11,6 @@
"label": "warm smile",
"description": "a warm smile"
},
{
"label": "slight smile",
"description": "a slight smile"
},
{
"label": "gentle smile",
"description": "a gentle smile"
},
{
"label": "serious",
"description": "a serious expression"
@@ -37,7 +29,7 @@
},
{
"label": "confident",
"description": "a confident expression"
"description": "a direct, relaxed gaze"
},
{
"label": "relaxed",
+5 -5
View File
@@ -35,16 +35,16 @@
"label": "downturned",
"description": "downturned"
},
{
"label": "heavy-lidded",
"description": "heavy-lidded"
},
{
"label": "narrow",
"description": "narrow"
},
{
"label": "large",
"description": "large, expressive"
"description": "large"
},
{
"label": "prominent",
"description": "prominent"
}
]
-4
View File
@@ -23,10 +23,6 @@
"label": "bushy",
"description": "bushy eyebrows"
},
{
"label": "full natural",
"description": "full natural brows"
},
{
"label": "sparse",
"description": "sparse brows"
+4 -4
View File
@@ -17,7 +17,7 @@
},
{
"label": "hazel",
"description": "hazel eyes with brown and green flecks"
"description": "hazel eyes"
},
{
"label": "hazel green",
@@ -33,7 +33,7 @@
},
{
"label": "blue",
"description": "natural blue eyes"
"description": "blue eyes"
},
{
"label": "light blue",
@@ -57,7 +57,7 @@
},
{
"label": "green",
"description": "muted natural green eyes"
"description": "muted green eyes"
},
{
"label": "light green",
@@ -77,7 +77,7 @@
},
{
"label": "grey",
"description": "natural grey eyes"
"description": "grey eyes"
},
{
"label": "pale grey",
+4 -13
View File
@@ -1,22 +1,13 @@
[
"a faint dusting of freckles across the nose",
"a thin scar through one eyebrow",
"deep dimples when smiling",
"a prominent, straight nose",
"dimples in both cheeks",
"unusually high cheekbones",
"a strong, defined jaw",
"sun-darkened laugh lines at the corners of the eyes",
"a wide, gap-toothed smile",
"a button nose and full cheeks",
"a sharp aquiline nose",
"heavy, expressive eyebrows",
"a small gap between the front teeth",
"a softly cleft chin",
"very full lips",
"thin, precise lips",
"deep-set eyes beneath a strong brow",
"a broad, flat nose",
"small, neat ears",
"a long neck that gave them an elegant bearing",
"a slightly crooked nose, as if once broken",
"a long neck",
"a birthmark at the jaw"
]
]
+1 -1
View File
@@ -62,6 +62,6 @@
{ "label": "Cuban", "descriptor": "Cuban", "from": "from Cuba" },
{ "label": "Venezuelan", "descriptor": "Venezuelan", "from": "from Venezuela" },
{ "label": "Chilean", "descriptor": "Chilean", "from": "from Chile" },
{ "label": "Maori", "descriptor": "Maori", "from": "from New Zealand" },
{"label": "Māori", "descriptor": "Māori"},
{ "label": "Samoan", "descriptor": "Samoan", "from": "from Samoa" }
]
+9 -13
View File
@@ -7,18 +7,6 @@
"label": "clear",
"description": "clear skin"
},
{
"label": "dewy",
"description": "dewy skin"
},
{
"label": "glowing",
"description": "glowing skin"
},
{
"label": "matte",
"description": "matte skin"
},
{
"label": "oily",
"description": "an oily sheen"
@@ -53,7 +41,7 @@
},
{
"label": "ruddy",
"description": "a ruddy complexion"
"description": "redness across the cheeks"
},
{
"label": "fine lines",
@@ -74,5 +62,13 @@
{
"label": "leathery",
"description": "leathery, sun-aged skin"
},
{
"label": "visible pores",
"description": "natural visible pores"
},
{
"label": "under-eye lines",
"description": "fine lines under the eyes"
}
]