{ "project_started": "2026-03-28", "decisions": [ { "date": "2026-03-28", "decision": "Abandon `cv2.matchTemplate` panoramic horizon matching.", "rationale": "Repeating music patterns inherently break matching systems without temporal (time-based) anchors. If measures look identical, the algorithm maps current video frames back to old identical measures causing jump-cuts and data loss.", "context": "YouTube guitar tabs almost always follow a linear chronological left-to-right scrolling pattern. Only velocity tracking is needed." }, { "date": "2026-03-28", "decision": "Median filtering for playhead removal.", "rationale": "Animated cursors traversing horizontal staves distort matching distances and visual clarity. Using a Time-Median filter over 5-7 frames permanently erases any rapid-moving objects (like a red cursor) leaving only the static or slowly scrolling background tab notes untouched.", "context": "The user approved the RAM overhead of taking multiple frames." } ], "blockers": [], "current_focus": "Phase 1: CV Core Refactor (video_cv_tracker.py)" }