@syllst/th 0.1.2 → 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 +10 -7
  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
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 25
16
16
  prerequisites:
17
17
  - thai-essentials-lesson-01
18
- objectives:
19
- - "Use ครับ and ค่ะ/คะ correctly"
20
- - "Understand other common particles"
21
- - "Know when particles are optional"
22
- - "Sound polite in any situation"
18
+ learningObjectives:
19
+ - id: obj-particles-use-correctly
20
+ description: "Use ครับ and ค่ะ/คะ correctly"
21
+ skill: polite-register
22
+ - id: obj-particles-common
23
+ description: "Understand other common particles"
24
+ skill: word-recognition
25
+ - id: obj-particles-optional
26
+ description: "Know when particles are optional"
27
+ skill: situational-response
28
+ - id: obj-particles-sound-polite
29
+ description: "Sound polite in any situation"
30
+ skill: polite-register
23
31
  ---
24
32
 
25
33
  # บทที่ 2 (Lesson 2) — Polite Particles
@@ -132,7 +140,7 @@ Particles can combine. Order: content particle + polite particle
132
140
 
133
141
  ## Practice Exercises
134
142
 
135
- :::exercise{id="particles-1-practice" type="fill-in-blank" title="Particle Practice"}
143
+ :::exercise{id="particles-1-practice" type="fill-in-blank" title="Particle Practice" skill="polite-register" objectiveId="obj-particles-use-correctly"}
136
144
 
137
145
  **Question:** Add the correct particle:
138
146
 
@@ -152,7 +160,7 @@ Particles can combine. Order: content particle + polite particle
152
160
 
153
161
  :::
154
162
 
155
- :::exercise{id="particles-1-combining" type="matching" title="Combining Particles"}
163
+ :::exercise{id="particles-1-combining" type="matching" title="Combining Particles" skill="polite-register" objectiveId="obj-particles-sound-polite"}
156
164
 
157
165
  **Question:** Match each phrase to its correct particle combination
158
166
 
@@ -170,7 +178,7 @@ Particles can combine. Order: content particle + polite particle
170
178
 
171
179
  :::
172
180
 
173
- :::exercise{id="particles-1-common-mistakes" type="multiple-choice" title="Common Mistakes"}
181
+ :::exercise{id="particles-1-common-mistakes" type="multiple-choice" title="Common Mistakes" skill="polite-register" objectiveId="obj-particles-use-correctly"}
174
182
 
175
183
  **Question:** What's wrong with this sentence: "ขอบคุณค่ะ" (spoken by a male)?
176
184
 
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-essentials-lesson-02
18
- objectives:
19
- - "Ask who, what, where, when, why, how"
20
- - "Form yes/no questions"
21
- - "Understand question word placement"
22
- - "Ask about price, time, and quantity"
18
+ learningObjectives:
19
+ - id: obj-questions-wh-words
20
+ description: "Ask who, what, where, when, why, how"
21
+ skill: word-production
22
+ - id: obj-questions-yes-no
23
+ description: "Form yes/no questions"
24
+ skill: pattern-application
25
+ - id: obj-questions-word-placement
26
+ description: "Understand question word placement"
27
+ skill: pattern-recognition
28
+ - id: obj-questions-price-quantity
29
+ description: "Ask about price, time, and quantity"
30
+ skill: word-production
23
31
  ---
24
32
 
25
33
  # บทที่ 3 (Lesson 3) — Basic Questions
@@ -161,7 +169,7 @@ Use กี่ (gìi) + classifier:
161
169
 
162
170
  ## Practice Exercises
163
171
 
164
- :::exercise{id="questions-1-word-placement" type="fill-in-blank" title="Question Word Placement"}
172
+ :::exercise{id="questions-1-word-placement" type="fill-in-blank" title="Question Word Placement" skill="pattern-recognition" objectiveId="obj-questions-word-placement"}
165
173
 
166
174
  **Question:** Where do question words go in Thai sentences?
167
175
 
@@ -173,7 +181,7 @@ Question words go where the answer would be in the sentence, typically at the en
173
181
 
174
182
  :::
175
183
 
176
- :::exercise{id="questions-1-yes-no" type="matching" title="Yes/No Questions"}
184
+ :::exercise{id="questions-1-yes-no" type="matching" title="Yes/No Questions" skill="pattern-application" objectiveId="obj-questions-yes-no"}
177
185
 
178
186
  **Question:** Convert these statements to yes/no questions
179
187
 
@@ -191,7 +199,7 @@ Question words go where the answer would be in the sentence, typically at the en
191
199
 
192
200
  :::
193
201
 
194
- :::exercise{id="questions-1-price-quantity" type="multiple-choice" title="Price vs Quantity"}
202
+ :::exercise{id="questions-1-price-quantity" type="multiple-choice" title="Price vs Quantity" skill="word-recognition" objectiveId="obj-questions-price-quantity"}
195
203
 
196
204
  **Question:** Which question word do you use to ask "How many people?"
197
205
 
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-essentials-lesson-03
18
- objectives:
19
- - "Ask for things politely"
20
- - "Say yes and no appropriately"
21
- - "Express thanks and apologies"
22
- - "Respond to requests correctly"
18
+ learningObjectives:
19
+ - id: obj-requests-ask-politely
20
+ description: "Ask for things politely"
21
+ skill: polite-register
22
+ - id: obj-requests-yes-no
23
+ description: "Say yes and no appropriately"
24
+ skill: word-recognition
25
+ - id: obj-requests-thanks-apologies
26
+ description: "Express thanks and apologies"
27
+ skill: situational-response
28
+ - id: obj-requests-respond
29
+ description: "Respond to requests correctly"
30
+ skill: situational-response
23
31
  ---
24
32
 
25
33
  # บทที่ 4 (Lesson 4) — Requests & Responses
@@ -161,7 +169,7 @@ Adding หน่อย makes any request softer:
161
169
 
162
170
  ## Practice Exercises
163
171
 
164
- :::exercise{id="requests-1-polite-forms" type="matching" title="Polite Request Forms"}
172
+ :::exercise{id="requests-1-polite-forms" type="matching" title="Polite Request Forms" skill="polite-register" objectiveId="obj-requests-ask-politely"}
165
173
 
166
174
  **Question:** Match each request form to its level of politeness
167
175
 
@@ -179,7 +187,7 @@ Adding หน่อย makes any request softer:
179
187
 
180
188
  :::
181
189
 
182
- :::exercise{id="requests-1-yes-no-forms" type="fill-in-blank" title="Yes and No Forms"}
190
+ :::exercise{id="requests-1-yes-no-forms" type="fill-in-blank" title="Yes and No Forms" skill="word-recognition" objectiveId="obj-requests-yes-no"}
183
191
 
184
192
  **Question:** When do you use each form of "yes" and "no"?
185
193
 
@@ -199,7 +207,7 @@ Adding หน่อย makes any request softer:
199
207
 
200
208
  :::
201
209
 
202
- :::exercise{id="requests-1-thanks-apology" type="multiple-choice" title="Thanks and Apologies"}
210
+ :::exercise{id="requests-1-thanks-apology" type="multiple-choice" title="Thanks and Apologies" skill="situational-response" objectiveId="obj-requests-thanks-apologies"}
203
211
 
204
212
  **Question:** When should you use ขอโทษ (khɔ̌ɔ-thôot)?
205
213
 
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-essentials-lesson-04
18
- objectives:
19
- - "Express likes and dislikes"
20
- - "Describe emotions and states"
21
- - "Give simple opinions"
22
- - "Use intensifiers correctly"
18
+ learningObjectives:
19
+ - id: obj-emotions-likes-dislikes
20
+ description: "Express likes and dislikes"
21
+ skill: word-production
22
+ - id: obj-emotions-describe
23
+ description: "Describe emotions and states"
24
+ skill: word-recognition
25
+ - id: obj-emotions-opinions
26
+ description: "Give simple opinions"
27
+ skill: pattern-application
28
+ - id: obj-emotions-intensifiers
29
+ description: "Use intensifiers correctly"
30
+ skill: pattern-application
23
31
  ---
24
32
 
25
33
  # บทที่ 5 (Lesson 5) — Emotions & Opinions
@@ -172,7 +180,7 @@ Being able to express how you feel and what you think is essential for meaningfu
172
180
 
173
181
  ## Practice Exercises
174
182
 
175
- :::exercise{id="emotions-1-likes-dislikes" type="matching" title="Expressing Likes and Dislikes"}
183
+ :::exercise{id="emotions-1-likes-dislikes" type="matching" title="Expressing Likes and Dislikes" skill="word-recognition" objectiveId="obj-emotions-likes-dislikes"}
176
184
 
177
185
  **Question:** Match each phrase to its meaning
178
186
 
@@ -192,7 +200,7 @@ Being able to express how you feel and what you think is essential for meaningfu
192
200
 
193
201
  :::
194
202
 
195
- :::exercise{id="emotions-1-intensifiers" type="fill-in-blank" title="Using Intensifiers"}
203
+ :::exercise{id="emotions-1-intensifiers" type="fill-in-blank" title="Using Intensifiers" skill="pattern-application" objectiveId="obj-emotions-intensifiers"}
196
204
 
197
205
  **Question:** How do you intensify these phrases?
198
206
 
@@ -210,7 +218,7 @@ Being able to express how you feel and what you think is essential for meaningfu
210
218
 
211
219
  :::
212
220
 
213
- :::exercise{id="emotions-1-opinions" type="multiple-choice" title="Giving Opinions"}
221
+ :::exercise{id="emotions-1-opinions" type="multiple-choice" title="Giving Opinions" skill="pattern-application" objectiveId="obj-emotions-opinions"}
214
222
 
215
223
  **Question:** How do you say "I think it's good" in Thai?
216
224
 
@@ -16,11 +16,19 @@ metadata:
16
16
  estimatedTime: 35
17
17
  prerequisites:
18
18
  - thai-essentials-lesson-05
19
- objectives:
20
- - "Ask for help in emergencies"
21
- - "Get directions and find locations"
22
- - "Handle common problems"
23
- - "Communicate needs when something goes wrong"
19
+ learningObjectives:
20
+ - id: obj-survival-emergency
21
+ description: "Ask for help in emergencies"
22
+ skill: word-production
23
+ - id: obj-survival-directions
24
+ description: "Get directions and find locations"
25
+ skill: word-production
26
+ - id: obj-survival-problems
27
+ description: "Handle common problems"
28
+ skill: situational-response
29
+ - id: obj-survival-communicate
30
+ description: "Communicate needs when something goes wrong"
31
+ skill: situational-response
24
32
  ---
25
33
 
26
34
  # บทที่ 6 (Lesson 6) — Survival Phrases
@@ -191,7 +199,7 @@ These are the phrases you hope you won't need — but will be very glad to know
191
199
 
192
200
  ## Practice Exercises
193
201
 
194
- :::exercise{id="survival-1-emergency" type="matching" title="Emergency Phrases"}
202
+ :::exercise{id="survival-1-emergency" type="matching" title="Emergency Phrases" skill="word-recognition" objectiveId="obj-survival-emergency"}
195
203
 
196
204
  **Question:** Match each emergency situation to the appropriate phrase
197
205
 
@@ -211,7 +219,7 @@ These are the phrases you hope you won't need — but will be very glad to know
211
219
 
212
220
  :::
213
221
 
214
- :::exercise{id="survival-1-directions" type="fill-in-blank" title="Asking for Directions"}
222
+ :::exercise{id="survival-1-directions" type="fill-in-blank" title="Asking for Directions" skill="word-production" objectiveId="obj-survival-directions"}
215
223
 
216
224
  **Question:** How do you ask these questions?
217
225
 
@@ -231,7 +239,7 @@ These are the phrases you hope you won't need — but will be very glad to know
231
239
 
232
240
  :::
233
241
 
234
- :::exercise{id="survival-1-problems" type="multiple-choice" title="Problem Communication"}
242
+ :::exercise{id="survival-1-problems" type="multiple-choice" title="Problem Communication" skill="situational-response" objectiveId="obj-survival-problems"}
235
243
 
236
244
  **Question:** What do you say if you don't understand something?
237
245
 
@@ -14,11 +14,19 @@ categories:
14
14
  metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites: []
17
- objectives:
18
- - "Name basic staple foods"
19
- - "Order rice and noodle dishes"
20
- - "Request water and common drinks"
21
- - "Understand basic menu items"
17
+ learningObjectives:
18
+ - id: obj-name-staple-foods
19
+ description: "Name basic staple foods"
20
+ skill: word-recognition
21
+ - id: obj-order-rice-noodles
22
+ description: "Order rice and noodle dishes"
23
+ skill: word-production
24
+ - id: obj-request-water-drinks
25
+ description: "Request water and common drinks"
26
+ skill: word-production
27
+ - id: obj-understand-menu-items
28
+ description: "Understand basic menu items"
29
+ skill: reading-comprehension
22
30
  ---
23
31
 
24
32
  # บทที่ 1 (Lesson 1) — Essential Food Words
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-food-lesson-01
18
- objectives:
19
- - "Describe the five Thai tastes"
20
- - "Adjust spice levels"
21
- - "Express food preferences"
22
- - "Understand flavor descriptions on menus"
18
+ learningObjectives:
19
+ - id: obj-describe-five-tastes
20
+ description: "Describe the five Thai tastes"
21
+ skill: word-recognition
22
+ - id: obj-adjust-spice-levels
23
+ description: "Adjust spice levels"
24
+ skill: word-production
25
+ - id: obj-express-food-preferences
26
+ description: "Express food preferences"
27
+ skill: pattern-application
28
+ - id: obj-understand-flavor-descriptions
29
+ description: "Understand flavor descriptions on menus"
30
+ skill: reading-comprehension
23
31
  ---
24
32
 
25
33
  # บทที่ 2 (Lesson 2) — Tastes & Flavors
@@ -146,7 +154,7 @@ Great Thai dishes balance these tastes. For example:
146
154
 
147
155
  ## Practice Exercises
148
156
 
149
- :::exercise{id="food-2-spice-levels" type="matching" title="Spice Level Recognition"}
157
+ :::exercise{id="food-2-spice-levels" type="matching" title="Spice Level Recognition" skill="word-recognition" objectiveId="obj-adjust-spice-levels"}
150
158
 
151
159
  **Question:** Match each spice level to its Thai phrase
152
160
 
@@ -168,7 +176,7 @@ Great Thai dishes balance these tastes. For example:
168
176
 
169
177
  :::
170
178
 
171
- :::exercise{id="food-2-taste-description" type="fill-in-blank" title="Describing Tastes"}
179
+ :::exercise{id="food-2-taste-description" type="fill-in-blank" title="Describing Tastes" skill="word-production" objectiveId="obj-express-food-preferences"}
172
180
 
173
181
  **Question:** How do you say these taste descriptions?
174
182
 
@@ -188,7 +196,7 @@ Great Thai dishes balance these tastes. For example:
188
196
 
189
197
  :::
190
198
 
191
- :::exercise{id="food-2-five-tastes" type="multiple-choice" title="The Five Tastes"}
199
+ :::exercise{id="food-2-five-tastes" type="multiple-choice" title="The Five Tastes" skill="pattern-recognition" objectiveId="obj-describe-five-tastes"}
192
200
 
193
201
  **Question:** Which dish is known for balancing sour, spicy, and salty flavors?
194
202
 
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-food-lesson-02
18
- objectives:
19
- - "Name common proteins"
20
- - "Identify vegetables in Thai dishes"
21
- - "Order specific meat types"
22
- - "Understand ingredient lists"
18
+ learningObjectives:
19
+ - id: obj-name-proteins
20
+ description: "Name common proteins"
21
+ skill: word-recognition
22
+ - id: obj-identify-vegetables
23
+ description: "Identify vegetables in Thai dishes"
24
+ skill: word-recognition
25
+ - id: obj-order-meat-types
26
+ description: "Order specific meat types"
27
+ skill: word-production
28
+ - id: obj-understand-ingredient-lists
29
+ description: "Understand ingredient lists"
30
+ skill: reading-comprehension
23
31
  ---
24
32
 
25
33
  # บทที่ 3 (Lesson 3) — Proteins & Vegetables
@@ -161,7 +169,7 @@ Thai dish names often follow: [cooking method] + [protein]
161
169
 
162
170
  ## Practice Exercises
163
171
 
164
- :::exercise{id="food-3-protein-recognition" type="matching" title="Protein Recognition"}
172
+ :::exercise{id="food-3-protein-recognition" type="matching" title="Protein Recognition" skill="word-recognition" objectiveId="obj-name-proteins"}
165
173
 
166
174
  **Question:** Match each protein to its Thai name
167
175
 
@@ -185,7 +193,7 @@ Thai dish names often follow: [cooking method] + [protein]
185
193
 
186
194
  :::
187
195
 
188
- :::exercise{id="food-3-dish-patterns" type="fill-in-blank" title="Dish Name Patterns"}
196
+ :::exercise{id="food-3-dish-patterns" type="fill-in-blank" title="Dish Name Patterns" skill="pattern-recognition" objectiveId="obj-understand-ingredient-lists"}
189
197
 
190
198
  **Question:** What does each dish name mean? (Break down the pattern)
191
199
 
@@ -203,7 +211,7 @@ Thai dish names often follow: [cooking method] + [protein]
203
211
 
204
212
  :::
205
213
 
206
- :::exercise{id="food-3-vegetarian" type="multiple-choice" title="Vegetarian Options"}
214
+ :::exercise{id="food-3-vegetarian" type="multiple-choice" title="Vegetarian Options" skill="word-recognition" objectiveId="obj-order-meat-types"}
207
215
 
208
216
  **Question:** How do you say "vegetarian" in Thai?
209
217
 
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-food-lesson-03
18
- objectives:
19
- - "Identify cooking methods in dish names"
20
- - "Understand menu descriptions"
21
- - "Request specific preparations"
22
- - "Recognize common Thai cooking techniques"
18
+ learningObjectives:
19
+ - id: obj-identify-cooking-methods
20
+ description: "Identify cooking methods in dish names"
21
+ skill: word-recognition
22
+ - id: obj-understand-menu-descriptions
23
+ description: "Understand menu descriptions"
24
+ skill: reading-comprehension
25
+ - id: obj-request-preparations
26
+ description: "Request specific preparations"
27
+ skill: word-production
28
+ - id: obj-recognize-cooking-techniques
29
+ description: "Recognize common Thai cooking techniques"
30
+ skill: pattern-recognition
23
31
  ---
24
32
 
25
33
  # บทที่ 4 (Lesson 4) — Cooking Methods
@@ -161,7 +169,7 @@ Thai dish names often include the cooking method. Learning these words helps you
161
169
 
162
170
  ## Practice Exercises
163
171
 
164
- :::exercise{id="food-4-method-recognition" type="matching" title="Cooking Method Recognition"}
172
+ :::exercise{id="food-4-method-recognition" type="matching" title="Cooking Method Recognition" skill="word-recognition" objectiveId="obj-identify-cooking-methods"}
165
173
 
166
174
  **Question:** Match each dish to its cooking method
167
175
 
@@ -181,7 +189,7 @@ Thai dish names often include the cooking method. Learning these words helps you
181
189
 
182
190
  :::
183
191
 
184
- :::exercise{id="food-4-curry-types" type="fill-in-blank" title="Curry Types"}
192
+ :::exercise{id="food-4-curry-types" type="fill-in-blank" title="Curry Types" skill="pattern-recognition" objectiveId="obj-recognize-cooking-techniques"}
185
193
 
186
194
  **Question:** What are the main curry types in Thai cuisine?
187
195
 
@@ -196,7 +204,7 @@ Thai dish names often include the cooking method. Learning these words helps you
196
204
 
197
205
  :::
198
206
 
199
- :::exercise{id="food-4-requesting-preparation" type="multiple-choice" title="Requesting Specific Preparation"}
207
+ :::exercise{id="food-4-requesting-preparation" type="multiple-choice" title="Requesting Specific Preparation" skill="word-production" objectiveId="obj-request-preparations"}
200
208
 
201
209
  **Question:** How do you request "steamed fish with lime"?
202
210
 
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-food-lesson-04
18
- objectives:
19
- - "Order food confidently"
20
- - "Ask questions about dishes"
21
- - "Request modifications"
22
- - "Pay the bill"
18
+ learningObjectives:
19
+ - id: obj-order-food-confidently
20
+ description: "Order food confidently"
21
+ skill: pattern-application
22
+ - id: obj-ask-about-dishes
23
+ description: "Ask questions about dishes"
24
+ skill: situational-response
25
+ - id: obj-request-modifications
26
+ description: "Request modifications"
27
+ skill: pattern-application
28
+ - id: obj-pay-bill
29
+ description: "Pay the bill"
30
+ skill: situational-response
23
31
  ---
24
32
 
25
33
  # บทที่ 5 (Lesson 5) — Restaurant Phrases
@@ -170,7 +178,7 @@ With your food vocabulary, you're ready to put it into action. This lesson cover
170
178
 
171
179
  ## Practice Exercises
172
180
 
173
- :::exercise{id="food-5-ordering-patterns" type="matching" title="Ordering Pattern Recognition"}
181
+ :::exercise{id="food-5-ordering-patterns" type="matching" title="Ordering Pattern Recognition" skill="pattern-recognition" objectiveId="obj-order-food-confidently"}
174
182
 
175
183
  **Question:** Match each ordering phrase to its meaning
176
184
 
@@ -190,7 +198,7 @@ With your food vocabulary, you're ready to put it into action. This lesson cover
190
198
 
191
199
  :::
192
200
 
193
- :::exercise{id="food-5-modifications" type="fill-in-blank" title="Making Modifications"}
201
+ :::exercise{id="food-5-modifications" type="fill-in-blank" title="Making Modifications" skill="pattern-application" objectiveId="obj-request-modifications"}
194
202
 
195
203
  **Question:** How do you make these requests?
196
204
 
@@ -210,7 +218,7 @@ With your food vocabulary, you're ready to put it into action. This lesson cover
210
218
 
211
219
  :::
212
220
 
213
- :::exercise{id="food-5-payment" type="multiple-choice" title="Paying the Bill"}
221
+ :::exercise{id="food-5-payment" type="multiple-choice" title="Paying the Bill" skill="situational-response" objectiveId="obj-pay-bill"}
214
222
 
215
223
  **Question:** What's the most common way to ask for the bill in Thailand?
216
224
 
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-food-lesson-05
18
- objectives:
19
- - "Navigate street food stalls"
20
- - "Name common street food dishes"
21
- - "Order from food carts"
22
- - "Understand street food culture"
18
+ learningObjectives:
19
+ - id: obj-navigate-street-food
20
+ description: "Navigate street food stalls"
21
+ skill: dialogue-comprehension
22
+ - id: obj-name-street-food-dishes
23
+ description: "Name common street food dishes"
24
+ skill: word-recognition
25
+ - id: obj-order-from-carts
26
+ description: "Order from food carts"
27
+ skill: word-production
28
+ - id: obj-understand-street-food-culture
29
+ description: "Understand street food culture"
30
+ skill: dialogue-comprehension
23
31
  ---
24
32
 
25
33
  # บทที่ 6 (Lesson 6) — Street Food Essentials
@@ -169,7 +177,7 @@ Street food is the soul of Thai cuisine. From morning noodle soup to late-night
169
177
 
170
178
  ## Practice Exercises
171
179
 
172
- :::exercise{id="food-6-street-food-vocab" type="matching" title="Street Food Vocabulary"}
180
+ :::exercise{id="food-6-street-food-vocab" type="matching" title="Street Food Vocabulary" skill="word-recognition" objectiveId="obj-name-street-food-dishes"}
173
181
 
174
182
  **Question:** Match each street food term to its meaning
175
183
 
@@ -189,7 +197,7 @@ Street food is the soul of Thai cuisine. From morning noodle soup to late-night
189
197
 
190
198
  :::
191
199
 
192
- :::exercise{id="food-6-som-tam-ordering" type="fill-in-blank" title="Ordering Som Tam"}
200
+ :::exercise{id="food-6-som-tam-ordering" type="fill-in-blank" title="Ordering Som Tam" skill="word-production" objectiveId="obj-order-from-carts"}
193
201
 
194
202
  **Question:** How do you customize your ส้มตำ (papaya salad)?
195
203
 
@@ -204,7 +212,7 @@ You can specify:
204
212
 
205
213
  :::
206
214
 
207
- :::exercise{id="food-6-street-etiquette" type="multiple-choice" title="Street Food Etiquette"}
215
+ :::exercise{id="food-6-street-etiquette" type="multiple-choice" title="Street Food Etiquette" skill="situational-response" objectiveId="obj-understand-street-food-culture"}
208
216
 
209
217
  **Question:** What should you have ready when ordering from street food carts?
210
218
 
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-food-lesson-06
18
- objectives:
19
- - "Order drinks at restaurants and cafes"
20
- - "Name Thai desserts"
21
- - "Customize drink orders"
22
- - "Understand Thai coffee culture"
18
+ learningObjectives:
19
+ - id: obj-order-drinks
20
+ description: "Order drinks at restaurants and cafes"
21
+ skill: pattern-application
22
+ - id: obj-name-desserts
23
+ description: "Name Thai desserts"
24
+ skill: word-recognition
25
+ - id: obj-customize-drinks
26
+ description: "Customize drink orders"
27
+ skill: word-production
28
+ - id: obj-understand-coffee-culture
29
+ description: "Understand Thai coffee culture"
30
+ skill: dialogue-comprehension
23
31
  ---
24
32
 
25
33
  # บทที่ 7 (Lesson 7) — Drinks & Desserts
@@ -179,7 +187,7 @@ Thai drinks and desserts are just as complex and delicious as the savory dishes.
179
187
 
180
188
  ## Practice Exercises
181
189
 
182
- :::exercise{id="food-7-drink-customization" type="matching" title="Drink Customization"}
190
+ :::exercise{id="food-7-drink-customization" type="matching" title="Drink Customization" skill="word-recognition" objectiveId="obj-customize-drinks"}
183
191
 
184
192
  **Question:** Match each customization to its Thai phrase
185
193
 
@@ -199,7 +207,7 @@ Thai drinks and desserts are just as complex and delicious as the savory dishes.
199
207
 
200
208
  :::
201
209
 
202
- :::exercise{id="food-7-dessert-recognition" type="fill-in-blank" title="Thai Dessert Recognition"}
210
+ :::exercise{id="food-7-dessert-recognition" type="fill-in-blank" title="Thai Dessert Recognition" skill="word-recognition" objectiveId="obj-name-desserts"}
203
211
 
204
212
  **Question:** What is ข้าวเหนียวมะม่วง?
205
213
 
@@ -214,7 +222,7 @@ Thai drinks and desserts are just as complex and delicious as the savory dishes.
214
222
 
215
223
  :::
216
224
 
217
- :::exercise{id="food-7-coffee-culture" type="multiple-choice" title="Thai Coffee Culture"}
225
+ :::exercise{id="food-7-coffee-culture" type="multiple-choice" title="Thai Coffee Culture" skill="dialogue-comprehension" objectiveId="obj-understand-coffee-culture"}
218
226
 
219
227
  **Question:** What is โอเลี้ยง (ooliang)?
220
228
 
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-food-lesson-07
18
- objectives:
19
- - "Communicate food allergies"
20
- - "Explain dietary restrictions"
21
- - "Make customization requests"
22
- - "Handle food emergencies"
18
+ learningObjectives:
19
+ - id: obj-communicate-allergies
20
+ description: "Communicate food allergies"
21
+ skill: pattern-application
22
+ - id: obj-explain-dietary-restrictions
23
+ description: "Explain dietary restrictions"
24
+ skill: pattern-application
25
+ - id: obj-make-customization-requests
26
+ description: "Make customization requests"
27
+ skill: word-production
28
+ - id: obj-handle-food-emergencies
29
+ description: "Handle food emergencies"
30
+ skill: pattern-application
23
31
  ---
24
32
 
25
33
  # บทที่ 8 (Lesson 8) — Special Requests
@@ -206,7 +214,7 @@ Thank you)
206
214
 
207
215
  ## Practice Exercises
208
216
 
209
- :::exercise{id="food-8-allergy-communication" type="matching" title="Allergy Communication"}
217
+ :::exercise{id="food-8-allergy-communication" type="matching" title="Allergy Communication" skill="pattern-application" objectiveId="obj-communicate-allergies"}
210
218
 
211
219
  **Question:** Match each allergy phrase to its meaning
212
220
 
@@ -226,7 +234,7 @@ Thank you)
226
234
 
227
235
  :::
228
236
 
229
- :::exercise{id="food-8-dietary-restrictions" type="fill-in-blank" title="Dietary Restrictions"}
237
+ :::exercise{id="food-8-dietary-restrictions" type="fill-in-blank" title="Dietary Restrictions" skill="pattern-application" objectiveId="obj-explain-dietary-restrictions"}
230
238
 
231
239
  **Question:** How do you communicate these dietary needs?
232
240
 
@@ -246,7 +254,7 @@ Thank you)
246
254
 
247
255
  :::
248
256
 
249
- :::exercise{id="food-8-emergency-phrases" type="multiple-choice" title="Food Emergency Phrases"}
257
+ :::exercise{id="food-8-emergency-phrases" type="multiple-choice" title="Food Emergency Phrases" skill="pattern-application" objectiveId="obj-handle-food-emergencies"}
250
258
 
251
259
  **Question:** What should you say if you're having a severe allergic reaction?
252
260