@readerseye2/cr_type 1.0.143 → 1.0.145
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -11,6 +11,13 @@ export interface ViewerRect {
|
|
|
11
11
|
width: number;
|
|
12
12
|
height: number;
|
|
13
13
|
}
|
|
14
|
+
/** 뷰어 영역의 pixel 기준 사각형 — 재생 뷰어 배치용 */
|
|
15
|
+
export interface ViewerRectPx {
|
|
16
|
+
left: number;
|
|
17
|
+
top: number;
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
}
|
|
14
21
|
/** 뷰어 스냅샷 (소켓 통신용 - 현재 읽기 상태) */
|
|
15
22
|
export interface ViewerSnapshot {
|
|
16
23
|
viewMode: 'scroll' | 'page';
|
|
@@ -36,6 +43,8 @@ export interface ViewerSnapshot {
|
|
|
36
43
|
screenWidth?: number;
|
|
37
44
|
/** 녹화 당시 전체 화면 크기 (window.innerHeight) */
|
|
38
45
|
screenHeight?: number;
|
|
46
|
+
/** 뷰어 영역의 pixel 기준 사각형 — 재생 뷰어 배치용 */
|
|
47
|
+
viewerRectPx?: ViewerRectPx;
|
|
39
48
|
}
|
|
40
49
|
/** 책/섹션 메타데이터 */
|
|
41
50
|
export interface SessionMeta {
|
|
@@ -29,7 +29,7 @@ export type CRViewerState = {
|
|
|
29
29
|
viewportHeight: number;
|
|
30
30
|
};
|
|
31
31
|
/** 뷰어 이벤트 타입 */
|
|
32
|
-
export type ViewerEventType = 'global_index_change' | 'scroll' | 'page_change' | 'section_change' | 'mode_change' | 'settings_change' | 'render_start' | 'loading_start' | 'loading_end' | 'viewport_resize' | 'audio_control' | 'range_select' | 'range_change' | 'range_clear' | 'translate_request' | 'translate_loading_start' | 'translate_loading_end' | 'translate_modal_close' | 'calibration_start' | 'calibration_end' | 'show_gaze_change' | 'ask_calibration' | 'calibration_progress';
|
|
32
|
+
export type ViewerEventType = 'global_index_change' | 'scroll' | 'page_change' | 'section_change' | 'mode_change' | 'settings_change' | 'render_start' | 'loading_start' | 'loading_end' | 'viewport_resize' | 'audio_control' | 'range_select' | 'range_change' | 'range_clear' | 'translate_request' | 'translate_loading_start' | 'translate_loading_end' | 'translate_modal_close' | 'calibration_start' | 'calibration_end' | 'calibration_gate_open' | 'calibration_gate_close' | 'show_gaze_change' | 'ask_calibration' | 'calibration_progress';
|
|
33
33
|
/** 오디오 상태 스냅샷 */
|
|
34
34
|
export type AudioSnapshot = {
|
|
35
35
|
status: 'idle' | 'loading' | 'playing' | 'paused' | 'ended' | 'error';
|
|
@@ -139,6 +139,14 @@ export type CalibrationEndEvent = ViewerEventBase<'calibration_end', {
|
|
|
139
139
|
accuracyPx?: number;
|
|
140
140
|
accuracyDeg?: number;
|
|
141
141
|
}>;
|
|
142
|
+
/** Swal 다이얼로그 표시 시작 — 이 구간은 etc 시간으로 분류됨 */
|
|
143
|
+
export type CalibrationGateOpenEvent = ViewerEventBase<'calibration_gate_open', {
|
|
144
|
+
reason?: string;
|
|
145
|
+
}>;
|
|
146
|
+
/** Swal 다이얼로그 완료 (선택 완료 or 닫힘) */
|
|
147
|
+
export type CalibrationGateCloseEvent = ViewerEventBase<'calibration_gate_close', {
|
|
148
|
+
action: 'calibrate' | 'skip';
|
|
149
|
+
}>;
|
|
142
150
|
export type ShowGazeChangeEvent = ViewerEventBase<'show_gaze_change', {
|
|
143
151
|
showGaze: boolean;
|
|
144
152
|
}>;
|
|
@@ -150,7 +158,7 @@ export type CalibrationProgressEvent = ViewerEventBase<'calibration_progress', {
|
|
|
150
158
|
total: number;
|
|
151
159
|
}>;
|
|
152
160
|
/** 모든 뷰어 이벤트 타입 (Union) */
|
|
153
|
-
export type ViewerEvent = GlobalIndexChangeEvent | ScrollEvent | PageChangeEvent | SectionChangeEvent | ModeChangeEvent | SettingsChangeEvent | RenderStartEvent | LoadingStartEvent | LoadingEndEvent | ViewportResizeEvent | AudioControlEvent | RangeSelectEvent | RangeChangeEvent | RangeClearEvent | TranslateRequestEvent | TranslateLoadingStartEvent | TranslateLoadingEndEvent | TranslateModalCloseEvent | CalibrationStartEvent | CalibrationEndEvent | ShowGazeChangeEvent | AskCalibrationEvent | CalibrationProgressEvent;
|
|
161
|
+
export type ViewerEvent = GlobalIndexChangeEvent | ScrollEvent | PageChangeEvent | SectionChangeEvent | ModeChangeEvent | SettingsChangeEvent | RenderStartEvent | LoadingStartEvent | LoadingEndEvent | ViewportResizeEvent | AudioControlEvent | RangeSelectEvent | RangeChangeEvent | RangeClearEvent | TranslateRequestEvent | TranslateLoadingStartEvent | TranslateLoadingEndEvent | TranslateModalCloseEvent | CalibrationStartEvent | CalibrationEndEvent | CalibrationGateOpenEvent | CalibrationGateCloseEvent | ShowGazeChangeEvent | AskCalibrationEvent | CalibrationProgressEvent;
|
|
154
162
|
export type ViewerEventCallback = (event: ViewerEvent) => void;
|
|
155
163
|
/** 저장용 이벤트 (any type) */
|
|
156
164
|
export type StoredEvent = StoredViewerEvent<ViewerEventType, unknown>;
|