Commit Graph
15 Commits
Author SHA1 Message Date
eomsangdonandClaude Fable 5 d93bd6e28d feat(B06): 횡단 반폭 개편·개별 반폭·재계산 통합 + 측구 방향 확정 동기화
2026-08-06 사용자 지시 일괄 구현:

반폭 체계:
- 초기 샘플 반폭 config 기본 20m(SECTION_CROSS_HALF_WIDTH_M 15→20) —
  표시 반폭이 이 안이면 재계산 없이 표시만 자름(기존 crossPlotMetrics)
- 재계산 버튼 삭제, [전체 측점 반영]이 반폭 적용 담당: 축소=표시만(즉시),
  확대(보유 샘플 폭 초과)=regenerate 후 상세 재로드
- regenerate에 grade_options 재구성 추가 — 계획선(profile_alignment)까지
  함께 재계산·저장. 예전 재계산 버튼이 계획 횡단도선·유토곡선·테이블을
  지우던 근본 원인 해결(B04 파일입력 파이프라인과 같은 엔진 경로 재활용)
- 높이 배율 옵션 폐지(항상 1), 반폭 입력은 표준 횡단면 설정의
  [전체 측점 반영] 위로 이동(Standard_Panel extraControl)

개별 반폭(카드):
- 카드 하단 ◀/▶/↺(±1m·전역 복귀), 암 경계 그룹 우측 정렬. 숫자 표시 없음
- 개별값 > 전역값 우선(StationWidthControl). 세션 보관, 확정·임시저장 시
  cross_patches(design.display_half_width_m)로 영구 저장 → 재접근 복원
- 프리뷰·단건 설계 재계산이 이 필드를 이월해 지우지 않게 보강
- 방위각 표기 삭제

측구 방향 확정 동기화(13측점 보고):
- B05 경로확정 uphill 병합 시 저장 횡단 설계도 새 방향으로 재계산·저장
  (sync_uphill_overrides_into_designs) — 정본만 갱신하면 B06 표시와
  역반영(ditch_side→uphill_side)이 옛 방향으로 순환 덮어쓰던 문제 해결
- 절/성토 역할은 엔진이 지형에서 자동 판정(정상) — 사용자 지정 대상인
  측구 방향(ditch_side)이 정확히 동기화됨을 13측점 실측 확인

실측: 축소/확대/개별 조절/저장 복원/확정 동기화/B05 하단 패널 정상,
tsc·ruff·prettier 통과, 콘솔 에러 0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 19:48:00 +09:00
eomsangdonandClaude Opus 5 f4f56069b0 feat(B05/B06): 유토곡선 횡단 기준 통일·자동선정 삭제·계획선 R 연결 외 9건
사용자 피드백 반영(2026-08-03 2차).

유토곡선 일원화
- B05 유토곡선을 B06과 같은 계산(computeMassHaulSeries: 횡단 정식 + 종단 개략
  비교)으로 전환. 상세 조회가 미지정 측점에 기본 설계를 즉석 계산해 얹으므로
  B05 진입 시점에 이미 정식 곡선 재료가 있다. 표시 토글 sessionStorage 키와
  balloon 위치 scope를 B06과 공유해 두 화면이 같은 그림을 유지한다.
- B05 전용 개략 엔진(computeLongitudinalMassHaul) 삭제.
- 유토곡선 펼침 시 종단 그래프:곡선 세로 1:1 분할.

사토장·토취장 자동 선정 삭제
- 임도에는 토취장이 없고 부족분은 설계자가 계획선을 고쳐 맞춘다는 실무 판단에
  따라 4옵션(비용/지형안정성/계곡부/임내공간) 엔진·API·UI·config·저장 훅 전부
  제거. massHaulPayload/createMassHaulLegend 시그니처 원복.

기본 지반 변경
- 기본 설계 프리뷰·확정 기본값을 토사에서 리핑암 + 예상 암반 경계 0.5m로 변경.
  산지 절토는 표토 아래 암이 일반적이라 전량 토사 가정은 물량이 낙관적이다.
  발파암은 B06에서 측점별 수정.

계획선 R·선 연결 (배관 구조물 자리)
- 계획선 샘플이 고정 격자로만 평가되어 격자 사이 변화점(배관 측점 승격분)의
  모서리를 잘라먹던 결함 수정 — 샘플 집합에 PVI·BVC·EVC를 합집합으로 포함
  (프론트 buildAlignment + 서버 build_alignment 동일 규칙). 면적 가중치도
  합쳐진 격자로 재계산. 37.3m 변화점 + R=150 수치 검증 통과.

표시 개선
- EP(종점) 잔량 라벨: 곡선 끝점에 "EP {누가토량}㎥" 불투명 판(B05·B06 공통).
- 유토곡선 0선을 붉은 굵은 실선(2.5px)으로, 0 눈금값도 적색.
- 3D 뷰 [측점 가로선] 우측 [측점 라벨] 토글 신설(기본 꺼짐) — 구조물 측점만
  "측점번호 구조물명" 스프라이트 표시.

typecheck·vite build·ruff·B03 테스트 통과. 실서버 스모크로 리핑암 기본 프리뷰와
disposal-sites 제거 확인.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 19:54:37 +09:00
eomsangdonandClaude Opus 5 6c90c26eef feat(B05): 계획 유토곡선 이관 + 사토장·토취장 4옵션 자동 선정
절·성토 균형은 종단 시공계획고로 정해지고 사토장 위치도 계획고를 다시 끌어야
정리되므로, 계획용 유토곡선과 부지 선정을 B05로 옮겼다. B06은 실측 단면적으로
낸 정식 곡선과 확정·B08 인계를 맡는다.

B05 계획 유토곡선
- _UI_Profile_MassHaul.ts: 종단면 패널 안 2차 하단 슬라이드. 펼치면 12행 도면
  테이블 자리를 곡선이 대신 차지한다. 곡선 SVG를 종단 그래프와 같은 가로
  스크롤러 안 형제로 넣고 MassHaulAxis에 LONG_PAD + originOffset을 넘겨 X축을
  종단 chainageMapper와 일치시켰다.
- computeLongitudinalMassHaul(): 횡단 설계가 없는 계획 단계용 개략 엔진. 표준횡단
  노반폭을 전 구간 공통으로 물린다. 종단 기반 토량은 국내 기준상 노선계획 개산용
  이므로(2026-08-03 조사) 표준단면까지 씌워 정밀화하지 않는다.

사토장·토취장 자동 선정
- B05_wf2_Route_Engine_Disposal.py + POST /route/disposal-sites: 노선 corridor
  DEM 격자를 훑어 후보 부지를 추리고 옵션별 점수로 정렬한다. 기준 4가지 —
  비용(최단거리+하향 운반), 지형안정성(완경사·계곡 이격), 계곡부(계곡 축 매립),
  임내 공간(라이다 수고 기반 공터). 기준값 정의처는 DISPOSAL_SITE_CRITERIA.
- _UI_Profile_Disposal.ts: 범례 줄의 [토량 분배]와 [도형 위치 초기화] 사이에
  구분기호와 함께 라디오 토글 4개. 부지 카드에 위치·용량·운반거리와 기준별 근거값,
  측점·용량 사용자 정의 편집과 복원. 후보 부족으로 남은 토량은 경고로 알린다.
- 확정 시 종단 정본의 disposal_sites에 심는다(기준 미선택이면 저장분 삭제).

B06 연동
- common_util_mass_haul_sites.ts: 저장된 부지를 정식 곡선의 잔량 위치 기준으로
  운반거리를 다시 재 표시하고 mass_haul.disposal_sites로 B08에 넘긴다.

미구현(계획서에 남김): 토취장 토질 판정(지반유형이 B06 산출물), 계곡부 암거 연장.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 19:06:46 +09:00
eomsangdon 42de855ab3 260725_0 2026-07-25 08:16:43 +09:00
eomsangdon 7b453d7a46 B06_개선 시작 2026-07-24 20:47:22 +09:00
eomsangdon 4b14e64782 260723_2 2026-07-24 14:53:09 +09:00
eomsangdon 61a86d806e 260722_B05_종단 설계 반영 초안 2026-07-23 18:54:32 +09:00
eomsangdon 6781b405d8 계획노선 추가 2026-07-20 19:51:20 +09:00
eomsangdon 52778784de 260719_3 2026-07-19 10:45:22 +09:00
eomsangdon 14ba5f96b7 260719_0 2026-07-19 00:19:59 +09:00
eomsangdon eed809748b 260718_9 2026-07-18 23:59:28 +09:00
eomsangdon cb86e4b40f 백엔드 로그 추가 2026-07-18 18:31:21 +09:00
eomsangdon 050a5a2ba3 B05 페이지 초안 2026-07-18 17:48:51 +09:00
eomsangdon b98affbf99 260710_1 2026-07-10 19:01:33 +09:00
eomsangdon 3abc2edba6 260705_2 2026-07-05 21:27:23 +09:00