vidgod/CLAUDE.md
type-two 7911a59186 VIDGOD: local AI video production toolkit
Five CLIs around DaVinci Resolve music-video editing, all inference local
on Apple Silicon (MPS/MLX):
- vg-roto: SAM 2.1 + MatAnyone click-to-cutout -> ProRes 4444 alpha
- vg-index / vg-find: PySceneDetect + mlx-whisper searchable clip library
- vg-beats: librosa beat grid -> Resolve marker EDL
- vg-transcode: legacy codecs -> ProRes LT, deinterlaced, resumable

setup/setup_venvs.sh rebuilds venvs, tool clones, checkpoints and applies
patches/matanyone-cv2-reader.patch (torchvision >= 0.23 removed read_video).
Verified end-to-end on ultra 2026-08-24; setup/smoke_test.sh covers the lanes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 14:17:50 +10:00

26 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# VIDGOD — agent notes
Read README.md first for what the tools do. This file is the stuff an agent needs beyond it.
- **Canonical deploy: `~/Documents/VIDGOD` on ultra** (M1 Ultra 128GB, `johnking@100.91.239.7`).
Remote: `ssh://git@100.71.119.27:222/monster/vidgod.git` (Gitea, tailnet-only URL — never a
public one). The repo is scripts + patches only; venvs/tools/models/library are untracked
and rebuilt by `setup/setup_venvs.sh` (idempotent, resumable, heartbeats to
`~/.jobs/vidgod-setup.status`).
- Paths are **repo-relative everywhere**: bin scripts locate the root via their own location
(`#!/bin/sh` + exec-venv-python polyglot header; don't "fix" line 2 of the python CLIs —
it's what makes them run inside the right venv from any checkout location).
- Verified 2026-08-24 on ultra: all five lanes, including a real SAM2+MatAnyone cutout
(1917 trench demo clip, 2 clicks, matte held over 6s; ~3.4 fr/s at 1920×804 on MPS).
- The MatAnyone torchvision fix lives in `patches/matanyone-cv2-reader.patch`, applied by
setup step 6 (guard: grep CAP_PROP_FPS). Upstream may eventually fix this — if the patch
stops applying, check whether their `read_frame_from_videos` already avoids
`torchvision.io.read_video`, and drop the patch step if so.
- Test with `setup/smoke_test.sh` (fast) / `--roto` (full pipeline). Test media is synthesized
(ffmpeg lavfi + macOS `say`) — nothing copyrighted is committed.
- The clip library sqlite lives at `library/clips.sqlite` **per checkout** — the real library
on ultra is the one that matters; don't index into a scratch clone and expect vg-find on
ultra to see it.
- Fleet context (SSH map, farm, heartbeat convention): `~/.claude/skills/fleet` +
`~/.claude/skills/jobs` on JING5, GODVERSE_GUIDE.md §11 on ultra/JING5.