Release Video composition-paths fix

The pipeline has silently failed every release since its creation because the YAML used composition IDs that don't exist in Remotion's registry. This PR untangles the three levels of the onion.

The bug, layer by layer

Layer 1 — the "folder" prefix is fiction

COMP_ID="Production/Landscape-16x9/ReleaseNotes/RN-v${SAFE_VERSION}"
fallback="Templates/TPL-ReleaseNotes"

Remotion Studio's left-panel folder tree is cosmetic only. The CLI's render <id> resolves the bare id attribute — the <Folder name="..."> wrappers are never part of it. Every path-with-slashes has always been a typo.

Layer 2 — no per-version composition ever gets registered

The workflow first tries RN-v${SAFE_VERSION} (e.g. RN-v7600) before falling back to the template. The only per-version registration in Root.tsx is RN-v602, hand-rolled for v6.0.2. Nobody's added new ones. Every release since has cold-started into the fallback.

Layer 3 — the fallback was also wrong AND no square template existed

The landscape fallback said Templates/TPL-ReleaseNotes (still with the fictional prefix). Even worse, the square render fell back to the same landscape ID, relying on --width 1080 --height 1080 overrides to reshape a 1920×1080 composition — that doesn't actually work; Remotion renders at the composition's declared dimensions.

The fix

release-video.yml — use bare composition IDs

# landscape
-  SAFE_VERSION=$(echo "$VERSION" | tr -d '.')
-  COMP_ID="Production/Landscape-16x9/ReleaseNotes/RN-v${SAFE_VERSION}"
-  npx remotion render "$COMP_ID" ... || npx remotion render "Templates/TPL-ReleaseNotes" ...
+  npx remotion render "TPL-ReleaseNotes" \
+    --props=/tmp/landscape-props.json --output=../out/landscape-raw.mp4 ...

# square — same simplification
+  npx remotion render "TPL-ReleaseNotesSquare" \
+    --props=/tmp/square-props.json --output=../out/square-raw.mp4 ...

orchestkit-demos/src/Root.tsx — register the missing square template

<Folder name="Templates">
  ...
  <Composition id="TPL-ReleaseNotes" component={ReleaseNotes} ... />
+ <Composition id="TPL-ReleaseNotesSquare" component={ReleaseNotesSquare}
+   durationInFrames={FPS * 12} fps={FPS} width={1080} height={1080}
+   schema={releaseNotesSquareSchema} defaultProps={releaseNotesV602SquareConfig} />
</Folder>

Local verification (before commit)

StepCommandResult
1npx remotion compositionsconfirms TPL-ReleaseNotes + new TPL-ReleaseNotesSquare both registered
2node scripts/changelog-to-props.mjs 7.60.0 --landscapegenerates valid JSON, 5 highlights from release-please CHANGELOG
3remotion render TPL-ReleaseNotes --props=... --frames=0-291.7 MB MP4 @ 1920×1080, exit 0
4remotion render TPL-ReleaseNotesSquare --props=... --frames=0-291.1 MB MP4 @ 1080×1080, exit 0

So the workflow is one git push away from going green for the first time. Previous releases (v7.58.0, v7.59.0, v7.60.0) will remain video-less — fix is forward-only.