@ihabdevteam/core 0.291.0 → 0.293.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/CHANGELOG.md CHANGED
@@ -7,6 +7,71 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.293.0
11
+
12
+ ### **뜸에서 멈춰도 그 자리에서 이어진다** — 뜸을 포함한 시간표가 한 시계다
13
+
14
+ 사용자 결정. 그대로 옮긴다:
15
+
16
+ > 단어 재생 중에는 괜찮은 거 같은데 앞 뜸과 뒤 뜸에서 멈추면 앞 뜸은 아예 처음부터 시작하고
17
+ > 뒤 뜸은 그냥 끝나버려. **앞 뒤 뜸을 고려한 시간으로 계산이 가능하도록 해야** 앞 뒤에서
18
+ > 멈추더라도 그 자리에서 동일하게 재생될 거 같은데?
19
+
20
+ **소리 구간만 제자리에서 이어지고 뜸 구간은 "다시" 아니면 "건너뜀" 이었다.** 그러면 재생바가
21
+ 그 경계에서 뒤로 가거나 튄다 — (90)(91) 에서 사용자가 본 것이 바로 그 어긋남이고, 뜸 쪽에
22
+ 같은 꼴이 남아 있었다.
23
+
24
+ 어디서 멈췄나 전 이제
25
+ 앞뜸 중 앞뜸을 **처음부터 다시** **남은 앞뜸**만 채우고 소리
26
+ 소리 중 그 자리에서 바로(0.291.0) 그대로
27
+ 사이 뜸 중 다음 소리의 앞뜸부터 **남은 사이**를 채우고 다음 소리
28
+ 뒤뜸 중 **건너뛰고 즉시 완료** **남은 뒤뜸**을 돌고 완료
29
+
30
+ 진행기가 `'restart'` 나 `(이어 갈 함수)` 대신 **어느 뜸의 몇 ms 자리였나**(`{phase, 흐른}`)를
31
+ 적는다. 그리고 `waitPad(남은, phase, 이미흐른)` 의 셋째 자리가 **자리를 그만큼 뒤로 민다** —
32
+ 안 밀면 남은 시간만 기다리면서 재생바는 0 부터 다시 긴다. **그 어긋남이 (90)(91) 의 튐이었다.**
33
+
34
+ > **0.278.0 의 까닭을 사용자가 뒤집었다.** 그때 적힌 것은 *"앞뜸은 귀가 소음에 자리를 잡는
35
+ > 시간이라 남은 뜸만 채우면 그 시간이 잘린다"* 였다. 틀린 글이 아니라 **다른 셈**이다 —
36
+ > 사용자는 시간표의 한결같음을 골랐다. 못을 뒤집으며 옛 까닭도 함께 남긴다.
37
+
38
+ 못 넷을 박고 넷을 따로 깨 봤다(앞뜸을 처음부터 · 뒤뜸을 건너뜀 · 자리를 안 밂 · 흐른 만큼을
39
+ 안 적음). 넷이 각각 다른 못을 울린다.
40
+
41
+ > 글자를 짚던 시험 넷이 또 빨개졌다 — 조건이 `leadInMsRef.current > 0` 에서 `남은앞뜸 > 0` 이
42
+ > 됐기 때문이다. 이제 그 자리는 **`'lead'` 를 기다리는 줄을 찾아 거슬러 올라** 그것을 감싼
43
+ > `if` 를 집는다. 오늘만 **여섯 번째**로 뜻은 그대로인데 글자가 달라진 자리다.
44
+
45
+ ## 0.292.0
46
+
47
+ ### 다 들은 직후에 다시 누르면 — **지난 완료의 연출이 새 재생 위에 안 붙는다**
48
+
49
+ 사용자 신고. 다 들으면 마커를 `hold`(200ms) → `out`(340ms) 로 **접고** 그 끝에서
50
+ `onDone(true)` 를 낸다. 그 **540ms 안에** 다시듣기나 ▶ 를 누르는 것이 **사람이 가장 흔히
51
+ 누르는 때**인데, 그러면 새 재생이 이미 마커를 0 에서 움직이는 **위에** 접는 연출이 `is-out`
52
+ 을 붙여 `opacity: 0 · scaleY: 0` 으로 숨겼다가, `forwards` 라 그 상태에 머물다가, 끝나면
53
+ **툭 나타났다.** 말귀 실측 — 뒤뜸 끝 +60 · +180 · +320ms **어느 때 눌러도** 났다:
54
+
55
+ 6242ms cls = "is-visible is-expanded is-out" ← 지난 완료가 접는 중
56
+ 6275ms ★ 다시듣기 ← 새 시간표가 0 부터 오른다
57
+ 6325ms 진행 1 → 0.0153 …그런데 마커는 숨어 있다
58
+ 6572ms cls = "is-visible is-expanded" ← 330ms 뒤 걷히며 12% 자리에 **툭**
59
+
60
+ 그리고 그 타이머 끝의 `onDone(true)` 가 **다시 듣는 중에 한 번 더** 나갔다. 고르기 카드에서는
61
+ 눈에 안 띄지만 **단계를 넘기는 자리라면 다시 듣는 중에 넘어간다.**
62
+
63
+ 걷는 자리를 **하나**로 뒀다(`완료연출걷기`). 새 소리는 전부 `tryPlayWithRetry` 를 지나므로
64
+ 거기서 한 번 부른다 — 다시듣기 · ▶ · 번호 단추 · 불러오기가 다 그 길이다. **걷는 곳이
65
+ 여럿이면 한 곳이 안 따라간다.**
66
+
67
+ > **걷는 일이 둘이었다.** 타이머를 걷는 것과 자리를 `idle` 로 되돌리는 것. 처음에 박은 못은
68
+ > `hold` 안에 누르는 꼴이라 **타이머만 걷어도 통과했다** — 깨 보고 알았다. 말귀가 잰 셋 중
69
+ > `+320ms` 는 이미 `out` 이라 `is-out` 이 **붙어 있고**, `forwards` 라 타이머를 걷어도 그
70
+ > 상태에 머문다. 두 꼴을 다 박고서야 "걷었다" 가 참이 됐다.
71
+
72
+ 못 셋: *접는 중이 아닐 때 눌러도 안 붙고 `onDone` 도 안 나간다* · *접는 중에 눌러도 그 자리에서
73
+ 걷힌다* · 그리고 반대쪽 — *그냥 두면 연출은 그대로 돈다*(없애는 고침이 아니다).
74
+
10
75
  ## 0.291.0
11
76
 
12
77
  ### 소리 중에 멈췄다 이으면 **그 자리에서 바로** 난다 — 앞뜸을 다시 안 준다