@nodaro/prompts 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +11 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/person-exposure-hints.test.ts +61 -0
- package/src/person.ts +13 -2
- package/src/styling.ts +12 -0
package/dist/index.js
CHANGED
|
@@ -2533,8 +2533,8 @@ var PEOPLE = [
|
|
|
2533
2533
|
{ id: "feature-nostril-piercing", label: "Nostril Piercing", dimension: "distinctive-features", description: "Single nostril stud or ring", promptHint: "with a single nostril piercing, a small stud or ring at the nostril" },
|
|
2534
2534
|
{ id: "feature-bare-shoulders", label: "Bare Shoulders", dimension: "distinctive-features", description: "Bare shoulders exposed", promptHint: "with bare shoulders exposed, the line of the collarbone and shoulder muscles uncovered" },
|
|
2535
2535
|
{ id: "feature-collarbone-visible", label: "Collarbone Visible", dimension: "distinctive-features", description: "Prominent collarbone catching light", promptHint: "with a prominent collarbone clearly defined and catching the light" },
|
|
2536
|
-
{ id: "feature-midriff-visible", label: "Midriff Visible", dimension: "distinctive-features", description: "Exposed midriff between top and bottom", promptHint: "
|
|
2537
|
-
{ id: "feature-navel-visible", label: "Navel Visible", dimension: "distinctive-features", description: "Visible navel on bare stomach", promptHint: "with
|
|
2536
|
+
{ id: "feature-midriff-visible", label: "Midriff Visible", dimension: "distinctive-features", description: "Exposed midriff between top and bottom", promptHint: "wearing a cropped style with the midriff visible" },
|
|
2537
|
+
{ id: "feature-navel-visible", label: "Navel Visible", dimension: "distinctive-features", description: "Visible navel on bare stomach", promptHint: "with the navel visible" },
|
|
2538
2538
|
{ id: "feature-elongated-neck", label: "Elongated Neck", dimension: "distinctive-features", description: "Long swan-like neck", promptHint: "with an elongated, swan-like neck, long and gracefully extended" },
|
|
2539
2539
|
{ id: "feature-under-eye-circles", label: "Under-Eye Circles", dimension: "distinctive-features", description: "Subtle dark circles under the eyes (distinct from puffy eye-bags)", promptHint: "with subtle dark circles under the eyes" },
|
|
2540
2540
|
{ id: "feature-fangs", label: "Fangs", dimension: "distinctive-features", description: "Visible fangs (vampire / character archetype)", promptHint: "with visible fangs at the canines, character / vampire archetype" },
|
|
@@ -2839,7 +2839,13 @@ function buildAgeHint(ageId, customAge) {
|
|
|
2839
2839
|
function emitIndependentHints(value) {
|
|
2840
2840
|
const ids = normalizePickIds(value);
|
|
2841
2841
|
const out = [];
|
|
2842
|
+
const midriff = ids.includes("feature-midriff-visible");
|
|
2843
|
+
const navel = ids.includes("feature-navel-visible");
|
|
2842
2844
|
for (const id of ids) {
|
|
2845
|
+
if (midriff && navel && (id === "feature-midriff-visible" || id === "feature-navel-visible")) {
|
|
2846
|
+
if (id === "feature-midriff-visible") out.push("wearing a cropped style, midriff and navel visible");
|
|
2847
|
+
continue;
|
|
2848
|
+
}
|
|
2843
2849
|
const hint = getPersonPromptHint(id);
|
|
2844
2850
|
if (hint) out.push(hint);
|
|
2845
2851
|
}
|
|
@@ -3568,9 +3574,12 @@ function buildStylingHints(data) {
|
|
|
3568
3574
|
const hints = [];
|
|
3569
3575
|
const pre = typeof data.preText === "string" ? data.preText.trim() : "";
|
|
3570
3576
|
if (pre) hints.push(pre);
|
|
3577
|
+
const lipStateRaw = data.lipState;
|
|
3578
|
+
const boldRedAlready = Array.isArray(lipStateRaw) ? lipStateRaw.includes("lip-state-bold-red") : lipStateRaw === "lip-state-bold-red";
|
|
3571
3579
|
for (const dimension of STYLING_DIMENSION_ORDER) {
|
|
3572
3580
|
const field = STYLING_FIELD_BY_DIMENSION[dimension];
|
|
3573
3581
|
const raw = data[field];
|
|
3582
|
+
if (dimension === "makeup" && boldRedAlready && raw === "makeup-bold-lips") continue;
|
|
3574
3583
|
if (typeof raw === "string" && raw.length > 0) {
|
|
3575
3584
|
const hint = getStylingPromptHint(raw);
|
|
3576
3585
|
if (hint) hints.push(hint);
|