flake.lock | 8 +- flake.nix | 10 +- framework/lib/async.ts | 129 +++++++ framework/lib/lru.ts | 2 - framework/lib/path.ts | 149 +++++++- framework/lib/subprocess.ts | 43 +++ src/file-viewer/bin/scan3.ts | 595 ++++++++++++++++++++------------ src/file-viewer/ffmpeg.ts | 28 +- src/file-viewer/models/AssetRef.ts | 73 ---- src/file-viewer/models/MediaFile.ts | 2 + src/file-viewer/models/derived.ts | 157 +++++++++ src/file-viewer/rules.ts | 2 +- src/file-viewer/transcode-rules.ts | 285 ++++++++++----- 13 files changed, 1076 insertions(+), 407 deletions(-)