@ihabdevteam/core 0.204.0 → 0.205.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 +59 -4
- package/dist/components.cjs.js +11 -11
- package/dist/components.esm.css +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/i18n.cjs.js +1 -1
- package/dist/ihabdevteam-core.cjs.js +15 -15
- package/dist/ihabdevteam-core.d.ts +21 -2
- package/dist/packages/core/src/components/Word/WordTableBlock.css +15 -0
- package/dist/packages/core/src/components/Word/WordTableBlock.d.ts +1 -1
- package/dist/packages/core/src/components/Word/WordTableBlock.js +2 -2
- package/dist/packages/core/src/components/Word/wordTableBlockTypes.d.ts +19 -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,42 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
> 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
|
|
8
8
|
> 제 이야기를 못 찾는다.
|
|
9
9
|
|
|
10
|
+
## 0.205.0
|
|
11
|
+
|
|
12
|
+
### 더해짐 — 액션 줄 왼쪽에 부르는 쪽이 단추를 놓는 자리 (말귀 요청 ㉕)
|
|
13
|
+
|
|
14
|
+
`WordTableBlock` 의 액션 줄은 코어가 다 그렸고, 앱이 그 무리에 단추를 **하나 더** 넣을 길이
|
|
15
|
+
없었다. 그래서 앱은 `.word-table-block__actions-left` 를 **찾아 포털로 얹고** 차례를 CSS
|
|
16
|
+
`order` 로 맞추고 있었다 — 남의 마디에 얹는 길이라 **코어가 class 이름이나 마디를 바꾸면
|
|
17
|
+
조용히 어긋난다.** 그 길을 닫으려고 `actionsLeftExtra` 를 낸다.
|
|
18
|
+
|
|
19
|
+
**자리는 '모두 선택 해제' 다음, '불러오기' 앞이다.** 그 무리는 앞이 **표를 손보는 것**이고
|
|
20
|
+
뒤(불러오기 · 새 창으로 보기)가 **표를 드나드는 것**이라, 표 내용을 바꾸는 단추('모두 다른
|
|
21
|
+
단어로')가 나가는 단추들 사이에 끼면 무리가 안 읽힌다. `onReset` 을 안 주면 맨 앞에 선다.
|
|
22
|
+
`saveOnly` 에서는 안 그린다 — 그때 그 줄 왼쪽은 통째로 빈다.
|
|
23
|
+
|
|
24
|
+
동작이 아니라 **그릴 것**을 받는다. 화면마다 얹을 것이 다르고(한쪽은 '모두 다른 단어로',
|
|
25
|
+
다른 쪽은 '모두 다른 대립쌍으로') 코어가 아는 것은 어디에 놓느냐뿐이다 — `renderCellAction`
|
|
26
|
+
과 같은 셈이다.
|
|
27
|
+
|
|
28
|
+
### 고침 — 액션 줄이 길어지면 '저장하기' 가 판 밖으로 밀려 잘렸다
|
|
29
|
+
|
|
30
|
+
위 자리를 내주려고 재 보다 걸렸다. 왼쪽에 단추 하나만 더 서도 두 무리의 폭이 판을 넘는데,
|
|
31
|
+
그 줄은 안 접히므로 **오른쪽 무리가 판 밖으로 밀려 나간다**(실측 2026-09-28, 판 오른끝
|
|
32
|
+
947px · 저장하기 오른끝 1078px — 131px 이 잘렸다). 아무 데서도 안 터지고 **주 단추만 손에
|
|
33
|
+
안 닿는다.**
|
|
34
|
+
|
|
35
|
+
`flex-wrap: wrap` 으로 모자라면 아랫줄로 내리고, 내려가도 주 단추가 오른쪽 끝에 서도록
|
|
36
|
+
오른쪽 무리에 `margin-left: auto` 를 준다(한 줄에 다 설 때는 `space-between` 이 이미 하는
|
|
37
|
+
일이라 아무것도 안 바뀐다). 세로로 세우는 좁은 화면에서는 그 자동 여백을 **거둔다** — 거기선
|
|
38
|
+
가로가 엇축이라 자동 여백이 `align-items: stretch` 를 이겨 오른쪽 무리만 쪼그라든다.
|
|
39
|
+
|
|
40
|
+
이 탈은 이 자리를 내기 전에도 닿을 수 있었다(왼쪽 셋 + 오른쪽 셋인 화면). 다만 왼쪽이 늘 수
|
|
41
|
+
있게 되면서 닿기 쉬워졌으므로 같이 고친다.
|
|
42
|
+
|
|
43
|
+
`test/wordTableBlockActionsLeftExtra.test.tsx` 가 **차례**(무엇 다음 무엇 앞)와 위 CSS 규칙
|
|
44
|
+
셋을 잰다 — 앱이 겪던 탈이 곧 '차례가 조용히 어긋나는 것' 이라 거기를 못 박는다.
|
|
45
|
+
|
|
10
46
|
## 0.204.0
|
|
11
47
|
|
|
12
48
|
### 고침 — 사전이 자라면 대립쌍 검색이 **던졌다** (말귀 요청 ㉔)
|
|
@@ -14,7 +50,7 @@ All notable changes to this project will be documented in this file.
|
|
|
14
50
|
`searchPairs` 가 낱말이 많으면 0건이 아니라 `RangeError: Set maximum size exceeded` 를
|
|
15
51
|
던져 **화면이 통째로 넘어졌다.** 견준 쌍을 모두 `Set` 에 담아 겹침을 걸렀는데, 그 수가
|
|
16
52
|
낱말 수의 제곱이라 자바스크립트 `Set` 상한(2^24 = 16,777,216)에 닿았다. 재 보니 한 음절
|
|
17
|
-
낱말 **6,200개에서 15.8초 만에 던진다**(실측 2026-09-28).
|
|
53
|
+
낱말 **6,200개에서 15.8초 만에 던진다**(실측 2026-09-28).
|
|
18
54
|
|
|
19
55
|
세 성분(초성·중성·종성)을 다 고르면 한 음절 낱말이 **전부 한 묶음**에 들어 가장 많이
|
|
20
56
|
견주므로, 옵션을 넓게 고른 사람이 먼저 만난다. 말귀는 간편 제작 옵션 쓸기를 짓다 걸렸다.
|
|
@@ -35,10 +71,11 @@ All notable changes to this project will be documented in this file.
|
|
|
35
71
|
|---|---|---|
|
|
36
72
|
| 한 음절 6,384 | 35.5초 버티다 **던짐** | 2.1초 |
|
|
37
73
|
| 한 음절 11,172(쓸 수 있는 전부 — 막다른 꼴) | **던짐** | 2.6초 |
|
|
38
|
-
| 섞인 23,000(한 음절 12
|
|
74
|
+
| 섞인 23,000(한 음절 12%, 지은 자료) | 2,206ms | **202ms** |
|
|
39
75
|
|
|
40
|
-
맨 아랫줄이 실사전에 가까운 꼴이다 —
|
|
41
|
-
|
|
76
|
+
맨 아랫줄이 실사전에 가까운 꼴이다(**지은 자료**다 — 실낱말은 망 너머라 시험이 못 읽는다)
|
|
77
|
+
— **거기서는 전에도 안 던졌다.** 한 묶음이 5,800 남짓을 넘어야 닿으므로, 한 음절 낱말이
|
|
78
|
+
그만큼 많은 사전에서 먼저 터진다. 말귀가 잰 11,970 낱말은
|
|
42
79
|
자모를 고루 담으려 지은 풀이라 한 묶음이 그만큼 컸다. 실사전이 아직 안 터졌더라도 상한이
|
|
43
80
|
낱말 수의 제곱에 걸려 있는 한 자라면 닿는 꼴이라, 값을 늘리는 대신 걸이를 없앴다.
|
|
44
81
|
|
|
@@ -49,6 +86,24 @@ All notable changes to this project will be documented in this file.
|
|
|
49
86
|
덤에 한 번만 나오고 있었으므로, 쌍을 기억하지 않게 되면 뜻 수만큼 여러 벌 나온다.
|
|
50
87
|
치료사에게 보일 칸이 아니라 아예 세지 않는다. 표기가 다른 짝(`김밥|김빱`)은 그대로다.
|
|
51
88
|
|
|
89
|
+
**실자료로 닫았다**(말귀 실측 2026-09-28, 화면에 깔린 `word_data_cache` 8,000 낱말):
|
|
90
|
+
표기가 겹치는 것 281 가운데 **279 는 발음까지 같아** 전에도 '다른 데가 없다'로 쌍이 안 됐다.
|
|
91
|
+
발음이 다른 겹침은 **둘뿐**이다(`경계[경걔]`·`경계[걍걔]` · `대가[대까]`·`대가[대가]`).
|
|
92
|
+
그러니 이 변경으로 빠지는 쌍은 **많아야 둘**이고 둘 다 칸 이름이 같은 카드다.
|
|
93
|
+
|
|
94
|
+
다만 **센 것이 사전 전부는 아니다.** 8,000 은 그 기계 브라우저에 깔린 캐시다 —
|
|
95
|
+
이 글 여러 곳에 적힌 "23,000" 은 라이브 자료를 두고 한 말인데, 이번에 그 수를
|
|
96
|
+
다시 센 것은 아니다(청한 쪽도 옮겨 적은 값이라고 밝혔다). 그러니 여기서 못 박히는 것은
|
|
97
|
+
**비율**이다: 겹침 281 중 발음이 다른 것이 2. 사전이 셋 곱 크더라도 그 비율이 비슷하면
|
|
98
|
+
빠지는 쌍은 한 줌이다. 사전 크기를 근거로 삼는 글을 쓸 때는 어느 쪽을 센 값인지 적는다.
|
|
99
|
+
|
|
100
|
+
앱 쪽 실측도 붙는다(말귀, 13,164 낱말): 간편 제작 쓸기 한 바퀴 98개가 **18.06초 → 13.50초**,
|
|
101
|
+
전에 던지던 그 문장은 **1쌍 2,823ms** 로 돈다. 안 던지게 됐을 뿐 여전히 느리다 —
|
|
102
|
+
한 묶음 안을 낱낱이 견주는 꼴(묶음 크기의 제곱)이 남아 있고, 고른 성분마다 '그 성분만 빼고
|
|
103
|
+
나머지로' 다시 묶으면 견주는 수가 6,200만에서 10만 남짓으로 떨어진다(한 음절 11,172 낱말 셈).
|
|
104
|
+
실사용에서 걸리는 문장이 나오면 그 문장을 잣대로 고친다 — 판정 한복판을 다시 짜는 일이라
|
|
105
|
+
급한 일 없이 건드릴 자리가 아니다.
|
|
106
|
+
|
|
52
107
|
`test/pairSearchBigPool.test.ts` 가 넷을 잰다 — 6,384 낱말에서 던지지 않는지, 고른 대립쌍이
|
|
53
108
|
오는지, 발음이 같은 쌍이 결과에 못 드는지, 한 쌍이 두 번 들어오지 않는지.
|
|
54
109
|
|