1.4 KiB
| name | description | type |
|---|---|---|
| 2차 마루이동 ridge 클릭불가 보강 | useMovementSetting [type] effect 에서 roof.innerLines 외에 canvas 레벨 ridge 직접 조회로 selectable=true 보강 | project |
증상: 1차 마루이동 성공 → 2차 팝업 오픈 시 ridge 클릭해도 선택 안됨. mouseMove 마다 [MV-TRACE] selectedObject.current=null → skip 무한 발생.
원인: useMovementSetting useEffect [type] 에서 roof.innerLines.forEach 로 ridge selectable=true 설정. drawHelpLine 으로 ridge 재생성된 후 innerLines 가 stale 인 케이스에서 새 ridge 가 selectable=false 로 남음 → fabric selection:created 미발화 → currentObjectState/selectedObject.current null 유지.
수정: 기존 roof.innerLines 반복 경로는 그대로 두고(정상 케이스 유지), 그 직후 canvas.getObjects().filter(name===RIDGE) 로 ridge 직접 조회 → selectable=true 보강. 누락 시만 효과, 정상 시 동일 set 재호출로 부작용 없음.
Why: 사용자 보고 "두번째는 마우스로 아무리 움직여도 마루이동이 안되는 경우가 있다". roof.innerLines 동기화 타이밍이 깨지는 케이스를 canvas 레벨 fallback 으로 흡수.
How to apply: ridge 클릭→선택 동작이 다시 안되면 useMovementSetting.js [type] useEffect 의 canvas 레벨 ridge selectable 보강 블록 확인. 추가 라인 (onesideFlowRidge/yosemune) 도 마루이동 대상이라면 같은 자리에 추가.