Skip to content

Database saved-view와 편집 표현 책임을 정본화한다 - #587

Open
developer-1px wants to merge 2 commits into
mainfrom
issue-586-database-canonical-closure
Open

Database saved-view와 편집 표현 책임을 정본화한다#587
developer-1px wants to merge 2 commits into
mainfrom
issue-586-database-canonical-closure

Conversation

@developer-1px

@developer-1px developer-1px commented Aug 26, 2026

Copy link
Copy Markdown
Owner

요약

  • saved-view model과 mutation을 @interactive-os/json-document-editingDatabaseTableView.projection 하나로 통합합니다.
  • DatabaseHandDatabase.ViewToolbar가 같은 DatabaseViewControls를, cell과 record panel이 같은 DatabasePropertyControl을 소비합니다.
  • DatabaseHandChange.updates로 remote patch를 전달하여 full-record JSON.stringify diff를 제거합니다.
  • 선택은 배경, 현재 포커스는 셀의 단일 inset ring으로 구분하여 편집 시 흔들림과 이중선을 제거합니다.
  • API reference, Usage, source implementation closure와 재발 guard를 갱신합니다.

Closes #586

Goal Anchor

  • Outcome: Database의 saved-view, change contract, property control 책임이 각각 하나의 정본 모듈을 통해 확장됩니다.
  • Done: 병렬 saved-view model과 remote patch 역추론을 제거하고 view/property React consumer를 각각 하나의 owner로 수렴하며, 선택·포커스 표시가 layout을 바꾸지 않습니다.
  • Don’t: local document, legacy Zod records, remote resource 사용 사례와 다섯 property type 동작을 깨거나 Host/Demo로 domain 책임을 이동하지 않습니다.

구조

json-document-editing/DatabaseTableView.projection
              │
              ├─ DatabaseEditor
              ├─ DatabaseHand
              └─ Database.Provider / ViewToolbar

DatabaseViewControls ── DatabaseHand + Database.ViewToolbar
DatabasePropertyControl ── Cell + RecordPanel
DatabaseHandChange.updates ── remote operations.update
selection background + cell focus ring ── single visual owner

축소 결과

  • production source: net -142 LOC
  • 전체 diff: net -112 LOC

검증

  • Database 13 tests
  • Editing 72 tests
  • Zod 8 tests
  • Demo source discovery 14 tests
  • Database/Editing/Zod/Site typecheck
  • root build 및 pre-push build
  • API reference check, docs evaluation, canonical closure guard
  • external kit: 17 tarballs, one-package import, typecheck, build, browser
  • Database 및 관련 Site Playwright 통과
  • 실제 Chrome /demo/database: property edit, saved-view projection, 편집 전후 셀 크기 동일, 내부 이중 ring 없음, console error 없음

재발 방지

  • DatabaseViewDocument 병렬 model 금지
  • remote full-record JSON.stringify patch 추론 금지
  • view/property control consumer가 canonical React owner를 우회하지 않는지 검사
  • 선택 상태에서 cell border가 layout을 바꾸거나 내부 control이 별도 ring을 겹치지 않는지 검사

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.

Database saved-view와 편집 표현 책임을 정본 모듈로 수렴한다

1 participant