@tienne/gestalt 0.104.0 → 0.106.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.
@@ -1 +1 @@
1
- {"version":3,"file":"render-html.js","sourceRoot":"","sources":["../../../src/digest/render-html.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-html.js","sourceRoot":"","sources":["../../../src/digest/render-html.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,18 @@ export declare function rangeSpan(range: readonly [number, number], segments: re
12
12
  to: number;
13
13
  } | null;
14
14
  /**
15
- * 툴바의 분량과 난이도 버튼으로 고를 수 있는 리포트인지 본다.
15
+ * 분량과 난이도만으로 가려지는 리포트인지 본다. 툴바의 쉽게 보기 토글이 이 리포트끼리 오간다.
16
16
  * 구간이나 프롬프트가 붙었거나 첫 리포트와 언어가 다르면 따로 고르는 리포트다
17
17
  */
18
18
  export declare function isPreset(options: ReportOptions, base: ReportOptions): boolean;
19
+ /**
20
+ * 쉽게 보기 토글이 오갈 짝의 자리. 난이도만 반대고 분량, 언어, 구간, 요청이 같아야 짝이라 키로 비교한다. 없으면 -1
21
+ */
22
+ export declare function pairIndex(reports: readonly Report[], i: number): number;
23
+ /**
24
+ * 뷰어를 처음 열 때 보일 리포트. 스킬이 길게와 보통을 기본으로 만들므로 그 조합을 먼저 찾고 없으면 첫 리포트를 연다
25
+ */
26
+ export declare function initialReportIndex(reports: readonly Report[]): number;
19
27
  export declare function reportLabel(options: ReportOptions, withHours?: boolean): string;
20
28
  export declare function findReport(digest: Digest, key: string): Report | undefined;
21
29
  /** 같은 키의 리포트가 있으면 그 자리에 바꿔 끼우고 없으면 뒤에 붙인다 */
@@ -1 +1 @@
1
- {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../../src/digest/reports.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE1E,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,CAIhE,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,CAGxE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CASxD;AAED,wDAAwD;AACxD,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CASrC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAE7E;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,UAAQ,GAAG,MAAM,CAU7E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED,6CAA6C;AAC7C,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAOvC"}
1
+ {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../../src/digest/reports.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE1E,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,CAIhE,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,CAGxE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CASxD;AAED,wDAAwD;AACxD,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CASrC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAE7E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQvE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAQrE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,UAAQ,GAAG,MAAM,CAU7E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED,6CAA6C;AAC7C,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAOvC"}
@@ -37,12 +37,35 @@ export function rangeSpan(range, segments) {
37
37
  return from < 0 ? null : { from, to };
38
38
  }
39
39
  /**
40
- * 툴바의 분량과 난이도 버튼으로 고를 수 있는 리포트인지 본다.
40
+ * 분량과 난이도만으로 가려지는 리포트인지 본다. 툴바의 쉽게 보기 토글이 이 리포트끼리 오간다.
41
41
  * 구간이나 프롬프트가 붙었거나 첫 리포트와 언어가 다르면 따로 고르는 리포트다
42
42
  */
43
43
  export function isPreset(options, base) {
44
44
  return !options.range && !options.prompt && options.lang === base.lang;
45
45
  }
46
+ /**
47
+ * 쉽게 보기 토글이 오갈 짝의 자리. 난이도만 반대고 분량, 언어, 구간, 요청이 같아야 짝이라 키로 비교한다. 없으면 -1
48
+ */
49
+ export function pairIndex(reports, i) {
50
+ const options = reports[i]?.options;
51
+ if (!options)
52
+ return -1;
53
+ const want = reportKey({
54
+ ...options,
55
+ difficulty: options.difficulty === 'easy' ? 'normal' : 'easy',
56
+ });
57
+ return reports.findIndex((r) => reportKey(r.options) === want);
58
+ }
59
+ /**
60
+ * 뷰어를 처음 열 때 보일 리포트. 스킬이 길게와 보통을 기본으로 만들므로 그 조합을 먼저 찾고 없으면 첫 리포트를 연다
61
+ */
62
+ export function initialReportIndex(reports) {
63
+ const base = reports[0]?.options;
64
+ if (!base)
65
+ return 0;
66
+ const at = reports.findIndex((r) => isPreset(r.options, base) && r.options.length === 'long' && r.options.difficulty === 'normal');
67
+ return at >= 0 ? at : 0;
68
+ }
46
69
  export function reportLabel(options, withHours = false) {
47
70
  const parts = [`${LENGTH_LABEL[options.length]}, ${DIFFICULTY_LABEL[options.difficulty]}`];
48
71
  if (options.range) {
@@ -1 +1 @@
1
- {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../../src/digest/reports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../../src/digest/reports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,CAAC,MAAM,YAAY,GAA4C;IACnE,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAgD;IAC3E,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;CACX,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,OAAsB;IAC9C,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,SAAS,CACvB,KAAgC,EAChC,QAA4B;IAE5B,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACZ,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,SAAS;QAC9D,IAAI,IAAI,GAAG,CAAC;YAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAsB,EAAE,IAAmB;IAClE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAA0B,EAAE,CAAS;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,SAAS,CAAC;QACrB,GAAG,OAAO;QACV,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;KAC9D,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA0B;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IACpB,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,QAAQ,CAChG,CAAC;IACF,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAsB,EAAE,SAAS,GAAG,KAAK;IACnE,MAAM,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC3F,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CACR,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,GAAW;IACpD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,MAAc;IAEd,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;;QAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;AAC/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-js.d.ts","sourceRoot":"","sources":["../../../src/digest/viewer-js.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,QAytBrB,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,QAAkE,CAAC"}
1
+ {"version":3,"file":"viewer-js.d.ts","sourceRoot":"","sources":["../../../src/digest/viewer-js.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,QAkuBrB,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,QAAkE,CAAC"}
@@ -300,7 +300,7 @@ export const VIEWER_JS = VIEWER_LOGIC_JS +
300
300
  };
301
301
  }
302
302
 
303
- // 사용자가 패널을 직접 움직이면 3초 동안 멈춘다
303
+ // 일시정지 중에도 하이라이트는 옮긴다. 사용자가 패널을 직접 움직이면 3초 동안 스크롤을 멈춘다
304
304
  function setupScriptFollow(player) {
305
305
  if (!player.live) return;
306
306
  var panel = document.getElementById('script-body');
@@ -315,14 +315,20 @@ export const VIEWER_JS = VIEWER_LOGIC_JS +
315
315
  var t = player.currentTime();
316
316
  if (t === null || t === undefined) return;
317
317
  var idx = findSegmentIndex(starts, t);
318
- if (idx === current) return;
319
- if (lines[current]) lines[current].classList.remove('is-playing');
320
- current = idx;
318
+ var changed = idx !== current;
319
+ if (changed) {
320
+ if (lines[current]) lines[current].classList.remove('is-playing');
321
+ current = idx;
322
+ }
321
323
  var li = lines[idx];
322
324
  if (!li) return;
323
- li.classList.add('is-playing');
324
- if (!panel || Date.now() < holdUntil) return;
325
- panel.scrollTo({ top: Math.max(0, li.offsetTop - panel.clientHeight / 3), behavior: reduceMotion ? 'auto' : 'smooth' });
325
+ if (changed) li.classList.add('is-playing');
326
+ if (!panel) return;
327
+ var visible = isLineVisible(li.offsetTop, li.offsetHeight, panel.scrollTop, panel.clientHeight);
328
+ if (!shouldScrollScript(player.state(), changed, Date.now(), holdUntil, visible)) return;
329
+ var top = Math.max(0, li.offsetTop - panel.clientHeight / 3);
330
+ if (Math.abs(top - panel.scrollTop) <= 1) return;
331
+ panel.scrollTo({ top: top, behavior: reduceMotion ? 'auto' : 'smooth' });
326
332
  }, 250);
327
333
  }
328
334
 
@@ -344,8 +350,9 @@ export const VIEWER_JS = VIEWER_LOGIC_JS +
344
350
  document.querySelectorAll('section.sec').forEach(function(s){ io.observe(s); });
345
351
  }
346
352
 
347
- // 읽는 소섹션이 바뀌면 영상을 그 구간 첫 문장으로 옮긴다. 이미 그 구간을 재생 중이면 그대로 두고 빠르게 훑을 때는 멈춘 자리만 따른다.
353
+ // 읽는 소섹션이 바뀌면 영상을 그 구간 첫 문장으로 옮긴다. 재생 중이면 요약을 스크롤해도 영상을 옮기지 않고 빠르게 훑을 때는 멈춘 자리만 따른다.
348
354
  // 방금 시각을 눌렀으면 유예가 끝난 뒤 영상이 멈춰 있을 때만 따라간다. 기다리는 사이 그 소섹션이 화면에서 빠지면 따라가지 않는다
355
+ // 앞선 이동의 버퍼링이 덜 끝났으면 재생 중으로 읽히므로 300ms 뒤 두 번까지 다시 본다
349
356
  function setupSubsectionFollow(player) {
350
357
  var subs = document.querySelectorAll('.sub[data-from]');
351
358
  if (!player.live || !('IntersectionObserver' in window) || !subs.length) return;
@@ -354,6 +361,15 @@ export const VIEWER_JS = VIEWER_LOGIC_JS +
354
361
  var t = player.currentTime();
355
362
  return t === null || t === undefined ? -1 : findSegmentIndex(starts, t);
356
363
  };
364
+ var follow = function(target, from, to, tries){
365
+ if (!player.live || pendingSub !== target) return;
366
+ if (shouldRetryFollow(player.state(), tries)) {
367
+ followTimer = setTimeout(function(){ follow(target, from, to, tries - 1); }, 300);
368
+ return;
369
+ }
370
+ if (!shouldFollowHeld(player.state(), currentIdx(), from, to, Date.now(), manualUntil)) return;
371
+ if (typeof starts[from] === 'number') player.cue(starts[from]);
372
+ };
357
373
  var subIo = new IntersectionObserver(function(entries){
358
374
  entries.forEach(function(en){
359
375
  if (!en.isIntersecting) {
@@ -368,21 +384,16 @@ export const VIEWER_JS = VIEWER_LOGIC_JS +
368
384
  var to = Number(en.target.getAttribute('data-to'));
369
385
  clearTimeout(followTimer);
370
386
  clearTimeout(heldTimer);
371
- pendingSub = en.target;
387
+ var target = pendingSub = en.target;
372
388
  followTimer = setTimeout(function(){
373
389
  if (!player.live) return;
374
390
  var now = Date.now();
375
391
  // 시각을 누른 직후에 넘어온 소섹션은 버리지 않고 유예가 끝난 뒤 한 번만 다시 본다
376
392
  if (now < manualUntil) {
377
- heldTimer = setTimeout(function(){
378
- if (!player.live) return;
379
- if (!shouldFollowHeld(player.state(), currentIdx(), from, to, Date.now(), manualUntil)) return;
380
- if (typeof starts[from] === 'number') player.cue(starts[from]);
381
- }, manualUntil - now + 50);
393
+ heldTimer = setTimeout(function(){ follow(target, from, to, 2); }, manualUntil - now + 50);
382
394
  return;
383
395
  }
384
- if (!shouldFollow(currentIdx(), from, to, now, manualUntil)) return;
385
- if (typeof starts[from] === 'number') player.cue(starts[from]);
396
+ follow(target, from, to, 2);
386
397
  }, 400);
387
398
  });
388
399
  }, { rootMargin: '-15% 0px -70% 0px' });
@@ -530,55 +541,53 @@ export const VIEWER_JS = VIEWER_LOGIC_JS +
530
541
  };
531
542
  }
532
543
 
533
- // 툴바는 분량과 난이도 조합으로 리포트를 고른다. 없는 조합은 서버가 만들지 않고 생성 명령만 보여 준다
544
+ // 툴바는 쉽게 보기 토글 하나로 보통과 쉬운 리포트를 오간다. 없는 리포트는 서버가 만들지 않고 생성 명령만 보여 준다
534
545
  function setupReports() {
535
546
  var REPORT_KEY = 'gestalt-digest-report:' + data.slug;
536
547
  var boxes = document.querySelectorAll('.report[data-ri]');
537
548
  var maps = document.querySelectorAll('.minimap[data-ri]');
538
- var lengthBtns = document.querySelectorAll('.report-bar [data-length]');
539
- var diffBtns = document.querySelectorAll('.report-bar [data-difficulty]');
549
+ var easyToggle = document.getElementById('easy-toggle');
540
550
  var select = document.getElementById('report-select');
541
551
  var missing = document.getElementById('report-missing');
552
+ var missingMsg = document.getElementById('report-missing-msg');
553
+ var cmdWrap = document.getElementById('report-cmd-wrap');
554
+ var status = document.getElementById('report-status');
542
555
  var cmd = document.getElementById('report-cmd');
543
556
  var copyCmd = document.getElementById('copy-cmd');
544
- var current = 0;
545
- function press(list, attr, value){
546
- list.forEach(function(b){ b.setAttribute('aria-pressed', b.getAttribute(attr) === value ? 'true' : 'false'); });
557
+ var initial = data.reports[data.initial] ? data.initial : 0;
558
+ var current = initial;
559
+ function hideMissing(){
560
+ if (missing) missing.hidden = true;
561
+ if (status) status.textContent = '';
547
562
  }
548
563
  function show(ri){
549
- if (!data.reports[ri]) ri = 0;
564
+ if (!data.reports[ri]) ri = initial;
550
565
  current = ri;
551
566
  boxes.forEach(function(b){ b.hidden = Number(b.getAttribute('data-ri')) !== ri; });
552
567
  maps.forEach(function(m){ m.hidden = Number(m.getAttribute('data-ri')) !== ri; });
553
568
  var r = data.reports[ri];
554
- press(lengthBtns, 'data-length', r.length);
555
- press(diffBtns, 'data-difficulty', r.difficulty);
569
+ if (easyToggle) easyToggle.setAttribute('aria-pressed', r.difficulty === 'easy' ? 'true' : 'false');
556
570
  if (select) select.value = String(ri);
557
- if (missing) missing.hidden = true;
571
+ hideMissing();
558
572
  try { localStorage.setItem(REPORT_KEY, r.key); } catch (e) {}
559
573
  }
560
- function choose(length, difficulty){
561
- var ri = pickReport(data.reports, length, difficulty);
574
+ function choose(difficulty){
575
+ var r = data.reports[current];
576
+ var ri = r.pair;
577
+ // 짝이 없는 옛 짧게, 기본 리포트는 길게로 간다. 스킬이 길게만 만들어서다. 구간이나 요청이 붙은 리포트는 다른 리포트로 넘기지 않는다
578
+ if (ri < 0 && r.preset) ri = pickReport(data.reports, 'long', difficulty);
562
579
  if (ri >= 0) { show(ri); return; }
563
- press(lengthBtns, 'data-length', length);
564
- press(diffBtns, 'data-difficulty', difficulty);
565
- if (cmd) cmd.textContent = reportCommand(data.slug, length, difficulty, data.reports[current].lang);
580
+ var notice = missingNotice(r, data.slug, difficulty);
581
+ if (missingMsg) missingMsg.textContent = notice.msg;
582
+ if (cmdWrap) cmdWrap.hidden = notice.cmd === null;
583
+ if (cmd) cmd.textContent = notice.cmd || '';
566
584
  if (missing) missing.hidden = false;
585
+ if (status) status.textContent = notice.msg;
567
586
  }
568
- function pressedOf(list, attr){
569
- var v = null;
570
- list.forEach(function(b){ if (b.getAttribute('aria-pressed') === 'true') v = b.getAttribute(attr); });
571
- return v;
572
- }
573
- lengthBtns.forEach(function(b){
574
- b.addEventListener('click', function(){
575
- choose(b.getAttribute('data-length'), pressedOf(diffBtns, 'data-difficulty') || data.reports[current].difficulty);
576
- });
577
- });
578
- diffBtns.forEach(function(b){
579
- b.addEventListener('click', function(){
580
- choose(pressedOf(lengthBtns, 'data-length') || data.reports[current].length, b.getAttribute('data-difficulty'));
581
- });
587
+ // 눌림 상태는 보이는 리포트만 따른다. 안내가 떠 있으면 다시 눌러 닫는다
588
+ if (easyToggle) easyToggle.addEventListener('click', function(){
589
+ if (missing && !missing.hidden) { hideMissing(); return; }
590
+ choose(data.reports[current].difficulty === 'easy' ? 'normal' : 'easy');
582
591
  });
583
592
  if (select) select.addEventListener('change', function(){ show(Number(select.value)); });
584
593
  if (copyCmd && cmd) copyCmd.addEventListener('click', function(){
@@ -586,14 +595,14 @@ export const VIEWER_JS = VIEWER_LOGIC_JS +
586
595
  });
587
596
  var saved = null;
588
597
  try { saved = localStorage.getItem(REPORT_KEY); } catch (e) {}
589
- var start = 0;
598
+ var start = initial;
590
599
  data.reports.forEach(function(r, i){ if (r.key === saved) start = i; });
591
600
  // 공유된 앵커가 다른 리포트의 섹션을 가리키면 그 리포트를 연다
592
601
  var anchor = safeDecode(location.hash.slice(1));
593
602
  var target = anchor ? document.getElementById(anchor) : null;
594
603
  var owner = target && target.closest ? target.closest('.report[data-ri]') : null;
595
604
  if (owner) start = Number(owner.getAttribute('data-ri'));
596
- if (start !== 0) show(start);
605
+ if (start !== initial) show(start);
597
606
  if (owner && target) target.scrollIntoView();
598
607
  return { current: function(){ return current; } };
599
608
  }
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-js.js","sourceRoot":"","sources":["../../../src/digest/viewer-js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,iCAAiC;AACjC,MAAM,CAAC,MAAM,SAAS,GACpB,eAAe;IACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAutBD,CAAC;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"viewer-js.js","sourceRoot":"","sources":["../../../src/digest/viewer-js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,iCAAiC;AACjC,MAAM,CAAC,MAAM,SAAS,GACpB,eAAe;IACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAguBD,CAAC;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC"}
@@ -3,14 +3,22 @@
3
3
  * 테스트가 이 문자열을 그대로 실행해 본다. DOM과 유튜브 플레이어를 다루는 IIFE는 viewer-js.ts에 있고
4
4
  * 테스트에서 문법만 확인한다. OCR처럼 Node 쪽에서 같은 판단이 필요한 코드는 뷰어 스크립트 대신 이 모듈을 가져온다.
5
5
  */
6
- export declare const VIEWER_LOGIC_JS = "\nfunction findSegmentIndex(starts, t) {\n if (!starts.length || !(t >= starts[0])) return -1;\n var lo = 0, hi = starts.length - 1;\n while (lo < hi) {\n var mid = (lo + hi + 1) >> 1;\n if (starts[mid] <= t) lo = mid; else hi = mid - 1;\n }\n return lo;\n}\nfunction shouldFollow(idx, from, to, now, manualUntil) {\n if (now < manualUntil) return false;\n return !(idx >= from && idx <= to);\n}\nfunction shouldFollowHeld(state, idx, from, to, now, manualUntil) {\n if (state === 1 || state === 3) return false;\n return shouldFollow(idx, from, to, now, manualUntil);\n}\nfunction cueAction(state) {\n return state === 1 || state === 2 || state === 3 ? 'seek' : 'cue';\n}\nfunction citeWindow(from, to, max) {\n var end = Math.min(to, from + max - 1);\n return { end: end, more: Math.max(0, to - end) };\n}\nfunction pickReport(reports, length, difficulty) {\n for (var i = 0; i < reports.length; i++) {\n var r = reports[i];\n if (r.preset && r.length === length && r.difficulty === difficulty) return i;\n }\n return -1;\n}\nfunction reportCommand(slug, length, difficulty, lang) {\n var cmd = '/gestalt:video-digest slug=' + slug + ' length=' + length + ' difficulty=' + difficulty;\n return lang ? cmd + ' reportLang=' + lang : cmd;\n}\nfunction templateCommand(slug, id, lang) {\n var cmd = '/gestalt:video-digest slug=' + slug + ' templates=' + id;\n return lang ? cmd + ' reportLang=' + lang : cmd;\n}\nfunction tabStep(i, n, key) {\n if (key === 'ArrowRight') return (i + 1) % n;\n if (key === 'ArrowLeft') return (i - 1 + n) % n;\n if (key === 'Home') return 0;\n if (key === 'End') return n - 1;\n return -1;\n}\nfunction safeDecode(s) {\n try { return decodeURIComponent(s); } catch (e) { return ''; }\n}\nfunction videoState(ended, paused, time, readyState) {\n if (ended) return 0;\n if (paused) return time > 0 ? 2 : -1;\n return readyState < 3 ? 3 : 1;\n}\n// \uB450 \uBCF5\uC0AC \uBC84\uD2BC\uC774 \uB77C\uC774\uBE0C \uC601\uC5ED \uD558\uB098\uB97C \uAC19\uC774 \uC368\uC11C \uD0C0\uC774\uBA38\uB3C4 \uD558\uB098\uB85C \uBB36\uB294\uB2E4. \uC55E \uD0C0\uC774\uBA38\uAC00 \uB0A8\uC73C\uBA74 \uB4A4 \uBB38\uAD6C\uB97C \uC77C\uCC0D \uC9C0\uC6B4\uB2E4\n// \uBC84\uD2BC \uAE00\uC790\uB9CC \uBC14\uAFB8\uBA74 \uC2A4\uD06C\uB9B0\uB9AC\uB354\uAC00 \uACB0\uACFC\uB97C \uC548 \uC77D\uC5B4\uC11C \uACB0\uACFC \uBB38\uAD6C\uB294 \uB77C\uC774\uBE0C \uC601\uC5ED\uC5D0 \uB530\uB85C \uC4F4\uB2E4.\n// \uAC19\uC740 \uBB38\uAD6C\uB97C \uADF8\uB300\uB85C \uB2E4\uC2DC \uB123\uC73C\uBA74 \uC548 \uC77D\uB294 \uB9AC\uB354\uAC00 \uC788\uC5B4\uC11C \uD55C \uBC88 \uBE44\uC6B0\uACE0 setTimeout 0\uC73C\uB85C \uBBF8\uB904 \uC4F4\uB2E4\nfunction makeFlash(getStatus) {\n var flashTimer = null;\n var flashBtn = null;\n var flashLabel = '';\n return function flash(btn, label, failed) {\n var status = getStatus();\n clearTimeout(flashTimer);\n if (flashBtn && flashBtn !== btn) flashBtn.textContent = flashLabel;\n flashBtn = btn;\n flashLabel = label;\n btn.textContent = failed ? '\uBCF5\uC0AC \uC2E4\uD328' : '\uBCF5\uC0AC\uD588\uC5B4\uC694';\n if (status) status.textContent = '';\n flashTimer = setTimeout(function(){\n if (status) status.textContent = failed ? '\uBCF5\uC0AC\uD558\uC9C0 \uBABB\uD588\uC5B4\uC694. \uC9C1\uC811 \uC120\uD0DD\uD574 \uBCF5\uC0AC\uD574 \uC8FC\uC138\uC694' : '\uBCF5\uC0AC\uD588\uC5B4\uC694';\n flashTimer = setTimeout(function(){\n btn.textContent = label;\n flashBtn = null;\n if (status) status.textContent = '';\n }, failed ? 3000 : 1500);\n }, 0);\n };\n}\n";
6
+ export declare const VIEWER_LOGIC_JS = "\nfunction findSegmentIndex(starts, t) {\n if (!starts.length || !(t >= starts[0])) return -1;\n var lo = 0, hi = starts.length - 1;\n while (lo < hi) {\n var mid = (lo + hi + 1) >> 1;\n if (starts[mid] <= t) lo = mid; else hi = mid - 1;\n }\n return lo;\n}\nfunction shouldFollow(idx, from, to, now, manualUntil) {\n if (now < manualUntil) return false;\n return !(idx >= from && idx <= to);\n}\nfunction isPlaying(state) {\n return state === 1 || state === 3;\n}\nfunction shouldFollowHeld(state, idx, from, to, now, manualUntil) {\n if (isPlaying(state)) return false;\n return shouldFollow(idx, from, to, now, manualUntil);\n}\nfunction shouldScrollScript(state, changed, now, holdUntil, visible) {\n if (!isPlaying(state) || now < holdUntil) return false;\n return changed || !visible;\n}\nfunction shouldRetryFollow(state, tries) {\n return state === 3 && tries > 0;\n}\nfunction isLineVisible(top, height, scrollTop, clientHeight) {\n if (height > clientHeight) return top >= scrollTop && top < scrollTop + clientHeight;\n return top >= scrollTop && top + height <= scrollTop + clientHeight;\n}\nfunction cueAction(state) {\n return state === 1 || state === 2 || state === 3 ? 'seek' : 'cue';\n}\nfunction citeWindow(from, to, max) {\n var end = Math.min(to, from + max - 1);\n return { end: end, more: Math.max(0, to - end) };\n}\nfunction pickReport(reports, length, difficulty) {\n for (var i = 0; i < reports.length; i++) {\n var r = reports[i];\n if (r.preset && r.length === length && r.difficulty === difficulty) return i;\n }\n return -1;\n}\nfunction reportCommand(slug, difficulty, lang, range) {\n var cmd = '/gestalt:video-digest slug=' + slug + ' difficulty=' + difficulty;\n if (range) cmd += ' range=' + Math.floor(range[0]) + '-' + Math.ceil(range[1]);\n return lang ? cmd + ' reportLang=' + lang : cmd;\n}\nfunction missingNotice(r, slug, difficulty) {\n if (r.prompted) return { msg: '\uC694\uCCAD\uC744 \uBD99\uC5EC \uB9CC\uB4E0 \uB9AC\uD3EC\uD2B8\uB77C \uC9DD\uC774 \uC5C6\uC5B4\uC694. \uAC19\uC740 \uC694\uCCAD\uC73C\uB85C \uB2E4\uC2DC \uB9CC\uB4E4\uC5B4 \uC8FC\uC138\uC694.', cmd: null };\n return { msg: '\uC774 \uB9AC\uD3EC\uD2B8\uB294 \uC544\uC9C1 \uC5C6\uC5B4\uC694. \uC544\uB798 \uBA85\uB839\uC744 \uC138\uC158\uC5D0 \uBD99\uC5EC \uB123\uC73C\uBA74 \uB9CC\uB4E4\uC5B4\uC694.', cmd: reportCommand(slug, difficulty, r.lang, r.range) };\n}\nfunction templateCommand(slug, id, lang) {\n var cmd = '/gestalt:video-digest slug=' + slug + ' templates=' + id;\n return lang ? cmd + ' reportLang=' + lang : cmd;\n}\nfunction tabStep(i, n, key) {\n if (key === 'ArrowRight') return (i + 1) % n;\n if (key === 'ArrowLeft') return (i - 1 + n) % n;\n if (key === 'Home') return 0;\n if (key === 'End') return n - 1;\n return -1;\n}\nfunction safeDecode(s) {\n try { return decodeURIComponent(s); } catch (e) { return ''; }\n}\nfunction videoState(ended, paused, time, readyState) {\n if (ended) return 0;\n if (paused) return time > 0 ? 2 : -1;\n return readyState < 3 ? 3 : 1;\n}\n// \uB450 \uBCF5\uC0AC \uBC84\uD2BC\uC774 \uB77C\uC774\uBE0C \uC601\uC5ED \uD558\uB098\uB97C \uAC19\uC774 \uC368\uC11C \uD0C0\uC774\uBA38\uB3C4 \uD558\uB098\uB85C \uBB36\uB294\uB2E4. \uC55E \uD0C0\uC774\uBA38\uAC00 \uB0A8\uC73C\uBA74 \uB4A4 \uBB38\uAD6C\uB97C \uC77C\uCC0D \uC9C0\uC6B4\uB2E4\n// \uBC84\uD2BC \uAE00\uC790\uB9CC \uBC14\uAFB8\uBA74 \uC2A4\uD06C\uB9B0\uB9AC\uB354\uAC00 \uACB0\uACFC\uB97C \uC548 \uC77D\uC5B4\uC11C \uACB0\uACFC \uBB38\uAD6C\uB294 \uB77C\uC774\uBE0C \uC601\uC5ED\uC5D0 \uB530\uB85C \uC4F4\uB2E4.\n// \uAC19\uC740 \uBB38\uAD6C\uB97C \uADF8\uB300\uB85C \uB2E4\uC2DC \uB123\uC73C\uBA74 \uC548 \uC77D\uB294 \uB9AC\uB354\uAC00 \uC788\uC5B4\uC11C \uD55C \uBC88 \uBE44\uC6B0\uACE0 setTimeout 0\uC73C\uB85C \uBBF8\uB904 \uC4F4\uB2E4\nfunction makeFlash(getStatus) {\n var flashTimer = null;\n var flashBtn = null;\n var flashLabel = '';\n return function flash(btn, label, failed) {\n var status = getStatus();\n clearTimeout(flashTimer);\n if (flashBtn && flashBtn !== btn) flashBtn.textContent = flashLabel;\n flashBtn = btn;\n flashLabel = label;\n btn.textContent = failed ? '\uBCF5\uC0AC \uC2E4\uD328' : '\uBCF5\uC0AC\uD588\uC5B4\uC694';\n if (status) status.textContent = '';\n flashTimer = setTimeout(function(){\n if (status) status.textContent = failed ? '\uBCF5\uC0AC\uD558\uC9C0 \uBABB\uD588\uC5B4\uC694. \uC9C1\uC811 \uC120\uD0DD\uD574 \uBCF5\uC0AC\uD574 \uC8FC\uC138\uC694' : '\uBCF5\uC0AC\uD588\uC5B4\uC694';\n flashTimer = setTimeout(function(){\n btn.textContent = label;\n flashBtn = null;\n if (status) status.textContent = '';\n }, failed ? 3000 : 1500);\n }, 0);\n };\n}\n";
7
7
  export interface ViewerLogic {
8
8
  /** 재생 시각 t에 해당하는 문장 번호. 첫 문장보다 이르면 -1 */
9
9
  findSegmentIndex: (starts: number[], t: number) => number;
10
10
  /** 읽는 소섹션이 바뀌었을 때 영상을 그 구간으로 옮길지 */
11
11
  shouldFollow: (idx: number, from: number, to: number, now: number, manualUntil: number) => boolean;
12
- /** 시각을 누른 직후라 미뤄 둔 소섹션 이동을 유예가 끝난 뒤 할지. 그사이 재생이나 버퍼링 중이면 사용자가 옮긴 자리를 둔다 */
12
+ /** 재생 중인지. 버퍼링도 재생 중으로 본다 */
13
+ isPlaying: (state: number) => boolean;
14
+ /** 읽는 소섹션으로 영상을 옮길지. 재생이나 버퍼링 중이면 보던 자리를 둔다. 시각을 누른 직후 미뤄 둔 이동도 유예가 끝난 뒤 이걸로 본다 */
13
15
  shouldFollowHeld: (state: number, idx: number, from: number, to: number, now: number, manualUntil: number) => boolean;
16
+ /** 스크립트 패널을 현재 문장으로 스크롤할지. 재생 중이고 사용자가 만지는 중이 아닐 때, 문장이 바뀌었거나 현재 줄이 패널 밖일 때만 */
17
+ shouldScrollScript: (state: number, changed: boolean, now: number, holdUntil: number, visible: boolean) => boolean;
18
+ /** 직전 이동의 버퍼링(3)이 덜 끝나 재생 중으로 읽힐 때 잠시 뒤 다시 볼지. 남은 횟수가 0이면 그대로 판정한다 */
19
+ shouldRetryFollow: (state: number, tries: number) => boolean;
20
+ /** 스크립트 줄이 패널 안에 보이는지. 줄이 패널보다 높으면 윗변이 패널 안에 있을 때 보인다고 친다. 안 그러면 재생 중 매번 스크롤을 다시 건다 */
21
+ isLineVisible: (top: number, height: number, scrollTop: number, clientHeight: number) => boolean;
14
22
  /** 유튜브 재생 상태별로 seekTo를 쓸지 cueVideoById를 쓸지 */
15
23
  cueAction: (state: number) => 'seek' | 'cue';
16
24
  /** 출처 툴팁에 보일 마지막 문장 번호와 생략한 문장 수 */
@@ -18,14 +26,23 @@ export interface ViewerLogic {
18
26
  end: number;
19
27
  more: number;
20
28
  };
21
- /** 툴바의 분량과 난이도 조합에 맞는 리포트 자리. 없으면 -1 */
29
+ /** 분량과 난이도가 맞는 툴바용 리포트 자리. 없으면 -1 */
22
30
  pickReport: (reports: {
23
31
  preset: boolean;
24
32
  length: string;
25
33
  difficulty: string;
26
34
  }[], length: string, difficulty: string) => number;
27
- /** 없는 조합을 고르면 복사해 주는 생성 명령. 지금 보는 리포트의 언어를 따라가야 다른 언어 리포트가 안 생긴다 */
28
- reportCommand: (slug: string, length: string, difficulty: string, lang?: string) => string;
35
+ /** 없는 리포트를 고르면 복사해 주는 생성 명령. 스킬이 길게만 만들어서 분량은 싣지 않는다. 지금 보는 리포트의 언어와 구간을 따라가야 엉뚱한 리포트가 안 생긴다 */
36
+ reportCommand: (slug: string, difficulty: string, lang?: string, range?: [number, number]) => string;
37
+ /** 짝이 없는 리포트에서 토글을 누르면 띄울 안내와 복사할 명령. 요청문은 따옴표가 섞일 수 있어 명령 인자로 안전하게 못 넘기니 요청 리포트는 명령 없이 안내만 한다 */
38
+ missingNotice: (r: {
39
+ prompted: boolean;
40
+ lang?: string;
41
+ range?: [number, number];
42
+ }, slug: string, difficulty: string) => {
43
+ msg: string;
44
+ cmd: string | null;
45
+ };
29
46
  /** "+ 더 만들기"에서 템플릿을 고르면 복사해 주는 명령. 언어는 지금 보는 리포트를 따른다 */
30
47
  templateCommand: (slug: string, id: string, lang?: string) => string;
31
48
  /** 탭 목록에서 방향키, Home, End로 옮겨 갈 자리. 다른 키면 -1 */
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-logic.d.ts","sourceRoot":"","sources":["../../../src/digest/viewer-logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,eAAe,ghHAgF3B,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,oCAAoC;IACpC,YAAY,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC;IACb,2EAA2E;IAC3E,gBAAgB,EAAE,CAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC;IACb,8CAA8C;IAC9C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,KAAK,CAAC;IAC7C,oCAAoC;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF,wCAAwC;IACxC,UAAU,EAAE,CACV,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,EAClE,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,MAAM,CAAC;IACZ,oEAAoE;IACpE,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3F,yDAAyD;IACzD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,+CAA+C;IAC/C,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACvD,6CAA6C;IAC7C,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,2DAA2D;IAC3D,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1F,gFAAgF;IAChF,SAAS,EAAE,CACT,SAAS,EAAE,MAAM;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,KACnD,CAAC,GAAG,EAAE;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACpF;AAED,eAAO,MAAM,WAAW,EAEjB,WAAW,CAAC;AAEnB,eAAO,MAAM,gBAAgB,WAhDA,MAAM,EAAE,KAAK,MAAM,KAAK,MAgDO,CAAC"}
1
+ {"version":3,"file":"viewer-logic.d.ts","sourceRoot":"","sources":["../../../src/digest/viewer-logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,eAAe,moJAmG3B,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,oCAAoC;IACpC,YAAY,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC;IACb,6BAA6B;IAC7B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,mFAAmF;IACnF,gBAAgB,EAAE,CAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC;IACb,gFAAgF;IAChF,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,KACb,OAAO,CAAC;IACb,sEAAsE;IACtE,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D,uFAAuF;IACvF,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IACjG,8CAA8C;IAC9C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,KAAK,CAAC;IAC7C,oCAAoC;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF,qCAAqC;IACrC,UAAU,EAAE,CACV,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,EAClE,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,MAAM,CAAC;IACZ,gGAAgG;IAChG,aAAa,EAAE,CACb,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KACrB,MAAM,CAAC;IACZ,kGAAkG;IAClG,aAAa,EAAE,CACb,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,EACjE,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,KACf;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACzC,yDAAyD;IACzD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,+CAA+C;IAC/C,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACvD,6CAA6C;IAC7C,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,2DAA2D;IAC3D,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1F,gFAAgF;IAChF,SAAS,EAAE,CACT,SAAS,EAAE,MAAM;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,KACnD,CAAC,GAAG,EAAE;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACpF;AAED,eAAO,MAAM,WAAW,EAEjB,WAAW,CAAC;AAEnB,eAAO,MAAM,gBAAgB,WAzEA,MAAM,EAAE,KAAK,MAAM,KAAK,MAyEO,CAAC"}
@@ -17,10 +17,24 @@ function shouldFollow(idx, from, to, now, manualUntil) {
17
17
  if (now < manualUntil) return false;
18
18
  return !(idx >= from && idx <= to);
19
19
  }
20
+ function isPlaying(state) {
21
+ return state === 1 || state === 3;
22
+ }
20
23
  function shouldFollowHeld(state, idx, from, to, now, manualUntil) {
21
- if (state === 1 || state === 3) return false;
24
+ if (isPlaying(state)) return false;
22
25
  return shouldFollow(idx, from, to, now, manualUntil);
23
26
  }
27
+ function shouldScrollScript(state, changed, now, holdUntil, visible) {
28
+ if (!isPlaying(state) || now < holdUntil) return false;
29
+ return changed || !visible;
30
+ }
31
+ function shouldRetryFollow(state, tries) {
32
+ return state === 3 && tries > 0;
33
+ }
34
+ function isLineVisible(top, height, scrollTop, clientHeight) {
35
+ if (height > clientHeight) return top >= scrollTop && top < scrollTop + clientHeight;
36
+ return top >= scrollTop && top + height <= scrollTop + clientHeight;
37
+ }
24
38
  function cueAction(state) {
25
39
  return state === 1 || state === 2 || state === 3 ? 'seek' : 'cue';
26
40
  }
@@ -35,10 +49,15 @@ function pickReport(reports, length, difficulty) {
35
49
  }
36
50
  return -1;
37
51
  }
38
- function reportCommand(slug, length, difficulty, lang) {
39
- var cmd = '/gestalt:video-digest slug=' + slug + ' length=' + length + ' difficulty=' + difficulty;
52
+ function reportCommand(slug, difficulty, lang, range) {
53
+ var cmd = '/gestalt:video-digest slug=' + slug + ' difficulty=' + difficulty;
54
+ if (range) cmd += ' range=' + Math.floor(range[0]) + '-' + Math.ceil(range[1]);
40
55
  return lang ? cmd + ' reportLang=' + lang : cmd;
41
56
  }
57
+ function missingNotice(r, slug, difficulty) {
58
+ if (r.prompted) return { msg: '요청을 붙여 만든 리포트라 짝이 없어요. 같은 요청으로 다시 만들어 주세요.', cmd: null };
59
+ return { msg: '이 리포트는 아직 없어요. 아래 명령을 세션에 붙여 넣으면 만들어요.', cmd: reportCommand(slug, difficulty, r.lang, r.range) };
60
+ }
42
61
  function templateCommand(slug, id, lang) {
43
62
  var cmd = '/gestalt:video-digest slug=' + slug + ' templates=' + id;
44
63
  return lang ? cmd + ' reportLang=' + lang : cmd;
@@ -84,6 +103,6 @@ function makeFlash(getStatus) {
84
103
  };
85
104
  }
86
105
  `;
87
- export const viewerLogic = new Function(`${VIEWER_LOGIC_JS}; return { findSegmentIndex: findSegmentIndex, shouldFollow: shouldFollow, shouldFollowHeld: shouldFollowHeld, cueAction: cueAction, citeWindow: citeWindow, pickReport: pickReport, reportCommand: reportCommand, templateCommand: templateCommand, tabStep: tabStep, safeDecode: safeDecode, videoState: videoState, makeFlash: makeFlash };`)();
106
+ export const viewerLogic = new Function(`${VIEWER_LOGIC_JS}; return { findSegmentIndex: findSegmentIndex, shouldFollow: shouldFollow, isPlaying: isPlaying, shouldFollowHeld: shouldFollowHeld, shouldScrollScript: shouldScrollScript, shouldRetryFollow: shouldRetryFollow, isLineVisible: isLineVisible, cueAction: cueAction, citeWindow: citeWindow, pickReport: pickReport, reportCommand: reportCommand, missingNotice: missingNotice, templateCommand: templateCommand, tabStep: tabStep, safeDecode: safeDecode, videoState: videoState, makeFlash: makeFlash };`)();
88
107
  export const findSegmentIndex = viewerLogic.findSegmentIndex;
89
108
  //# sourceMappingURL=viewer-logic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-logic.js","sourceRoot":"","sources":["../../../src/digest/viewer-logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgF9B,CAAC;AAgDF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,QAAQ,CACrC,GAAG,eAAe,gVAAgV,CACnW,EAAiB,CAAC;AAEnB,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC"}
1
+ {"version":3,"file":"viewer-logic.js","sourceRoot":"","sources":["../../../src/digest/viewer-logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmG9B,CAAC;AAyEF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,QAAQ,CACrC,GAAG,eAAe,gfAAgf,CACngB,EAAiB,CAAC;AAEnB,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tienne/gestalt",
3
- "version": "0.104.0",
3
+ "version": "0.106.0",
4
4
  "description": "TypeScript AI Development Harness - Gestalt psychology-driven requirement clarification",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gestalt",
3
- "version": "0.104.0",
3
+ "version": "0.106.0",
4
4
  "description": "Gestalt psychology-driven AI development harness. Transforms scattered requirements into structured, validated specifications through interactive interviews.",
5
5
  "author": {
6
6
  "name": "tienne"
package/plugin/.mcp.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "gestalt": {
4
4
  "command": "npx",
5
- "args": ["-y", "@tienne/gestalt@0.104.0", "serve"],
5
+ "args": ["-y", "@tienne/gestalt@0.106.0", "serve"],
6
6
  "startup_timeout_sec": 180,
7
7
  "tool_timeout_sec": 900
8
8
  }
package/plugin/mcp.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "gestalt": {
4
4
  "command": "npx",
5
- "args": ["-y", "@tienne/gestalt@0.104.0", "serve"],
5
+ "args": ["-y", "@tienne/gestalt@0.106.0", "serve"],
6
6
  "startup_timeout_sec": 180,
7
7
  "tool_timeout_sec": 900
8
8
  }