framework/backend/entry-node.ts | 1 - framework/backend/entry-passthru.ts | 1 - framework/debug.safe.ts | 6 + framework/engine/marko-runtime.ts | 61 +- framework/engine/render.ts | 27 +- framework/esbuild-support.ts | 3 +- framework/hot.ts | 1 + framework/incremental.ts | 3 +- framework/lib/assets.ts | 11 +- framework/lib/async.ts | 223 +------- framework/lib/markdown.tsx | 200 ------- framework/lib/path.ts | 20 +- framework/lib/string.ts | 3 - framework/lib/subprocess.ts | 28 +- framework/marko.ts | 17 +- framework/watch.ts | 29 +- lib/log.test.ts | 3 + lib/log.ts | 100 +++- lib/log/headless.ts | 3 + lib/log/progress.ts | 50 +- lib/log/stack.ts | 11 +- lib/readme.changes.md | 9 + lib/readme.md | 60 +- lib/readme.npm.md | 50 +- lib/string.ts | 5 + package-lock.json | 970 +++++++++++++++++--------------- package.json | 39 +- repl.js | 5 +- src/backend.ts | 6 +- src/file-viewer/backend.tsx | 245 +++----- src/file-viewer/bin/scan3.ts | 373 +++++++----- src/file-viewer/cache.ts | 37 +- src/file-viewer/ffmpeg.ts | 18 +- src/file-viewer/models/MediaFile.ts | 4 +- src/file-viewer/models/derived.ts | 87 ++- src/file-viewer/rsync.ts | 25 +- src/file-viewer/transcode-rules.ts | 123 ++-- src/file-viewer/views/clofi.tsx | 39 +- src/pages/in-the-summer.css | 11 + src/pages/in-the-summer.marko | 40 ++ src/pages/waterfalls.marko | 47 ++ src/pages/waterfalls.tsx | 66 --- src/tags/Video.tsx | 58 -- src/tags/blurhash.tsx | 34 -- src/tags/clover-video.client.ts | 155 +++++ src/tags/clover-video.css | 40 ++ src/tags/clover-video.marko | 57 ++ src/tags/hls-polyfill.client.ts | 29 - src/tags/video.css | 24 - 49 files changed, 1684 insertions(+), 1773 deletions(-)