80db17d4638815b596e114e4b842b486edcac2cf
**실사고(2026-09-07)** — 사용자 공용 브라우저에서 **소단을 한 건 놓자 화면이 25분 넘게 멈춤** (렌더러가 1.4코어를 계속 태움). 서버(파이썬)로 같은 측점을 돌리면 0.01초에 끝나 **서버는 멀쩡**했고 화면만 물렸음. **원인** — `cut_profile_points` 의 무릎(암 경계 교차) 가지에서 **제자리 뒤집기**. 암 경계선의 기울기가 **암 경사와 토사 경사 사이**면 · 토사로 바꾸면 다음 걸음이 경계 **아래** → 「다시 암」 · 암으로 바꾸면 다음 걸음이 경계 **위** → 「다시 토사」 가 되고, 이때 보간 비율 `share` 가 0 이라 `knee_dist == dist` — **한 걸음도 안 나감.** `while dist < limit` 이 끝나지 않음. `multi_knee` 는 **소단이 있으면 항상 참**이라 소단이 지뢰였음. **고침 둘**(파이썬·TS **같은 모양**) 1. **앞으로 나아가는 무릎만 인정** — 직전 무릎 자리를 들고 있다가 같은 자리(1e-9 이내)면 뒤집지 않고 한 걸음 감. **첫 무릎은 종전대로 인정**되므로 `multi_knee=False`(소단 없는 경로)는 한 비트도 안 바뀜 — 그쪽은 첫 뒤집기 뒤 가지 자체가 닫힘. 2. **걸음 수 상한 40,000**(정상 최대 4,000의 10배). 넘으면 **조용히 자르지 않고 경고**를 남김 — 조용히 자르면 절토선이 짧아진 채 값이 나가 또 조용히 틀림(25 지적). **시험 5건**(`tmp/tests/test_berm_knee_progress.py`) — 경계 기울기를 두 경사 사이에 둔 재현으로 ① 8초 안에 끝나는지 ② 거리가 뒤로 안 가는지 ③ 소단 없는 경로가 종전 그대로인지 ④ 두 파일이 같은 규칙을 쓰는지 ⑤ **TS 를 실제로 돌려 파이썬과 꼭짓점 수·끝점이 같은지**. 고치기 전에는 ①이 무한 대기였음. 전체 **491 passed · 17 skipped**, `tsc --noEmit` 통과. 버그를 낸 창(25)과 확인하고 진행함 — 겹치는 작업 없음. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Aislo
Aislo 웹앱
Languages
Lasso
99.4%
Python
0.3%
TypeScript
0.3%