본문 바로가기
C.W.K.
Stream
Lesson 05 of 05 · published

폰 위의 Anvil

~12 min · anvil, draft, phase, phone, pty

Level 0불씨
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

키보드는 작아. 계약은 아니야.

폰의 Anvil 은 맥과 같은 준비 정책을 써. 초안은 PTY 밖에 남아. 복사하고, 확인하고, 붙여넣고, Enter 를 눌러. 앱은 줄바꿈을 합성하지 않아. 새로 시작, 이어가기, 복사만은 여전히 이름 붙은 정책이지 분위기가 아니야. 안정된 실행, 자리, 세션 바인딩은 보이는 것과 아직 맞아야 해. 낡은 단계는 여전히 거절돼. 기차가 움직인다고 폰이 자동 붙여넣기를 받지는 않아. 자동 붙여넣기는 여전히 모델 모양 쓰기다. 트랙 4 가 데스크톱에서 이 선을 지켜서, 주머니가 더 느슨한 선을 발명하는 대신 상속하게 했어.

준비는 에뮬레이터가 아니라 네이티브 뷰에 살아. 보는 판은 자리의 PTY 고, 이미 대화 중일 수 있어. 초안은 실행에 대한 문서야. 그 정체성은 여전히 같지 않아. "Anvil 을 열었으니 뜻이 있겠지" 붙자마자 붙여넣는 주머니는, 자리 A 의 프롬프트를 자리 B 의 페이저에 제출하는 주머니야. 유리가 작아서 실수를 놓치기 쉽지, 값이 싸지 않아.

낡은 단계는 거절해

Anvil 실행에는 단계가 있어. 준비로 찍힌 초안은 이미 심판으로, 또는 나중 라운드로, 또는 놀고 있음으로 옮긴 자리의 초안이 아니야. 잠금 뒤의 폰은 낡은 단계를 붙들기 특히 좋아. 초안은 주머니에 있고, 실행은 맥에서 움직였고, 돌아와 보니 뷰는 아직 제출할 일처럼 보여. 거절해. 불일치를 이름 붙여. 운영자가 우기면 복사는 하게 하되, Enter 를 대신 누르지는 말고, 이 단계가 더 이상 그 단계가 아니라고 하는 배지를 숨기지 마.

낡음은 창구의 사실이지 텍스트에 대한 짐작이 아니야. 바인딩(이 실행, 이 자리, 이 세션 id, 이 생애)을 비교해. 초안 첫 줄로 맞추는 건 같은 단어로 시작하는 다시 쓰인 프롬프트를 받는 길이야. 바인딩으로 맞추는 건 산문이 익숙해도 실행이 움직인 걸 알아채는 길이야.

먼저 구경꾼, 그리고 초안

폰에서 Anvil 을 열어도 호스트 세션에서는 Take Control 전까지 구경꾼이야. 준비 뷰는 보는 동안 보여도 돼. 보내면 안 돼. 조종을 잡고, 붙여넣고, Enter 는 맥에서와 같은 이음이야. 키보드는 더 나쁘고 의무는 같아. 지원 안 되는 하네스는 지원 안 되는 채로 남아. 폰이 "춤을 못 추니까" CLI 인자로 자동 제출되지 않아. 춤을 정직하게 못 추면 그 하네스는 주머니 하네스가 아니야.

Firebrand 의 놀고 있던 이어가기가 폰에 나타나도 이 정책을 입어. 호스트 일 이어가기 표면이 두 번째 작성창이 되지 않아. 옆에 초안이 있는, 호스트 작성창으로의 창이 돼. 복사는 돼. 플러시는 안 돼. 지난 레슨의 키 입력 큐는 이 초안이 아니야. 이 초안은 Enter 를 못 눌러. 다른 뷰에 둬서, 재연결이 저장하려던 생각이랑 제출하려던 생각을 혼동하지 못하게 해.

폰에서도 같은 준비 정책: 초안은 PTY 밖에, 낡은 단계는 거절. 작은 키보드가 자동 붙여넣기나 자동 Enter 의 허가가 아니야. 낡음은 첫 줄이 아니라 바인딩이 정해.

Code

주머니 Anvil, 같은 이음, 추가된 낡음·text
phone Anvil view
  draft (run, seat, phase, session id, incarnation)
  copy button
  warn if bindings != pane.bindings
  refuse (badge, no Enter-for-you) if phase is stale
  still may copy if operator insists

pane (host PTY)
  spectator until Take Control
  then paste is a human act
  then Enter is a human act

# Stale examples
  draft.phase = prepare,  run has moved to judge
  draft.session = S1,     daemon incarnation changed
  draft.seat = author,    pane is now judge

# Still forbidden, now in a pocket
  auto-paste on attach
  auto-Enter because keyboard is annoying
  CLI-argument submit for unsupported harnesses
  flushing an offline keystroke queue into this draft's Enter

External links

Exercise

자리 Author 의 준비 단계 초안이 주머니에 있어. 맥에서 실행은 심판으로 옮겼어. 잠금을 풀어. 봐야 할 배지, 아직 되는 행위(복사? 붙여넣기? 대신 Enter?), 그래도 붙여넣겠다면 정직한 Take Control 순서를 써. 되는 행위에 대신 Enter 가 있으면 폰은 맥보다 느슨한 계약이야.
Hint
배지가 단계 불일치를 이름 붙여. 복사는 남을 수 있어. Take Control 뒤 붙여넣기는 네 몫이야. Enter 도 네 몫이야. 앱은 줄바꿈을 어느 쪽도 안 내밀어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.