블로그
Tactic Remote 1.12 설계: 레이아웃이 바뀌어도 작업을 이어 가는 방법
답변 읽기부터 요구 사항 추가까지. 1.12가 패널을 배치하고 작업 맥락을 유지하며 터미널 크기와 입력을 조율하는 방법을 살펴봅니다.

휴대폰에서 Claude Code나 Codex 작업을 확인할 때 답변은 다음 행동의 시작이기도 합니다. 테스트 결과를 읽고 화면을 펼쳐 프로젝트를 확인한 뒤 요구 사항을 더합니다. 다른 앱으로 이동해 오류를 복사하고 돌아올 수도 있습니다.
우리는 이런 행동을 기존 작업의 흐름 안에서 이어 갈 수 있게 하려 합니다. Tactic Remote 1.12는 대화를 어디에 유지할지, 프로젝트 맥락을 어디에 둘지, 화면이 바뀔 때 전송 중인 텍스트를 어떻게 처리할지에 집중합니다.
읽고 있는 답변에서 시작하기
이미지에 나온 날짜 내보내기 작업의 추가 지시는 다음과 같습니다.
기존 설정을 유지해 주세요. 날짜가 비어 있을 때의 내보내기 문제를 수정하고 회귀 테스트를 추가해 주세요. 결과를 먼저 보고한 뒤 커밋 여부를 결정하겠습니다.
접힌 외부 화면에서는 지시와 답변을 읽는 일이 먼저입니다. 좁은 뷰는 대화에 대부분의 공간을 주고 프로젝트나 세션을 찾을 때 서랍을 엽니다. 읽기와 쓰기는 현재 대화에서 이어지고 보조 정보는 필요할 때 나타납니다.
여기서 레이아웃이 변할 때 유지해야 할 것도 정해집니다. 현재 대화, 쓰다 만 초안, 읽던 위치, 열어 둔 패널입니다. 1.12는 크기가 바뀌어도 이 뷰 상태를 유지해 화면을 펼친 뒤의 행동이 직전 행동과 이어지도록 합니다.

접은 Duo 시뮬레이터의 바깥 화면에서 1.12를 실행한 모습입니다. 대화는 예시 데이터이며 에이전트 작업을 실행하지 않았습니다.
작업 공간은 가까이, 답변에는 읽을 여유를
답변을 읽고 나면 프로젝트와 브랜치를 함께 보고 싶을 수 있습니다. 펼친 내부 화면에서는 왼쪽에 작업 공간, 오른쪽에 대화를 둘 수 있습니다. 날짜 내보내기 예에서는 export-dates 세션과 브랜치가 답변 옆에 있어 추가 테스트 지시의 맥락을 보여 줍니다.
평평하고 공간이 충분한 뷰에서는 작업 공간에 사이드바 너비를 주고 나머지를 대화에 할당합니다. 시스템이 활성화된 세로 접힘 영역을 알려 주면 그 영역을 기준으로 나눕니다. 프로젝트 목록을 구별할 수 있어야 하고 대화에는 한 문단을 읽을 여유가 필요합니다.
펼친 이미지는 이 관계를 보여 줍니다. 왼쪽은 작업 맥락, 오른쪽은 계속 읽는 메시지입니다. 다른 세션을 선택하면 작업이 바뀌고, 사용 가능한 공간이 바뀔 때는 현재 세션의 내용과 입력 상태를 유지합니다.
완전히 펼친 Duo 시뮬레이터의 안쪽 화면입니다. 대화, 작업 공간, 사용량은 예시 데이터이며 에이전트 작업을 실행하지 않았습니다.
지금 사용할 수 있는 공간으로 결정하기
접기, 펼치기, 회전, 창 크기 변경은 모두 뷰가 실제로 사용할 수 있는 공간을 바꿉니다. 1.12는 현재 컨테이너의 크기와 시스템의 접힘 정보를 바탕으로 레이아웃을 정합니다. 읽을 만한 패널이 들어갈 공간이 있으면 나란히 배치하고, 좁으면 서랍을 사용합니다. 가로 접힘 영역이 활성화되어 있고 위아래 공간이 충분하면 대화와 제어 영역을 상하로 나눌 수도 있습니다.
iPad 창에도 같은 방식을 적용합니다. 좁아진 창에서 두 패널을 유지할 수 있는지는 그 순간의 공간에 따라 달라집니다. 패널 배치는 창을 따르고 기존 작업 맥락은 남습니다.
접힘 영역은 구체적인 제약도 만듭니다. 제어 요소는 시스템이 지정한 영역을 피해야 합니다. 이 위치로 간격을 정하고 크기가 바뀌어도 콘텐츠 뷰의 정체성을 유지해, 뷰를 다시 만들 때 초안과 포커스, 읽던 위치에 미칠 영향을 줄입니다.
터미널이 넓어지면 기존 출력도 다시 그리기
대화는 새 너비에 맞춰 재배치할 수 있지만 터미널은 문자 열 수라는 관계를 더 갖고 있습니다. 휴대폰의 뷰가 넓어지면 컴퓨터에도 새 열 수를 전달해야 이미 표시한 출력을 그 너비로 다시 그릴 수 있습니다.
기기를 펼치거나 사이드바를 움직이는 동안 여러 중간 크기가 생깁니다. 크기 요청을 동시에 보내면 컴퓨터에 다른 순서로 도착해 터미널이 중간 너비에 머물 수 있습니다. 1.12는 요청을 하나씩 보내면서 최신 크기를 계속 반영하고 너비가 안정되면 현재 터미널 화면을 새로 고칩니다.
키보드는 다른 경우입니다. 보통 보이는 행 수만 바뀌고 열 수는 유지됩니다. 높이만 바뀔 때는 스트림을 유지해, 표시 행 수의 변화만으로 발생하는 재연결을 줄입니다.
텍스트 전송 중에는 새로 고침을 기다리기
긴 붙여넣기는 여러 조각으로 터미널에 도착합니다. 그 도중 기기를 회전하거나 패널을 열면 입력을 끝내는 일과 출력을 새 너비에 맞추는 일을 조율해야 합니다.
1.12는 순서를 명확히 합니다. 대기 중인 키 입력과 붙여넣기를 먼저 끝내고 너비 변경에 따른 화면 새로 고침을 진행합니다. 터미널 스트림을 너무 일찍 다시 만들어 아직 보내지 못한 입력을 취소하지 않도록 합니다.
세 번째 이미지는 네이티브 터미널과 키보드 제어부입니다. 대화 뷰는 지시와 답변을 읽기 위한 것이고 터미널 뷰는 원시 출력과 터미널 키 입력을 위한 것입니다. 두 뷰 모두 같은 컴퓨터 작업을 따라갑니다. 입력창 정렬과 사이드바 간격 조정도 다양한 크기에서 이 영역을 정돈합니다.

Duo 시뮬레이터에서 캡처한 네이티브 터미널입니다. 출력은 로컬 예시 데이터이며 에이전트 작업을 실행하지 않았습니다.
돌아왔을 때 연결 상태를 명확하게
연결이 끝나기 전에 오류를 복사하려고 앱을 떠나는 등 다른 행동이 작업 흐름에 끼어들 수 있습니다. 1.12는 백그라운드 진입 시 완료되지 않은 연결 시도를 취소합니다. 앱이 전경을 떠난 뒤 연결이 완료되는 상황을 피하고 백그라운드에서 새 시도도 시작하지 않습니다.
돌아오면 현재 연결과 최신 출력으로 상태를 알 수 있습니다. 에이전트 프로세스는 컴퓨터에서 독립적으로 실행되며, 확인과 제어에는 컴퓨터, 네트워크, 프로세스가 사용 가능해야 합니다. 프로젝트 신뢰 또는 로그인 안내에서 기다리고 있다면 에이전트 대기 상태 가이드를 참고할 수 있습니다.
컴퓨터 컴패니언도 함께 맡는 세부 사항
휴대폰은 출력 표시와 입력을 맡고 컴패니언은 이를 터미널과 에이전트에 연결합니다. 이번 Mac/Linux 컴패니언은 중국어와 이모지 같은 멀티바이트 문자가 읽기 경계에 걸릴 때의 처리와 터미널 화면 복원 시 커서 위치도 개선합니다. 세션 복원, 에이전트 시작 또는 대기 중 입력 처리, 중복 알림 개선도 포함됩니다.
이 변경 사항은 사용하는 컴패니언 설치를 업데이트해야 적용됩니다. Mac 앱을 쓰면 내장 서비스를 포함한 앱을 업데이트하고, 독립 CLI를 쓰면 해당 설치를 업데이트합니다. Windows는 별도 Preview 일정으로 업데이트합니다.
플랫폼별 현재 버전은 다운로드 페이지에서 확인하세요. Windows는 Preview 버전으로 계속 제공됩니다. 1.12 개요.


