import django, os, json
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
django.setup()
from apps.editor.models import Project

p = Project.objects.get(pk=25)
draft = p.editor_draft or {}
seqs = draft.get('sequences', [])
seq = next((s for s in seqs if s.get('id') == 'editorial-approved-1775801543726-thematic-14-67066'), None)

adjs = seq.get('clipDisplayAdjustments', {})
manual_ids = seq.get('manualClipDisplayBlockIds', [])

# Get full keyframe data for blocks with keyframes
for mid in manual_ids:
    a = adjs.get(mid, {})
    port = (a.get('byAspect') or {}).get('portrait', {})
    fit = port.get('fit', {})
    kfs = fit.get('cropKeyframes', [])
    if kfs:
        print(f"Block: ...{mid[-20:]}")
        print(f"  baseCropRect: {json.dumps(fit.get('cropRect'))}")
        print(f"  keyframes ({len(kfs)}):")
        for kf in kfs:
            print(f"    {json.dumps(kf)}")
        print()
