@ihabdevteam/core 0.270.0 → 0.271.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 +53 -0
- package/dist/components.cjs.js +33 -33
- package/dist/hooks.cjs.js +1 -1
- package/dist/i18n.cjs.js +1 -1
- package/dist/ihabdevteam-core.cjs.js +17 -17
- package/dist/ihabdevteam-core.d.ts +1 -1
- package/dist/packages/core/src/components/Training/trainingStepAudioPlayerTypes.d.ts +17 -1
- package/dist/packages/core/src/components/Training/trainingStepAudioPlayerTypes.js +17 -1
- package/dist/packages/core/src/components/Training/useProgressTicker.js +34 -0
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,59 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.271.0
|
|
11
|
+
|
|
12
|
+
### 진행 사슬이 **틀이 느리면 스스로 말한다** — 개발 중에 한 번 (말귀 신고 (77) 을 좇다)
|
|
13
|
+
|
|
14
|
+
말귀가 "재생바가 소리 중에 얼어붙고 **경계에서만** 뛴다" 를 재서 보냈다(요청 (77),
|
|
15
|
+
0.267.0 은 촘촘했는데 0.270.0 은 성기다). 나도 놀이터에 앱과 같은 꼴(소음 켬 · 파형 끔 ·
|
|
16
|
+
소리 둘 · 앞뒤 뜸)을 세워 재니 **똑같이 1초에 한 번씩 계단으로** 올라갔다.
|
|
17
|
+
|
|
18
|
+
**두 각도로 파고 둘 다 깨끗했다.**
|
|
19
|
+
|
|
20
|
+
1. **셈** — 틀을 손으로 돌려 틱을 몰았다(`test/useProgressTicker.test.tsx`, 다섯 개 새로).
|
|
21
|
+
앞 뜸 0→25%, 소리 25→75%, 뒤 뜸 75→100%, 뜸 0 이면 50%. **세 구간 모두 매 틀
|
|
22
|
+
나아가고** 경계에서 뒤로 안 튄다. (74)③ 은 그동안 순수 함수와 배선으로만 잡혀 있었고
|
|
23
|
+
"사슬이 세 구간을 지나며 실제로 움직이나" 는 아무도 안 봤다.
|
|
24
|
+
2. **사슬이 끊기나** — 손잡이 효과의 치우기가 `stopTicker()` 를 부른다. 그 효과의 입력이
|
|
25
|
+
하나라도 판마다 새로 지어지면 **재생 도중 사슬이 끊기고**, 다음 구간까지 아무도 다시
|
|
26
|
+
안 걸어 **마커와 파형이 함께 얼어붙는다** — 신고된 모양 그대로다. 지금 코드는 안
|
|
27
|
+
끊긴다(`test/audioProgressChainRerender.test.tsx`). 끊기게 만들어 보면 빨개진다.
|
|
28
|
+
|
|
29
|
+
**그러고 나서야 틀 세기를 달았다.**
|
|
30
|
+
|
|
31
|
+
101ms left=100% 틀=0
|
|
32
|
+
1002ms left=100% 틀=1
|
|
33
|
+
2001ms left=100% 틀=2
|
|
34
|
+
|
|
35
|
+
**1초에 틀 하나.** 숨은 칸에서 브라우저가 `requestAnimationFrame` 을 줄인 것이다. 이 사슬은
|
|
36
|
+
**매 틀** 값을 쓰므로, 틀이 1초에 하나면 바도 1초에 한 번만 움직인다 — **값은 다 맞는데
|
|
37
|
+
멈춘 것처럼 보인다.**
|
|
38
|
+
|
|
39
|
+
그 한 줄을 먼저 알았으면 거기서 끝났을 일이라, **사슬이 스스로 말하게** 한다. 틀 사이가
|
|
40
|
+
400ms 를 넘으면 개발 판에서 **한 번** 찍는다 — 몇 ms 인지와 함께, **칸이 숨었는지 보이는지로
|
|
41
|
+
다른 말**을 한다(숨었으면 "지금 재는 값은 사람이 보는 화면과 다르다", 보이면 "같은 화면에서
|
|
42
|
+
무거운 일이 도는지 보라"). 운영 빌드에서는 아무 일도 안 한다.
|
|
43
|
+
|
|
44
|
+
**(77) 은 코어 결함이 아니었다 — 말귀가 틀 수를 달아 가름냈다(거둬들였다).** 같은 코드 ·
|
|
45
|
+
같은 화면에서 두 번 쟀다:
|
|
46
|
+
|
|
47
|
+
틀이 도는 자리 (3초에 361틀 = 120fps)
|
|
48
|
+
966ms left 0.339879% 틀=114 ← 뜸 시작, 여기서부터 촘촘히
|
|
49
|
+
1570ms left 23.1873% 틀=186
|
|
50
|
+
2053ms left 41.1992% 틀=243 ct=0.09 ← 소리 중에도 이어진다
|
|
51
|
+
|
|
52
|
+
틀이 안 도는 자리 (바로 다음 호출)
|
|
53
|
+
848ms ~ 2908ms left 100% 틀=0 ← 내내 얼어붙음
|
|
54
|
+
|
|
55
|
+
**틀이 0 이면 안 움직이고, 틀이 돌면 매끄럽다.** "경계에서만 뛴다" 도 틀이 1초에 한둘이라
|
|
56
|
+
그 사이 값만 보인 것이었다.
|
|
57
|
+
|
|
58
|
+
> **자료는 이미 답을 들고 있었다.** 신고에 "`left` 와 `clip` 이 **늘 짝을 맞춘다**" 가 적혀
|
|
59
|
+
> 있었는데, 셈이 틀렸다면 **값이 틀리게** 나오지 짝을 맞춘 채 **덜 자주** 나오지는 않는다.
|
|
60
|
+
> 짝은 맞는데 드물다 — 그건 셈이 아니라 **부르는 쪽**이다. 같은 줄을 양쪽이 반대로 읽었고,
|
|
61
|
+
> 가른 것은 **틀 수 한 줄**이었다. 그래서 이 판이 그 한 줄을 사슬에 박아 둔다.
|
|
62
|
+
|
|
10
63
|
## 0.270.0
|
|
11
64
|
|
|
12
65
|
### 소리 한 번에 **낭독기가 말을 두 마디** 했다 — 알릴 값이 있는 것만 읽는다 (사장님 결정 (나))
|