Files
Aislo/docs/raw/plans/2026-07-19_plan_B05_B06_improvements.md
T
eomsangdonandClaude Opus 5 eb30b774f8 chore(docs): docs 폴더 git 추적 전환 · PLAN·OWNERS 최상위 이관
- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록)
- `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록
  — 창끼리 공유하되 저장소에는 안 올리는 장부
- 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠)
- graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 18:19:07 +09:00

5.2 KiB
Raw Blame History

완료 이력 아카이브: B05/B06 개선 (2026-07-19)

본 문서는 docs/raw/PLAN.md에서 완료되어 검증이 끝난 계획 항목들을 이관 보관한 파일입니다.


1. B05 버튼 템플릿화 및 glass variant 신설

수정 배경

  • B05가 자체 button() 헬퍼로 버튼을 만들고, CSS가 존재하지 않는 변수 --color-text-on-primary(테마 실제 변수명: --color-primary-text)를 참조해 primary 배경 버튼 글자가 보이지 않던 문제.
  • B04는 템플릿 createButton(ui-btn)을 사용 중 → B05를 템플릿으로 통일 + 오버레이용 반투명 variant 신설.

대상 파일

  • ui_template/ui_template_elements.ts
  • B05_wf2_Route/B05_wf2_Route_UI_Panel.ts
  • B05_wf2_Route/B05_wf2_Route_UI_Style.css

완료 작업

  • ButtonVariantglass 신설 — 반투명 배경 + blur, hover/is-active 시 primary 배경 + 올바른 텍스트 변수 (.ui-btn--glass)
  • B05 button() 헬퍼를 createButton 위임으로 교체 — 최적 경로 계산=filled(B04 모델 확정과 동일), 경로 확정·재적용·위치 이동=ghost, 삭제=danger, ISO/TOP/FRONT/SIDE·표시 토글·뷰 초기화=glass
  • B05 CSS의 자체 버튼 시각 스타일 및 잘못된 변수 참조 제거, 레이아웃 규칙(뷰 컨트롤 높이 34px, 등고선 행 flex)만 .ui-btn 대상으로 유지
  • npm run typecheck 통과, prettier 적용

2. B06 횡단 반폭 재생성 기능

수정 배경

  • B06 횡단도 폭이 solve 시점 반폭으로 고정되어 표시 옵션으로는 저장 폭 이상을 볼 수 없던 구조적 문제.
  • 섹션 파일 저장 시 이전 실행 cross_*.json 잔재를 지우지 않아 detail 조회(glob)에 폭이 다른 구간(0+15)이 섞여 보이던 결함.

대상 파일

  • B05_wf2_Route/B05_wf2_Route_Engine_Sections.py
  • B06_wf3_ProfileCross/B06_wf3_ProfileCross_Router.py / _Repository.py / _Schema.py
  • B06_wf3_ProfileCross/B06_wf3_ProfileCross_Api_Fetch.ts / _UI_Page.ts
  • ui_template/ui_template_locale.ts

완료 작업

  • 섹션 파일 저장 전 이전 실행 cross_*.json 전체 삭제 (잔재 오염 원천 차단)
  • POST /api/projects/{project_id}/sections/{route_id}/regenerate 신설 — B05 엔진(run_section_generation) 재사용, solve 시점 stage 2 측점 옵션 유지 + 반폭만 교체, 기존 레코드 삭제→재삽입 단일 트랜잭션, 갱신 상세 즉시 반환
  • SectionRegenerateRequest 스키마(>0 검증), get_route_generation_source() 리포지토리 함수 추가
  • B06 프론트: 확정 버튼 옆 재계산 버튼 신설 + 상태 게이트 — 반폭이 적용값과 다르면 [재계산] 활성·[확정] 비활성, 재계산 성공 시 재렌더 + [확정] 재활성 (B05 재탐색 필요 패턴과 동일)
  • 재생성 성공/실패 토스트 및 로케일 키(B06_Profile_Btn_Recalc 등) 추가
  • npm run typecheck·py_compile 통과, ruff format·prettier 적용

참고 (후속 계획과의 연결)

  • 재계산 시 종횡단 상태는 DRAFT로 복귀하며 재확정 필요. stage 3 COMPLETE는 되돌리지 않음 — 단계 차단 대신 자연 전파 구조로 가기로 합의 (상단 신규 활성 작업 참조).
  • 현행 코드는 B05 재solve 시 config 기본 반폭(15m)으로 돌아감 — 상단 "횡단 반폭 DB 단일 소스화" 구현으로 해소 예정.

3. B05/B06 UI 부분 수정

수정 배경

  • 기존 계획서 구현 완료 후 사용자 피드백으로 추가 진행한 부분 수정 이력이다.
  • 다른 AI가 검증 보고서 작성 및 완료 계획 아카이빙 시 본 항목을 함께 이관한다.

대상 파일

  • ui_template/ui_template_overlay.ts
  • ui_template/ui_template_overlay.css
  • B05_wf2_Route/B05_wf2_Route_UI_Profile_Panel.ts
  • B05_wf2_Route/B05_wf2_Route_UI_Style.css
  • B06_wf3_ProfileCross/B06_wf3_ProfileCross_UI_Style.css

완료 작업

  • B05 하단 종단면 패널의 접기/펼치기 버튼을 사이드바 핸들의 90도 회전형 레이아웃으로 변경
    • 하단 패널 상단 중앙에 64×24px 돌출형 핸들 배치
    • 펼침 상태는 아래쪽, 접힘 상태는 위쪽 방향 아이콘으로 표시
    • 접힌 상태에서는 하단 패널 본문을 숨기고 핸들만 유지
  • 사이드바와 B05 하단 패널의 핸들 생성 로직을 공통 컴포넌트로 통합
    • createWorkflowPanelHandle(placement) 공통 함수 신설
    • sidebottom 배치 방향만 수정자로 구분
    • 버튼 생성, 열림 상태, 접근성 속성, 기본 테두리·배경·그림자 스타일 공유
  • 방향별 유니코드 문자 크기 차이를 제거하도록 공통 화살표 아이콘 개선
    • 문자 화살표 대신 동일한 CSS 삼각형 하나를 상태에 따라 회전
    • 사이드바와 하단 패널에서 아이콘 크기와 도형 비율 통일
  • B06 종단도·횡단도 영역에 좌우 여백 추가
    • .b06-sectionpadding-inline: var(--spacing-24) 적용
    • 사이드바 핸들이 도면 축 및 라벨을 가리는 현상 완화
    • 종단도 sticky 및 횡단도 카드 레이아웃 유지

구현 확인

  • 수정 대상 TypeScript/CSS에 Prettier 적용
  • npm run typecheck 통과
  • 수정 대상 파일 git diff --check 통과