@ihabdevteam/core 0.118.0 → 0.120.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.
Files changed (26) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/components.cjs.js +176 -176
  3. package/dist/components.esm.css +1 -1
  4. package/dist/hooks.cjs.js +1 -1
  5. package/dist/i18n.cjs.js +3 -3
  6. package/dist/ihabdevteam-core.cjs.js +180 -180
  7. package/dist/ihabdevteam-core.d.ts +11 -3
  8. package/dist/packages/core/src/components/Training/AudioPlayerWaveForm.d.ts +1 -1
  9. package/dist/packages/core/src/components/Training/AudioPlayerWaveForm.js +3 -3
  10. package/dist/packages/core/src/components/Training/NoisePlayerContext.d.ts +27 -1
  11. package/dist/packages/core/src/components/Training/NoisePlayerContext.js +48 -1
  12. package/dist/packages/core/src/components/Training/NoiseSettingsTooltip.css +5 -1
  13. package/dist/packages/core/src/components/Training/NoiseSettingsTooltip.js +10 -10
  14. package/dist/packages/core/src/components/Training/TrainingPagePopup.js +5 -4
  15. package/dist/packages/core/src/components/Training/TrainingStepAudioPlayer.js +6 -4
  16. package/dist/packages/core/src/components/Training/useNoiseFade.d.ts +2 -2
  17. package/dist/packages/core/src/components/Training/useNoiseFade.js +11 -8
  18. package/dist/packages/core/src/components/Training/useTTSPlayback.d.ts +1 -1
  19. package/dist/packages/core/src/components/Training/useTTSPlayback.js +2 -2
  20. package/dist/packages/core/src/i18n/locales/en.json +2 -0
  21. package/dist/packages/core/src/i18n/locales/ko.json +3 -1
  22. package/dist/packages/core/src/types/training.d.ts +10 -2
  23. package/dist/packages/core/src/version.d.ts +1 -1
  24. package/dist/packages/core/src/version.js +1 -1
  25. package/dist/utils.cjs.js +1 -1
  26. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,62 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.120.0
11
+
12
+ ### 바뀜 — 훈련 소리: 소음은 전체 소리에 대한 **비율**이다 (`NoisePlayerContext` · `NoiseSettingsTooltip` · 소음 재생)
13
+
14
+ 지금까지 재생 소리(`mainVolume` 0~1)와 소음 크기(`level` 0~9 → level/9)가 따로 움직여, 전체
15
+ 소리를 줄여도 소음은 제자리라 문제 소리만 묻혔다. 말귀 사용자 결정(2026-09-13)으로 바꾼다.
16
+
17
+ - **전체 소리** = 문제 소리 = `mainVolume`(0~1, 10% 칸) — 뜻만 바뀌고 값은 그대로.
18
+ - **소음 비율** `CoreNoiseSettings.noiseRatio?`(0~2.0배, 0.1 칸, 1배 = 두 소리가 같은 크기).
19
+ - 실제 소음 볼륨 = **min(1, mainVolume × noiseRatio)** — 전체 소리를 바꾸면 소음이 따라 움직이고, 소음은 1 에서 멈춘다.
20
+ - `DEFAULT_NOISE_SETTINGS.noiseRatio = 1`. `level` 은 옛 기록을 읽을 때만 쓴다.
21
+
22
+ **새 내보내기**(`@ihabdevteam/core/components/Training/NoisePlayerContext`) — 앱도 같은 셈을 쓴다:
23
+
24
+ | | |
25
+ |---|---|
26
+ | `noiseRatioOf(settings)` | `noiseRatio` 가 있으면 그것(0~2 로 자름). 없으면 **옛 값에서 들리던 그대로**: (level/9) ÷ mainVolume 을 0~2 로 자르고 0.1 반올림, mainVolume 0 이면 1 |
27
+ | `effectiveNoiseVolume(settings)` | min(1, mainVolume × noiseRatioOf(settings)) |
28
+ | `mergeNoiseSettings(base, patch)` | `{ ...base, ...patch }` + 조각에 `level` 은 있고 `noiseRatio` 가 없으면 덮은 결과로 비율을 셈해 박는다 |
29
+ | `NOISE_RATIO_MAX` · `NOISE_RATIO_STEP` | 2 · 0.1 |
30
+
31
+ **`{ ...DEFAULT_NOISE_SETTINGS, ...saved }` 는 옛 기록을 틀리게 읽는다** — 기본값의 `noiseRatio: 1`
32
+ 이 남아 level 을 가린다. `mergeNoiseSettings(DEFAULT_NOISE_SETTINGS, saved)` 로 바꾼다. 코어의
33
+ `TrainingPagePopup` 은 불러오기·`noiseOverride`·판 중 변경 모두 이것으로 병합한다 — 그래서 옛 모양
34
+ override(`{ level }` 만)도 판의 전체 소리 기준 비율로 옮겨 걸린다.
35
+
36
+ **설정 창** 줄 차례: 전체 소리 · 재생 속도 · 소음 종류 · **소음 비율**(값 "1.0배"). 비율 슬라이더는
37
+ `setSettings({ noiseRatio })` 로 저장한다.
38
+
39
+ **사전**: `training.playVolumeTitle` 값 "재생 소리" → "전체 소리"(키 그대로 — 앱 설정 페이지도 이 키를
40
+ 쓴다), 새 키 `training.noiseRatioTitle`("소음 비율" / "Noise Ratio")·`training.noiseRatioValue`
41
+ ("{{ratio}}배" / "{{ratio}}×"). `training.noiseLevelTitle` 은 앱이 아직 불러 남긴다.
42
+
43
+ **안쪽 모양 바뀜**: `useNoiseFade` 의 `noiseSettingsRef` 가 `{ enabled, level, type }` →
44
+ `{ enabled, volume, type }`(volume = 실제 소음 볼륨), `AudioPlayerWaveForm` 의 `noiseLevel`(0~9) →
45
+ `noiseVolume`(0~1). 둘 다 훈련 플레이어 안에서만 쓴다(소비자 넷 호출 0).
46
+
47
+ ## 0.119.0
48
+
49
+ ### 고침 — 훈련 설정 창의 첫 줄 위 여백이 줄 사이보다 넓었다 (`NoiseSettingsTooltip`)
50
+
51
+ 머리 구분선 아래 패널(`.noise-settings`)이 사방 20px 이라, 구분선이 이미 위를 가르는데 20px 이
52
+ 한 번 더 겹쳐 첫 줄만 떠 보였다(말귀 사용자 "여백이 넓어보이네?").
53
+
54
+ 놀이터에서 1280px 로 창을 열어 **눈에 보이는 내용 사이 틈**을 쟀다(구분선 → 첫 줄, 앞 줄 내용
55
+ 끝 → 다음 줄 내용 윗면). 위 여백을 바꿔 가며:
56
+
57
+ ```
58
+ padding-top 20px(전) 36 · 33 · 32
59
+ padding-top 16px(후) 32 · 33 · 32 ← 줄 사이 리듬과 같다
60
+ padding-top 12px 28 · 33 · 32
61
+ padding-top 8px 24 · 33 · 32 ← 첫 줄이 줄 사이보다 좁아진다
62
+ ```
63
+
64
+ 위만 16px 로 줄였다. 좌우·아래는 20px 그대로, `Panel` 공용 규칙(`panel--medium`)도 그대로다.
65
+
10
66
  ## 0.118.0
11
67
 
12
68
  ### 고침 — 완료율 모드에서 같은 주가 주 보기·월 보기에서 다른 수로 섰다 (`BarChart`)