2.4 KiB
2.4 KiB
| name | description | type |
|---|---|---|
| 화면 표시값과 내부 실질값 분리 | 라벨 흔들림(좌우대칭 1mm 차 등) 수정 시 화면 일관성 우선, 내부 정확도는 별도 보관 가정 | feedback |
화면에 보여주는 라벨이 좌우대칭/같은 라인에서 흔들릴 때, 가장 쉬운 단발 보정 (평균 axis, ratio 통일 등) 으로 화면만 맞추는 방향을 사용자가 선호함. 내부 attribute (planeSize/actualSize 등) 의 절대 정확도는 별도 보관/계산 경로에서 보장된다고 가정.
Why: 사용자 표현 "화면에 보여주는 것이라.. 쉬운 방법을 사용하세요.. 실질적인 라인값은 따로 잘 보관하고 있으면 된다.." (2026-04-29). 좌표 정수화·FP 노이즈로 발생하는 라벨 비대칭은 근본(좌표 round 지점) 추적보다 표시 단계 보정이 ROI 가 높다는 판단.
How to apply:
- 같은 라인이 두 face 에서 다른 라벨이 나오는 류의 비대칭은, face-direction 별 분기에서 axis 를 통일 (예: setActualSize 의 dx/dy 평균 사용) 하거나 표시 캐싱으로 1차 처리
- 내부 attribute 정밀도(0.01) 와 화면 round(정수) 는 분리 유지
- 좌표 round 지점 자체를 추적·수정하는 것은 영향 범위가 크므로 별도 이슈로 분리
- v1 트랙 setActualSize (useLine.js) 비대칭 보정이 적용된 첫 케이스 — 비슷한 케이스에 동일 패턴 재사용
- hip 간 비대칭 (좌우대칭 hip 0.5mm 차, 예: 5048 vs 5048.5) 해결 (2026-04-30):
- 1차 시도: useLine.js axis 정수 round → 효과 없어 롤백 (좌표 drift 가 ×10 증폭 후 sqrt fp 에서 발생, 단일 라인 round 로 안 잡힘)
- 근본 원인: QLine.js:23 toFixed(1) 0.1mm 절단 + setActualSize sqrt fp + Math.round(*2)/2 boundary
- 다운스트림 read 확인: actualSize 가 단순 라벨 아님. usePolygon.js 분할 비율 / useRoofAllocationSetting.js 확장라인 병합 / usePlacementShapeDrawing.js shape 상속 / JSON 저장(DB) 모두 read. → attribute 직접 수정 위험.
- 최종 수정: useText.js changeCorridorDimensionText 에 cross-hip display 통일 post-pass 추가. 대각선 lengthText 만 추출, ±2mm 이내 그룹화, 정수 round 평균값으로 .text 만 통일. line.attributes 는 안 건드림 → 다운스트림 영향 0.
- 추후 근본수정 (QLine.js 정밀도 상향 등) 시 이 보정 제거 가능