@tienne/gestalt 0.111.0 → 0.112.0
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.
- package/CLAUDE.md +3 -3
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/dist/package.json +3 -1
- package/dist/plugin/role-agents/lens-context/AGENT.md +8 -7
- package/dist/plugin/role-agents/lens-reader/AGENT.md +48 -2
- package/dist/plugin/skills/lens/SKILL.md +22 -15
- package/dist/src/architecture/doc-fresh.d.ts.map +1 -1
- package/dist/src/architecture/doc-fresh.js +3 -1
- package/dist/src/architecture/doc-fresh.js.map +1 -1
- package/dist/src/cli/commands/lens.d.ts +8 -1
- package/dist/src/cli/commands/lens.d.ts.map +1 -1
- package/dist/src/cli/commands/lens.js +29 -2
- package/dist/src/cli/commands/lens.js.map +1 -1
- package/dist/src/cli/commands/peer.d.ts +19 -0
- package/dist/src/cli/commands/peer.d.ts.map +1 -1
- package/dist/src/cli/commands/peer.js +188 -11
- package/dist/src/cli/commands/peer.js.map +1 -1
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +43 -4
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/digest/lens-schema.d.ts +150 -3
- package/dist/src/digest/lens-schema.d.ts.map +1 -1
- package/dist/src/digest/lens-schema.js +14 -1
- package/dist/src/digest/lens-schema.js.map +1 -1
- package/dist/src/digest/lens-widget-schema.d.ts +2 -2
- package/dist/src/digest/lint-lens.d.ts +2 -1
- package/dist/src/digest/lint-lens.d.ts.map +1 -1
- package/dist/src/digest/lint-lens.js +68 -7
- package/dist/src/digest/lint-lens.js.map +1 -1
- package/dist/src/digest/ocr.d.ts +1 -1
- package/dist/src/digest/ocr.d.ts.map +1 -1
- package/dist/src/digest/ocr.js +10 -4
- package/dist/src/digest/ocr.js.map +1 -1
- package/dist/src/digest/schema.d.ts +62 -62
- package/dist/src/lens/attach.d.ts +741 -0
- package/dist/src/lens/attach.d.ts.map +1 -1
- package/dist/src/lens/attach.js +41 -11
- package/dist/src/lens/attach.js.map +1 -1
- package/dist/src/lens/context-input.d.ts +17 -0
- package/dist/src/lens/context-input.d.ts.map +1 -0
- package/dist/src/lens/context-input.js +31 -0
- package/dist/src/lens/context-input.js.map +1 -0
- package/dist/src/lens/ingest.d.ts +19 -1
- package/dist/src/lens/ingest.d.ts.map +1 -1
- package/dist/src/lens/ingest.js +92 -14
- package/dist/src/lens/ingest.js.map +1 -1
- package/dist/src/lens/pdf-extract-py.d.ts +2 -0
- package/dist/src/lens/pdf-extract-py.d.ts.map +1 -1
- package/dist/src/lens/pdf-extract-py.js +37 -2
- package/dist/src/lens/pdf-extract-py.js.map +1 -1
- package/dist/src/mcp/schemas.d.ts +23 -0
- package/dist/src/mcp/schemas.d.ts.map +1 -1
- package/dist/src/mcp/schemas.js +20 -0
- package/dist/src/mcp/schemas.js.map +1 -1
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +6 -1
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/mcp/tools/architecture-passthrough.d.ts.map +1 -1
- package/dist/src/mcp/tools/architecture-passthrough.js +1 -1
- package/dist/src/mcp/tools/architecture-passthrough.js.map +1 -1
- package/dist/src/mcp/tools/peer.d.ts +21 -0
- package/dist/src/mcp/tools/peer.d.ts.map +1 -0
- package/dist/src/mcp/tools/peer.js +71 -0
- package/dist/src/mcp/tools/peer.js.map +1 -0
- package/dist/src/peer/codex.d.ts +49 -0
- package/dist/src/peer/codex.d.ts.map +1 -0
- package/dist/src/peer/codex.js +240 -0
- package/dist/src/peer/codex.js.map +1 -0
- package/dist/src/peer/daemon.d.ts +52 -1
- package/dist/src/peer/daemon.d.ts.map +1 -1
- package/dist/src/peer/daemon.js +356 -16
- package/dist/src/peer/daemon.js.map +1 -1
- package/dist/src/peer/feed.d.ts +24 -2
- package/dist/src/peer/feed.d.ts.map +1 -1
- package/dist/src/peer/feed.js.map +1 -1
- package/dist/src/peer/inbox.d.ts +31 -0
- package/dist/src/peer/inbox.d.ts.map +1 -0
- package/dist/src/peer/inbox.js +80 -0
- package/dist/src/peer/inbox.js.map +1 -0
- package/dist/src/peer/locate.d.ts +3 -0
- package/dist/src/peer/locate.d.ts.map +1 -1
- package/dist/src/peer/locate.js +4 -2
- package/dist/src/peer/locate.js.map +1 -1
- package/dist/src/peer/message.d.ts +104 -0
- package/dist/src/peer/message.d.ts.map +1 -0
- package/dist/src/peer/message.js +171 -0
- package/dist/src/peer/message.js.map +1 -0
- package/dist/src/peer/mirror.d.ts +50 -1
- package/dist/src/peer/mirror.d.ts.map +1 -1
- package/dist/src/peer/mirror.js +138 -0
- package/dist/src/peer/mirror.js.map +1 -1
- package/dist/src/peer/network.d.ts +247 -0
- package/dist/src/peer/network.d.ts.map +1 -1
- package/dist/src/peer/network.js +1119 -43
- package/dist/src/peer/network.js.map +1 -1
- package/dist/src/peer/paths.d.ts +6 -0
- package/dist/src/peer/paths.d.ts.map +1 -1
- package/dist/src/peer/paths.js +8 -0
- package/dist/src/peer/paths.js.map +1 -1
- package/dist/src/peer/protocol.d.ts +96 -4
- package/dist/src/peer/protocol.d.ts.map +1 -1
- package/dist/src/peer/protocol.js.map +1 -1
- package/dist/src/peer/relay.d.ts +14 -0
- package/dist/src/peer/relay.d.ts.map +1 -1
- package/dist/src/peer/relay.js +102 -7
- package/dist/src/peer/relay.js.map +1 -1
- package/dist/src/peer/roster.d.ts +2 -0
- package/dist/src/peer/roster.d.ts.map +1 -1
- package/dist/src/peer/roster.js +5 -0
- package/dist/src/peer/roster.js.map +1 -1
- package/dist/src/peer/share.d.ts +48 -1
- package/dist/src/peer/share.d.ts.map +1 -1
- package/dist/src/peer/share.js +163 -2
- package/dist/src/peer/share.js.map +1 -1
- package/dist/src/peer/state.d.ts +12 -1
- package/dist/src/peer/state.d.ts.map +1 -1
- package/dist/src/peer/state.js +15 -0
- package/dist/src/peer/state.js.map +1 -1
- package/dist/src/peer/transform.d.ts +27 -0
- package/dist/src/peer/transform.d.ts.map +1 -1
- package/dist/src/peer/transform.js +37 -33
- package/dist/src/peer/transform.js.map +1 -1
- package/dist/src/peer/transport.d.ts +7 -3
- package/dist/src/peer/transport.d.ts.map +1 -1
- package/dist/src/peer/transport.js +12 -4
- package/dist/src/peer/transport.js.map +1 -1
- package/dist/src/peer/viewer-html.d.ts +1 -1
- package/dist/src/peer/viewer-html.d.ts.map +1 -1
- package/dist/src/peer/viewer-html.js +151 -1
- package/dist/src/peer/viewer-html.js.map +1 -1
- package/dist/src/peer/viewer.d.ts +30 -1
- package/dist/src/peer/viewer.d.ts.map +1 -1
- package/dist/src/peer/viewer.js +103 -5
- package/dist/src/peer/viewer.js.map +1 -1
- package/dist/src/peer/wire.d.ts +9 -2
- package/dist/src/peer/wire.d.ts.map +1 -1
- package/dist/src/peer/wire.js.map +1 -1
- package/package.json +3 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/.mcp.json +1 -1
- package/plugin/mcp.json +1 -1
- package/plugin/role-agents/lens-context/AGENT.md +8 -7
- package/plugin/role-agents/lens-reader/AGENT.md +48 -2
- package/plugin/skills/lens/SKILL.md +22 -15
|
@@ -65,9 +65,71 @@ export declare const evidenceSchema: z.ZodUnion<[z.ZodObject<{
|
|
|
65
65
|
to: number;
|
|
66
66
|
};
|
|
67
67
|
}>]>;
|
|
68
|
+
/**
|
|
69
|
+
* 본문이 "올린다", "낮춘다"고 말하는데 표의 두 칸이 반대로 움직인 자리. 모델은 두 칸 자리와 주장만 적고
|
|
70
|
+
* 부호는 lint가 칸 값으로 계산한다. claim은 본문이 말하는 성능 방향이고 better는 그 지표가 좋아지는 쪽이다.
|
|
71
|
+
* 둘을 곱한 쪽으로 from 칸에서 to 칸 값이 움직여야 주장대로라서, 그렇지 않을 때만 의심으로 받는다
|
|
72
|
+
*/
|
|
73
|
+
export declare const doubtDirectionSchema: z.ZodObject<{
|
|
74
|
+
from: z.ZodObject<{
|
|
75
|
+
table: z.ZodString;
|
|
76
|
+
row: z.ZodNumber;
|
|
77
|
+
col: z.ZodNumber;
|
|
78
|
+
}, "strip", z.ZodTypeAny, {
|
|
79
|
+
row: number;
|
|
80
|
+
col: number;
|
|
81
|
+
table: string;
|
|
82
|
+
}, {
|
|
83
|
+
row: number;
|
|
84
|
+
col: number;
|
|
85
|
+
table: string;
|
|
86
|
+
}>;
|
|
87
|
+
to: z.ZodObject<{
|
|
88
|
+
table: z.ZodString;
|
|
89
|
+
row: z.ZodNumber;
|
|
90
|
+
col: z.ZodNumber;
|
|
91
|
+
}, "strip", z.ZodTypeAny, {
|
|
92
|
+
row: number;
|
|
93
|
+
col: number;
|
|
94
|
+
table: string;
|
|
95
|
+
}, {
|
|
96
|
+
row: number;
|
|
97
|
+
col: number;
|
|
98
|
+
table: string;
|
|
99
|
+
}>;
|
|
100
|
+
claim: z.ZodEnum<["increase", "decrease"]>;
|
|
101
|
+
better: z.ZodEnum<["higher", "lower"]>;
|
|
102
|
+
}, "strip", z.ZodTypeAny, {
|
|
103
|
+
from: {
|
|
104
|
+
row: number;
|
|
105
|
+
col: number;
|
|
106
|
+
table: string;
|
|
107
|
+
};
|
|
108
|
+
to: {
|
|
109
|
+
row: number;
|
|
110
|
+
col: number;
|
|
111
|
+
table: string;
|
|
112
|
+
};
|
|
113
|
+
claim: "increase" | "decrease";
|
|
114
|
+
better: "higher" | "lower";
|
|
115
|
+
}, {
|
|
116
|
+
from: {
|
|
117
|
+
row: number;
|
|
118
|
+
col: number;
|
|
119
|
+
table: string;
|
|
120
|
+
};
|
|
121
|
+
to: {
|
|
122
|
+
row: number;
|
|
123
|
+
col: number;
|
|
124
|
+
table: string;
|
|
125
|
+
};
|
|
126
|
+
claim: "increase" | "decrease";
|
|
127
|
+
better: "higher" | "lower";
|
|
128
|
+
}>;
|
|
68
129
|
/**
|
|
69
130
|
* 본문 문장의 주장과 같은 원문의 표나 다른 문단이 어긋나는 자리. 바깥 자료로 하는 반론은 여기 두지 않는다.
|
|
70
|
-
* 숫자끼리 어긋난
|
|
131
|
+
* 숫자끼리 어긋난 자리와 방향 주장이 표 부호와 어긋난 자리(direction)만 받는다.
|
|
132
|
+
* note의 숫자가 근거 칸이나 문단에 있는지 lint가 본다
|
|
71
133
|
*/
|
|
72
134
|
export declare const doubtSchema: z.ZodObject<{
|
|
73
135
|
note: z.ZodString;
|
|
@@ -118,6 +180,62 @@ export declare const doubtSchema: z.ZodObject<{
|
|
|
118
180
|
to: number;
|
|
119
181
|
};
|
|
120
182
|
}>]>, "many">;
|
|
183
|
+
direction: z.ZodOptional<z.ZodObject<{
|
|
184
|
+
from: z.ZodObject<{
|
|
185
|
+
table: z.ZodString;
|
|
186
|
+
row: z.ZodNumber;
|
|
187
|
+
col: z.ZodNumber;
|
|
188
|
+
}, "strip", z.ZodTypeAny, {
|
|
189
|
+
row: number;
|
|
190
|
+
col: number;
|
|
191
|
+
table: string;
|
|
192
|
+
}, {
|
|
193
|
+
row: number;
|
|
194
|
+
col: number;
|
|
195
|
+
table: string;
|
|
196
|
+
}>;
|
|
197
|
+
to: z.ZodObject<{
|
|
198
|
+
table: z.ZodString;
|
|
199
|
+
row: z.ZodNumber;
|
|
200
|
+
col: z.ZodNumber;
|
|
201
|
+
}, "strip", z.ZodTypeAny, {
|
|
202
|
+
row: number;
|
|
203
|
+
col: number;
|
|
204
|
+
table: string;
|
|
205
|
+
}, {
|
|
206
|
+
row: number;
|
|
207
|
+
col: number;
|
|
208
|
+
table: string;
|
|
209
|
+
}>;
|
|
210
|
+
claim: z.ZodEnum<["increase", "decrease"]>;
|
|
211
|
+
better: z.ZodEnum<["higher", "lower"]>;
|
|
212
|
+
}, "strip", z.ZodTypeAny, {
|
|
213
|
+
from: {
|
|
214
|
+
row: number;
|
|
215
|
+
col: number;
|
|
216
|
+
table: string;
|
|
217
|
+
};
|
|
218
|
+
to: {
|
|
219
|
+
row: number;
|
|
220
|
+
col: number;
|
|
221
|
+
table: string;
|
|
222
|
+
};
|
|
223
|
+
claim: "increase" | "decrease";
|
|
224
|
+
better: "higher" | "lower";
|
|
225
|
+
}, {
|
|
226
|
+
from: {
|
|
227
|
+
row: number;
|
|
228
|
+
col: number;
|
|
229
|
+
table: string;
|
|
230
|
+
};
|
|
231
|
+
to: {
|
|
232
|
+
row: number;
|
|
233
|
+
col: number;
|
|
234
|
+
table: string;
|
|
235
|
+
};
|
|
236
|
+
claim: "increase" | "decrease";
|
|
237
|
+
better: "higher" | "lower";
|
|
238
|
+
}>>;
|
|
121
239
|
}, "strip", z.ZodTypeAny, {
|
|
122
240
|
note: string;
|
|
123
241
|
evidence: ({
|
|
@@ -131,6 +249,20 @@ export declare const doubtSchema: z.ZodObject<{
|
|
|
131
249
|
to: number;
|
|
132
250
|
};
|
|
133
251
|
})[];
|
|
252
|
+
direction?: {
|
|
253
|
+
from: {
|
|
254
|
+
row: number;
|
|
255
|
+
col: number;
|
|
256
|
+
table: string;
|
|
257
|
+
};
|
|
258
|
+
to: {
|
|
259
|
+
row: number;
|
|
260
|
+
col: number;
|
|
261
|
+
table: string;
|
|
262
|
+
};
|
|
263
|
+
claim: "increase" | "decrease";
|
|
264
|
+
better: "higher" | "lower";
|
|
265
|
+
} | undefined;
|
|
134
266
|
}, {
|
|
135
267
|
note: string;
|
|
136
268
|
evidence: ({
|
|
@@ -144,6 +276,20 @@ export declare const doubtSchema: z.ZodObject<{
|
|
|
144
276
|
to: number;
|
|
145
277
|
};
|
|
146
278
|
})[];
|
|
279
|
+
direction?: {
|
|
280
|
+
from: {
|
|
281
|
+
row: number;
|
|
282
|
+
col: number;
|
|
283
|
+
table: string;
|
|
284
|
+
};
|
|
285
|
+
to: {
|
|
286
|
+
row: number;
|
|
287
|
+
col: number;
|
|
288
|
+
table: string;
|
|
289
|
+
};
|
|
290
|
+
claim: "increase" | "decrease";
|
|
291
|
+
better: "higher" | "lower";
|
|
292
|
+
} | undefined;
|
|
147
293
|
}>;
|
|
148
294
|
export declare const GLANCE_KINDS: readonly ["problem", "method", "result", "limit", "claim", "evidence", "topic"];
|
|
149
295
|
/** 한눈에 보기 한 칸. 자료 종류마다 들어가야 할 kind는 lint가 정한다 */
|
|
@@ -173,7 +319,7 @@ export declare const glanceSchema: z.ZodObject<{
|
|
|
173
319
|
}>;
|
|
174
320
|
}, "strip", z.ZodTypeAny, {
|
|
175
321
|
text: string;
|
|
176
|
-
kind: "topic" | "evidence" | "limit" | "method" | "result" | "
|
|
322
|
+
kind: "topic" | "evidence" | "limit" | "method" | "result" | "claim" | "problem";
|
|
177
323
|
cite: {
|
|
178
324
|
key: number;
|
|
179
325
|
from: number;
|
|
@@ -181,7 +327,7 @@ export declare const glanceSchema: z.ZodObject<{
|
|
|
181
327
|
};
|
|
182
328
|
}, {
|
|
183
329
|
text: string;
|
|
184
|
-
kind: "topic" | "evidence" | "limit" | "method" | "result" | "
|
|
330
|
+
kind: "topic" | "evidence" | "limit" | "method" | "result" | "claim" | "problem";
|
|
185
331
|
cite: {
|
|
186
332
|
key: number;
|
|
187
333
|
from: number;
|
|
@@ -282,6 +428,7 @@ export declare const limitSchema: z.ZodObject<{
|
|
|
282
428
|
export type CellRef = z.infer<typeof cellRefSchema>;
|
|
283
429
|
export type Evidence = z.infer<typeof evidenceSchema>;
|
|
284
430
|
export type Doubt = z.infer<typeof doubtSchema>;
|
|
431
|
+
export type DoubtDirection = z.infer<typeof doubtDirectionSchema>;
|
|
285
432
|
export type Glance = z.infer<typeof glanceSchema>;
|
|
286
433
|
export type GlanceKind = (typeof GLANCE_KINDS)[number];
|
|
287
434
|
export type SourceRef = z.infer<typeof sourceRefSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lens-schema.d.ts","sourceRoot":"","sources":["../../../src/digest/lens-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AAEH,4CAA4C;AAC5C,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAC;AAEH,2CAA2C;AAC3C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA2D,CAAC;AAEvF
|
|
1
|
+
{"version":3,"file":"lens-schema.d.ts","sourceRoot":"","sources":["../../../src/digest/lens-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,13 +12,26 @@ export const cellRefSchema = z.object({
|
|
|
12
12
|
});
|
|
13
13
|
/** 의심 표시와 한계 단락의 근거. 원문 표 칸이나 원문 문단 범위다 */
|
|
14
14
|
export const evidenceSchema = z.union([cellRefSchema, z.object({ cite: citeSchema })]);
|
|
15
|
+
/**
|
|
16
|
+
* 본문이 "올린다", "낮춘다"고 말하는데 표의 두 칸이 반대로 움직인 자리. 모델은 두 칸 자리와 주장만 적고
|
|
17
|
+
* 부호는 lint가 칸 값으로 계산한다. claim은 본문이 말하는 성능 방향이고 better는 그 지표가 좋아지는 쪽이다.
|
|
18
|
+
* 둘을 곱한 쪽으로 from 칸에서 to 칸 값이 움직여야 주장대로라서, 그렇지 않을 때만 의심으로 받는다
|
|
19
|
+
*/
|
|
20
|
+
export const doubtDirectionSchema = z.object({
|
|
21
|
+
from: cellRefSchema,
|
|
22
|
+
to: cellRefSchema,
|
|
23
|
+
claim: z.enum(['increase', 'decrease']),
|
|
24
|
+
better: z.enum(['higher', 'lower']),
|
|
25
|
+
});
|
|
15
26
|
/**
|
|
16
27
|
* 본문 문장의 주장과 같은 원문의 표나 다른 문단이 어긋나는 자리. 바깥 자료로 하는 반론은 여기 두지 않는다.
|
|
17
|
-
* 숫자끼리 어긋난
|
|
28
|
+
* 숫자끼리 어긋난 자리와 방향 주장이 표 부호와 어긋난 자리(direction)만 받는다.
|
|
29
|
+
* note의 숫자가 근거 칸이나 문단에 있는지 lint가 본다
|
|
18
30
|
*/
|
|
19
31
|
export const doubtSchema = z.object({
|
|
20
32
|
note: textSchema,
|
|
21
33
|
evidence: z.array(evidenceSchema).min(1),
|
|
34
|
+
direction: doubtDirectionSchema.optional(),
|
|
22
35
|
});
|
|
23
36
|
export const GLANCE_KINDS = [
|
|
24
37
|
'problem',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lens-schema.js","sourceRoot":"","sources":["../../../src/digest/lens-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEpE;;;GAGG;AAEH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACpC,CAAC,CAAC;AAEH,2CAA2C;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvF
|
|
1
|
+
{"version":3,"file":"lens-schema.js","sourceRoot":"","sources":["../../../src/digest/lens-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -604,8 +604,8 @@ export declare const widgetSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<
|
|
|
604
604
|
};
|
|
605
605
|
figure?: string | undefined;
|
|
606
606
|
caption?: string | undefined;
|
|
607
|
-
differences?: string[] | undefined;
|
|
608
607
|
better?: "high" | "low" | undefined;
|
|
608
|
+
differences?: string[] | undefined;
|
|
609
609
|
}, {
|
|
610
610
|
id: string;
|
|
611
611
|
kind: "heatmap";
|
|
@@ -640,8 +640,8 @@ export declare const widgetSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<
|
|
|
640
640
|
};
|
|
641
641
|
figure?: string | undefined;
|
|
642
642
|
caption?: string | undefined;
|
|
643
|
-
differences?: string[] | undefined;
|
|
644
643
|
better?: "high" | "low" | undefined;
|
|
644
|
+
differences?: string[] | undefined;
|
|
645
645
|
}>, z.ZodObject<{
|
|
646
646
|
kind: z.ZodLiteral<"stepSlider">;
|
|
647
647
|
steps: z.ZodArray<z.ZodObject<{
|
|
@@ -6,7 +6,8 @@ import type { LensKind, Report, Transcript } from './schema.js';
|
|
|
6
6
|
export declare const GLANCE_REQUIRED: Record<LensKind, readonly GlanceKind[]>;
|
|
7
7
|
/**
|
|
8
8
|
* 글 속 숫자를 모은다. 천 단위 쉼표는 지우고 %는 뗀다. "표 4"의 4나 "50개"의 50도 숫자로 센다.
|
|
9
|
-
* 영문자 바로 뒤에 붙은 숫자(CSP2, v3)는 이름의 일부라 세지 않는다.
|
|
9
|
+
* 영문자 바로 뒤에 붙은 숫자(CSP2, v3)는 이름의 일부라 세지 않는다. 영문자 뒤에 -나 /를 두고 붙은 숫자(ResNet-34, ViT-L/16)도
|
|
10
|
+
* 모델 이름이라 세지 않는다. "제3자"처럼 서수 접두 "제"가 붙은 숫자도 말이라 세지 않는다
|
|
10
11
|
*/
|
|
11
12
|
export declare function numbersIn(text: string): number[];
|
|
12
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-lens.d.ts","sourceRoot":"","sources":["../../../src/digest/lint-lens.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"lint-lens.d.ts","sourceRoot":"","sources":["../../../src/digest/lint-lens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9E,iDAAiD;AACjD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAInE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAShD;AAiUD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,MAAM,EAAE,WAAW,EAAE,EACrB,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,GACpC,IAAI,CAaN"}
|
|
@@ -8,11 +8,12 @@ export const GLANCE_REQUIRED = {
|
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
10
|
* 글 속 숫자를 모은다. 천 단위 쉼표는 지우고 %는 뗀다. "표 4"의 4나 "50개"의 50도 숫자로 센다.
|
|
11
|
-
* 영문자 바로 뒤에 붙은 숫자(CSP2, v3)는 이름의 일부라 세지 않는다.
|
|
11
|
+
* 영문자 바로 뒤에 붙은 숫자(CSP2, v3)는 이름의 일부라 세지 않는다. 영문자 뒤에 -나 /를 두고 붙은 숫자(ResNet-34, ViT-L/16)도
|
|
12
|
+
* 모델 이름이라 세지 않는다. "제3자"처럼 서수 접두 "제"가 붙은 숫자도 말이라 세지 않는다
|
|
12
13
|
*/
|
|
13
14
|
export function numbersIn(text) {
|
|
14
15
|
const out = [];
|
|
15
|
-
for (const m of text.matchAll(/(?<![A-Za-z0-9_.제])[-−]?\d+(?:,\d{3})*(?:\.\d+)?/g)) {
|
|
16
|
+
for (const m of text.matchAll(/(?<![A-Za-z0-9_.제])(?<![A-Za-z][-/])[-−]?\d+(?:,\d{3})*(?:\.\d+)?/g)) {
|
|
16
17
|
const n = Number(m[0].replace(/,/g, '').replace('−', '-'));
|
|
17
18
|
if (Number.isFinite(n))
|
|
18
19
|
out.push(Math.abs(n));
|
|
@@ -103,6 +104,58 @@ function checkNumbers(text, allowed, path, code, issues) {
|
|
|
103
104
|
message: `숫자 ${unknown.join(', ')}이 근거 칸이나 근거 문단에 없다. 원문 숫자만 그대로 쓰고 차이나 비율을 계산해 넣지 않는다`,
|
|
104
105
|
});
|
|
105
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* 방향 의심의 부호를 칸 값으로 계산해 본문 주장과 견준다. 주장대로 움직였으면 의심이 아니다.
|
|
109
|
+
* 칸 경계를 못 믿는 표(loose)는 칸이 한 칸 밀려도 부호가 뒤집혀서 받지 않는다
|
|
110
|
+
*/
|
|
111
|
+
function checkDirection(direction, path, source, issues, problem) {
|
|
112
|
+
const before = issues.length;
|
|
113
|
+
checkEvidence([direction.from, direction.to], path, source, issues, problem);
|
|
114
|
+
if (issues.length > before || !source)
|
|
115
|
+
return;
|
|
116
|
+
if (direction.from.table !== direction.to.table) {
|
|
117
|
+
issues.push({
|
|
118
|
+
path: `${path}.to`,
|
|
119
|
+
severity: 'error',
|
|
120
|
+
code: 'DOUBT_DIRECTION_TABLE_MISMATCH',
|
|
121
|
+
message: '방향 의심의 두 칸은 같은 표에 있어야 한다. 다른 표끼리는 조건이 달라 부호를 견줄 수 없다',
|
|
122
|
+
});
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const table = source.tables.find((t) => t.id === direction.from.table);
|
|
126
|
+
if (table.grid === 'loose') {
|
|
127
|
+
issues.push({
|
|
128
|
+
path,
|
|
129
|
+
severity: 'error',
|
|
130
|
+
code: 'DOUBT_DIRECTION_LOOSE_TABLE',
|
|
131
|
+
message: `${table.id}는 칸 경계를 못 믿는 표(loose)라 칸이 밀리면 부호가 뒤집힌다. 방향 의심을 빼거나 근거 문단의 숫자로 숫자 의심을 단다`,
|
|
132
|
+
});
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
const [from, to] = [direction.from, direction.to].map((ref) => {
|
|
136
|
+
const text = table.rows[ref.row]?.[ref.col];
|
|
137
|
+
return text === undefined ? null : cellNumber(text);
|
|
138
|
+
});
|
|
139
|
+
if (from === null || to === null || from === undefined || to === undefined) {
|
|
140
|
+
issues.push({
|
|
141
|
+
path,
|
|
142
|
+
severity: 'error',
|
|
143
|
+
code: 'DOUBT_DIRECTION_NOT_NUMERIC',
|
|
144
|
+
message: '방향 의심의 두 칸은 숫자 하나만 든 칸이어야 한다. 머리줄이나 글자 칸, "0.3±0.1" 같은 칸은 부호를 계산할 수 없다',
|
|
145
|
+
});
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
// 주장대로라면 값이 움직일 쪽. 성능을 올린다(increase)인데 낮을수록 좋은 지표(lower)면 값은 내려가야 한다
|
|
149
|
+
const expected = (direction.claim === 'increase' ? 1 : -1) * (direction.better === 'higher' ? 1 : -1);
|
|
150
|
+
if (Math.sign(to - from) === expected) {
|
|
151
|
+
issues.push({
|
|
152
|
+
path,
|
|
153
|
+
severity: 'error',
|
|
154
|
+
code: 'DOUBT_DIRECTION_AGREES',
|
|
155
|
+
message: `표에서 ${from}에서 ${to}로 주장한 방향대로 움직였다. 어긋나지 않는 자리라 의심 표시를 지운다`,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
106
159
|
function checkDoubts(report, p, source, transcript, issues, problem) {
|
|
107
160
|
let count = 0;
|
|
108
161
|
report.sections.forEach((section, si) => {
|
|
@@ -115,14 +168,22 @@ function checkDoubts(report, p, source, transcript, issues, problem) {
|
|
|
115
168
|
count++;
|
|
116
169
|
const dp = `${path}.doubt`;
|
|
117
170
|
checkEvidence(d.evidence, `${dp}.evidence`, source, issues, problem);
|
|
118
|
-
|
|
119
|
-
|
|
171
|
+
if (d.direction)
|
|
172
|
+
checkDirection(d.direction, `${dp}.direction`, source, issues, problem);
|
|
173
|
+
// 숫자끼리, 또는 방향 주장과 표 부호가 어긋난 자리만 짚는다. 해석이 갈리는 자리는 맥락 카드 몫이다
|
|
174
|
+
const cells = d.direction ? [...d.evidence, d.direction.from, d.direction.to] : d.evidence;
|
|
175
|
+
const cellValues = cells.flatMap((ev) => {
|
|
120
176
|
if (!isCellRef(ev))
|
|
121
177
|
return [];
|
|
122
178
|
const text = source?.tables.find((t) => t.id === ev.table)?.rows[ev.row]?.[ev.col];
|
|
123
|
-
|
|
179
|
+
if (text === undefined)
|
|
180
|
+
return [];
|
|
181
|
+
const n = cellNumber(text);
|
|
124
182
|
// numbersIn이 부호를 떼므로 칸 값도 떼어 견준다. 음수 칸을 적은 note가 막히지 않게 한다
|
|
125
|
-
|
|
183
|
+
if (n !== null)
|
|
184
|
+
return [Math.abs(n)];
|
|
185
|
+
// "99.68 ± 0.02"처럼 숫자가 둘 든 칸도 그 숫자를 note에 옮겼으면 근거로 친다. 부호를 계산하는 방향 의심은 여전히 이런 칸을 안 받는다
|
|
186
|
+
return numbersIn(text);
|
|
126
187
|
});
|
|
127
188
|
const noteNumbers = numbersIn(d.note);
|
|
128
189
|
const citesNumbers = d.evidence.some((ev) => !isCellRef(ev) && numbersIn(unitText(transcript, ev.cite)).length > 0);
|
|
@@ -136,7 +197,7 @@ function checkDoubts(report, p, source, transcript, issues, problem) {
|
|
|
136
197
|
message: '의심 표시는 원문 숫자끼리 어긋난 자리만 짚는다. note에 근거 칸의 숫자를 그대로 적는다. 해석이 갈리는 자리는 맥락 카드로 옮긴다',
|
|
137
198
|
});
|
|
138
199
|
}
|
|
139
|
-
checkNumbers(d.note, allowedNumbers(
|
|
200
|
+
checkNumbers(d.note, allowedNumbers(cells, source, transcript, [bullet.cite]), `${dp}.note`, 'DOUBT_NUMBER_UNKNOWN', issues);
|
|
140
201
|
}
|
|
141
202
|
});
|
|
142
203
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-lens.js","sourceRoot":"","sources":["../../../src/digest/lint-lens.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lint-lens.js","sourceRoot":"","sources":["../../../src/digest/lint-lens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuD,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAI/D,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAA4C;IACtE,GAAG,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC;IAC7C,GAAG,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;IACnC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAC3B,oEAAoE,CACrE,EAAE,CAAC;QACF,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAID,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAiB,EAAE,MAAc;IAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,QAAQ;YAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,UAAsB,EAAE,IAAU;IAClD,OAAO,UAAU,CAAC,QAAQ;SACvB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACrB,QAAoB,EACpB,MAAyB,EACzB,UAAsB,EACtB,QAAgB,EAAE;IAElB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,SAAS,eAAe,CAAC,OAA0C;IACjE,OAAO,OAAO,KAAK,SAAS;QAC1B,CAAC,CAAC,2EAA2E;QAC7E,CAAC,CAAC,8DAA8D,CAAC;AACrE,CAAC;AAED,SAAS,aAAa,CACpB,QAAoB,EACpB,IAAY,EACZ,MAAyB,EACzB,MAAqB,EACrB,OAA+B;IAE/B,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAAE,OAAO;QAC3B,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,MAAM;oBACb,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,4BAA4B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;oBAC9F,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC;aAC7B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,aAAa,KAAK,CAAC,IAAI,CAAC,MAAM,cAAc;aACvF,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oDAAoD;AACpD,SAAS,YAAY,CACnB,IAAY,EACZ,OAAoB,EACpB,IAAY,EACZ,IAAY,EACZ,MAAqB;IAErB,sCAAsC;IACtC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,CAAC,IAAI,CAAC;QACV,IAAI;QACJ,QAAQ,EAAE,OAAO;QACjB,IAAI;QACJ,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sDAAsD;KACxF,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACrB,SAAyB,EACzB,IAAY,EACZ,MAAyB,EACzB,MAAqB,EACrB,OAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,aAAa,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO;IAC9C,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,IAAI,KAAK;YAClB,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,gCAAgC;YACtC,OAAO,EACL,sDAAsD;SACzD,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;IACxE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,yEAAyE;SAC9F,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,6BAA6B;YACnC,OAAO,EACL,wEAAwE;SAC3E,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,qEAAqE;IACrE,MAAM,QAAQ,GACZ,CAAC,SAAS,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,yCAAyC;SACtE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,MAAc,EACd,CAAS,EACT,MAAyB,EACzB,UAAsB,EACtB,MAAqB,EACrB,OAA+B;IAE/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE;QACtC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,EAAE,gBAAgB,EAAE,UAAU,CAAC;YAC/D,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;gBACzD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBACvB,IAAI,CAAC,CAAC;oBAAE,SAAS;gBACjB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,GAAG,GAAG,IAAI,QAAQ,CAAC;gBAC3B,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACrE,IAAI,CAAC,CAAC,SAAS;oBAAE,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACzF,2DAA2D;gBAC3D,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC3F,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBACtC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;wBAAE,OAAO,EAAE,CAAC;oBAC9B,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBACnF,IAAI,IAAI,KAAK,SAAS;wBAAE,OAAO,EAAE,CAAC;oBAClC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC3B,2DAA2D;oBAC3D,IAAI,CAAC,KAAK,IAAI;wBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,uFAAuF;oBACvF,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAClC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAC9E,CAAC;gBACF,MAAM,MAAM,GACV,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC/C,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,GAAG,EAAE,OAAO;wBAClB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,mBAAmB;wBACzB,OAAO,EACL,6EAA6E;qBAChF,CAAC,CAAC;gBACL,CAAC;gBACD,YAAY,CACV,CAAC,CAAC,IAAI,EACN,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EACxD,GAAG,EAAE,OAAO,EACZ,sBAAsB,EACtB,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAClB,MAAc,EACd,CAAS,EACT,MAAyB,EACzB,UAAsB,EACtB,MAAqB,EACrB,OAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,CAAC,SAAS;YACnB,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EACL,gEAAgE;SACnE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,8CAA8C;aACxD,CAAC,CAAC;QACL,CAAC;QACD,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACzE,wEAAwE;QACxE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,YAAY,CACV,KAAK,CAAC,IAAI,EACV,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAClD,GAAG,EAAE,OAAO,EACZ,sBAAsB,EACtB,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,CAAS,EAAE,IAAc,EAAE,MAAqB;IACnF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,CAAC,cAAc;YACxB,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;SACvG,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,MAAc,EACd,CAAS,EACT,MAAyB,EACzB,MAAqB,EACrB,OAA+B;IAE/B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE;QACtC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,QAAQ;gBACjC,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,6BAA6B;aACvC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,EAAE,gBAAgB,EAAE,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC;oBAAE,OAAO;gBACvD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM;oBAC7B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC;iBAC3E,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC5B,IAAI,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC;oBAAE,OAAO;gBACxD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM;oBAC9B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC;iBAC5E,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,CAAS,EACT,IAAc,EACd,UAAsB,EACtB,MAAyB,EACzB,MAAqB,EACrB,aAAqC;IAErC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,CAAC,gBAAgB;YAC1B,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,qCAAqC;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1D,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAClE,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC"}
|
package/dist/src/digest/ocr.d.ts
CHANGED
|
@@ -90,7 +90,7 @@ export declare function clipOcrText(text: string, max?: number): {
|
|
|
90
90
|
text: string;
|
|
91
91
|
truncated: boolean;
|
|
92
92
|
};
|
|
93
|
-
/** 간격마다 첫 프레임만 고르는 select 식. -vsync vfr과 함께 써야 빈 자리를 복제하지 않는다 */
|
|
93
|
+
/** 간격마다 첫 프레임만 고르는 select 식. -fps_mode vfr(옛 ffmpeg는 -vsync vfr)과 함께 써야 빈 자리를 복제하지 않는다 */
|
|
94
94
|
export declare function everyInterval(intervalSec: number): string;
|
|
95
95
|
/**
|
|
96
96
|
* intervalSec마다 프레임을 뽑아 화면 글자를 읽고 ocr.json에 둔다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ocr.d.ts","sourceRoot":"","sources":["../../../src/digest/ocr.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnF,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,oDAAoD;AACpD,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,wCAAwC;AACxC,eAAO,MAAM,sBAAsB,QAA8C,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;IAIxB,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWpC,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AASD,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,oDAAoD;AACpD,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,SAAsB,GAAG,MAAM,CAcpF;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAU9F;AAID,
|
|
1
|
+
{"version":3,"file":"ocr.d.ts","sourceRoot":"","sources":["../../../src/digest/ocr.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnF,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,oDAAoD;AACpD,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,wCAAwC;AACxC,eAAO,MAAM,sBAAsB,QAA8C,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;IAIxB,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWpC,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AASD,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,oDAAoD;AACpD,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,SAAsB,GAAG,MAAM,CAcpF;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAU9F;AAID,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAsG/E"}
|
package/dist/src/digest/ocr.js
CHANGED
|
@@ -81,7 +81,7 @@ export function clipOcrText(text, max = MAX_TEXT) {
|
|
|
81
81
|
return { text: `${out}…`, truncated: true };
|
|
82
82
|
}
|
|
83
83
|
const FRAME_FILE = /^f(\d{5})\.png$/;
|
|
84
|
-
/** 간격마다 첫 프레임만 고르는 select 식. -vsync vfr과 함께 써야 빈 자리를 복제하지 않는다 */
|
|
84
|
+
/** 간격마다 첫 프레임만 고르는 select 식. -fps_mode vfr(옛 ffmpeg는 -vsync vfr)과 함께 써야 빈 자리를 복제하지 않는다 */
|
|
85
85
|
export function everyInterval(intervalSec) {
|
|
86
86
|
return `select='isnan(prev_selected_t)+gte(floor(t/${intervalSec})-floor(prev_selected_t/${intervalSec}),1)'`;
|
|
87
87
|
}
|
|
@@ -110,15 +110,21 @@ export async function runOcr(slug, opts) {
|
|
|
110
110
|
const cwd = mkdtempSync(join(tmpdir(), 'gestalt-digest-ocr-'));
|
|
111
111
|
try {
|
|
112
112
|
const video = await ensureVideo(run, transcript, store.videoCacheDir(slug), cwd);
|
|
113
|
-
const
|
|
113
|
+
const extract = (frameOpt) => run('ffmpeg', [
|
|
114
114
|
...['-hide_banner', '-nostats', '-y', '-i', video],
|
|
115
115
|
// fps 필터는 두 번째 장부터 간격 절반만큼 늦은 프레임을 내서 sec과 화면이 어긋난다.
|
|
116
116
|
// 간격마다 첫 프레임을 고르고 그 프레임의 실제 시각은 showinfo 로그에서 받는다.
|
|
117
117
|
// 작은 글자는 tesseract가 못 읽어서 1280보다 좁은 화면은 두 배로 키운다
|
|
118
118
|
...['-vf', `${everyInterval(intervalSec)},showinfo,scale='if(lt(iw,1280),iw*2,iw)':-2`],
|
|
119
|
-
|
|
120
|
-
...['-vsync', 'vfr', join(cwd, 'f%05d.png')],
|
|
119
|
+
...[frameOpt, 'vfr', join(cwd, 'f%05d.png')],
|
|
121
120
|
], { cwd, timeoutMs: timeoutFor(transcript.meta.durationSec, 0.2) });
|
|
121
|
+
// -vsync는 ffmpeg 9에서 없어졌고 -fps_mode는 5.1부터 있다. 새 옵션을 모르는 옛 ffmpeg만 -vsync로 다시 돌린다
|
|
122
|
+
const { stderr } = await extract('-fps_mode').catch((e) => {
|
|
123
|
+
if (e instanceof CommandError && /Unrecognized option 'fps_mode'/.test(e.stderr)) {
|
|
124
|
+
return extract('-vsync');
|
|
125
|
+
}
|
|
126
|
+
throw e;
|
|
127
|
+
});
|
|
122
128
|
const times = parseShowinfo(stderr);
|
|
123
129
|
const frames = readdirSync(cwd)
|
|
124
130
|
.filter((f) => FRAME_FILE.test(f))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ocr.js","sourceRoot":"","sources":["../../../src/digest/ocr.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ocr.js","sourceRoot":"","sources":["../../../src/digest/ocr.ts"],"names":[],"mappings":"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"}
|