feat(635-4): B05 흐린 다른 세트 겹 · 이음점 셈 · 키트 붙기 칸(요구 546 · 547)

- 새 logic/B05_Profile_PlanContext.ts — 흐릴 세트(내 것 빼고) · 이음점(남 세트 끝) · 받을 때 이어진 이음점 · 벗어남 안내 · 이름표 자리
- 새 B05_Profile_UI_PlanContext.ts — plan-context 실시간 읽기 · 옅은 선 + 세트 이름표 · 누름 칸 없음(보기만)
- 키트 · 긋기 · 고르기 snaps 덧칸 — 긋기 · 노드 끌기가 이음점에 붙기만
- 기능 표 others 줄(B05 보기만)
- 시험 test_635_4(6)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-01 12:23:28 +09:00
co-authored by Claude Opus 5.5
parent 499f2fb7ec
commit 23059f598b
7 changed files with 338 additions and 2 deletions
@@ -52,6 +52,8 @@ export interface PlanKitParams {
/** 마지막 서버 세트 셈(왼쪽 세트 줄 덩이 수 · 고친 뒤 = null). */
sets?: () => ReadonlyArray<{ key: string; parts: number }> | null;
points?: PlanKitPoints;
/** 이음점(B05 흐린 다른 세트 끝 · 635-4) — 긋기 · 노드 끌기 붙기만. */
snaps?: () => Vertex[];
/** 페이지 키(되돌리기 · 다시하기 · 재기 끔) — 긋기 · 고르기보다 먼저. */
onKey?: (event: KeyboardEvent) => boolean;
cards: {
@@ -87,6 +89,7 @@ export function createPlanKit(params: PlanKitParams): PlanKit {
const draw = createPlanDraw({
page,
base: points?.list,
snaps: params.snaps,
network,
heightAt,
commit,
@@ -95,6 +98,7 @@ export function createPlanKit(params: PlanKitParams): PlanKit {
const edit = createPlanEdit({
network,
base: () => points?.list() ?? [],
snaps: params.snaps,
commit,
heightAt,
show: params.show,