Cross-validation audit by Codex + Opus identified 14 issues:
CRITICAL:
- Fix _find_subdir_ci() prefix match accepting wrong folders (e.g.
Publish_old). Now uses exact case-insensitive match.
HIGH:
- Add pack-sequence CLI subcommand with unambiguous arg parsing.
Deprecate --sequence on pack (nargs='+' consumed the target).
- Fix Windows UNC/drive path normalization in bpathlib.make_absolute()
- Fix ZIP failure losing traceback + progress bar stuck on error
- Fix os.path.commonpath crash on cross-drive paths (new
derive_common_project helper)
- Fix progress bar saturating at 40% during trace (log scale)
MEDIUM:
- Add per-shot error isolation in sequence scan (collect all errors)
- Add memory warning for >50 files in sequence pack
- Improve pack-info.txt with dedup stats
- Wrap single Path in list for old operators (type consistency)
LOW/INFO:
- Document VERSION_RE pattern
- Add TASK_CHOICE_ITEMS empty guard
28 new tests in tests/test_sequence_pack.py, 0 regressions.
Co-Authored-By: Mario Hawat <mario@autourdeminuit.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add --sequence CLI flag to pack multiple blend files together with
shared dependency deduplication
- Add BAT_OT_sequence_pack Blender operator: scan a sequence folder for
latest published blend files, review with checkboxes, pack to ZIP
- Add studio template system (Autour de Minuit, La Cabane Productions)
with configurable folder conventions and task type selection
- Add BlenderProgressCallback for cursor progress indicator during pack
- Add ZIP write start/finish logging
- Deduplicate blend file paths in CLI when positional and --sequence overlap
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The target path is just read as string from the CLI now, to allow more
complex targets (such as URLs) that don't directly map to a path.
The Packer subclass now handles the conversion from that string to a
`pathlib.PurePath`, and specific subclasses & transfer classes can convert
those to a `pathlib.Path` to perform actual filesystem operations when
necessary.