From 0d6d15cd5b416c1c5e537b7b6e0cc2a282699f87 Mon Sep 17 00:00:00 2001 From: Kenta Mori Date: Wed, 9 Sep 2026 09:56:30 +0900 Subject: [PATCH] feat: keep decimals in --at timestamp labels, add --name for a stable montage file name - format_ts: fractional seconds (e.g. --at 3.5) render as M:SS.d instead of being truncated to M:SS, so two pinpoint frames inside the same second stay distinguishable in burn-ins and montage cell labels. Integer input is unchanged. - --name NAME: write the montage as /.jpg instead of the run-id suffixed default. Rejects path separators; a trailing .jpg is accepted. Re-runs overwrite the file, which is what pipelines want. - README and --help updated; smoke tests for both. Claude-Session: https://claude.ai/code/session_01XQ8xsAfAFY4JANNooHJTax --- README.md | 7 +- docs/project-audit.md | 306 ++++++++++++++++++++++++++++++++++++++++++ tests/smoke.sh | 17 +++ vshot | 31 ++++- 4 files changed, 356 insertions(+), 5 deletions(-) create mode 100644 docs/project-audit.md diff --git a/README.md b/README.md index 3e36169..d11bb88 100644 --- a/README.md +++ b/README.md @@ -114,12 +114,16 @@ vshot video.mp4 --scene --montage # Stricter scene detection (fewer frames) vshot video.mp4 --scene 0.5 --montage -# Pinpoint extraction — re-examine specific moments (seconds, decimals OK) +# Pinpoint extraction — re-examine specific moments (seconds, decimals OK; +# fractional times are labelled with one decimal, e.g. 0:03.5) vshot video.mp4 --at 3.5,12,48 --mode detail --montage # Fixed grid columns (useful for portrait videos) vshot video.mp4 --montage --cols 4 +# Stable montage file name for pipelines (re-runs overwrite it) +vshot video.mp4 --at 3.5,12,48 --montage --name review + # Machine-readable result for pipelines vshot video.mp4 --montage --cleanup --json | jq -r .montage ``` @@ -135,6 +139,7 @@ vshot video.mp4 --montage --cleanup --json | jq -r .montage | `--scene [N]` | Extract only scene-change frames (0.0-1.0) | 0.3 | | `--at LIST` | Extract at specific times in seconds (e.g. `3.5,12,48`) | — | | `--cols N` | Montage grid columns | auto | +| `--name NAME` | Montage file name (no directory, `.jpg` added) — stable names for pipelines | `