@umituz/react-native-ai-generation-content 1.89.20 → 1.89.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-ai-generation-content",
3
- "version": "1.89.20",
3
+ "version": "1.89.22",
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",
@@ -3,7 +3,7 @@
3
3
  * Manages the state for the gallery screen including selection and media URL handling
4
4
  */
5
5
 
6
- import { useState, useEffect, useRef, useMemo } from "react";
6
+ import { useState, useEffect, useMemo } from "react";
7
7
  import type { Creation } from "../../domain/entities/Creation";
8
8
  import { getPreviewUrl } from "../../domain/utils";
9
9
 
@@ -27,7 +27,6 @@ export function useGalleryState(options: GalleryStateOptions): GalleryStateRetur
27
27
  const { initialCreationId, creations } = options;
28
28
  const [selectedCreation, setSelectedCreation] = useState<Creation | null>(null);
29
29
  const [showRatingPicker, setShowRatingPicker] = useState(false);
30
- const hasAutoSelectedRef = useRef(false);
31
30
 
32
31
  // Auto-select creation when initialCreationId is provided
33
32
  useEffect(() => {
@@ -2,6 +2,7 @@ import { providerRegistry } from "../../../../../infrastructure/services/provide
2
2
  import { extractResultUrl, type GenerationUrls, type GenerationResult } from "./generation-result.utils";
3
3
  import { QUEUE_STATUS } from "../../../../../domain/constants/queue-status.constants";
4
4
  import { DEFAULT_MAX_CONSECUTIVE_ERRORS } from "../../../../../infrastructure/constants/polling.constants";
5
+ import type { AILogEntry } from "../../../../../domain/interfaces/ai-provider-status.types";
5
6
 
6
7
 
7
8
  /**
@@ -96,7 +97,7 @@ export const pollQueueStatus = async (params: PollParams): Promise<void> => {
96
97
  } else {
97
98
  // Try to extract error from FAL job logs (error-level log takes priority)
98
99
  const logs = status.logs ?? [];
99
- const errorLogs = logs.filter((l: any) => l.level === "error");
100
+ const errorLogs = logs.filter((l: AILogEntry) => l.level === "error");
100
101
  const errorLog = errorLogs.length > 0 ? errorLogs[errorLogs.length - 1] : logs[logs.length - 1];
101
102
  const failMessage =
102
103
  errorLog?.message && errorLog.message !== "[object Object]"
@@ -5,130 +5,107 @@
5
5
  */
6
6
 
7
7
  export const IDENTITY_PRESERVATION_CORE = `IDENTITY PRESERVATION (CRITICAL):
8
- Preserve EXACT facial features from uploaded photos with 100% accuracy - bone structure, proportions, skin tone, eye/hair color, unique markings. NO smoothing, NO idealization. Must be instantly recognizable.`;
8
+ Preserve EXACT facial features: bone structure, skin tone, eye/hair color. NO smoothing. Must be instantly recognizable.`;
9
9
 
10
10
  export const IDENTITY_PRESERVATION_COUPLE = `IDENTITY PRESERVATION (CRITICAL):
11
- Preserve EXACT facial features for BOTH people with 100% accuracy. Same requirements as single person, applied to both individuals. Keep natural skin texture, unique markings, authentic expressions. NO smoothing, idealization, or artificial enhancement. Both must be instantly recognizable.`;
11
+ Preserve EXACT facial features for BOTH people. Same requirements as single. NO smoothing. Both must be instantly recognizable.`;
12
12
 
13
13
  export const PHOTOREALISTIC_RENDERING = `STYLE - PHOTOREALISTIC QUALITY (CRITICAL):
14
- Create authentic photograph with real camera characteristics - NOT digital art, 3D render, or CGI.
14
+ Real photograph quality - NOT digital art or CGI.
15
15
 
16
16
  REQUIREMENTS:
17
- - Professional camera quality: natural depth of field, realistic bokeh, authentic lens effects
18
- - Photographic lighting: natural/studio lighting with soft realistic shadows
19
- - Authentic color grading: natural skin tones, no over-saturation
20
- - Real textures: visible skin pores, individual hair strands, authentic fabric materials
21
- - Real camera grain: subtle noise texture for authenticity
22
- - Natural sharpness: realistic focus fall-off
17
+ - Professional camera: natural depth of field, realistic bokeh
18
+ - Photographic lighting with soft shadows
19
+ - Authentic skin tones, no over-saturation
20
+ - Real textures: visible skin pores, hair strands
21
+ - Subtle camera grain
23
22
 
24
23
  STRICTLY PROHIBITED:
25
- - NO digital art, 3D render, CGI, AI generation appearance
26
- - NO plastic, wax, porcelain, doll-like, or over-smoothed skin
27
- - NO anime, cartoon, illustration, or painting styles
28
- - NO artificial glow, symmetry, or perfection
29
- - NO fake bokeh or exaggerated colors
24
+ - NO digital art, 3D render, CGI
25
+ - NO plastic, wax, doll-like skin
26
+ - NO anime, cartoon, illustration
27
+ - NO artificial glow or perfection
30
28
 
31
- RESULT: Must be indistinguishable from real photograph - viewers should believe it's actual photo.`;
29
+ RESULT: Must look like real photograph.`;
32
30
 
33
31
  export const NATURAL_POSE_GUIDELINES = `POSE - NATURAL BODY LANGUAGE (CRITICAL):
34
- Create authentic, relaxed poses that look like real candid photography.
32
+ Authentic, relaxed candid poses.
35
33
 
36
34
  REQUIREMENTS:
37
- - Relaxed natural stance - no stiff or rigid posture
38
- - Authentic body language appropriate to scenario
39
- - Natural head tilt, shoulder position, arm placement
40
- - Natural hand positioning - not curled or contorted
35
+ - Relaxed stance - no stiff posture
36
+ - Natural body language for scenario
37
+ - Natural hand positioning
41
38
  - Authentic weight distribution
42
39
 
43
40
  FACIAL EXPRESSION:
44
- - Natural relaxed expression - not forced or exaggerated
45
- - Authentic eye contact or gaze direction
46
- - Natural smile intensity - not overly bright
47
- - Realistic micro-expressions
41
+ - Relaxed expression - not forced
42
+ - Natural eye contact
43
+ - Realistic smile intensity
48
44
 
49
45
  STRICTLY PROHIBITED:
50
- - NO absurd or contorted positions
51
- - NO physically impossible poses or extreme twisting
52
- - NO stiff, rigid, or mannequin-like posture
53
- - NO exaggerated theatrical expressions
54
- - NO unnatural arm, leg, or body angles
55
- - NO dance, ballet, or performative poses
46
+ - NO contorted or impossible poses
47
+ - NO stiff or mannequin-like posture
48
+ - NO exaggerated expressions
49
+ - NO unnatural body angles
56
50
 
57
- RESULT: Must look like real human in candid photograph, not posed model or digital figure.`;
51
+ RESULT: Real human in candid photo.`;
58
52
 
59
53
  export const NATURAL_POSE_GUIDELINES_COUPLE = `POSE - NATURAL COUPLE INTERACTION (CRITICAL):
60
- Create authentic, relaxed couple poses with genuine interaction and chemistry.
54
+ Authentic, relaxed couple poses with genuine chemistry.
61
55
 
62
56
  REQUIREMENTS:
63
- - Relaxed natural stance for both people - no stiff posture
64
- - Authentic body language and interaction
65
- - Natural head positions and angles for both
57
+ - Relaxed stance for both
58
+ - Natural body language and interaction
66
59
  - Realistic positioning relative to each other
67
- - Natural arm and hand placement
68
- - Authentic physical connection and proximity
60
+ - Natural arm/hand placement
61
+ - Authentic physical proximity
69
62
 
70
63
  FACIAL EXPRESSIONS:
71
- - Natural relaxed expressions for both - not forced
72
- - Authentic eye contact or gaze direction
73
- - Natural smile intensity - not overly bright
74
- - Realistic micro-expressions and chemistry
75
-
76
- COUPLE INTERACTION:
77
- - Authentic couple dynamics and comfort
78
- - Realistic physical proximity
79
- - Natural touch or contact if appropriate
80
- - Genuine spontaneous engagement
64
+ - Natural expressions for both
65
+ - Authentic eye contact
66
+ - Realistic chemistry
81
67
 
82
68
  STRICTLY PROHIBITED:
83
- - NO absurd or contorted positions
84
- - NO physically impossible poses
85
- - NO stiff or mannequin-like posture
86
- - NO exaggerated theatrical expressions
87
- - NO unnatural body angles
88
- - NO fake or staged-looking interactions
69
+ - NO contorted poses
70
+ - NO stiff posture
71
+ - NO exaggerated expressions
72
+ - NO fake interactions
89
73
 
90
- RESULT: Must look like real couple naturally interacting in candid photo, not posed models.`;
74
+ RESULT: Real couple naturally interacting.`;
91
75
 
92
76
  export const ANTI_PLASTIC_DIRECTIVES = `ANTI-PLASTIC DIRECTIVES (CRITICAL):
93
- Ensure the image looks like a real photograph, NOT digital art or AI generation.
77
+ Real photograph look - NOT digital art.
94
78
 
95
79
  SKIN TEXTURE:
96
- - REAL skin texture: visible pores must be present
97
- - Natural skin variation: slight imperfections, texture variation
98
- - NO poreless, porcelain, or airbrushed-looking skin
99
- - NO plastic-like smoothness or artificial perfection
80
+ - Visible pores required
81
+ - Natural skin variation
82
+ - NO poreless or porcelain skin
83
+ - NO plastic smoothness
100
84
 
101
85
  FACIAL NATURALNESS:
102
- - Slight asymmetry is required - faces are not perfectly symmetrical
103
- - Natural skin lines when appropriate
104
- - Authentic skin variations: slight redness, different tones
105
- - Natural eye shape variations
106
- - Realistic lip texture - not perfectly symmetrical
86
+ - Slight asymmetry required
87
+ - Natural skin lines and variations
88
+ - Realistic features
107
89
 
108
90
  LIGHTING & COLOR:
109
- - Natural lighting variation across face - not evenly lit
110
- - Realistic shadows: soft, natural falloff
111
- - Authentic skin tones: natural variation
112
- - Real color temperature: warm or cool
91
+ - Natural lighting variation
92
+ - Realistic shadows
93
+ - Authentic skin tones
113
94
 
114
95
  MATERIAL REALISM:
115
- - Realistic fabric textures and folds
116
- - Authentic hair texture: individual strands, natural movement
117
- - Real material properties: metal reflections, glass refraction
118
- - NO plastic, shiny, or artificial-looking materials
96
+ - Realistic fabric textures
97
+ - Authentic hair texture
98
+ - Real material properties
119
99
 
120
100
  TECHNICAL QUALITY:
121
- - Real camera characteristics: natural depth of field, realistic focus falloff
122
- - Authentic lens effects: subtle distortion, natural bokeh
123
- - Realistic color grading: not over-processed
124
- - Slight camera grain for authenticity
101
+ - Natural depth of field
102
+ - Subtle camera grain
125
103
 
126
104
  STRICTLY PROHIBITED:
127
- - NO digital art, 3D render, CGI appearance
105
+ - NO digital art or CGI
128
106
  - NO symmetry or perfection
129
- - NO over-smoothed, over-processed look
130
- - NO artificial glow, bloom, or atmospheric effects
131
- - NO plastic, wax, doll, or mannequin appearance
107
+ - NO over-smoothed look
108
+ - NO plastic or doll appearance
132
109
 
133
- RESULT: Must look like real photograph with all natural imperfections - NOT digital art or AI generation.`;
110
+ RESULT: Real photograph with natural imperfections.`;
134
111
 
@@ -5,7 +5,6 @@ import { NavigationHeader } from "@umituz/react-native-design-system/molecules";
5
5
  import { ScreenLayout } from "@umituz/react-native-design-system/layouts";
6
6
  import { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
7
7
  import { ResultImageCard } from "./ResultImageCard";
8
- import { ResultActionBar } from "./ResultActionBar";
9
8
  import { SuccessRedirectionCard } from "../../../../presentation/components/result/SuccessRedirectionCard";
10
9
  import { RecentCreationsSection } from "./RecentCreationsSection";
11
10
  import { VideoResultPlayer } from "../../../../presentation/components/display/VideoResultPlayer";
@@ -15,16 +14,7 @@ import { formatMediaUrl, shouldShowRecentCreations } from "./ResultPreviewScreen
15
14
  export const ResultPreviewScreen: React.FC<ResultPreviewScreenProps> = ({
16
15
  imageUrl,
17
16
  videoUrl,
18
- isSaving,
19
- isSharing,
20
- onDownload,
21
- onShare,
22
- onTryAgain,
23
17
  onNavigateBack,
24
- onRate,
25
- onEdit,
26
- onEditVideo,
27
- onShareToFeed,
28
18
  recentCreations,
29
19
  onViewAll,
30
20
  onCreationPress,
@@ -32,9 +22,6 @@ export const ResultPreviewScreen: React.FC<ResultPreviewScreenProps> = ({
32
22
  translations,
33
23
  style,
34
24
  hideLabel = false,
35
- iconOnly = false,
36
- showTryAgain = true,
37
- showRating = false,
38
25
  }) => {
39
26
  const tokens = useAppDesignTokens();
40
27
  const isVideo = Boolean(videoUrl);
@@ -3,6 +3,7 @@ import { View, TouchableOpacity, StyleSheet, StyleProp, ViewStyle } from "react-
3
3
  import {
4
4
  AtomicText,
5
5
  AtomicIcon,
6
+ IconName,
6
7
  } from "@umituz/react-native-design-system/atoms";
7
8
  import { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
8
9
 
@@ -46,7 +47,7 @@ export const SuccessRedirectionCard: React.FC<SuccessRedirectionCardProps> = ({
46
47
  { backgroundColor: tokens.colors.backgroundPrimary },
47
48
  ]}
48
49
  >
49
- <AtomicIcon name={iconName as any} size="xl" color="primary" />
50
+ <AtomicIcon name={iconName as IconName} size="xl" color="primary" />
50
51
  </View>
51
52
 
52
53
  <AtomicText type="titleSmall" color="textPrimary" style={styles.title}>