@umituz/react-native-ai-generation-content 1.37.7 → 1.37.9

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 (20) hide show
  1. package/package.json +1 -1
  2. package/src/domains/scenarios/domain/scenario.types.ts +3 -24
  3. package/src/domains/scenarios/infrastructure/ScenariosData.ts +15 -205
  4. package/src/domains/scenarios/infrastructure/data/movie-legends/action-fantasy.ts +58 -0
  5. package/src/domains/scenarios/infrastructure/data/movie-legends/index.ts +16 -0
  6. package/src/domains/scenarios/infrastructure/data/movie-legends/musical-dance.ts +58 -0
  7. package/src/domains/scenarios/infrastructure/data/movie-legends/period-drama.ts +58 -0
  8. package/src/domains/scenarios/infrastructure/data/movie-legends/romantic.ts +90 -0
  9. package/src/domains/scenarios/infrastructure/data/scenario-groups/activities.ts +52 -0
  10. package/src/domains/scenarios/infrastructure/data/scenario-groups/adventure-fantasy.ts +46 -0
  11. package/src/domains/scenarios/infrastructure/data/scenario-groups/arts-entertainment.ts +34 -0
  12. package/src/domains/scenarios/infrastructure/data/scenario-groups/index.ts +10 -0
  13. package/src/domains/scenarios/infrastructure/data/scenario-groups/lifestyle.ts +42 -0
  14. package/src/domains/scenarios/infrastructure/data/scenario-groups/relationships.ts +30 -0
  15. package/src/domains/scenarios/infrastructure/data/wedding/celebrations.ts +74 -0
  16. package/src/domains/scenarios/infrastructure/data/wedding/ceremonies.ts +74 -0
  17. package/src/domains/scenarios/infrastructure/data/wedding/index.ts +14 -0
  18. package/src/domains/scenarios/infrastructure/data/wedding/preparation.ts +106 -0
  19. package/src/domains/scenarios/infrastructure/data/movie-legends-scenarios.ts +0 -229
  20. package/src/domains/scenarios/infrastructure/data/wedding-scenarios.ts +0 -234
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-ai-generation-content",
3
- "version": "1.37.7",
3
+ "version": "1.37.9",
4
4
  "description": "Provider-agnostic AI generation orchestration for React Native with result preview components",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -1,30 +1,9 @@
1
1
  /**
2
- * Scenario Core Types
3
- * Essential types for AI generation scenarios
2
+ * Scenario Data Types
3
+ * Types for scenario data transfer and display
4
4
  */
5
5
 
6
- export type ScenarioOutputType = "image" | "video";
7
-
8
- export type ScenarioInputType = "single" | "dual" | "text";
9
-
10
- export interface Scenario {
11
- readonly id: string;
12
- readonly title: string;
13
- readonly description: string;
14
- readonly icon?: string;
15
- readonly emoji?: string;
16
- readonly imageUrl?: string;
17
- readonly previewImageUrl?: string;
18
- readonly category: string;
19
- readonly tags?: readonly string[];
20
- readonly aiPrompt: string;
21
- readonly storyTemplate?: string;
22
- readonly requiresPhoto?: boolean;
23
- readonly outputType: ScenarioOutputType;
24
- readonly inputType?: ScenarioInputType;
25
- readonly enabled?: boolean;
26
- readonly metadata?: Record<string, unknown>;
27
- }
6
+ import type { ScenarioInputType } from "./Scenario";
28
7
 
29
8
  export interface ScenarioData {
30
9
  readonly id: string;
@@ -4,211 +4,21 @@
4
4
  * Generic for all AI generation apps (image/video)
5
5
  */
6
6
 
7
- import { Scenario, ScenarioCategory } from "../domain/Scenario";
8
- import { TIME_BASED_SCENARIOS } from "./data/time-based-scenarios";
9
- import { FAMILY_SCENARIOS } from "./data/family-scenarios";
10
- import { LIFESTYLE_SCENARIOS } from "./data/lifestyle-scenarios";
11
- import { FANTASY_SCENARIOS, CUSTOM_SCENARIO } from "./data/fantasy-scenarios";
12
- import { CAREER_SCENARIOS } from "./data/career-scenarios";
13
- import { TRAVEL_SCENARIOS } from "./data/travel-scenarios";
14
- import { CULTURAL_SCENARIOS } from "./data/cultural-scenarios";
15
-
16
- import { HISTORICAL_SCENARIOS } from "./data/historical-scenarios";
17
- import { FESTIVAL_SCENARIOS } from "./data/festival-scenarios";
18
- import { CINEMATIC_SCENARIOS } from "./data/cinematic-scenarios";
19
- import { ARTISTIC_SCENARIOS } from "./data/artistic-scenarios";
20
- import { HOBBIES_SCENARIOS } from "./data/hobbies-scenarios";
21
- import { FASHION_SCENARIOS } from "./data/fashion-scenarios";
22
- import { SCI_FI_SCENARIOS } from "./data/sci-fi-scenarios";
23
- import { INTIMATE_SCENARIOS } from "./data/intimate-scenarios";
24
- import { SPORTS_SCENARIOS } from "./data/sports-scenarios";
25
- import { EXTREME_SCENARIOS } from "./data/extreme-scenarios";
26
- import { PERFORMANCE_SCENARIOS } from "./data/performance-scenarios";
27
- import { LUXURY_SCENARIOS } from "./data/luxury-scenarios";
28
- import { SEASONAL_SCENARIOS } from "./data/seasonal-scenarios";
29
- import { EDUCATION_SCENARIOS } from "./data/education-scenarios";
30
- import { GAMING_SCENARIOS } from "./data/gaming-scenarios";
31
- import { CULINARY_SCENARIOS } from "./data/culinary-scenarios";
32
- import { ANIMALS_SCENARIOS } from "./data/animals-scenarios";
33
- import { CREATIVE_SCENARIOS } from "./data/creative-scenarios";
34
- import { WEDDING_SCENARIOS } from "./data/wedding-scenarios";
35
- import { CELEBRATION_SCENARIOS } from "./data/celebration-scenarios";
36
- import { HOME_LIFE_SCENARIOS } from "./data/home-life-scenarios";
37
- import { WELLNESS_SCENARIOS } from "./data/wellness-scenarios";
38
- import { BUCKET_LIST_SCENARIOS } from "./data/bucket-list-scenarios";
39
- import { SOCIAL_MEDIA_SCENARIOS } from "./data/social-media-scenarios";
40
- import { MYTHOLOGY_SCENARIOS } from "./data/mythology-scenarios";
41
- import { FUTURE_TECH_SCENARIOS } from "./data/future-tech-scenarios";
42
- import { ACTION_STEALTH_SCENARIOS } from "./data/action-stealth-scenarios";
43
- import { ECOLOGY_SCENARIOS } from "./data/ecology-scenarios";
44
- import { NOSTALGIA_SCENARIOS } from "./data/nostalgia-scenarios";
45
- import { MYSTICAL_SCENARIOS } from "./data/mystical-scenarios";
46
- import { SUPERHERO_SCENARIOS } from "./data/superhero-scenarios";
47
- import { VILLAINOUS_SCENARIOS } from "./data/villainous-scenarios";
48
- import { ELITE_SCENARIOS } from "./data/elite-scenarios";
49
- import { GOTHIC_SCENARIOS } from "./data/gothic-scenarios";
50
- import { CONNECTION_SCENARIOS } from "./data/connection-scenarios";
51
- import { DAILY_ESSENCE_SCENARIOS } from "./data/daily-essence-scenarios";
52
- import { MOVIE_LEGENDS_SCENARIOS } from "./data/movie-legends-scenarios";
53
- import { ICONIC_MOMENTS_SCENARIOS } from "./data/iconic-moments-scenarios";
54
- import { FOLKLORE_SCENARIOS } from "./data/folklore-scenarios";
55
- import { MUSIC_SCENARIOS } from "./data/music-scenarios";
56
- import { STEAMPUNK_SCENARIOS } from "./data/steampunk-scenarios";
57
- import { ADVENTURE_SCENARIOS } from "./data/adventure-scenarios";
58
- import { AFFECTION_SCENARIOS } from "./data/affection-scenarios";
59
- import { ROMANTIC_KISSES_SCENARIOS } from "./data/romantic-kisses-scenarios";
60
- import { SULTRY_SCENARIOS } from "./data/sultry-scenarios";
61
- import { STOLEN_MOMENTS_SCENARIOS } from "./data/stolen-moments-scenarios";
62
- import { URBAN_NIGHTS_SCENARIOS } from "./data/urban-nights-scenarios";
63
- import { VINTAGE_SUMMER_SCENARIOS } from "./data/vintage-summer-scenarios";
64
- import { ART_STUDIO_SCENARIOS } from "./data/art-studio-scenarios";
65
- import { DARK_ACADEMIA_SCENARIOS } from "./data/dark-academia-scenarios";
66
- import { CASINO_SCENARIOS } from "./data/casino-scenarios";
67
- import { POST_APOCALYPTIC_SCENARIOS } from "./data/post-apocalyptic-scenarios";
68
- import { RETRO_ARCADE_SCENARIOS } from "./data/retro-arcade-scenarios";
69
- import { COZY_PLUSH_SCENARIOS } from "./data/cozy-plush-scenarios";
70
- import { PIRATE_ERA_SCENARIOS } from "./data/pirate-era-scenarios";
71
- import { SAMURAI_SCENARIOS } from "./data/samurai-scenarios";
72
- import { SURREAL_DREAMS_SCENARIOS } from "./data/surreal-dreams-scenarios";
73
- import { MAGICAL_REALISM_SCENARIOS } from "./data/magical-realism-scenarios";
74
- import { VINTAGE_CIRCUS_SCENARIOS } from "./data/vintage-circus-scenarios";
75
- import { ELEMENTAL_SCENARIOS } from "./data/elemental-scenarios";
76
- import { SPEED_DEMONS_SCENARIOS } from "./data/speed-demons-scenarios";
77
- import { UNDERWATER_SCENARIOS } from "./data/underwater-scenarios";
78
- import { ARABIAN_NIGHTS_SCENARIOS } from "./data/arabian-nights-scenarios";
79
- import { PREHISTORIC_WORLD_SCENARIOS } from "./data/prehistoric-world-scenarios";
80
-
81
- /**
82
- * Assigns category to scenarios
83
- * Note: outputType is NOT assigned here - apps configure via createScenariosForApp()
84
- */
85
- const assignCategory = (scenarios: Omit<Scenario, 'category'>[], category: ScenarioCategory) =>
86
- scenarios.map((s) => ({ ...s, category }));
7
+ import { Scenario } from "../domain/Scenario";
8
+ import {
9
+ RELATIONSHIP_SCENARIOS,
10
+ ARTS_ENTERTAINMENT_SCENARIOS,
11
+ ADVENTURE_FANTASY_SCENARIOS,
12
+ CUSTOM_FANTASY_SCENARIO,
13
+ LIFESTYLE_GROUP_SCENARIOS,
14
+ ACTIVITIES_SCENARIOS,
15
+ } from "./data/scenario-groups";
87
16
 
88
17
  export const SCENARIOS: Scenario[] = [
89
- { ...CUSTOM_SCENARIO, category: ScenarioCategory.FANTASY },
90
-
91
- // Time & Future
92
- ...assignCategory(TIME_BASED_SCENARIOS, ScenarioCategory.TIME_TRAVEL),
93
-
94
- // Relationships
95
- ...assignCategory(FAMILY_SCENARIOS, ScenarioCategory.FAMILY),
96
- ...assignCategory(INTIMATE_SCENARIOS, ScenarioCategory.INTIMATE),
97
- ...assignCategory(WEDDING_SCENARIOS, ScenarioCategory.WEDDING),
98
- ...assignCategory(CONNECTION_SCENARIOS, ScenarioCategory.CONNECTION),
99
- ...assignCategory(DAILY_ESSENCE_SCENARIOS, ScenarioCategory.DAILY_ESSENCE),
100
-
101
- // Travel & Places
102
- ...assignCategory(TRAVEL_SCENARIOS, ScenarioCategory.TRAVEL),
103
- ...assignCategory(CULTURAL_SCENARIOS, ScenarioCategory.CULTURAL),
104
-
105
- // History & Eras
106
- ...assignCategory(HISTORICAL_SCENARIOS, ScenarioCategory.HISTORICAL),
107
-
108
- // Fantasy & Fiction
109
- ...assignCategory(FANTASY_SCENARIOS, ScenarioCategory.FANTASY),
110
- ...assignCategory(SCI_FI_SCENARIOS, ScenarioCategory.SCI_FI),
111
-
112
- // Arts & Entertainment
113
- ...assignCategory(ARTISTIC_SCENARIOS, ScenarioCategory.ARTISTIC),
114
- ...assignCategory(CINEMATIC_SCENARIOS, ScenarioCategory.CINEMATIC),
115
- ...assignCategory(PERFORMANCE_SCENARIOS, ScenarioCategory.PERFORMANCE),
116
- ...assignCategory(CREATIVE_SCENARIOS, ScenarioCategory.CREATIVE),
117
-
118
- // Fashion & Style
119
- ...assignCategory(FASHION_SCENARIOS, ScenarioCategory.FASHION),
120
- ...assignCategory(FESTIVAL_SCENARIOS, ScenarioCategory.FESTIVAL),
121
-
122
- // Activities & Hobbies
123
- ...assignCategory(HOBBIES_SCENARIOS, ScenarioCategory.HOBBIES),
124
- ...assignCategory(SPORTS_SCENARIOS, ScenarioCategory.SPORTS),
125
- ...assignCategory(EXTREME_SCENARIOS, ScenarioCategory.EXTREME),
126
- ...assignCategory(GAMING_SCENARIOS, ScenarioCategory.GAMING),
127
-
128
- // Professional
129
- ...assignCategory(CAREER_SCENARIOS, ScenarioCategory.CAREER),
130
- ...assignCategory(EDUCATION_SCENARIOS, ScenarioCategory.EDUCATION),
131
-
132
- // Lifestyle
133
- ...assignCategory(LIFESTYLE_SCENARIOS, ScenarioCategory.LIFESTYLE),
134
- ...assignCategory(LUXURY_SCENARIOS, ScenarioCategory.LUXURY),
135
- ...assignCategory(CULINARY_SCENARIOS, ScenarioCategory.CULINARY),
136
- ...assignCategory(SEASONAL_SCENARIOS, ScenarioCategory.SEASONAL),
137
- ...assignCategory(ANIMALS_SCENARIOS, ScenarioCategory.ANIMALS),
138
-
139
- // Global Categories
140
- ...assignCategory(CELEBRATION_SCENARIOS, ScenarioCategory.CELEBRATIONS),
141
- ...assignCategory(HOME_LIFE_SCENARIOS, ScenarioCategory.HOME_LIFE),
142
- ...assignCategory(WELLNESS_SCENARIOS, ScenarioCategory.WELLNESS),
143
- ...assignCategory(BUCKET_LIST_SCENARIOS, ScenarioCategory.BUCKET_LIST),
144
- ...assignCategory(SOCIAL_MEDIA_SCENARIOS, ScenarioCategory.SOCIAL_MEDIA),
145
-
146
- // Galactic Expansion
147
- ...assignCategory(MYTHOLOGY_SCENARIOS, ScenarioCategory.MYTHOLOGY),
148
- ...assignCategory(FUTURE_TECH_SCENARIOS, ScenarioCategory.FUTURE_TECH),
149
- ...assignCategory(ACTION_STEALTH_SCENARIOS, ScenarioCategory.ACTION_STEALTH),
150
- ...assignCategory(ECOLOGY_SCENARIOS, ScenarioCategory.ECOLOGY),
151
- ...assignCategory(NOSTALGIA_SCENARIOS, ScenarioCategory.NOSTALGIA),
152
-
153
- // The Grand Expansion
154
- ...assignCategory(MYSTICAL_SCENARIOS, ScenarioCategory.MYSTICAL),
155
- ...assignCategory(SUPERHERO_SCENARIOS, ScenarioCategory.SUPERHEROES),
156
- ...assignCategory(VILLAINOUS_SCENARIOS, ScenarioCategory.VILLAINOUS),
157
- ...assignCategory(ELITE_SCENARIOS, ScenarioCategory.ELITE),
158
- ...assignCategory(GOTHIC_SCENARIOS, ScenarioCategory.GOTHIC),
159
-
160
- // Iconic Media
161
- ...assignCategory(MOVIE_LEGENDS_SCENARIOS, ScenarioCategory.MOVIE_LEGENDS),
162
- ...assignCategory(ICONIC_MOMENTS_SCENARIOS, ScenarioCategory.ICONIC_MOMENTS),
163
-
164
- // Arts & Performance
165
- ...assignCategory(FOLKLORE_SCENARIOS, ScenarioCategory.FOLKLORE),
166
- ...assignCategory(MUSIC_SCENARIOS, ScenarioCategory.MUSIC),
167
-
168
- // Speculative & Adventure
169
- ...assignCategory(STEAMPUNK_SCENARIOS, ScenarioCategory.STEAMPUNK),
170
- ...assignCategory(ADVENTURE_SCENARIOS, ScenarioCategory.ADVENTURE),
171
-
172
- // Pure Emotion
173
- ...assignCategory(AFFECTION_SCENARIOS, ScenarioCategory.AFFECTION),
174
- ...assignCategory(
175
- ROMANTIC_KISSES_SCENARIOS,
176
- ScenarioCategory.ROMANTIC_KISSES,
177
- ),
178
-
179
- // High-Tension Romance
180
- ...assignCategory(SULTRY_SCENARIOS, ScenarioCategory.SULTRY),
181
- ...assignCategory(STOLEN_MOMENTS_SCENARIOS, ScenarioCategory.STOLEN_MOMENTS),
182
- ...assignCategory(URBAN_NIGHTS_SCENARIOS, ScenarioCategory.URBAN_NIGHTS),
183
-
184
- // New Vibes
185
- ...assignCategory(VINTAGE_SUMMER_SCENARIOS, ScenarioCategory.VINTAGE_SUMMER),
186
- ...assignCategory(ART_STUDIO_SCENARIOS, ScenarioCategory.ART_STUDIO),
187
-
188
- // Final Flourish
189
- ...assignCategory(DARK_ACADEMIA_SCENARIOS, ScenarioCategory.DARK_ACADEMIA),
190
- ...assignCategory(CASINO_SCENARIOS, ScenarioCategory.CASINO),
191
- ...assignCategory(
192
- POST_APOCALYPTIC_SCENARIOS,
193
- ScenarioCategory.POST_APOCALYPTIC,
194
- ),
195
- ...assignCategory(RETRO_ARCADE_SCENARIOS, ScenarioCategory.RETRO_ARCADE),
196
- ...assignCategory(COZY_PLUSH_SCENARIOS, ScenarioCategory.COZY_PLUSH),
197
-
198
- // Final, Final Flourish
199
- ...assignCategory(PIRATE_ERA_SCENARIOS, ScenarioCategory.PIRATE_ERA),
200
- ...assignCategory(SAMURAI_SCENARIOS, ScenarioCategory.SAMURAI),
201
- ...assignCategory(SURREAL_DREAMS_SCENARIOS, ScenarioCategory.SURREAL_DREAMS),
202
- ...assignCategory(
203
- MAGICAL_REALISM_SCENARIOS,
204
- ScenarioCategory.MAGICAL_REALISM,
205
- ),
206
- ...assignCategory(VINTAGE_CIRCUS_SCENARIOS, ScenarioCategory.VINTAGE_CIRCUS),
207
-
208
- // The Infinite Expansion
209
- ...assignCategory(ELEMENTAL_SCENARIOS, ScenarioCategory.ELEMENTAL),
210
- ...assignCategory(SPEED_DEMONS_SCENARIOS, ScenarioCategory.SPEED_DEMONS),
211
- ...assignCategory(UNDERWATER_SCENARIOS, ScenarioCategory.UNDERWATER),
212
- ...assignCategory(ARABIAN_NIGHTS_SCENARIOS, ScenarioCategory.ARABIAN_NIGHTS),
213
- ...assignCategory(PREHISTORIC_WORLD_SCENARIOS, ScenarioCategory.PREHISTORIC),
18
+ CUSTOM_FANTASY_SCENARIO,
19
+ ...RELATIONSHIP_SCENARIOS,
20
+ ...ARTS_ENTERTAINMENT_SCENARIOS,
21
+ ...ADVENTURE_FANTASY_SCENARIOS,
22
+ ...LIFESTYLE_GROUP_SCENARIOS,
23
+ ...ACTIVITIES_SCENARIOS,
214
24
  ];
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Action & Fantasy Movie Legends
3
+ * Superhero and action film moments
4
+ */
5
+
6
+ import { Scenario, ScenarioId } from "../../../domain/Scenario";
7
+ import { createPhotorealisticPrompt, createStoryTemplate } from "../../utils/scenario-utils";
8
+
9
+ export const ACTION_FANTASY_MOVIE_SCENARIOS: Omit<Scenario, "outputType" | "category">[] = [
10
+ {
11
+ id: ScenarioId.SMITH_BACK_TO_BACK,
12
+ title: "Action Power Couple",
13
+ description: "Back to back, guns ready",
14
+ icon: "🔫",
15
+ imageUrl: "https://images.unsplash.com/photo-1540324155974-7523202daa3f?w=800",
16
+ inputType: "dual",
17
+ aiPrompt: createPhotorealisticPrompt(
18
+ "a couple as action movie spies standing back-to-back, both facing camera with fierce confident expressions, man in tailored black suit with tactical vest, woman in sleek black dress with thigh holster, modern glass architecture with orange sunset light streaming through in background",
19
+ "dramatic cinematic lighting with warm orange tones and sharp shadows",
20
+ ),
21
+ storyTemplate: createStoryTemplate(
22
+ "step into the shoes of the ultimate power duo",
23
+ "They've got each other's backs, always. Together, they're an unstoppable force that even Hollywood couldn't script.",
24
+ ),
25
+ },
26
+ {
27
+ id: ScenarioId.SPIDERMAN_KISS,
28
+ title: "Upside-Down Kiss",
29
+ description: "Hero in the rain",
30
+ icon: "🕷️",
31
+ imageUrl: "https://images.unsplash.com/photo-1511285560929-80b456fea0bc?w=800",
32
+ inputType: "dual",
33
+ aiPrompt: createPhotorealisticPrompt(
34
+ "a couple recreating iconic Spider-Man upside-down kiss in rainy alley, man hanging inverted from fire escape with mask pulled up to nose, woman reaching up to kiss him, both with loving expressions from unique angles, heavy rain pouring down in dark city alley with neon signs reflecting on wet pavement in background",
35
+ "dramatic nighttime rain lighting with neon reflections and cinematic atmosphere",
36
+ ),
37
+ storyTemplate: createStoryTemplate(
38
+ "reveal their secret hero love",
39
+ "Even in the rain and the shadows, her love is the anchor that brings him home. A kiss that defined a generation of heroes.",
40
+ ),
41
+ },
42
+ {
43
+ id: ScenarioId.TWILIGHT_MEADOW,
44
+ title: "The Meadow",
45
+ description: "A thousand years",
46
+ icon: "🌲",
47
+ imageUrl: "https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?w=800",
48
+ inputType: "dual",
49
+ aiPrompt: createPhotorealisticPrompt(
50
+ "a couple lying in lush meadow of purple and yellow wildflowers, heads together hair fanned out, both facing camera with intense devoted smiles, man in casual henley woman in simple cotton dress, golden sunlight filtering through ancient pine forest creating god rays in background",
51
+ "soft dreamy golden hour light with ethereal forest atmosphere",
52
+ ),
53
+ storyTemplate: createStoryTemplate(
54
+ "promise a lifetime of devotion",
55
+ "In the quiet of the meadow, they promised to never leave each other. A love that feels like it's lasted a thousand years.",
56
+ ),
57
+ },
58
+ ];
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Movie Legends Scenarios
3
+ * Iconic moments from cinema history
4
+ */
5
+
6
+ import { ROMANTIC_MOVIE_SCENARIOS } from "./romantic";
7
+ import { PERIOD_DRAMA_MOVIE_SCENARIOS } from "./period-drama";
8
+ import { ACTION_FANTASY_MOVIE_SCENARIOS } from "./action-fantasy";
9
+ import { MUSICAL_DANCE_MOVIE_SCENARIOS } from "./musical-dance";
10
+
11
+ export const MOVIE_LEGENDS_SCENARIOS = [
12
+ ...ROMANTIC_MOVIE_SCENARIOS,
13
+ ...PERIOD_DRAMA_MOVIE_SCENARIOS,
14
+ ...ACTION_FANTASY_MOVIE_SCENARIOS,
15
+ ...MUSICAL_DANCE_MOVIE_SCENARIOS,
16
+ ];
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Musical & Dance Movie Legends
3
+ * Iconic dance and musical film moments
4
+ */
5
+
6
+ import { Scenario, ScenarioId } from "../../../domain/Scenario";
7
+ import { createPhotorealisticPrompt, createStoryTemplate } from "../../utils/scenario-utils";
8
+
9
+ export const MUSICAL_DANCE_MOVIE_SCENARIOS: Omit<Scenario, "outputType" | "category">[] = [
10
+ {
11
+ id: ScenarioId.PULP_FICTION_DANCE,
12
+ title: "Twist Contest",
13
+ description: "Classic 50s diner dance",
14
+ icon: "💃",
15
+ imageUrl: "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800",
16
+ inputType: "dual",
17
+ aiPrompt: createPhotorealisticPrompt(
18
+ "a couple recreating Pulp Fiction twist contest in retro 50s diner, both facing camera with cool deadpan expressions doing classic hand-over-eyes dance move, man in thin black suit and bolo tie, woman in crisp white shirt and slim black pants with sleek dark bob haircut, red vinyl booths and checkered floor and glowing neon signs in background",
19
+ "warm retro diner lighting with neon glow and vintage atmosphere",
20
+ ),
21
+ storyTemplate: createStoryTemplate(
22
+ "ignite the dance floor with iconic moves",
23
+ "They don't follow the rhythm; they create it. A cool, effortless connection that defines an entire era of cool.",
24
+ ),
25
+ },
26
+ {
27
+ id: ScenarioId.LA_LA_LAND_DANCE,
28
+ title: "City of Stars",
29
+ description: "Dancing under the twilight",
30
+ icon: "✨",
31
+ imageUrl: "https://images.unsplash.com/photo-1533174072545-7a4b6ad7a6c3?w=800",
32
+ inputType: "dual",
33
+ aiPrompt: createPhotorealisticPrompt(
34
+ "a couple dancing on hilltop overlooking Los Angeles at magic hour, recreating La La Land bench scene, woman in flowing bright yellow sundress with skirt twirling, man in white button-down and slim navy tie, purple and orange gradient sunset sky with twinkling city lights of LA sprawling below in background",
35
+ "magical twilight lighting with warm golden and cool purple tones",
36
+ ),
37
+ storyTemplate: createStoryTemplate(
38
+ "dance through a dreamscape of stars",
39
+ "In a city of millions, they found the only person who knows the melody of their heart. A love story written in the stars.",
40
+ ),
41
+ },
42
+ {
43
+ id: ScenarioId.DIRTY_DANCING_LIFT,
44
+ title: "The Time of My Life",
45
+ description: "That legendary lift",
46
+ icon: "🕺",
47
+ imageUrl: "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800",
48
+ inputType: "dual",
49
+ aiPrompt: createPhotorealisticPrompt(
50
+ "a couple recreating iconic Dirty Dancing lift, man with strong arms holding woman high above his head, woman with gracefully arched back and arms spread wide in triumph, both facing camera with ecstatic joyful smiles, 1980s resort ballroom with cheering audience and string lights and stage in background",
51
+ "warm spotlight with 80s golden glow and crowd excitement",
52
+ ),
53
+ storyTemplate: createStoryTemplate(
54
+ "have the time of their lives",
55
+ "Trust, balance, and pure joy. In this lift, they're soaring high, proving that with each other, they can reach any height.",
56
+ ),
57
+ },
58
+ ];
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Period Drama Movie Legends
3
+ * Classic and period film moments
4
+ */
5
+
6
+ import { Scenario, ScenarioId } from "../../../domain/Scenario";
7
+ import { createPhotorealisticPrompt, createStoryTemplate } from "../../utils/scenario-utils";
8
+
9
+ export const PERIOD_DRAMA_MOVIE_SCENARIOS: Omit<Scenario, "outputType" | "category">[] = [
10
+ {
11
+ id: ScenarioId.GATSBY_CHEERS,
12
+ title: "The Gatsby Toast",
13
+ description: "Old Sport!",
14
+ icon: "🥂",
15
+ imageUrl: "https://images.unsplash.com/photo-1516939884455-1445c8652f83?w=800",
16
+ inputType: "dual",
17
+ aiPrompt: createPhotorealisticPrompt(
18
+ "a couple as grand Gatsby party hosts in 1920s mansion, both facing camera with charismatic knowing smiles raising crystal champagne coupes, woman in extravagant gold sequined flapper dress with feathered headpiece and long pearls, man in impeccable white dinner jacket with slicked hair, spectacular fireworks and glamorous party guests and art deco mansion in background",
19
+ "lavish golden party lighting with firework sparkle and champagne glow",
20
+ ),
21
+ storyTemplate: createStoryTemplate(
22
+ "host the most legendary party of the century",
23
+ "A little party never killed nobody, especially when you're celebrating a love as bright as the green light across the bay.",
24
+ ),
25
+ },
26
+ {
27
+ id: ScenarioId.PRIDE_PREJUDICE_WALK,
28
+ title: "Dawn of Love",
29
+ description: "A walk at sunrise",
30
+ icon: "🚶‍♂️",
31
+ imageUrl: "https://images.unsplash.com/photo-1500382017468-9049fed747ef?w=800",
32
+ inputType: "dual",
33
+ aiPrompt: createPhotorealisticPrompt(
34
+ "a couple walking toward each other through misty English field at dawn recreating Pride and Prejudice, man in long dark greatcoat with windswept hair, woman in flowing white nightdress with wool shawl, meeting as golden sun rises behind them casting long shadows through morning mist",
35
+ "magical golden dawn light with atmospheric mist and romantic haze",
36
+ ),
37
+ storyTemplate: createStoryTemplate(
38
+ "find their way to each other through the mist",
39
+ "No more pride, no more prejudice. Just two hearts seeing each other clearly for the first time as a new day begins.",
40
+ ),
41
+ },
42
+ {
43
+ id: ScenarioId.CASABLANCA_FAREWELL,
44
+ title: "Casablanca Farewell",
45
+ description: "Here's looking at you, kid",
46
+ icon: "🛫",
47
+ imageUrl: "https://images.unsplash.com/photo-1485686531765-ba63b07845a7?w=800",
48
+ inputType: "dual",
49
+ aiPrompt: createPhotorealisticPrompt(
50
+ "a couple recreating Casablanca airport farewell at night, both facing camera with dramatic emotional expressions of bittersweet goodbye, man in tan trench coat and fedora, woman in elegant suit and wide-brimmed hat with tears in eyes, 1940s propeller plane and swirling fog on tarmac in background, high-contrast black and white film style",
51
+ "dramatic noir lighting with fog and high-contrast black and white aesthetic",
52
+ ),
53
+ storyTemplate: createStoryTemplate(
54
+ "share one last unforgettable look",
55
+ "We'll always have Paris. In a world of chaos, their love is the one thing that will never change, no matter where they go.",
56
+ ),
57
+ },
58
+ ];
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Romantic Movie Legends
3
+ * Iconic romantic film moments
4
+ */
5
+
6
+ import { Scenario, ScenarioId } from "../../../domain/Scenario";
7
+ import { createPhotorealisticPrompt, createStoryTemplate } from "../../utils/scenario-utils";
8
+
9
+ export const ROMANTIC_MOVIE_SCENARIOS: Omit<Scenario, "outputType" | "category">[] = [
10
+ {
11
+ id: ScenarioId.TITANIC_BOW,
12
+ title: "Titanic Bow",
13
+ description: "I'm flying, Jack!",
14
+ icon: "🚢",
15
+ imageUrl: "https://images.unsplash.com/photo-1544551763-46a013bb70d5?w=800",
16
+ inputType: "dual",
17
+ aiPrompt: createPhotorealisticPrompt(
18
+ "a couple recreating iconic Titanic bow pose on grand ocean liner, man in period suspenders and white shirt holding woman from behind, woman with arms outstretched in flowing Edwardian dress with windswept hair, both facing camera with blissful romantic smiles, dramatic orange and pink sunset reflecting on endless ocean in background",
19
+ "warm golden sunset backlighting with ocean spray and wind effect",
20
+ ),
21
+ storyTemplate: createStoryTemplate(
22
+ "recreate the most romantic moment in cinema history",
23
+ "With the wind in their hair and the sunset on their faces, they feel like they're flying. A love that's as vast and deep as the ocean.",
24
+ ),
25
+ },
26
+ {
27
+ id: ScenarioId.NOTEBOOK_RAIN,
28
+ title: "The Rain Kiss",
29
+ description: "It wasn't over!",
30
+ icon: "🌧️",
31
+ imageUrl: "https://images.unsplash.com/photo-1515694346937-94d85e41e6f0?w=800",
32
+ inputType: "dual",
33
+ aiPrompt: createPhotorealisticPrompt(
34
+ "a couple in passionate embrace during heavy rainstorm recreating The Notebook, both facing camera with intense emotional smiles showing happy tears mixing with rain, completely soaked with clinging wet clothing, man in drenched white t-shirt woman in rain-soaked summer dress, rustic wooden dock and misty lake with moody gray sky in background",
35
+ "dramatic stormy lighting with rain streaks and emotional atmosphere",
36
+ ),
37
+ storyTemplate: createStoryTemplate(
38
+ "promise to never let go",
39
+ "Let the rain fall; they have everything they need right here. A love that survives every storm and only grows stronger with time.",
40
+ ),
41
+ },
42
+ {
43
+ id: ScenarioId.GHOST_POTTERY,
44
+ title: "Pottery Romance",
45
+ description: "Unchained melody",
46
+ icon: "🏺",
47
+ imageUrl: "https://images.unsplash.com/photo-1501386761578-eac5c94b800a?w=800",
48
+ inputType: "dual",
49
+ aiPrompt: createPhotorealisticPrompt(
50
+ "a couple at pottery wheel recreating Ghost scene, man sitting behind woman with his hands gently over hers shaping wet terracotta clay, both facing camera with intimate tender smiles, clay-covered fingers intertwined on spinning vase, soft warm indoor lighting from nearby lamp, rustic pottery studio with shelves of finished ceramics in background",
51
+ "warm intimate golden lamp light with soft romantic atmosphere",
52
+ ),
53
+ storyTemplate: createStoryTemplate(
54
+ "share a moment of artistic connection",
55
+ "In the soft clay and the gentle music, they find a connection that transcends time. A love that's truly unchained.",
56
+ ),
57
+ },
58
+ {
59
+ id: ScenarioId.PRETTY_WOMAN_BALCONY,
60
+ title: "Modern Fairytale",
61
+ description: "Rescue on the fire escape",
62
+ icon: "🏢",
63
+ imageUrl: "https://images.unsplash.com/photo-1540324155974-7523202daa3f?w=800",
64
+ inputType: "dual",
65
+ aiPrompt: createPhotorealisticPrompt(
66
+ "a couple recreating Pretty Woman fire escape scene, man climbing rusty iron ladder with red rose in mouth and charming grin, woman in silk robe leaning over balcony railing looking down with amazed ecstatic smile, both facing camera, urban LA sunset with palm trees and city buildings in background",
67
+ "warm golden sunset backlighting with romantic urban glow",
68
+ ),
69
+ storyTemplate: createStoryTemplate(
70
+ "write their own modern fairytale",
71
+ "He climbed the tower to rescue her, and she rescued him right back. A love that changed everything they knew about the world.",
72
+ ),
73
+ },
74
+ {
75
+ id: ScenarioId.ROMEO_AQUARIUM,
76
+ title: "Aquarium Glance",
77
+ description: "Love at first sight",
78
+ icon: "🐠",
79
+ imageUrl: "https://images.unsplash.com/photo-1544005313-94ddf0286df2?w=800",
80
+ inputType: "dual",
81
+ aiPrompt: createPhotorealisticPrompt(
82
+ "a couple gazing at each other through large aquarium tank, both visible through glass with mesmerized love-struck expressions, man in 90s silk shirt and chain, woman in sparkly party dress with 90s makeup, colorful tropical fish and blue water creating dreamy barrier between them, soft ethereal aquarium lighting",
83
+ "soft blue aquarium glow with dreamy underwater light ripples",
84
+ ),
85
+ storyTemplate: createStoryTemplate(
86
+ "relive the moment of first sight",
87
+ "Through the glass and the water, the world blurred away until there was only 'us'. A connection so instant it felt like destiny.",
88
+ ),
89
+ },
90
+ ];
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Activities Scenarios Group
3
+ * Sports, hobbies, travel, and professional scenarios
4
+ */
5
+
6
+ import { Scenario, ScenarioCategory } from "../../../domain/Scenario";
7
+ import { TIME_BASED_SCENARIOS } from "../time-based-scenarios";
8
+ import { TRAVEL_SCENARIOS } from "../travel-scenarios";
9
+ import { CULTURAL_SCENARIOS } from "../cultural-scenarios";
10
+ import { HISTORICAL_SCENARIOS } from "../historical-scenarios";
11
+ import { HOBBIES_SCENARIOS } from "../hobbies-scenarios";
12
+ import { SPORTS_SCENARIOS } from "../sports-scenarios";
13
+ import { EXTREME_SCENARIOS } from "../extreme-scenarios";
14
+ import { GAMING_SCENARIOS } from "../gaming-scenarios";
15
+ import { CAREER_SCENARIOS } from "../career-scenarios";
16
+ import { EDUCATION_SCENARIOS } from "../education-scenarios";
17
+ import { FASHION_SCENARIOS } from "../fashion-scenarios";
18
+ import { FESTIVAL_SCENARIOS } from "../festival-scenarios";
19
+ import { FUTURE_TECH_SCENARIOS } from "../future-tech-scenarios";
20
+ import { ACTION_STEALTH_SCENARIOS } from "../action-stealth-scenarios";
21
+ import { ECOLOGY_SCENARIOS } from "../ecology-scenarios";
22
+ import { NOSTALGIA_SCENARIOS } from "../nostalgia-scenarios";
23
+ import { ELITE_SCENARIOS } from "../elite-scenarios";
24
+ import { GOTHIC_SCENARIOS } from "../gothic-scenarios";
25
+ import { SPEED_DEMONS_SCENARIOS } from "../speed-demons-scenarios";
26
+ import { UNDERWATER_SCENARIOS } from "../underwater-scenarios";
27
+
28
+ const assignCategory = (scenarios: Omit<Scenario, 'category'>[], category: ScenarioCategory) =>
29
+ scenarios.map((s) => ({ ...s, category }));
30
+
31
+ export const ACTIVITIES_SCENARIOS: Scenario[] = [
32
+ ...assignCategory(TIME_BASED_SCENARIOS, ScenarioCategory.TIME_TRAVEL),
33
+ ...assignCategory(TRAVEL_SCENARIOS, ScenarioCategory.TRAVEL),
34
+ ...assignCategory(CULTURAL_SCENARIOS, ScenarioCategory.CULTURAL),
35
+ ...assignCategory(HISTORICAL_SCENARIOS, ScenarioCategory.HISTORICAL),
36
+ ...assignCategory(HOBBIES_SCENARIOS, ScenarioCategory.HOBBIES),
37
+ ...assignCategory(SPORTS_SCENARIOS, ScenarioCategory.SPORTS),
38
+ ...assignCategory(EXTREME_SCENARIOS, ScenarioCategory.EXTREME),
39
+ ...assignCategory(GAMING_SCENARIOS, ScenarioCategory.GAMING),
40
+ ...assignCategory(CAREER_SCENARIOS, ScenarioCategory.CAREER),
41
+ ...assignCategory(EDUCATION_SCENARIOS, ScenarioCategory.EDUCATION),
42
+ ...assignCategory(FASHION_SCENARIOS, ScenarioCategory.FASHION),
43
+ ...assignCategory(FESTIVAL_SCENARIOS, ScenarioCategory.FESTIVAL),
44
+ ...assignCategory(FUTURE_TECH_SCENARIOS, ScenarioCategory.FUTURE_TECH),
45
+ ...assignCategory(ACTION_STEALTH_SCENARIOS, ScenarioCategory.ACTION_STEALTH),
46
+ ...assignCategory(ECOLOGY_SCENARIOS, ScenarioCategory.ECOLOGY),
47
+ ...assignCategory(NOSTALGIA_SCENARIOS, ScenarioCategory.NOSTALGIA),
48
+ ...assignCategory(ELITE_SCENARIOS, ScenarioCategory.ELITE),
49
+ ...assignCategory(GOTHIC_SCENARIOS, ScenarioCategory.GOTHIC),
50
+ ...assignCategory(SPEED_DEMONS_SCENARIOS, ScenarioCategory.SPEED_DEMONS),
51
+ ...assignCategory(UNDERWATER_SCENARIOS, ScenarioCategory.UNDERWATER),
52
+ ];
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Adventure & Fantasy Scenarios Group
3
+ * Fantasy, sci-fi, mythology, and adventure scenarios
4
+ */
5
+
6
+ import { Scenario, ScenarioCategory } from "../../../domain/Scenario";
7
+ import { FANTASY_SCENARIOS, CUSTOM_SCENARIO } from "../fantasy-scenarios";
8
+ import { SCI_FI_SCENARIOS } from "../sci-fi-scenarios";
9
+ import { MYTHOLOGY_SCENARIOS } from "../mythology-scenarios";
10
+ import { MYSTICAL_SCENARIOS } from "../mystical-scenarios";
11
+ import { SUPERHERO_SCENARIOS } from "../superhero-scenarios";
12
+ import { VILLAINOUS_SCENARIOS } from "../villainous-scenarios";
13
+ import { STEAMPUNK_SCENARIOS } from "../steampunk-scenarios";
14
+ import { ADVENTURE_SCENARIOS } from "../adventure-scenarios";
15
+ import { POST_APOCALYPTIC_SCENARIOS } from "../post-apocalyptic-scenarios";
16
+ import { PIRATE_ERA_SCENARIOS } from "../pirate-era-scenarios";
17
+ import { SAMURAI_SCENARIOS } from "../samurai-scenarios";
18
+ import { SURREAL_DREAMS_SCENARIOS } from "../surreal-dreams-scenarios";
19
+ import { MAGICAL_REALISM_SCENARIOS } from "../magical-realism-scenarios";
20
+ import { ELEMENTAL_SCENARIOS } from "../elemental-scenarios";
21
+ import { ARABIAN_NIGHTS_SCENARIOS } from "../arabian-nights-scenarios";
22
+ import { PREHISTORIC_WORLD_SCENARIOS } from "../prehistoric-world-scenarios";
23
+
24
+ const assignCategory = (scenarios: Omit<Scenario, 'category'>[], category: ScenarioCategory) =>
25
+ scenarios.map((s) => ({ ...s, category }));
26
+
27
+ export const CUSTOM_FANTASY_SCENARIO: Scenario = { ...CUSTOM_SCENARIO, category: ScenarioCategory.FANTASY };
28
+
29
+ export const ADVENTURE_FANTASY_SCENARIOS: Scenario[] = [
30
+ ...assignCategory(FANTASY_SCENARIOS, ScenarioCategory.FANTASY),
31
+ ...assignCategory(SCI_FI_SCENARIOS, ScenarioCategory.SCI_FI),
32
+ ...assignCategory(MYTHOLOGY_SCENARIOS, ScenarioCategory.MYTHOLOGY),
33
+ ...assignCategory(MYSTICAL_SCENARIOS, ScenarioCategory.MYSTICAL),
34
+ ...assignCategory(SUPERHERO_SCENARIOS, ScenarioCategory.SUPERHEROES),
35
+ ...assignCategory(VILLAINOUS_SCENARIOS, ScenarioCategory.VILLAINOUS),
36
+ ...assignCategory(STEAMPUNK_SCENARIOS, ScenarioCategory.STEAMPUNK),
37
+ ...assignCategory(ADVENTURE_SCENARIOS, ScenarioCategory.ADVENTURE),
38
+ ...assignCategory(POST_APOCALYPTIC_SCENARIOS, ScenarioCategory.POST_APOCALYPTIC),
39
+ ...assignCategory(PIRATE_ERA_SCENARIOS, ScenarioCategory.PIRATE_ERA),
40
+ ...assignCategory(SAMURAI_SCENARIOS, ScenarioCategory.SAMURAI),
41
+ ...assignCategory(SURREAL_DREAMS_SCENARIOS, ScenarioCategory.SURREAL_DREAMS),
42
+ ...assignCategory(MAGICAL_REALISM_SCENARIOS, ScenarioCategory.MAGICAL_REALISM),
43
+ ...assignCategory(ELEMENTAL_SCENARIOS, ScenarioCategory.ELEMENTAL),
44
+ ...assignCategory(ARABIAN_NIGHTS_SCENARIOS, ScenarioCategory.ARABIAN_NIGHTS),
45
+ ...assignCategory(PREHISTORIC_WORLD_SCENARIOS, ScenarioCategory.PREHISTORIC),
46
+ ];