feat: 격자 에디터 — 좌표로 자유 배치 (패딩된 직사각형) #14

Merged
tyange merged 1 commit from feat/modern-editor into main 2026-09-09 07:55:32 +00:00
Owner

시인이 "여기서 N칸 오른쪽, M줄 아래"처럼 위치를 계산해 활자를 놓게 한다.
스페이스를 직접 세지 않는다.

  • 에디터가 든 문서를 항상 직사각형으로 패딩: 모든 줄 뒤에 공백 +
    아래 12줄 여유 (src/core/rect.ts padRect). → 모든 (행,열)이 이미 진짜
    문서 위치라, 빈 공간 클릭·방향키 이동이 CM6 네이티브 (가로채기 코드 0,
    IME·undo·선택 안전 — 캐럿이 늘 실제 위치)
  • text 진실원천은 trimRect로 clean 유지 (줄 끝 공백·끝 빈 줄 제거).
    흐름 모드·GridPreview·내보내기는 이 문자열을 봄
  • repad: 타이핑이 뻗으면 requestAnimationFrame 디바운스로 직사각형 확장
    (append만, addToHistory:false). 에코 판별은 값 비교(watch가 비동기)
  • 우하단 R:C 좌표 배지
  • src/editor/gridLines.ts 삭제 ("너무 직사각형" 피드백). style.css 죽은
    토큰(--grid-line·--cell-bg·--cell-active·--caret) 정리
  • core/rect.ts 순수 함수 + 테스트 8개 (왕복·멱등)
  • docs: grid-editor.md 재작성, CLAUDE.md 갱신

Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01MfW22NQxomSVmTAQiQCjQu

시인이 "여기서 N칸 오른쪽, M줄 아래"처럼 위치를 계산해 활자를 놓게 한다. 스페이스를 직접 세지 않는다. - 에디터가 든 문서를 **항상 직사각형으로 패딩**: 모든 줄 뒤에 공백 + 아래 12줄 여유 (`src/core/rect.ts` `padRect`). → 모든 (행,열)이 이미 진짜 문서 위치라, 빈 공간 클릭·방향키 이동이 **CM6 네이티브** (가로채기 코드 0, IME·undo·선택 안전 — 캐럿이 늘 실제 위치) - `text` 진실원천은 `trimRect`로 clean 유지 (줄 끝 공백·끝 빈 줄 제거). 흐름 모드·GridPreview·내보내기는 이 문자열을 봄 - `repad`: 타이핑이 뻗으면 `requestAnimationFrame` 디바운스로 직사각형 확장 (append만, `addToHistory:false`). 에코 판별은 값 비교(watch가 비동기) - 우하단 `R:C` 좌표 배지 - `src/editor/gridLines.ts` 삭제 ("너무 직사각형" 피드백). style.css 죽은 토큰(--grid-line·--cell-bg·--cell-active·--caret) 정리 - `core/rect.ts` 순수 함수 + 테스트 8개 (왕복·멱등) - docs: grid-editor.md 재작성, CLAUDE.md 갱신 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MfW22NQxomSVmTAQiQCjQu
feat: 격자 에디터 — 좌표로 자유 배치 (패딩된 직사각형)
All checks were successful
Deploy Palim to AWS (Nginx) / deploy (push) Successful in 2m32s
e111e827dd
시인이 "여기서 N칸 오른쪽, M줄 아래"처럼 위치를 계산해 활자를 놓게 한다.
스페이스를 직접 세지 않는다.

- 에디터가 든 문서를 **항상 직사각형으로 패딩**: 모든 줄 뒤에 공백 +
  아래 12줄 여유 (`src/core/rect.ts` `padRect`). → 모든 (행,열)이 이미 진짜
  문서 위치라, 빈 공간 클릭·방향키 이동이 **CM6 네이티브** (가로채기 코드 0,
  IME·undo·선택 안전 — 캐럿이 늘 실제 위치)
- `text` 진실원천은 `trimRect`로 clean 유지 (줄 끝 공백·끝 빈 줄 제거).
  흐름 모드·GridPreview·내보내기는 이 문자열을 봄
- `repad`: 타이핑이 뻗으면 `requestAnimationFrame` 디바운스로 직사각형 확장
  (append만, `addToHistory:false`). 에코 판별은 값 비교(watch가 비동기)
- 우하단 `R:C` 좌표 배지
- `src/editor/gridLines.ts` 삭제 ("너무 직사각형" 피드백). style.css 죽은
  토큰(--grid-line·--cell-bg·--cell-active·--caret) 정리
- `core/rect.ts` 순수 함수 + 테스트 8개 (왕복·멱등)
- docs: grid-editor.md 재작성, CLAUDE.md 갱신

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MfW22NQxomSVmTAQiQCjQu
tyange merged commit e111e827dd into main 2026-09-09 07:55:32 +00:00
Sign in to join this conversation.
No description provided.