@nodaro/prompts 1.18.0 → 1.20.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 (56) hide show
  1. package/dist/index.cjs +9861 -1414
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +209 -10
  4. package/dist/index.d.ts +209 -10
  5. package/dist/index.js +9199 -765
  6. package/dist/index.js.map +1 -1
  7. package/package.json +2 -2
  8. package/src/__tests__/adult-only-ratchet.test.ts +18 -1
  9. package/src/__tests__/assemble-suno-input.test.ts +14 -1
  10. package/src/__tests__/character-motion-docs-example.test.ts +26 -0
  11. package/src/__tests__/character-motion-timing-catalogs.test.ts +76 -0
  12. package/src/__tests__/character-motion.test.ts +207 -0
  13. package/src/__tests__/fixtures/parameter-hint-golden.json +137 -1
  14. package/src/__tests__/hint-join.test.ts +57 -0
  15. package/src/__tests__/parameter-hint-mode.test.ts +28 -0
  16. package/src/__tests__/parameter-prompt-hint.test.ts +159 -0
  17. package/src/__tests__/parameter-registry-sync.test.ts +2 -0
  18. package/src/__tests__/picker-analyzer-registry.test.ts +1 -1
  19. package/src/__tests__/sound-aggregator.test.ts +1 -1
  20. package/src/__tests__/transition-timing-catalogs.test.ts +1 -1
  21. package/src/__tests__/video-reference-features.test.ts +10 -1
  22. package/src/age-floor.ts +1 -1
  23. package/src/assemble-suno-input.ts +3 -2
  24. package/src/camera-motions.ts +44 -42
  25. package/src/character-motion/animals-pets.ts +89 -0
  26. package/src/character-motion/athletic-stunts.ts +218 -0
  27. package/src/character-motion/camera-interaction.ts +137 -0
  28. package/src/character-motion/combat-weapons.ts +206 -0
  29. package/src/character-motion/dance.ts +173 -0
  30. package/src/character-motion/entrances-exits.ts +113 -0
  31. package/src/character-motion/evasive-falls.ts +134 -0
  32. package/src/character-motion/everyday-actions.ts +278 -0
  33. package/src/character-motion/face-expression.ts +182 -0
  34. package/src/character-motion/gestures.ts +308 -0
  35. package/src/character-motion/head-gestures.ts +98 -0
  36. package/src/character-motion/idle-ambient.ts +128 -0
  37. package/src/character-motion/posture-shifts.ts +143 -0
  38. package/src/character-motion/runway.ts +101 -0
  39. package/src/character-motion/stage-performance.ts +131 -0
  40. package/src/character-motion/turns-looks.ts +116 -0
  41. package/src/character-motion/two-person.ts +233 -0
  42. package/src/character-motion/types.ts +42 -0
  43. package/src/character-motion/unnatural-horror.ts +95 -0
  44. package/src/character-motion/vehicles-mounts.ts +101 -0
  45. package/src/character-motion/walks-runs.ts +125 -0
  46. package/src/character-motion.ts +286 -0
  47. package/src/factory-presets/music.ts +35 -35
  48. package/src/hint-join.ts +26 -0
  49. package/src/index.ts +2 -0
  50. package/src/parameter-prompt-hint.ts +67 -1
  51. package/src/picker-analyzer-registry.ts +9 -5
  52. package/src/picker-catalogs.ts +24 -0
  53. package/src/picker-wiring.ts +2 -0
  54. package/src/prompt-wizard-categories.ts +9 -5
  55. package/src/provider-prompt-doctrine.ts +1 -1
  56. package/src/sound-aggregator.ts +1 -1
@@ -0,0 +1,206 @@
1
+ import type { CharacterMotion } from "./types.js"
2
+
3
+ /** Combat & Weapons — 67 entries. Category id `combat-weapons`. */
4
+ export const COMBAT_WEAPONS_MOTIONS: ReadonlyArray<CharacterMotion> = [
5
+ { id: "draw-pistol-from-holster", label: "Draw Pistol", category: "combat-weapons", description: "Hand drops to the holster and clears the pistol",
6
+ promptHint: "the subject drops the dominant hand to the hip holster, grips the pistol and pulls it clear, the muzzle sweeping up level as the support hand joins the grip",
7
+ term: "draws pistol from the holster" },
8
+ { id: "raise-and-aim-pistol", label: "Raise & Aim Pistol", category: "combat-weapons", description: "Pistol comes up from low ready to eye level",
9
+ promptHint: "the subject lifts the pistol from a low ready position, both arms extending forward until the sights sit at eye level, shoulders squared and feet planted",
10
+ term: "raises pistol to aim" },
11
+ { id: "fire-pistol", label: "Fire Pistol", category: "combat-weapons", description: "Trigger squeeze, recoil kick, muzzle settles back",
12
+ promptHint: "the subject squeezes the trigger with both arms extended, the pistol kicking upward in recoil and the wrists absorbing the jolt, then settles the muzzle back on target",
13
+ term: "fires the pistol" },
14
+ { id: "fire-rifle-from-shoulder", label: "Fire Rifle", category: "combat-weapons", description: "Rifle shouldered, shoulder rocks with each recoil",
15
+ promptHint: "the subject shoulders the rifle stock with the cheek pressed down onto it and fires, the shoulder rocking back with each recoil pulse while the feet stay planted",
16
+ term: "fires rifle from the shoulder" },
17
+ { id: "aim-down-sights", label: "Aim Down Sights", category: "combat-weapons", description: "Rifle rises to the shoulder, cheek on stock, holds",
18
+ promptHint: "the subject raises the rifle from low ready to the shoulder, drops the cheek onto the stock and closes one eye, holding still on target with both elbows tucked in",
19
+ term: "aims down the sights" },
20
+ { id: "reload-magazine", label: "Reload Magazine", category: "combat-weapons", description: "Drops the empty mag, seats a fresh one, weapon back up",
21
+ promptHint: "the subject drops the empty magazine with a thumb press, pulls a fresh magazine from the belt, seats it with a palm slap and brings the weapon back up to ready",
22
+ term: "reloads a fresh magazine" },
23
+ { id: "rack-the-slide", label: "Rack the Slide", category: "combat-weapons", description: "Support hand pulls the pistol slide back and lets go",
24
+ promptHint: "the subject grips the top of the pistol with the support hand, pulls the slide back toward the chest and releases it so it snaps forward, then re-grips ready to fire",
25
+ term: "racks the pistol slide" },
26
+ { id: "pump-shotgun", label: "Pump Shotgun", category: "combat-weapons", description: "Fore-end pulled back and shoved forward in one pump",
27
+ promptHint: "the subject pulls the shotgun fore-end back toward the body and shoves it forward again in one pump, then settles the stock back into the shoulder",
28
+ term: "pumps the shotgun" },
29
+ { id: "holster-pistol", label: "Holster Pistol", category: "combat-weapons", description: "Pistol lowers from aim and slides into the holster",
30
+ promptHint: "the subject lowers the pistol from aim, turns the muzzle toward the ground and guides it into the hip holster with a downward push, then lets the hand come away",
31
+ term: "holsters the pistol" },
32
+ { id: "advance-with-rifle-up", label: "Tactical Advance", category: "combat-weapons", description: "Crouched forward walk with the rifle up",
33
+ promptHint: "the subject moves forward in a crouched walk with the rifle raised at the shoulder, muzzle tracking ahead, knees bent and heel-to-toe steps keeping the upper body level",
34
+ term: "advances with rifle up" },
35
+ { id: "run-and-gun", label: "Run & Gun", category: "combat-weapons", description: "Fires the pistol on the move at a run",
36
+ promptHint: "the subject runs forward with the pistol raised in both hands and fires on the move, the upper body staying level over the pumping legs while the muzzle holds on target",
37
+ term: "fires while running forward" },
38
+ { id: "take-cover", label: "Take Cover", category: "combat-weapons", description: "Drops low behind an object, weapon to the chest",
39
+ promptHint: "the subject drops low and moves sideways behind a solid object, back pressing against it, weapon pulled tight to the chest and head ducked below the edge",
40
+ term: "takes cover with the weapon tucked in" },
41
+ { id: "pop-out-and-fire", label: "Pop Out & Fire", category: "combat-weapons", description: "Leans out of cover, fires, pulls back in",
42
+ promptHint: "the subject leans out from behind cover, bringing the weapon up to aim and firing, then pulls back behind cover with the weapon tucked in",
43
+ term: "pops out of cover and fires" },
44
+ { id: "flip-table-for-cover", label: "Flip Table for Cover", category: "combat-weapons", description: "Heaves a table onto its side and crouches behind it",
45
+ promptHint: "the subject grabs the edge of a table with both hands, heaves it up onto its side in one lift and drops into a crouch behind the tabletop with the head ducked below the edge",
46
+ term: "flips a table and ducks behind it" },
47
+ { id: "signal-move-up", label: "Tactical Hand Signal", category: "combat-weapons", description: "Two-finger move-up signal, then back on the rifle",
48
+ promptHint: "the subject raises the support hand beside the head with two fingers extended, chops the fingers forward twice to signal the team to move up, then returns the hand to the rifle",
49
+ term: "signals move up with two fingers" },
50
+ { id: "turn-and-fire", label: "Turn & Fire", category: "combat-weapons", description: "Pivots around and fires as the muzzle comes on target",
51
+ promptHint: "the subject pivots on the balls of the feet, swinging the weapon around with the turn and firing the instant the muzzle comes on target, stance settling square",
52
+ term: "turns and fires" },
53
+ { id: "kneel-and-fire", label: "Kneel & Fire", category: "combat-weapons", description: "Drops to one knee and fires from the low stance",
54
+ promptHint: "the subject drops onto one knee with the other foot planted forward, brings the weapon up to the shoulder and fires from the lower stance, elbow braced on the raised knee",
55
+ term: "drops to a knee and fires" },
56
+ { id: "lower-weapon", label: "Lower Weapon", category: "combat-weapons", description: "Weapon eases down from aim, stance relaxes",
57
+ promptHint: "the subject eases the weapon down from aim, arms bending and the muzzle dropping toward the ground as the shoulders relax and the stance opens up",
58
+ term: "lowers the weapon" },
59
+ { id: "twirl-and-holster", label: "Gun Twirl & Holster", category: "combat-weapons", description: "Spins the pistol on the trigger finger, slides it home",
60
+ promptHint: "the subject spins the pistol around the trigger finger in a flourish, catches the grip on the last turn and slides it down into the holster",
61
+ term: "twirls the pistol and holsters it" },
62
+ { id: "throw-grenade", label: "Throw Grenade", category: "combat-weapons", description: "Pulls the pin, lobs overhand, ducks down",
63
+ promptHint: "the subject pulls the pin, cocks the arm back and lobs the grenade forward in a high overhand arc, then drops into a crouch with the head tucked",
64
+ term: "lobs a grenade overhand" },
65
+ { id: "draw-sword", label: "Draw Sword", category: "combat-weapons", description: "Sword pulled from the scabbard up into guard",
66
+ promptHint: "the subject reaches across the body to the hilt, draws the sword in one long pull until the blade clears the scabbard, and brings it up into a guard position",
67
+ term: "draws sword from the scabbard" },
68
+ { id: "slash-with-sword", label: "Sword Slash", category: "combat-weapons", description: "Horizontal cut driven by hip rotation",
69
+ promptHint: "the subject steps into a horizontal sword slash, the blade sweeping across from one side to the other with the pelvis rotating through the cut and the arms finishing extended",
70
+ term: "swings a horizontal sword slash" },
71
+ { id: "drive-overhead-strike", label: "Overhead Strike", category: "combat-weapons", description: "Two-handed vertical cut, weight dropping into it",
72
+ promptHint: "the subject raises the sword above the head with both hands, then drives it straight down in a vertical cut, the body weight dropping into the strike and the blade ending low",
73
+ term: "drives an overhead sword strike" },
74
+ { id: "parry-incoming-strike", label: "Parry", category: "combat-weapons", description: "Blade snaps up to deflect a strike, resets to guard",
75
+ promptHint: "the subject snaps the blade up to meet an incoming strike, catching it and deflecting it aside with a turn of the wrists, then resets the sword to a guard position",
76
+ term: "parries an incoming strike" },
77
+ { id: "sheathe-sword", label: "Sheathe Sword", category: "combat-weapons", description: "Blade guided into the scabbard until the hilt seats",
78
+ promptHint: "the subject lowers the sword, guides the blade tip into the scabbard mouth with the free hand and slides it home until the hilt seats, then drops both hands",
79
+ term: "sheathes the sword" },
80
+ { id: "draw-and-cut", label: "Draw & Cut", category: "combat-weapons", description: "Sword leaves the scabbard straight into a slash",
81
+ promptHint: "the subject draws the sword and cuts in one continuous motion, the blade leaving the scabbard straight into a horizontal slash, then holds the finish with the blade extended low",
82
+ term: "draws and cuts in one motion" },
83
+ { id: "flourish-sword", label: "Sword Flourish", category: "combat-weapons", description: "Figure-eight spin of the blade, settles into guard",
84
+ promptHint: "the subject spins the sword in a figure-eight around the body, the wrist rolling the blade over the back of the hand, then settles it into a guard position",
85
+ term: "spins a figure-eight sword flourish" },
86
+ { id: "raise-sword-to-rally", label: "Raise Sword to Rally", category: "combat-weapons", description: "Thrusts the sword overhead, then points it ahead",
87
+ promptHint: "the subject thrusts the sword straight up overhead with the arm fully extended and the chest lifted, holds it high as a rallying signal, then sweeps the blade down to point ahead",
88
+ term: "raises sword overhead to rally" },
89
+ { id: "raise-shield-to-block", label: "Raise Shield", category: "combat-weapons", description: "Shield snaps up, body braces behind it, lowers",
90
+ promptHint: "the subject snaps a shield up in front of the body, the forearm bracing behind it and the shoulder tucking in as the body leans into the block, then lowers the shield to chest height",
91
+ term: "raises a shield to block" },
92
+ { id: "charge-into-battle", label: "Battle Charge", category: "combat-weapons", description: "Charges forward at a run, weapon raised to strike",
93
+ promptHint: "the subject raises the weapon overhead and charges forward at a run, the body leaning into the charge with the free arm pumping and the weapon arm cocked back ready to strike",
94
+ term: "charges with weapon raised" },
95
+ { id: "roar-a-battle-cry", label: "Battle Cry", category: "combat-weapons", description: "Head back, chest out, roars with a fist pumping up",
96
+ promptHint: "the subject throws the head back with the chest expanding and roars a battle cry with the mouth wide open, the free fist pumping up, then drops the chin back level with the eyes fixed ahead",
97
+ term: "roars a battle cry" },
98
+ { id: "flip-knife", label: "Knife Flip", category: "combat-weapons", description: "Tosses a knife into a spin and catches the handle",
99
+ promptHint: "the subject tosses a knife into a spin from one hand, lets it turn end over end in the air and catches it by the handle in a ready grip",
100
+ term: "flips a knife and catches it" },
101
+ { id: "slash-with-knife", label: "Knife Slash", category: "combat-weapons", description: "Horizontal knife slash at chest height, back to ready",
102
+ promptHint: "the subject snaps a knife across in a horizontal slash at chest height, the wrist leading and the forearm following through, then pulls the blade back to a low ready grip",
103
+ term: "slashes a knife horizontally" },
104
+ { id: "throw-knife", label: "Throw Knife", category: "combat-weapons", description: "Arm whips through and releases a spinning knife",
105
+ promptHint: "the subject draws the arm back with the knife held by the blade, steps forward and whips the arm through, releasing the knife to spin end over end toward the target",
106
+ term: "throws a knife" },
107
+ { id: "thrust-spear", label: "Spear Thrust", category: "combat-weapons", description: "Lunging straight thrust, then pulls it back",
108
+ promptHint: "the subject lunges forward onto the front foot and drives a spear straight ahead, the rear hand pushing through and the front hand guiding, then retracts it back to guard",
109
+ term: "lunges into a spear thrust" },
110
+ { id: "draw-bow-and-release", label: "Draw Bow & Release", category: "combat-weapons", description: "Nock, draw to the cheek, hold, release",
111
+ promptHint: "the subject nocks an arrow, raises the bow with the arm extended and draws the string back to the cheek, holds, then releases with the bow arm staying extended",
112
+ term: "draws the bow and releases" },
113
+ { id: "bat-strike", label: "Bat Strike", category: "combat-weapons", description: "Bat winds back and swings through a horizontal arc",
114
+ promptHint: "the subject grips a bat with both hands, winds it back behind the shoulder and swings it through a horizontal arc, pelvis rotating, finishing past the opposite shoulder",
115
+ term: "swings a bat in a melee strike" },
116
+ { id: "spin-staff", label: "Spin Staff", category: "combat-weapons", description: "Continuous staff rotation hand to hand, snaps to a stop",
117
+ promptHint: "the subject spins a staff in a continuous rotation, passing it hand to hand around the body, then snaps it to a stop held horizontally at guard",
118
+ term: "spins a staff" },
119
+ { id: "flourish-two-weapons", label: "Dual-Wield Flourish", category: "combat-weapons", description: "Mirrored spins of two blades, crosses at the chest",
120
+ promptHint: "the subject spins a blade in each hand in mirrored flourishes around the wrists, crosses them in front of the chest and settles into a two-weapon stance",
121
+ term: "flourishes two weapons" },
122
+ { id: "settle-into-fighting-stance", label: "Settle Into Stance", category: "combat-weapons", description: "From relaxed standing into a fighting stance",
123
+ promptHint: "the subject drops from a relaxed standing posture into a fighting stance, the feet spreading apart as the weight sinks into bent knees, the fists rising to guard and the chin tucking down",
124
+ term: "settles into a fighting stance" },
125
+ { id: "circle-the-opponent", label: "Circle the Opponent", category: "combat-weapons", description: "Sideways shuffle around the partner, guard up",
126
+ promptHint: "the subject circles the partner in sideways shuffle steps with both fists up in guard, the lead foot always leading and the eyes locked on the partner, keeping the distance constant",
127
+ term: "circles the partner with guard up", twoPerson: true },
128
+ { id: "throw-a-punch", label: "Throw a Punch", category: "combat-weapons", description: "Straight rear-hand punch, pelvis behind it, back to guard",
129
+ promptHint: "the subject drives a straight punch forward with the rear hand, pelvis and shoulder rotating behind it, the arm fully extending then snapping back to guard",
130
+ term: "throws a straight punch" },
131
+ { id: "throw-jab-cross", label: "Jab-Cross Combo", category: "combat-weapons", description: "Lead jab then rear cross, hands back to guard",
132
+ promptHint: "the subject fires a lead-hand jab then a rear-hand cross in sequence, the second punch driven by a hip twist, both hands returning to guard by the chin",
133
+ term: "throws a jab-cross combination" },
134
+ { id: "throw-uppercut", label: "Uppercut", category: "combat-weapons", description: "Knees dip, fist rises from the hip to head height",
135
+ promptHint: "the subject dips the knees and drives a fist upward from the hip in a rising arc, the legs and pelvis lifting the punch, ending with the fist at head height",
136
+ term: "throws an uppercut" },
137
+ { id: "swing-elbow-strike", label: "Elbow Strike", category: "combat-weapons", description: "Horizontal elbow at head height, shoulder driving",
138
+ promptHint: "the subject steps in and swings the elbow horizontally at head height, the shoulder driving through the strike, then pulls the arm back to guard",
139
+ term: "swings an elbow strike" },
140
+ { id: "drive-knee-strike", label: "Knee Strike", category: "combat-weapons", description: "Rear knee drives straight up as the hands pull down",
141
+ promptHint: "the subject pulls the pelvis forward and drives the rear knee straight up to torso height, both hands pulling down as the knee rises, then plants the foot back down into stance",
142
+ term: "drives a knee strike" },
143
+ { id: "throw-front-kick", label: "Front Kick", category: "combat-weapons", description: "Knee lifts, lower leg snaps straight out",
144
+ promptHint: "the subject lifts the knee and snaps the lower leg straight out in a front kick with the ball of the foot leading, then retracts the leg and sets the foot down",
145
+ term: "throws a front kick" },
146
+ { id: "throw-roundhouse-kick", label: "Roundhouse Kick", category: "combat-weapons", description: "Wide horizontal arc of the shin at torso height",
147
+ promptHint: "the subject pivots on the standing foot and swings the kicking leg around in a wide horizontal arc, the shin whipping through at torso height, then lands back in stance",
148
+ term: "throws a roundhouse kick" },
149
+ { id: "throw-spinning-hook-kick", label: "Spinning Hook Kick", category: "combat-weapons", description: "Full rotation, rear leg hooks around",
150
+ promptHint: "the subject turns the back to the target, spins a full rotation on the standing foot and swings the rear leg around in a hooking arc, then lands facing forward",
151
+ term: "throws a spinning hook kick" },
152
+ { id: "leap-into-flying-kick", label: "Flying Kick", category: "combat-weapons", description: "Two running steps, launches, kick lands mid-air",
153
+ promptHint: "the subject takes two running steps, launches off one foot and snaps the other leg straight out in a flying kick at head height with the body stretched in the air, then lands on both feet",
154
+ term: "leaps into a flying kick" },
155
+ { id: "sweep-the-legs", label: "Leg Sweep", category: "combat-weapons", description: "Low arcing leg takes the partner's feet out",
156
+ promptHint: "the subject drops low and whips the rear leg in a wide arc along the ground into the partner's ankles, sweeping the partner's feet out so the partner drops onto the back",
157
+ term: "sweeps the partner's legs", twoPerson: true },
158
+ { id: "block-with-forearm", label: "Block", category: "combat-weapons", description: "Forearm intercepts a strike, drops back to guard",
159
+ promptHint: "the subject raises a forearm to intercept an incoming strike, taking the impact on the outer forearm with the body braced, then drops the arm back to guard",
160
+ term: "blocks with the forearm" },
161
+ { id: "weave-under-punch", label: "Dodge a Punch", category: "combat-weapons", description: "Dips under a punch in a U-shape, rises to guard",
162
+ promptHint: "the subject bends the knees and dips the head under an incoming punch, weaving the upper body in a U-shape out to the other side and rising back into guard",
163
+ term: "slips and weaves under a punch" },
164
+ { id: "roll-forward-to-knee", label: "Combat Roll", category: "combat-weapons", description: "Forward shoulder roll, comes up on one knee",
165
+ promptHint: "the subject dives forward over one shoulder, tucks and rolls diagonally across the back, and comes up onto one knee facing forward with the hands ready",
166
+ term: "rolls forward up onto one knee" },
167
+ { id: "grapple-in-clinch", label: "Grapple", category: "combat-weapons", description: "Locks arms with the partner, wrestles for position",
168
+ promptHint: "the subject closes in and locks arms with the partner, both gripping at the shoulders and collar, feet shuffling as they wrestle each other for position",
169
+ term: "grapples the partner in a clinch", twoPerson: true },
170
+ { id: "tackle-to-ground", label: "Tackle", category: "combat-weapons", description: "Shoulder into the midsection, takes the partner down",
171
+ promptHint: "the subject drops low, charges forward and drives a shoulder into the partner's midsection, wrapping both arms around the waist and taking the partner down to the ground",
172
+ term: "tackles the partner to the ground", twoPerson: true },
173
+ { id: "throw-over-hip", label: "Hip Throw", category: "combat-weapons", description: "Turns in, loads the partner on the hip, throws over",
174
+ promptHint: "the subject grips the partner's arm and collar, pivots in to turn the back to the partner, loads the partner up over the hip and throws the partner over onto the ground in one rolling motion",
175
+ term: "throws the partner over the hip", twoPerson: true },
176
+ { id: "shove-with-both-hands", label: "Two-Hand Shove", category: "combat-weapons", description: "Both palms to the chest, partner stumbles back",
177
+ promptHint: "the subject plants both palms on the partner's chest and pushes through, arms extending fully, sending the partner stumbling backward a step",
178
+ term: "shoves the partner with both hands", twoPerson: true },
179
+ { id: "feint-headbutt", label: "Headbutt Feint", category: "combat-weapons", description: "Forehead jerks at the partner's face, stops short",
180
+ promptHint: "the subject jerks the forehead toward the partner's face, stops short of contact as the partner flinches back, then straightens up with a level stare",
181
+ term: "feints a headbutt at the partner", twoPerson: true },
182
+ { id: "flow-through-kung-fu-combo", label: "Kung Fu Combo", category: "combat-weapons", description: "Palm strike, backfist and low sweep, linked",
183
+ promptHint: "the subject flows through a chain of martial-arts strikes — a palm strike, a backfist and a low sweep kick — each move linking into the next with continuous footwork",
184
+ term: "flows through a kung fu combination" },
185
+ { id: "disarm-opponent", label: "Disarm", category: "combat-weapons", description: "Twists the partner's weapon wrist and strips it free",
186
+ promptHint: "the subject grabs the partner's weapon wrist with both hands, twists it outward and strips the weapon free, then steps back with the weapon held ready",
187
+ term: "disarms the partner", twoPerson: true },
188
+ { id: "take-hit-and-stagger", label: "Take a Hit", category: "combat-weapons", description: "Head whips sideways, staggers back, catches balance",
189
+ promptHint: "the subject takes a blow to the jaw, the head whipping to the side, and staggers two steps backward with the knees buckling before catching balance and squaring up",
190
+ term: "takes a hit and staggers" },
191
+ { id: "get-knocked-back", label: "Knocked Back", category: "combat-weapons", description: "Thrown off both feet, lands flat on the back",
192
+ promptHint: "the subject flies backward off both feet from a heavy impact, arms flung forward, and lands flat on the back, sliding to a stop with the limbs loose",
193
+ term: "gets knocked back off the feet" },
194
+ { id: "collapse-in-knockout", label: "Knockout Fall", category: "combat-weapons", description: "Goes limp, knees fold, collapses and lies still",
195
+ promptHint: "the subject goes limp, the knees folding under, and collapses straight down to the ground with the arms loose, landing on the side and lying still, dazed and out cold",
196
+ term: "collapses in a knockout fall" },
197
+ { id: "rise-after-knockdown", label: "Get Back Up", category: "combat-weapons", description: "Pushes up from the ground and raises the fists again",
198
+ promptHint: "the subject pushes up from the ground onto one knee, plants a hand and rises to standing, shakes the head clear and raises both fists back into guard",
199
+ term: "gets up off the ground" },
200
+ { id: "wipe-mouth-with-thumb", label: "Wipe Mouth & Grin", category: "combat-weapons", description: "Thumb drags across the mouth, glances at it, grins",
201
+ promptHint: "the subject drags the thumb across the corner of the mouth, glances down at the thumb, then lifts the chin and breaks into a cocky grin with the eyes coming back up",
202
+ term: "wipes mouth with a thumb and grins" },
203
+ { id: "strike-power-pose-after-hit", label: "Power Pose After Hit", category: "combat-weapons", description: "Lands a strike and freezes in a hero pose",
204
+ promptHint: "the subject lands a strike, then plants the feet wide, straightens up and freezes in a superhero power pose with the chest out and the fists clenched",
205
+ term: "lands a hit and strikes a power pose" },
206
+ ]
@@ -0,0 +1,173 @@
1
+ import type { CharacterMotion } from "./types.js"
2
+
3
+ /** Dance — 56 entries. Category id `dance`. */
4
+ export const DANCE_MOTIONS: ReadonlyArray<CharacterMotion> = [
5
+ { id: "groove-hip-hop", label: "Hip-Hop Groove", category: "dance", description: "Bounce and rock on the beat, arms loose",
6
+ promptHint: "the subject settles into a hip-hop groove, knees bouncing on the beat, chest rocking back and forth, shoulders dipping alternately, weight shifting foot to foot while the arms swing loose",
7
+ term: "grooves to a hip-hop beat" },
8
+ { id: "sway-to-music", label: "Sway to the Music", category: "dance", description: "Rock side to side in time, arms relaxed",
9
+ promptHint: "the subject sways side to side to the music, weight rocking from one foot to the other, hips following, arms relaxed at the sides, head nodding in time with the beat",
10
+ term: "sways side to side to the music" },
11
+ { id: "sway-arms-raised", label: "Arms-Up Sway", category: "dance", description: "Both arms overhead, swaying with the rhythm",
12
+ promptHint: "the subject raises both arms overhead and sways side to side, wrists loose, hips rocking with each shift of weight, eyes closing as the body moves with the rhythm",
13
+ term: "sways with both arms raised overhead" },
14
+ { id: "clap-along", label: "Clap Along", category: "dance", description: "Claps on the count, body pulsing with it",
15
+ promptHint: "the subject claps along to the beat, hands meeting at chest height on each count, elbows out, knees bouncing lightly so the whole body pulses with the rhythm",
16
+ term: "claps along to the beat" },
17
+ { id: "two-step-side-to-side", label: "Two-Step", category: "dance", description: "Step out, touch, step back, touch, shoulders bobbing",
18
+ promptHint: "the subject two-steps side to side, stepping one foot out and bringing the other to meet it with a touch, then repeating the other way, shoulders bobbing and arms swinging loosely",
19
+ term: "two-steps side to side" },
20
+ { id: "grapevine-side-step", label: "Grapevine", category: "dance", description: "Step side, cross behind, step side, touch",
21
+ promptHint: "the subject grapevines sideways, stepping one foot to the side, crossing the other behind it, stepping side again and touching the free foot beside it, then repeating back the other way",
22
+ term: "grapevines side to side" },
23
+ { id: "raise-the-roof", label: "Raise the Roof", category: "dance", description: "Palms push up overhead in pumps on the beat",
24
+ promptHint: "the subject raises the roof, both palms pushing upward overhead in short pumps on each beat, elbows bending and straightening, knees bouncing along and head nodding",
25
+ term: "raises the roof" },
26
+ { id: "slow-dance-close-hold", label: "Slow Dance", category: "dance", description: "Close hold, swaying together with a partner",
27
+ promptHint: "the subject and the partner slow dance in a close hold, arms around each other's neck and waist, swaying side to side in small steps, foreheads nearly touching",
28
+ term: "slow dances close with the partner", twoPerson: true },
29
+ { id: "do-house-footwork", label: "House Footwork", category: "dance", description: "Tight skipping steps, torso jacking",
30
+ promptHint: "the subject drops into house footwork, feet skipping and crossing in tight patterns under the body, heels lifting, the torso jacking forward and back while the arms stay loose",
31
+ term: "does house footwork with a jacking torso" },
32
+ { id: "do-toprock", label: "Toprock", category: "dance", description: "Standing breakdance steps before the drop",
33
+ promptHint: "the subject dances a breakdance toprock, stepping one foot across the other in a cross-step, arms swinging wide, chest lifted, bouncing on the beat before dropping toward the floor",
34
+ term: "dances a breakdance toprock" },
35
+ { id: "spin-into-windmill", label: "Windmill", category: "dance", description: "Floor spin on the shoulders, legs whipping",
36
+ promptHint: "the subject drops to the floor and rolls into a windmill, legs spread wide in a V and whipping around in circles as the body rotates on the upper back and shoulders",
37
+ term: "drops into a breakdance windmill" },
38
+ { id: "spin-on-the-head", label: "Headspin", category: "dance", description: "Inverted spin on the crown, legs open in a V",
39
+ promptHint: "the subject kicks up into a headstand and spins on the crown of the head, legs opening wide in a V and hands pushing off the floor to drive the rotation",
40
+ term: "spins on the head with legs open" },
41
+ { id: "hit-a-freeze", label: "Breakdance Freeze", category: "dance", description: "Lock into a balanced breakdance freeze",
42
+ promptHint: "the subject drops to the floor and locks into a breakdance freeze, body balanced on one hand and one shoulder, legs folded in the air, holding still before releasing",
43
+ term: "locks into a held breakdance freeze" },
44
+ { id: "do-the-worm", label: "The Worm", category: "dance", description: "Face-down ripple inching across the floor",
45
+ promptHint: "the subject dives face-down to the floor and does the worm, a ripple rolling from the chest through the hips to the feet so the body inches forward across the floor in waves",
46
+ term: "does the worm across the floor" },
47
+ { id: "hit-pops", label: "Popping", category: "dance", description: "Sharp muscle hits that jolt the body",
48
+ promptHint: "the subject dances popping, the chest, arms and legs contracting and releasing in sharp muscle hits on each beat so the body jolts and snaps between held positions",
49
+ term: "pops with sharp muscle hits" },
50
+ { id: "roll-an-arm-wave", label: "Arm Wave", category: "dance", description: "Wave rolls from one hand across to the other",
51
+ promptHint: "the subject sends a wave through the arms, the ripple starting at the fingertips of one hand, rolling through the wrist, elbow and shoulder, across the chest and out through the other arm to the fingertips",
52
+ term: "rolls an arm wave across the shoulders" },
53
+ { id: "lock-and-point", label: "Locking", category: "dance", description: "Wrist rolls, sharp locks and points",
54
+ promptHint: "the subject dances locking, rolling the wrists in tight circles then freezing the arms in a bent-elbow lock, pointing out to the side, dipping into a knee squat and bouncing back upright",
55
+ term: "locks with wrist rolls and sharp points" },
56
+ { id: "whip-arms-waacking", label: "Waacking", category: "dance", description: "Arm whips around the head, dramatic poses",
57
+ promptHint: "the subject waacks, whipping the arms over and around the head in sharp circular strikes from the shoulder, wrists flicking, posing dramatically between each strike with chest lifted",
58
+ term: "waacks with arm whips around the head" },
59
+ { id: "strike-vogue-poses", label: "Vogue", category: "dance", description: "Angular hand poses snapping to a dip",
60
+ promptHint: "the subject vogues, framing the face with angular hand movements that snap from one pose to the next, arms hitting crisp lines, hips squared, then dropping into a dramatic dip",
61
+ term: "vogues with angular hand poses into a dip" },
62
+ { id: "krump-and-stomp", label: "Krump", category: "dance", description: "Stomps, arm strikes and chest pops",
63
+ promptHint: "the subject krumps, stomping the feet hard, arms swinging in big aggressive strikes, chest popping outward on each hit, the whole body jerking and buckling with raw intensity",
64
+ term: "krumps with chest pops and stomps" },
65
+ { id: "spin-a-pirouette", label: "Pirouette", category: "dance", description: "Ballet turn on one foot, spotting the head",
66
+ promptHint: "the subject rises onto the ball of one foot and turns a ballet pirouette, the other foot tucked to the knee, arms rounded in front, head whipping to spot, then lands in fourth position",
67
+ term: "turns a ballet pirouette" },
68
+ { id: "extend-into-arabesque", label: "Arabesque", category: "dance", description: "Lift one leg behind into a held line",
69
+ promptHint: "the subject shifts weight onto one straight leg and lifts the other behind, extending it high with a pointed foot while one arm reaches forward, holding the arabesque line",
70
+ term: "extends one leg into arabesque" },
71
+ { id: "leap-grand-jete", label: "Grand Jeté", category: "dance", description: "Running split leap through the air",
72
+ promptHint: "the subject takes a running preparation and springs into a grand jeté, legs opening into a full split in the air, front leg leading, arms lifted, landing on the front foot",
73
+ term: "springs into a grand jeté split leap" },
74
+ { id: "drop-into-splits", label: "Drop into Splits", category: "dance", description: "Slides down into a full split, then pushes back up",
75
+ promptHint: "the subject drops into the splits, one leg sliding forward and the other back until both are flat on the floor, arms flung out to the sides, then pushes back up to standing",
76
+ term: "drops into the splits" },
77
+ { id: "reach-and-fall", label: "Reach & Fall", category: "dance", description: "Contemporary reach, fall to floor, recover",
78
+ promptHint: "the subject reaches one arm forward and up until the weight tips past balance, then falls through the movement, spiraling down to the floor and rolling back up to standing",
79
+ term: "reaches off balance and falls to the floor" },
80
+ { id: "throw-jazz-kick", label: "Jazz Kick", category: "dance", description: "High straight-leg kick, arms flung out",
81
+ promptHint: "the subject steps forward and throws a high jazz kick, the leg swinging straight up in front to hip height or above, foot pointed, arms flung out to the sides for balance",
82
+ term: "throws a high jazz kick" },
83
+ { id: "tap-dance-steps", label: "Tap Dance", category: "dance", description: "Shuffles and stamps in crisp rhythm",
84
+ promptHint: "the subject tap dances, feet brushing, shuffling and stamping the floor in crisp rhythmic patterns, heels and toes striking alternately while the upper body stays upright and relaxed",
85
+ term: "tap dances with crisp shuffles and stamps" },
86
+ { id: "irish-step-dance", label: "Irish Step Dance", category: "dance", description: "Arms pinned, feet hopping and kicking on the beat",
87
+ promptHint: "the subject irish step dances, arms pinned straight at the sides and torso rigid while the feet hop, kick and cross in pointed steps, toes striking the floor on each beat",
88
+ term: "irish step dances with arms pinned" },
89
+ { id: "spin-salsa-turn", label: "Salsa Turn", category: "dance", description: "Hip-led steps into a full spot turn",
90
+ promptHint: "the subject steps into a salsa turn, hips swinging with each step, spinning a full rotation on the ball of one foot, one arm raised, and stepping out on the beat facing forward again",
91
+ term: "spins a salsa spot turn" },
92
+ { id: "sway-bachata-hips", label: "Bachata Sway", category: "dance", description: "Side steps with a hip pop on the fourth count",
93
+ promptHint: "the subject steps side to side in a bachata basic, hips swaying with each step and popping upward on the fourth count, knees soft, arms held loosely at chest height",
94
+ term: "steps a bachata basic with a hip pop" },
95
+ { id: "walk-tango-embrace", label: "Tango Walk", category: "dance", description: "Long strides in close embrace with a partner",
96
+ promptHint: "the subject and the partner walk a tango in close embrace, chests connected, stepping in long deliberate strides with the knees brushing, heads turned sharply to the side, then pausing in a held stance",
97
+ term: "tangos with the partner in close embrace", twoPerson: true },
98
+ { id: "waltz-box-step", label: "Waltz Box Step", category: "dance", description: "Closed-hold box step, rise and fall",
99
+ promptHint: "the subject and the partner waltz a box step in closed hold, stepping forward, side and together, then back, side and together, rising on the toes on the second count and sinking on the third",
100
+ term: "waltzes a box step with the partner", twoPerson: true },
101
+ { id: "swing-out-lindy", label: "Lindy Swing Out", category: "dance", description: "Rock step, send the partner out and catch",
102
+ promptHint: "the subject leads the partner through a lindy hop swing out, pulling them in on a rock step, sending them spinning out to arm's length and catching the partner's hand as they swing back",
103
+ term: "swings the partner out in a lindy hop", twoPerson: true },
104
+ { id: "spin-partner", label: "Underarm Turn", category: "dance", description: "Leads the partner through a turn under the arm",
105
+ promptHint: "the subject raises the partner's hand overhead and leads the partner through a full turn under the raised arm, the partner pivoting on the balls of the feet before settling back facing the subject",
106
+ term: "spins the partner under the arm", twoPerson: true },
107
+ { id: "dip-the-partner", label: "Ballroom Dip", category: "dance", description: "Supported backward dip, then lift upright",
108
+ promptHint: "the subject steps forward and dips the partner backward, one arm supporting the partner's back as the partner arches the spine and extends one leg, holding the dip then lifting them upright",
109
+ term: "dips the partner backward", twoPerson: true },
110
+ { id: "shimmy-the-hips", label: "Hip Shimmy", category: "dance", description: "Belly-dance hip vibration, torso lifted",
111
+ promptHint: "the subject shimmies the hips in a belly dance, knees alternating in small rapid bends so the hips vibrate side to side while the torso stays lifted and the arms float at shoulder height",
112
+ term: "shimmies the hips belly-dance style", adultOnly: true },
113
+ { id: "shimmy-the-shoulders", label: "Shoulder Shimmy", category: "dance", description: "Shoulders alternate forward and back in a flutter",
114
+ promptHint: "the subject shimmies the shoulders, pushing one shoulder forward as the other pulls back and alternating in a rapid flutter, chest lifted, arms hanging loose, head steady with a grin",
115
+ term: "shimmies the shoulders" },
116
+ { id: "flourish-flamenco-arms", label: "Flamenco Flourish", category: "dance", description: "Wrists circling overhead, heel stamps",
117
+ promptHint: "the subject raises the arms in a flamenco flourish, wrists circling inward as the hands rotate above the head, back arched, chin lifted, then stamps the heels in a sharp rhythmic burst",
118
+ term: "flourishes flamenco arms and stamps the heels" },
119
+ { id: "flourish-bollywood-hands", label: "Bollywood Flourish", category: "dance", description: "Rolling hand flicks, head slides, hip bounce",
120
+ promptHint: "the subject performs a bollywood flourish, hands rolling and flicking outward from the chest with the fingers spread, head sliding side to side, hips bouncing in time with each step",
121
+ term: "flicks bollywood hands with a hip bounce" },
122
+ { id: "do-bhangra", label: "Bhangra", category: "dance", description: "Arms up, shoulders bouncing, knees lifting in hops",
123
+ promptHint: "the subject does bhangra, both arms raised overhead with index fingers pointing up, shoulders bouncing on the beat while the knees lift high in alternating hops and the head shakes side to side",
124
+ term: "does bhangra with arms up" },
125
+ { id: "dance-afrobeats-legwork", label: "Afrobeats Legwork", category: "dance", description: "Knees pumping, feet twisting, torso bent",
126
+ promptHint: "the subject dances afrobeats legwork, knees pumping in and out, feet skipping and twisting on the floor in loose patterns, shoulders rolling, torso bent forward and bouncing with the groove",
127
+ term: "dances afrobeats legwork" },
128
+ { id: "sway-capoeira-ginga", label: "Capoeira Ginga", category: "dance", description: "Rocking triangle step, guarding arm across the chest",
129
+ promptHint: "the subject sways in a capoeira ginga, one foot stepping back into a low lunge as the opposite arm guards across the chest, then shifting forward and switching sides in a rocking triangle step",
130
+ term: "sways in capoeira ginga" },
131
+ { id: "hit-kpop-point-move", label: "K-Pop Point Move", category: "dance", description: "Arms snap into a signature shape on the beat",
132
+ promptHint: "the subject hits a k-pop point move, both arms snapping into a crisp angular shape in front of the chest on the beat, head tilting with it, then stepping side to side into the next sharp pose",
133
+ term: "hits a k-pop point move on the beat" },
134
+ { id: "moonwalk-backward", label: "Moonwalk", category: "dance", description: "Glide backward while the feet seem to walk forward",
135
+ promptHint: "the subject moonwalks, sliding backward across the floor while the feet appear to walk forward, one heel lifted as the flat foot glides, upper body upright and loose",
136
+ term: "moonwalks backward across the floor" },
137
+ { id: "do-the-robot", label: "The Robot", category: "dance", description: "Stiff mechanical segments, stopping at joints",
138
+ promptHint: "the subject does the robot, moving the arms and head in stiff mechanical segments that stop dead at each joint, torso locking between moves, with small jerky ticks between positions",
139
+ term: "does the robot with stiff isolations" },
140
+ { id: "do-the-twist", label: "The Twist", category: "dance", description: "Feet planted, hips swiveling against shoulders",
141
+ promptHint: "the subject does the twist, feet planted while the hips and knees swivel side to side in opposition to the shoulders, bending lower and rising back up as the arms pump",
142
+ term: "does the twist with swiveling hips" },
143
+ { id: "throw-disco-point", label: "Disco Point", category: "dance", description: "Arm sweeps across then shoots up diagonally",
144
+ promptHint: "the subject strikes a disco point, one arm sweeping across the body then shooting up diagonally with the index finger extended, hips pushing the other way on each beat",
145
+ term: "throws a disco point across the body" },
146
+ { id: "do-the-floss", label: "The Floss", category: "dance", description: "Straight arms swing past the hips, hips opposite",
147
+ promptHint: "the subject does the floss dance, both arms held straight and swinging together past the hips, passing behind the body on one side and in front on the other, while the hips swing the opposite way",
148
+ term: "does the floss arm swing" },
149
+ { id: "hit-a-dab", label: "Dab", category: "dance", description: "Head drops into the elbow, other arm shoots out",
150
+ promptHint: "the subject dabs, dropping the head into the crook of one bent elbow while the other arm shoots straight out to the side and up, holding the shape then straightening",
151
+ term: "dabs into the elbow" },
152
+ { id: "hit-the-woah", label: "The Woah", category: "dance", description: "Fists circle then lock sharply on the beat",
153
+ promptHint: "the subject hits the woah, both fists circling once in front of the chest then locking sharply, one fist above the other, the body freezing in a lean on the beat",
154
+ term: "hits the woah" },
155
+ { id: "do-the-griddy", label: "The Griddy", category: "dance", description: "Heels kick back on hops, arms pump, hands to eyes",
156
+ promptHint: "the subject does the griddy, hopping forward on alternating feet as each heel kicks up behind, arms pumping in loose circles, then raises both hands to the eyes in a binocular shape",
157
+ term: "does the griddy" },
158
+ { id: "do-the-running-man", label: "Running Man", category: "dance", description: "Knees lift while the standing foot slides back",
159
+ promptHint: "the subject does the running man, one knee lifting high while the standing foot slides back, then switching, the feet appearing to run in place with the arms pumping",
160
+ term: "does the running man shuffle" },
161
+ { id: "shuffle-cutting-shapes", label: "Melbourne Shuffle", category: "dance", description: "Running man into T-steps, cutting shapes",
162
+ promptHint: "the subject dances the melbourne shuffle, feet kicking and sliding through running-man steps then twisting sideways into t-steps, heels and toes pivoting across the floor while the arms swing loosely",
163
+ term: "shuffles and cuts shapes" },
164
+ { id: "headbang-to-music", label: "Headbang", category: "dance", description: "Head whips forward and back, hair flying",
165
+ promptHint: "the subject headbangs, whipping the head forward and down then back up from the neck in time with a heavy beat, hair flying, shoulders hunched and hands gripping the air",
166
+ term: "headbangs to the music" },
167
+ { id: "whip-hair-in-circle", label: "Hair Whip Circle", category: "dance", description: "Head swings the hair through a full circle",
168
+ promptHint: "the subject whips the hair in a full circle, bending forward at the waist and swinging the head around in a wide loop so the hair fans out and trails through the air",
169
+ term: "whips hair in a full circle" },
170
+ { id: "roll-the-body", label: "Body Roll", category: "dance", description: "Wave from chest through ribs to hips",
171
+ promptHint: "the subject rolls the body in a wave, the chest pushing forward first, then the ribs, stomach and hips following in sequence, ending with the hips tucked under",
172
+ term: "rolls the body from chest to hips", adultOnly: true },
173
+ ]
@@ -0,0 +1,113 @@
1
+ import type { CharacterMotion } from "./types.js"
2
+
3
+ /** Entrances & Exits — 36 entries. Category id `entrances-exits`. */
4
+ export const ENTRANCES_EXITS_MOTIONS: ReadonlyArray<CharacterMotion> = [
5
+ { id: "walk-in-from-left", label: "Walk In From Left", category: "entrances-exits", description: "Enters from the left edge and stops at center",
6
+ promptHint: "the subject walks into frame from the left edge at an even stride, weight rolling heel to toe, crosses toward center and stops facing forward",
7
+ term: "walks in from frame left" },
8
+ { id: "walk-in-from-right", label: "Walk In From Right", category: "entrances-exits", description: "Enters from the right edge and stops at center",
9
+ promptHint: "the subject walks into frame from the right edge at an even stride, weight rolling heel to toe, crosses toward center and stops facing forward",
10
+ term: "walks in from frame right" },
11
+ { id: "enter-from-behind-camera", label: "Enter From Behind Camera", category: "entrances-exits", description: "Passes the lens and walks into the scene",
12
+ promptHint: "the subject steps into frame from behind the camera, passing close beside the lens with their back to it, and walks forward into the scene to stop mid-frame",
13
+ term: "enters past the camera from behind" },
14
+ { id: "approach-from-background", label: "Approach From Background", category: "entrances-exits", description: "Distant figure walks up to mid-frame",
15
+ promptHint: "the subject walks straight toward the camera from deep in the background, growing larger with each step, and stops at mid-distance facing forward",
16
+ term: "approaches from deep background" },
17
+ { id: "walk-up-to-camera", label: "Walk Up To Camera", category: "entrances-exits", description: "Closes in until the face fills the frame",
18
+ promptHint: "the subject walks straight toward the camera from mid-frame, closing the distance until their face and shoulders fill the frame, and stops just short of the lens",
19
+ term: "walks up to the camera and stops" },
20
+ { id: "run-toward-camera", label: "Run Toward Camera", category: "entrances-exits", description: "Sprints straight at the lens and pulls up short",
21
+ promptHint: "the subject runs straight toward the camera from deep in the background, arms pumping and torso leaning into the stride, and pulls up short just in front of the lens with chest heaving",
22
+ term: "runs toward the camera and stops" },
23
+ { id: "run-in-and-stop", label: "Run In & Stop", category: "entrances-exits", description: "Sprints in from the left, pulls up at center",
24
+ promptHint: "the subject runs into frame from the left edge at full stride, decelerates over several steps with weight rocking back onto the heels, and stops upright at center",
25
+ term: "runs in from frame left and stops" },
26
+ { id: "burst-in-through-doorway", label: "Burst In Through Doorway", category: "entrances-exits", description: "Slams through a door and plants both feet",
27
+ promptHint: "the subject bursts through a doorway in the background, shoving the door open with one arm, lunging two steps forward and planting both feet with shoulders squared to the camera",
28
+ term: "bursts in through a doorway" },
29
+ { id: "kick-open-door", label: "Kick Open Door", category: "entrances-exits", description: "Boots a door open from behind and strides in",
30
+ promptHint: "the subject kicks a closed door in the background open from the far side with the sole of one foot, the door swinging wide, and strides through the doorway toward the camera with shoulders squared, stopping in clear view",
31
+ term: "kicks the door open and steps through" },
32
+ { id: "dive-through-window", label: "Dive Through Window", category: "entrances-exits", description: "Launches headfirst through a window and rolls up",
33
+ promptHint: "the subject launches headfirst through a window in the background toward the camera, arms crossed over the face, tucks into a shoulder roll on landing and comes up onto both feet",
34
+ term: "dives through a window and rolls" },
35
+ { id: "climb-through-window", label: "Climb Through Window", category: "entrances-exits", description: "Hoists in over a windowsill and drops to the floor",
36
+ promptHint: "the subject grips a windowsill, hoists one leg over it followed by the other, ducks the head under the top of the window and drops quietly onto both feet inside",
37
+ term: "climbs in through a window" },
38
+ { id: "stumble-in", label: "Stumble In", category: "entrances-exits", description: "Trips in from the right and recovers balance",
39
+ promptHint: "the subject stumbles into frame from the right edge, one foot catching, torso pitching forward with arms flung out for balance, and regains balance to straighten up at center",
40
+ term: "stumbles in from frame right" },
41
+ { id: "sneak-in", label: "Sneak In", category: "entrances-exits", description: "Creeps in low from the left, then stands",
42
+ promptHint: "the subject creeps into frame from the left edge in a low crouch, placing each foot carefully and glancing side to side, and straightens up cautiously at center",
43
+ term: "sneaks in from frame left" },
44
+ { id: "dash-across-frame", label: "Dash Across Frame", category: "entrances-exits", description: "Sprints in from the left and out the right edge",
45
+ promptHint: "the subject sprints across frame from the left edge to the right edge without slowing, body leaning into the run, and is gone out the far side",
46
+ term: "dashes across frame left to right" },
47
+ { id: "slide-in-on-knees", label: "Slide In On Knees", category: "entrances-exits", description: "Glides in on both knees, arms spread",
48
+ promptHint: "the subject slides into frame from the left edge on both knees, torso upright and arms spread wide, gliding across the floor to a stop at center",
49
+ term: "knee-slides in from frame left" },
50
+ { id: "sock-slide-into-frame", label: "Sock Slide Into Frame", category: "entrances-exits", description: "Skids in on socked feet and catches balance",
51
+ promptHint: "the subject slides into frame from the left edge on socked feet, knees soft and arms out for balance, skidding across a smooth floor and catching balance at center",
52
+ term: "sock-slides in from frame left" },
53
+ { id: "drop-in-from-above", label: "Drop In From Above", category: "entrances-exits", description: "Lands from above, knees absorb, stands up",
54
+ promptHint: "the subject drops into frame from above the top edge, lands on both feet with knees bending deep to absorb the impact and one hand touching the ground, and rises to stand",
55
+ term: "drops in from above and lands" },
56
+ { id: "rise-into-frame", label: "Rise Into Frame", category: "entrances-exits", description: "Stands up into view from the bottom edge",
57
+ promptHint: "the subject rises into frame from below the bottom edge, standing up out of a crouch so the head appears first with shoulders and torso following until they stand fully upright at center",
58
+ term: "rises into frame from below" },
59
+ { id: "pop-up-from-cover", label: "Pop Up From Cover", category: "entrances-exits", description: "Springs into view from behind foreground cover",
60
+ promptHint: "the subject pops up from behind an object in the foreground, head and shoulders springing into view above its top edge, and straightens to stand facing the camera",
61
+ term: "pops up from behind an object" },
62
+ { id: "lean-into-frame", label: "Lean Into Frame", category: "entrances-exits", description: "Head and shoulders tip in, then back out",
63
+ promptHint: "the subject leans into frame from the left edge, head and shoulders tipping into view while the feet stay planted out of shot, and leans back out of frame",
64
+ term: "leans in and out from frame left" },
65
+ { id: "peek-into-frame", label: "Peek Into Frame", category: "entrances-exits", description: "Head appears from the right edge, eyes on lens",
66
+ promptHint: "the subject peeks into frame from the right edge, head and one shoulder appearing first with the eyes finding the lens, and the rest of the body follows into view",
67
+ term: "peeks in from frame right" },
68
+ { id: "enter-through-doorway", label: "Enter Through Doorway", category: "entrances-exits", description: "Crosses a threshold and walks into view",
69
+ promptHint: "the subject steps out through a doorway in the background, crossing the threshold with one foot after the other, and walks a few paces forward to stop in clear view",
70
+ term: "enters through a doorway" },
71
+ { id: "step-out-of-shadow", label: "Step Out Of Shadow", category: "entrances-exits", description: "Emerges from a dark recess into clear view",
72
+ promptHint: "the subject steps forward out of a dark recess at the back of the frame into clear view, face and body fully visible, and stops facing the camera",
73
+ term: "steps out of the shadows" },
74
+ { id: "emerge-from-crowd", label: "Emerge From Crowd", category: "entrances-exits", description: "Pushes through bodies into open space",
75
+ promptHint: "the subject pushes forward through a crowd of people, angling their shoulders past the people around them, and steps clear into open space at the front of the frame, stopping to face forward",
76
+ term: "emerges from a crowd" },
77
+ { id: "step-around-corner", label: "Step Around Corner", category: "entrances-exits", description: "Shoulder first, then the body swings into view",
78
+ promptHint: "the subject steps around a corner into frame, one shoulder appearing first and the body swinging into view behind it, and walks a few paces forward to stop in the open",
79
+ term: "steps around a corner into frame" },
80
+ { id: "walk-out-left", label: "Walk Out Left", category: "entrances-exits", description: "Crosses from center and exits the left edge",
81
+ promptHint: "the subject starts at center of frame, walks toward the left edge at an even stride with the body in profile, and exits the frame completely, leaving it empty",
82
+ term: "walks out frame left" },
83
+ { id: "walk-out-right", label: "Walk Out Right", category: "entrances-exits", description: "Crosses from center and exits the right edge",
84
+ promptHint: "the subject starts at center of frame, walks toward the right edge at an even stride with the body in profile, and exits the frame completely, leaving it empty",
85
+ term: "walks out frame right" },
86
+ { id: "run-out-of-frame", label: "Run Out Of Frame", category: "entrances-exits", description: "Breaks from center into a sprint out the right edge",
87
+ promptHint: "the subject breaks from standing at center into a run toward the right edge, body leaning into the first strides, and sprints out of frame, leaving it empty",
88
+ term: "runs out frame right" },
89
+ { id: "walk-away-into-distance", label: "Walk Away Into Distance", category: "entrances-exits", description: "Back to camera, shrinks into the background",
90
+ promptHint: "the subject stands with their back to the camera and walks straight away into the background, shrinking with each step until they are a small distant figure",
91
+ term: "walks away into the distance" },
92
+ { id: "run-away-into-distance", label: "Run Away Into Distance", category: "entrances-exits", description: "Back to camera, sprints off into the background",
93
+ promptHint: "the subject turns their back to the camera and runs straight away into the background, arms pumping, shrinking with each stride until they are a small distant figure",
94
+ term: "runs away into the distance" },
95
+ { id: "turn-and-walk-away", label: "Turn & Walk Away", category: "entrances-exits", description: "Pivots away from camera and walks off",
96
+ promptHint: "the subject stands facing the camera, pivots on one foot to turn their back, and walks off into the background, growing smaller until they are far from the camera",
97
+ term: "turns and walks away" },
98
+ { id: "back-out-of-frame", label: "Back Out Of Frame", category: "entrances-exits", description: "Retreats backward until out of frame",
99
+ promptHint: "the subject faces the camera and steps backward, one foot reaching behind the other, retreating on a diagonal toward the left edge until they back out of frame and are gone",
100
+ term: "backs out of frame" },
101
+ { id: "dragged-out-of-frame", label: "Dragged Out Of Frame", category: "entrances-exits", description: "Hauled backward out of shot, hands clawing the floor",
102
+ promptHint: "the subject is yanked backward off their feet and dragged flat on their back along the floor toward the bottom edge of frame, fingers clawing at the ground and legs kicking, until pulled out of shot",
103
+ term: "is dragged backward out of frame" },
104
+ { id: "exit-past-camera", label: "Exit Past Camera", category: "entrances-exits", description: "Walks up to and past the lens",
105
+ promptHint: "the subject walks straight toward the camera, growing larger in frame, passes close beside the lens and exits, leaving the background empty behind them",
106
+ term: "exits past the camera" },
107
+ { id: "duck-out-of-frame", label: "Duck Out Of Frame", category: "entrances-exits", description: "Crouches down and out the bottom edge",
108
+ promptHint: "the subject drops into a crouch and ducks down below the bottom edge of frame, the head disappearing last, leaving the frame empty above",
109
+ term: "ducks out below frame" },
110
+ { id: "exit-through-doorway", label: "Exit Through Doorway", category: "entrances-exits", description: "Opens a door, steps through, closes it",
111
+ promptHint: "the subject walks to a doorway in the background, opens the door with one hand, steps through it and pulls it closed behind them, leaving the frame empty",
112
+ term: "exits through a doorway" },
113
+ ]