@polyglot-bundles/ta-minimal-pairs 0.2.2 → 0.3.1

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.
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared';
2
+ export declare const level0Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-0.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-0.d.ts","sourceRoot":"","sources":["../../src/data/level-0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EAoBhD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared';
2
+ export declare const level1Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-1.d.ts","sourceRoot":"","sources":["../../src/data/level-1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EAuChD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared';
2
+ export declare const level2Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-2.d.ts","sourceRoot":"","sources":["../../src/data/level-2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EAuChD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared';
2
+ export declare const level3Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-3.d.ts","sourceRoot":"","sources":["../../src/data/level-3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EA8BhD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared';
2
+ export declare const level4Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-4.d.ts","sourceRoot":"","sources":["../../src/data/level-4.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EAuChD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared';
2
+ export declare const level5Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-5.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-5.d.ts","sourceRoot":"","sources":["../../src/data/level-5.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EAsBhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF,eAAO,MAAM,gBAAgB,EAAE,wBAiN9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAmBjF,eAAO,MAAM,gBAAgB,EAAE,wBAI9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
package/dist/data.js CHANGED
@@ -1,205 +1,225 @@
1
- const i = {
2
- levels: [
3
- { level: 0, title: "Getting Started", description: "Practice with clearly different sounds" },
4
- { level: 1, title: "Vowel Length", description: "Short vs long vowels" },
5
- { level: 2, title: "Retroflex vs Dental", description: "Unique Tamil consonant contrasts" },
6
- { level: 3, title: "Nasal Contrasts", description: "Nasal consonant distinctions" },
7
- { level: 4, title: "Liquid Consonants", description: "The unique ழ (ḻa) and others" },
8
- { level: 5, title: "Expert Level", description: "Subtle distinctions and sandhi" }
9
- ],
10
- minimalPairs: [
11
- // Level 0: Clear contrasts
12
- {
13
- pairId: "ta_l0_001",
14
- level: 0,
15
- tags: ["level_0"],
16
- contrastFeature: "consonant",
17
- contrastDescription: "/k/ vs /p/",
18
- word1: { script: "கல்", romanization: "kal", definition: "stone", audioFile: null },
19
- word2: { script: "பல்", romanization: "pal", definition: "tooth", audioFile: null }
20
- },
21
- {
22
- pairId: "ta_l0_002",
23
- level: 0,
24
- tags: ["level_0"],
25
- contrastFeature: "consonant",
26
- contrastDescription: "/m/ vs /n/",
27
- word1: { script: "மண்", romanization: "maṇ", definition: "earth; soil", audioFile: null },
28
- word2: { script: "நண்", romanization: "naṇ", definition: "(shyness)", audioFile: null }
29
- },
30
- // Level 1: Vowel length contrasts
31
- {
32
- pairId: "ta_l1_001",
33
- level: 1,
34
- tags: ["level_1", "vowel"],
35
- contrastFeature: "vowel",
36
- contrastDescription: "Short /a/ vs long /aː/",
37
- pronunciationTipId: "vowel_length",
38
- word1: { script: "விடு", romanization: "viṭu", definition: "to leave; house", audioFile: null },
39
- word2: { script: "வீடு", romanization: "vīṭu", definition: "house", audioFile: null }
40
- },
41
- {
42
- pairId: "ta_l1_002",
43
- level: 1,
44
- tags: ["level_1", "vowel"],
45
- contrastFeature: "vowel",
46
- contrastDescription: "Short /i/ vs long /iː/",
47
- word1: { script: "கலம்", romanization: "kalam", definition: "vessel; ship", audioFile: null },
48
- word2: { script: "காலம்", romanization: "kālam", definition: "time; period", audioFile: null }
49
- },
50
- {
51
- pairId: "ta_l1_003",
52
- level: 1,
53
- tags: ["level_1", "vowel"],
54
- contrastFeature: "vowel",
55
- contrastDescription: "Short /u/ vs long /uː/",
56
- word1: { script: "பல்", romanization: "pal", definition: "tooth", audioFile: null },
57
- word2: { script: "பால்", romanization: "pāl", definition: "milk", audioFile: null }
58
- },
59
- {
60
- pairId: "ta_l1_004",
61
- level: 1,
62
- tags: ["level_1", "vowel"],
63
- contrastFeature: "vowel",
64
- contrastDescription: "Short /e/ vs long /eː/",
65
- word1: { script: "எலி", romanization: "eli", definition: "mouse", audioFile: null },
66
- word2: { script: "ஏலி", romanization: "ēli", definition: "(interjection)", audioFile: null }
67
- },
68
- // Level 2: Retroflex vs dental
69
- {
70
- pairId: "ta_l2_001",
71
- level: 2,
72
- tags: ["level_2", "consonant"],
73
- contrastFeature: "consonant",
74
- contrastDescription: "Dental /t̪/ vs retroflex /ʈ/",
75
- pronunciationTipId: "consonant_retroflex",
76
- word1: { script: "கத்து", romanization: "kattu", definition: "to shout", audioFile: null },
77
- word2: { script: "கட்டு", romanization: "kaṭṭu", definition: "bundle; to tie", audioFile: null }
78
- },
79
- {
80
- pairId: "ta_l2_002",
81
- level: 2,
82
- tags: ["level_2", "consonant"],
83
- contrastFeature: "consonant",
84
- contrastDescription: "Dental /d̪/ vs retroflex /ɖ/",
85
- word1: { script: "நாது", romanization: "nādu", definition: "we planted", audioFile: null },
86
- word2: { script: "நாடு", romanization: "nāṭu", definition: "country", audioFile: null }
87
- },
88
- {
89
- pairId: "ta_l2_003",
90
- level: 2,
91
- tags: ["level_2", "consonant"],
92
- contrastFeature: "consonant",
93
- contrastDescription: "Dental /n̪/ vs retroflex /ɳ/",
94
- word1: { script: "பத்து", romanization: "pattu", definition: "ten", audioFile: null },
95
- word2: { script: "பட்டு", romanization: "paṭṭu", definition: "silk", audioFile: null }
96
- },
97
- {
98
- pairId: "ta_l2_004",
99
- level: 2,
100
- tags: ["level_2", "consonant"],
101
- contrastFeature: "consonant",
102
- contrastDescription: "Retroflex nasal /ɳ/ vs dental /n/",
103
- word1: { script: "கண்", romanization: "kaṇ", definition: "eye", audioFile: null },
104
- word2: { script: "கன்", romanization: "kan", definition: "calf (of leg)", audioFile: null }
105
- },
106
- // Level 3: Nasal contrasts
107
- {
108
- pairId: "ta_l3_001",
109
- level: 3,
110
- tags: ["level_3", "consonant"],
111
- contrastFeature: "consonant",
112
- contrastDescription: "Retroflex nasal /ɳ/ vs dental nasal /n/",
113
- pronunciationTipId: "consonant_nasals",
114
- word1: { script: "பணம்", romanization: "paṇam", definition: "money", audioFile: null },
115
- word2: { script: "பனம்", romanization: "panam", definition: "palm tree", audioFile: null }
116
- },
117
- {
118
- pairId: "ta_l3_002",
119
- level: 3,
120
- tags: ["level_3", "consonant"],
121
- contrastFeature: "consonant",
122
- contrastDescription: "Palatal nasal /ɲ/ vs dental /n/",
123
- word1: { script: "அஞ்சு", romanization: "añcu", definition: "five; to fear", audioFile: null },
124
- word2: { script: "அன்று", romanization: "aṉṟu", definition: "that day", audioFile: null }
125
- },
126
- {
127
- pairId: "ta_l3_003",
128
- level: 3,
129
- tags: ["level_3", "consonant"],
130
- contrastFeature: "consonant",
131
- contrastDescription: "Velar nasal /ŋ/ vs retroflex /ɳ/",
132
- word1: { script: "அங்கு", romanization: "aṅgu", definition: "there", audioFile: null },
133
- word2: { script: "அண்", romanization: "aṇ", definition: "(nearness)", audioFile: null }
134
- },
135
- // Level 4: Liquid consonants including ழ
136
- {
137
- pairId: "ta_l4_001",
138
- level: 4,
139
- tags: ["level_4", "consonant"],
140
- contrastFeature: "consonant",
141
- contrastDescription: "Retroflex lateral /ɭ/ (ள) vs dental /l/ (ல)",
142
- pronunciationTipId: "consonant_liquid",
143
- word1: { script: "வலி", romanization: "vali", definition: "pain", audioFile: null },
144
- word2: { script: "வளி", romanization: "vaḻi", definition: "air; path", audioFile: null }
145
- },
146
- {
147
- pairId: "ta_l4_002",
148
- level: 4,
149
- tags: ["level_4", "consonant"],
150
- contrastFeature: "consonant",
151
- contrastDescription: "Retroflex lateral /ɭ/ vs alveolar /r/",
152
- word1: { script: "கலை", romanization: "kalai", definition: "art", audioFile: null },
153
- word2: { script: "களை", romanization: "kaḷai", definition: "weed; to remove", audioFile: null }
154
- },
155
- {
156
- pairId: "ta_l4_003",
157
- level: 4,
158
- tags: ["level_4", "consonant"],
159
- contrastFeature: "consonant",
160
- contrastDescription: "Retroflex approximant /ɻ/ (ழ) vs /l/",
161
- word1: { script: "வரம்", romanization: "varam", definition: "boon", audioFile: null },
162
- word2: { script: "வழம்", romanization: "vaḻam", definition: "(custom)", audioFile: null }
163
- },
164
- {
165
- pairId: "ta_l4_004",
166
- level: 4,
167
- tags: ["level_4", "consonant"],
168
- contrastFeature: "consonant",
169
- contrastDescription: "Retroflex approximant /ɻ/ (ழ) vs /r/",
170
- word1: { script: "அரை", romanization: "arai", definition: "half", audioFile: null },
171
- word2: { script: "அழை", romanization: "aḻai", definition: "call", audioFile: null }
172
- },
173
- // Level 5: Expert - subtle distinctions
174
- {
175
- pairId: "ta_l5_001",
176
- level: 5,
177
- tags: ["level_5", "consonant"],
178
- contrastFeature: "consonant",
179
- contrastDescription: "/ɻ/ (ழ) - the unique Tamil sound",
180
- word1: { script: "வாழை", romanization: "vāḻai", definition: "banana", audioFile: null },
181
- word2: { script: "வாலை", romanization: "vālai", definition: "(tail - dialectal)", audioFile: null },
182
- notes: "The ழ (ḻa) is a retroflex approximant unique to Tamil. It's made with the tongue curled back but not touching."
183
- },
184
- {
185
- pairId: "ta_l5_002",
186
- level: 5,
187
- tags: ["level_5", "vowel"],
188
- contrastFeature: "vowel",
189
- contrastDescription: "Vowel length in compound words",
190
- word1: { script: "பொன்", romanization: "poṉ", definition: "gold", audioFile: null },
191
- word2: { script: "பூ", romanization: "pū", definition: "flower", audioFile: null },
192
- notes: "Tamil vowel length is phonemic and preserved in compounds."
193
- }
194
- ],
195
- pronunciationTips: {
196
- vowel_length: "Short vowels are brief, long vowels are held twice as long. Length changes meaning: விடு (leave) vs வீடு (house).",
197
- consonant_retroflex: "Retroflex consonants (ட், ட், ண்) are made with tongue curled back against the roof. Dental (த், த், ந்) with tongue against upper teeth.",
198
- consonant_nasals: "Tamil has 5 nasals: ங் (velar), ஞ் (palatal), ந் (dental), ண் (retroflex), ம் (bilabial). Each has its own place of articulation.",
199
- consonant_liquid: "Tamil has unique liquids: ல் (dental lateral), ள் (retroflex lateral), ழ் (retroflex approximant), ர் (alveolar)."
1
+ const i = [
2
+ { level: 0, title: "Getting Started", description: "Practice with clearly different sounds" },
3
+ { level: 1, title: "Vowel Length", description: "Short vs long vowels" },
4
+ { level: 2, title: "Retroflex vs Dental", description: "Unique Tamil consonant contrasts" },
5
+ { level: 3, title: "Nasal Contrasts", description: "Nasal consonant distinctions" },
6
+ { level: 4, title: "Liquid Consonants", description: "The unique ழ (ḻa) and others" },
7
+ { level: 5, title: "Expert Level", description: "Subtle distinctions and sandhi" }
8
+ ], n = {
9
+ vowel_length: "Short vowels are brief, long vowels are held twice as long. Length changes meaning: விடு (leave) vs வீடு (house).",
10
+ consonant_retroflex: "Retroflex consonants (ட், ட், ண்) are made with tongue curled back against the roof. Dental (த், த், ந்) with tongue against upper teeth.",
11
+ consonant_nasals: "Tamil has 5 nasals: ங் (velar), ஞ் (palatal), ந் (dental), ண் (retroflex), ம் (bilabial). Each has its own place of articulation.",
12
+ consonant_liquid: "Tamil has unique liquids: ல் (dental lateral), ள் (retroflex lateral), ழ் (retroflex approximant), ர் (alveolar)."
13
+ }, t = [
14
+ // Level 0: Clear contrasts
15
+ {
16
+ pairId: "ta_l0_001",
17
+ level: 0,
18
+ tags: ["level_0"],
19
+ contrastFeature: "consonant",
20
+ contrastDescription: "/k/ vs /p/",
21
+ word1: { script: "கல்", romanization: "kal", definition: "stone", audioFile: null },
22
+ word2: { script: "பல்", romanization: "pal", definition: "tooth", audioFile: null }
23
+ },
24
+ {
25
+ pairId: "ta_l0_002",
26
+ level: 0,
27
+ tags: ["level_0"],
28
+ contrastFeature: "consonant",
29
+ contrastDescription: "/m/ vs /n/",
30
+ word1: { script: "மண்", romanization: "maṇ", definition: "earth; soil", audioFile: null },
31
+ word2: { script: "நண்", romanization: "naṇ", definition: "(shyness)", audioFile: null }
200
32
  }
33
+ ], a = [
34
+ // Level 1: Vowel length contrasts
35
+ {
36
+ pairId: "ta_l1_001",
37
+ level: 1,
38
+ tags: ["level_1", "vowel"],
39
+ contrastFeature: "vowel",
40
+ contrastDescription: "Short /a/ vs long /aː/",
41
+ pronunciationTipId: "vowel_length",
42
+ word1: { script: "விடு", romanization: "viṭu", definition: "to leave; house", audioFile: null },
43
+ word2: { script: "வீடு", romanization: "vīṭu", definition: "house", audioFile: null }
44
+ },
45
+ {
46
+ pairId: "ta_l1_002",
47
+ level: 1,
48
+ tags: ["level_1", "vowel"],
49
+ contrastFeature: "vowel",
50
+ contrastDescription: "Short /i/ vs long /iː/",
51
+ word1: { script: "கலம்", romanization: "kalam", definition: "vessel; ship", audioFile: null },
52
+ word2: { script: "காலம்", romanization: "kālam", definition: "time; period", audioFile: null }
53
+ },
54
+ {
55
+ pairId: "ta_l1_003",
56
+ level: 1,
57
+ tags: ["level_1", "vowel"],
58
+ contrastFeature: "vowel",
59
+ contrastDescription: "Short /u/ vs long /uː/",
60
+ word1: { script: "பல்", romanization: "pal", definition: "tooth", audioFile: null },
61
+ word2: { script: "பால்", romanization: "pāl", definition: "milk", audioFile: null }
62
+ },
63
+ {
64
+ pairId: "ta_l1_004",
65
+ level: 1,
66
+ tags: ["level_1", "vowel"],
67
+ contrastFeature: "vowel",
68
+ contrastDescription: "Short /e/ vs long /eː/",
69
+ word1: { script: "எலி", romanization: "eli", definition: "mouse", audioFile: null },
70
+ word2: { script: "ஏலி", romanization: "ēli", definition: "(interjection)", audioFile: null }
71
+ }
72
+ ], o = [
73
+ // Level 2: Retroflex vs dental
74
+ {
75
+ pairId: "ta_l2_001",
76
+ level: 2,
77
+ tags: ["level_2", "consonant"],
78
+ contrastFeature: "consonant",
79
+ contrastDescription: "Dental /t̪/ vs retroflex /ʈ/",
80
+ pronunciationTipId: "consonant_retroflex",
81
+ word1: { script: "கத்து", romanization: "kattu", definition: "to shout", audioFile: null },
82
+ word2: { script: "கட்டு", romanization: "kaṭṭu", definition: "bundle; to tie", audioFile: null }
83
+ },
84
+ {
85
+ pairId: "ta_l2_002",
86
+ level: 2,
87
+ tags: ["level_2", "consonant"],
88
+ contrastFeature: "consonant",
89
+ contrastDescription: "Dental /d̪/ vs retroflex /ɖ/",
90
+ word1: { script: "நாது", romanization: "nādu", definition: "we planted", audioFile: null },
91
+ word2: { script: "நாடு", romanization: "nāṭu", definition: "country", audioFile: null }
92
+ },
93
+ {
94
+ pairId: "ta_l2_003",
95
+ level: 2,
96
+ tags: ["level_2", "consonant"],
97
+ contrastFeature: "consonant",
98
+ contrastDescription: "Dental /n̪/ vs retroflex /ɳ/",
99
+ word1: { script: "பத்து", romanization: "pattu", definition: "ten", audioFile: null },
100
+ word2: { script: "பட்டு", romanization: "paṭṭu", definition: "silk", audioFile: null }
101
+ },
102
+ {
103
+ pairId: "ta_l2_004",
104
+ level: 2,
105
+ tags: ["level_2", "consonant"],
106
+ contrastFeature: "consonant",
107
+ contrastDescription: "Retroflex nasal /ɳ/ vs dental /n/",
108
+ word1: { script: "கண்", romanization: "kaṇ", definition: "eye", audioFile: null },
109
+ word2: { script: "கன்", romanization: "kan", definition: "calf (of leg)", audioFile: null }
110
+ }
111
+ ], e = [
112
+ // Level 3: Nasal contrasts
113
+ {
114
+ pairId: "ta_l3_001",
115
+ level: 3,
116
+ tags: ["level_3", "consonant"],
117
+ contrastFeature: "consonant",
118
+ contrastDescription: "Retroflex nasal /ɳ/ vs dental nasal /n/",
119
+ pronunciationTipId: "consonant_nasals",
120
+ word1: { script: "பணம்", romanization: "paṇam", definition: "money", audioFile: null },
121
+ word2: { script: "பனம்", romanization: "panam", definition: "palm tree", audioFile: null }
122
+ },
123
+ {
124
+ pairId: "ta_l3_002",
125
+ level: 3,
126
+ tags: ["level_3", "consonant"],
127
+ contrastFeature: "consonant",
128
+ contrastDescription: "Palatal nasal /ɲ/ vs dental /n/",
129
+ word1: { script: "அஞ்சு", romanization: "añcu", definition: "five; to fear", audioFile: null },
130
+ word2: { script: "அன்று", romanization: "aṉṟu", definition: "that day", audioFile: null }
131
+ },
132
+ {
133
+ pairId: "ta_l3_003",
134
+ level: 3,
135
+ tags: ["level_3", "consonant"],
136
+ contrastFeature: "consonant",
137
+ contrastDescription: "Velar nasal /ŋ/ vs retroflex /ɳ/",
138
+ word1: { script: "அங்கு", romanization: "aṅgu", definition: "there", audioFile: null },
139
+ word2: { script: "அண்", romanization: "aṇ", definition: "(nearness)", audioFile: null }
140
+ }
141
+ ], l = [
142
+ // Level 4: Liquid consonants including ழ
143
+ {
144
+ pairId: "ta_l4_001",
145
+ level: 4,
146
+ tags: ["level_4", "consonant"],
147
+ contrastFeature: "consonant",
148
+ contrastDescription: "Retroflex lateral /ɭ/ (ள) vs dental /l/ (ல)",
149
+ pronunciationTipId: "consonant_liquid",
150
+ word1: { script: "வலி", romanization: "vali", definition: "pain", audioFile: null },
151
+ word2: { script: "வளி", romanization: "vaḻi", definition: "air; path", audioFile: null }
152
+ },
153
+ {
154
+ pairId: "ta_l4_002",
155
+ level: 4,
156
+ tags: ["level_4", "consonant"],
157
+ contrastFeature: "consonant",
158
+ contrastDescription: "Retroflex lateral /ɭ/ vs alveolar /r/",
159
+ word1: { script: "கலை", romanization: "kalai", definition: "art", audioFile: null },
160
+ word2: { script: "களை", romanization: "kaḷai", definition: "weed; to remove", audioFile: null }
161
+ },
162
+ {
163
+ pairId: "ta_l4_003",
164
+ level: 4,
165
+ tags: ["level_4", "consonant"],
166
+ contrastFeature: "consonant",
167
+ contrastDescription: "Retroflex approximant /ɻ/ (ழ) vs /l/",
168
+ word1: { script: "வரம்", romanization: "varam", definition: "boon", audioFile: null },
169
+ word2: { script: "வழம்", romanization: "vaḻam", definition: "(custom)", audioFile: null }
170
+ },
171
+ {
172
+ pairId: "ta_l4_004",
173
+ level: 4,
174
+ tags: ["level_4", "consonant"],
175
+ contrastFeature: "consonant",
176
+ contrastDescription: "Retroflex approximant /ɻ/ (ழ) vs /r/",
177
+ word1: { script: "அரை", romanization: "arai", definition: "half", audioFile: null },
178
+ word2: { script: "அழை", romanization: "aḻai", definition: "call", audioFile: null }
179
+ }
180
+ ], r = [
181
+ // Level 5: Expert - subtle distinctions
182
+ {
183
+ pairId: "ta_l5_001",
184
+ level: 5,
185
+ tags: ["level_5", "consonant"],
186
+ contrastFeature: "consonant",
187
+ contrastDescription: "/ɻ/ (ழ) - the unique Tamil sound",
188
+ word1: { script: "வாழை", romanization: "vāḻai", definition: "banana", audioFile: null },
189
+ word2: { script: "வாலை", romanization: "vālai", definition: "(tail - dialectal)", audioFile: null },
190
+ notes: "The ழ (ḻa) is a retroflex approximant unique to Tamil. It's made with the tongue curled back but not touching."
191
+ },
192
+ {
193
+ pairId: "ta_l5_002",
194
+ level: 5,
195
+ tags: ["level_5", "vowel"],
196
+ contrastFeature: "vowel",
197
+ contrastDescription: "Vowel length in compound words",
198
+ word1: { script: "பொன்", romanization: "poṉ", definition: "gold", audioFile: null },
199
+ word2: { script: "பூ", romanization: "pū", definition: "flower", audioFile: null },
200
+ notes: "Tamil vowel length is phonemic and preserved in compounds."
201
+ }
202
+ ], s = [
203
+ ...t,
204
+ ...a,
205
+ ...o,
206
+ ...e,
207
+ ...l,
208
+ ...r
209
+ ], d = {
210
+ levels: i,
211
+ minimalPairs: s,
212
+ pronunciationTips: n
201
213
  };
202
214
  export {
203
- i as default,
204
- i as minimalPairsData
215
+ a,
216
+ o as b,
217
+ e as c,
218
+ l as d,
219
+ d as default,
220
+ r as e,
221
+ i as f,
222
+ t as l,
223
+ d as minimalPairsData,
224
+ n as p
205
225
  };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,11 @@
1
1
  export { minimalPairsData as default } from './data';
2
- export { minimalPairsData } from './data';
2
+ export { levels } from './levels';
3
+ export { pronunciationTips } from './pronunciationTips';
4
+ export { level0Pairs } from './data/level-0';
5
+ export { level1Pairs } from './data/level-1';
6
+ export { level2Pairs } from './data/level-2';
7
+ export { level3Pairs } from './data/level-3';
8
+ export { level4Pairs } from './data/level-4';
9
+ export { level5Pairs } from './data/level-5';
3
10
  export type { MinimalPairsLanguageData, MinimalPairsLevelInfo, MinimalPairsMinimalPair, MinimalPairsPronunciationTipsMap, MinimalPairsRubySegment, MinimalPairsWordInfo, } from '../../content-shared';
4
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAG1C,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,gCAAgC,EAChC,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,gCAAgC,EAChC,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,12 @@
1
- import { default as e, default as f } from "./data.js";
1
+ import { default as l, l as s, a as i, b as r, c as v, d as P, e as o, f as p, p as f } from "./data.js";
2
2
  export {
3
- e as default,
4
- f as minimalPairsData
3
+ l as default,
4
+ s as level0Pairs,
5
+ i as level1Pairs,
6
+ r as level2Pairs,
7
+ v as level3Pairs,
8
+ P as level4Pairs,
9
+ o as level5Pairs,
10
+ p as levels,
11
+ f as pronunciationTips
5
12
  };
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsLevelInfo } from '../../content-shared';
2
+ export declare const levels: MinimalPairsLevelInfo[];
3
+ //# sourceMappingURL=levels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"levels.d.ts","sourceRoot":"","sources":["../src/levels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,eAAO,MAAM,MAAM,EAAE,qBAAqB,EAOzC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsPronunciationTipsMap } from '../../content-shared';
2
+ export declare const pronunciationTips: MinimalPairsPronunciationTipsMap;
3
+ //# sourceMappingURL=pronunciationTips.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pronunciationTips.d.ts","sourceRoot":"","sources":["../src/pronunciationTips.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AAEzF,eAAO,MAAM,iBAAiB,EAAE,gCAS/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyglot-bundles/ta-minimal-pairs",
3
- "version": "0.2.2",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -12,14 +12,46 @@
12
12
  "./data": {
13
13
  "types": "./dist/data.d.ts",
14
14
  "import": "./dist/data.js"
15
+ },
16
+ "./levels": {
17
+ "types": "./dist/levels.d.ts",
18
+ "import": "./dist/levels.js"
19
+ },
20
+ "./pronunciationTips": {
21
+ "types": "./dist/pronunciationTips.d.ts",
22
+ "import": "./dist/pronunciationTips.js"
23
+ },
24
+ "./data/level-0": {
25
+ "types": "./dist/data/level-0.d.ts",
26
+ "import": "./dist/data/level-0.js"
27
+ },
28
+ "./data/level-1": {
29
+ "types": "./dist/data/level-1.d.ts",
30
+ "import": "./dist/data/level-1.js"
31
+ },
32
+ "./data/level-2": {
33
+ "types": "./dist/data/level-2.d.ts",
34
+ "import": "./dist/data/level-2.js"
35
+ },
36
+ "./data/level-3": {
37
+ "types": "./dist/data/level-3.d.ts",
38
+ "import": "./dist/data/level-3.js"
39
+ },
40
+ "./data/level-4": {
41
+ "types": "./dist/data/level-4.d.ts",
42
+ "import": "./dist/data/level-4.js"
43
+ },
44
+ "./data/level-5": {
45
+ "types": "./dist/data/level-5.d.ts",
46
+ "import": "./dist/data/level-5.js"
15
47
  }
16
48
  },
17
49
  "files": [
18
50
  "dist"
19
51
  ],
20
52
  "dependencies": {
21
- "@polyglot-bundles/content-shared": "0.3.0",
22
- "@polyglot-bundles/ta-lang": "0.2.0"
53
+ "@polyglot-bundles/content-shared": "0.3.1",
54
+ "@polyglot-bundles/ta-lang": "0.2.1"
23
55
  },
24
56
  "devDependencies": {
25
57
  "vite": "^5.4.0",