표·차트 설정과 저장 경계
표에서 보이는 모든 정보가 Markdown 한 파일에 저장되는 것은 아니다. Glif는 교환 가능한 원본과 Glif 전용 표현 의도를 분리한다. 이 구분을 알면 “값은 남았는데 줄무늬가 사라졌다”거나 “차트는 보이는데 원문에 차트 데이터가 없다”는 상황을 정확히 진단할 수 있다.
저장 위치 한눈에 보기
| 정보 | 정본 | Glif 밖에서의 의미 |
|---|---|---|
| 셀 값 | Markdown pipe table | 그대로 읽을 수 있음 |
| 행·열 순서 | Markdown pipe table | 그대로 읽을 수 있음 |
| 열 정렬 | GFM separator token | 지원 Markdown renderer에서 반영 |
| 수식 literal | Markdown cell | 원문 보존, 계산 표시는 consumer 범위 |
| 줄무늬 | projection profile | Glif 표현 설정 |
| 고정 열 너비 | projection profile | Glif 표현 설정 |
| 셀 병합 span | projection profile overlay | 기본 Markdown에는 병합 없음 |
| Chart type·source table·sourceRange | projection profile intent | 원본 표를 참조하는 Glif 보기 |
| 현재 선택·popup·drag | runtime memory | 저장되지 않음 |
1. 표 메뉴에서 구조 작업을 찾는다
표와 셀의 context menu는 즉시 실행하는 구조 작업을 소유한다.
- 표 서식 정리
- Markdown·CSV·TSV 복사
- 표 삭제
- 행·열 추가, 복제, 제거
- 직사각형 셀 병합·해제의 빠른 action
이 메뉴는 지속 설정의 전체 목록이 아니다. 열 너비, zebra, 선택 열 정렬과 Chart intent를 찾으려면 info zone을 연다.
아래 화면처럼 표 더보기에는 선택·편집 중 즉시 실행할 작업만 모인다. 메뉴를 닫아도 상태를 계속 유지해야 하는 표시 설정은 여기서 찾지 않는다.

영상은 셀 선택 → F2 편집 → Esc 선택 복귀 → 표 더보기 열기 순서다. 포인터를 쓰지 않을 때도 먼저 표 안의 셀에 focus를 둔 뒤 같은 메뉴를 열어야 현재 표가 작업 대상으로 연결된다.
2. 표 info zone에서 지속 설정을 바꾼다
- 줄무늬 행을 켜거나 끈다.
- 현재 열의 정렬을 선택한다.
- 열 너비를
auto또는 px 숫자로 정한다. - 직사각형 선택을 병합하거나 해제한다.
- 표 전체 또는 선택 범위를 Chart 참조로 저장한다.
설정 뒤에는 Source와 projection을 번갈아 확인한다. 정렬은 separator token을 바꿀 수 있지만 zebra와 고정 너비는 pipe table에 전용 comment를 새로 만들지 않아야 한다.

줄무늬와 고정 너비는 .glif projection profile에 쓰이고 화면에 즉시 반영된다. 아래 예제는 legacy 160px 설정을 읽은 뒤 info zone에서 240px로 바꿔 profile write를 완료한 상태다.

직사각형 병합에서 둘 이상의 셀에 값이 있으면 Glif는 임의로 값을 버리지 않는다. 취소, 내용 합치기, covered cell 값 삭제 중 하나를 명시적으로 고른다. 이 선택지는 병합 결과의 의미를 정하며, 병합 모양 자체는 profile overlay에 남는다.

3. 고정 열 너비의 구조 변경 gate를 이해한다
고정 숫자 너비가 있는 열을 추가·삭제·복제·이동하면 profile의 열 index도 다시 계산해야 한다. Glif는 Markdown rewrite와 profile writeback을 하나의 guarded action으로 처리한다.
- 둘 다 성공하면 구조와 너비가 함께 갱신된다.
- profile write가 실패하면 원문 변경을 rollback하거나 action을 차단한다.
- 모든 열이
auto이면 불필요한 차단을 만들지 않는다.
구조 변경이 계속 차단되면 대상 표의 열 너비를 모두 auto로 바꾸고 다시 시도한다. 구조가 확정된 뒤 필요한 열만 고정 px로 설정한다.
4. Chart info zone에서 참조를 확인한다
표에서 만든 Chart를 선택하면 info zone은 다음 정보를 보여 준다.
- Chart type
- 참조하는 source table
- 전체 표 또는 선택 범위의
sourceRange - 유효한 경우 ECharts preview
Chart는 표 값을 복제해서 별도 문서로 저장하지 않는다. sourceRange가 있으면 해당 좌표의 데이터만 읽는다. 원본 표 구조가 바뀌어 범위가 유효하지 않으면 stale·invalid 상태를 복구해야 한다.


Markdown 표에서 Chart 만들기의 실제 화면에서 원문과 Chart 결과를 비교할 수 있다.
5. legacy comment를 profile로 옮긴다
기존 <!-- mdtable: ... --> 지시어는 migration 입력이다. profile 저장이 가능한 Scope에서 새 UI write가 성공하면 같은 표의 legacy widths·zebra comment가 제거될 수 있다.

영상은 pipe spacing 정리, 선택 열 오른쪽 정렬 저장, legacy 설정 읽기, 240px profile write와 원문 comment 제거를 한 흐름으로 확인한다. Markdown의 표 값과 정렬 separator는 남고 Glif 전용 너비·줄무늬만 profile로 이동한다.
profile root나 document path가 없어 저장할 수 없는 상황에서 Glif는 새 comment fallback을 만들지 않는다. 저장 실패를 확인하고 문서를 정상 Scope 안에서 다시 연다.
설정이 사라졌을 때 점검 순서
- 같은 Markdown 문서를 같은 Scope에서 열었는지 확인한다.
.glif/projections.json을 함께 이동·복사했는지 확인한다.- 표의 heading·위치·구조가 크게 바뀌어 block identity가 달라지지 않았는지 확인한다.
- legacy comment가 제거된 직후라면 profile write가 성공했는지 확인한다.
- History에서 Markdown과 profile이 같은 revision에 있는지 확인한다.
그대로 열어 볼 예제 문서
- 표 메뉴와 info zone 기본 실습
- 정렬과 pipe formatting 실습
- legacy mdtable → projection profile migration
- 병합과 값 충돌 처리 실습
- Markdown 표 → Chart 참조 실습
예제를 직접 수정할 때는 원본을 복사해 별도 Scope에서 연다. profile write와 migration 예제는 같은 문서를 반복 실행하면 이미 migration된 상태가 남으므로, 초기 상태를 다시 확인할 때 fixture를 새로 복사한다.
완료 체크
- Markdown·profile·runtime 상태를 구분했다.
- 표 메뉴와 info zone에서 각각 어떤 작업을 찾는지 설명할 수 있다.
- 고정 너비와 구조 변경이 함께 commit되는 이유를 이해했다.
- Chart info zone에서 source table과 sourceRange를 확인했다.