You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix queue overwrite + pause toggle + resolved-path hint
Three fixes around the render queue UX, all driven by a stress test
against the Studio data the user actually had:
1. The "directory-only" output_override bug
Picking a folder via the Output Path browse button stored a value
like "/Users/me/Renders/" — a directory, no filename. The resolver
used it as-is, so Blender treated the trailing slash as a folder
and generated the filename itself (the .blend's name). Every Studio
in a queue overwrote the same file.
Fix: detect directory-like overrides (no {tokens} AND ends with /
or has no extension) and join with a guaranteed-distinct fallback
filename "{studio}_{frame:04d}.{ext}". So /r/ with Studios Hero,
Wide, Detail now resolves to /r/Hero_0001.png, /r/Wide_0001.png,
/r/Detail_0001.png — confirmed via MCP stress test against the
user's real prefs.
Tokens-bearing overrides ("/r/{studio}.{ext}") and explicit-file
overrides ("/r/output.png") are still used as-is.
2. Resolved output path shown in the Stage panel
New "→ <path>" hint under the Output Path field, computed via
resolve_output_path(). Lets the user see where renders WILL land
before they hit Render or Queue — would have caught the directory
bug instantly. Wrapped in try/except so a resolver hiccup never
takes down the whole panel draw.
3. Pause Render Queue toggle
New StagePreferences.queue_paused BoolProperty + Pause/Auto-Process
toggle button at the top of the queue panel. When paused,
queue.monitor._tick() reaps finished workers and refreshes the UI
but skips spawn_next() — the user must use Start Worker to process
one job at a time, or untick to resume auto-processing. Addresses
the "queueing auto-starts" complaint without changing the default
behaviour.
5 new tests in test_render_path_shared.py:
- directory_override_uses_studio_frame_filename
- directory_override_without_trailing_slash_still_treated_as_dir
- directory_override_distinct_per_studio (regression for the queue bug)
- override_with_extension_used_as_is
- override_with_tokens_used_as_is
Total suite: 167/168 (one pre-existing dirty-state reload flake).
0 commit comments