- max_preload_mb is now strictly the per-video download cap (default raised
to 2048 MB so a single 4K short clip fits without hitting the wall).
- New max_cache_mb knob caps total client-side cache directory size
(default 750 MB, sized for ~50 short FHD clips). Enforced cooperatively
at start of each /videoPreload download and during the read loop so a
late-arriving large clip can't blow past the cap.
- VideoPlayerConfig.load() now detects missing keys (max_preload_mb,
max_cache_mb, render_distance_blocks) and rewrites the file once with
defaults filled in, so existing servers pick up new options without
having to delete config/video_player.json.
- CachePolicyPayload now carries (maxPerVideoBytes, maxCacheBytes,
renderDistanceBlocks); StreamCodec order: VAR_LONG, VAR_LONG, VAR_INT.
- Client receiver wires both caps into VideoCache; chat errors distinguish
"단일 영상 NMB 초과" vs "전체 캐시 NMB 초과".
- Add dist/ to .gitignore (release artifacts uploaded to Gitea, never
committed).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>