@ihabdevteam/core 0.345.0 → 0.346.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,54 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.346.0 — 기다리는 동안 글을 안 띄운다 · 묶음 이름이 뜬다 · 옛 짝을 걷었다
11
+
12
+ ### (305) 개발자의 말이 화면에 안 뜬다 — 그런데 전제가 달랐다
13
+
14
+ 말귀가 *"사람 말이 2ms 뒤에 개발자 말로 덮인다"* 고 청했다. 재어 보니 **그 글은 저장소를
15
+ 처음 만들 때부터 `display: none` 이었다** — 코어에서 화면에 뜬 적이 없다. 대신 더 나쁜 것이
16
+ 있었다: `display: none` 은 **접근성 나무에서도 빼서**, 위의 `role="status"`·`aria-live` 가
17
+ **헛돌고 기다리는 동안 아무 말도 안 읽혔다.**
18
+
19
+ 사장님이 **(다)** 로 정하셨다(2026-10-19) — *"글은 아예 안 띄운다"*. 미뤄 둔 길 (가)(사람 말
20
+ 한 마디로 묶기)가 아니다: 깜박이는 글은 한 마디로 묶어도 읽을 틈이 없다.
21
+
22
+ - 눈에는 **동그라미만**. 감추는 길을 `display: none` → 이 저장소의 규약
23
+ (`clip-path: inset(50%)`)으로 바꿨다 — 보이지 않지만 **읽힌다.**
24
+ - 낭독기에는 걸음에 안 매인 **한 마디**: `소리를 준비하고 있습니다…` / `Preparing sound…`
25
+ (새 열쇠 `training.audioStatus.preparing`).
26
+ - 걸음 이름과 그 글(`STATUS_MESSAGES`)은 **안 지웠다** — 개발 판의 자취와 색이 쓴다.
27
+
28
+ `test/audioStatusAnnounce.test.tsx` 가 **뒤집혔다**: 2026-10-05 의 (나) 를 못 박던 시험이
29
+ 이제 *"걸음마다 다른 글을 그리지 않는다"* 와 *"감추는 길이 `display: none`·`visibility: hidden`
30
+ 이 아니다"* 를 센다. 세 가지로 깨 보고 셋 다 붉어졌다.
31
+
32
+ ### (308) 묶음 이름이 안 그려졌다
33
+
34
+ `groups` 를 주면 묶음 `div` 는 섰지만 **받은 `label` 이 `key` 로만 쓰이고 사라졌다** —
35
+ 그리는 줄이 `group.items` 만 펴고 `group.label` 을 안 썼다. 그릴 뜻이었던 것은 분명하다
36
+ (윗줄 주석이 *"그룹 헤더 유지"*).
37
+
38
+ 말귀 실측(0.343.0 · 음소 대립 1,159쌍): 묶음 넷을 넘겼는데 `__group` 이 **1 개**,
39
+ 이름 글자 **0 건**. 보는 사람은 어느 자리가 갈린 쌍인지 모른 채 한 덩어리로 봤다.
40
+
41
+ 이름을 머리로 그린다. `role="group"` + `aria-labelledby`(`IconGridMenu` 의 규약) — `role="group"`
42
+ 은 **이름이 없으면 낭독기가 묶음을 아예 안 알린다**. 쪽 경계에서 나뉘면 나뉜 쪽에도 다시 선다
43
+ (`pagedGroups` 가 이미 쪽마다 다시 묶는다).
44
+
45
+ > 세우다 **없는 CSS 토큰**(`--font-label-m`)을 적었다. 없는 변수는 조용히 아무 꼴도 안 내서
46
+ > 깨진 줄 몰랐다 — 찾다가 발견한 "선례" 가 제가 방금 적은 줄이었다. 이 저장소의 규약은
47
+ > `styles.css` 의 공용 클래스(`caption-1b`)다. 못이 그 자리도 센다.
48
+
49
+ ### `diffSection` 을 걷었다 (공개 타입에서 빠짐)
50
+
51
+ 갈린 자리를 **옛 한글 이름**(`'초성'`·`'모음'`…)으로도 가리키던 짝이다 — 한 결정이 두 자리에.
52
+ `@deprecated` 글에 *"소비자가 옮긴 뒤 걷는다"* 고 적어 두었고, 말귀가 옮겼다고 알려 와
53
+ **직접 셌다**: 말귀 앱·어드민 **0**(한 건은 그쪽 시험 재료) · 소리방향성 **0** · kscan **0**.
54
+
55
+ `diffSectionCode`(`'onset'`·`'vowel'`·`'coda'`·`'glide'`)가 정본이다. 이 값을 읽는 곳이
56
+ 있으면 그것으로 옮겨라.
57
+
10
58
  ## 0.345.0 — 캐시 열쇠가 섞이고, 샘플 밖 초성이 사라지던 자리
11
59
 
12
60
  0.344.0 과 같은 자리에서 온 것(다른 세션이 10분마다 훑어 고친 것)을 받아 검토하고 냈다.
@@ -29,8 +77,15 @@ All notable changes to this project will be documented in this file.
29
77
  ### 샘플 캡이 고를 수 있는 것을 숨기던 것
30
78
 
31
79
  **`getViableChoseongs` 가 생성용 샘플(기본 1500)로 셌다.** 그래서 샘플 밖의 드문 초성이
32
- 실제로 가능해도 **단추에서 사라졌다.** `fullCount: true` 로 전체 후보를 본다(열쇠에 `F` 로
33
- 들어 있어 생성용 풀과 섞이지 않는다).
80
+ 실제로 가능해도 **고를 수 있는 것에서 빠졌다.** `fullCount: true` 로 전체 후보를 본다
81
+ (열쇠에 `F` 로 들어 있어 생성용 풀과 섞이지 않는다).
82
+
83
+ > **지금 그 손잡이를 부르는 자리는 없다**(꾸러미를 받아 세었다 — 묶음 셋에 그 이름 0,
84
+ > 공개 `d.ts` 에 0, 코어 안에서 부르는 곳은 시험 둘뿐). 거르개(`useWordTrainingFilter`)는
85
+ > `getViableComposition`·`countUsableWords` 를 쓴다. **그러니 이 고침은 화면에서 지금
86
+ > 달라지는 것이 없고**, 서브패스 `utils/wordTrainingRuntime` 로 그 손잡이를 쓰는 쪽이
87
+ > 생길 때 값을 한다. 처음 이 자리에 *"단추에서 사라졌다"* 고 적어 지금 나는 일처럼
88
+ > 읽히게 했다 — 0.345.0 꾸러미에는 그 글이 실려 나갔다.
34
89
 
35
90
  ### 없는 날짜를 실제 날짜처럼 보여 주던 것
36
91