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 저장/불러오기에 이미 포함 (데이터 직렬화 그대로)