@ihabdevteam/core 0.286.0 → 0.289.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 +90 -0
- package/dist/components.cjs.js +12 -12
- package/dist/hooks.cjs.js +1 -1
- package/dist/i18n.cjs.js +1 -1
- package/dist/ihabdevteam-core.cjs.js +16 -16
- package/dist/ihabdevteam-core.d.ts +1 -1
- package/dist/packages/core/src/components/Training/TrainingStepAudioPlayer.js +17 -23
- package/dist/packages/core/src/components/Training/audioTimeline.d.ts +17 -1
- package/dist/packages/core/src/components/Training/audioTimeline.js +18 -2
- package/dist/packages/core/src/components/Training/useNoiseFade.js +6 -0
- package/dist/packages/core/src/components/Training/useProgressTicker.js +17 -4
- 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,96 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.289.0
|
|
11
|
+
|
|
12
|
+
### 앞뜸 동안 재생바가 다시 **나아간다** — 되돌아감 고침
|
|
13
|
+
|
|
14
|
+
말귀가 0.288.0 을 앱에서 재니 앞뜸 1초 내내 `0.0%` 에 멈췄다가 소리가 나는 순간 `38.3%` 로
|
|
15
|
+
튀었다. 사용자가 오늘 아침 (86) 에서 **직접 짚어 고치게 한 자리**다.
|
|
16
|
+
|
|
17
|
+
**값은 처음부터 맞았다 — 뜸 동안 그 값을 안 쓴 것이다.** 길은 이랬다:
|
|
18
|
+
|
|
19
|
+
소리 길이 재기가 0 을 준다 → 틱이 <audio> 에 묻는다 → 아직 안 실려 모른다
|
|
20
|
+
→ "진행을 모른다" 며 **마커를 숨긴다** → 1초 동안 아무것도 안 그린다
|
|
21
|
+
→ 소리가 나며 길이를 알게 되는 순간 제 자리로 **튄다**
|
|
22
|
+
|
|
23
|
+
숨기는 가지는 스트리밍처럼 **총길이가 없는 소리**를 위한 것이었다. 그런데 **뜸은 제 길이를
|
|
24
|
+
안다** — `leadInMs`·`tailMs` 를 틱이 받고 있다. 이제 뜸이 도는 동안에는 소리 길이를 몰라도
|
|
25
|
+
**소리를 0 으로 둔 시간표**로 잰다. 길이를 알게 되면 그 순간 값이 뒤로 물러난다(어림은 늘
|
|
26
|
+
참보다 크다) — 죽은 바보다 낫다는 쪽을 택했다. 개발 빌드에서는 그때 한 줄 찍는다.
|
|
27
|
+
|
|
28
|
+
> **이 되돌아감을 막고 있던 것이 시험이었다.** `progressWithPad` 에 *"소리 길이를 모르면
|
|
29
|
+
> 0"* 을 박은 못이 둘 있었고, 까닭으로 "끝에 붙여 두면 마커가 튄다" 가 적혀 있었다.
|
|
30
|
+
> 틀렸다 — 흐른 시간을 구간 길이로 자르므로 앞뜸에서는 `앞뜸/(앞뜸+뒤뜸)` 을 못 넘는다.
|
|
31
|
+
> 그 0 이 실제로 한 일은 **재생바를 죽이는 것**이었다. 뒤집었다.
|
|
32
|
+
|
|
33
|
+
**못 다섯을 새로 박았다**(말귀가 청한 꼴 그대로 — "틱이 실제로 그 값을 쓰는지"):
|
|
34
|
+
|
|
35
|
+
뜸 동안 여러 번 읽으면 계속 오른다 두 길 모두
|
|
36
|
+
뜸 끝에서 앞뜸 몫에 닿는다(튈 자리가 없다) 두 길 모두
|
|
37
|
+
소리 길이를 몰라도 뜸 동안 나아간다 ← **이것이 이 되돌아감을 잡는다**
|
|
38
|
+
|
|
39
|
+
마지막 하나만 지금 코드에서 빨개진다. 두 겹(틱 · 시간표)을 **따로따로** 되돌려 둘 다 우는
|
|
40
|
+
것까지 봤다 — 한 겹만 고치면 다른 겹이 가린다.
|
|
41
|
+
|
|
42
|
+
> 말귀 관문 14,061 건도, 이쪽 못 84 개도 이 되돌아감을 **한 건도 못 잡았다.** 둘 다
|
|
43
|
+
> *"보이나"* 는 보고 *"나아가나"* 는 안 봤다. **멈춘 것은 없는 것과 달리 눈에 안 띈다.**
|
|
44
|
+
|
|
45
|
+
## 0.288.0
|
|
46
|
+
|
|
47
|
+
### 뜸 중에 **소음 설정을 만져도** 소리의 때가 안 밀린다 — 못 둘 (시험만, **동작 불변**)
|
|
48
|
+
|
|
49
|
+
치료사가 뜸이 도는 동안 소음 슬라이더를 만지는 길이다. 소음 설정이 바뀌면 `useNoiseFade` 의
|
|
50
|
+
설정 효과가 다시 도는데, 그 안에서 *"메인이 도나"* 를 묻는 자리가 셋이다. 거기서 뜸을 잘못
|
|
51
|
+
읽으면 **설정을 만졌을 뿐인데 단어가 늦게 난다.** 지금은 멀쩡하다 — 앞뜸 400ms 에 소음을
|
|
52
|
+
끄면 656ms 에 소음이 멎고 단어는 제 때 1000ms 에 난다. **고친 것이 아니라 지킨 것**이다.
|
|
53
|
+
3·5단계가 그 자리를 또 만진다.
|
|
54
|
+
|
|
55
|
+
**자가 먼저 고장나 있었다.** 못을 박고 깨 보니 **둘 다 안 울었다.** 가짜 `<audio>` 가
|
|
56
|
+
`load()` 때 `canplay` 를 안 뿜어서다 — 소음 *종류* 를 바꾸는 갈래는 `canplay` 를 기다렸다가
|
|
57
|
+
다시 켜는데, 그 일이 아예 안 일어났다. 자를 고치고서야 울었다. 이 저장소에서 제 눈을 고친
|
|
58
|
+
것이 아홉 번째다.
|
|
59
|
+
|
|
60
|
+
**그리고 셋 중 하나는 지금 겹옷이다.** 깨도 4376 개가 다 통과한다 — 뜸이 시작될 때 재생기가
|
|
61
|
+
`playbackState` 를 `'playing'` 으로 올려 **옆 조건이 이미 참**이기 때문이다. 안 울리는 것이
|
|
62
|
+
*안전한 것*이 아니라 **덮여 있는 것**이라, 그 사정을 코드 그 자리에 적었다. 지우려면
|
|
63
|
+
*"뜸이면 `playbackState` 가 `'playing'` 이다"* 를 먼저 문으로 세워야 한다 — 안 세우고
|
|
64
|
+
지우면 다음에 그 하나가 안 따라간다.
|
|
65
|
+
|
|
66
|
+
> 지난밤의 결 그대로다: **죽은 코드를 지키는 시험은 통과한다.** 그래서 못이 안 울 때 가장
|
|
67
|
+
> 먼저 물을 것은 "안전한가" 가 아니라 **"그 길이 닿는 길인가"** 다.
|
|
68
|
+
|
|
69
|
+
## 0.287.0 — **레지스트리에 없다**
|
|
70
|
+
|
|
71
|
+
0.288.0 이 이 판의 코드에 **시험과 주석만** 더한 것이라, 둘을 줄에 세우는 대신 높은 쪽
|
|
72
|
+
하나만 걸었다(`RELEASE.md` — *발행 일감은 한 번에 하나만, 늘 가장 높은 판으로*).
|
|
73
|
+
**아래 내용은 0.288.0 에 그대로 들어 있다.**
|
|
74
|
+
|
|
75
|
+
### 껍데기를 걷고, **그만두는 뜻을 세는 토큰을 하나로** ((85) 2d, **동작 불변**)
|
|
76
|
+
|
|
77
|
+
2a 에서 껍데기 셋(`뜸Ref` · `뜸취소` · `뜸기다리기`)으로 시작했다. 2c 에 하나, 2d 에 **영**이
|
|
78
|
+
됐다 — 부르는 쪽이 진행기를 바로 쓴다. 껍데기는 옮기는 동안만 쓰는 발판이고, 남겨 두면
|
|
79
|
+
*"진행기를 쓴다"* 는 말과 *"제 손으로 든다"* 는 사실이 갈라진다.
|
|
80
|
+
|
|
81
|
+
그리고 `jumpTokenRef` 가 **세대와 같은 일**이었다 — `멈춤의도()` 가 둘 다 올리고 트랙 이동이
|
|
82
|
+
둘 다 집었다. 그런데 **가리는 범위가 달랐다**: 토큰은 **이동끼리만** 가리고 뜸 사슬은 못
|
|
83
|
+
가렸다. 0.282.0 의 결함(뜸 중 번호 단추 → 다른 번호가 두 번)이 바로 그 틈이었다. 세대
|
|
84
|
+
하나로 합쳤다.
|
|
85
|
+
|
|
86
|
+
**(85) 2단계가 끝났다.** 처음 세어 본 자리와 견주면:
|
|
87
|
+
|
|
88
|
+
그만두는 뜻을 적던 곳 넷(재생의도Ref · 세대 · 뒤뜸에서멈춤Ref · 이어가기Ref) → **하나**
|
|
89
|
+
"지금 도는가" 를 셈한 곳 셋(틱 · 소음 · 토글) → **하나**
|
|
90
|
+
트랙 이동을 가리던 토큰 둘(jumpTokenRef · 세대) → **하나**
|
|
91
|
+
|
|
92
|
+
**결함이 난 자리마다 ref 가 하나씩 늘고 있었다.** 0.278.0 이 둘을 더했고 0.282.0 이 또 한
|
|
93
|
+
자리를 빠뜨렸다 — 적는 곳이 늘수록 빠뜨릴 자리도 는다. 이제 하나다.
|
|
94
|
+
|
|
95
|
+
> 글자를 짚는 시험 넷이 이 단계에서 빨개졌다 — **뜻은 그대로인데 이름이 바뀌어서**다.
|
|
96
|
+
> 이름 대신 **차례**를 묻도록 고쳤다(앞 뜸이 `play()` 앞에 있는가). 그중 하나는 **내가
|
|
97
|
+
> 주석에 적어 둔 옛 이름**을 코드로 읽고 울었다 — 오늘 같은 자리에서 두 번째라, 그 시험들은
|
|
98
|
+
> 이제 주석을 걷고 센다.
|
|
99
|
+
|
|
10
100
|
## 0.286.0
|
|
11
101
|
|
|
12
102
|
### 묻는 쪽이 **자리를 안 받는다** — `isRunning()` 하나로 ((85) 2c, **동작 불변**)
|