@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.
Files changed (54) hide show
  1. package/dist/index.cjs +8214 -7143
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +213 -61
  4. package/dist/index.d.ts +213 -61
  5. package/dist/index.js +8206 -7145
  6. package/dist/index.js.map +1 -1
  7. package/package.json +2 -2
  8. package/src/__tests__/adult-only-ratchet.test.ts +9 -1
  9. package/src/__tests__/catalog-packs.test.ts +13 -0
  10. package/src/__tests__/character-motion-audit.test.ts +77 -0
  11. package/src/__tests__/character-motion-exit-visibility.test.ts +183 -0
  12. package/src/__tests__/character-motion-partner-referent.test.ts +225 -0
  13. package/src/__tests__/character-motion.test.ts +11 -4
  14. package/src/__tests__/factory-presets.test.ts +28 -3
  15. package/src/__tests__/fixtures/parameter-hint-golden.json +22 -6
  16. package/src/__tests__/frame-delivery.test.ts +93 -0
  17. package/src/__tests__/graph-composed-unwired-identity.test.ts +166 -0
  18. package/src/__tests__/node-prompt-fields.test.ts +2 -2
  19. package/src/__tests__/parameter-prompt-hint.test.ts +9 -3
  20. package/src/__tests__/transitions-instant.test.ts +112 -0
  21. package/src/ad-creative-analysis.ts +99 -0
  22. package/src/catalog-packs.ts +13 -2
  23. package/src/character-motion/animals-pets.ts +112 -85
  24. package/src/character-motion/athletic-stunts.ts +155 -214
  25. package/src/character-motion/camera-interaction.ts +92 -133
  26. package/src/character-motion/combat-weapons.ts +143 -202
  27. package/src/character-motion/dance.ts +121 -169
  28. package/src/character-motion/entrances-exits.ts +88 -109
  29. package/src/character-motion/evasive-falls.ts +88 -130
  30. package/src/character-motion/everyday-actions.ts +233 -274
  31. package/src/character-motion/face-expression.ts +125 -178
  32. package/src/character-motion/gestures.ts +211 -304
  33. package/src/character-motion/head-gestures.ts +66 -94
  34. package/src/character-motion/idle-ambient.ts +85 -124
  35. package/src/character-motion/posture-shifts.ts +116 -139
  36. package/src/character-motion/runway.ts +73 -97
  37. package/src/character-motion/stage-performance.ts +92 -127
  38. package/src/character-motion/turns-looks.ts +86 -112
  39. package/src/character-motion/two-person.ts +241 -229
  40. package/src/character-motion/types.ts +4 -1
  41. package/src/character-motion/unnatural-horror.ts +53 -91
  42. package/src/character-motion/vehicles-mounts.ts +101 -97
  43. package/src/character-motion/walks-runs.ts +93 -121
  44. package/src/character-motion-diagnostics.ts +49 -0
  45. package/src/character-motion.ts +89 -13
  46. package/src/factory-presets/generate-video.ts +22 -0
  47. package/src/frame-delivery.ts +106 -0
  48. package/src/index.ts +7 -0
  49. package/src/node-prompt-fields.ts +4 -0
  50. package/src/parameter-prompt-hint.ts +23 -17
  51. package/src/picker-catalogs.ts +23 -2
  52. package/src/ref-binding.ts +19 -0
  53. package/src/transitions.ts +47 -10
  54. package/src/video-reference-resolver.ts +1 -1
@@ -1,89 +1,116 @@
1
1
  import type { CharacterMotion } from "./types.js"
2
2
 
3
- /** Animals & Pets — 28 entries. Category id `animals-pets`. */
3
+ /** animals-pets — authored motion fragments. Stable ids survive copy revisions. */
4
4
  export const ANIMALS_PETS_MOTIONS: ReadonlyArray<CharacterMotion> = [
5
- { id: "pet-a-dog", label: "Pet a Dog", category: "animals-pets", description: "Flat hand strokes over the dog's skull and neck",
6
- promptHint: "the subject lowers an open hand onto a dog's head, draws the flat palm back over the skull to the base of the neck, lifts the hand away and repeats the stroke",
7
- term: "pets a dog on the head" },
8
- { id: "scratch-behind-ears", label: "Scratch Behind Ears", category: "animals-pets", description: "Fingertips work in small circles behind an ear",
9
- promptHint: "the subject reaches to the side of an animal's head and works curled fingertips in small circles behind one ear, the wrist rocking, the other hand resting under the muzzle",
10
- term: "scratches behind the ears" },
11
- { id: "ruffle-dog-fur", label: "Ruffle Dog Fur", category: "animals-pets", description: "Fingers scrub through the thick fur at the neck",
12
- promptHint: "the subject sinks the fingers deep into the thick fur at a dog's neck and scrubs them briskly back and forth through the coat, elbows pumping, then opens the fingers and lifts the hands away",
13
- term: "ruffles a dog's fur with both hands" },
14
- { id: "scoop-up-pet", label: "Scoop Up Pet", category: "animals-pets", description: "Bends, slides both hands under, lifts to the chest",
15
- promptHint: "the subject bends at the knees, slides one hand under a small pet's chest and the other under its hindquarters, and straightens upright, drawing the animal in against the subject's chest",
16
- term: "scoops up a small pet" },
17
- { id: "offer-hand-to-sniff", label: "Offer Hand to Sniff", category: "animals-pets", description: "Arm extends, knuckles down, hand held still",
18
- promptHint: "the subject extends one arm forward at waist height with the fingers curled and the knuckles down, stops the hand short of the animal and holds it motionless, shoulders loose",
19
- term: "holds out a hand to be sniffed" },
20
- { id: "offer-a-treat", label: "Offer a Treat", category: "animals-pets", description: "Flat open palm held out at arm length",
21
- promptHint: "the subject brings a treat out of a pocket, flattens the palm with the fingers pressed straight, extends the arm forward at waist height and holds the hand steady while a dog lips the treat off the open palm",
22
- term: "offers a treat on an open palm" },
23
- { id: "get-pulled-by-leash", label: "Get Pulled by Leash", category: "animals-pets", description: "Leash snaps taut and drags the arm forward",
24
- promptHint: "the subject is yanked forward as the leash snaps taut and stumbles a step with one shoulder dragged ahead of the torso, then leans the weight back and digs the heels in",
25
- term: "gets pulled along by the leash" },
26
- { id: "reel-in-leash", label: "Reel In Leash", category: "animals-pets", description: "Hand over hand shortens the leash",
27
- promptHint: "the subject gathers the leash hand over hand, each fist closing on the line and drawing it back to the hip until the slack is gone, the elbow tucked tight against the ribs",
28
- term: "reels in the leash hand over hand" },
29
- { id: "throw-ball-for-dog", label: "Throw Ball for Dog", category: "animals-pets", description: "Overhand wind-up, release, follow-through",
30
- promptHint: "the subject cocks the throwing arm back past the shoulder, steps onto the front foot, whips the arm forward and releases a ball, the hand following through down across the opposite hip",
31
- term: "throws a ball for a dog" },
32
- { id: "kneel-to-greet", label: "Kneel to Greet", category: "animals-pets", description: "Drops to one knee and opens both arms",
33
- promptHint: "the subject drops onto one knee, spreads both arms wide and leans the chest forward, closing both hands around a dog's shoulders and rocking back slightly under the weight",
34
- term: "kneels down to greet a dog" },
35
- { id: "signal-dog-to-sit", label: "Signal Dog to Sit", category: "animals-pets", description: "Flat palm raised, then pressed down and held",
36
- promptHint: "the subject raises one flat palm to chest height, holds it still for a beat, and presses the hand down toward the ground in a firm level push, freezing it there",
37
- term: "signals a dog to sit" },
38
- { id: "call-dog-over", label: "Call Dog Over", category: "animals-pets", description: "Slaps thighs, whistles, crouches with arms open",
39
- promptHint: "the subject slaps both palms against the thighs twice, cups one hand beside the mouth to whistle, and drops into a crouch with the arms spread open and waiting",
40
- term: "calls a dog over" },
41
- { id: "cuddle-pet-on-lap", label: "Cuddle Pet on Lap", category: "animals-pets", description: "Curls over a pet on the lap and strokes its back",
42
- promptHint: "the subject curls the shoulders forward over a pet settled across the lap, runs one hand in long strokes down its back and lets the chin drop toward it",
43
- term: "cuddles a pet on the lap" },
44
- { id: "hold-cat-to-chest", label: "Hold Cat to Chest", category: "animals-pets", description: "Gathers a cat up against the sternum",
45
- promptHint: "the subject gathers a cat up against the chest, one forearm braced under its hindquarters and the other hand flat along its back, and lowers the chin toward its head",
46
- term: "holds a cat against the chest" },
47
- { id: "lift-cat-up", label: "Lift Cat Up", category: "animals-pets", description: "Chest and hindquarters supported, lifted to eye level",
48
- promptHint: "the subject slides one hand under a cat's chest just behind the front legs and the other under its hindquarters, lifts it up to eye level as the arms extend, holds it there a beat before drawing it back in against the chest",
49
- term: "lifts a cat up to eye level" },
50
- { id: "lift-puppy-to-face", label: "Lift Puppy to Face", category: "animals-pets", description: "Raises a puppy up nose to nose",
51
- promptHint: "the subject raises a puppy in both hands from lap height up to eye level, lifts the chin and leans in until the two are nose to nose, then lowers the puppy back down against the subject's chest",
52
- term: "holds a puppy up to the face" },
53
- { id: "let-bird-perch", label: "Let Bird Perch", category: "animals-pets", description: "Index finger held out level and steady",
54
- promptHint: "the subject holds one index finger out level in front of the chest and locks the elbow against the ribs to keep the hand from shaking, lifting the whole arm upward as a bird steps onto the finger",
55
- term: "holds out a finger for a bird" },
56
- { id: "feed-the-ducks", label: "Feed the Ducks", category: "animals-pets", description: "Breaks off pieces and tosses them underhand",
57
- promptHint: "the subject reaches into a bag, pinches off small pieces and flicks them out underhand one after another with a loose wrist, stepping back a pace between tosses",
58
- term: "feeds the ducks" },
59
- { id: "stroke-horse-neck", label: "Stroke Horse Neck", category: "animals-pets", description: "Long flat-palm sweeps down the neck",
60
- promptHint: "the subject lays a flat palm high on a horse's neck and sweeps it down the length of the crest in long full strokes, the other hand resting at the horse's shoulder",
61
- term: "strokes a horse's neck" },
62
- { id: "brush-the-horse", label: "Brush the Horse", category: "animals-pets", description: "Long brush strokes along the lie of the coat",
63
- promptHint: "the subject presses a brush to a horse's flank and pulls it in long strokes along the lie of the coat, the free hand steadying the horse ahead of each pass, the shoulder swinging with the motion",
64
- term: "brushes a horse's coat" },
65
- { id: "pat-horse-flank", label: "Pat Horse Flank", category: "animals-pets", description: "Two firm open-palm pats, then rests the hand",
66
- promptHint: "the subject brings a flat hand in to pat a horse's flank twice with a firm open palm, then leaves the hand resting there and leans a little weight onto it",
67
- term: "pats a horse on the flank" },
68
- { id: "mount-the-horse", label: "Mount the Horse", category: "animals-pets", description: "Foot in the stirrup, swings the leg over",
69
- promptHint: "the subject sets one foot into the stirrup, grips the saddle with both hands, springs off the ground and swings the trailing leg over, then settles down and finds the other stirrup",
70
- term: "mounts a horse" },
71
- { id: "back-away-slowly", label: "Back Away Slowly", category: "animals-pets", description: "Small heel-first steps back, palms raised",
72
- promptHint: "the subject shifts the weight onto the back foot and takes small heel-first steps backward, palms raised open at chest height, the torso staying square and the gaze fixed forward",
73
- term: "backs away slowly from an animal" },
74
- { id: "let-it-approach", label: "Let It Approach", category: "animals-pets", description: "Goes completely still and waits it out",
75
- promptHint: "the subject stops mid-step and goes completely still, arms hanging loose at the sides, the breathing shallow so the chest barely moves, only the eyes tracking the animal",
76
- term: "freezes as an animal comes near" },
77
- { id: "crouch-to-photograph", label: "Crouch to Photograph", category: "animals-pets", description: "Drops low and frames the animal with a phone",
78
- promptHint: "the subject drops into a low crouch, braces the elbows on the knees and lifts a phone in both hands up in front of the face, holding dead still before tapping the screen with a thumb",
79
- term: "crouches to photograph an animal" },
80
- { id: "tug-the-toy", label: "Tug the Toy", category: "animals-pets", description: "Both fists on a rope toy, leaning back and pulling",
81
- promptHint: "the subject grips a rope toy in both fists, leans the torso back against the pull and swings the toy side to side in short jerks before stepping in to let the tension go slack",
82
- term: "tugs back and forth on a rope toy" },
83
- { id: "wipe-muddy-paws", label: "Wipe Muddy Paws", category: "animals-pets", description: "Kneels and towels one paw at a time",
84
- promptHint: "the subject kneels on one knee, lifts a dog's paw into a cupped hand, wraps a towel around it and rubs it clean, sets it back down and reaches for the next one",
85
- term: "wipes a dog's muddy paws" },
86
- { id: "brace-for-jump", label: "Brace for Jump", category: "animals-pets", description: "Plants the back foot to absorb a dog jumping up",
87
- promptHint: "the subject plants the back foot and drops the pelvis to take a dog's weight against the chest, both hands rising to catch its shoulders, the torso rocking back then steadying",
88
- term: "braces as a dog jumps up" },
5
+ { "id": "pet-a-dog", "label": "Pet a dog", "category": "animals-pets", "description": "Flat hand strokes over the dog's skull and neck",
6
+ "promptHint": "the subject lowers an open hand onto the counterpart's head, draws the flat palm back over the skull to the base of the neck, lifts the hand away and repeats the stroke", "term": "pets the counterpart on the head",
7
+ "counterpart": "a dog", "requires": ["dog"] },
8
+ { "id": "scratch-behind-ears", "label": "Scratch behind ears", "category": "animals-pets", "description": "Fingertips work in small circles behind an ear",
9
+ "promptHint": "the subject reaches to the side of the counterpart's head and works curled fingertips in small circles behind one ear, the wrist rocking, the other hand resting under the muzzle", "term": "scratches behind the ears with the counterpart",
10
+ "counterpart": "an animal", "requires": ["animal"] },
11
+ { "id": "ruffle-dog-fur", "label": "Ruffle dog fur", "category": "animals-pets", "description": "Fingers scrub through the thick fur at the neck",
12
+ "promptHint": "the subject sinks the fingers deep into the thick fur at the counterpart's neck and scrubs them briskly back and forth through the coat, elbows pumping, then opens the fingers and lifts the hands away", "term": "ruffles the counterpart's fur with both hands",
13
+ "counterpart": "a dog", "requires": ["dog"] },
14
+ { "id": "scoop-up-pet", "label": "Scoop up pet", "category": "animals-pets", "description": "Bends, slides both hands under, lifts to the chest",
15
+ "promptHint": "the subject bends at the knees, slides one hand under the counterpart's chest and the other under its hindquarters, and straightens upright, drawing the animal in against the subject's chest", "term": "scoops up the counterpart",
16
+ "counterpart": "a small pet", "requires": ["pet"] },
17
+ { "id": "offer-hand-to-sniff", "label": "Offer hand to sniff", "category": "animals-pets", "description": "Arm extends, knuckles down, hand held still",
18
+ "promptHint": "the subject extends one arm forward at waist height with the fingers curled and the knuckles down, stops the hand short of the counterpart and holds it motionless, shoulders loose", "term": "offers knuckles for the counterpart to sniff",
19
+ "counterpart": "the animal", "requires": ["animal"] },
20
+ { "id": "offer-a-treat", "label": "Offer treat to dog", "category": "animals-pets", "description": "Holds a treat out for the dog without requiring it to take it.",
21
+ "promptHint": "the subject extends an open palm holding a treat toward the counterpart and holds it steady, waiting for a response", "term": "offers the counterpart a treat on open palm",
22
+ "counterpart": "a dog", "requires": ["dog", "treat"], "aliases": ["Offer a Treat"] },
23
+ { "id": "get-pulled-by-leash", "label": "Get pulled by leash", "category": "animals-pets", "description": "Leash snaps taut and drags the arm forward",
24
+ "promptHint": "the subject is yanked forward as the leash snaps taut and stumbles a step with one shoulder dragged ahead of the torso, then leans the weight back and digs the heels in", "term": "gets pulled along by the leash" },
25
+ { "id": "reel-in-leash", "label": "Reel in leash", "category": "animals-pets", "description": "Hand over hand shortens the leash",
26
+ "promptHint": "the subject gathers the leash hand over hand, each fist closing on the line and drawing it back to the hip until the slack is gone, the elbow tucked tight against the ribs", "term": "reels in the leash hand over hand" },
27
+ { "id": "throw-ball-for-dog", "label": "Throw ball for dog", "category": "animals-pets", "description": "Throws a ball ahead of the dog without adding a fetch return.",
28
+ "promptHint": "the subject faces the same direction as the counterpart, draws the throwing arm back and throws a ball forward, following through with the arm", "term": "throws a ball ahead of the counterpart",
29
+ "counterpart": "a dog", "requires": ["dog", "ball"] },
30
+ { "id": "kneel-to-greet", "label": "Kneel to greet", "category": "animals-pets", "description": "Drops to one knee and opens both arms",
31
+ "promptHint": "the subject drops onto one knee, spreads both arms wide and leans the chest forward, closing both hands around the counterpart's shoulders and rocking back slightly under the weight", "term": "kneels down to greet the counterpart",
32
+ "counterpart": "a dog", "requires": ["dog"] },
33
+ { "id": "signal-dog-to-sit", "label": "Signal dog to sit", "category": "animals-pets", "description": "Gives the dog a downward hand signal without requiring a response.",
34
+ "promptHint": "the subject faces the counterpart, raises a flat palm to chest height and lowers it in a deliberate downward signal, then waits", "term": "gives the counterpart a downward sit signal",
35
+ "counterpart": "a dog", "requires": ["dog"] },
36
+ { "id": "call-dog-over", "label": "Call dog over", "category": "animals-pets", "description": "Crouches and beckons the dog, then waits.",
37
+ "promptHint": "the subject faces the counterpart, lowers into a crouch, pats one thigh and opens both hands in an inviting gesture, then waits", "term": "crouches and beckons the counterpart",
38
+ "counterpart": "a dog", "requires": ["dog"] },
39
+ { "id": "cuddle-pet-on-lap", "label": "Cuddle pet on lap", "category": "animals-pets", "description": "Curls over a pet on the lap and strokes its back",
40
+ "promptHint": "the subject curls the shoulders forward over the counterpart settled across the lap, runs one hand in long strokes down its back and lets the chin drop toward it", "term": "cuddles the counterpart on the lap",
41
+ "counterpart": "a pet", "requires": ["pet"] },
42
+ { "id": "hold-cat-to-chest", "label": "Hold cat to chest", "category": "animals-pets", "description": "Gathers a cat up against the sternum",
43
+ "promptHint": "the subject gathers the counterpart up against the chest, one forearm braced under its hindquarters and the other hand flat along its back, and lowers the chin toward its head", "term": "holds the counterpart against the chest",
44
+ "counterpart": "a cat", "requires": ["cat"] },
45
+ { "id": "lift-cat-up", "label": "Lift cat up", "category": "animals-pets", "description": "Chest and hindquarters supported, lifted to eye level",
46
+ "promptHint": "the subject slides one hand under the counterpart's chest just behind the front legs and the other under its hindquarters, lifts it up to eye level as the arms extend, holds it there a beat before drawing it back in against the chest", "term": "lifts the counterpart up to eye level",
47
+ "counterpart": "a cat", "requires": ["cat"] },
48
+ { "id": "lift-puppy-to-face", "label": "Lift puppy to face", "category": "animals-pets", "description": "Raises a puppy up nose to nose",
49
+ "promptHint": "the subject raises the counterpart in both hands from lap height up to eye level, lifts the chin and leans in until the two are nose to nose, then lowers the counterpart back down against the subject's chest", "term": "holds the counterpart up to the face",
50
+ "counterpart": "a puppy", "requires": ["puppy"] },
51
+ { "id": "let-bird-perch", "label": "Let bird perch", "category": "animals-pets", "description": "Index finger held out level and steady",
52
+ "promptHint": "the subject holds one index finger out level in front of the chest and locks the elbow against the ribs to keep the hand from shaking, lifting the whole arm upward as the counterpart steps onto the finger", "term": "holds out a finger for the counterpart",
53
+ "counterpart": "a bird", "requires": ["bird"] },
54
+ { "id": "feed-the-ducks", "label": "Feed ducks", "category": "animals-pets", "description": "Tosses small pieces of food toward the ducks.",
55
+ "promptHint": "the subject takes small pieces of food from a bag and tosses them underhand toward the counterpart", "term": "tosses small pieces of food toward the counterpart",
56
+ "counterpart": "the ducks", "requires": ["ducks", "food", "bag"], "aliases": ["Feed the Ducks"] },
57
+ { "id": "stroke-horse-neck", "label": "Stroke horse neck", "category": "animals-pets", "description": "Long flat-palm sweeps down the neck",
58
+ "promptHint": "the subject lays a flat palm high on the counterpart's neck and sweeps it down the length of the crest in long full strokes, the other hand resting at the counterpart's shoulder", "term": "strokes the counterpart's neck",
59
+ "counterpart": "a horse", "requires": ["horse"] },
60
+ { "id": "brush-the-horse", "label": "Brush the horse", "category": "animals-pets", "description": "Long brush strokes along the lie of the coat",
61
+ "promptHint": "the subject presses a brush to the counterpart's flank and pulls it in long strokes along the lie of the coat, the free hand steadying the counterpart ahead of each pass, the shoulder swinging with the motion", "term": "brushes the counterpart's coat",
62
+ "counterpart": "a horse", "requires": ["horse"] },
63
+ { "id": "pat-horse-flank", "label": "Pat horse flank", "category": "animals-pets", "description": "Two firm open-palm pats, then rests the hand",
64
+ "promptHint": "the subject brings a flat hand in to pat the counterpart's flank twice with a firm open palm, then leaves the hand resting there and leans a little weight onto it", "term": "pats the counterpart on the flank",
65
+ "counterpart": "a horse", "requires": ["horse"] },
66
+ { "id": "mount-the-horse", "label": "Mount the horse", "category": "animals-pets", "description": "Foot in the stirrup, swings the leg over",
67
+ "promptHint": "the subject sets one foot into the stirrup, grips the saddle with both hands, springs off the ground and swings the trailing leg over, then settles down and finds the other stirrup", "term": "mounts a horse",
68
+ "deprecated": true, "replacementId": "mount-horse", "aliases": ["mount horse"] },
69
+ { "id": "back-away-slowly", "label": "Back away slowly from animal", "category": "animals-pets", "description": "Takes small cautious backward steps while facing the animal.",
70
+ "promptHint": "the subject faces the counterpart and takes small cautious backward steps, keeping the upper body steady and the gaze forward", "term": "takes cautious backward steps away from the counterpart",
71
+ "counterpart": "an animal", "requires": ["animal"], "fixedPace": true, "startPose": "standing", "endPose": "standing", "aliases": ["Back Away Slowly", "retreat"] },
72
+ { "id": "let-it-approach", "label": "Let it approach", "category": "animals-pets", "description": "Goes completely still and waits it out",
73
+ "promptHint": "the subject stops mid-step and goes completely still, arms hanging loose at the sides, the breathing shallow so the chest barely moves, only the eyes tracking the counterpart", "term": "freezes as the counterpart comes near",
74
+ "counterpart": "the animal", "requires": ["animal"] },
75
+ { "id": "crouch-to-photograph", "label": "Crouch to photograph", "category": "animals-pets", "description": "Drops low and frames the animal with a phone",
76
+ "promptHint": "the subject drops into a low crouch, braces the elbows on the knees and lifts a phone in both hands up in front of the face, holding dead still before tapping the screen with a thumb", "term": "crouches to photograph an animal" },
77
+ { "id": "tug-the-toy", "label": "Tug toy with dog", "category": "animals-pets", "description": "Pulls one end of a rope toy while the dog holds the other.",
78
+ "promptHint": "the subject holds one end of a rope toy while the counterpart holds the other, leans back with a gentle pull and then steps forward to loosen the tension", "term": "tugs a rope toy held by the counterpart",
79
+ "counterpart": "a dog", "requires": ["dog", "rope toy"], "aliases": ["Tug the Toy"] },
80
+ { "id": "wipe-muddy-paws", "label": "Wipe muddy paws", "category": "animals-pets", "description": "Kneels and towels one paw at a time",
81
+ "promptHint": "the subject kneels on one knee, lifts the counterpart's paw into a cupped hand, wraps a towel around it and rubs it clean, sets it back down and reaches for the next one", "term": "wipes the counterpart's muddy paws",
82
+ "counterpart": "a dog", "requires": ["dog"] },
83
+ { "id": "brace-for-jump", "label": "Brace for jump", "category": "animals-pets", "description": "Plants the back foot to absorb a dog jumping up",
84
+ "promptHint": "the subject plants the back foot and drops the pelvis to take the counterpart's weight against the chest, both hands rising to catch its shoulders, the torso rocking back then steadying", "term": "braces as the counterpart jumps up",
85
+ "counterpart": "a dog", "requires": ["dog"] },
86
+ { "id": "dog-subject-sit", "label": "Dog sits", "category": "animals-pets", "description": "Dog sits.",
87
+ "term": "sits down on the hindquarters", "promptHint": "the subject is a dog that lowers its hindquarters to the ground while keeping the front legs upright",
88
+ "requires": ["dog as target subject"], "aliases": ["animal subject"] },
89
+ { "id": "dog-subject-lie-down", "label": "Dog lies down", "category": "animals-pets", "description": "Dog lies down.",
90
+ "term": "lies down with all four limbs resting", "promptHint": "the subject is a dog that lowers the chest and hindquarters to rest on the ground",
91
+ "requires": ["dog as target subject"], "aliases": ["animal subject"] },
92
+ { "id": "dog-subject-wag-tail", "label": "Dog wags tail", "category": "animals-pets", "description": "Dog wags tail.",
93
+ "term": "wags the tail", "promptHint": "the subject is a dog that wags its tail from side to side while keeping the body in place",
94
+ "requires": ["dog as target subject"], "aliases": ["animal subject"] },
95
+ { "id": "dog-subject-shake", "label": "Dog shakes body", "category": "animals-pets", "description": "Dog shakes body.",
96
+ "term": "shakes the body from head to tail", "promptHint": "the subject is a dog that shakes its body from head through torso to tail and then becomes still",
97
+ "requires": ["dog as target subject"], "aliases": ["animal subject"] },
98
+ { "id": "cat-subject-stretch", "label": "Cat stretches", "category": "animals-pets", "description": "Cat stretches.",
99
+ "term": "stretches the front legs and back", "promptHint": "the subject is a cat that extends both front legs, lowers the chest and lengthens the back before returning upright",
100
+ "requires": ["cat as target subject"], "aliases": ["animal subject"] },
101
+ { "id": "horse-subject-walk", "label": "Horse walks", "category": "animals-pets", "description": "Horse walks.",
102
+ "term": "walks with a steady four-beat gait", "promptHint": "the subject is a horse that walks steadily forward in a four-beat gait",
103
+ "requires": ["horse as target subject"], "aliases": ["animal subject"] },
104
+ { "id": "horse-subject-trot", "label": "Horse trots", "category": "animals-pets", "description": "Horse trots.",
105
+ "term": "trots with alternating diagonal leg pairs", "promptHint": "the subject is a horse that trots forward using alternating diagonal pairs of legs",
106
+ "requires": ["horse as target subject"], "aliases": ["animal subject"] },
107
+ { "id": "horse-subject-canter", "label": "Horse canters", "category": "animals-pets", "description": "Horse canters.",
108
+ "term": "canters in a rhythmic three-beat gait", "promptHint": "the subject is a horse that canters forward in a rhythmic three-beat gait",
109
+ "requires": ["horse as target subject"], "aliases": ["animal subject"] },
110
+ { "id": "bird-subject-hop", "label": "Bird hops", "category": "animals-pets", "description": "Bird hops.",
111
+ "term": "hops forward and settles", "promptHint": "the subject is a bird that makes a small hop forward and settles on both feet",
112
+ "requires": ["bird as target subject"], "aliases": ["animal subject"] },
113
+ { "id": "bird-subject-takeoff", "label": "Bird takes flight", "category": "animals-pets", "description": "Bird takes flight.",
114
+ "term": "pushes off, beating wings to take flight", "promptHint": "the subject is a bird that pushes off its perch and beats its wings to take flight",
115
+ "requires": ["bird as target subject"], "aliases": ["animal subject"] },
89
116
  ]