Skip to content

어포던스: Typeahead와 Canvas 부가손을 Hands에 붙인다 - #459

Open
developer-1px wants to merge 8 commits into
issue-454-widget-bindingsfrom
issue-458-hands-typeahead-canvas
Open

어포던스: Typeahead와 Canvas 부가손을 Hands에 붙인다#459
developer-1px wants to merge 8 commits into
issue-454-widget-bindingsfrom
issue-458-hands-typeahead-canvas

Conversation

@developer-1px

Copy link
Copy Markdown
Owner

Closes #458

기반: #455

Order에서 글쇠 prefix로 항목이 점프하고, Canvas에서 마키·팬·스냅·넛지·Escape가 살아 있다.

Goal Anchor

  • Outcome: Order에서 글쇠 prefix로 항목이 점프하고, Canvas에서 마키·팬·스냅·넛지·Escape가 살아 있다.
  • Done: /demo/order/demo/canvas가 위젯과 같은 applyAffordance 호출로 그 손을 쓴다. Typeahead·Escape·Marquee·Pan·Snap·Nudge가 이미 닫힌 손으로 올라간다. 패키지에 새 export가 없고, editor Intent가 늘지 않는다.
  • Don't: Caret·Rename·Resize·Zoom·Scroll·Context menu를 만들지 않는다. Hover·Focus≠Select·Activate·Select all·Alt-드래그 복제·Tree 타입어헤드를 붙이지 않는다. 위젯 라우트를 Hands로 쓰지 않는다. useAffordance를 만들지 않는다. Hands의 클립보드·채우기를 빼지 않는다.

Canonical Mapping

  • Order 타입어헤드 = ListboxWidgetRoutetypeaheadAffordance + 버퍼용 escapeAffordance + selection.set { itemId, mode: "replace" }
  • Canvas 부가손 = CanvasWidgetRoutemarqueeAffordance · panAffordance · snapAffordance · nudgeAffordance · escapeAffordance (forbiddenCursor 제외)
  • 쓰기는 기존 selection.set / object.translate / 호스트 뷰포트·마키 상태
  • 카탈로그 닫힘 = Typeahead, Escape, Marquee, Pan, Snap, Nudge

검증

  • npm run typecheck -w @interactive-os/json-document-site
  • npm run docs:evaluate
  • npm test -w @interactive-os/json-document-site (32 passed)
  • npx playwright test --config site/playwright.config.ts site/tests/browser/editor-slice-demos.spec.ts (8 passed)
  • npx playwright test --config site/playwright.config.ts site/tests/browser/widgets.spec.ts site/tests/browser/editing-demos.spec.ts site/tests/browser/site-shell.spec.ts (passed)

유용태 added 2 commits August 21, 2026 03:10
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