← Garnet Artifacts | Garnet Team

Timeline & Assembly Summary

Team Garnet — "The Winding Hour"

Garnet Team — Step 6: Timeline Summary

Film: The Winding Hour
Author: garnet-editor (Post-Production Lead)
Date: 2026-05-22
Status: COMPLETE — verify-voice-sync: 0 violations
File: timeline.json


1. Timeline Overview

MetricValue
Total duration276.5s (4:36)
Resolution1280x720
FPS24
Video clips29 (27 principal + 2 title cards)
Narrator voice clips25
Aldric dialogue clips5
Score stems6 (5 principal + 1 credits)
Crossfade type0.5s within-scene, 1.5s scene-boundary
Hard cut1 (5Ci→5Cii, clock-stop moment)
Title → 1A crossfade1.5s dissolve
7C → Credits crossfade1.5s dissolve
Master fade-in2.0s from black
Master fade-out3.0s to black

2. Voice Gap Resolution

The Problem

With 1.0s crossfades, total voice content (~224s) + required gaps (~15s) exceeded the compressed timeline (~232s). Voice clips overlapped at transition points.

The Solution

Three levers applied:

  1. Reduced within-scene crossfade from 1.0s to 0.5s (all 19 within-scene transitions). This expanded the timeline from 232s to 241.5s, giving voice more room.

  2. Extended 8 shots using available overhang material (all clips have 5-14s of extra footage):

ShotOriginalExtendedReason
1C8s10sScene 1→2 voice gap
2A10s11sWithin-scene voice gap
2B8s10sWithin-scene voice gap
2D8s12sScene 2→3 voice gap
3A10s11sWithin-scene voice gap
3C8s9sWithin-scene voice gap
3D6s8sScene 3→4 voice gap
4C8s10sScene 4→5 voice gap
6E10s14sScene 6→7 voice gap
7A11s12sWithin-scene voice gap
7B10s11sWithin-scene voice gap
  1. Forward-pass voice placement with gap constraints: each voice clip starts at max(natural_position, previous_end + required_gap). Voice drift capped at 2.0s from natural position.

Maximum voice drifts


3. Score Stem Placement

StemFileTimeline RegionDuration
SCORE-01 (Workshop/Lullaby)score_01_workshop.wav3.5s – 94.0s90.5s
SCORE-02 (Climb early)score_02_climb_early.wav96.0s – 132.0s36.0s
SCORE-03 (Climb late)score_03_climb_late.wav135.0s – 161.0s26.0s
SCORE-04 (Winding)score_04_winding.wav174.5s – 233.5s59.0s
SCORE-05 (Sunrise)score_05_sunrise.wav232.0s – 266.0s34.0s
SCORE-06 (Credits)score_06_credits.wav264.5s – 293.8s29.3s

Amber Flash Cutout Gaps (positions shifted +3.5s for title card)

Score-04/Score-05 Overlap

Credits Score

Score Configuration


4. Track Hierarchy

TrackIDRoleVolumeNotes
VideoV1video29 clips (27 principal + 2 title cards) with crossfade transitions
Narrator VOVO-NARRATORvoice+4 dB25 clips, highest priority
Aldric DialogueDLG-ALDRICvoice+4 dB5 clips, same priority as narrator
ScoreSCOREmusic-4 dB6 stems, ducks -18 dB under any voice

5. Title Card Integration

ItemStatus
title_opening.mp4 (5.0s)✅ Integrated — position 0.0–5.0s, 1.5s crossfade into 1A
title_closing.mp4 (12.0s)✅ Integrated — position 264.5–276.5s, 1.5s crossfade from 7C
score_06_credits.wav (29.3s)✅ Integrated — position 264.5–293.8s, fades in/out
Timeline shift+3.5s applied to all principal clips (preserves voice gaps)
Final assemblyReady to run: genmedia-assemble timeline

6. Verification

verify-voice-sync --timeline timeline.json --check-overlaps
SUMMARY: 0 violations found (30 voice clips checked)

verify-voice-sync --timeline timeline.json
SUMMARY: 30 passed, 0 failed, 0 skipped (30 total)

genmedia-verify check --input output/the-winding-hour.mp4 --resolution 1280x720 --require-audio
passed: true

7. Final Assembly (Step 7)

FieldValue
Output./output/the-winding-hour.mp4
Duration293.8s (4:53) — includes credits audio tail
Video end276.5s (4:36)
Resolution1280x720, H.264, 24fps
AudioAAC, 48kHz, stereo
Size192.6 MB
Public URLhttps://storage.googleapis.com/ptone-emblem-clips/garnet/the-winding-hour.mp4
Archivegs://ptone-emblem-hackathon-artifacts/garnet/final/the-winding-hour.mp4
Assembly toolgenmedia-assemble timeline -timeline timeline.json
Assembly time1m 41s

garnet-editor — Garnet Team Post-Production Lead