Skip to content

표 스키마와 편집 계약을 Sheet 정본으로 통합 - #790

Merged
developer-1px merged 2 commits into
feat/787-canvas-sheetfrom
feat/789-sheet-contract
Sep 14, 2026
Merged

developer-1px merged 2 commits into
feat/787-canvas-sheetfrom
feat/789-sheet-contract

Conversation

@developer-1px

Copy link
Copy Markdown
Owner

표의 타입·검증이 Editing에 있고 빈 표 생성이 앱과 Canvas에 나뉘어 있던 책임을 Sheet Document로 통합합니다. Bear·Canvas·독립 Sheet는 같은 스키마와 편집 계약을 사용하고 입력 프로파일과 Hand 표현을 조합합니다.

Closes #789
기반 PR: #788 (feat/787-canvas-sheet). 이 PR은 병합하지 않고 후속 변경으로 제출합니다.

변경

  • @interactive-os/json-document-sheet-document가 Zod 4 스키마, 추론 타입, 검증, 빈 표와 행·열 생성을 소유합니다. 기존 JSON의 ID·확장 속성은 유지하며 새 표 생성은 공통 ID 규칙을 사용합니다.
  • 독립 편집과 Markdown/Object 연결이 planSheetIntent를 함께 사용합니다. 부모 연결의 임시 SheetEditor/자식 History를 제거하고 부모 문서에 원자적으로 한 번 적용합니다. 선택 이동과 동일 값 편집은 부모에 쓰지 않습니다.
  • 공통 SheetEditor가 ready/missing/invalid/readonly 상태를 노출합니다. 실패한 쓰기는 다음 선택에 반영하지 않으며 Hand는 사용할 수 없는 표의 편집 진입과 남은 draft를 정리합니다.
  • owning API 문서, 실행 Usage, Source, 아키텍처·문서 타입 위치와 실제 API 라우트를 등록합니다. 기존 Editing의 타입·생성 함수 export는 정본 재노출로 유지합니다.

검증

  • npm run build, Editing·Sheet Document 테스트 타입 검사와 사이트 타입/가드 통과.
  • Sheet Document 스키마 9개, Editing 표·Markdown 25개 및 외부 문서/선택/클립보드 계약 88개, Canvas 97개 통과.
  • Chrome 제품 흐름 14개 통과: Bear 원문 Undo와 인라인 편집, Sheet 범위·붙여넣기·리사이즈·로컬 저장, Canvas 표 생성·내장 편집·부모 Undo·JSON 저장, API 직접 진입과 Usage 이동. 편집 전후 셀 형태와 아이콘 액션도 검증합니다.
  • workspace 37개, 아키텍처 37개 소유자/4개 앱 그래프, API 1325개 export, 문서 및 Pages 빌드·평가·HTTP 검증.
  • 사이트 단위 검사는 최초 330/332 통과 후 등록 누락 1건을 수정하고 집중 검사로 확인했습니다. API 렌더링 1건의 15초 시간초과는 기준 커밋에서도 재현되었고 현재 변경에서는 단독 실행으로 통과했습니다. 간헐적인 시간초과를 안정적 전체 통과로 표기하지 않습니다.

기존 Chrome 연결 도구가 없어 Playwright Chrome으로 검증했습니다. 저장소 정책에 따라 원격 전체 CI는 실행하지 않았습니다. 형제 Sheet 저장소의 미커밋 작업은 변경하지 않았습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant