import json
from pathlib import Path
CP = Path("/Users/manta/Documents/Projects/TheRoad-I1/projects/b0ad5c18-5140-4022-a2b0-805de0e5a385/checkpoints/episodes/0d30302a-51c8-4ac9-98e2-6cd9180512bf/outdoor_site_layout")
m = json.loads((CP / "manifest.json").read_text())
data = m.get("data") or {}
print("cp status:", m.get("status"), "| data keys:", list(data.keys()))
groups = data.get("groups")
items = groups.items() if isinstance(groups, dict) else [(g.get("group_id"), g) for g in groups or []]
ft_stats = {"with": 0, "null": 0, "absent": 0}
for gid, g in items:
    loc = g.get("location_id")
    lay = g.get("layout") or {}
    for lm in lay.get("landmarks") or []:
        ft = lm.get("faces_toward", "ABSENT")
        if ft == "ABSENT":
            ft_stats["absent"] += 1
        elif ft is None:
            ft_stats["null"] += 1
        else:
            ft_stats["with"] += 1
    if loc in ("L10", "L11"):
        print(f"\n=== {gid} loc={loc} members={g.get('member_shot_keys') or g.get('members')}")
        for lm in lay.get("landmarks") or []:
            print(f"  lm: {lm.get('label')!r} kind={lm.get('kind')} faces_toward={lm.get('faces_toward', 'ABSENT')}")
print("\nfaces_toward 통계(전 그룹):", ft_stats)
