refactor: draw the src/scripts boundary, drop dead files

Make each directory answerable by path alone: src/ is what the Remotion build
compiles, scripts/ is what you run by hand.

Removed:
- `ffmpeg.sh` — never worked; every parameter was assigned `$1`, so bake/bypass
  were broken from the start. Superseded by `scripts/ffmpeg_tools.py bake|still`.
- `src/lrc2srt.ts` — the TypeScript port; `scripts/lrc2srt.py` is the script that
  was actually maintained, and it now handles the multi-timestamp cases the TS
  version did.
- `scripts/bom-gen.ts` — superseded by `scripts/bom_gen.py`.
- `scripts/ffmpegusage.txt` — legacy command notebook. Every recipe in it is now
  reproduced by `ffmpeg_tools.py`, including the `-map 0:v:0 -map 1:a:0 -c:v copy`
  mux and the FLAC `-compression_level 12` case, so it has no unique content left.

Also drops the `bom-gen` alias from the dispatcher (dash-case was TypeScript
naming) and documents the boundary in README.md and REMOTION-QUICKSTART.md.

`npm run lint` (eslint src && tsc) passes with src/ reduced to Remotion input.
This commit is contained in:
2026-09-10 18:18:04 +09:00
parent a1fbd64f87
commit afe397da3f
8 changed files with 31 additions and 296 deletions
+13 -2
View File
@@ -15,10 +15,21 @@ This repo houses the code-like files for NCMR music videos. Binary assets live e
This branch holds the common scaffolding:
- **Remotion project** — entry point, root component, and a placeholder composition
- **`ffmpeg.sh`** — helper for baking ASS subtitles or bypassing with static image + audio
- **`src/lrc2srt.ts`** — legacy LRC → SRT subtitle converter
- **`scripts/`** — Python toolchain (stdlib only) for subtitles, ffmpeg and asset manifests
- **Build config** — TypeScript, ESLint, Prettier, Remotion studio
### `src/` vs `scripts/`
Two directories, two jobs:
- **`src/`** — Remotion input only. Everything here is compiled by `tsc`/Remotion
and linted by `npm run lint`.
- **`scripts/`** — operator tooling. Python, standard library only, run directly
(`python3 scripts/tools.py --help`). Nothing here is part of the Remotion build.
Keep the boundary sharp: anything the video build compiles belongs in `src/`, and
anything you run by hand belongs in `scripts/`.
### Song branches
For each song, create a branch `<song-name>/master` (and optionally feature branches