← 목록
기타 2026-05-27 2KB 읽기 2분

CrownyDoc 도면편집기 Stage 2 잔여 기능 완성

개요

도면편집기 v2의 알려진 한계 3가지를 해결했다.

무엇을 했는지

작업 1: 베지어 컨트롤 핸들

  • DiagramConnector컨트롤1?: [x,y], 컨트롤2?: [x,y] 데이터 모델 추가
  • 곡선/베지어 연결선 선택 시 4개 핸들 표시
  • 초록 원: 시작점·끝점 (이동 불가, 참조용)
  • 파란 원(r=6): 컨트롤1·컨트롤2 (드래그 가능)
  • 컨트롤 점 없으면 자동 S자 기본값 초기화
  • 시작↔컨트롤1, 끝↔컨트롤2 점선 연결 표시
  • 베지어드래그중/ConnID/키 전역 상태로 mousedown→mousemove→mouseup 추적
  • 연결선 종류 변경 시(→직선/꺾은선) 컨트롤 점 자동 초기화
  • 작업 2: 도형라이브러리.한선 (RPN 동반본)

    • /Users/ef/CrownyDoc/도면/도형라이브러리.한선 신규 작성
    • hanseonc_std 정통 RPN 방식
    • 카테고리 7종, 도형 수 각각 저장, 누적 합산, 총합 81 검증 출력

    작업 3: 중첩 그룹

  • 도형bbox() 그룹 케이스 재귀 계산 추가 (자식의 자식까지)
  • 그룹만들기(): 선택된 도형 중 그룹이 있어도 정상 작동, 중첩깊이 메타 기록
  • 언그룹(): 1단계만 해제, 안쪽 그룹 유지
  • 상위 그룹이 있으면 자동으로 자식 목록 갱신 + bbox 재계산
  • Ctrl+G로 그룹 안의 그룹 추가 가능
  • 관련 파일

    • /Users/ef/CrownyDoc/도면/도면편집기.html (2424 → 2580줄)
    • /Users/ef/CrownyDoc/도면/도형라이브러리.한선 (신규, 35줄)
    • /Users/ef/CrownyDoc/도면/도형라이브러리.js (변경 없음, 594줄)

    잔여 이슈

    • 한선씨 컴파일 실행 검증: Bash 권한 없어 미확인 (코드 정합성은 정적 검토 완료)
    • 베지어 핸들: 시작/끝점은 포트 위치에 종속 (도형 이동 시 자동 갱신됨)
    • 중첩 그룹 bbox: 드래그 중 실시간 갱신은 기존 구조와 동일 (mouseup 시 갱신)
    • 연결선 컨트롤 점은 JSON 저장/불러오기에 이미 포함 (데이터 직렬화 그대로)