# P8 Inc3-B — Immobilized pose sketch (visual anchor) 설계 브리프

작성: Claude, 2026-06-24. 상태: **Codex 의논 중 (초안)**. 사용자 새 방향(2026-06-24)
= 실내 immobilized 연결샷 자세를 텍스트(Inc3-A 한계)가 아니라 **마네킹 형태 시각
anchor**로 락. outdoor composition guide 코드 재사용. **시나리오/인물/소품/장면
문구 하드코딩 절대 금지**(코딩·프롬프트 전부 — [[feedback-no-scenario-specific-coding]]).

## 문제 (Inc3-A 천장)
sh8(medium establishing)↔sh13(insert, 손만)은 같은 순간 시신(C04 dead)인데
`camera_relation=different_camera`라 zoom crop(zoom_continuity_anchor)이 안 뜸 →
sh13은 shot_dependency_t2i `zoom_in_detail` ref로 sh8 완성 프레임을 image1로 받지만
nb2가 prompt-only lock(Inc3-A)을 충분히 안 지킴. VLM 3회: support surface 3/3
일치(맨바닥 점프 소멸), hand-object contact 2/3(1/3 grip drift) = prompt-only 천장.

## outdoor 재사용 자산 (정독 완료)
- `outdoor_site_layout_provider.generate_composition_brief` — gemini text: scene
  action + 좌표 spatial summary → 인물 배향/환경요소 brief.
- `outdoor_site_layout_provider.generate_composition_sketch` — gpt-image-2 i2i
  primitive(`location_floor_plan.generate_floor_plan_image` 래핑): brief →
  마네킹(ball-joint articulated, no face) + Loomis head(facing 명시) 스케치 PNG.
  `_SKETCH_TECH` = 마네킹/Loomis 텍스트.
- `outdoor_site_layout_step.attach_composition_guide_ref` + `COMPOSITION_GUIDE_LABEL`
  — nb2 ref 부착(마네킹을 실제 옷입은 인물로 치환, pose/머리방향 SOT, 환경 복사 금지).
- `prompt_service.resolve_ref_roles` role `composition_guide` — 부착 라벨 렌더.
- 마네킹 figural sketch를 ref 채널로 쓰는 것은 outdoor에서 검증됨 (top-down map은
  무력 = clay 교훈이지만 same-viewpoint figural sketch는 작동).

## P8 Inc1 immobilized group (이미 보유 — 재사용 기반)
`visual_continuity_anchor` cp groups[anchor_type=immobilized_subject]:
```
group_id: vca-s{si}-{sid}-immobilized
members: [{scene_index, shot_index, role: close_insert|environment}]
locked_elements: [evidence-backed visual facts]
subject_anchor: {character_short_id, subject_state, shared_state_contract,
                 per_shot_visible_focus: {str(shot_index): visible_focus}}
```
contract/locked_elements는 이미 **이름 금지·evidence-backed·pose SOT**.
loader `load_immobilized_subject_anchor_context` → anchors_by_group + members_by_shot.

## 제안 설계 (generic, 시나리오 토큰 0)
1. **생성** (visual_continuity_anchor_step._execute, imm_group 빌드 후):
   group당 1장 pose sketch(gpt-image-2). 단일 immobilized figure를 마네킹/Loomis로
   + support surface + held/adjacent object를 단순 도형으로 contact point에. 좌표
   불필요(contract가 pose SOT). sh8 frame 렌더 비의존 = order-independent.
   sketch prompt = generic(_SKETCH_TECH 재사용 + single-immobilized-figure 변형).
2. **저장**: `visual_continuity_anchor/immobilized_pose_sketches/{group_id}.png` +
   manifest group에 `pose_sketch_path`(rel).
3. **로더**: `load_immobilized_subject_anchor_context`에 `pose_sketch_path`(abs) 추가
   (anchors_by_group[gid]).
4. **부착**: coordinator(`_resolve_scene_refs` 류)에서 새 helper
   `attach_immobilized_pose_sketch_ref` — group 멤버 전 샷에 sketch ref append, 새
   role `immobilized_pose_guide`. Inc2-b dead-variant ref(외형/state) + Inc3-A
   image1(환경 연속성) + Inc1 text contract와 **별개 채널**.
5. **prompt_service 새 role** `immobilized_pose_guide`: 마네킹의 pose/limb/
   support-surface contact/hand-object contact EXACT 재현; identity/face/clothing/
   state는 char ref+본문(마네킹 아님); framing은 insert면 visible part만 매칭;
   마네킹/joint/construction line/환경 복사 금지.
6. **flag** `immobilized_pose_sketch_enabled`(default OFF) +
   `immobilized_pose_sketch_model`(gpt-image-2). gate = visual_continuity_anchor_enabled
   AND immobilized_subject_continuity_enabled AND pose_sketch_enabled.

## 의논 포인트 (Codex 입력 대기)
- **Q1 brief**: deterministic(contract+locked_elements를 sketch-prompt에 조립, 추가
  LLM 0) vs 별도 gemini brief 콜(마네킹 geometry 명시화). Claude lean = deterministic.
- **Q2 hand-object granularity**: 마네킹 손 coarse(손가락 X) → held object를 단순
  도형으로 contact point에 그리는 augment로 충분한가? 최약 링크.
- **Q3 Inc3-A 관계**: ADD(보완) vs sketch=pose SOT면 Inc3-A image1-pose-lock 완화?
  3중 pose 신호 충돌 우려.
- **Q4 단일 full-body 마네킹 공유**: insert(sh13 손만)에 같은 마네킹 공유 OK?
  per-shot framing crop 불필요(per_shot_visible_focus가 프레임 분담)?
- **Q5 clay 교훈 정합성**: 마네킹 figural sketch는 same-viewpoint라 무관(검증 채널).

## 검증 계획
flag ON 재시작 → visual_continuity_anchor redo(sketch 생성 manifest evidence) →
S12 sh8/sh13 still regen → VLM(자세/contact/support surface 픽셀 일치) + 갤러리 육안.
acceptance = Inc3-A 대비 hand-object contact 개선(2/3 → 목표 3/3).

## 미커밋/scope
P8 Inc1 + Inc2-a + Inc2-b + Inc3-A 미커밋. Inc3-B는 별도 scope. 커밋 사용자 GO 전 금지.
