@syllst/th 0.1.3 → 0.2.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 (330) hide show
  1. package/dist/{index-of_athp-.js → index-4uNMctdq.js} +13 -13
  2. package/dist/{index-of_athp-.js.map → index-4uNMctdq.js.map} +1 -1
  3. package/dist/{index-Dy38Hmlm.js → index-BM-LWlCm.js} +10 -10
  4. package/dist/{index-Dy38Hmlm.js.map → index-BM-LWlCm.js.map} +1 -1
  5. package/dist/{index-CTQ45BVw.js → index-Bjym0crS.js} +8 -8
  6. package/dist/{index-CTQ45BVw.js.map → index-Bjym0crS.js.map} +1 -1
  7. package/dist/{index-B029m98V.js → index-BuKXw7-Z.js} +7 -7
  8. package/dist/{index-B029m98V.js.map → index-BuKXw7-Z.js.map} +1 -1
  9. package/dist/{index-CoqP9GZL.js → index-ByS0o5dz.js} +10 -10
  10. package/dist/{index-CoqP9GZL.js.map → index-ByS0o5dz.js.map} +1 -1
  11. package/dist/{index-BCA5Llwg.js → index-C9VnG7dT.js} +10 -10
  12. package/dist/{index-BCA5Llwg.js.map → index-C9VnG7dT.js.map} +1 -1
  13. package/dist/{index-vuRo2mLK.js → index-CPQkjFjV.js} +9 -9
  14. package/dist/{index-vuRo2mLK.js.map → index-CPQkjFjV.js.map} +1 -1
  15. package/dist/{index-BFcg5D_W.js → index-CkHd3Fal.js} +12 -12
  16. package/dist/{index-BFcg5D_W.js.map → index-CkHd3Fal.js.map} +1 -1
  17. package/dist/{index-CB8M6CK6.js → index-DBkPBXe2.js} +10 -10
  18. package/dist/{index-CB8M6CK6.js.map → index-DBkPBXe2.js.map} +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.js +18 -18
  21. package/dist/{lesson-01--9NOyHZ6.js → lesson-01-B0wtSaSl.js} +21 -9
  22. package/dist/lesson-01-B0wtSaSl.js.map +1 -0
  23. package/dist/{lesson-01-97FtYE6g.js → lesson-01-C9vbUlA4.js} +14 -6
  24. package/dist/lesson-01-C9vbUlA4.js.map +1 -0
  25. package/dist/{lesson-01-CF4tJfZ3.js → lesson-01-CPmBFTe0.js} +28 -16
  26. package/dist/lesson-01-CPmBFTe0.js.map +1 -0
  27. package/dist/{lesson-01-3hBted4A.js → lesson-01-Cc4Ws8eR.js} +25 -14
  28. package/dist/lesson-01-Cc4Ws8eR.js.map +1 -0
  29. package/dist/{lesson-01-BYKAZiua.js → lesson-01-Cm5k-m-9.js} +14 -8
  30. package/dist/lesson-01-Cm5k-m-9.js.map +1 -0
  31. package/dist/{lesson-01-WV3ic8Ok.js → lesson-01-DELblCNj.js} +11 -5
  32. package/dist/lesson-01-DELblCNj.js.map +1 -0
  33. package/dist/{lesson-01-CRx-yw4C.js → lesson-01-Djl_72e7.js} +14 -6
  34. package/dist/lesson-01-Djl_72e7.js.map +1 -0
  35. package/dist/{lesson-01-BhjY6ArF.js → lesson-01-LEHTeGQQ.js} +17 -9
  36. package/dist/lesson-01-LEHTeGQQ.js.map +1 -0
  37. package/dist/{lesson-01-BNdHXAGR.js → lesson-01-ih_-OO_O.js} +14 -6
  38. package/dist/lesson-01-ih_-OO_O.js.map +1 -0
  39. package/dist/{lesson-02-C8dfzXvq.js → lesson-02-B2aZrKUQ.js} +14 -6
  40. package/dist/lesson-02-B2aZrKUQ.js.map +1 -0
  41. package/dist/{lesson-02-C2ALLvoT.js → lesson-02-BI1Vnwiz.js} +17 -9
  42. package/dist/lesson-02-BI1Vnwiz.js.map +1 -0
  43. package/dist/{lesson-02-BGnp0Ik_.js → lesson-02-BXbwEMaL.js} +27 -15
  44. package/dist/lesson-02-BXbwEMaL.js.map +1 -0
  45. package/dist/{lesson-02-BAbq-QGP.js → lesson-02-CbJJ5Amt.js} +24 -14
  46. package/dist/lesson-02-CbJJ5Amt.js.map +1 -0
  47. package/dist/{lesson-02-Bm9EJuN8.js → lesson-02-DGrALAgG.js} +21 -9
  48. package/dist/lesson-02-DGrALAgG.js.map +1 -0
  49. package/dist/{lesson-02-C0ZL4z3c.js → lesson-02-DcMDDBDL.js} +11 -5
  50. package/dist/lesson-02-DcMDDBDL.js.map +1 -0
  51. package/dist/{lesson-02-B2Xg7RVU.js → lesson-02-Dk59HZWp.js} +17 -9
  52. package/dist/lesson-02-Dk59HZWp.js.map +1 -0
  53. package/dist/{lesson-02-BO3BXPMJ.js → lesson-02-L8oNhBej.js} +14 -8
  54. package/dist/lesson-02-L8oNhBej.js.map +1 -0
  55. package/dist/{lesson-02-CsejVbCo.js → lesson-02-VDOme3ES.js} +17 -9
  56. package/dist/lesson-02-VDOme3ES.js.map +1 -0
  57. package/dist/{lesson-03-DV2SUWVH.js → lesson-03-9WioSe19.js} +21 -9
  58. package/dist/lesson-03-9WioSe19.js.map +1 -0
  59. package/dist/{lesson-03-DiV17_Os.js → lesson-03-BZutWzMD.js} +14 -6
  60. package/dist/lesson-03-BZutWzMD.js.map +1 -0
  61. package/dist/{lesson-03-Xc8-2Yt3.js → lesson-03-CSIF5xRS.js} +14 -8
  62. package/dist/lesson-03-CSIF5xRS.js.map +1 -0
  63. package/dist/{lesson-03-DrJgbfDQ.js → lesson-03-CSKig363.js} +17 -9
  64. package/dist/lesson-03-CSKig363.js.map +1 -0
  65. package/dist/{lesson-03-XVahXvgf.js → lesson-03-CoDPKwa1.js} +21 -14
  66. package/dist/lesson-03-CoDPKwa1.js.map +1 -0
  67. package/dist/{lesson-03-8NtAeqFh.js → lesson-03-DPJOG2M_.js} +14 -8
  68. package/dist/lesson-03-DPJOG2M_.js.map +1 -0
  69. package/dist/{lesson-03-CKTNtgY1.js → lesson-03-DkjCuJ26.js} +17 -9
  70. package/dist/lesson-03-DkjCuJ26.js.map +1 -0
  71. package/dist/{lesson-03-BdZfKRhq.js → lesson-03-DucbRMOQ.js} +17 -9
  72. package/dist/lesson-03-DucbRMOQ.js.map +1 -0
  73. package/dist/{lesson-03-D8va_Q9B.js → lesson-03-MIne1PbH.js} +26 -14
  74. package/dist/lesson-03-MIne1PbH.js.map +1 -0
  75. package/dist/{lesson-04-Dfc7S4nT.js → lesson-04-0Pj_x1DU.js} +17 -9
  76. package/dist/lesson-04-0Pj_x1DU.js.map +1 -0
  77. package/dist/{lesson-04-ZrSBM0BX.js → lesson-04-B9h0p9kE.js} +14 -8
  78. package/dist/lesson-04-B9h0p9kE.js.map +1 -0
  79. package/dist/{lesson-04-DEEPJ_rd.js → lesson-04-BLuPI1-X.js} +22 -13
  80. package/dist/lesson-04-BLuPI1-X.js.map +1 -0
  81. package/dist/{lesson-04-rapx_3vA.js → lesson-04-CmDvofL4.js} +17 -9
  82. package/dist/lesson-04-CmDvofL4.js.map +1 -0
  83. package/dist/{lesson-04-DtXVhdGB.js → lesson-04-DGKHK4LW.js} +17 -9
  84. package/dist/lesson-04-DGKHK4LW.js.map +1 -0
  85. package/dist/{lesson-04-CtNr2B3E.js → lesson-04-DUcHZzsk.js} +21 -9
  86. package/dist/lesson-04-DUcHZzsk.js.map +1 -0
  87. package/dist/{lesson-04-BpRrNmzO.js → lesson-04-DnVIXXk-.js} +14 -8
  88. package/dist/lesson-04-DnVIXXk-.js.map +1 -0
  89. package/dist/{lesson-04-ioLXnB0j.js → lesson-04-FZnIE7tu.js} +27 -15
  90. package/dist/lesson-04-FZnIE7tu.js.map +1 -0
  91. package/dist/{lesson-04-D__vMCyA.js → lesson-04-ToX3nRz1.js} +17 -9
  92. package/dist/lesson-04-ToX3nRz1.js.map +1 -0
  93. package/dist/{lesson-05-D_GdROUn.js → lesson-05-2aTCGXMh.js} +14 -8
  94. package/dist/lesson-05-2aTCGXMh.js.map +1 -0
  95. package/dist/{lesson-05-ip400cxe.js → lesson-05-BvitRdE8.js} +28 -16
  96. package/dist/lesson-05-BvitRdE8.js.map +1 -0
  97. package/dist/{lesson-05-D1d3kc3M.js → lesson-05-CgXGkcjS.js} +14 -8
  98. package/dist/lesson-05-CgXGkcjS.js.map +1 -0
  99. package/dist/{lesson-05-D2SVU-I0.js → lesson-05-ClfrUrvX.js} +17 -9
  100. package/dist/lesson-05-ClfrUrvX.js.map +1 -0
  101. package/dist/{lesson-05-CKxXcooO.js → lesson-05-D2zf9n7k.js} +23 -13
  102. package/dist/lesson-05-D2zf9n7k.js.map +1 -0
  103. package/dist/{lesson-05-DusKUtbm.js → lesson-05-DWquBfdl.js} +21 -9
  104. package/dist/lesson-05-DWquBfdl.js.map +1 -0
  105. package/dist/{lesson-05-Bm6fg-DJ.js → lesson-05-DpIkwhJ8.js} +17 -9
  106. package/dist/lesson-05-DpIkwhJ8.js.map +1 -0
  107. package/dist/{lesson-05-DBsHyFlt.js → lesson-05-UYz39ORV.js} +17 -9
  108. package/dist/lesson-05-UYz39ORV.js.map +1 -0
  109. package/dist/{lesson-05-DXOLS7G0.js → lesson-05-t6XuANiZ.js} +17 -9
  110. package/dist/lesson-05-t6XuANiZ.js.map +1 -0
  111. package/dist/{lesson-06-1ZsbrE1a.js → lesson-06-B2y08mKv.js} +17 -9
  112. package/dist/lesson-06-B2y08mKv.js.map +1 -0
  113. package/dist/{lesson-06-1CE05TRX.js → lesson-06-CHqaVQix.js} +16 -10
  114. package/dist/lesson-06-CHqaVQix.js.map +1 -0
  115. package/dist/{lesson-06-Bliedg7n.js → lesson-06-CaCZBX1V.js} +17 -9
  116. package/dist/lesson-06-CaCZBX1V.js.map +1 -0
  117. package/dist/{lesson-06-Du9J8sYl.js → lesson-06-ClplsJBT.js} +30 -18
  118. package/dist/lesson-06-ClplsJBT.js.map +1 -0
  119. package/dist/{lesson-06-BG26PBTF.js → lesson-06-CzGnNKo5.js} +14 -8
  120. package/dist/lesson-06-CzGnNKo5.js.map +1 -0
  121. package/dist/{lesson-06-CnKkcUb-.js → lesson-06-Dg_bQLNC.js} +17 -9
  122. package/dist/lesson-06-Dg_bQLNC.js.map +1 -0
  123. package/dist/{lesson-06-Aw-X-HMV.js → lesson-06-OWFMgO0a.js} +23 -14
  124. package/dist/lesson-06-OWFMgO0a.js.map +1 -0
  125. package/dist/{lesson-06-CvN9pDsE.js → lesson-06-Q2aRAzws.js} +17 -9
  126. package/dist/lesson-06-Q2aRAzws.js.map +1 -0
  127. package/dist/{lesson-07-DjCMCYkK.js → lesson-07-BLDUA_Ff.js} +17 -9
  128. package/dist/lesson-07-BLDUA_Ff.js.map +1 -0
  129. package/dist/{lesson-07-DezS1ojS.js → lesson-07-BpyF1Ssq.js} +27 -15
  130. package/dist/lesson-07-BpyF1Ssq.js.map +1 -0
  131. package/dist/{lesson-07-rvSSQiVh.js → lesson-07-C4GrfDTW.js} +25 -13
  132. package/dist/lesson-07-C4GrfDTW.js.map +1 -0
  133. package/dist/{lesson-07-CTFSd9gF.js → lesson-07-CVCUt1Jn.js} +14 -8
  134. package/dist/lesson-07-CVCUt1Jn.js.map +1 -0
  135. package/dist/{lesson-07-8zdPFyjE.js → lesson-07-DQFXCZsZ.js} +17 -9
  136. package/dist/lesson-07-DQFXCZsZ.js.map +1 -0
  137. package/dist/{lesson-07-X6anzbAn.js → lesson-07-Dcry2Yjo.js} +17 -9
  138. package/dist/lesson-07-Dcry2Yjo.js.map +1 -0
  139. package/dist/{lesson-07-B9bkJ3gP.js → lesson-07-JS_cqdNr.js} +14 -8
  140. package/dist/lesson-07-JS_cqdNr.js.map +1 -0
  141. package/dist/{lesson-08-CeDWopKc.js → lesson-08-18gscaS0.js} +25 -13
  142. package/dist/lesson-08-18gscaS0.js.map +1 -0
  143. package/dist/{lesson-08-Cyzy_VeP.js → lesson-08-2kBUq_B2.js} +14 -8
  144. package/dist/lesson-08-2kBUq_B2.js.map +1 -0
  145. package/dist/{lesson-08-BYfkPBkH.js → lesson-08-BP5lpiGe.js} +17 -9
  146. package/dist/lesson-08-BP5lpiGe.js.map +1 -0
  147. package/dist/{lesson-08-Bb_v_gD-.js → lesson-08-BXm9GgdN.js} +14 -8
  148. package/dist/lesson-08-BXm9GgdN.js.map +1 -0
  149. package/dist/{lesson-08-BqW5C_OE.js → lesson-08-Bru0PdEK.js} +21 -9
  150. package/dist/lesson-08-Bru0PdEK.js.map +1 -0
  151. package/dist/{lesson-08-hJlci9W5.js → lesson-08-Dd-8cbGW.js} +17 -9
  152. package/dist/lesson-08-Dd-8cbGW.js.map +1 -0
  153. package/dist/{lesson-09-DHRHZIc1.js → lesson-09-B1qWE3Yl.js} +27 -15
  154. package/dist/lesson-09-B1qWE3Yl.js.map +1 -0
  155. package/dist/{lesson-09-BQ1CZCjT.js → lesson-09-B5Vb70xj.js} +14 -8
  156. package/dist/lesson-09-B5Vb70xj.js.map +1 -0
  157. package/dist/{lesson-10-BdfkVT7s.js → lesson-10-00qNLc7A.js} +25 -13
  158. package/dist/lesson-10-00qNLc7A.js.map +1 -0
  159. package/dist/{lesson-10-C7YEQ8et.js → lesson-10-Dw-Jtm3D.js} +14 -8
  160. package/dist/lesson-10-Dw-Jtm3D.js.map +1 -0
  161. package/dist/{lesson-11-oJQ8ZxJk.js → lesson-11-BM3R_S7I.js} +25 -13
  162. package/dist/lesson-11-BM3R_S7I.js.map +1 -0
  163. package/dist/{lesson-12-D69m5ETy.js → lesson-12-D1Wx7CyK.js} +33 -21
  164. package/dist/lesson-12-D1Wx7CyK.js.map +1 -0
  165. package/dist/skills-hcn-pGD0.js +244 -0
  166. package/dist/skills-hcn-pGD0.js.map +1 -0
  167. package/dist/syllabi/alphabet/index.js +1 -1
  168. package/dist/syllabi/dialogue/index.d.ts +1 -1
  169. package/dist/syllabi/dialogue/index.js +2 -2
  170. package/dist/syllabi/essentials/index.d.ts +1 -1
  171. package/dist/syllabi/essentials/index.js +2 -2
  172. package/dist/syllabi/food/index.d.ts +1 -1
  173. package/dist/syllabi/food/index.js +2 -2
  174. package/dist/syllabi/grammar/index.d.ts +1 -1
  175. package/dist/syllabi/grammar/index.js +2 -2
  176. package/dist/syllabi/numbers/index.d.ts +1 -1
  177. package/dist/syllabi/numbers/index.js +2 -2
  178. package/dist/syllabi/reading/index.d.ts +1 -1
  179. package/dist/syllabi/reading/index.js +2 -2
  180. package/dist/syllabi/travel/index.d.ts +1 -1
  181. package/dist/syllabi/travel/index.js +2 -2
  182. package/dist/syllabi/vowels-tones/index.d.ts +1 -1
  183. package/dist/syllabi/vowels-tones/index.js +2 -2
  184. package/package.json +5 -5
  185. package/src/syllabi/alphabet/lessons/lesson-01.mdx +24 -13
  186. package/src/syllabi/alphabet/lessons/lesson-02.mdx +23 -13
  187. package/src/syllabi/alphabet/lessons/lesson-03.mdx +20 -13
  188. package/src/syllabi/alphabet/lessons/lesson-04.mdx +21 -12
  189. package/src/syllabi/alphabet/lessons/lesson-05.mdx +22 -12
  190. package/src/syllabi/alphabet/lessons/lesson-06.mdx +22 -13
  191. package/src/syllabi/alphabet/lessons/lesson-07.mdx +26 -14
  192. package/src/syllabi/alphabet/lessons/lesson-08.mdx +24 -12
  193. package/src/syllabi/alphabet/lessons/lesson-09.mdx +26 -14
  194. package/src/syllabi/alphabet/lessons/lesson-10.mdx +24 -12
  195. package/src/syllabi/alphabet/lessons/lesson-11.mdx +24 -12
  196. package/src/syllabi/alphabet/lessons/lesson-12.mdx +32 -20
  197. package/src/syllabi/dialogue/lessons/lesson-01.mdx +13 -5
  198. package/src/syllabi/dialogue/lessons/lesson-02.mdx +13 -5
  199. package/src/syllabi/dialogue/lessons/lesson-03.mdx +13 -5
  200. package/src/syllabi/dialogue/lessons/lesson-04.mdx +16 -8
  201. package/src/syllabi/dialogue/lessons/lesson-05.mdx +16 -8
  202. package/src/syllabi/dialogue/lessons/lesson-06.mdx +16 -8
  203. package/src/syllabi/dialogue/lessons/lesson-07.mdx +16 -8
  204. package/src/syllabi/dialogue/lessons/lesson-08.mdx +16 -8
  205. package/src/syllabi/essentials/lessons/lesson-01.mdx +13 -5
  206. package/src/syllabi/essentials/lessons/lesson-02.mdx +16 -8
  207. package/src/syllabi/essentials/lessons/lesson-03.mdx +16 -8
  208. package/src/syllabi/essentials/lessons/lesson-04.mdx +16 -8
  209. package/src/syllabi/essentials/lessons/lesson-05.mdx +16 -8
  210. package/src/syllabi/essentials/lessons/lesson-06.mdx +16 -8
  211. package/src/syllabi/food/lessons/lesson-01.mdx +13 -5
  212. package/src/syllabi/food/lessons/lesson-02.mdx +16 -8
  213. package/src/syllabi/food/lessons/lesson-03.mdx +16 -8
  214. package/src/syllabi/food/lessons/lesson-04.mdx +16 -8
  215. package/src/syllabi/food/lessons/lesson-05.mdx +16 -8
  216. package/src/syllabi/food/lessons/lesson-06.mdx +16 -8
  217. package/src/syllabi/food/lessons/lesson-07.mdx +16 -8
  218. package/src/syllabi/food/lessons/lesson-08.mdx +16 -8
  219. package/src/syllabi/grammar/lessons/lesson-01.mdx +10 -4
  220. package/src/syllabi/grammar/lessons/lesson-02.mdx +10 -4
  221. package/src/syllabi/grammar/lessons/lesson-03.mdx +13 -7
  222. package/src/syllabi/grammar/lessons/lesson-04.mdx +13 -7
  223. package/src/syllabi/grammar/lessons/lesson-05.mdx +13 -7
  224. package/src/syllabi/grammar/lessons/lesson-06.mdx +13 -7
  225. package/src/syllabi/grammar/lessons/lesson-07.mdx +13 -7
  226. package/src/syllabi/grammar/lessons/lesson-08.mdx +13 -7
  227. package/src/syllabi/numbers/lessons/lesson-01.mdx +27 -15
  228. package/src/syllabi/numbers/lessons/lesson-02.mdx +20 -8
  229. package/src/syllabi/numbers/lessons/lesson-03.mdx +20 -8
  230. package/src/syllabi/numbers/lessons/lesson-04.mdx +20 -8
  231. package/src/syllabi/numbers/lessons/lesson-05.mdx +20 -8
  232. package/src/syllabi/reading/lessons/lesson-01.mdx +13 -7
  233. package/src/syllabi/reading/lessons/lesson-02.mdx +13 -7
  234. package/src/syllabi/reading/lessons/lesson-03.mdx +13 -7
  235. package/src/syllabi/reading/lessons/lesson-04.mdx +13 -7
  236. package/src/syllabi/reading/lessons/lesson-05.mdx +13 -7
  237. package/src/syllabi/reading/lessons/lesson-06.mdx +13 -7
  238. package/src/syllabi/reading/lessons/lesson-07.mdx +13 -7
  239. package/src/syllabi/reading/lessons/lesson-08.mdx +13 -7
  240. package/src/syllabi/reading/lessons/lesson-09.mdx +13 -7
  241. package/src/syllabi/reading/lessons/lesson-10.mdx +13 -7
  242. package/src/syllabi/travel/lessons/lesson-01.mdx +16 -8
  243. package/src/syllabi/travel/lessons/lesson-02.mdx +16 -8
  244. package/src/syllabi/travel/lessons/lesson-03.mdx +16 -8
  245. package/src/syllabi/travel/lessons/lesson-04.mdx +16 -8
  246. package/src/syllabi/travel/lessons/lesson-05.mdx +16 -8
  247. package/src/syllabi/travel/lessons/lesson-06.mdx +16 -8
  248. package/src/syllabi/travel/lessons/lesson-07.mdx +16 -8
  249. package/src/syllabi/vowels-tones/lessons/lesson-01.mdx +20 -8
  250. package/src/syllabi/vowels-tones/lessons/lesson-02.mdx +26 -14
  251. package/src/syllabi/vowels-tones/lessons/lesson-03.mdx +25 -13
  252. package/src/syllabi/vowels-tones/lessons/lesson-04.mdx +24 -12
  253. package/src/syllabi/vowels-tones/lessons/lesson-05.mdx +27 -15
  254. package/src/syllabi/vowels-tones/lessons/lesson-06.mdx +29 -17
  255. package/src/syllabi/vowels-tones/lessons/lesson-07.mdx +24 -12
  256. package/src/syllabi/vowels-tones/lessons/lesson-08.mdx +20 -8
  257. package/dist/index-DADMaTE7.js +0 -27
  258. package/dist/index-DADMaTE7.js.map +0 -1
  259. package/dist/lesson-01--9NOyHZ6.js.map +0 -1
  260. package/dist/lesson-01-3hBted4A.js.map +0 -1
  261. package/dist/lesson-01-97FtYE6g.js.map +0 -1
  262. package/dist/lesson-01-BNdHXAGR.js.map +0 -1
  263. package/dist/lesson-01-BYKAZiua.js.map +0 -1
  264. package/dist/lesson-01-BhjY6ArF.js.map +0 -1
  265. package/dist/lesson-01-CF4tJfZ3.js.map +0 -1
  266. package/dist/lesson-01-CRx-yw4C.js.map +0 -1
  267. package/dist/lesson-01-WV3ic8Ok.js.map +0 -1
  268. package/dist/lesson-02-B2Xg7RVU.js.map +0 -1
  269. package/dist/lesson-02-BAbq-QGP.js.map +0 -1
  270. package/dist/lesson-02-BGnp0Ik_.js.map +0 -1
  271. package/dist/lesson-02-BO3BXPMJ.js.map +0 -1
  272. package/dist/lesson-02-Bm9EJuN8.js.map +0 -1
  273. package/dist/lesson-02-C0ZL4z3c.js.map +0 -1
  274. package/dist/lesson-02-C2ALLvoT.js.map +0 -1
  275. package/dist/lesson-02-C8dfzXvq.js.map +0 -1
  276. package/dist/lesson-02-CsejVbCo.js.map +0 -1
  277. package/dist/lesson-03-8NtAeqFh.js.map +0 -1
  278. package/dist/lesson-03-BdZfKRhq.js.map +0 -1
  279. package/dist/lesson-03-CKTNtgY1.js.map +0 -1
  280. package/dist/lesson-03-D8va_Q9B.js.map +0 -1
  281. package/dist/lesson-03-DV2SUWVH.js.map +0 -1
  282. package/dist/lesson-03-DiV17_Os.js.map +0 -1
  283. package/dist/lesson-03-DrJgbfDQ.js.map +0 -1
  284. package/dist/lesson-03-XVahXvgf.js.map +0 -1
  285. package/dist/lesson-03-Xc8-2Yt3.js.map +0 -1
  286. package/dist/lesson-04-BpRrNmzO.js.map +0 -1
  287. package/dist/lesson-04-CtNr2B3E.js.map +0 -1
  288. package/dist/lesson-04-DEEPJ_rd.js.map +0 -1
  289. package/dist/lesson-04-D__vMCyA.js.map +0 -1
  290. package/dist/lesson-04-Dfc7S4nT.js.map +0 -1
  291. package/dist/lesson-04-DtXVhdGB.js.map +0 -1
  292. package/dist/lesson-04-ZrSBM0BX.js.map +0 -1
  293. package/dist/lesson-04-ioLXnB0j.js.map +0 -1
  294. package/dist/lesson-04-rapx_3vA.js.map +0 -1
  295. package/dist/lesson-05-Bm6fg-DJ.js.map +0 -1
  296. package/dist/lesson-05-CKxXcooO.js.map +0 -1
  297. package/dist/lesson-05-D1d3kc3M.js.map +0 -1
  298. package/dist/lesson-05-D2SVU-I0.js.map +0 -1
  299. package/dist/lesson-05-DBsHyFlt.js.map +0 -1
  300. package/dist/lesson-05-DXOLS7G0.js.map +0 -1
  301. package/dist/lesson-05-D_GdROUn.js.map +0 -1
  302. package/dist/lesson-05-DusKUtbm.js.map +0 -1
  303. package/dist/lesson-05-ip400cxe.js.map +0 -1
  304. package/dist/lesson-06-1CE05TRX.js.map +0 -1
  305. package/dist/lesson-06-1ZsbrE1a.js.map +0 -1
  306. package/dist/lesson-06-Aw-X-HMV.js.map +0 -1
  307. package/dist/lesson-06-BG26PBTF.js.map +0 -1
  308. package/dist/lesson-06-Bliedg7n.js.map +0 -1
  309. package/dist/lesson-06-CnKkcUb-.js.map +0 -1
  310. package/dist/lesson-06-CvN9pDsE.js.map +0 -1
  311. package/dist/lesson-06-Du9J8sYl.js.map +0 -1
  312. package/dist/lesson-07-8zdPFyjE.js.map +0 -1
  313. package/dist/lesson-07-B9bkJ3gP.js.map +0 -1
  314. package/dist/lesson-07-CTFSd9gF.js.map +0 -1
  315. package/dist/lesson-07-DezS1ojS.js.map +0 -1
  316. package/dist/lesson-07-DjCMCYkK.js.map +0 -1
  317. package/dist/lesson-07-X6anzbAn.js.map +0 -1
  318. package/dist/lesson-07-rvSSQiVh.js.map +0 -1
  319. package/dist/lesson-08-BYfkPBkH.js.map +0 -1
  320. package/dist/lesson-08-Bb_v_gD-.js.map +0 -1
  321. package/dist/lesson-08-BqW5C_OE.js.map +0 -1
  322. package/dist/lesson-08-CeDWopKc.js.map +0 -1
  323. package/dist/lesson-08-Cyzy_VeP.js.map +0 -1
  324. package/dist/lesson-08-hJlci9W5.js.map +0 -1
  325. package/dist/lesson-09-BQ1CZCjT.js.map +0 -1
  326. package/dist/lesson-09-DHRHZIc1.js.map +0 -1
  327. package/dist/lesson-10-BdfkVT7s.js.map +0 -1
  328. package/dist/lesson-10-C7YEQ8et.js.map +0 -1
  329. package/dist/lesson-11-oJQ8ZxJk.js.map +0 -1
  330. package/dist/lesson-12-D69m5ETy.js.map +0 -1
@@ -14,11 +14,19 @@ metadata:
14
14
  estimatedTime: 25
15
15
  prerequisites:
16
16
  - thai-travel-lesson-03
17
- objectives:
18
- - "Book hotel rooms"
19
- - "Ask about amenities"
20
- - "Check in and check out"
21
- - "Handle room issues"
17
+ learningObjectives:
18
+ - id: obj-04a
19
+ description: "Book hotel rooms"
20
+ skill: pattern-application
21
+ - id: obj-04b
22
+ description: "Ask about amenities"
23
+ skill: pattern-recognition
24
+ - id: obj-04c
25
+ description: "Check in and check out"
26
+ skill: situational-response
27
+ - id: obj-04d
28
+ description: "Handle room issues"
29
+ skill: situational-response
22
30
  ---
23
31
 
24
32
  # บทที่ 4 (Lesson 4) — Accommodation
@@ -104,7 +112,7 @@ From luxury hotels to cozy guesthouses, knowing accommodation vocabulary helps y
104
112
 
105
113
  ## Practice Exercises
106
114
 
107
- :::exercise{id="travel-4-accommodation-types" type="matching" title="Accommodation Types"}
115
+ :::exercise{id="travel-4-accommodation-types" type="matching" title="Accommodation Types" skill="word-recognition" objectiveId="obj-04a"}
108
116
 
109
117
  **Question:** Match each accommodation type to its Thai name
110
118
 
@@ -124,7 +132,7 @@ From luxury hotels to cozy guesthouses, knowing accommodation vocabulary helps y
124
132
 
125
133
  :::
126
134
 
127
- :::exercise{id="travel-4-room-amenities" type="fill-in-blank" title="Asking About Amenities"}
135
+ :::exercise{id="travel-4-room-amenities" type="fill-in-blank" title="Asking About Amenities" skill="pattern-application" objectiveId="obj-04b"}
128
136
 
129
137
  **Question:** How do you ask about these amenities?
130
138
 
@@ -144,7 +152,7 @@ From luxury hotels to cozy guesthouses, knowing accommodation vocabulary helps y
144
152
 
145
153
  :::
146
154
 
147
- :::exercise{id="travel-4-check-in" type="multiple-choice" title="Check-in Process"}
155
+ :::exercise{id="travel-4-check-in" type="multiple-choice" title="Check-in Process" skill="situational-response" objectiveId="obj-04c"}
148
156
 
149
157
  **Question:** What do you say when checking into a hotel?
150
158
 
@@ -14,11 +14,19 @@ metadata:
14
14
  estimatedTime: 25
15
15
  prerequisites:
16
16
  - thai-travel-lesson-04
17
- objectives:
18
- - "Ask about prices"
19
- - "Bargain politely"
20
- - "Understand payment methods"
21
- - "Shop at markets and malls"
17
+ learningObjectives:
18
+ - id: obj-05a
19
+ description: "Ask about prices"
20
+ skill: pattern-application
21
+ - id: obj-05b
22
+ description: "Bargain politely"
23
+ skill: polite-register
24
+ - id: obj-05c
25
+ description: "Understand payment methods"
26
+ skill: word-recognition
27
+ - id: obj-05d
28
+ description: "Shop at markets and malls"
29
+ skill: situational-response
22
30
  ---
23
31
 
24
32
  # บทที่ 5 (Lesson 5) — Shopping
@@ -112,7 +120,7 @@ Shopping in Thailand ranges from air-conditioned malls to bustling night markets
112
120
 
113
121
  ## Practice Exercises
114
122
 
115
- :::exercise{id="travel-5-bargaining" type="matching" title="Bargaining Phrases"}
123
+ :::exercise{id="travel-5-bargaining" type="matching" title="Bargaining Phrases" skill="polite-register" objectiveId="obj-05b"}
116
124
 
117
125
  **Question:** Match each bargaining phrase to its meaning
118
126
 
@@ -132,7 +140,7 @@ Shopping in Thailand ranges from air-conditioned malls to bustling night markets
132
140
 
133
141
  :::
134
142
 
135
- :::exercise{id="travel-5-payment-methods" type="fill-in-blank" title="Payment Methods"}
143
+ :::exercise{id="travel-5-payment-methods" type="fill-in-blank" title="Payment Methods" skill="word-production" objectiveId="obj-05c"}
136
144
 
137
145
  **Question:** How do you ask about payment methods?
138
146
 
@@ -146,7 +154,7 @@ Shopping in Thailand ranges from air-conditioned malls to bustling night markets
146
154
 
147
155
  :::
148
156
 
149
- :::exercise{id="travel-5-bargaining-strategy" type="multiple-choice" title="Bargaining Strategy"}
157
+ :::exercise{id="travel-5-bargaining-strategy" type="multiple-choice" title="Bargaining Strategy" skill="situational-response" objectiveId="obj-05d"}
150
158
 
151
159
  **Question:** Where is bargaining expected in Thailand?
152
160
 
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 25
16
16
  prerequisites:
17
17
  - thai-travel-lesson-05
18
- objectives:
19
- - "Ask about departure and arrival times"
20
- - "Understand travel durations"
21
- - "Read schedules"
22
- - "Make time-based plans"
18
+ learningObjectives:
19
+ - id: obj-06a
20
+ description: "Ask about departure and arrival times"
21
+ skill: pattern-application
22
+ - id: obj-06b
23
+ description: "Understand travel durations"
24
+ skill: reading-comprehension
25
+ - id: obj-06c
26
+ description: "Read schedules"
27
+ skill: reading-comprehension
28
+ - id: obj-06d
29
+ description: "Make time-based plans"
30
+ skill: pattern-application
23
31
  ---
24
32
 
25
33
  # บทที่ 6 (Lesson 6) — Time & Schedules
@@ -116,7 +124,7 @@ Understanding time vocabulary helps you catch flights, meet people, and plan you
116
124
 
117
125
  ## Practice Exercises
118
126
 
119
- :::exercise{id="travel-6-time-questions" type="matching" title="Time Questions"}
127
+ :::exercise{id="travel-6-time-questions" type="matching" title="Time Questions" skill="pattern-recognition" objectiveId="obj-06a"}
120
128
 
121
129
  **Question:** Match each question to its meaning
122
130
 
@@ -136,7 +144,7 @@ Understanding time vocabulary helps you catch flights, meet people, and plan you
136
144
 
137
145
  :::
138
146
 
139
- :::exercise{id="travel-6-duration" type="fill-in-blank" title="Expressing Duration"}
147
+ :::exercise{id="travel-6-duration" type="fill-in-blank" title="Expressing Duration" skill="word-production" objectiveId="obj-06b"}
140
148
 
141
149
  **Question:** How do you say these durations?
142
150
 
@@ -156,7 +164,7 @@ Understanding time vocabulary helps you catch flights, meet people, and plan you
156
164
 
157
165
  :::
158
166
 
159
- :::exercise{id="travel-6-schedule-reading" type="multiple-choice" title="Reading Schedules"}
167
+ :::exercise{id="travel-6-schedule-reading" type="multiple-choice" title="Reading Schedules" skill="reading-comprehension" objectiveId="obj-06c"}
160
168
 
161
169
  **Question:** How do you ask "What time does the bus to Chiang Mai leave?"
162
170
 
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 25
16
16
  prerequisites:
17
17
  - thai-travel-lesson-06
18
- objectives:
19
- - "Call for help in emergencies"
20
- - "Report lost items"
21
- - "Communicate with police"
22
- - "Handle medical situations"
18
+ learningObjectives:
19
+ - id: obj-07a
20
+ description: "Call for help in emergencies"
21
+ skill: pattern-application
22
+ - id: obj-07b
23
+ description: "Report lost items"
24
+ skill: pattern-application
25
+ - id: obj-07c
26
+ description: "Communicate with police"
27
+ skill: dialogue-comprehension
28
+ - id: obj-07d
29
+ description: "Handle medical situations"
30
+ skill: pattern-application
23
31
  ---
24
32
 
25
33
  # บทที่ 7 (Lesson 7) — Emergencies
@@ -115,7 +123,7 @@ Hopefully you'll never need these words, but knowing emergency vocabulary gives
115
123
 
116
124
  ## Practice Exercises
117
125
 
118
- :::exercise{id="travel-7-emergency-numbers" type="matching" title="Emergency Numbers"}
126
+ :::exercise{id="travel-7-emergency-numbers" type="matching" title="Emergency Numbers" skill="word-recognition" objectiveId="obj-07a"}
119
127
 
120
128
  **Question:** Match each emergency number to its service
121
129
 
@@ -135,7 +143,7 @@ Hopefully you'll never need these words, but knowing emergency vocabulary gives
135
143
 
136
144
  :::
137
145
 
138
- :::exercise{id="travel-7-lost-items" type="fill-in-blank" title="Reporting Lost Items"}
146
+ :::exercise{id="travel-7-lost-items" type="fill-in-blank" title="Reporting Lost Items" skill="pattern-application" objectiveId="obj-07b"}
139
147
 
140
148
  **Question:** How do you report these lost items?
141
149
 
@@ -153,7 +161,7 @@ Hopefully you'll never need these words, but knowing emergency vocabulary gives
153
161
 
154
162
  :::
155
163
 
156
- :::exercise{id="travel-7-medical-emergency" type="multiple-choice" title="Medical Emergencies"}
164
+ :::exercise{id="travel-7-medical-emergency" type="multiple-choice" title="Medical Emergencies" skill="pattern-application" objectiveId="obj-07d"}
157
165
 
158
166
  **Question:** What should you say if you need to go to the hospital urgently?
159
167
 
@@ -15,11 +15,23 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-alphabet
18
- objectives:
19
- - "Recognize vowels written above consonants"
20
- - "Recognize vowels written below consonants"
21
- - "Understand the short vowel duration concept"
22
- - "Practice combining vowels with familiar consonants"
18
+ learningObjectives:
19
+ - id: obj-recognize-above-vowels
20
+ description: "Recognize vowels written above consonants"
21
+ skill: character-recognition
22
+ references: [vowel-i, vowel-ue]
23
+ - id: obj-recognize-below-vowels
24
+ description: "Recognize vowels written below consonants"
25
+ skill: character-recognition
26
+ references: [vowel-u]
27
+ - id: obj-short-vowel-duration
28
+ description: "Understand the short vowel duration concept"
29
+ skill: character-sound-mapping
30
+ references: [vowel-i, vowel-ue, vowel-u]
31
+ - id: obj-combine-vowels-consonants
32
+ description: "Practice combining vowels with familiar consonants"
33
+ skill: vowel-positioning
34
+ references: [vowel-i, vowel-ue, vowel-u]
23
35
  ---
24
36
 
25
37
  # บทที่ 1 (Lesson 1) — Short Vowels I
@@ -42,15 +54,15 @@ Today we focus on **above** and **below** positions.
42
54
 
43
55
  :::character-set{id="thai-short-vowels-above" title="Short Vowels Above Consonant"}
44
56
 
45
- ::character{id="th-vowel-i" char="ิ" name="สระอิ (sara i)" nativeName="สระอิ" transliteration="i" charType="vowel"}
57
+ ::character{id="vowel-i" canonicalRef="vowel-i" char="ิ" name="สระอิ (sara i)" nativeName="สระอิ" transliteration="i" charType="vowel"}
46
58
 
47
- ::character{id="th-vowel-ue" char="ึ" name="สระอึ (sara ue)" nativeName="สระอึ" transliteration="ue" charType="vowel"}
59
+ ::character{id="vowel-ue" canonicalRef="vowel-ue" char="ึ" name="สระอึ (sara ue)" nativeName="สระอึ" transliteration="ue" charType="vowel"}
48
60
 
49
61
  :::
50
62
 
51
63
  :::character-set{id="thai-short-vowels-below" title="Short Vowels Below Consonant"}
52
64
 
53
- ::character{id="th-vowel-u" char="ุ" name="สระอุ (sara u)" nativeName="สระอุ" transliteration="u" charType="vowel"}
65
+ ::character{id="vowel-u" canonicalRef="vowel-u" char="ุ" name="สระอุ (sara u)" nativeName="สระอุ" transliteration="u" charType="vowel"}
54
66
 
55
67
  :::
56
68
 
@@ -15,11 +15,23 @@ metadata:
15
15
  estimatedTime: 35
16
16
  prerequisites:
17
17
  - thai-vowels-lesson-01
18
- objectives:
19
- - "Recognize vowels written before consonants"
20
- - "Recognize vowels written after consonants"
21
- - "Understand 'write left, read right' principle"
22
- - "Master the short 'a' vowel forms"
18
+ learningObjectives:
19
+ - id: obj-recognize-before-vowels
20
+ description: "Recognize vowels written before consonants"
21
+ skill: character-recognition
22
+ references: [vowel-e, vowel-ae, vowel-o, vowel-oe]
23
+ - id: obj-recognize-after-vowels
24
+ description: "Recognize vowels written after consonants"
25
+ skill: character-recognition
26
+ references: [vowel-a, vowel-ao]
27
+ - id: obj-write-left-read-right
28
+ description: "Understand 'write left, read right' principle"
29
+ skill: vowel-positioning
30
+ references: [vowel-e, vowel-ae, vowel-o, vowel-oe, vowel-ao]
31
+ - id: obj-short-a-vowel-forms
32
+ description: "Master the short 'a' vowel forms"
33
+ skill: character-sound-mapping
34
+ references: [vowel-a, vowel-e, vowel-ae, vowel-o]
23
35
  ---
24
36
 
25
37
  # บทที่ 2 (Lesson 2) — Short Vowels II
@@ -34,7 +46,7 @@ The vowel **ะ** (sara a) is special — it creates a short "a" sound followed
34
46
 
35
47
  :::character-set{id="thai-short-vowel-a" title="Short 'a' Vowel"}
36
48
 
37
- ::character{id="th-vowel-a" char="ะ" name="สระอะ (sara a)" nativeName="สระอะ" transliteration="a" charType="vowel"}
49
+ ::character{id="vowel-a" canonicalRef="vowel-a" char="ะ" name="สระอะ (sara a)" nativeName="สระอะ" transliteration="a" charType="vowel"}
38
50
 
39
51
  :::
40
52
 
@@ -44,13 +56,13 @@ These vowels are written **before** the consonant but pronounced **after** it:
44
56
 
45
57
  :::character-set{id="thai-leading-short-vowels" title="Leading Short Vowels"}
46
58
 
47
- ::character{id="th-vowel-e" char="เ-ะ" name="สระเอะ (sara e)" nativeName="สระเอะ" transliteration="e" charType="vowel"}
59
+ ::character{id="vowel-e" canonicalRef="vowel-e" char="เ-ะ" name="สระเอะ (sara e)" nativeName="สระเอะ" transliteration="e" charType="vowel"}
48
60
 
49
- ::character{id="th-vowel-ae" char="แ-ะ" name="สระแอะ (sara ae)" nativeName="สระแอะ" transliteration="ae" charType="vowel"}
61
+ ::character{id="vowel-ae" canonicalRef="vowel-ae" char="แ-ะ" name="สระแอะ (sara ae)" nativeName="สระแอะ" transliteration="ae" charType="vowel"}
50
62
 
51
- ::character{id="th-vowel-o" char="โ-ะ" name="สระโอะ (sara o)" nativeName="สระโอะ" transliteration="o" charType="vowel"}
63
+ ::character{id="vowel-o" canonicalRef="vowel-o" char="โ-ะ" name="สระโอะ (sara o)" nativeName="สระโอะ" transliteration="o" charType="vowel"}
52
64
 
53
- ::character{id="th-vowel-oe" char="เ-อะ" name="สระเออะ (sara oe)" nativeName="สระเออะ" transliteration="oe" charType="vowel"}
65
+ ::character{id="vowel-oe" canonicalRef="vowel-oe" char="เ-อะ" name="สระเออะ (sara oe)" nativeName="สระเออะ" transliteration="oe" charType="vowel"}
54
66
 
55
67
  :::
56
68
 
@@ -60,7 +72,7 @@ This vowel "wraps around" the consonant:
60
72
 
61
73
  :::character-set{id="thai-wraparound-vowel" title="Wrap-Around Vowel"}
62
74
 
63
- ::character{id="th-vowel-ao" char="เ-า" name="สระเอา (sara ao)" nativeName="สระเอา" transliteration="ao" charType="vowel"}
75
+ ::character{id="vowel-ao" canonicalRef="vowel-ao" char="เ-า" name="สระเอา (sara ao)" nativeName="สระเอา" transliteration="ao" charType="vowel"}
64
76
 
65
77
  :::
66
78
 
@@ -104,7 +116,7 @@ Try reading these common words:
104
116
 
105
117
  ## Practice Exercises
106
118
 
107
- :::exercise{id="short-vowels-2-direction" type="multiple-choice" title="Write Left, Read Right"}
119
+ :::exercise{id="short-vowels-2-direction" type="multiple-choice" title="Write Left, Read Right" skill="vowel-positioning" tests="vowel-e,vowel-ae,vowel-o" objectiveId="obj-write-left-read-right"}
108
120
 
109
121
  **Question:** When you see เก (written as เ + ก), how do you read it?
110
122
 
@@ -120,7 +132,7 @@ Try reading these common words:
120
132
 
121
133
  :::
122
134
 
123
- :::exercise{id="short-vowels-2-recognition" type="matching" title="Short Vowel Recognition"}
135
+ :::exercise{id="short-vowels-2-recognition" type="matching" title="Short Vowel Recognition" skill="character-sound-mapping" tests="vowel-e,vowel-ae,vowel-o,vowel-ao" objectiveId="obj-short-a-vowel-forms"}
124
136
 
125
137
  **Question:** Match each written form to its pronunciation
126
138
 
@@ -140,7 +152,7 @@ Try reading these common words:
140
152
 
141
153
  :::
142
154
 
143
- :::exercise{id="short-vowels-2-pairs" type="fill-in-blank" title="Short vs Long Pairs"}
155
+ :::exercise{id="short-vowels-2-pairs" type="fill-in-blank" title="Short vs Long Pairs" skill="character-sound-mapping" tests="vowel-a,vowel-e,vowel-ae" objectiveId="obj-short-a-vowel-forms"}
144
156
 
145
157
  **Question:** What makes a vowel short vs long in these pairs?
146
158
 
@@ -14,11 +14,23 @@ metadata:
14
14
  estimatedTime: 30
15
15
  prerequisites:
16
16
  - thai-vowels-lesson-02
17
- objectives:
18
- - "Recognize long vowels written above consonants"
19
- - "Recognize long vowels written below consonants"
20
- - "Master the long 'aa' vowel"
21
- - "Distinguish long from short vowels by sound"
17
+ learningObjectives:
18
+ - id: obj-recognize-long-above
19
+ description: "Recognize long vowels written above consonants"
20
+ skill: character-recognition
21
+ references: [vowel-ii, vowel-uee]
22
+ - id: obj-recognize-long-below
23
+ description: "Recognize long vowels written below consonants"
24
+ skill: character-recognition
25
+ references: [vowel-uu]
26
+ - id: obj-master-long-aa
27
+ description: "Master the long 'aa' vowel"
28
+ skill: character-sound-mapping
29
+ references: [vowel-aa, vowel-aw]
30
+ - id: obj-distinguish-long-short
31
+ description: "Distinguish long from short vowels by sound"
32
+ skill: character-sound-mapping
33
+ references: [vowel-ii, vowel-uee, vowel-uu, vowel-aa]
22
34
  ---
23
35
 
24
36
  # บทที่ 3 (Lesson 3) — Long Vowels I
@@ -42,23 +54,23 @@ Beyond meaning, **vowel length affects tone rules** — you'll see this in Lesso
42
54
 
43
55
  :::character-set{id="thai-long-vowels-above" title="Long Vowels Above Consonant"}
44
56
 
45
- ::character{id="th-vowel-ii" char="ี" name="สระอี (sara ii)" nativeName="สระอี" transliteration="ii" charType="vowel"}
57
+ ::character{id="vowel-ii" canonicalRef="vowel-ii" char="ี" name="สระอี (sara ii)" nativeName="สระอี" transliteration="ii" charType="vowel"}
46
58
 
47
- ::character{id="th-vowel-uee" char="ื" name="สระอือ (sara uee)" nativeName="สระอือ" transliteration="uee" charType="vowel"}
59
+ ::character{id="vowel-uee" canonicalRef="vowel-uee" char="ื" name="สระอือ (sara uee)" nativeName="สระอือ" transliteration="uee" charType="vowel"}
48
60
 
49
61
  :::
50
62
 
51
63
  :::character-set{id="thai-long-vowels-below" title="Long Vowels Below Consonant"}
52
64
 
53
- ::character{id="th-vowel-uu" char="ู" name="สระอู (sara uu)" nativeName="สระอู" transliteration="uu" charType="vowel"}
65
+ ::character{id="vowel-uu" canonicalRef="vowel-uu" char="ู" name="สระอู (sara uu)" nativeName="สระอู" transliteration="uu" charType="vowel"}
54
66
 
55
67
  :::
56
68
 
57
69
  :::character-set{id="thai-long-vowels-after" title="Long Vowels After Consonant"}
58
70
 
59
- ::character{id="th-vowel-aa" char="า" name="สระอา (sara aa)" nativeName="สระอา" transliteration="aa" charType="vowel"}
71
+ ::character{id="vowel-aa" canonicalRef="vowel-aa" char="า" name="สระอา (sara aa)" nativeName="สระอา" transliteration="aa" charType="vowel"}
60
72
 
61
- ::character{id="th-vowel-aw" char="อ" name="สระออ (sara ɔɔ)" nativeName="สระออ" transliteration="ɔɔ" charType="vowel"}
73
+ ::character{id="vowel-aw" canonicalRef="vowel-aw" char="อ" name="สระออ (sara ɔɔ)" nativeName="สระออ" transliteration="ɔɔ" charType="vowel"}
62
74
 
63
75
  :::
64
76
 
@@ -115,7 +127,7 @@ The key is **duration** — hold the sound longer:
115
127
 
116
128
  ## Practice Exercises
117
129
 
118
- :::exercise{id="long-vowels-1-duration" type="fill-in-blank" title="Vowel Duration"}
130
+ :::exercise{id="long-vowels-1-duration" type="fill-in-blank" title="Vowel Duration" skill="character-sound-mapping" tests="vowel-ii,vowel-uu,vowel-aa" objectiveId="obj-distinguish-long-short"}
119
131
 
120
132
  **Question:** How long should you hold long vowels compared to short vowels?
121
133
 
@@ -127,7 +139,7 @@ Long vowels should be held approximately twice as long as short vowels. The dura
127
139
 
128
140
  :::
129
141
 
130
- :::exercise{id="long-vowels-1-position" type="matching" title="Vowel Position Recognition"}
142
+ :::exercise{id="long-vowels-1-position" type="matching" title="Vowel Position Recognition" skill="vowel-positioning" tests="vowel-ii,vowel-uu,vowel-aa,vowel-aw" objectiveId="obj-recognize-long-above"}
131
143
 
132
144
  **Question:** Match each long vowel to its position relative to the consonant
133
145
 
@@ -147,7 +159,7 @@ Long vowels should be held approximately twice as long as short vowels. The dura
147
159
 
148
160
  :::
149
161
 
150
- :::exercise{id="long-vowels-1-dual-function" type="multiple-choice" title="The อ Dual Function"}
162
+ :::exercise{id="long-vowels-1-dual-function" type="multiple-choice" title="The อ Dual Function" skill="character-recognition" tests="vowel-aw" objectiveId="obj-master-long-aa"}
151
163
 
152
164
  **Question:** When is อ used as a vowel vs a consonant?
153
165
 
@@ -14,11 +14,23 @@ metadata:
14
14
  estimatedTime: 30
15
15
  prerequisites:
16
16
  - thai-vowels-lesson-03
17
- objectives:
18
- - "Master leading long vowels (เ, แ, โ)"
19
- - "Recognize the เ-อ combination vowel"
20
- - "Practice reading words with long vowels"
21
- - "Understand the inherent vowel concept"
17
+ learningObjectives:
18
+ - id: obj-master-leading-long-vowels
19
+ description: "Master leading long vowels (เ, แ, โ)"
20
+ skill: character-recognition
21
+ references: [vowel-ee, vowel-aae, vowel-oo]
22
+ - id: obj-recognize-oe-combination
23
+ description: "Recognize the เ-อ combination vowel"
24
+ skill: character-recognition
25
+ references: [vowel-oee]
26
+ - id: obj-read-long-vowel-words
27
+ description: "Practice reading words with long vowels"
28
+ skill: character-sound-mapping
29
+ references: [vowel-ee, vowel-aae, vowel-oo, vowel-oee]
30
+ - id: obj-inherent-vowel
31
+ description: "Understand the inherent vowel concept"
32
+ skill: vowel-positioning
33
+ references: [vowel-ee, vowel-aae, vowel-oo]
22
34
  ---
23
35
 
24
36
  # บทที่ 4 (Lesson 4) — Long Vowels II
@@ -33,11 +45,11 @@ Remember: these vowels are **written before** the consonant but **pronounced aft
33
45
 
34
46
  :::character-set{id="thai-leading-long-vowels" title="Leading Long Vowels"}
35
47
 
36
- ::character{id="th-vowel-ee" char="เ" name="สระเอ (sara ee)" nativeName="สระเอ" transliteration="ee" charType="vowel"}
48
+ ::character{id="vowel-ee" canonicalRef="vowel-ee" char="เ" name="สระเอ (sara ee)" nativeName="สระเอ" transliteration="ee" charType="vowel"}
37
49
 
38
- ::character{id="th-vowel-aae" char="แ" name="สระแอ (sara aae)" nativeName="สระแอ" transliteration="aae" charType="vowel"}
50
+ ::character{id="vowel-aae" canonicalRef="vowel-aae" char="แ" name="สระแอ (sara aae)" nativeName="สระแอ" transliteration="aae" charType="vowel"}
39
51
 
40
- ::character{id="th-vowel-oo" char="โ" name="สระโอ (sara oo)" nativeName="สระโอ" transliteration="oo" charType="vowel"}
52
+ ::character{id="vowel-oo" canonicalRef="vowel-oo" char="โ" name="สระโอ (sara oo)" nativeName="สระโอ" transliteration="oo" charType="vowel"}
41
53
 
42
54
  :::
43
55
 
@@ -47,7 +59,7 @@ This vowel combines a leading เ with a trailing อ:
47
59
 
48
60
  :::character-set{id="thai-oe-vowel" title="เ-อ Combination Vowel"}
49
61
 
50
- ::character{id="th-vowel-oee" char="เ-อ" name="สระเออ (sara oee)" nativeName="สระเออ" transliteration="ɤɤ" charType="vowel"}
62
+ ::character{id="vowel-oee" canonicalRef="vowel-oee" char="เ-อ" name="สระเออ (sara oee)" nativeName="สระเออ" transliteration="ɤɤ" charType="vowel"}
51
63
 
52
64
  :::
53
65
 
@@ -111,7 +123,7 @@ Try these common words:
111
123
 
112
124
  ## Practice Exercises
113
125
 
114
- :::exercise{id="long-vowels-2-leading-recognition" type="matching" title="Leading Vowel Recognition"}
126
+ :::exercise{id="long-vowels-2-leading-recognition" type="matching" title="Leading Vowel Recognition" skill="character-sound-mapping" tests="vowel-ee,vowel-aae,vowel-oo,vowel-oee" objectiveId="obj-read-long-vowel-words"}
115
127
 
116
128
  **Question:** Match each leading vowel to its approximate English sound
117
129
 
@@ -131,7 +143,7 @@ Try these common words:
131
143
 
132
144
  :::
133
145
 
134
- :::exercise{id="long-vowels-2-reading-order" type="fill-in-blank" title="Reading Order Practice"}
146
+ :::exercise{id="long-vowels-2-reading-order" type="fill-in-blank" title="Reading Order Practice" skill="vowel-positioning" tests="vowel-ee,vowel-aae,vowel-oo" objectiveId="obj-inherent-vowel"}
135
147
 
136
148
  **Question:** How do you read these words? (Remember: write left, read right)
137
149
 
@@ -149,7 +161,7 @@ Try these common words:
149
161
 
150
162
  :::
151
163
 
152
- :::exercise{id="long-vowels-2-combination" type="multiple-choice" title="The เ-อ Combination"}
164
+ :::exercise{id="long-vowels-2-combination" type="multiple-choice" title="The เ-อ Combination" skill="character-recognition" tests="vowel-oee" objectiveId="obj-recognize-oe-combination"}
153
165
 
154
166
  **Question:** The vowel เ-อ (sara ɤɤ) is unique because:
155
167
 
@@ -15,11 +15,23 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-vowels-lesson-04
18
- objectives:
19
- - "Understand what diphthongs are"
20
- - "Master vowels ending in -i sound"
21
- - "Master vowels ending in -u sound"
22
- - "Practice smooth vowel transitions"
18
+ learningObjectives:
19
+ - id: obj-understand-diphthongs
20
+ description: "Understand what diphthongs are"
21
+ skill: character-sound-mapping
22
+ references: [vowel-ai-mai-muan, vowel-ai-mai-malai, vowel-ao-i]
23
+ - id: obj-master-i-ending-vowels
24
+ description: "Master vowels ending in -i sound"
25
+ skill: character-recognition
26
+ references: [vowel-ai-mai-muan, vowel-ai-mai-malai, vowel-ao-i]
27
+ - id: obj-master-u-ending-vowels
28
+ description: "Master vowels ending in -u sound"
29
+ skill: character-recognition
30
+ references: [vowel-ao, vowel-iu, vowel-eo, vowel-aeo]
31
+ - id: obj-smooth-vowel-transitions
32
+ description: "Practice smooth vowel transitions"
33
+ skill: character-sound-mapping
34
+ references: [vowel-ai-mai-muan, vowel-ai-mai-malai, vowel-ao, vowel-iu, vowel-eo, vowel-aeo]
23
35
  ---
24
36
 
25
37
  # บทที่ 5 (Lesson 5) — Compound Vowels I
@@ -42,11 +54,11 @@ These vowels glide toward an "i" sound:
42
54
 
43
55
  :::character-set{id="thai-diphthongs-i" title="Diphthongs Ending in -i"}
44
56
 
45
- ::character{id="th-vowel-ai-mai-muan" char="ใ" name="สระใอ (sara ai mai muan)" nativeName="สระใอ" transliteration="ai" charType="vowel"}
57
+ ::character{id="vowel-ai-mai-muan" canonicalRef="vowel-ai-mai-muan" char="ใ" name="สระใอ (sara ai mai muan)" nativeName="สระใอ" transliteration="ai" charType="vowel"}
46
58
 
47
- ::character{id="th-vowel-ai-mai-malai" char="ไ" name="สระไอ (sara ai mai malai)" nativeName="สระไอ" transliteration="ai" charType="vowel"}
59
+ ::character{id="vowel-ai-mai-malai" canonicalRef="vowel-ai-mai-malai" char="ไ" name="สระไอ (sara ai mai malai)" nativeName="สระไอ" transliteration="ai" charType="vowel"}
48
60
 
49
- ::character{id="th-vowel-ao-i" char="เ-ย" name="สระเอย (sara oei)" nativeName="สระเอย" transliteration="ɤɤi" charType="vowel"}
61
+ ::character{id="vowel-ao-i" canonicalRef="vowel-ao-i" char="เ-ย" name="สระเอย (sara oei)" nativeName="สระเอย" transliteration="ɤɤi" charType="vowel"}
50
62
 
51
63
  :::
52
64
 
@@ -72,13 +84,13 @@ These vowels glide toward a "u" or "o" sound:
72
84
 
73
85
  :::character-set{id="thai-diphthongs-u" title="Diphthongs Ending in -u/-o"}
74
86
 
75
- ::character{id="th-vowel-ao" char="เ-า" name="สระเอา (sara ao)" nativeName="สระเอา" transliteration="ao" charType="vowel"}
87
+ ::character{id="vowel-ao" canonicalRef="vowel-ao" char="เ-า" name="สระเอา (sara ao)" nativeName="สระเอา" transliteration="ao" charType="vowel"}
76
88
 
77
- ::character{id="th-vowel-iu" char="ิว" name="สระอิว (sara iu)" nativeName="สระอิว" transliteration="iu" charType="vowel"}
89
+ ::character{id="vowel-iu" canonicalRef="vowel-iu" char="ิว" name="สระอิว (sara iu)" nativeName="สระอิว" transliteration="iu" charType="vowel"}
78
90
 
79
- ::character{id="th-vowel-eo" char="เ-ว" name="สระเอว (sara eo)" nativeName="สระเอว" transliteration="eo" charType="vowel"}
91
+ ::character{id="vowel-eo" canonicalRef="vowel-eo" char="เ-ว" name="สระเอว (sara eo)" nativeName="สระเอว" transliteration="eo" charType="vowel"}
80
92
 
81
- ::character{id="th-vowel-aeo" char="แ-ว" name="สระแอว (sara aeo)" nativeName="สระแอว" transliteration="aeo" charType="vowel"}
93
+ ::character{id="vowel-aeo" canonicalRef="vowel-aeo" char="แ-ว" name="สระแอว (sara aeo)" nativeName="สระแอว" transliteration="aeo" charType="vowel"}
82
94
 
83
95
  :::
84
96
 
@@ -130,7 +142,7 @@ Here are the most common words using ใ:
130
142
 
131
143
  ## Practice Exercises
132
144
 
133
- :::exercise{id="diphthongs-1-ai-recognition" type="multiple-choice" title="The Two AI Vowels"}
145
+ :::exercise{id="diphthongs-1-ai-recognition" type="multiple-choice" title="The Two AI Vowels" skill="character-recognition" tests="vowel-ai-mai-muan,vowel-ai-mai-malai" objectiveId="obj-master-i-ending-vowels"}
134
146
 
135
147
  **Question:** Which vowel (ใ or ไ) is used in the word ใจ (heart)?
136
148
 
@@ -146,7 +158,7 @@ Here are the most common words using ใ:
146
158
 
147
159
  :::
148
160
 
149
- :::exercise{id="diphthongs-1-glide-practice" type="fill-in-blank" title="Diphthong Glide Practice"}
161
+ :::exercise{id="diphthongs-1-glide-practice" type="fill-in-blank" title="Diphthong Glide Practice" skill="character-sound-mapping" tests="vowel-ai-mai-malai,vowel-ao,vowel-iu" objectiveId="obj-smooth-vowel-transitions"}
150
162
 
151
163
  **Question:** How do you pronounce these diphthongs? (Describe the glide)
152
164
 
@@ -164,7 +176,7 @@ Here are the most common words using ใ:
164
176
 
165
177
  :::
166
178
 
167
- :::exercise{id="diphthongs-1-common-words" type="matching" title="Common Diphthong Words"}
179
+ :::exercise{id="diphthongs-1-common-words" type="matching" title="Common Diphthong Words" skill="character-recognition" tests="vowel-ai-mai-malai,vowel-ao,vowel-ai-mai-muan" objectiveId="obj-understand-diphthongs"}
168
180
 
169
181
  **Question:** Match each word to its diphthong type
170
182