# ApproachLink 후보 설계

## 변경 경계

- 시험 후보1개다. R4/R5의 자기 어깨/머리 근접 억제는 사용하지 않는다. 기존 직접/회전/발/근접 규칙의 수치와1초 누적창·공간 대응·Event 정책은 유지한다.
- 변경하는 것은 후속 근거가 인용하는 첫 접근의 승인·만료·연결 조건이다. 첫 접근이 승인되지 않아도 현재 직접/회전 규칙을 통과한 근거 자체는 기존대로 남긴다. 따라서 직접 규칙으로 발생하는 오판까지 해결한다고 가정하지 않는다.
- 같은 쌍 token·slot·관절·상대와 root를 구분한다. 기존 연결 reset, 실제 참조 변경, 시간 역행은 첫 근거 연결을 초기화한다. 복잡한 ID 복원이나 새 Tracking은 없다.

## 실제 관측에서 추가하는 값

- 기존 약0.1/0.2초 특징의 input_start/input_end에 정확히 대응하는 저장 body 좌표를 사용한다. 새 샘플링·보간·추론은 없다.
- 시작/종료 모두 유효한 상대 머리 관절0~4와 몸통 선분5-6/5-11/6-12/11-12를 후보로 두고, 시작 시 손/발 끝에서 가장 가까운 부위 하나를 고른다. 동일한 관절/선분으로 시작거리와 종료거리를 계산한다.
- 거리는 해당 시점 상대 bbox 높이로 정규화하고 기존 몸통0.055/머리0.065 여유를 유지한다. 부위가 바뀌어 최소거리 값만 작아지는 것을 첫 접근으로 인정하지 않는다.
- 끝 관절과 자기 root의 상대 벡터는 해당 시점 자기 bbox 높이로 정규화한다. 새로운 최소 관절 수나 score 필터는 추가하지 않는다. 상대 부위·기준 관절이 부족하면 연결 근거 부족을 기록한다.

## 첫 접근 승인

- 기존 직접/회전 규칙의 seed 자격을 통과하고, 같은 부위까지의 거리 감소가0.025 이상이며 자기 root 대비 실제 관절 변위가0.06 이상이면 한 구간으로 승인할 수 있다.
- 한 구간이 약하면 동일 관절/상대/root/부위의0.30초 이내 실제 관측2개 이상에서 같은 출발점부터 현재까지의 순 거리 감소0.025·순 변위0.06을 확인한다. 겹치는0.1/0.2초 구간의 이동량을 더하지 않는다.
- 두 lag의 동시 통과나 방향 일치를 일괄 요구하지 않는다. 같은 현재 관측의 복수 lag는 관측1개로 센다. 새로운 실제 접근만 첫 근거를 갱신하며 후속 회수 자체는 수명을 늘리지 않는다.

## 후속 연결

- 승인된 첫 근거의 실제 시각부터 기존0.6초 이내만 사용한다. 해당 관절/상대 관측 간격은0.30초 이내로 제한하고 누락시간을 행동 근거로 누적하지 않는다.
- 기존 ARM_RETURN/LEG_RETURN 자격을 먼저 확인한 뒤, 같은 상대 부위로 실제 거리 감소0.01 이상인 접근 지속 또는 첫 접근 방향과 반대(cos<=-0.15)이면서 관측된 최소거리에서0.015 이상 멀어진 회수만 인정한다.
- 회수 전 해당 부위의 관측 최소거리는 기존 near 범위 안이어야 한다. 물리적 타격·접촉 성공을 증명하는 조건이 아니며2D 관측상의 접근/회수만 뜻한다.
- 현재 관측과 인용한 첫 근거는 별도 시점이어야 한다. 다른 관절/사람의 첫 근거를 빌리지 않는다. 기존 현재 규칙·누적 관측·표시 유지·새 Event를 분리해 진단한다.
- 후속 이동을 측정한 구간의 시작은 첫 근거 승인 시각보다 앞서지 않아야 한다. 두 lag 중 하나가 이 조건을 통과하면 사용할 수 있으며 첫 접근 이전 움직임을 회수량에 섞지 않는다.
- q는 Frame별 출력 칸이며 영구ID가 아니다. 기존 B의 쌍/slot 공간 대응을 재사용하고 참조가 바뀌면 첫 근거를 다시 확인한다. 최종 직접 근거의 관측 수 계약은 보존하며 후속 연결은 해당 관절의 실제 첫 근거를 별도로 요구한다.

## 비교와 한계

- 후보 조건은 실제32입력 결과를 보기 전에 고정한다. 기능 오류 수정 외 수치 탐색을 하지 않는다.
- 최신 feedback.json은 평가에만 쓰고 엔진에는 전달하지 않는다. Cxx/L02 중첩은 독립 사례로 합산하지 않는다.
- 직접/회전 오판이 남거나 후속 감지 손실이 클 수 있다. 이 후보가 R4/R5보다 우수하다고 가정하지 않으며 비교 후 영상 제작도 자동 시작하지 않는다.
