@amg555/frameforge-mcp 2.4.2 → 2.4.4

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.
@@ -36,6 +36,7 @@ async function runRender({
36
36
  theme = '',
37
37
  title = '',
38
38
  language = '',
39
+ showCaptions = false,
39
40
  }) {
40
41
  const sm = new StateMachine({ mode: 'file', stateDir: STATE_DIR });
41
42
  const retryPol = new RetryPolicy({ maxAttempts: 2, baseDelayMs: 15000 });
@@ -77,6 +78,7 @@ async function runRender({
77
78
  speed: asset.speed,
78
79
  clipVolume: asset.clipVolume,
79
80
  colorGrade: asset.colorGrade,
81
+ showCaptions: asset.showCaptions !== undefined ? asset.showCaptions : showCaptions,
80
82
  renderWidth,
81
83
  renderHeight,
82
84
  });
@@ -116,9 +116,9 @@ async function runScript({
116
116
 
117
117
  const facts = claims.slice(0, 8).map(c => c.safe_wording || c.claim).join('; ');
118
118
 
119
- // If targetDuration is given, adjust scene count guidance (≈ 5s/scene).
120
- // No ceiling — long-form documentaries, lectures, and podcasts may need hundreds of scenes.
121
- const targetScenes = targetDuration ? Math.max(5, Math.round(targetDuration / 5)) : sceneCount;
119
+ // If targetDuration is given, adjust scene count guidance (≈ 4.5-5s per scene for high retention).
120
+ // No ceiling — long-form documentaries, lectures, and podcasts scale dynamically.
121
+ const targetScenes = targetDuration ? Math.max(8, Math.ceil(targetDuration / 4.5)) : Math.max(sceneCount, 55);
122
122
 
123
123
  const raw = await retryPol.executeStage('Script', async () => {
124
124
  const system = [
@@ -136,7 +136,7 @@ async function runScript({
136
136
  `STYLE: ${style}`,
137
137
  `LANGUAGE: ${language}`,
138
138
  '',
139
- `Write exactly ${targetScenes} scenes (schema_version "2.0.0"). Each scene must have:`,
139
+ `Write exactly ${targetScenes} scenes (schema_version "2.0.0"). High visual pacing: 4-6 seconds per scene (12-25 spoken words). Never write monolithic 30-50s static scenes. Each scene must have:`,
140
140
  'scene_id (integer), schema_version "2.0.0",',
141
141
  'narration (15-35 words in the specified language, spoken aloud),',
142
142
  'caption (3-6 words UPPERCASE, text overlay),',