표·차트 설정과 저장 경계

표에서 보이는 모든 정보가 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에서 지속 설정을 바꾼다

  1. 줄무늬 행을 켜거나 끈다.
  2. 현재 열의 정렬을 선택한다.
  3. 열 너비를 auto 또는 px 숫자로 정한다.
  4. 직사각형 선택을 병합하거나 해제한다.
  5. 표 전체 또는 선택 범위를 Chart 참조로 저장한다.

설정 뒤에는 Source와 projection을 번갈아 확인한다. 정렬은 separator token을 바꿀 수 있지만 zebra와 고정 너비는 pipe table에 전용 comment를 새로 만들지 않아야 한다.

선택 열의 정렬을 바꾸는 표 info zone

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

240px 고정 너비와 줄무늬를 projection profile에 저장한 결과

직사각형 병합에서 둘 이상의 셀에 값이 있으면 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 상태를 복구해야 한다.

Chart가 참조하는 Markdown 원본 표

같은 표를 참조해 만든 Chart 보기

Markdown 표에서 Chart 만들기의 실제 화면에서 원문과 Chart 결과를 비교할 수 있다.

5. legacy comment를 profile로 옮긴다

기존 <!-- mdtable: ... --> 지시어는 migration 입력이다. profile 저장이 가능한 Scope에서 새 UI write가 성공하면 같은 표의 legacy widths·zebra comment가 제거될 수 있다.

legacy mdtable 지시어의 정렬·너비·줄무늬를 읽은 화면

영상은 pipe spacing 정리, 선택 열 오른쪽 정렬 저장, legacy 설정 읽기, 240px profile write와 원문 comment 제거를 한 흐름으로 확인한다. Markdown의 표 값과 정렬 separator는 남고 Glif 전용 너비·줄무늬만 profile로 이동한다.

profile root나 document path가 없어 저장할 수 없는 상황에서 Glif는 새 comment fallback을 만들지 않는다. 저장 실패를 확인하고 문서를 정상 Scope 안에서 다시 연다.

설정이 사라졌을 때 점검 순서

  1. 같은 Markdown 문서를 같은 Scope에서 열었는지 확인한다.
  2. .glif/projections.json을 함께 이동·복사했는지 확인한다.
  3. 표의 heading·위치·구조가 크게 바뀌어 block identity가 달라지지 않았는지 확인한다.
  4. legacy comment가 제거된 직후라면 profile write가 성공했는지 확인한다.
  5. History에서 Markdown과 profile이 같은 revision에 있는지 확인한다.

그대로 열어 볼 예제 문서

예제를 직접 수정할 때는 원본을 복사해 별도 Scope에서 연다. profile write와 migration 예제는 같은 문서를 반복 실행하면 이미 migration된 상태가 남으므로, 초기 상태를 다시 확인할 때 fixture를 새로 복사한다.

완료 체크

  • Markdown·profile·runtime 상태를 구분했다.
  • 표 메뉴와 info zone에서 각각 어떤 작업을 찾는지 설명할 수 있다.
  • 고정 너비와 구조 변경이 함께 commit되는 이유를 이해했다.
  • Chart info zone에서 source table과 sourceRange를 확인했다.