@readerseye2/cr_type 1.0.112 → 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 {
@@ -235,9 +235,13 @@ export interface SessionHistoryListResult {
235
235
  total: number;
236
236
  hasMore: boolean;
237
237
  }
238
- /** 세션 이력 상세 결과 */
238
+ /** 세션 이력 상세 결과 (재생용 — 전체 청크 포함) */
239
239
  export interface SessionHistoryGetResult {
240
240
  manifest: UnifiedSessionManifest;
241
+ /** 세그먼트별 전체 청크 (재생용) */
242
+ chunks?: UnifiedChunkFile[];
243
+ /** 청크에서 추출한 전체 이벤트 (편의용) */
244
+ events?: ViewerEvent[];
241
245
  }
242
246
  /** 청크 조회 결과 */
243
247
  export interface UnifiedChunksResult {
@@ -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 = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@readerseye2/cr_type",
3
- "version": "1.0.112",
3
+ "version": "1.0.114",
4
4
  "description": "CheckReading shared TypeScript types",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",