storyforge 0.17.0 → 0.18.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.
@@ -5663,13 +5663,29 @@ var renderGeminiRemotion = async (shot, ctx) => {
5663
5663
  ...shot.bars ? { bars: shot.bars } : {},
5664
5664
  ...shot.comparisonImage ? { comparisonImage: shot.comparisonImage } : {},
5665
5665
  ...shot.photoFilter ? { photoFilter: shot.photoFilter } : {},
5666
- ...typeof shot.vignette === "boolean" ? { vignette: shot.vignette } : {}
5666
+ ...typeof shot.vignette === "boolean" ? { vignette: shot.vignette } : {},
5667
+ // v11+ template dispatch — picks a cinematic Tier-1 composition.
5668
+ ...shot.template ? { template: shot.template } : {}
5667
5669
  },
5668
5670
  null,
5669
5671
  2
5670
5672
  )
5671
5673
  );
5672
- const compId = ctx.aspect === "9:16" ? "ForgeShotVertical" : "ForgeShot";
5674
+ const TEMPLATE_COMP_IDS = {
5675
+ "hero-number": { h: "HeroNumber", v: "HeroNumberVertical" },
5676
+ "bar-comparison": { h: "BarComparison", v: "BarComparisonVertical" },
5677
+ "stat-row": { h: "StatRow", v: "StatRowVertical" }
5678
+ };
5679
+ const templateComp = shot.template ? TEMPLATE_COMP_IDS[shot.template.slug] : null;
5680
+ const compId = templateComp ? ctx.aspect === "9:16" ? templateComp.v : templateComp.h : ctx.aspect === "9:16" ? "ForgeShotVertical" : "ForgeShot";
5681
+ if (shot.template) {
5682
+ const propsData = JSON.parse(fs4.readFileSync(propsPath, "utf-8"));
5683
+ Object.assign(propsData, shot.template.props);
5684
+ if (!propsData.backdropImage && propsData.imagePath) {
5685
+ propsData.backdropImage = propsData.imagePath;
5686
+ }
5687
+ fs4.writeFileSync(propsPath, JSON.stringify(propsData, null, 2));
5688
+ }
5673
5689
  ctx.progress.emit({
5674
5690
  phase: "compositing",
5675
5691
  shotId: shot.id,
package/dist/index.js CHANGED
@@ -1689,7 +1689,7 @@ Return ONLY the complete updated TSX. No markdown fences, no explanation.`;
1689
1689
  return "0.0.0";
1690
1690
  })();
1691
1691
  void (async () => {
1692
- const { BridgePoller } = await import("./bridge-poller-TOYJEO7S.js");
1692
+ const { BridgePoller } = await import("./bridge-poller-WSSTXFPC.js");
1693
1693
  const poller = new BridgePoller({ baseUrl: bridgeUrl, token: bridgeToken2, clientVersion: `storyforge ${pkgVersion}` });
1694
1694
  poller.start();
1695
1695
  })();
@@ -2512,7 +2512,7 @@ function resolveBridgeToken2(explicit) {
2512
2512
  // package.json
2513
2513
  var package_default = {
2514
2514
  name: "storyforge",
2515
- version: "0.17.0",
2515
+ version: "0.18.0",
2516
2516
  description: "StoryForge \u2014 local bridge for the Forge video production web app. Parallel clip-render orchestrator (Remotion 4 + Manim + HyperFrames + ffmpeg) + final video stitcher + dependency doctor.",
2517
2517
  type: "module",
2518
2518
  bin: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storyforge",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
4
4
  "description": "StoryForge — local bridge for the Forge video production web app. Parallel clip-render orchestrator (Remotion 4 + Manim + HyperFrames + ffmpeg) + final video stitcher + dependency doctor.",
5
5
  "type": "module",
6
6
  "bin": {