@nodaro/prompts 1.20.0 → 1.23.0
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 +8214 -7143
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +213 -61
- package/dist/index.d.ts +213 -61
- package/dist/index.js +8206 -7145
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/adult-only-ratchet.test.ts +9 -1
- package/src/__tests__/catalog-packs.test.ts +13 -0
- package/src/__tests__/character-motion-audit.test.ts +77 -0
- package/src/__tests__/character-motion-exit-visibility.test.ts +183 -0
- package/src/__tests__/character-motion-partner-referent.test.ts +225 -0
- package/src/__tests__/character-motion.test.ts +11 -4
- package/src/__tests__/factory-presets.test.ts +28 -3
- package/src/__tests__/fixtures/parameter-hint-golden.json +22 -6
- package/src/__tests__/frame-delivery.test.ts +93 -0
- package/src/__tests__/graph-composed-unwired-identity.test.ts +166 -0
- package/src/__tests__/node-prompt-fields.test.ts +2 -2
- package/src/__tests__/parameter-prompt-hint.test.ts +9 -3
- package/src/__tests__/transitions-instant.test.ts +112 -0
- package/src/ad-creative-analysis.ts +99 -0
- package/src/catalog-packs.ts +13 -2
- package/src/character-motion/animals-pets.ts +112 -85
- package/src/character-motion/athletic-stunts.ts +155 -214
- package/src/character-motion/camera-interaction.ts +92 -133
- package/src/character-motion/combat-weapons.ts +143 -202
- package/src/character-motion/dance.ts +121 -169
- package/src/character-motion/entrances-exits.ts +88 -109
- package/src/character-motion/evasive-falls.ts +88 -130
- package/src/character-motion/everyday-actions.ts +233 -274
- package/src/character-motion/face-expression.ts +125 -178
- package/src/character-motion/gestures.ts +211 -304
- package/src/character-motion/head-gestures.ts +66 -94
- package/src/character-motion/idle-ambient.ts +85 -124
- package/src/character-motion/posture-shifts.ts +116 -139
- package/src/character-motion/runway.ts +73 -97
- package/src/character-motion/stage-performance.ts +92 -127
- package/src/character-motion/turns-looks.ts +86 -112
- package/src/character-motion/two-person.ts +241 -229
- package/src/character-motion/types.ts +4 -1
- package/src/character-motion/unnatural-horror.ts +53 -91
- package/src/character-motion/vehicles-mounts.ts +101 -97
- package/src/character-motion/walks-runs.ts +93 -121
- package/src/character-motion-diagnostics.ts +49 -0
- package/src/character-motion.ts +89 -13
- package/src/factory-presets/generate-video.ts +22 -0
- package/src/frame-delivery.ts +106 -0
- package/src/index.ts +7 -0
- package/src/node-prompt-fields.ts +4 -0
- package/src/parameter-prompt-hint.ts +23 -17
- package/src/picker-catalogs.ts +23 -2
- package/src/ref-binding.ts +19 -0
- package/src/transitions.ts +47 -10
- package/src/video-reference-resolver.ts +1 -1
|
@@ -1,182 +1,129 @@
|
|
|
1
1
|
import type { CharacterMotion } from "./types.js"
|
|
2
2
|
|
|
3
|
-
/**
|
|
3
|
+
/** face-expression — authored motion fragments. Stable ids survive copy revisions. */
|
|
4
4
|
export const FACE_EXPRESSION_MOTIONS: ReadonlyArray<CharacterMotion> = [
|
|
5
|
-
{ id: "break-into-smile", label: "Break
|
|
6
|
-
promptHint: "the subject breaks into a smile, the corners of the mouth lifting from a neutral line into a full warm smile as the cheeks rise and the eyes crinkle at the outer corners",
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
{ id: "
|
|
12
|
-
promptHint: "the subject
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
term: "
|
|
17
|
-
{ id: "
|
|
18
|
-
promptHint: "the subject
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
{ id: "
|
|
24
|
-
promptHint: "the subject
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
term: "
|
|
29
|
-
{ id: "
|
|
30
|
-
promptHint: "the subject
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
term: "
|
|
38
|
-
{ id: "
|
|
39
|
-
promptHint: "the subject
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{ id: "
|
|
48
|
-
promptHint: "the subject
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
{ id: "
|
|
54
|
-
promptHint: "the subject
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
{ id: "
|
|
60
|
-
promptHint: "the subject
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
{ id: "
|
|
66
|
-
promptHint: "the subject
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
term: "
|
|
71
|
-
{ id: "
|
|
72
|
-
promptHint: "the subject
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
term: "
|
|
77
|
-
{ id: "
|
|
78
|
-
promptHint: "the subject
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
term: "
|
|
83
|
-
{ id: "
|
|
84
|
-
promptHint: "the subject
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
{ id: "
|
|
90
|
-
promptHint: "the subject
|
|
91
|
-
|
|
92
|
-
{ id: "
|
|
93
|
-
promptHint: "the subject
|
|
94
|
-
|
|
95
|
-
{ id: "
|
|
96
|
-
promptHint: "the subject
|
|
97
|
-
|
|
98
|
-
{ id: "
|
|
99
|
-
promptHint: "the subject
|
|
100
|
-
|
|
101
|
-
{ id: "
|
|
102
|
-
promptHint: "the subject
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
{ id: "
|
|
108
|
-
promptHint: "the subject
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
{ id: "
|
|
114
|
-
promptHint: "the subject
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
{ id: "
|
|
120
|
-
promptHint: "the subject
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
{ id: "
|
|
126
|
-
promptHint: "the subject
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
promptHint: "the subject catches the lower lip between the teeth and holds it for a beat as the gaze lifts, then releases it with a small teasing smile",
|
|
130
|
-
term: "bites lower lip and releases", adultOnly: true },
|
|
131
|
-
{ id: "lick-lips-suggestively", label: "Lick Lips", category: "face-expression", description: "Tongue traces the lower lip end to end",
|
|
132
|
-
promptHint: "the subject runs the tongue across the lips, tracing the lower lip from one corner to the other, then closes the mouth with a faint suggestive smile",
|
|
133
|
-
term: "licks lips suggestively", adultOnly: true },
|
|
134
|
-
{ id: "smolder-heavy-lidded", label: "Smolder", category: "face-expression", description: "Gaze goes heavy-lidded, lips part, chin dips",
|
|
135
|
-
promptHint: "the subject lets the gaze go heavy-lidded, the chin dipping and the lips parting slightly as the eyes lock forward, holding the smoldering look without blinking",
|
|
136
|
-
term: "smolders with a heavy-lidded gaze", adultOnly: true },
|
|
137
|
-
{ id: "break-into-blush", label: "Blush", category: "face-expression", description: "Color floods the cheeks, gaze drops, shy smile",
|
|
138
|
-
promptHint: "the subject blushes, color rising up the neck and flooding the cheeks as the gaze drops and a shy smile tugs at the mouth, the shoulders lifting a little toward the ears",
|
|
139
|
-
term: "blushes, color flooding the cheeks" },
|
|
140
|
-
{ id: "cringe-and-recoil", label: "Cringe", category: "face-expression", description: "Face scrunches tight, shoulders hitch up, head pulls back",
|
|
141
|
-
promptHint: "the subject cringes, the face scrunching tight with the eyes squeezing half-shut and the teeth baring in a pained grin as the shoulders hitch up toward the ears and the head pulls back",
|
|
142
|
-
term: "cringes, face scrunching, shoulders up" },
|
|
143
|
-
{ id: "cough-into-fist", label: "Cough", category: "face-expression", description: "Two or three sharp hacks into a raised fist",
|
|
144
|
-
promptHint: "the subject coughs into a raised fist, the head dipping forward on two or three sharp hacks with the eyes squeezing shut, before the fist lowers and the face clears",
|
|
145
|
-
term: "coughs into a fist" },
|
|
146
|
-
{ id: "laugh-nervously", label: "Nervous Laugh", category: "face-expression", description: "Short breathy laugh that stalls, eyes flick away",
|
|
147
|
-
promptHint: "the subject laughs nervously, a short breathy laugh that stalls and restarts as the eyes flick away and back, the smile stretched too wide and the shoulders hunching",
|
|
148
|
-
term: "laughs nervously, eyes flicking away" },
|
|
149
|
-
{ id: "furrow-brow-in-confusion", label: "Furrow Brow", category: "face-expression", description: "Brows draw together, crease forms, mouth slackens",
|
|
150
|
-
promptHint: "the subject furrows the brow in confusion, the eyebrows drawing together and down until a crease forms between them, the eyes narrowing and the mouth going slack in puzzlement",
|
|
151
|
-
term: "furrows brow in confusion" },
|
|
152
|
-
{ id: "wrinkle-nose-in-disgust", label: "Wrinkle Nose", category: "face-expression", description: "Nostrils pinch, upper lip curls, head pulls back",
|
|
153
|
-
promptHint: "the subject wrinkles the nose in disgust, the nostrils pinching upward and the upper lip curling as the eyes squint and the head pulls back a fraction",
|
|
154
|
-
term: "wrinkles nose in disgust" },
|
|
155
|
-
{ id: "pant-out-of-breath", label: "Pant", category: "face-expression", description: "Mouth open, chest heaving in rapid shallow breaths",
|
|
156
|
-
promptHint: "the subject pants out of breath, the mouth hanging open and the chest heaving in rapid shallow breaths as the shoulders rise and fall and the head droops, before the breathing steadies",
|
|
157
|
-
term: "pants, out of breath" },
|
|
158
|
-
{ id: "stifle-a-laugh", label: "Stifle a Laugh", category: "face-expression", description: "Hand claps over the mouth, shoulders shake anyway",
|
|
159
|
-
promptHint: "the subject stifles a laugh behind a hand, the palm clapping over the mouth as the shoulders shake and the eyes crinkle, the cheeks bulging against the pressure until the laugh leaks out through the nose",
|
|
160
|
-
term: "stifles a laugh behind a hand" },
|
|
161
|
-
{ id: "pucker-and-whistle", label: "Whistle", category: "face-expression", description: "Lips draw into a tight O and hold a note",
|
|
162
|
-
promptHint: "the subject puckers the lips and whistles, the mouth drawing into a tight round O and the cheeks hollowing as the brows lift, holding the note before the lips relax",
|
|
163
|
-
term: "puckers and whistles" },
|
|
164
|
-
{ id: "stick-out-tongue", label: "Stick Out Tongue", category: "face-expression", description: "Tongue pushes out past the lips, eyes squint playfully",
|
|
165
|
-
promptHint: "the subject sticks out the tongue, the mouth opening and the tongue pushing out past the lips as the eyes squint playfully, holding it for a beat before pulling it back in",
|
|
166
|
-
term: "sticks out the tongue playfully" },
|
|
167
|
-
{ id: "widen-eyes-in-dread", label: "Widen Eyes in Dread", category: "face-expression", description: "Eyes open wide, mouth stays shut, breath catches",
|
|
168
|
-
promptHint: "the subject widens the eyes in dread, the lids lifting until white shows above the iris while the mouth stays closed and the breath catches, the whole body going still",
|
|
169
|
-
term: "widens eyes in dread, mouth closed" },
|
|
170
|
-
{ id: "dart-eyes-nervously", label: "Darting Eyes", category: "face-expression", description: "Gaze flicks side to side while the head stays still",
|
|
171
|
-
promptHint: "the subject darts the eyes nervously, the gaze flicking from side to side and back to center in quick jumps while the head stays still and the lips press together",
|
|
172
|
-
term: "darts eyes nervously, head still" },
|
|
173
|
-
{ id: "waggle-eyebrows", label: "Waggle Eyebrows", category: "face-expression", description: "Both brows bounce up and down, playful grin spreads",
|
|
174
|
-
promptHint: "the subject waggles both eyebrows, the brows bouncing up and down together two or three times in quick succession while a playful grin spreads and the chin tips forward",
|
|
175
|
-
term: "waggles both eyebrows" },
|
|
176
|
-
{ id: "blow-bubblegum-bubble", label: "Bubblegum Bubble", category: "face-expression", description: "Pink bubble swells from the lips and pops flat",
|
|
177
|
-
promptHint: "the subject blows a bubblegum bubble, the lips pushing forward as a pink bubble swells from the mouth until it pops flat against the lips, the tongue pulling the gum back in with a bored chew",
|
|
178
|
-
term: "blows a bubblegum bubble and pops it" },
|
|
179
|
-
{ id: "laugh-maniacally", label: "Maniacal Laugh", category: "face-expression", description: "Head thrown back in a wild unhinged laugh, eyes wide",
|
|
180
|
-
promptHint: "the subject laughs maniacally, the head throwing back and the mouth stretching wide as the shoulders heave, the eyes wild and unblinking when the head snaps forward again with the grin still fixed",
|
|
181
|
-
term: "laughs maniacally, head thrown back" },
|
|
5
|
+
{ "id": "break-into-smile", "label": "Break into smile", "category": "face-expression", "description": "Neutral face lifts into a full warm smile",
|
|
6
|
+
"promptHint": "the subject breaks into a smile, the corners of the mouth lifting from a neutral line into a full warm smile as the cheeks rise and the eyes crinkle at the outer corners", "term": "breaks into a warm smile" },
|
|
7
|
+
{ "id": "let-smile-creep-in", "label": "Creeping smile", "category": "face-expression", "description": "A smile dawns one corner at a time",
|
|
8
|
+
"promptHint": "the subject lets a smile creep in, one corner of the mouth twitching up first, the other side catching up until the whole face has eased into a knowing smile", "term": "lets a smile creep in" },
|
|
9
|
+
{ "id": "widen-into-grin", "label": "Grin widens", "category": "face-expression", "description": "Small smile opens into a broad toothy grin",
|
|
10
|
+
"promptHint": "the subject widens a small closed-lip smile into a broad grin, the lips parting to show teeth, cheeks bunching upward and the eyes narrowing with delight", "term": "widens smile into a toothy grin" },
|
|
11
|
+
{ "id": "let-smile-fade", "label": "Smile fades", "category": "face-expression", "description": "Smile drains away to a flat still face",
|
|
12
|
+
"promptHint": "the subject lets the smile fade, the corners of the mouth dropping back to a flat line as the brightness leaves the eyes and the face goes still and guarded", "term": "lets the smile fade" },
|
|
13
|
+
{ "id": "force-a-smile", "label": "Forced smile", "category": "face-expression", "description": "Stiff polite smile that never reaches the eyes",
|
|
14
|
+
"promptHint": "the subject forces a smile, the mouth stretching wide and tight while the eyes stay flat and unmoving, the expression holding stiffly for a beat before dropping away", "term": "forces a stiff smile" },
|
|
15
|
+
{ "id": "smirk-knowingly", "label": "Smirk", "category": "face-expression", "description": "One corner of the mouth curls up, eyes narrow",
|
|
16
|
+
"promptHint": "the subject smirks, one corner of the mouth curling upward while the other side stays put, the eyes narrowing knowingly and the head tilting a fraction to that side", "term": "smirks, one corner of the mouth curling" },
|
|
17
|
+
{ "id": "burst-out-laughing", "label": "Burst out laughing", "category": "face-expression", "description": "Sudden full laugh, head back, shoulders shaking",
|
|
18
|
+
"promptHint": "the subject bursts out laughing, the head tipping back and the mouth opening wide, shoulders shaking with each breath before the laugh settles into a lingering grin", "term": "bursts out laughing" },
|
|
19
|
+
{ "id": "giggle-lightly", "label": "Giggle", "category": "face-expression", "description": "Light bubbling laugh, shoulders bobbing",
|
|
20
|
+
"promptHint": "the subject giggles, the shoulders bobbing in short bursts and the lips pressing together then breaking open in quick light laughs, the gaze darting away and back", "term": "giggles, shoulders bobbing" },
|
|
21
|
+
{ "id": "chuckle-quietly", "label": "Chuckle", "category": "face-expression", "description": "Single quiet laugh through the nose, head dips",
|
|
22
|
+
"promptHint": "the subject chuckles quietly, a single exhale through the nose as the head dips once and the mouth pulls into a lopsided smile before the face settles again", "term": "chuckles quietly, head dipping once" },
|
|
23
|
+
{ "id": "tears-well-up", "label": "Tears well up", "category": "face-expression", "description": "Eyes glisten and fill, a single tear spills",
|
|
24
|
+
"promptHint": "the subject fights back tears, the eyes glistening and welling up as the chin trembles and the lips press together, until a single tear spills over and tracks down one cheek", "term": "wells up, a single tear spilling" },
|
|
25
|
+
{ "id": "break-down-sobbing", "label": "Break down sobbing", "category": "face-expression", "description": "Face crumples into heaving sobs",
|
|
26
|
+
"promptHint": "the subject breaks down sobbing, the face crumpling and the mouth pulling downward, shoulders heaving with each ragged breath as the head bows and tears stream", "term": "breaks down sobbing" },
|
|
27
|
+
{ "id": "gasp-in-shock", "label": "Gasp", "category": "face-expression", "description": "Sharp intake of breath, mouth and eyes fly open",
|
|
28
|
+
"promptHint": "the subject gasps, the mouth dropping open and the eyes flying wide as the chest lifts on a sharp intake of breath, the whole body freezing for a beat before it releases", "term": "gasps, mouth and eyes flying open" },
|
|
29
|
+
{ "id": "drop-jaw-in-astonishment", "label": "Jaw drop", "category": "face-expression", "description": "Jaw falls slack in open-mouthed astonishment",
|
|
30
|
+
"promptHint": "the subject gapes in astonishment, the jaw dropping open and the mouth going slack as the eyes widen and the brows lift, the head pulling back a fraction and freezing there", "term": "gapes, jaw dropping in astonishment" },
|
|
31
|
+
{ "id": "register-dawning-realization", "label": "Register realization", "category": "face-expression", "description": "Eyes widen slightly as understanding appears.",
|
|
32
|
+
"promptHint": "the subject pauses, the eyes widening slightly and the eyebrows lifting as understanding appears, without prescribing a later emotional decision", "term": "registers realization with widening eyes",
|
|
33
|
+
"aliases": ["Dawning Realization"] },
|
|
34
|
+
{ "id": "startle-then-relax", "label": "Surprise to relief", "category": "face-expression", "description": "Jolt of surprise melting into relieved release",
|
|
35
|
+
"promptHint": "the subject startles in surprise, the eyes widening and the mouth opening, before the shoulders drop and the breath leaves in a relieved laugh as the whole face softens", "term": "startles, relaxing into relief" },
|
|
36
|
+
{ "id": "wink-one-eye", "label": "Wink", "category": "face-expression", "description": "One eye closes in a quick squeeze and reopens",
|
|
37
|
+
"promptHint": "the subject winks, one eye closing in a quick deliberate squeeze while the other stays open, the mouth tugging up on the same side before the eye opens again", "term": "gives a quick wink" },
|
|
38
|
+
{ "id": "roll-eyes-exasperated", "label": "Eye roll", "category": "face-expression", "description": "Gaze sweeps up and over in exasperation",
|
|
39
|
+
"promptHint": "the subject rolls the eyes, the gaze sweeping upward and across to one side with a small tilt of the head and a huff of breath, then settling back forward unimpressed", "term": "rolls eyes in exasperation" },
|
|
40
|
+
{ "id": "give-slow-blink", "label": "Slow blink", "category": "face-expression", "description": "Lids lower fully, hold a beat, then lift",
|
|
41
|
+
"promptHint": "the subject gives a long deliberate blink, the lids lowering until fully closed and resting there for a beat, then lifting again with the gaze settling back where it was", "term": "gives a slow deliberate blink",
|
|
42
|
+
"fixedPace": true },
|
|
43
|
+
{ "id": "let-eyes-drift-closed", "label": "Eyes drift closed", "category": "face-expression", "description": "Lids lower until shut, face settles into rest",
|
|
44
|
+
"promptHint": "the subject lets both eyes drift closed, the lids lowering until fully shut as the face goes still and the brow smooths, the head settling as if into rest", "term": "lets the eyes drift closed" },
|
|
45
|
+
{ "id": "flutter-eyes-open", "label": "Eyes flutter open", "category": "face-expression", "description": "Closed eyes flicker open and find focus",
|
|
46
|
+
"promptHint": "the subject flutters the eyes open from closed, the lids flickering a few times before lifting fully, the gaze unfocused at first and then sharpening onto a point ahead", "term": "flutters eyes open and focuses" },
|
|
47
|
+
{ "id": "stare-blankly-snap-back", "label": "Blank stare & refocus", "category": "face-expression", "description": "Vacant unfocused stare, then a jolt back to alert",
|
|
48
|
+
"promptHint": "the subject stares blankly into the middle distance, the eyes unfocused and the face slack, then blinks and snaps back to attention as focus returns sharply to the eyes", "term": "stares blankly, snaps back to focus" },
|
|
49
|
+
{ "id": "nod-in-agreement", "label": "Nod", "category": "face-expression", "description": "Chin dips and lifts in one or two clear beats",
|
|
50
|
+
"promptHint": "the subject nods, the chin dipping down and lifting back up in one or two clear beats while the eyes hold steady in agreement, the head settling level again", "term": "nods in agreement" },
|
|
51
|
+
{ "id": "shake-head-no", "label": "Shake head no", "category": "face-expression", "description": "Head swings side to side, mouth tightening",
|
|
52
|
+
"promptHint": "the subject shakes the head no, turning it side to side in two or three short swings while the mouth tightens, then bringing it back to center and holding", "term": "shakes head no" },
|
|
53
|
+
{ "id": "raise-one-eyebrow", "label": "Raise an eyebrow", "category": "face-expression", "description": "One brow arches high in skeptical doubt",
|
|
54
|
+
"promptHint": "the subject raises one eyebrow, the brow arching high on that side while the other stays level, the head tilting slightly and the mouth pulling into a skeptical line", "term": "raises one skeptical eyebrow" },
|
|
55
|
+
{ "id": "narrow-eyes-suspiciously", "label": "Narrow eyes", "category": "face-expression", "description": "Lids lower to a squint of suspicion",
|
|
56
|
+
"promptHint": "the subject narrows the eyes in suspicion, the lids lowering to a squint and the head tilting a fraction as the mouth tightens, holding the appraising look", "term": "narrows eyes in suspicion" },
|
|
57
|
+
{ "id": "frown-in-displeasure", "label": "Frown", "category": "face-expression", "description": "Brows draw together, mouth corners pull down",
|
|
58
|
+
"promptHint": "the subject frowns, the brows drawing together and lowering while the corners of the mouth pull downward, the whole face settling into troubled displeasure", "term": "frowns in displeasure" },
|
|
59
|
+
{ "id": "scowl-in-anger", "label": "Scowl", "category": "face-expression", "description": "Brows knit hard, nose wrinkles, jaw sets",
|
|
60
|
+
"promptHint": "the subject scowls, the brows knitting hard and low, the nose wrinkling and the upper lip lifting slightly as the jaw sets forward in open anger", "term": "scowls in open anger" },
|
|
61
|
+
{ "id": "fix-hard-glare", "label": "Glare", "category": "face-expression", "description": "Eyes lock on one point in a hard hostile stare",
|
|
62
|
+
"promptHint": "the subject fixes a hard glare, the eyes narrowing and locking onto one point as the head lowers a fraction, the brow flat and the jaw clenched, holding without blinking", "term": "glares hard without blinking" },
|
|
63
|
+
{ "id": "clench-jaw-tight", "label": "Clench jaw", "category": "face-expression", "description": "Jaw muscles bunch, lips press, nostrils flare",
|
|
64
|
+
"promptHint": "the subject clenches the jaw, the muscles bunching at the hinge as the lips press tight and the nostrils flare, the breath held and the eyes hardening in restrained anger", "term": "clenches jaw, nostrils flaring" },
|
|
65
|
+
{ "id": "grimace-in-pain", "label": "Grimace", "category": "face-expression", "description": "Lips bare teeth, nose scrunches, eyes squeeze",
|
|
66
|
+
"promptHint": "the subject grimaces, the lips pulling back to bare the teeth as the nose scrunches and the eyes squeeze half-shut in a flash of pain, before the face relaxes again", "term": "grimaces, baring teeth" },
|
|
67
|
+
{ "id": "wince-and-recover", "label": "Wince", "category": "face-expression", "description": "Whole face flinches tight, then eases open",
|
|
68
|
+
"promptHint": "the subject winces, the whole face flinching tight for an instant with the eyes squeezing shut and the head pulling back a fraction, then the features easing open again", "term": "winces and recovers" },
|
|
69
|
+
{ "id": "scream-mouth-wide", "label": "Scream", "category": "face-expression", "description": "Mouth stretches wide, eyes wide, neck strains",
|
|
70
|
+
"promptHint": "the subject screams, the mouth stretching wide open and the eyes going wide under raised brows, the cords of the neck standing out as the head thrusts forward with the force of it", "term": "screams, mouth wide open" },
|
|
71
|
+
{ "id": "swallow-hard", "label": "Swallow hard", "category": "face-expression", "description": "Throat works in a nervous gulp",
|
|
72
|
+
"promptHint": "the subject swallows hard, the throat visibly working as the lips press together and the eyes hold steady with unease, the chin dipping slightly on the gulp", "term": "swallows hard, throat working" },
|
|
73
|
+
{ "id": "sigh-heavily", "label": "Sigh", "category": "face-expression", "description": "Deep breath in, shoulders drop as it leaves",
|
|
74
|
+
"promptHint": "the subject sighs heavily, the chest rising on a deep breath, then the shoulders dropping and the eyes closing briefly as the breath leaves, the face settling into resignation", "term": "sighs heavily, shoulders dropping" },
|
|
75
|
+
{ "id": "yawn-wide", "label": "Yawn", "category": "face-expression", "description": "Mouth stretches wide, eyes squeeze, head tips back",
|
|
76
|
+
"promptHint": "the subject yawns, the mouth stretching wide open as the eyes squeeze shut and the head tips back, then the jaw closing and the face relaxing on the exhale", "term": "yawns wide, head tipping back" },
|
|
77
|
+
{ "id": "sneeze-and-recover", "label": "Sneeze", "category": "face-expression", "description": "Face scrunches, head jerks forward, then relaxes",
|
|
78
|
+
"promptHint": "the subject sneezes, the face scrunching and the eyes clamping shut as the head jerks forward on the burst, then the features relaxing and the head lifting back up", "term": "sneezes, head jerking forward" },
|
|
79
|
+
{ "id": "blow-out-cheeks", "label": "Blow out cheeks", "category": "face-expression", "description": "Cheeks puff full, then a long deflating exhale",
|
|
80
|
+
"promptHint": "the subject blows out the cheeks, puffing them full of air, then releases the breath in a long exhale as the cheeks deflate and the shoulders sag", "term": "puffs out cheeks and exhales" },
|
|
81
|
+
{ "id": "purse-lips-thoughtfully", "label": "Purse lips", "category": "face-expression", "description": "Lips press into a tight pucker, eyes narrow",
|
|
82
|
+
"promptHint": "the subject purses the lips, pressing them together and pushing them forward into a tight pucker while the eyes narrow in thought, before the mouth relaxes again", "term": "purses lips in thought" },
|
|
83
|
+
{ "id": "pout-sulkily", "label": "Pout", "category": "face-expression", "description": "Lower lip pushes out, chin dips in a sulk",
|
|
84
|
+
"promptHint": "the subject pouts, the lower lip pushing out and the brows lowering as the chin dips, the shoulders drawing in and the sulky look holding for a beat", "term": "pouts sulkily" },
|
|
85
|
+
{ "id": "chew-lip-nervously", "label": "Chew lip nervously", "category": "face-expression", "description": "Teeth worry the lower lip, eyes flick about",
|
|
86
|
+
"promptHint": "the subject chews the lower lip nervously, the teeth working at it while the eyes flick side to side, then releases it with a swallow and a small exhale", "term": "chews lower lip nervously" },
|
|
87
|
+
{ "id": "soften-into-tenderness", "label": "Soften into tenderness", "category": "face-expression", "description": "Hard set of the face melts into warmth",
|
|
88
|
+
"promptHint": "the subject softens, the hard set of the jaw and brow releasing as the eyes warm and the mouth eases into a tender half-smile, the head tilting gently to one side", "term": "softens into tenderness" },
|
|
89
|
+
{ "id": "bite-lip-teasingly", "label": "Bite lip", "category": "face-expression", "description": "Catches the lower lip, holds, releases with a smile",
|
|
90
|
+
"promptHint": "the subject catches the lower lip between the teeth and holds it for a beat as the gaze lifts, then releases it with a small teasing smile", "term": "bites lower lip and releases",
|
|
91
|
+
"adultOnly": true },
|
|
92
|
+
{ "id": "lick-lips-suggestively", "label": "Lick lips", "category": "face-expression", "description": "Tongue traces the lower lip end to end",
|
|
93
|
+
"promptHint": "the subject runs the tongue across the lips, tracing the lower lip from one corner to the other, then closes the mouth with a faint suggestive smile", "term": "licks lips suggestively",
|
|
94
|
+
"adultOnly": true },
|
|
95
|
+
{ "id": "smolder-heavy-lidded", "label": "Smolder", "category": "face-expression", "description": "Gaze goes heavy-lidded, lips part, chin dips",
|
|
96
|
+
"promptHint": "the subject lets the gaze go heavy-lidded, the chin dipping and the lips parting slightly as the eyes lock forward, holding the smoldering look without blinking", "term": "smolders with a heavy-lidded gaze",
|
|
97
|
+
"adultOnly": true },
|
|
98
|
+
{ "id": "break-into-blush", "label": "Show a subtle blush", "category": "face-expression", "description": "Shows a complexion-appropriate flush with a shy change in gaze.",
|
|
99
|
+
"promptHint": "the subject glances downward with a shy expression as a subtle flush appropriate to the existing complexion appears, preserving the established skin tone", "term": "shows a subtle complexion-appropriate blush and glances down",
|
|
100
|
+
"aliases": ["Blush"] },
|
|
101
|
+
{ "id": "cringe-and-recoil", "label": "Cringe", "category": "face-expression", "description": "Face scrunches tight, shoulders hitch up, head pulls back",
|
|
102
|
+
"promptHint": "the subject cringes, the face scrunching tight with the eyes squeezing half-shut and the teeth baring in a pained grin as the shoulders hitch up toward the ears and the head pulls back", "term": "cringes, face scrunching, shoulders up" },
|
|
103
|
+
{ "id": "cough-into-fist", "label": "Cough", "category": "face-expression", "description": "Two or three sharp hacks into a raised fist",
|
|
104
|
+
"promptHint": "the subject coughs into a raised fist, the head dipping forward on two or three sharp hacks with the eyes squeezing shut, before the fist lowers and the face clears", "term": "coughs into a fist" },
|
|
105
|
+
{ "id": "laugh-nervously", "label": "Nervous laugh", "category": "face-expression", "description": "Short breathy laugh that stalls, eyes flick away",
|
|
106
|
+
"promptHint": "the subject laughs nervously, a short breathy laugh that stalls and restarts as the eyes flick away and back, the smile stretched too wide and the shoulders hunching", "term": "laughs nervously, eyes flicking away" },
|
|
107
|
+
{ "id": "furrow-brow-in-confusion", "label": "Furrow brow", "category": "face-expression", "description": "Brows draw together, crease forms, mouth slackens",
|
|
108
|
+
"promptHint": "the subject furrows the brow in confusion, the eyebrows drawing together and down until a crease forms between them, the eyes narrowing and the mouth going slack in puzzlement", "term": "furrows brow in confusion" },
|
|
109
|
+
{ "id": "wrinkle-nose-in-disgust", "label": "Wrinkle nose", "category": "face-expression", "description": "Nostrils pinch, upper lip curls, head pulls back",
|
|
110
|
+
"promptHint": "the subject wrinkles the nose in disgust, the nostrils pinching upward and the upper lip curling as the eyes squint and the head pulls back a fraction", "term": "wrinkles nose in disgust" },
|
|
111
|
+
{ "id": "pant-out-of-breath", "label": "Pant", "category": "face-expression", "description": "Mouth open, chest heaving in rapid shallow breaths",
|
|
112
|
+
"promptHint": "the subject pants out of breath, the mouth hanging open and the chest heaving in rapid shallow breaths as the shoulders rise and fall and the head droops, before the breathing steadies", "term": "pants, out of breath" },
|
|
113
|
+
{ "id": "stifle-a-laugh", "label": "Stifle a laugh", "category": "face-expression", "description": "Hand claps over the mouth, shoulders shake anyway",
|
|
114
|
+
"promptHint": "the subject stifles a laugh behind a hand, the palm clapping over the mouth as the shoulders shake and the eyes crinkle, the cheeks bulging against the pressure until the laugh leaks out through the nose", "term": "stifles a laugh behind a hand" },
|
|
115
|
+
{ "id": "pucker-and-whistle", "label": "Whistle", "category": "face-expression", "description": "Lips draw into a tight O and hold a note",
|
|
116
|
+
"promptHint": "the subject puckers the lips and whistles, the mouth drawing into a tight round O and the cheeks hollowing as the brows lift, holding the note before the lips relax", "term": "puckers and whistles" },
|
|
117
|
+
{ "id": "stick-out-tongue", "label": "Stick out tongue", "category": "face-expression", "description": "Tongue pushes out past the lips, eyes squint playfully",
|
|
118
|
+
"promptHint": "the subject sticks out the tongue, the mouth opening and the tongue pushing out past the lips as the eyes squint playfully, holding it for a beat before pulling it back in", "term": "sticks out the tongue playfully" },
|
|
119
|
+
{ "id": "widen-eyes-in-dread", "label": "Widen eyes in dread", "category": "face-expression", "description": "Eyes open wide, mouth stays shut, breath catches",
|
|
120
|
+
"promptHint": "the subject widens the eyes in dread, the lids lifting until white shows above the iris while the mouth stays closed and the breath catches, the whole body going still", "term": "widens eyes in dread, mouth closed" },
|
|
121
|
+
{ "id": "dart-eyes-nervously", "label": "Darting eyes", "category": "face-expression", "description": "Gaze flicks side to side while the head stays still",
|
|
122
|
+
"promptHint": "the subject darts the eyes nervously, the gaze flicking from side to side and back to center in quick jumps while the head stays still and the lips press together", "term": "darts eyes nervously, head still" },
|
|
123
|
+
{ "id": "waggle-eyebrows", "label": "Waggle eyebrows", "category": "face-expression", "description": "Both brows bounce up and down, playful grin spreads",
|
|
124
|
+
"promptHint": "the subject waggles both eyebrows, the brows bouncing up and down together two or three times in quick succession while a playful grin spreads and the chin tips forward", "term": "waggles both eyebrows" },
|
|
125
|
+
{ "id": "blow-bubblegum-bubble", "label": "Bubblegum bubble", "category": "face-expression", "description": "Pink bubble swells from the lips and pops flat",
|
|
126
|
+
"promptHint": "the subject blows a bubblegum bubble, the lips pushing forward as a pink bubble swells from the mouth until it pops flat against the lips, the tongue pulling the gum back in with a bored chew", "term": "blows a bubblegum bubble and pops it" },
|
|
127
|
+
{ "id": "laugh-maniacally", "label": "Maniacal laugh", "category": "face-expression", "description": "Head thrown back in a wild unhinged laugh, eyes wide",
|
|
128
|
+
"promptHint": "the subject laughs maniacally, the head throwing back and the mouth stretching wide as the shoulders heave, the eyes wild and unblinking when the head snaps forward again with the grin still fixed", "term": "laughs maniacally, head thrown back" },
|
|
182
129
|
]
|