fix(blender-run): unique remote job dir per local path, mirrored with --delete
draupnir review: the remote job dir was keyed on the basename alone, so two local dirs with the same name shared one remote dir, and a rerun inherited stale files. The dir is now <basename>-<8 hex of sha256(abs path)>, and it is mirrored with rsync --delete, confined to that one directory. There is no rm on a computed path. Verified: a file deleted locally is gone from the rerun's remote dir. The /defaults stderr line is documented as harmless noise.
This commit is contained in:
@@ -24,10 +24,11 @@ scripts/blender-run -- --python-expr 'import bpy; print(bpy.app.version_string)'
|
||||
```
|
||||
|
||||
- Always adds `-b --factory-startup --python-exit-code 1`. Arguments go after `--`.
|
||||
- **Files:** fv-ml1 does not mount `/mnt/smithy`. `--job DIR` copies DIR to
|
||||
`fv-ml1:/tank/blender/jobs/<name>/`, runs with that as the working directory, and copies
|
||||
new or changed files back into DIR. Nothing is deleted on either side. Use relative
|
||||
input paths inside the job.
|
||||
- **Files:** fv-ml1 does not mount `/mnt/smithy`. `--job DIR` mirrors DIR to
|
||||
`fv-ml1:/tank/blender/jobs/<basename>-<hash of DIR's absolute path>/`, runs with that as
|
||||
the working directory, and copies new or changed files back into DIR. Nothing is ever
|
||||
deleted locally, and a rerun starts from an exact mirror, never from leftovers. Use
|
||||
relative input paths inside the job. Do not run the same DIR twice at once.
|
||||
- **Engines headless (tested 2026-09-28):** Cycles on GPU (OptiX/CUDA), Cycles on CPU, EEVEE
|
||||
(EGL, no display needed, ~9 s with the shader compile on first use), Workbench. In 5.2 the
|
||||
EEVEE id is `BLENDER_EEVEE` (`BLENDER_EEVEE_NEXT` is gone). For Cycles GPU, set
|
||||
@@ -44,7 +45,9 @@ scripts/blender-run -- --python-expr 'import bpy; print(bpy.app.version_string)'
|
||||
sets it.
|
||||
- `render.filepath` must be **absolute**. Blender does not resolve a relative output path
|
||||
against the working directory ("cannot save 'out.png'"). Importers and Python file I/O do.
|
||||
- "HIPEW initialization failed" on stderr is harmless: it is the AMD backend probing.
|
||||
- Harmless stderr noise: "HIPEW initialization failed" (the AMD backend probing), and "Failed to
|
||||
create secure directory (/defaults): Operation not permitted" (the image's runtime-dir setup
|
||||
running as a non-root user; reported by draupnir 2026-09-28).
|
||||
- The first OptiX render in a process includes about 1-2 s of kernel load.
|
||||
|
||||
## blender-mcp (agents)
|
||||
|
||||
Reference in New Issue
Block a user