@ihabdevteam/core 0.290.0 → 0.292.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,79 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.292.0
11
+
12
+ ### 다 들은 직후에 다시 누르면 — **지난 완료의 연출이 새 재생 위에 안 붙는다**
13
+
14
+ 사용자 신고. 다 들으면 마커를 `hold`(200ms) → `out`(340ms) 로 **접고** 그 끝에서
15
+ `onDone(true)` 를 낸다. 그 **540ms 안에** 다시듣기나 ▶ 를 누르는 것이 **사람이 가장 흔히
16
+ 누르는 때**인데, 그러면 새 재생이 이미 마커를 0 에서 움직이는 **위에** 접는 연출이 `is-out`
17
+ 을 붙여 `opacity: 0 · scaleY: 0` 으로 숨겼다가, `forwards` 라 그 상태에 머물다가, 끝나면
18
+ **툭 나타났다.** 말귀 실측 — 뒤뜸 끝 +60 · +180 · +320ms **어느 때 눌러도** 났다:
19
+
20
+ 6242ms cls = "is-visible is-expanded is-out" ← 지난 완료가 접는 중
21
+ 6275ms ★ 다시듣기 ← 새 시간표가 0 부터 오른다
22
+ 6325ms 진행 1 → 0.0153 …그런데 마커는 숨어 있다
23
+ 6572ms cls = "is-visible is-expanded" ← 330ms 뒤 걷히며 12% 자리에 **툭**
24
+
25
+ 그리고 그 타이머 끝의 `onDone(true)` 가 **다시 듣는 중에 한 번 더** 나갔다. 고르기 카드에서는
26
+ 눈에 안 띄지만 **단계를 넘기는 자리라면 다시 듣는 중에 넘어간다.**
27
+
28
+ 걷는 자리를 **하나**로 뒀다(`완료연출걷기`). 새 소리는 전부 `tryPlayWithRetry` 를 지나므로
29
+ 거기서 한 번 부른다 — 다시듣기 · ▶ · 번호 단추 · 불러오기가 다 그 길이다. **걷는 곳이
30
+ 여럿이면 한 곳이 안 따라간다.**
31
+
32
+ > **걷는 일이 둘이었다.** 타이머를 걷는 것과 자리를 `idle` 로 되돌리는 것. 처음에 박은 못은
33
+ > `hold` 안에 누르는 꼴이라 **타이머만 걷어도 통과했다** — 깨 보고 알았다. 말귀가 잰 셋 중
34
+ > `+320ms` 는 이미 `out` 이라 `is-out` 이 **붙어 있고**, `forwards` 라 타이머를 걷어도 그
35
+ > 상태에 머문다. 두 꼴을 다 박고서야 "걷었다" 가 참이 됐다.
36
+
37
+ 못 셋: *접는 중이 아닐 때 눌러도 안 붙고 `onDone` 도 안 나간다* · *접는 중에 눌러도 그 자리에서
38
+ 걷힌다* · 그리고 반대쪽 — *그냥 두면 연출은 그대로 돈다*(없애는 고침이 아니다).
39
+
40
+ ## 0.291.0
41
+
42
+ ### 소리 중에 멈췄다 이으면 **그 자리에서 바로** 난다 — 앞뜸을 다시 안 준다
43
+
44
+ 사용자 신고. 지금까지 잰 것은 **뜸 중** 멈춤뿐이었고 이것은 **소리 중** 멈춤이다. 말귀 실측:
45
+
46
+ 2789ms ⏸ prog=0.4302 · currentTime=0.297
47
+ 3991ms ▶
48
+ +0ms prog=0.4302
49
+ +122ms prog=0.0399 ← 43% 에서 **4% 로 떨어진다**
50
+ +996ms prog=0.3304 ← 앞뜸 1000ms 를 **처음부터 다시** 기어오른다
51
+ +1124ms prog=0.4740 ← 소리가 이어지며 **또 튄다**
52
+
53
+ 까닭은 하나다 — **소리는 멈춘 자리에서 이어 가는데 앞뜸을 또 줘서 진행만 0 부터 다시 셌다.**
54
+ 둘이 1초 동안 어긋난 채 가다가 한 번에 메워진 것이 그 튐이다.
55
+
56
+ 앞뜸은 *소리 **앞**의 구간*이다. 이미 시작된 소리를 이어 트는 데 다시 줄 것이 아니다.
57
+ `currentTime > 0` 이면 뜸을 건너뛴다. 시간표가 안 바뀌니 **진행 값이 그대로 이어지고**,
58
+ 소음은 `play` 와 **같은 순간**에 선다(멈출 때 함께 멎었으니 설 때도 함께 선다).
59
+
60
+ 멈춤·이음 표가 이렇게 찼다 — 비어 있던 가운데 줄이 이번에 정해졌다:
61
+
62
+ 앞뜸에서 멈춤 → 앞뜸부터 다시(1000ms 처음부터) 0.278.0
63
+ **소리 중에 멈춤** → **뜸 없이 그 자리에서 바로** 0.291.0
64
+ 사이·뒤뜸에서 멈춤 → 다음 소리로(마지막이면 완료) 0.278.0
65
+
66
+ > 못을 둘 박았다. 하나는 "이으면 곧 난다"(+100ms 안), 하나는 **그 반대쪽** — "처음 틀 때는
67
+ > 앞뜸을 그대로 준다". 앞의 것만 두면 **앞뜸을 아예 빼도 통과한다**(깨 보니 62 개가 빨개지긴
68
+ > 했지만, 그것은 다른 못들이 받쳐 준 것이지 이 못이 센 것이 아니다).
69
+
70
+ > 글자를 짚던 시험 둘이 빨개졌다 — 조건에 `&& !이어틀기` 가 붙어서다. **뜻은 그대로인데
71
+ > 글자가 달라진** 오늘의 다섯 번째 자리라, 이제 조건의 글자가 아니라 *앞뜸을 가르는 `if`*
72
+ > 를 찾는다.
73
+
74
+ ### 흔들리던 못 하나 더 — `10ms` 기다림을 **조건 기다림**으로
75
+
76
+ `strictModeSideEffects0915` 의 둘이 `setTimeout(10)` 뒤에 "한 번만 왔나" 를 물었다. 10ms 는
77
+ **한가한 기계에서만** 넉넉하다 — 더운 기계에서 `EffectPartyPopper` 쪽이 빨개졌고, 혼자
78
+ 돌리면 늘 초록이라 처음엔 안 보였다. `waitFor` 로 **올 때까지 기다렸다가** 센다.
79
+
80
+ > 어제 잡은 `useProgressTicker` 와 같은 꼴이다(그쪽은 틈이 2ms 였다). **시계에 기댄 못은
81
+ > 한가할 때 늘 초록이다** — 그것이 "안 흔들린다" 가 아니다.
82
+
10
83
  ## 0.290.0
11
84
 
12
85
  ### 한 번 울리는 소리를 만드는 자리를 **하나로** ((85) 3단계 앞머리, **동작 불변**)