Skip to content

fix(cli): render with no -o writes to the project's renders folder from any directory - #6766

Merged
miguel-heygen merged 1 commit into
mainfrom
fix/render-default-output
Oct 30, 2026
Merged

miguel-heygen merged 1 commit into
mainfrom
fix/render-default-output

Conversation

@miguel-heygen

@miguel-heygen miguel-heygen commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

What

hyperframes render with no -o now writes to <project>/renders/, whatever directory the command was started from.

Why

The default output folder was resolve("renders"), relative to the process working directory. Started from a directory that is not the project (a launcher whose cwd is /), the banner showed /renders/<project>_<timestamp>.mp4 and the render failed with ENOENT: mkdir '/renders'.

Related work

No open PR touches the default output path.

How

createRenderPlan builds the default directory from project.dir, the same folder Studio and clean already treat as the renders folder. Run from inside the project the path is unchanged.

Test plan

  • Unit tests added/updated
  • Manual testing performed
  • Documentation updated (if applicable)
  • Comments follow CONTRIBUTING.md "Comments"

fails without the fix: with resolve("renders") restored, the new test writes the default output under the project's renders folder whatever the cwd is fails with Received: "/renders", and the HLS default-path test fails too.

What I measured

plan.test.ts: 41 passed with the fix; 2 failed with it reverted (above). oxlint and oxfmt clean on the changed files.

What I did NOT execute

A full hyperframes render end to end, and hyperframes cloud render, which still defaults to ./renders of the working directory.

Size

Under 100 lines on purpose: a render with no output path fails today, so this ships alone rather than waiting for a larger change to carry it.

@heygengenesis heygengenesis Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: APPROVE · 0 blocker · 0 important · 0 nits · head 266a6224

The fails without the fix: line holds. With resolve("renders") restored, the new test fails with Received: "/renders" and so does the HLS default-path test. 41/41 pass at the head. The default now matches the folder Studio (studioServer.ts:626) and clean already use. Note the visible change: hyperframes render ./proj started from the parent directory now writes to proj/renders/ instead of ./renders/.

Scope / CI

Grepped every other "renders" default in cli and studio-server. cloud render still writes under the working directory, as the body says; batchRender.ts:160 affects only the empty-batch fallback. All CI is green. The required Windows engine-cli lane first hit the known audio/read/read.test.ts 20 s timeout in an untouched test, and rerun --failed passed.

@miguel-heygen
miguel-heygen added this pull request to the merge queue Oct 30, 2026
Merged via the queue into main with commit aa094f3 Oct 30, 2026
165 of 167 checks passed
@miguel-heygen
miguel-heygen deleted the fix/render-default-output branch October 30, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant