Skip to content

Documentation / @finchart/core / Viewport

Interface: Viewport

Defined in: packages/core/src/data/types.ts:134

지금 화면에 보이는 데이터 구간.

Properties

endX

endX: number

Defined in: packages/core/src/data/types.ts:136


height

height: number

Defined in: packages/core/src/data/types.ts:138


screenXScan?

optional screenXScan?: () => (x) => number

Defined in: packages/core/src/data/types.ts:153

화면 자리 조회의 판(pass)을 여는 공장. 없으면 x가 곧 화면 자리다 (연속 좌표계, 기본). 봉 번호 좌표계가 이걸 실어 보낸다 — x로 버킷을 나누는 솎기(M4·LTTB)가 화면과 맞으려면 그 공간에서 나눠야 한다.

함수가 아니라 공장인 이유: 조회를 가속하는 커서는 훑기 한 판이 소유해야 한다. 함수 하나를 공유하면 커서도 공유돼 훑는 소비자와 점 단위 소비자가 서로를 짓밟는다. 판을 연 쪽이 커서를 들고, 판이 끝나면 같이 죽는다.

구간(startX·endX)과 한 몸인 이유: "보이는 것"을 두 소비자(그리기·값 축)가 묻는데, 정의가 갈리면 같은 뷰포트에 다른 답이 나와 캐시가 어긋난다.

Returns

(x) => number


startX

startX: number

Defined in: packages/core/src/data/types.ts:135


width

width: number

Defined in: packages/core/src/data/types.ts:137


xEpoch?

optional xEpoch?: number

Defined in: packages/core/src/data/types.ts:161

x 매핑이 인덱스를 다시 센 횟수. 화면 자리(place)는 매핑의 도메인 값이라 재빌드에 낡는다 — 다른 시리즈의 setData가 병합 x 목록을 바꾸면 내 데이터가 그대로여도 내 자리가 밀린다. 이 수가 자리 캐시의 무효화 열쇠다. screenXScan과 함께만 실린다 — 연속 매핑은 셀 것이 없다.