"타깃을 완벽하게 잡았어. 그다음 기다렸어. 그 기다림이 모든 게 틀어질 수 있는 데야."
캡처는 우아했어 — 여기가 그 가장자리야
Track 3 은 타깃 캡처를 해결된 것처럼 느끼게 했어: 포커스된 요소, 선택된 텍스트, 범위를 읽고, 끝. 깨끗했어. 근데 그 캡처 전체가 내려침 에 일어나 — 그다음 Flint 은 브레인이 생각하기를 기다려야 해. 추론은 진짜 시간, 흔히 초를 걸려. 네가 찍은 우아한 스냅샷은 삽입할 답이 생길 즈음이면 이미 과거인 순간의 사진이야. 캡처의 가장자리는 정확히 여기야: 의도-시점의 진실을 말해줬고, 효과-시점에 대해선 아무 말도 안 해.
기다리는 동안 뭐가 일어나
기다림은 죽은 시간이 아냐; 사용자의 세상이 계속 움직이는 창이야. 다른 창을 흘긋 보고 포커스가 흘러가. 클릭하고, 선택이 무너져. 알림이 포커스를 훔쳐. 탭을 닫거나, 앱을 아예 전환해. 선택된 텍스트가 딴것에 편집돼. 이 중 뭐든 네 스냅샷을 낡게 만들어 — 잡아둔 앱, 요소, 선택이 더는 커서 앞에 있는 게 아냐. 그리고 Flint 은 텍스트를 교체 하려는 참이라, 낡은 스냅샷으로 행동하는 건 엉뚱한 데 삽입하는 것만이 아니라; 엉뚱한 내용을 덮어쓸 수 있어, 되돌릴 수 없게.
t0 내려침 캡처 { app, pid, element, selection, range }
|
| <-- 간격: 추론 실행 (초).
| 포커스 흘러갈 수 / 선택 바뀔 수 /
| 창 닫힐 수 / 앱 전환될 수.
|
t1 답 변환된 텍스트 준비됨
|
v 삽입 전에: 스냅샷이 아직 참인가?
예 -> 정확히 캡처한 선택을 교체
아니오 -> 증명 못 하는 타깃을 덮어쓰지 마; 클립보드
스냅샷은 사실이 아니라 주장이야
그래서 정신적 전환은 이거야: Flint 이 찍은 스냅샷은 행동할 수 있는 사실이 아냐 — 한때 참이었고 다시 믿기 전에 재확인해야 하는 세상에 대한 주장 이야. 잡아둔 타깃을 '사용자가 의도한 것' 으로 다루고, 삽입 시점의 세상을 여전히 동의할 수도 안 할 수도 있는 별개의 것으로 다뤄. 삽입의 일 전부는 둘을 비교하고 맞을 때만 행동하는 거야. 그래서 캡처가 아니라 삽입이 제일 위험한 계층이야: 캡처는 읽고; 삽입은 써, 진실이 만료될 수 있는 간격을 건너.