@readerseye2/cr_type 1.0.113 → 1.0.114
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.
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import type { CRViewerState, ViewerEvent, AudioSnapshot } from './viewer-events.types';
|
|
1
|
+
import type { CRViewerState, ViewerEvent, AudioSnapshot, RangeSnapshot, TranslateSnapshot } from './viewer-events.types';
|
|
2
2
|
/** 뷰어 스냅샷 (소켓 통신용 - 현재 읽기 상태) */
|
|
3
3
|
export interface ViewerSnapshot {
|
|
4
4
|
viewMode: 'scroll' | 'page';
|
|
5
5
|
globalRunIndex: number;
|
|
6
6
|
pageIndex?: number;
|
|
7
|
+
totalPages?: number;
|
|
7
8
|
scrollPosition?: number;
|
|
9
|
+
scrollRatio?: number;
|
|
8
10
|
totalItems: number;
|
|
9
11
|
viewportWidth?: number;
|
|
10
12
|
viewportHeight?: number;
|
|
@@ -12,6 +14,8 @@ export interface ViewerSnapshot {
|
|
|
12
14
|
anchorGI?: number;
|
|
13
15
|
anchorOffsetRatio?: number;
|
|
14
16
|
audio?: AudioSnapshot;
|
|
17
|
+
range?: RangeSnapshot | null;
|
|
18
|
+
translate?: TranslateSnapshot | null;
|
|
15
19
|
}
|
|
16
20
|
/** 책/섹션 메타데이터 */
|
|
17
21
|
export interface SessionMeta {
|
|
@@ -36,6 +36,21 @@ export type AudioSnapshot = {
|
|
|
36
36
|
currentClip: number;
|
|
37
37
|
currentTimeMs: number;
|
|
38
38
|
};
|
|
39
|
+
/** 텍스트 선택 상태 스냅샷 */
|
|
40
|
+
export type RangeSnapshot = {
|
|
41
|
+
startGI: number;
|
|
42
|
+
endGI: number;
|
|
43
|
+
text: string;
|
|
44
|
+
};
|
|
45
|
+
/** 번역 모달 상태 스냅샷 */
|
|
46
|
+
export type TranslateSnapshot = {
|
|
47
|
+
isOpen: boolean;
|
|
48
|
+
isLoading: boolean;
|
|
49
|
+
text?: string;
|
|
50
|
+
translatedText?: string;
|
|
51
|
+
startGI?: number;
|
|
52
|
+
endGI?: number;
|
|
53
|
+
};
|
|
39
54
|
/** 오디오 제어 액션 타입 */
|
|
40
55
|
export type AudioControlAction = 'play' | 'pause' | 'stop';
|
|
41
56
|
/** 기본 이벤트 (뷰어에서 emit) */
|
|
@@ -121,13 +136,17 @@ export type RecordingSnapshot = {
|
|
|
121
136
|
viewerState: RecordingViewerState;
|
|
122
137
|
globalIndex: number;
|
|
123
138
|
scrollY?: number;
|
|
139
|
+
scrollRatio?: number;
|
|
124
140
|
anchorGI?: number;
|
|
125
141
|
anchorOffsetRatio?: number;
|
|
126
142
|
currentPage?: number;
|
|
143
|
+
totalPages?: number;
|
|
127
144
|
sectionId: string;
|
|
128
145
|
viewportWidth: number;
|
|
129
146
|
viewportHeight: number;
|
|
130
147
|
audio?: AudioSnapshot;
|
|
148
|
+
range?: RangeSnapshot | null;
|
|
149
|
+
translate?: TranslateSnapshot | null;
|
|
131
150
|
};
|
|
132
151
|
/** 녹화 청크 */
|
|
133
152
|
export type RecordingChunk = {
|