aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers/specs
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-16 16:38:35 +0200
committerDanilo M. <danix@danix.xyz>2026-10-16 16:38:35 +0200
commit9a2a0c93cc30af979a26d957fef603e2378676be (patch)
tree3f06c2a5961e4bc292de9b58c2ecc6c90feb4c16 /docs/superpowers/specs
parent2e4fa11808ccfd94a5694535b37388e884ed17d0 (diff)
downloadquickshell-9a2a0c93cc30af979a26d957fef603e2378676be.tar.gz
quickshell-9a2a0c93cc30af979a26d957fef603e2378676be.zip
feat(assistant): fileops, the Do row's local operations
One CLI for converting, extracting, merging and compressing staged files, answering with one JSON line. Results are written under a temporary name and renamed to the first free one, so a failure or a stop leaves nothing half written, and a stop kills the tool's whole process group. This ffmpeg has no libx264 and no AAC encoder, so MP4 is H.264 through VAAPI with MP3 audio, and audio extraction copies AAC, MP3 and Opus tracks as they are. The test builds its inputs and checks every result's type. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/superpowers/specs')
-rw-r--r--docs/superpowers/specs/2026-10-16-file-ops-design.md4
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/superpowers/specs/2026-10-16-file-ops-design.md b/docs/superpowers/specs/2026-10-16-file-ops-design.md
index 9f0d7c0..15f12ad 100644
--- a/docs/superpowers/specs/2026-10-16-file-ops-design.md
+++ b/docs/superpowers/specs/2026-10-16-file-ops-design.md
@@ -22,8 +22,8 @@ is overwritten.
| pdf | To .md | (daemon `write`) | the model rewrites it as Markdown into `name.md` |
| pdf | To images | `pdf-images` | `pdftoppm -r 150 -png` into a folder `name (pages)` |
| pdf, 2+ | Merge | `pdf-merge` | `qpdf --empty --pages ... -- merged.pdf`, in staging order |
-| video | Extract audio | `audio` | AAC copied into `.m4a` (`ffprobe` tells), anything else to `.mp3` at `-q:a 2` |
-| video | To MP4 | `mp4` | libx264 + AAC |
+| video | Extract audio | `audio` | the track copied as it is when it is AAC (`.m4a`), MP3 or Opus (`ffprobe` tells), anything else encoded to `.mp3` at `-q:a 2` |
+| video | To MP4 | `mp4` | H.264 on the GPU (`h264_vaapi`) + MP3: this ffmpeg has no libx264 and no AAC encoder |
| video | To WebM | `webm` | libvpx-vp9 + Opus |
| video | To GIF | `gif` | 12 fps, 480 px wide, palettegen + paletteuse |
| video | Trackcrop | `trackcrop` | `trackcrop in out` from PATH; it opens its own object picker window and the op waits for it |