feat(render): 5 quality tiers (360p–4K) + ETA on render page; 24h session
- Render page: resolution picker now 360p/540p/720p/1080p/4K; live ETA
('تقریباً … باقی مانده') computed from progress rate; preview+progress bar already wired.
- render-schemas: resolution enum + RESOLUTION_DIMENSIONS add 360p/540p.
- render-jobs.mapQuality: 5-tier → render_quality (Low/Medium/High/Full).
- Session: Jwt__AccessTokenMinutes=1440 (24h) via compose so logins persist
(refresh middleware + 30d refresh token back it up).
(Real per-tier output height still pending: render-svc r_height is hardcoded 1080 →
node ffmpeg scale — next.)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -37,11 +37,16 @@ export interface RenderJobRow {
|
||||
|
||||
// ── Helpers ──────────────────────────────────────────────────────────────────
|
||||
|
||||
/** Map frontend resolution string to V2 quality enum. */
|
||||
/** Map frontend resolution string to V2 render_quality enum (Low/Medium/High/Full/Lossless). */
|
||||
function mapQuality(resolution: string): string {
|
||||
if (resolution === "4K") return "Full";
|
||||
if (resolution === "720p") return "Medium";
|
||||
return "High"; // 1080p default
|
||||
switch (resolution) {
|
||||
case "360p": return "Low";
|
||||
case "540p": return "Medium";
|
||||
case "720p": return "Medium";
|
||||
case "1080p": return "High";
|
||||
case "4K": return "Full";
|
||||
default: return "High";
|
||||
}
|
||||
}
|
||||
|
||||
/** Map V2 step → legacy status for frontend compatibility. */
|
||||
|
||||
Reference in New Issue
Block a user