@mhmo91/schmancy 0.10.28 → 0.10.30

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 (451) hide show
  1. package/custom-elements.json +7 -2
  2. package/dist/SchmancyElement-BQ4DFufc.js +300 -0
  3. package/dist/SchmancyElement-BQ4DFufc.js.map +1 -0
  4. package/dist/SchmancyElement-DhSiMp6Y.cjs +2 -0
  5. package/dist/SchmancyElement-DhSiMp6Y.cjs.map +1 -0
  6. package/dist/agent/{flow-3RrZM-e7.js.map → flow-CvG1fLW5.js.map} +1 -1
  7. package/dist/agent/schmancy.agent.js +7843 -3334
  8. package/dist/agent/schmancy.agent.js.map +1 -1
  9. package/dist/agent/schmancy.manifest.json +1 -2
  10. package/dist/agent/{vendor-material-color-33Mj762T.js.map → vendor-material-color-DcL7ZPxx.js.map} +1 -1
  11. package/dist/animation-CCOIW4wJ.cjs.map +1 -1
  12. package/dist/animation-DCznELuT.js.map +1 -1
  13. package/dist/{area-C_Yvjmad.js → area-BjpUWvzE.js} +7 -7
  14. package/dist/{area-C_Yvjmad.js.map → area-BjpUWvzE.js.map} +1 -1
  15. package/dist/area-CgTzkxah.cjs +21 -0
  16. package/dist/{area-BSVOYQDA.cjs.map → area-CgTzkxah.cjs.map} +1 -1
  17. package/dist/area.cjs +1 -1
  18. package/dist/area.js +1 -1
  19. package/dist/{audio-CxO5a2HL.js → audio-CwBJntnB.js} +1 -1
  20. package/dist/{audio-CxO5a2HL.js.map → audio-CwBJntnB.js.map} +1 -1
  21. package/dist/{audio-Cvmemu84.cjs → audio-DISBFOaR.cjs} +1 -1
  22. package/dist/{audio-Cvmemu84.cjs.map → audio-DISBFOaR.cjs.map} +1 -1
  23. package/dist/audio.cjs +1 -1
  24. package/dist/audio.js +2 -2
  25. package/dist/{autocomplete-B50VXUzw.cjs → autocomplete-DbCUOgWU.cjs} +2 -2
  26. package/dist/{autocomplete-B50VXUzw.cjs.map → autocomplete-DbCUOgWU.cjs.map} +1 -1
  27. package/dist/{autocomplete-C6I1mfOT.js → autocomplete-Dy708jem.js} +7 -7
  28. package/dist/{autocomplete-C6I1mfOT.js.map → autocomplete-Dy708jem.js.map} +1 -1
  29. package/dist/autocomplete.cjs +1 -1
  30. package/dist/autocomplete.js +1 -1
  31. package/dist/avatar.cjs +3 -3
  32. package/dist/avatar.cjs.map +1 -1
  33. package/dist/avatar.js +5 -5
  34. package/dist/avatar.js.map +1 -1
  35. package/dist/badge.cjs +1 -1
  36. package/dist/badge.js +1 -1
  37. package/dist/{boat-DVQBNkk5.cjs → boat-BzZN_iwp.cjs} +11 -11
  38. package/dist/{boat-DVQBNkk5.cjs.map → boat-BzZN_iwp.cjs.map} +1 -1
  39. package/dist/{boat-C94QZ4Zt.js → boat-Z4Lzl3ai.js} +8 -8
  40. package/dist/{boat-C94QZ4Zt.js.map → boat-Z4Lzl3ai.js.map} +1 -1
  41. package/dist/boat.cjs +1 -1
  42. package/dist/boat.js +1 -1
  43. package/dist/breadcrumb.cjs +4 -4
  44. package/dist/breadcrumb.cjs.map +1 -1
  45. package/dist/breadcrumb.js +7 -7
  46. package/dist/breadcrumb.js.map +1 -1
  47. package/dist/{busy--bNb42rM.js → busy-CRFGPkcP.js} +7 -7
  48. package/dist/{busy--bNb42rM.js.map → busy-CRFGPkcP.js.map} +1 -1
  49. package/dist/{busy-DuxFvEkY.cjs → busy-Cu-47DfN.cjs} +8 -8
  50. package/dist/{busy-DuxFvEkY.cjs.map → busy-Cu-47DfN.cjs.map} +1 -1
  51. package/dist/busy.cjs +1 -1
  52. package/dist/busy.js +1 -1
  53. package/dist/{button-DAFZ5A4O.cjs → button-CN_JTjRd.cjs} +15 -15
  54. package/dist/{button-DAFZ5A4O.cjs.map → button-CN_JTjRd.cjs.map} +1 -1
  55. package/dist/{button-B7b9L_h5.js → button-D_USF3tt.js} +10 -10
  56. package/dist/{button-B7b9L_h5.js.map → button-D_USF3tt.js.map} +1 -1
  57. package/dist/button.cjs +19 -19
  58. package/dist/button.cjs.map +1 -1
  59. package/dist/button.js +9 -9
  60. package/dist/button.js.map +1 -1
  61. package/dist/{card-DZPd24Sn.cjs → card-D4P5_gg9.cjs} +10 -10
  62. package/dist/{card-DZPd24Sn.cjs.map → card-D4P5_gg9.cjs.map} +1 -1
  63. package/dist/{card-ixzxOW-Q.js → card-DpN5KIYc.js} +15 -15
  64. package/dist/{card-ixzxOW-Q.js.map → card-DpN5KIYc.js.map} +1 -1
  65. package/dist/card.cjs +1 -1
  66. package/dist/card.js +1 -1
  67. package/dist/{checkbox-DdGpepTh.js → checkbox-C8ChypKf.js} +5 -5
  68. package/dist/{checkbox-DdGpepTh.js.map → checkbox-C8ChypKf.js.map} +1 -1
  69. package/dist/{checkbox-Bi_Fm2mf.cjs → checkbox-hhXVXDV1.cjs} +3 -3
  70. package/dist/{checkbox-Bi_Fm2mf.cjs.map → checkbox-hhXVXDV1.cjs.map} +1 -1
  71. package/dist/checkbox.cjs +1 -1
  72. package/dist/checkbox.js +1 -1
  73. package/dist/{chips-DLTynyVB.js → chips-B8R9q4yl.js} +27 -27
  74. package/dist/{chips-DLTynyVB.js.map → chips-B8R9q4yl.js.map} +1 -1
  75. package/dist/{chips-DWQMZErr.cjs → chips-BTLlO_Ow.cjs} +18 -18
  76. package/dist/{chips-DWQMZErr.cjs.map → chips-BTLlO_Ow.cjs.map} +1 -1
  77. package/dist/chips.cjs +1 -1
  78. package/dist/chips.js +2 -2
  79. package/dist/connectivity.cjs +7 -7
  80. package/dist/connectivity.cjs.map +1 -1
  81. package/dist/connectivity.js +5 -5
  82. package/dist/connectivity.js.map +1 -1
  83. package/dist/content-drawer.cjs +1 -1
  84. package/dist/content-drawer.js +1 -1
  85. package/dist/cursor-glow-Ah7VXSj7.js.map +1 -1
  86. package/dist/cursor-glow-Bulq-38P.cjs.map +1 -1
  87. package/dist/{date-range-DQpmMJH-.cjs → date-range-9h6ZSkZb.cjs} +3 -3
  88. package/dist/{date-range-DQpmMJH-.cjs.map → date-range-9h6ZSkZb.cjs.map} +1 -1
  89. package/dist/{date-range-CJ6MiTpF.js → date-range-CS96dWMh.js} +7 -7
  90. package/dist/{date-range-CJ6MiTpF.js.map → date-range-CS96dWMh.js.map} +1 -1
  91. package/dist/date-range-inline-CAxnHA-l.cjs +43 -0
  92. package/dist/{date-range-inline-nPWIs-3C.cjs.map → date-range-inline-CAxnHA-l.cjs.map} +1 -1
  93. package/dist/{date-range-inline-Ho3CENTh.js → date-range-inline-DCXdGeRv.js} +5 -5
  94. package/dist/{date-range-inline-Ho3CENTh.js.map → date-range-inline-DCXdGeRv.js.map} +1 -1
  95. package/dist/date-range-inline.cjs +1 -1
  96. package/dist/date-range-inline.js +1 -1
  97. package/dist/date-range.cjs +1 -1
  98. package/dist/date-range.js +1 -1
  99. package/dist/delay.cjs +4 -4
  100. package/dist/delay.cjs.map +1 -1
  101. package/dist/delay.js +6 -6
  102. package/dist/delay.js.map +1 -1
  103. package/dist/{details-BnRWMZdt.cjs → details-BC0IObBd.cjs} +2 -2
  104. package/dist/{details-BnRWMZdt.cjs.map → details-BC0IObBd.cjs.map} +1 -1
  105. package/dist/{details-CcMTvYo7.js → details-Pgd0slKn.js} +11 -11
  106. package/dist/{details-CcMTvYo7.js.map → details-Pgd0slKn.js.map} +1 -1
  107. package/dist/details.cjs +1 -1
  108. package/dist/details.js +1 -1
  109. package/dist/{directives-DgPbz0lQ.js → directives-B-RT9R2u.js} +3 -3
  110. package/dist/{directives-DgPbz0lQ.js.map → directives-B-RT9R2u.js.map} +1 -1
  111. package/dist/{directives-BkSqmLBV.cjs → directives-CFWacnWU.cjs} +1 -1
  112. package/dist/{directives-BkSqmLBV.cjs.map → directives-CFWacnWU.cjs.map} +1 -1
  113. package/dist/directives.cjs +1 -1
  114. package/dist/directives.js +2 -2
  115. package/dist/discovery.service-CIa3Eeuk.cjs.map +1 -1
  116. package/dist/discovery.service-DZFxtRwW.js.map +1 -1
  117. package/dist/{divider-CZCj0ioH.js → divider-BMzm0lOz.js} +5 -5
  118. package/dist/{divider-CZCj0ioH.js.map → divider-BMzm0lOz.js.map} +1 -1
  119. package/dist/{divider-C6yJSL1c.cjs → divider-D1OzaRAQ.cjs} +3 -3
  120. package/dist/{divider-C6yJSL1c.cjs.map → divider-D1OzaRAQ.cjs.map} +1 -1
  121. package/dist/divider.cjs +1 -1
  122. package/dist/divider.js +1 -1
  123. package/dist/dropdown.cjs +4 -4
  124. package/dist/dropdown.cjs.map +1 -1
  125. package/dist/dropdown.js +8 -8
  126. package/dist/dropdown.js.map +1 -1
  127. package/dist/{expand-Cc6ogXsR.js → expand-C0Uqxfv0.js} +10 -10
  128. package/dist/{expand-Cc6ogXsR.js.map → expand-C0Uqxfv0.js.map} +1 -1
  129. package/dist/{expand-D4EhwOYh.cjs → expand-CiQkzth9.cjs} +3 -3
  130. package/dist/{expand-D4EhwOYh.cjs.map → expand-CiQkzth9.cjs.map} +1 -1
  131. package/dist/expand.cjs +1 -1
  132. package/dist/expand.js +1 -1
  133. package/dist/float-Bu_IfKRd.cjs +1 -0
  134. package/dist/{float-B8EPc_OG.cjs.map → float-Bu_IfKRd.cjs.map} +1 -1
  135. package/dist/{float-BvI3HTtB.js → float-DwBMXhek.js} +2 -2
  136. package/dist/{float-BvI3HTtB.js.map → float-DwBMXhek.js.map} +1 -1
  137. package/dist/float.cjs +1 -1
  138. package/dist/float.js +1 -1
  139. package/dist/{form-FtYtZScl.js → form-B9Je2W_m.js} +15 -95
  140. package/dist/form-B9Je2W_m.js.map +1 -0
  141. package/dist/{form-SHg5FLsd.cjs → form-BnbAVZyf.cjs} +4 -19
  142. package/dist/form-BnbAVZyf.cjs.map +1 -0
  143. package/dist/form.cjs +18 -1
  144. package/dist/form.cjs.map +1 -0
  145. package/dist/form.js +93 -9
  146. package/dist/form.js.map +1 -0
  147. package/dist/gravity-6pL6CfIr.cjs.map +1 -1
  148. package/dist/gravity-sVK3zGBF.js.map +1 -1
  149. package/dist/handover/agent-runtime-followups.md +1 -1
  150. package/dist/handover/agent-runtime-v1.md +3 -3
  151. package/dist/hashContent-BqU6v1Xr.js.map +1 -1
  152. package/dist/hashContent-iRZJJWtE.cjs.map +1 -1
  153. package/dist/{icon-CgIXAvKI.cjs → icons-BfWQl5k5.cjs} +6 -6
  154. package/dist/icons-BfWQl5k5.cjs.map +1 -0
  155. package/dist/{icon-B1eZr2ZL.js → icons-DJHPXKgR.js} +4 -4
  156. package/dist/{icon-CgIXAvKI.cjs.map → icons-DJHPXKgR.js.map} +1 -1
  157. package/dist/icons.cjs +1 -1
  158. package/dist/icons.js +1 -1
  159. package/dist/{iframe-CmpAZc61.js → iframe-DLz8ll0s.js} +5 -5
  160. package/dist/{iframe-CmpAZc61.js.map → iframe-DLz8ll0s.js.map} +1 -1
  161. package/dist/{iframe-BO3BpRLH.cjs → iframe-UtczJypj.cjs} +5 -5
  162. package/dist/{iframe-BO3BpRLH.cjs.map → iframe-UtczJypj.cjs.map} +1 -1
  163. package/dist/iframe.cjs +1 -1
  164. package/dist/iframe.js +1 -1
  165. package/dist/index.cjs +1 -1
  166. package/dist/index.js +69 -69
  167. package/dist/{input-_Hft9vov.js → input-AQbBEj2f.js} +15 -15
  168. package/dist/{input-_Hft9vov.js.map → input-AQbBEj2f.js.map} +1 -1
  169. package/dist/{input-5YL2oUBr.cjs → input-Pp6A1m3s.cjs} +2 -2
  170. package/dist/{input-5YL2oUBr.cjs.map → input-Pp6A1m3s.cjs.map} +1 -1
  171. package/dist/{input-chip-DKMNpcED.cjs → input-chip-B5vYNuEm.cjs} +9 -9
  172. package/dist/{input-chip-DKMNpcED.cjs.map → input-chip-B5vYNuEm.cjs.map} +1 -1
  173. package/dist/{input-chip-BNTojQT6.js → input-chip-Bbs_gXOB.js} +10 -10
  174. package/dist/{input-chip-BNTojQT6.js.map → input-chip-Bbs_gXOB.js.map} +1 -1
  175. package/dist/input.cjs +1 -1
  176. package/dist/input.js +1 -1
  177. package/dist/json.cjs +3 -3
  178. package/dist/json.cjs.map +1 -1
  179. package/dist/json.js +5 -5
  180. package/dist/json.js.map +1 -1
  181. package/dist/kbd.cjs +2 -2
  182. package/dist/kbd.cjs.map +1 -1
  183. package/dist/kbd.js +5 -5
  184. package/dist/kbd.js.map +1 -1
  185. package/dist/{layout-DSAjo92m.js → layout-9K1zxhZn.js} +1 -1
  186. package/dist/{layout-DSAjo92m.js.map → layout-9K1zxhZn.js.map} +1 -1
  187. package/dist/{layout-eXb9wjDh.cjs → layout-B0dct--7.cjs} +1 -1
  188. package/dist/{layout-eXb9wjDh.cjs.map → layout-B0dct--7.cjs.map} +1 -1
  189. package/dist/layout.cjs +2 -2
  190. package/dist/layout.cjs.map +1 -1
  191. package/dist/layout.js +7 -7
  192. package/dist/layout.js.map +1 -1
  193. package/dist/lazy-CayEFyC3.cjs.map +1 -1
  194. package/dist/lazy-D-bO2r4m.js.map +1 -1
  195. package/dist/{lightbox-t4dvb8_A.cjs → lightbox-D_EizrG3.cjs} +21 -21
  196. package/dist/{lightbox-t4dvb8_A.cjs.map → lightbox-D_EizrG3.cjs.map} +1 -1
  197. package/dist/{lightbox-CKlYcnHV.js → lightbox-DmJTs2My.js} +9 -9
  198. package/dist/{lightbox-CKlYcnHV.js.map → lightbox-DmJTs2My.js.map} +1 -1
  199. package/dist/lightbox.cjs +1 -1
  200. package/dist/lightbox.js +1 -1
  201. package/dist/{list-21mWtDKg.cjs → list-BSn8czyO.cjs} +5 -5
  202. package/dist/{list-21mWtDKg.cjs.map → list-BSn8czyO.cjs.map} +1 -1
  203. package/dist/{list-B6QhxgRJ.js → list-DjSSRZxF.js} +12 -12
  204. package/dist/{list-B6QhxgRJ.js.map → list-DjSSRZxF.js.map} +1 -1
  205. package/dist/list.cjs +1 -1
  206. package/dist/list.js +1 -1
  207. package/dist/magnetic-B2VKNfDu.js.map +1 -1
  208. package/dist/magnetic-MQ3HMHJi.cjs.map +1 -1
  209. package/dist/{menu-C5qcgMnw.js → menu-CCVEde6u.js} +7 -7
  210. package/dist/{menu-C5qcgMnw.js.map → menu-CCVEde6u.js.map} +1 -1
  211. package/dist/menu-DTNnq7j_.cjs +23 -0
  212. package/dist/{menu-Cuxt5K4Y.cjs.map → menu-DTNnq7j_.cjs.map} +1 -1
  213. package/dist/menu.cjs +1 -1
  214. package/dist/menu.js +1 -1
  215. package/dist/mixins-BYfSDvbP.js +412 -0
  216. package/dist/mixins-BYfSDvbP.js.map +1 -0
  217. package/dist/mixins-YQI9JogS.cjs +245 -0
  218. package/dist/mixins-YQI9JogS.cjs.map +1 -0
  219. package/dist/mixins.cjs +1 -1
  220. package/dist/mixins.js +3 -2
  221. package/dist/nav-drawer.cjs +1 -1
  222. package/dist/nav-drawer.js +1 -1
  223. package/dist/navigation-bar.cjs +1 -1
  224. package/dist/navigation-bar.js +1 -1
  225. package/dist/navigation-rail.cjs +10 -10
  226. package/dist/navigation-rail.cjs.map +1 -1
  227. package/dist/navigation-rail.js +15 -15
  228. package/dist/navigation-rail.js.map +1 -1
  229. package/dist/{notification-CDKBKh63.js → notification-BNEuu3Q2.js} +7 -7
  230. package/dist/{notification-CDKBKh63.js.map → notification-BNEuu3Q2.js.map} +1 -1
  231. package/dist/notification-RhaYvA1I.cjs +24 -0
  232. package/dist/{notification-CcNoBFEJ.cjs.map → notification-RhaYvA1I.cjs.map} +1 -1
  233. package/dist/notification.cjs +1 -1
  234. package/dist/notification.js +1 -1
  235. package/dist/{option-BWfmDJvm.js → option-BLMYRy5C.js} +6 -6
  236. package/dist/{option-BWfmDJvm.js.map → option-BLMYRy5C.js.map} +1 -1
  237. package/dist/{option-DejeqOad.cjs → option-Dk7UFFlr.cjs} +5 -5
  238. package/dist/{option-DejeqOad.cjs.map → option-Dk7UFFlr.cjs.map} +1 -1
  239. package/dist/option.cjs +1 -1
  240. package/dist/option.js +1 -1
  241. package/dist/overlay-BbntqsVm.cjs +43 -0
  242. package/dist/overlay-BbntqsVm.cjs.map +1 -0
  243. package/dist/{overlay-D3c_NY18.js → overlay-CujzmLxg.js} +93 -144
  244. package/dist/overlay-CujzmLxg.js.map +1 -0
  245. package/dist/overlay-stack-Bdr9lOqi.cjs.map +1 -1
  246. package/dist/overlay-stack-D2rgxQLh.js.map +1 -1
  247. package/dist/overlay.cjs +1 -1
  248. package/dist/overlay.confirm-body-CMge0LP5.cjs +70 -0
  249. package/dist/overlay.confirm-body-CMge0LP5.cjs.map +1 -0
  250. package/dist/{overlay.confirm-body-B_v0ivkn.js → overlay.confirm-body-CRk4MvKh.js} +15 -27
  251. package/dist/overlay.confirm-body-CRk4MvKh.js.map +1 -0
  252. package/dist/overlay.js +3 -3
  253. package/dist/{overlay.service-B3FjXCqc.js → overlay.service-DnT4SBlJ.js} +31 -27
  254. package/dist/{overlay.service-B3FjXCqc.js.map → overlay.service-DnT4SBlJ.js.map} +1 -1
  255. package/dist/overlay.service-Dq5XtSEL.cjs +1 -0
  256. package/dist/{overlay.service-BkSeqXIv.cjs.map → overlay.service-Dq5XtSEL.cjs.map} +1 -1
  257. package/dist/{progress-6_rb3Ah9.cjs → progress-Bqd4DdOQ.cjs} +7 -7
  258. package/dist/{progress-6_rb3Ah9.cjs.map → progress-Bqd4DdOQ.cjs.map} +1 -1
  259. package/dist/{progress-CFcmO0wv.js → progress-Cu_wh6Sl.js} +10 -10
  260. package/dist/{progress-CFcmO0wv.js.map → progress-Cu_wh6Sl.js.map} +1 -1
  261. package/dist/progress.cjs +1 -1
  262. package/dist/progress.js +1 -1
  263. package/dist/radio-group-C8rUbYL6.cjs +19 -0
  264. package/dist/{radio-group-_WZg8EKM.cjs.map → radio-group-C8rUbYL6.cjs.map} +1 -1
  265. package/dist/{radio-group-Bd8y9QpX.js → radio-group-Duzgx17I.js} +7 -7
  266. package/dist/{radio-group-Bd8y9QpX.js.map → radio-group-Duzgx17I.js.map} +1 -1
  267. package/dist/radio-group.cjs +1 -1
  268. package/dist/radio-group.js +1 -1
  269. package/dist/range.cjs +2 -2
  270. package/dist/range.cjs.map +1 -1
  271. package/dist/range.js +5 -5
  272. package/dist/range.js.map +1 -1
  273. package/dist/reduced-motion-D-L12p7G.js.map +1 -1
  274. package/dist/reduced-motion-Ds-HjMzn.cjs.map +1 -1
  275. package/dist/rxjs-utils-Csnks202.cjs.map +1 -1
  276. package/dist/rxjs-utils-d-ivVN84.js.map +1 -1
  277. package/dist/search-DPKoC-dT.cjs.map +1 -1
  278. package/dist/search-MvIBA93K.js.map +1 -1
  279. package/dist/{select-Czpl1ztD.js → select-CzCv1f1c.js} +6 -6
  280. package/dist/{select-Czpl1ztD.js.map → select-CzCv1f1c.js.map} +1 -1
  281. package/dist/{select-BaioT3yY.cjs → select-DdqEsfnG.cjs} +2 -2
  282. package/dist/{select-BaioT3yY.cjs.map → select-DdqEsfnG.cjs.map} +1 -1
  283. package/dist/select.cjs +1 -1
  284. package/dist/select.js +1 -1
  285. package/dist/skeleton.cjs +2 -2
  286. package/dist/skeleton.cjs.map +1 -1
  287. package/dist/skeleton.js +5 -5
  288. package/dist/skeleton.js.map +1 -1
  289. package/dist/skills/form.md +34 -0
  290. package/dist/skills/schmancy/form.md +34 -0
  291. package/dist/slider.cjs +7 -7
  292. package/dist/slider.cjs.map +1 -1
  293. package/dist/slider.js +6 -6
  294. package/dist/slider.js.map +1 -1
  295. package/dist/{sound.service-v_jqCkos.js → sound.service-BOWTBG16.js} +1 -1
  296. package/dist/{sound.service-v_jqCkos.js.map → sound.service-BOWTBG16.js.map} +1 -1
  297. package/dist/{sound.service-DVJZb9ox.cjs → sound.service-BwIzAFQx.cjs} +1 -1
  298. package/dist/{sound.service-DVJZb9ox.cjs.map → sound.service-BwIzAFQx.cjs.map} +1 -1
  299. package/dist/{splash-screen-YtTVkJg8.js → splash-screen-Dj-zuGuB.js} +6 -6
  300. package/dist/{splash-screen-YtTVkJg8.js.map → splash-screen-Dj-zuGuB.js.map} +1 -1
  301. package/dist/splash-screen-_KhxgneW.cjs +41 -0
  302. package/dist/{splash-screen-3FtgdVy3.cjs.map → splash-screen-_KhxgneW.cjs.map} +1 -1
  303. package/dist/splash-screen.cjs +1 -1
  304. package/dist/splash-screen.js +1 -1
  305. package/dist/src-BSjgxN07.cjs +263 -0
  306. package/dist/{src-AYRNg63f.cjs.map → src-BSjgxN07.cjs.map} +1 -1
  307. package/dist/{src-DKMEgT2z.js → src-Curgs4Yp.js} +83 -83
  308. package/dist/{src-DKMEgT2z.js.map → src-Curgs4Yp.js.map} +1 -1
  309. package/dist/state-BthYuA3T.cjs +1 -0
  310. package/dist/state-BthYuA3T.cjs.map +1 -0
  311. package/dist/{state-CHbIt2Dw.js → state-E0bVrZ7q.js} +293 -279
  312. package/dist/state-E0bVrZ7q.js.map +1 -0
  313. package/dist/state.cjs +1 -1
  314. package/dist/state.js +3 -3
  315. package/dist/steps.cjs +10 -10
  316. package/dist/steps.cjs.map +1 -1
  317. package/dist/steps.js +9 -9
  318. package/dist/steps.js.map +1 -1
  319. package/dist/{surface-CVxyQPln.js → surface-C2TIedTq.js} +4 -4
  320. package/dist/{surface-CVxyQPln.js.map → surface-C2TIedTq.js.map} +1 -1
  321. package/dist/surface-D-GqzyLn.cjs +7 -0
  322. package/dist/{surface-BNvxLEDN.cjs.map → surface-D-GqzyLn.cjs.map} +1 -1
  323. package/dist/surface.cjs +1 -1
  324. package/dist/surface.js +1 -1
  325. package/dist/switch.cjs +2 -2
  326. package/dist/switch.cjs.map +1 -1
  327. package/dist/switch.js +6 -6
  328. package/dist/switch.js.map +1 -1
  329. package/dist/table.cjs +11 -11
  330. package/dist/table.cjs.map +1 -1
  331. package/dist/table.js +10 -10
  332. package/dist/table.js.map +1 -1
  333. package/dist/{tabs-CnPXvZuZ.js → tabs-CLRVe23a.js} +11 -11
  334. package/dist/{tabs-CnPXvZuZ.js.map → tabs-CLRVe23a.js.map} +1 -1
  335. package/dist/{tabs-DTU7748z.cjs → tabs-C_493iod.cjs} +4 -4
  336. package/dist/{tabs-DTU7748z.cjs.map → tabs-C_493iod.cjs.map} +1 -1
  337. package/dist/tabs.cjs +1 -1
  338. package/dist/tabs.js +1 -1
  339. package/dist/teleport.cjs +1 -1
  340. package/dist/teleport.js +1 -1
  341. package/dist/{textarea-mQPsppmd.js → textarea-BWEyOtPy.js} +9 -9
  342. package/dist/{textarea-mQPsppmd.js.map → textarea-BWEyOtPy.js.map} +1 -1
  343. package/dist/textarea-CICgd2oP.cjs +43 -0
  344. package/dist/{textarea-Bqth6Q8P.cjs.map → textarea-CICgd2oP.cjs.map} +1 -1
  345. package/dist/textarea.cjs +1 -1
  346. package/dist/textarea.js +1 -1
  347. package/dist/{theme-BJqpv4cG.js → theme-Bfg_H2AF.js} +12 -12
  348. package/dist/{theme-BJqpv4cG.js.map → theme-Bfg_H2AF.js.map} +1 -1
  349. package/dist/theme-D7zOJiyg.cjs +181 -0
  350. package/dist/{theme-D4HGKt7N.cjs.map → theme-D7zOJiyg.cjs.map} +1 -1
  351. package/dist/{theme-button-Jap7G_IH.js → theme-button-C53GdQER.js} +4 -4
  352. package/dist/{theme-button-Jap7G_IH.js.map → theme-button-C53GdQER.js.map} +1 -1
  353. package/dist/theme-button-DgeBcqFm.cjs +8 -0
  354. package/dist/{theme-button-LP-Dgr17.cjs.map → theme-button-DgeBcqFm.cjs.map} +1 -1
  355. package/dist/theme-button.cjs +1 -1
  356. package/dist/theme-button.js +1 -1
  357. package/dist/theme.cjs +1 -1
  358. package/dist/theme.interface-CSt7JUBD.cjs.map +1 -1
  359. package/dist/theme.interface-odQEpZZH.js.map +1 -1
  360. package/dist/theme.js +3 -3
  361. package/dist/{theme.service-Bh08uOSJ.js → theme.service-BqDuioYc.js} +1 -1
  362. package/dist/{theme.service-Bh08uOSJ.js.map → theme.service-BqDuioYc.js.map} +1 -1
  363. package/dist/{theme.service-Y-e8b331.cjs → theme.service-C3PoISGd.cjs} +1 -1
  364. package/dist/{theme.service-Y-e8b331.cjs.map → theme.service-C3PoISGd.cjs.map} +1 -1
  365. package/dist/tooltip.cjs.map +1 -1
  366. package/dist/tooltip.js.map +1 -1
  367. package/dist/tree.cjs +3 -3
  368. package/dist/tree.cjs.map +1 -1
  369. package/dist/tree.js +4 -4
  370. package/dist/tree.js.map +1 -1
  371. package/dist/types.cjs.map +1 -1
  372. package/dist/types.js.map +1 -1
  373. package/dist/typewriter.cjs.map +1 -1
  374. package/dist/typewriter.js.map +1 -1
  375. package/dist/{typography-Bc4MmSal.cjs → typography-B19fJ5YT.cjs} +4 -4
  376. package/dist/{typography-Bc4MmSal.cjs.map → typography-B19fJ5YT.cjs.map} +1 -1
  377. package/dist/{typography-BJMm6b0b.js → typography-CzbQv-X0.js} +10 -10
  378. package/dist/{typography-BJMm6b0b.js.map → typography-CzbQv-X0.js.map} +1 -1
  379. package/dist/typography.cjs +1 -1
  380. package/dist/typography.js +1 -1
  381. package/dist/utils-DTa3QHxk.cjs.map +1 -1
  382. package/dist/utils-H8wNknWC.js.map +1 -1
  383. package/dist/visually-hidden.cjs +2 -2
  384. package/dist/visually-hidden.cjs.map +1 -1
  385. package/dist/visually-hidden.js +4 -4
  386. package/dist/visually-hidden.js.map +1 -1
  387. package/dist/window-DXB53PuA.cjs +59 -0
  388. package/dist/{window-CNu_WnsY.cjs.map → window-DXB53PuA.cjs.map} +1 -1
  389. package/dist/{window-DZTjkE24.js → window-DpctMXiy.js} +9 -9
  390. package/dist/{window-DZTjkE24.js.map → window-DpctMXiy.js.map} +1 -1
  391. package/dist/window.cjs +1 -1
  392. package/dist/window.js +1 -1
  393. package/package.json +1 -1
  394. package/skills/schmancy/form.md +34 -0
  395. package/src/form/form.ts +5 -1
  396. package/src/overlay/overlay.animations.ts +0 -29
  397. package/src/overlay/overlay.component.ts +30 -38
  398. package/src/overlay/overlay.confirm-body.ts +3 -15
  399. package/src/overlay/overlay.layout.ts +11 -53
  400. package/src/overlay/overlay.stack.test.ts +113 -0
  401. package/src/overlay/overlay.types.ts +17 -11
  402. package/src/state/active-host.ts +50 -1
  403. package/src/state/index.ts +50 -11
  404. package/src/state/schmancy-context.ts +97 -88
  405. package/src/surface/surface.styles.ts +14 -10
  406. package/types/src/form/form.d.ts +1 -0
  407. package/types/src/overlay/overlay.confirm-body.d.ts +1 -1
  408. package/types/src/overlay/overlay.layout.d.ts +10 -30
  409. package/types/src/overlay/overlay.stack.test.d.ts +1 -0
  410. package/types/src/overlay/overlay.types.d.ts +17 -11
  411. package/types/src/state/active-host.d.ts +3 -0
  412. package/types/src/state/index.d.ts +16 -2
  413. package/types/src/state/schmancy-context.d.ts +2 -2
  414. package/dist/active-host-BP0zy_Y9.js +0 -63
  415. package/dist/active-host-BP0zy_Y9.js.map +0 -1
  416. package/dist/active-host-jH3iloCR.cjs +0 -1
  417. package/dist/active-host-jH3iloCR.cjs.map +0 -1
  418. package/dist/agent/overlay.confirm-body-BZoUgkdK.js +0 -4574
  419. package/dist/agent/overlay.confirm-body-BZoUgkdK.js.map +0 -1
  420. package/dist/area-BSVOYQDA.cjs +0 -21
  421. package/dist/date-range-inline-nPWIs-3C.cjs +0 -43
  422. package/dist/float-B8EPc_OG.cjs +0 -1
  423. package/dist/form-FtYtZScl.js.map +0 -1
  424. package/dist/form-SHg5FLsd.cjs.map +0 -1
  425. package/dist/icon-B1eZr2ZL.js.map +0 -1
  426. package/dist/menu-Cuxt5K4Y.cjs +0 -23
  427. package/dist/mixins-8dT5j6CS.js +0 -627
  428. package/dist/mixins-8dT5j6CS.js.map +0 -1
  429. package/dist/mixins-BF3Vj8_c.cjs +0 -242
  430. package/dist/mixins-BF3Vj8_c.cjs.map +0 -1
  431. package/dist/notification-CcNoBFEJ.cjs +0 -24
  432. package/dist/overlay-D3c_NY18.js.map +0 -1
  433. package/dist/overlay-Dv2utO4C.cjs +0 -43
  434. package/dist/overlay-Dv2utO4C.cjs.map +0 -1
  435. package/dist/overlay.confirm-body-B2ntyquG.cjs +0 -79
  436. package/dist/overlay.confirm-body-B2ntyquG.cjs.map +0 -1
  437. package/dist/overlay.confirm-body-B_v0ivkn.js.map +0 -1
  438. package/dist/overlay.service-BkSeqXIv.cjs +0 -1
  439. package/dist/radio-group-_WZg8EKM.cjs +0 -19
  440. package/dist/splash-screen-3FtgdVy3.cjs +0 -41
  441. package/dist/src-AYRNg63f.cjs +0 -263
  442. package/dist/state-CHbIt2Dw.js.map +0 -1
  443. package/dist/state-DcGj-pJJ.cjs +0 -1
  444. package/dist/state-DcGj-pJJ.cjs.map +0 -1
  445. package/dist/surface-BNvxLEDN.cjs +0 -7
  446. package/dist/textarea-Bqth6Q8P.cjs +0 -43
  447. package/dist/theme-D4HGKt7N.cjs +0 -181
  448. package/dist/theme-button-LP-Dgr17.cjs +0 -8
  449. package/dist/window-CNu_WnsY.cjs +0 -59
  450. /package/dist/agent/{flow-3RrZM-e7.js → flow-CvG1fLW5.js} +0 -0
  451. /package/dist/agent/{vendor-material-color-33Mj762T.js → vendor-material-color-DcL7ZPxx.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sound.service-v_jqCkos.js","names":[],"sources":["../src/audio/sound.service.ts"],"sourcesContent":["/**\n * Schmancy Sound Service\n *\n * Centralized sound management following the theme service pattern.\n * Provides reactive observables for sound state and methods to control sounds.\n *\n * @example\n * ```typescript\n * import { sound } from '@schmancy/audio'\n *\n * // Play a feeling sound\n * sound.play('joyful')\n *\n * // Set volume\n * sound.setVolume(0.2)\n *\n * // Apply AI-generated sound theme\n * sound.setTheme(aiGeneratedTheme)\n *\n * // Reset to defaults\n * sound.resetTheme()\n *\n * // Subscribe to theme changes\n * sound.theme$.subscribe(theme => {\n * console.log('Current theme:', theme?.name ?? 'default')\n * })\n * ```\n */\n\nimport { BehaviorSubject, distinctUntilChanged, map, shareReplay } from 'rxjs'\nimport { state } from '../state'\nimport type {\n\tFeeling,\n\tFeelingCategory,\n\tFeelingSound,\n\tPuffParams,\n\tSoundTheme,\n\tSoundThemeSettings,\n\tToneParams,\n} from '../types/mood-audio.types'\n\n// ============================================================================\n// CONTEXT\n// ============================================================================\n\n/** Sound settings — persists to localStorage under namespace `schmancy/sound`. */\nconst SoundContext = state<SoundThemeSettings>('schmancy/sound').local({\n\ttheme: null,\n\tvolume: 0.15,\n\tmuted: false,\n})\n\n// ============================================================================\n// DEFAULT SOUND THEME\n// ============================================================================\n\n/**\n * Default sound definitions for all feelings\n * These are used when no custom theme is applied\n */\nconst DEFAULT_SOUNDS: Record<Feeling, FeelingSound> = {\n\t// ========== HAPPY / PLEASANT ==========\n\tjoyful: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 3000, volume: 0.3 },\n\t\t\t{ startTime: 0.06, duration: 0.1, frequency: 3500, volume: 0.35 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.15, frequency: 784, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.2, frequency: 988, volume: 0.3, type: 'sine' },\n\t\t\t{ startTime: 0.18, duration: 0.25, frequency: 1175, volume: 0.25, type: 'sine' },\n\t\t],\n\t},\n\tcontent: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 523, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.35, frequency: 659, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\texcited: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.06, frequency: 2500, volume: 0.25 },\n\t\t\t{ startTime: 0.05, duration: 0.06, frequency: 3000, volume: 0.3 },\n\t\t\t{ startTime: 0.1, duration: 0.08, frequency: 3500, volume: 0.35 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.12, frequency: 880, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.12, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.15, frequency: 1319, volume: 0.3, type: 'sine' },\n\t\t],\n\t},\n\tproud: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1800, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 523, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.25, frequency: 659, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.11, duration: 0.3, frequency: 784, volume: 0.25, type: 'sine' },\n\t\t],\n\t},\n\thopeful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 2200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.3, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 880 }],\n\t},\n\trelieved: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 1200, volume: 0.35 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 659, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 523, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tgrateful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 440, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.35, frequency: 523, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 659, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tpeaceful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 800, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 500 }],\n\t},\n\tplayful: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2800, volume: 0.2 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 3200, volume: 0.25 },\n\t\t\t{ startTime: 0.14, duration: 0.06, frequency: 2800, volume: 0.2 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.03, duration: 0.1, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.08, frequency: 988, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.16, duration: 0.12, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t],\n\t},\n\tamused: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.04, frequency: 2500, volume: 0.2 },\n\t\t\t{ startTime: 0.06, duration: 0.04, frequency: 2800, volume: 0.22 },\n\t\t\t{ startTime: 0.11, duration: 0.05, frequency: 2600, volume: 0.18 },\n\t\t],\n\t\ttones: [{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' }],\n\t},\n\tcurious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 2000, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 880 }],\n\t},\n\tinspired: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 2500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 523, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.07, duration: 0.28, frequency: 784.5, volume: 0.16, type: 'sine' },\n\t\t\t{ startTime: 0.09, duration: 0.26, frequency: 1046, volume: 0.12, type: 'sine' },\n\t\t],\n\t},\n\tconfident: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 523, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.06, duration: 0.22, frequency: 659, volume: 0.2, type: 'sine' },\n\t\t],\n\t},\n\tloved: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1000, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.4, frequency: 392, volume: 0.18, type: 'sine', filterFrequency: 600 },\n\t\t\t{ startTime: 0.2, duration: 0.45, frequency: 494, volume: 0.15, type: 'sine', filterFrequency: 600 },\n\t\t],\n\t},\n\tcomforted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 523, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tenergized: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 3000, volume: 0.25 },\n\t\t\t{ startTime: 0.04, duration: 0.05, frequency: 3500, volume: 0.28 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.1, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.12, frequency: 988, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.15, frequency: 1175, volume: 0.22, type: 'sine' },\n\t\t],\n\t},\n\tcelebrated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.08, frequency: 2500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.18, frequency: 523, volume: 0.22, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.18, frequency: 659, volume: 0.24, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.2, frequency: 784, volume: 0.26, type: 'sine' },\n\t\t\t{ startTime: 0.22, duration: 0.3, frequency: 1047, volume: 0.22, type: 'sine' },\n\t\t],\n\t},\n\n\t// ========== SAD / LOW ==========\n\tsad: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tlonely: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tdisappointed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\theartbroken: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tgrieving: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\thopeless: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tempty: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tdiscouraged: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tmelancholic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.45, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\thomesick: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\thurt: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tmiserable: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tregretful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.45, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\tashamed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tinferior: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\n\t// ========== ANXIOUS / FEARFUL ==========\n\tanxious: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t\tdescription: 'Tight, quick puffs with uncertain wobble',\n\t},\n\tworried: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tafraid: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tterrified: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tpanicked: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tnervous: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\tuneasy: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tinsecure: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\toverwhelmed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tstressed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\ttense: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tapprehensive: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tstartled: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tsuspicious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tvulnerable: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\n\t// ========== ANGRY / FRUSTRATED ==========\n\tannoyed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tirritated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tfrustrated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tangry: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tenraged: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tbitter: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tresentful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tjealous: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tenvious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tindignant: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\timpatient: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.04, frequency: 1500, volume: 0.2 },\n\t\t\t{ startTime: 0.08, duration: 0.04, frequency: 1500, volume: 0.2 },\n\t\t\t{ startTime: 0.16, duration: 0.04, frequency: 1500, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.06, duration: 0.1, frequency: 523, volume: 0.15, type: 'sine' }],\n\t},\n\thostile: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tcontemptuous: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\n\t// ========== TIRED / DRAINED ==========\n\ttired: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 350 }],\n\t},\n\texhausted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tdrained: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tburnedOut: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tnumb: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tbored: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\tunmotivated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\tapathetic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\trestless: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 350 }],\n\t},\n\n\t// ========== CALM / GROUNDED ==========\n\tcalm: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\trelaxed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.15, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.35, duration: 0.5, frequency: 392, volume: 0.08, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tatEase: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.15, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.35, duration: 0.5, frequency: 392, volume: 0.08, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tbalanced: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\tstable: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\tsecure: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tsafe: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tcentered: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\tgrounded: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\taccepting: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\n\t// ========== CONNECTED / SOCIAL ==========\n\tconnected: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\taccepted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tincluded: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tbelonging: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tappreciated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tvalued: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\trespected: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tsupported: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.4, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tprotective: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.4, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tcompassionate: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tempathetic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\n\t// ========== MIXED / COMPLICATED ==========\n\tconflicted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tconfused: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tambivalent: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tnostalgic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\tguilty: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tembarrassed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\tsurprised: {\n\t\tpuffs: [{ startTime: 0, duration: 0.06, frequency: 2800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.02, duration: 0.15, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 988 }],\n\t},\n\tshocked: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tawestruck: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.4, frequency: 440, volume: 0.15, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.38, frequency: 660, volume: 0.12, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.36, frequency: 880, volume: 0.09, type: 'sine' },\n\t\t],\n\t},\n\tskeptical: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n}\n\n// ============================================================================\n// SOUND SERVICE\n// ============================================================================\n\n/**\n * Sound Service - Provides centralized sound management for Schmancy components\n *\n * Following the theme service pattern:\n * - Has default sounds as fallback\n * - Can receive custom sound theme from AI\n * - Reactive observables for state changes\n * - Persists settings to session storage\n */\nclass SoundService {\n\tprivate static instance: SoundService\n\n\t/** Audio context for Web Audio API */\n\tprivate audioContext: AudioContext | null = null\n\n\t// Public observables derived from context\n\t// Don't use distinctUntilChanged for theme - we need all emissions including storage loads\n\tpublic readonly theme$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.theme),\n\t\tshareReplay(1)\n\t)\n\n\tpublic readonly volume$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.volume),\n\t\tdistinctUntilChanged(),\n\t\tshareReplay(1)\n\t)\n\n\tpublic readonly muted$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.muted),\n\t\tdistinctUntilChanged(),\n\t\tshareReplay(1)\n\t)\n\n\t/** BehaviorSubject for current theme name (for debugging/display) */\n\tprivate readonly _themeName$ = new BehaviorSubject<string>('default')\n\tpublic readonly themeName$ = this._themeName$.asObservable()\n\n\t// Getters for synchronous access\n\tget theme(): SoundTheme | null {\n\t\treturn SoundContext.value.theme\n\t}\n\n\tget volume(): number {\n\t\treturn SoundContext.value.volume\n\t}\n\n\tget muted(): boolean {\n\t\treturn SoundContext.value.muted\n\t}\n\n\tget themeName(): string {\n\t\treturn this.theme?.name ?? 'default'\n\t}\n\n\tprivate constructor() {\n\t\t// Subscribe to theme changes to update theme name\n\t\tthis.theme$.subscribe(theme => {\n\t\t\tthis._themeName$.next(theme?.name ?? 'default')\n\t\t})\n\t}\n\n\t// ==========================================================================\n\t// AUDIO CONTEXT MANAGEMENT\n\t// ==========================================================================\n\n\tprivate getContext(): AudioContext {\n\t\tif (!this.audioContext) {\n\t\t\tconst AudioContextClass =\n\t\t\t\twindow.AudioContext || (window as unknown as { webkitAudioContext: typeof AudioContext }).webkitAudioContext\n\t\t\tthis.audioContext = new AudioContextClass()\n\t\t}\n\t\tif (this.audioContext.state === 'suspended') {\n\t\t\tthis.audioContext.resume()\n\t\t}\n\t\treturn this.audioContext\n\t}\n\n\t// ==========================================================================\n\t// SOUND PRIMITIVES\n\t// ==========================================================================\n\n\t/** Play a puff (breath/air) sound */\n\tprivate playPuff(startTime: number, params: PuffParams, masterVolume: number): void {\n\t\tconst ctx = this.getContext()\n\t\tconst bufferSize = Math.floor(ctx.sampleRate * params.duration)\n\t\tconst buffer = ctx.createBuffer(1, bufferSize, ctx.sampleRate)\n\t\tconst data = buffer.getChannelData(0)\n\n\t\tfor (let i = 0; i < bufferSize; i++) {\n\t\t\tdata[i] = Math.random() * 2 - 1\n\t\t}\n\n\t\tconst noise = ctx.createBufferSource()\n\t\tnoise.buffer = buffer\n\n\t\tconst filter = ctx.createBiquadFilter()\n\t\tfilter.type = 'bandpass'\n\t\tfilter.frequency.value = params.frequency\n\t\tfilter.Q.value = 0.7\n\n\t\tconst gain = ctx.createGain()\n\t\tgain.gain.setValueAtTime(0, startTime)\n\t\tgain.gain.linearRampToValueAtTime(params.volume * masterVolume, startTime + 0.015)\n\t\tgain.gain.exponentialRampToValueAtTime(0.001, startTime + params.duration)\n\n\t\tnoise.connect(filter).connect(gain).connect(ctx.destination)\n\t\tnoise.start(startTime)\n\t\tnoise.stop(startTime + params.duration)\n\t}\n\n\t/** Play a tone (musical) sound */\n\tprivate playTone(startTime: number, params: ToneParams, masterVolume: number): void {\n\t\tconst ctx = this.getContext()\n\t\tconst osc = ctx.createOscillator()\n\t\tconst gain = ctx.createGain()\n\n\t\tosc.type = params.type\n\t\tosc.frequency.setValueAtTime(params.frequency, startTime)\n\n\t\tif (params.frequencyEnd) {\n\t\t\tosc.frequency.exponentialRampToValueAtTime(params.frequencyEnd, startTime + params.duration * 0.8)\n\t\t}\n\n\t\t// Apply filter if specified\n\t\tlet lastNode: AudioNode = osc\n\t\tif (params.filterFrequency) {\n\t\t\tconst filter = ctx.createBiquadFilter()\n\t\t\tfilter.type = 'lowpass'\n\t\t\tfilter.frequency.value = params.filterFrequency\n\t\t\tosc.connect(filter)\n\t\t\tlastNode = filter\n\t\t}\n\n\t\tgain.gain.setValueAtTime(0, startTime)\n\t\tgain.gain.linearRampToValueAtTime(params.volume * masterVolume, startTime + 0.02)\n\t\tgain.gain.exponentialRampToValueAtTime(0.001, startTime + params.duration)\n\n\t\tlastNode.connect(gain).connect(ctx.destination)\n\t\tosc.start(startTime)\n\t\tosc.stop(startTime + params.duration)\n\t}\n\n\t// ==========================================================================\n\t// PUBLIC API - THEME MANAGEMENT\n\t// ==========================================================================\n\n\t/**\n\t * Set a custom sound theme (e.g., from AI generation)\n\t * @param theme The sound theme to apply\n\t */\n\tpublic setTheme(theme: SoundTheme): void {\n\t\tSoundContext.set({ theme })\n\t}\n\n\t/**\n\t * Reset to default sounds (removes custom theme)\n\t */\n\tpublic resetTheme(): void {\n\t\tSoundContext.set({ theme: null })\n\t}\n\n\t/**\n\t * Set volume level (0.0 - 1.0)\n\t * @param volume Volume level\n\t */\n\tpublic setVolume(volume: number): void {\n\t\tSoundContext.set({ volume: Math.max(0, Math.min(1, volume)) })\n\t}\n\n\t/**\n\t * Mute all sounds\n\t */\n\tpublic mute(): void {\n\t\tSoundContext.set({ muted: true })\n\t}\n\n\t/**\n\t * Unmute sounds\n\t */\n\tpublic unmute(): void {\n\t\tSoundContext.set({ muted: false })\n\t}\n\n\t/**\n\t * Toggle mute state\n\t */\n\tpublic toggleMute(): void {\n\t\tSoundContext.set({ muted: !this.muted })\n\t}\n\n\t// ==========================================================================\n\t// PUBLIC API - SOUND PLAYBACK\n\t// ==========================================================================\n\n\t/**\n\t * Get the sound definition for a feeling\n\t * Uses custom theme if available, falls back to defaults\n\t */\n\tpublic getSoundForFeeling(feeling: Feeling): FeelingSound {\n\t\tconst customTheme = this.theme\n\n\t\t// Try custom theme first\n\t\tif (customTheme?.feelings?.[feeling]) {\n\t\t\treturn customTheme.feelings[feeling]!\n\t\t}\n\n\t\t// Try category default from custom theme\n\t\tif (customTheme?.categoryDefaults) {\n\t\t\tconst category = this.getCategoryForFeeling(feeling)\n\t\t\tif (customTheme.categoryDefaults[category]) {\n\t\t\t\treturn customTheme.categoryDefaults[category]!\n\t\t\t}\n\t\t}\n\n\t\t// Fall back to defaults\n\t\treturn DEFAULT_SOUNDS[feeling]\n\t}\n\n\t/**\n\t * Get the category for a feeling\n\t */\n\tprivate getCategoryForFeeling(feeling: Feeling): FeelingCategory {\n\t\tconst happyFeelings: Feeling[] = [\n\t\t\t'joyful',\n\t\t\t'content',\n\t\t\t'excited',\n\t\t\t'proud',\n\t\t\t'hopeful',\n\t\t\t'relieved',\n\t\t\t'grateful',\n\t\t\t'peaceful',\n\t\t\t'playful',\n\t\t\t'amused',\n\t\t\t'curious',\n\t\t\t'inspired',\n\t\t\t'confident',\n\t\t\t'loved',\n\t\t\t'comforted',\n\t\t\t'energized',\n\t\t\t'celebrated',\n\t\t]\n\t\tconst sadFeelings: Feeling[] = [\n\t\t\t'sad',\n\t\t\t'lonely',\n\t\t\t'disappointed',\n\t\t\t'heartbroken',\n\t\t\t'grieving',\n\t\t\t'hopeless',\n\t\t\t'empty',\n\t\t\t'discouraged',\n\t\t\t'melancholic',\n\t\t\t'homesick',\n\t\t\t'hurt',\n\t\t\t'miserable',\n\t\t\t'regretful',\n\t\t\t'ashamed',\n\t\t\t'inferior',\n\t\t]\n\t\tconst anxiousFeelings: Feeling[] = [\n\t\t\t'anxious',\n\t\t\t'worried',\n\t\t\t'afraid',\n\t\t\t'terrified',\n\t\t\t'panicked',\n\t\t\t'nervous',\n\t\t\t'uneasy',\n\t\t\t'insecure',\n\t\t\t'overwhelmed',\n\t\t\t'stressed',\n\t\t\t'tense',\n\t\t\t'apprehensive',\n\t\t\t'startled',\n\t\t\t'suspicious',\n\t\t\t'vulnerable',\n\t\t]\n\t\tconst angryFeelings: Feeling[] = [\n\t\t\t'annoyed',\n\t\t\t'irritated',\n\t\t\t'frustrated',\n\t\t\t'angry',\n\t\t\t'enraged',\n\t\t\t'bitter',\n\t\t\t'resentful',\n\t\t\t'jealous',\n\t\t\t'envious',\n\t\t\t'indignant',\n\t\t\t'impatient',\n\t\t\t'hostile',\n\t\t\t'contemptuous',\n\t\t]\n\t\tconst tiredFeelings: Feeling[] = ['tired', 'exhausted', 'drained', 'burnedOut', 'numb', 'bored', 'unmotivated', 'apathetic', 'restless']\n\t\tconst calmFeelings: Feeling[] = ['calm', 'relaxed', 'atEase', 'balanced', 'stable', 'secure', 'safe', 'centered', 'grounded', 'accepting']\n\t\tconst connectedFeelings: Feeling[] = [\n\t\t\t'connected',\n\t\t\t'accepted',\n\t\t\t'included',\n\t\t\t'belonging',\n\t\t\t'appreciated',\n\t\t\t'valued',\n\t\t\t'respected',\n\t\t\t'supported',\n\t\t\t'protective',\n\t\t\t'compassionate',\n\t\t\t'empathetic',\n\t\t]\n\n\t\tif (happyFeelings.includes(feeling)) return 'happy'\n\t\tif (sadFeelings.includes(feeling)) return 'sad'\n\t\tif (anxiousFeelings.includes(feeling)) return 'anxious'\n\t\tif (angryFeelings.includes(feeling)) return 'angry'\n\t\tif (tiredFeelings.includes(feeling)) return 'tired'\n\t\tif (calmFeelings.includes(feeling)) return 'calm'\n\t\tif (connectedFeelings.includes(feeling)) return 'connected'\n\t\treturn 'mixed'\n\t}\n\n\t/**\n\t * Play a feeling sound\n\t * @param feeling The feeling to play\n\t */\n\tpublic play(feeling: Feeling): void {\n\t\tif (this.muted) return\n\n\t\tconst sound = this.getSoundForFeeling(feeling)\n\t\tconst ctx = this.getContext()\n\t\tconst now = ctx.currentTime\n\n\t\t// Calculate master volume (theme + user setting)\n\t\tconst themeMasterVolume = this.theme?.masterVolume ?? 1\n\t\tconst masterVolume = this.volume * themeMasterVolume\n\n\t\t// Play puffs\n\t\tsound.puffs.forEach(puff => {\n\t\t\tthis.playPuff(now + puff.startTime, puff, masterVolume)\n\t\t})\n\n\t\t// Play tones\n\t\tsound.tones.forEach(tone => {\n\t\t\tthis.playTone(now + tone.startTime, tone, masterVolume)\n\t\t})\n\t}\n\n\t/**\n\t * Dispose audio context\n\t */\n\tpublic dispose(): void {\n\t\tif (this.audioContext) {\n\t\t\tthis.audioContext.close()\n\t\t\tthis.audioContext = null\n\t\t}\n\t}\n\n\t/**\n\t * Get singleton instance\n\t */\n\tstatic getInstance(): SoundService {\n\t\tif (!SoundService.instance) {\n\t\t\tSoundService.instance = new SoundService()\n\t\t}\n\t\treturn SoundService.instance\n\t}\n}\n\n// ============================================================================\n// EXPORTS\n// ============================================================================\n\n/** Global sound service singleton */\nexport const sound = SoundService.getInstance()\nexport const schmancySound = sound // Alias for consistency with theme\n"],"mappings":"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"}
1
+ {"version":3,"file":"sound.service-BOWTBG16.js","names":[],"sources":["../src/audio/sound.service.ts"],"sourcesContent":["/**\n * Schmancy Sound Service\n *\n * Centralized sound management following the theme service pattern.\n * Provides reactive observables for sound state and methods to control sounds.\n *\n * @example\n * ```typescript\n * import { sound } from '@schmancy/audio'\n *\n * // Play a feeling sound\n * sound.play('joyful')\n *\n * // Set volume\n * sound.setVolume(0.2)\n *\n * // Apply AI-generated sound theme\n * sound.setTheme(aiGeneratedTheme)\n *\n * // Reset to defaults\n * sound.resetTheme()\n *\n * // Subscribe to theme changes\n * sound.theme$.subscribe(theme => {\n * console.log('Current theme:', theme?.name ?? 'default')\n * })\n * ```\n */\n\nimport { BehaviorSubject, distinctUntilChanged, map, shareReplay } from 'rxjs'\nimport { state } from '../state'\nimport type {\n\tFeeling,\n\tFeelingCategory,\n\tFeelingSound,\n\tPuffParams,\n\tSoundTheme,\n\tSoundThemeSettings,\n\tToneParams,\n} from '../types/mood-audio.types'\n\n// ============================================================================\n// CONTEXT\n// ============================================================================\n\n/** Sound settings — persists to localStorage under namespace `schmancy/sound`. */\nconst SoundContext = state<SoundThemeSettings>('schmancy/sound').local({\n\ttheme: null,\n\tvolume: 0.15,\n\tmuted: false,\n})\n\n// ============================================================================\n// DEFAULT SOUND THEME\n// ============================================================================\n\n/**\n * Default sound definitions for all feelings\n * These are used when no custom theme is applied\n */\nconst DEFAULT_SOUNDS: Record<Feeling, FeelingSound> = {\n\t// ========== HAPPY / PLEASANT ==========\n\tjoyful: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 3000, volume: 0.3 },\n\t\t\t{ startTime: 0.06, duration: 0.1, frequency: 3500, volume: 0.35 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.15, frequency: 784, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.2, frequency: 988, volume: 0.3, type: 'sine' },\n\t\t\t{ startTime: 0.18, duration: 0.25, frequency: 1175, volume: 0.25, type: 'sine' },\n\t\t],\n\t},\n\tcontent: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 523, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.35, frequency: 659, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\texcited: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.06, frequency: 2500, volume: 0.25 },\n\t\t\t{ startTime: 0.05, duration: 0.06, frequency: 3000, volume: 0.3 },\n\t\t\t{ startTime: 0.1, duration: 0.08, frequency: 3500, volume: 0.35 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.12, frequency: 880, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.12, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.15, frequency: 1319, volume: 0.3, type: 'sine' },\n\t\t],\n\t},\n\tproud: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1800, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 523, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.25, frequency: 659, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.11, duration: 0.3, frequency: 784, volume: 0.25, type: 'sine' },\n\t\t],\n\t},\n\thopeful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 2200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.3, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 880 }],\n\t},\n\trelieved: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 1200, volume: 0.35 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 659, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 523, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tgrateful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 440, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.35, frequency: 523, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 659, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tpeaceful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 800, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 500 }],\n\t},\n\tplayful: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2800, volume: 0.2 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 3200, volume: 0.25 },\n\t\t\t{ startTime: 0.14, duration: 0.06, frequency: 2800, volume: 0.2 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.03, duration: 0.1, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.08, frequency: 988, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.16, duration: 0.12, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t],\n\t},\n\tamused: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.04, frequency: 2500, volume: 0.2 },\n\t\t\t{ startTime: 0.06, duration: 0.04, frequency: 2800, volume: 0.22 },\n\t\t\t{ startTime: 0.11, duration: 0.05, frequency: 2600, volume: 0.18 },\n\t\t],\n\t\ttones: [{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' }],\n\t},\n\tcurious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 2000, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 880 }],\n\t},\n\tinspired: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 2500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 523, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.07, duration: 0.28, frequency: 784.5, volume: 0.16, type: 'sine' },\n\t\t\t{ startTime: 0.09, duration: 0.26, frequency: 1046, volume: 0.12, type: 'sine' },\n\t\t],\n\t},\n\tconfident: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 523, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.06, duration: 0.22, frequency: 659, volume: 0.2, type: 'sine' },\n\t\t],\n\t},\n\tloved: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1000, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.4, frequency: 392, volume: 0.18, type: 'sine', filterFrequency: 600 },\n\t\t\t{ startTime: 0.2, duration: 0.45, frequency: 494, volume: 0.15, type: 'sine', filterFrequency: 600 },\n\t\t],\n\t},\n\tcomforted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 523, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tenergized: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 3000, volume: 0.25 },\n\t\t\t{ startTime: 0.04, duration: 0.05, frequency: 3500, volume: 0.28 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.1, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.12, frequency: 988, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.15, frequency: 1175, volume: 0.22, type: 'sine' },\n\t\t],\n\t},\n\tcelebrated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.08, frequency: 2500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.18, frequency: 523, volume: 0.22, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.18, frequency: 659, volume: 0.24, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.2, frequency: 784, volume: 0.26, type: 'sine' },\n\t\t\t{ startTime: 0.22, duration: 0.3, frequency: 1047, volume: 0.22, type: 'sine' },\n\t\t],\n\t},\n\n\t// ========== SAD / LOW ==========\n\tsad: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tlonely: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tdisappointed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\theartbroken: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tgrieving: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\thopeless: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tempty: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tdiscouraged: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tmelancholic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.45, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\thomesick: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\thurt: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tmiserable: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tregretful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.45, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\tashamed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tinferior: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\n\t// ========== ANXIOUS / FEARFUL ==========\n\tanxious: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t\tdescription: 'Tight, quick puffs with uncertain wobble',\n\t},\n\tworried: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tafraid: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tterrified: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tpanicked: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tnervous: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\tuneasy: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tinsecure: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\toverwhelmed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tstressed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\ttense: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tapprehensive: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tstartled: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tsuspicious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tvulnerable: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\n\t// ========== ANGRY / FRUSTRATED ==========\n\tannoyed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tirritated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tfrustrated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tangry: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tenraged: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tbitter: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tresentful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tjealous: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tenvious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tindignant: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\timpatient: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.04, frequency: 1500, volume: 0.2 },\n\t\t\t{ startTime: 0.08, duration: 0.04, frequency: 1500, volume: 0.2 },\n\t\t\t{ startTime: 0.16, duration: 0.04, frequency: 1500, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.06, duration: 0.1, frequency: 523, volume: 0.15, type: 'sine' }],\n\t},\n\thostile: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tcontemptuous: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\n\t// ========== TIRED / DRAINED ==========\n\ttired: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 350 }],\n\t},\n\texhausted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tdrained: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tburnedOut: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tnumb: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tbored: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\tunmotivated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\tapathetic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\trestless: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 350 }],\n\t},\n\n\t// ========== CALM / GROUNDED ==========\n\tcalm: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\trelaxed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.15, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.35, duration: 0.5, frequency: 392, volume: 0.08, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tatEase: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.15, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.35, duration: 0.5, frequency: 392, volume: 0.08, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tbalanced: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\tstable: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\tsecure: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tsafe: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tcentered: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\tgrounded: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\taccepting: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\n\t// ========== CONNECTED / SOCIAL ==========\n\tconnected: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\taccepted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tincluded: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tbelonging: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tappreciated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tvalued: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\trespected: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tsupported: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.4, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tprotective: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.4, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tcompassionate: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tempathetic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\n\t// ========== MIXED / COMPLICATED ==========\n\tconflicted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tconfused: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tambivalent: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tnostalgic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\tguilty: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tembarrassed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\tsurprised: {\n\t\tpuffs: [{ startTime: 0, duration: 0.06, frequency: 2800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.02, duration: 0.15, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 988 }],\n\t},\n\tshocked: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tawestruck: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.4, frequency: 440, volume: 0.15, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.38, frequency: 660, volume: 0.12, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.36, frequency: 880, volume: 0.09, type: 'sine' },\n\t\t],\n\t},\n\tskeptical: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n}\n\n// ============================================================================\n// SOUND SERVICE\n// ============================================================================\n\n/**\n * Sound Service - Provides centralized sound management for Schmancy components\n *\n * Following the theme service pattern:\n * - Has default sounds as fallback\n * - Can receive custom sound theme from AI\n * - Reactive observables for state changes\n * - Persists settings to session storage\n */\nclass SoundService {\n\tprivate static instance: SoundService\n\n\t/** Audio context for Web Audio API */\n\tprivate audioContext: AudioContext | null = null\n\n\t// Public observables derived from context\n\t// Don't use distinctUntilChanged for theme - we need all emissions including storage loads\n\tpublic readonly theme$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.theme),\n\t\tshareReplay(1)\n\t)\n\n\tpublic readonly volume$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.volume),\n\t\tdistinctUntilChanged(),\n\t\tshareReplay(1)\n\t)\n\n\tpublic readonly muted$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.muted),\n\t\tdistinctUntilChanged(),\n\t\tshareReplay(1)\n\t)\n\n\t/** BehaviorSubject for current theme name (for debugging/display) */\n\tprivate readonly _themeName$ = new BehaviorSubject<string>('default')\n\tpublic readonly themeName$ = this._themeName$.asObservable()\n\n\t// Getters for synchronous access\n\tget theme(): SoundTheme | null {\n\t\treturn SoundContext.value.theme\n\t}\n\n\tget volume(): number {\n\t\treturn SoundContext.value.volume\n\t}\n\n\tget muted(): boolean {\n\t\treturn SoundContext.value.muted\n\t}\n\n\tget themeName(): string {\n\t\treturn this.theme?.name ?? 'default'\n\t}\n\n\tprivate constructor() {\n\t\t// Subscribe to theme changes to update theme name\n\t\tthis.theme$.subscribe(theme => {\n\t\t\tthis._themeName$.next(theme?.name ?? 'default')\n\t\t})\n\t}\n\n\t// ==========================================================================\n\t// AUDIO CONTEXT MANAGEMENT\n\t// ==========================================================================\n\n\tprivate getContext(): AudioContext {\n\t\tif (!this.audioContext) {\n\t\t\tconst AudioContextClass =\n\t\t\t\twindow.AudioContext || (window as unknown as { webkitAudioContext: typeof AudioContext }).webkitAudioContext\n\t\t\tthis.audioContext = new AudioContextClass()\n\t\t}\n\t\tif (this.audioContext.state === 'suspended') {\n\t\t\tthis.audioContext.resume()\n\t\t}\n\t\treturn this.audioContext\n\t}\n\n\t// ==========================================================================\n\t// SOUND PRIMITIVES\n\t// ==========================================================================\n\n\t/** Play a puff (breath/air) sound */\n\tprivate playPuff(startTime: number, params: PuffParams, masterVolume: number): void {\n\t\tconst ctx = this.getContext()\n\t\tconst bufferSize = Math.floor(ctx.sampleRate * params.duration)\n\t\tconst buffer = ctx.createBuffer(1, bufferSize, ctx.sampleRate)\n\t\tconst data = buffer.getChannelData(0)\n\n\t\tfor (let i = 0; i < bufferSize; i++) {\n\t\t\tdata[i] = Math.random() * 2 - 1\n\t\t}\n\n\t\tconst noise = ctx.createBufferSource()\n\t\tnoise.buffer = buffer\n\n\t\tconst filter = ctx.createBiquadFilter()\n\t\tfilter.type = 'bandpass'\n\t\tfilter.frequency.value = params.frequency\n\t\tfilter.Q.value = 0.7\n\n\t\tconst gain = ctx.createGain()\n\t\tgain.gain.setValueAtTime(0, startTime)\n\t\tgain.gain.linearRampToValueAtTime(params.volume * masterVolume, startTime + 0.015)\n\t\tgain.gain.exponentialRampToValueAtTime(0.001, startTime + params.duration)\n\n\t\tnoise.connect(filter).connect(gain).connect(ctx.destination)\n\t\tnoise.start(startTime)\n\t\tnoise.stop(startTime + params.duration)\n\t}\n\n\t/** Play a tone (musical) sound */\n\tprivate playTone(startTime: number, params: ToneParams, masterVolume: number): void {\n\t\tconst ctx = this.getContext()\n\t\tconst osc = ctx.createOscillator()\n\t\tconst gain = ctx.createGain()\n\n\t\tosc.type = params.type\n\t\tosc.frequency.setValueAtTime(params.frequency, startTime)\n\n\t\tif (params.frequencyEnd) {\n\t\t\tosc.frequency.exponentialRampToValueAtTime(params.frequencyEnd, startTime + params.duration * 0.8)\n\t\t}\n\n\t\t// Apply filter if specified\n\t\tlet lastNode: AudioNode = osc\n\t\tif (params.filterFrequency) {\n\t\t\tconst filter = ctx.createBiquadFilter()\n\t\t\tfilter.type = 'lowpass'\n\t\t\tfilter.frequency.value = params.filterFrequency\n\t\t\tosc.connect(filter)\n\t\t\tlastNode = filter\n\t\t}\n\n\t\tgain.gain.setValueAtTime(0, startTime)\n\t\tgain.gain.linearRampToValueAtTime(params.volume * masterVolume, startTime + 0.02)\n\t\tgain.gain.exponentialRampToValueAtTime(0.001, startTime + params.duration)\n\n\t\tlastNode.connect(gain).connect(ctx.destination)\n\t\tosc.start(startTime)\n\t\tosc.stop(startTime + params.duration)\n\t}\n\n\t// ==========================================================================\n\t// PUBLIC API - THEME MANAGEMENT\n\t// ==========================================================================\n\n\t/**\n\t * Set a custom sound theme (e.g., from AI generation)\n\t * @param theme The sound theme to apply\n\t */\n\tpublic setTheme(theme: SoundTheme): void {\n\t\tSoundContext.set({ theme })\n\t}\n\n\t/**\n\t * Reset to default sounds (removes custom theme)\n\t */\n\tpublic resetTheme(): void {\n\t\tSoundContext.set({ theme: null })\n\t}\n\n\t/**\n\t * Set volume level (0.0 - 1.0)\n\t * @param volume Volume level\n\t */\n\tpublic setVolume(volume: number): void {\n\t\tSoundContext.set({ volume: Math.max(0, Math.min(1, volume)) })\n\t}\n\n\t/**\n\t * Mute all sounds\n\t */\n\tpublic mute(): void {\n\t\tSoundContext.set({ muted: true })\n\t}\n\n\t/**\n\t * Unmute sounds\n\t */\n\tpublic unmute(): void {\n\t\tSoundContext.set({ muted: false })\n\t}\n\n\t/**\n\t * Toggle mute state\n\t */\n\tpublic toggleMute(): void {\n\t\tSoundContext.set({ muted: !this.muted })\n\t}\n\n\t// ==========================================================================\n\t// PUBLIC API - SOUND PLAYBACK\n\t// ==========================================================================\n\n\t/**\n\t * Get the sound definition for a feeling\n\t * Uses custom theme if available, falls back to defaults\n\t */\n\tpublic getSoundForFeeling(feeling: Feeling): FeelingSound {\n\t\tconst customTheme = this.theme\n\n\t\t// Try custom theme first\n\t\tif (customTheme?.feelings?.[feeling]) {\n\t\t\treturn customTheme.feelings[feeling]!\n\t\t}\n\n\t\t// Try category default from custom theme\n\t\tif (customTheme?.categoryDefaults) {\n\t\t\tconst category = this.getCategoryForFeeling(feeling)\n\t\t\tif (customTheme.categoryDefaults[category]) {\n\t\t\t\treturn customTheme.categoryDefaults[category]!\n\t\t\t}\n\t\t}\n\n\t\t// Fall back to defaults\n\t\treturn DEFAULT_SOUNDS[feeling]\n\t}\n\n\t/**\n\t * Get the category for a feeling\n\t */\n\tprivate getCategoryForFeeling(feeling: Feeling): FeelingCategory {\n\t\tconst happyFeelings: Feeling[] = [\n\t\t\t'joyful',\n\t\t\t'content',\n\t\t\t'excited',\n\t\t\t'proud',\n\t\t\t'hopeful',\n\t\t\t'relieved',\n\t\t\t'grateful',\n\t\t\t'peaceful',\n\t\t\t'playful',\n\t\t\t'amused',\n\t\t\t'curious',\n\t\t\t'inspired',\n\t\t\t'confident',\n\t\t\t'loved',\n\t\t\t'comforted',\n\t\t\t'energized',\n\t\t\t'celebrated',\n\t\t]\n\t\tconst sadFeelings: Feeling[] = [\n\t\t\t'sad',\n\t\t\t'lonely',\n\t\t\t'disappointed',\n\t\t\t'heartbroken',\n\t\t\t'grieving',\n\t\t\t'hopeless',\n\t\t\t'empty',\n\t\t\t'discouraged',\n\t\t\t'melancholic',\n\t\t\t'homesick',\n\t\t\t'hurt',\n\t\t\t'miserable',\n\t\t\t'regretful',\n\t\t\t'ashamed',\n\t\t\t'inferior',\n\t\t]\n\t\tconst anxiousFeelings: Feeling[] = [\n\t\t\t'anxious',\n\t\t\t'worried',\n\t\t\t'afraid',\n\t\t\t'terrified',\n\t\t\t'panicked',\n\t\t\t'nervous',\n\t\t\t'uneasy',\n\t\t\t'insecure',\n\t\t\t'overwhelmed',\n\t\t\t'stressed',\n\t\t\t'tense',\n\t\t\t'apprehensive',\n\t\t\t'startled',\n\t\t\t'suspicious',\n\t\t\t'vulnerable',\n\t\t]\n\t\tconst angryFeelings: Feeling[] = [\n\t\t\t'annoyed',\n\t\t\t'irritated',\n\t\t\t'frustrated',\n\t\t\t'angry',\n\t\t\t'enraged',\n\t\t\t'bitter',\n\t\t\t'resentful',\n\t\t\t'jealous',\n\t\t\t'envious',\n\t\t\t'indignant',\n\t\t\t'impatient',\n\t\t\t'hostile',\n\t\t\t'contemptuous',\n\t\t]\n\t\tconst tiredFeelings: Feeling[] = ['tired', 'exhausted', 'drained', 'burnedOut', 'numb', 'bored', 'unmotivated', 'apathetic', 'restless']\n\t\tconst calmFeelings: Feeling[] = ['calm', 'relaxed', 'atEase', 'balanced', 'stable', 'secure', 'safe', 'centered', 'grounded', 'accepting']\n\t\tconst connectedFeelings: Feeling[] = [\n\t\t\t'connected',\n\t\t\t'accepted',\n\t\t\t'included',\n\t\t\t'belonging',\n\t\t\t'appreciated',\n\t\t\t'valued',\n\t\t\t'respected',\n\t\t\t'supported',\n\t\t\t'protective',\n\t\t\t'compassionate',\n\t\t\t'empathetic',\n\t\t]\n\n\t\tif (happyFeelings.includes(feeling)) return 'happy'\n\t\tif (sadFeelings.includes(feeling)) return 'sad'\n\t\tif (anxiousFeelings.includes(feeling)) return 'anxious'\n\t\tif (angryFeelings.includes(feeling)) return 'angry'\n\t\tif (tiredFeelings.includes(feeling)) return 'tired'\n\t\tif (calmFeelings.includes(feeling)) return 'calm'\n\t\tif (connectedFeelings.includes(feeling)) return 'connected'\n\t\treturn 'mixed'\n\t}\n\n\t/**\n\t * Play a feeling sound\n\t * @param feeling The feeling to play\n\t */\n\tpublic play(feeling: Feeling): void {\n\t\tif (this.muted) return\n\n\t\tconst sound = this.getSoundForFeeling(feeling)\n\t\tconst ctx = this.getContext()\n\t\tconst now = ctx.currentTime\n\n\t\t// Calculate master volume (theme + user setting)\n\t\tconst themeMasterVolume = this.theme?.masterVolume ?? 1\n\t\tconst masterVolume = this.volume * themeMasterVolume\n\n\t\t// Play puffs\n\t\tsound.puffs.forEach(puff => {\n\t\t\tthis.playPuff(now + puff.startTime, puff, masterVolume)\n\t\t})\n\n\t\t// Play tones\n\t\tsound.tones.forEach(tone => {\n\t\t\tthis.playTone(now + tone.startTime, tone, masterVolume)\n\t\t})\n\t}\n\n\t/**\n\t * Dispose audio context\n\t */\n\tpublic dispose(): void {\n\t\tif (this.audioContext) {\n\t\t\tthis.audioContext.close()\n\t\t\tthis.audioContext = null\n\t\t}\n\t}\n\n\t/**\n\t * Get singleton instance\n\t */\n\tstatic getInstance(): SoundService {\n\t\tif (!SoundService.instance) {\n\t\t\tSoundService.instance = new SoundService()\n\t\t}\n\t\treturn SoundService.instance\n\t}\n}\n\n// ============================================================================\n// EXPORTS\n// ============================================================================\n\n/** Global sound service singleton */\nexport const sound = SoundService.getInstance()\nexport const schmancySound = sound // Alias for consistency with theme\n"],"mappings":"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"}
@@ -1 +1 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./state-DcGj-pJJ.cjs`);let t=require(`rxjs`);var n=e.i(`schmancy/sound`).local({theme:null,volume:.15,muted:!1}),r={joyful:{puffs:[{startTime:0,duration:.08,frequency:3e3,volume:.3},{startTime:.06,duration:.1,frequency:3500,volume:.35}],tones:[{startTime:.02,duration:.15,frequency:784,volume:.25,type:`sine`},{startTime:.1,duration:.2,frequency:988,volume:.3,type:`sine`},{startTime:.18,duration:.25,frequency:1175,volume:.25,type:`sine`}]},content:{puffs:[{startTime:0,duration:.2,frequency:1500,volume:.25}],tones:[{startTime:.05,duration:.3,frequency:523,volume:.2,type:`sine`,filterFrequency:800},{startTime:.15,duration:.35,frequency:659,volume:.15,type:`sine`,filterFrequency:800}]},excited:{puffs:[{startTime:0,duration:.06,frequency:2500,volume:.25},{startTime:.05,duration:.06,frequency:3e3,volume:.3},{startTime:.1,duration:.08,frequency:3500,volume:.35}],tones:[{startTime:.02,duration:.12,frequency:880,volume:.2,type:`sine`},{startTime:.08,duration:.12,frequency:1047,volume:.25,type:`sine`},{startTime:.14,duration:.15,frequency:1319,volume:.3,type:`sine`}]},proud:{puffs:[{startTime:0,duration:.15,frequency:1800,volume:.3}],tones:[{startTime:.05,duration:.25,frequency:523,volume:.25,type:`sine`},{startTime:.08,duration:.25,frequency:659,volume:.2,type:`sine`},{startTime:.11,duration:.3,frequency:784,volume:.25,type:`sine`}]},hopeful:{puffs:[{startTime:0,duration:.12,frequency:2200,volume:.2}],tones:[{startTime:.03,duration:.3,frequency:659,volume:.2,type:`sine`,frequencyEnd:880}]},relieved:{puffs:[{startTime:0,duration:.25,frequency:1200,volume:.35}],tones:[{startTime:.1,duration:.35,frequency:659,volume:.2,type:`sine`,filterFrequency:800},{startTime:.25,duration:.4,frequency:523,volume:.15,type:`sine`,filterFrequency:800}]},grateful:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.25}],tones:[{startTime:.05,duration:.3,frequency:440,volume:.2,type:`sine`,filterFrequency:800},{startTime:.15,duration:.35,frequency:523,volume:.2,type:`sine`,filterFrequency:800},{startTime:.25,duration:.4,frequency:659,volume:.15,type:`sine`,filterFrequency:800}]},peaceful:{puffs:[{startTime:0,duration:.3,frequency:800,volume:.15}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.12,type:`sine`,filterFrequency:500}]},playful:{puffs:[{startTime:0,duration:.05,frequency:2800,volume:.2},{startTime:.08,duration:.05,frequency:3200,volume:.25},{startTime:.14,duration:.06,frequency:2800,volume:.2}],tones:[{startTime:.03,duration:.1,frequency:784,volume:.2,type:`sine`},{startTime:.1,duration:.08,frequency:988,volume:.25,type:`sine`},{startTime:.16,duration:.12,frequency:784,volume:.2,type:`sine`}]},amused:{puffs:[{startTime:0,duration:.04,frequency:2500,volume:.2},{startTime:.06,duration:.04,frequency:2800,volume:.22},{startTime:.11,duration:.05,frequency:2600,volume:.18}],tones:[{startTime:.05,duration:.15,frequency:880,volume:.15,type:`sine`}]},curious:{puffs:[{startTime:0,duration:.1,frequency:2e3,volume:.2}],tones:[{startTime:.03,duration:.2,frequency:659,volume:.2,type:`sine`,frequencyEnd:880}]},inspired:{puffs:[{startTime:0,duration:.1,frequency:2500,volume:.25}],tones:[{startTime:.05,duration:.3,frequency:523,volume:.2,type:`sine`},{startTime:.07,duration:.28,frequency:784.5,volume:.16,type:`sine`},{startTime:.09,duration:.26,frequency:1046,volume:.12,type:`sine`}]},confident:{puffs:[{startTime:0,duration:.12,frequency:1500,volume:.3}],tones:[{startTime:.04,duration:.2,frequency:523,volume:.25,type:`sine`},{startTime:.06,duration:.22,frequency:659,volume:.2,type:`sine`}]},loved:{puffs:[{startTime:0,duration:.2,frequency:1e3,volume:.2}],tones:[{startTime:.08,duration:.4,frequency:392,volume:.18,type:`sine`,filterFrequency:600},{startTime:.2,duration:.45,frequency:494,volume:.15,type:`sine`,filterFrequency:600}]},comforted:{puffs:[{startTime:0,duration:.25,frequency:900,volume:.18}],tones:[{startTime:.1,duration:.35,frequency:523,volume:.15,type:`sine`,filterFrequency:800},{startTime:.25,duration:.4,frequency:440,volume:.12,type:`sine`,filterFrequency:800}]},energized:{puffs:[{startTime:0,duration:.05,frequency:3e3,volume:.25},{startTime:.04,duration:.05,frequency:3500,volume:.28}],tones:[{startTime:.02,duration:.1,frequency:784,volume:.2,type:`sine`},{startTime:.08,duration:.12,frequency:988,volume:.25,type:`sine`},{startTime:.14,duration:.15,frequency:1175,volume:.22,type:`sine`}]},celebrated:{puffs:[{startTime:0,duration:.08,frequency:2500,volume:.2}],tones:[{startTime:.02,duration:.18,frequency:523,volume:.22,type:`sine`},{startTime:.08,duration:.18,frequency:659,volume:.24,type:`sine`},{startTime:.14,duration:.2,frequency:784,volume:.26,type:`sine`},{startTime:.22,duration:.3,frequency:1047,volume:.22,type:`sine`}]},sad:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:`sine`,filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:`sine`,filterFrequency:350}]},lonely:{puffs:[{startTime:0,duration:.2,frequency:700,volume:.2}],tones:[{startTime:.15,duration:.5,frequency:330,volume:.12,type:`sine`,filterFrequency:450}]},disappointed:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:`sine`,frequencyEnd:349}]},heartbroken:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:`sine`,filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:`sine`,filterFrequency:350}]},grieving:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:`sine`,filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:`sine`,filterFrequency:350}]},hopeless:{puffs:[{startTime:0,duration:.2,frequency:700,volume:.2}],tones:[{startTime:.15,duration:.5,frequency:330,volume:.12,type:`sine`,filterFrequency:450}]},empty:{puffs:[{startTime:0,duration:.2,frequency:700,volume:.2}],tones:[{startTime:.15,duration:.5,frequency:330,volume:.12,type:`sine`,filterFrequency:450}]},discouraged:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:`sine`,frequencyEnd:349}]},melancholic:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.18}],tones:[{startTime:.1,duration:.45,frequency:440,volume:.15,type:`sine`,filterFrequency:500},{startTime:.3,duration:.5,frequency:392,volume:.12,type:`sine`,filterFrequency:450}]},homesick:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:440,volume:.12,type:`sine`,filterFrequency:500},{startTime:.3,duration:.45,frequency:392,volume:.1,type:`sine`,filterFrequency:450}]},hurt:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:`sine`,filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:`sine`,filterFrequency:350}]},miserable:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:`sine`,filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:`sine`,filterFrequency:350}]},regretful:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.18}],tones:[{startTime:.1,duration:.45,frequency:440,volume:.15,type:`sine`,filterFrequency:500},{startTime:.3,duration:.5,frequency:392,volume:.12,type:`sine`,filterFrequency:450}]},ashamed:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:`sine`,frequencyEnd:349}]},inferior:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:`sine`,frequencyEnd:349}]},anxious:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:`sine`}],description:`Tight, quick puffs with uncertain wobble`},worried:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:`sine`,frequencyEnd:392}]},afraid:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:`sine`}]},terrified:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:`sine`},{startTime:.05,duration:.15,frequency:880,volume:.15,type:`sine`}]},panicked:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:`sine`},{startTime:.05,duration:.15,frequency:880,volume:.15,type:`sine`}]},nervous:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:`sine`}]},uneasy:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:`sine`,frequencyEnd:392}]},insecure:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:`sine`}]},overwhelmed:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:`sine`}]},stressed:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:`sine`}]},tense:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:`sine`}]},apprehensive:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:`sine`,frequencyEnd:392}]},startled:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:`sine`},{startTime:.05,duration:.15,frequency:880,volume:.15,type:`sine`}]},suspicious:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:`sine`,frequencyEnd:392}]},vulnerable:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:`sine`}]},annoyed:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},irritated:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},frustrated:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},angry:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},enraged:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},bitter:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},resentful:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},jealous:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},envious:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},indignant:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},impatient:{puffs:[{startTime:0,duration:.04,frequency:1500,volume:.2},{startTime:.08,duration:.04,frequency:1500,volume:.2},{startTime:.16,duration:.04,frequency:1500,volume:.22}],tones:[{startTime:.06,duration:.1,frequency:523,volume:.15,type:`sine`}]},hostile:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},contemptuous:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},tired:{puffs:[{startTime:0,duration:.35,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:330,volume:.12,type:`sine`,filterFrequency:350}]},exhausted:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:`sine`,filterFrequency:300}]},drained:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:`sine`,filterFrequency:300}]},burnedOut:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:`sine`,filterFrequency:300}]},numb:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:`sine`,filterFrequency:300}]},bored:{puffs:[{startTime:0,duration:.25,frequency:600,volume:.15}],tones:[{startTime:.1,duration:.3,frequency:349,volume:.1,type:`sine`,filterFrequency:400}]},unmotivated:{puffs:[{startTime:0,duration:.25,frequency:600,volume:.15}],tones:[{startTime:.1,duration:.3,frequency:349,volume:.1,type:`sine`,filterFrequency:400}]},apathetic:{puffs:[{startTime:0,duration:.25,frequency:600,volume:.15}],tones:[{startTime:.1,duration:.3,frequency:349,volume:.1,type:`sine`,filterFrequency:400}]},restless:{puffs:[{startTime:0,duration:.35,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:330,volume:.12,type:`sine`,filterFrequency:350}]},calm:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.12}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.1,type:`sine`,filterFrequency:500}]},relaxed:{puffs:[{startTime:0,duration:.35,frequency:700,volume:.15}],tones:[{startTime:.15,duration:.45,frequency:440,volume:.1,type:`sine`,filterFrequency:800},{startTime:.35,duration:.5,frequency:392,volume:.08,type:`sine`,filterFrequency:800}]},atEase:{puffs:[{startTime:0,duration:.35,frequency:700,volume:.15}],tones:[{startTime:.15,duration:.45,frequency:440,volume:.1,type:`sine`,filterFrequency:800},{startTime:.35,duration:.5,frequency:392,volume:.08,type:`sine`,filterFrequency:800}]},balanced:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.12}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.1,type:`sine`,filterFrequency:500}]},stable:{puffs:[{startTime:0,duration:.25,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:262,volume:.15,type:`sine`,filterFrequency:350}]},secure:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:349,volume:.12,type:`sine`,filterFrequency:800},{startTime:.25,duration:.45,frequency:440,volume:.1,type:`sine`,filterFrequency:800}]},safe:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:349,volume:.12,type:`sine`,filterFrequency:800},{startTime:.25,duration:.45,frequency:440,volume:.1,type:`sine`,filterFrequency:800}]},centered:{puffs:[{startTime:0,duration:.25,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:262,volume:.15,type:`sine`,filterFrequency:350}]},grounded:{puffs:[{startTime:0,duration:.25,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:262,volume:.15,type:`sine`,filterFrequency:350}]},accepting:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.12}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.1,type:`sine`,filterFrequency:500}]},connected:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:`sine`,filterFrequency:800}]},accepted:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:`sine`,filterFrequency:800}]},included:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:`sine`,filterFrequency:800}]},belonging:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:`sine`,filterFrequency:800}]},appreciated:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:`sine`,filterFrequency:800}]},valued:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:`sine`,filterFrequency:800}]},respected:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:`sine`,filterFrequency:800}]},supported:{puffs:[{startTime:0,duration:.25,frequency:900,volume:.18}],tones:[{startTime:.1,duration:.35,frequency:349,volume:.12,type:`sine`,filterFrequency:800},{startTime:.15,duration:.4,frequency:440,volume:.1,type:`sine`,filterFrequency:800}]},protective:{puffs:[{startTime:0,duration:.25,frequency:900,volume:.18}],tones:[{startTime:.1,duration:.35,frequency:349,volume:.12,type:`sine`,filterFrequency:800},{startTime:.15,duration:.4,frequency:440,volume:.1,type:`sine`,filterFrequency:800}]},compassionate:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:`sine`,filterFrequency:800}]},empathetic:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:`sine`,filterFrequency:800}]},conflicted:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:`sine`,frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:`sine`}]},confused:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:`sine`,frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:`sine`}]},ambivalent:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:`sine`,frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:`sine`}]},nostalgic:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:440,volume:.12,type:`sine`,filterFrequency:500},{startTime:.3,duration:.45,frequency:392,volume:.1,type:`sine`,filterFrequency:450}]},guilty:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:`sine`,frequencyEnd:349}]},embarrassed:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:`sine`}]},surprised:{puffs:[{startTime:0,duration:.06,frequency:2800,volume:.25}],tones:[{startTime:.02,duration:.15,frequency:659,volume:.2,type:`sine`,frequencyEnd:988}]},shocked:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:`sine`},{startTime:.05,duration:.15,frequency:880,volume:.15,type:`sine`}]},awestruck:{puffs:[{startTime:0,duration:.2,frequency:1500,volume:.2}],tones:[{startTime:.08,duration:.4,frequency:440,volume:.15,type:`sine`},{startTime:.1,duration:.38,frequency:660,volume:.12,type:`sine`},{startTime:.12,duration:.36,frequency:880,volume:.09,type:`sine`}]},skeptical:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:`sine`,frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:`sine`}]}},i=class e{get theme(){return n.value.theme}get volume(){return n.value.volume}get muted(){return n.value.muted}get themeName(){return this.theme?.name??`default`}constructor(){this.audioContext=null,this.theme$=n.$.pipe((0,t.map)(e=>e.theme),(0,t.shareReplay)(1)),this.volume$=n.$.pipe((0,t.map)(e=>e.volume),(0,t.distinctUntilChanged)(),(0,t.shareReplay)(1)),this.muted$=n.$.pipe((0,t.map)(e=>e.muted),(0,t.distinctUntilChanged)(),(0,t.shareReplay)(1)),this._themeName$=new t.BehaviorSubject(`default`),this.themeName$=this._themeName$.asObservable(),this.theme$.subscribe(e=>{this._themeName$.next(e?.name??`default`)})}getContext(){if(!this.audioContext){let e=window.AudioContext||window.webkitAudioContext;this.audioContext=new e}return this.audioContext.state===`suspended`&&this.audioContext.resume(),this.audioContext}playPuff(e,t,n){let r=this.getContext(),i=Math.floor(r.sampleRate*t.duration),a=r.createBuffer(1,i,r.sampleRate),o=a.getChannelData(0);for(let e=0;e<i;e++)o[e]=2*Math.random()-1;let s=r.createBufferSource();s.buffer=a;let c=r.createBiquadFilter();c.type=`bandpass`,c.frequency.value=t.frequency,c.Q.value=.7;let l=r.createGain();l.gain.setValueAtTime(0,e),l.gain.linearRampToValueAtTime(t.volume*n,e+.015),l.gain.exponentialRampToValueAtTime(.001,e+t.duration),s.connect(c).connect(l).connect(r.destination),s.start(e),s.stop(e+t.duration)}playTone(e,t,n){let r=this.getContext(),i=r.createOscillator(),a=r.createGain();i.type=t.type,i.frequency.setValueAtTime(t.frequency,e),t.frequencyEnd&&i.frequency.exponentialRampToValueAtTime(t.frequencyEnd,e+.8*t.duration);let o=i;if(t.filterFrequency){let e=r.createBiquadFilter();e.type=`lowpass`,e.frequency.value=t.filterFrequency,i.connect(e),o=e}a.gain.setValueAtTime(0,e),a.gain.linearRampToValueAtTime(t.volume*n,e+.02),a.gain.exponentialRampToValueAtTime(.001,e+t.duration),o.connect(a).connect(r.destination),i.start(e),i.stop(e+t.duration)}setTheme(e){n.set({theme:e})}resetTheme(){n.set({theme:null})}setVolume(e){n.set({volume:Math.max(0,Math.min(1,e))})}mute(){n.set({muted:!0})}unmute(){n.set({muted:!1})}toggleMute(){n.set({muted:!this.muted})}getSoundForFeeling(e){let t=this.theme;if(t?.feelings?.[e])return t.feelings[e];if(t?.categoryDefaults){let n=this.getCategoryForFeeling(e);if(t.categoryDefaults[n])return t.categoryDefaults[n]}return r[e]}getCategoryForFeeling(e){return[`joyful`,`content`,`excited`,`proud`,`hopeful`,`relieved`,`grateful`,`peaceful`,`playful`,`amused`,`curious`,`inspired`,`confident`,`loved`,`comforted`,`energized`,`celebrated`].includes(e)?`happy`:[`sad`,`lonely`,`disappointed`,`heartbroken`,`grieving`,`hopeless`,`empty`,`discouraged`,`melancholic`,`homesick`,`hurt`,`miserable`,`regretful`,`ashamed`,`inferior`].includes(e)?`sad`:[`anxious`,`worried`,`afraid`,`terrified`,`panicked`,`nervous`,`uneasy`,`insecure`,`overwhelmed`,`stressed`,`tense`,`apprehensive`,`startled`,`suspicious`,`vulnerable`].includes(e)?`anxious`:[`annoyed`,`irritated`,`frustrated`,`angry`,`enraged`,`bitter`,`resentful`,`jealous`,`envious`,`indignant`,`impatient`,`hostile`,`contemptuous`].includes(e)?`angry`:[`tired`,`exhausted`,`drained`,`burnedOut`,`numb`,`bored`,`unmotivated`,`apathetic`,`restless`].includes(e)?`tired`:[`calm`,`relaxed`,`atEase`,`balanced`,`stable`,`secure`,`safe`,`centered`,`grounded`,`accepting`].includes(e)?`calm`:[`connected`,`accepted`,`included`,`belonging`,`appreciated`,`valued`,`respected`,`supported`,`protective`,`compassionate`,`empathetic`].includes(e)?`connected`:`mixed`}play(e){if(this.muted)return;let t=this.getSoundForFeeling(e),n=this.getContext().currentTime,r=this.theme?.masterVolume??1,i=this.volume*r;t.puffs.forEach(e=>{this.playPuff(n+e.startTime,e,i)}),t.tones.forEach(e=>{this.playTone(n+e.startTime,e,i)})}dispose(){this.audioContext&&=(this.audioContext.close(),null)}static getInstance(){return e.instance||=new e,e.instance}}.getInstance(),a=i;Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./state-BthYuA3T.cjs`);let t=require(`rxjs`);var n=e.a(`schmancy/sound`).local({theme:null,volume:.15,muted:!1}),r={joyful:{puffs:[{startTime:0,duration:.08,frequency:3e3,volume:.3},{startTime:.06,duration:.1,frequency:3500,volume:.35}],tones:[{startTime:.02,duration:.15,frequency:784,volume:.25,type:`sine`},{startTime:.1,duration:.2,frequency:988,volume:.3,type:`sine`},{startTime:.18,duration:.25,frequency:1175,volume:.25,type:`sine`}]},content:{puffs:[{startTime:0,duration:.2,frequency:1500,volume:.25}],tones:[{startTime:.05,duration:.3,frequency:523,volume:.2,type:`sine`,filterFrequency:800},{startTime:.15,duration:.35,frequency:659,volume:.15,type:`sine`,filterFrequency:800}]},excited:{puffs:[{startTime:0,duration:.06,frequency:2500,volume:.25},{startTime:.05,duration:.06,frequency:3e3,volume:.3},{startTime:.1,duration:.08,frequency:3500,volume:.35}],tones:[{startTime:.02,duration:.12,frequency:880,volume:.2,type:`sine`},{startTime:.08,duration:.12,frequency:1047,volume:.25,type:`sine`},{startTime:.14,duration:.15,frequency:1319,volume:.3,type:`sine`}]},proud:{puffs:[{startTime:0,duration:.15,frequency:1800,volume:.3}],tones:[{startTime:.05,duration:.25,frequency:523,volume:.25,type:`sine`},{startTime:.08,duration:.25,frequency:659,volume:.2,type:`sine`},{startTime:.11,duration:.3,frequency:784,volume:.25,type:`sine`}]},hopeful:{puffs:[{startTime:0,duration:.12,frequency:2200,volume:.2}],tones:[{startTime:.03,duration:.3,frequency:659,volume:.2,type:`sine`,frequencyEnd:880}]},relieved:{puffs:[{startTime:0,duration:.25,frequency:1200,volume:.35}],tones:[{startTime:.1,duration:.35,frequency:659,volume:.2,type:`sine`,filterFrequency:800},{startTime:.25,duration:.4,frequency:523,volume:.15,type:`sine`,filterFrequency:800}]},grateful:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.25}],tones:[{startTime:.05,duration:.3,frequency:440,volume:.2,type:`sine`,filterFrequency:800},{startTime:.15,duration:.35,frequency:523,volume:.2,type:`sine`,filterFrequency:800},{startTime:.25,duration:.4,frequency:659,volume:.15,type:`sine`,filterFrequency:800}]},peaceful:{puffs:[{startTime:0,duration:.3,frequency:800,volume:.15}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.12,type:`sine`,filterFrequency:500}]},playful:{puffs:[{startTime:0,duration:.05,frequency:2800,volume:.2},{startTime:.08,duration:.05,frequency:3200,volume:.25},{startTime:.14,duration:.06,frequency:2800,volume:.2}],tones:[{startTime:.03,duration:.1,frequency:784,volume:.2,type:`sine`},{startTime:.1,duration:.08,frequency:988,volume:.25,type:`sine`},{startTime:.16,duration:.12,frequency:784,volume:.2,type:`sine`}]},amused:{puffs:[{startTime:0,duration:.04,frequency:2500,volume:.2},{startTime:.06,duration:.04,frequency:2800,volume:.22},{startTime:.11,duration:.05,frequency:2600,volume:.18}],tones:[{startTime:.05,duration:.15,frequency:880,volume:.15,type:`sine`}]},curious:{puffs:[{startTime:0,duration:.1,frequency:2e3,volume:.2}],tones:[{startTime:.03,duration:.2,frequency:659,volume:.2,type:`sine`,frequencyEnd:880}]},inspired:{puffs:[{startTime:0,duration:.1,frequency:2500,volume:.25}],tones:[{startTime:.05,duration:.3,frequency:523,volume:.2,type:`sine`},{startTime:.07,duration:.28,frequency:784.5,volume:.16,type:`sine`},{startTime:.09,duration:.26,frequency:1046,volume:.12,type:`sine`}]},confident:{puffs:[{startTime:0,duration:.12,frequency:1500,volume:.3}],tones:[{startTime:.04,duration:.2,frequency:523,volume:.25,type:`sine`},{startTime:.06,duration:.22,frequency:659,volume:.2,type:`sine`}]},loved:{puffs:[{startTime:0,duration:.2,frequency:1e3,volume:.2}],tones:[{startTime:.08,duration:.4,frequency:392,volume:.18,type:`sine`,filterFrequency:600},{startTime:.2,duration:.45,frequency:494,volume:.15,type:`sine`,filterFrequency:600}]},comforted:{puffs:[{startTime:0,duration:.25,frequency:900,volume:.18}],tones:[{startTime:.1,duration:.35,frequency:523,volume:.15,type:`sine`,filterFrequency:800},{startTime:.25,duration:.4,frequency:440,volume:.12,type:`sine`,filterFrequency:800}]},energized:{puffs:[{startTime:0,duration:.05,frequency:3e3,volume:.25},{startTime:.04,duration:.05,frequency:3500,volume:.28}],tones:[{startTime:.02,duration:.1,frequency:784,volume:.2,type:`sine`},{startTime:.08,duration:.12,frequency:988,volume:.25,type:`sine`},{startTime:.14,duration:.15,frequency:1175,volume:.22,type:`sine`}]},celebrated:{puffs:[{startTime:0,duration:.08,frequency:2500,volume:.2}],tones:[{startTime:.02,duration:.18,frequency:523,volume:.22,type:`sine`},{startTime:.08,duration:.18,frequency:659,volume:.24,type:`sine`},{startTime:.14,duration:.2,frequency:784,volume:.26,type:`sine`},{startTime:.22,duration:.3,frequency:1047,volume:.22,type:`sine`}]},sad:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:`sine`,filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:`sine`,filterFrequency:350}]},lonely:{puffs:[{startTime:0,duration:.2,frequency:700,volume:.2}],tones:[{startTime:.15,duration:.5,frequency:330,volume:.12,type:`sine`,filterFrequency:450}]},disappointed:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:`sine`,frequencyEnd:349}]},heartbroken:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:`sine`,filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:`sine`,filterFrequency:350}]},grieving:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:`sine`,filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:`sine`,filterFrequency:350}]},hopeless:{puffs:[{startTime:0,duration:.2,frequency:700,volume:.2}],tones:[{startTime:.15,duration:.5,frequency:330,volume:.12,type:`sine`,filterFrequency:450}]},empty:{puffs:[{startTime:0,duration:.2,frequency:700,volume:.2}],tones:[{startTime:.15,duration:.5,frequency:330,volume:.12,type:`sine`,filterFrequency:450}]},discouraged:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:`sine`,frequencyEnd:349}]},melancholic:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.18}],tones:[{startTime:.1,duration:.45,frequency:440,volume:.15,type:`sine`,filterFrequency:500},{startTime:.3,duration:.5,frequency:392,volume:.12,type:`sine`,filterFrequency:450}]},homesick:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:440,volume:.12,type:`sine`,filterFrequency:500},{startTime:.3,duration:.45,frequency:392,volume:.1,type:`sine`,filterFrequency:450}]},hurt:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:`sine`,filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:`sine`,filterFrequency:350}]},miserable:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:`sine`,filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:`sine`,filterFrequency:350}]},regretful:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.18}],tones:[{startTime:.1,duration:.45,frequency:440,volume:.15,type:`sine`,filterFrequency:500},{startTime:.3,duration:.5,frequency:392,volume:.12,type:`sine`,filterFrequency:450}]},ashamed:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:`sine`,frequencyEnd:349}]},inferior:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:`sine`,frequencyEnd:349}]},anxious:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:`sine`}],description:`Tight, quick puffs with uncertain wobble`},worried:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:`sine`,frequencyEnd:392}]},afraid:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:`sine`}]},terrified:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:`sine`},{startTime:.05,duration:.15,frequency:880,volume:.15,type:`sine`}]},panicked:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:`sine`},{startTime:.05,duration:.15,frequency:880,volume:.15,type:`sine`}]},nervous:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:`sine`}]},uneasy:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:`sine`,frequencyEnd:392}]},insecure:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:`sine`}]},overwhelmed:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:`sine`}]},stressed:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:`sine`}]},tense:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:`sine`}]},apprehensive:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:`sine`,frequencyEnd:392}]},startled:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:`sine`},{startTime:.05,duration:.15,frequency:880,volume:.15,type:`sine`}]},suspicious:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:`sine`,frequencyEnd:392}]},vulnerable:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:`sine`}]},annoyed:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},irritated:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},frustrated:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},angry:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},enraged:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},bitter:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},resentful:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},jealous:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},envious:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},indignant:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},impatient:{puffs:[{startTime:0,duration:.04,frequency:1500,volume:.2},{startTime:.08,duration:.04,frequency:1500,volume:.2},{startTime:.16,duration:.04,frequency:1500,volume:.22}],tones:[{startTime:.06,duration:.1,frequency:523,volume:.15,type:`sine`}]},hostile:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:`sine`},{startTime:.12,duration:.12,frequency:330,volume:.18,type:`sine`}]},contemptuous:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:`sine`,filterFrequency:400}]},tired:{puffs:[{startTime:0,duration:.35,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:330,volume:.12,type:`sine`,filterFrequency:350}]},exhausted:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:`sine`,filterFrequency:300}]},drained:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:`sine`,filterFrequency:300}]},burnedOut:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:`sine`,filterFrequency:300}]},numb:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:`sine`,filterFrequency:300}]},bored:{puffs:[{startTime:0,duration:.25,frequency:600,volume:.15}],tones:[{startTime:.1,duration:.3,frequency:349,volume:.1,type:`sine`,filterFrequency:400}]},unmotivated:{puffs:[{startTime:0,duration:.25,frequency:600,volume:.15}],tones:[{startTime:.1,duration:.3,frequency:349,volume:.1,type:`sine`,filterFrequency:400}]},apathetic:{puffs:[{startTime:0,duration:.25,frequency:600,volume:.15}],tones:[{startTime:.1,duration:.3,frequency:349,volume:.1,type:`sine`,filterFrequency:400}]},restless:{puffs:[{startTime:0,duration:.35,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:330,volume:.12,type:`sine`,filterFrequency:350}]},calm:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.12}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.1,type:`sine`,filterFrequency:500}]},relaxed:{puffs:[{startTime:0,duration:.35,frequency:700,volume:.15}],tones:[{startTime:.15,duration:.45,frequency:440,volume:.1,type:`sine`,filterFrequency:800},{startTime:.35,duration:.5,frequency:392,volume:.08,type:`sine`,filterFrequency:800}]},atEase:{puffs:[{startTime:0,duration:.35,frequency:700,volume:.15}],tones:[{startTime:.15,duration:.45,frequency:440,volume:.1,type:`sine`,filterFrequency:800},{startTime:.35,duration:.5,frequency:392,volume:.08,type:`sine`,filterFrequency:800}]},balanced:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.12}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.1,type:`sine`,filterFrequency:500}]},stable:{puffs:[{startTime:0,duration:.25,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:262,volume:.15,type:`sine`,filterFrequency:350}]},secure:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:349,volume:.12,type:`sine`,filterFrequency:800},{startTime:.25,duration:.45,frequency:440,volume:.1,type:`sine`,filterFrequency:800}]},safe:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:349,volume:.12,type:`sine`,filterFrequency:800},{startTime:.25,duration:.45,frequency:440,volume:.1,type:`sine`,filterFrequency:800}]},centered:{puffs:[{startTime:0,duration:.25,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:262,volume:.15,type:`sine`,filterFrequency:350}]},grounded:{puffs:[{startTime:0,duration:.25,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:262,volume:.15,type:`sine`,filterFrequency:350}]},accepting:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.12}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.1,type:`sine`,filterFrequency:500}]},connected:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:`sine`,filterFrequency:800}]},accepted:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:`sine`,filterFrequency:800}]},included:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:`sine`,filterFrequency:800}]},belonging:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:`sine`,filterFrequency:800}]},appreciated:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:`sine`,filterFrequency:800}]},valued:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:`sine`,filterFrequency:800}]},respected:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:`sine`,filterFrequency:800}]},supported:{puffs:[{startTime:0,duration:.25,frequency:900,volume:.18}],tones:[{startTime:.1,duration:.35,frequency:349,volume:.12,type:`sine`,filterFrequency:800},{startTime:.15,duration:.4,frequency:440,volume:.1,type:`sine`,filterFrequency:800}]},protective:{puffs:[{startTime:0,duration:.25,frequency:900,volume:.18}],tones:[{startTime:.1,duration:.35,frequency:349,volume:.12,type:`sine`,filterFrequency:800},{startTime:.15,duration:.4,frequency:440,volume:.1,type:`sine`,filterFrequency:800}]},compassionate:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:`sine`,filterFrequency:800}]},empathetic:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:`sine`,filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:`sine`,filterFrequency:800}]},conflicted:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:`sine`,frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:`sine`}]},confused:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:`sine`,frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:`sine`}]},ambivalent:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:`sine`,frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:`sine`}]},nostalgic:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:440,volume:.12,type:`sine`,filterFrequency:500},{startTime:.3,duration:.45,frequency:392,volume:.1,type:`sine`,filterFrequency:450}]},guilty:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:`sine`,frequencyEnd:349}]},embarrassed:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:`sine`}]},surprised:{puffs:[{startTime:0,duration:.06,frequency:2800,volume:.25}],tones:[{startTime:.02,duration:.15,frequency:659,volume:.2,type:`sine`,frequencyEnd:988}]},shocked:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:`sine`},{startTime:.05,duration:.15,frequency:880,volume:.15,type:`sine`}]},awestruck:{puffs:[{startTime:0,duration:.2,frequency:1500,volume:.2}],tones:[{startTime:.08,duration:.4,frequency:440,volume:.15,type:`sine`},{startTime:.1,duration:.38,frequency:660,volume:.12,type:`sine`},{startTime:.12,duration:.36,frequency:880,volume:.09,type:`sine`}]},skeptical:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:`sine`,frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:`sine`}]}},i=class e{get theme(){return n.value.theme}get volume(){return n.value.volume}get muted(){return n.value.muted}get themeName(){return this.theme?.name??`default`}constructor(){this.audioContext=null,this.theme$=n.$.pipe((0,t.map)(e=>e.theme),(0,t.shareReplay)(1)),this.volume$=n.$.pipe((0,t.map)(e=>e.volume),(0,t.distinctUntilChanged)(),(0,t.shareReplay)(1)),this.muted$=n.$.pipe((0,t.map)(e=>e.muted),(0,t.distinctUntilChanged)(),(0,t.shareReplay)(1)),this._themeName$=new t.BehaviorSubject(`default`),this.themeName$=this._themeName$.asObservable(),this.theme$.subscribe(e=>{this._themeName$.next(e?.name??`default`)})}getContext(){if(!this.audioContext){let e=window.AudioContext||window.webkitAudioContext;this.audioContext=new e}return this.audioContext.state===`suspended`&&this.audioContext.resume(),this.audioContext}playPuff(e,t,n){let r=this.getContext(),i=Math.floor(r.sampleRate*t.duration),a=r.createBuffer(1,i,r.sampleRate),o=a.getChannelData(0);for(let e=0;e<i;e++)o[e]=2*Math.random()-1;let s=r.createBufferSource();s.buffer=a;let c=r.createBiquadFilter();c.type=`bandpass`,c.frequency.value=t.frequency,c.Q.value=.7;let l=r.createGain();l.gain.setValueAtTime(0,e),l.gain.linearRampToValueAtTime(t.volume*n,e+.015),l.gain.exponentialRampToValueAtTime(.001,e+t.duration),s.connect(c).connect(l).connect(r.destination),s.start(e),s.stop(e+t.duration)}playTone(e,t,n){let r=this.getContext(),i=r.createOscillator(),a=r.createGain();i.type=t.type,i.frequency.setValueAtTime(t.frequency,e),t.frequencyEnd&&i.frequency.exponentialRampToValueAtTime(t.frequencyEnd,e+.8*t.duration);let o=i;if(t.filterFrequency){let e=r.createBiquadFilter();e.type=`lowpass`,e.frequency.value=t.filterFrequency,i.connect(e),o=e}a.gain.setValueAtTime(0,e),a.gain.linearRampToValueAtTime(t.volume*n,e+.02),a.gain.exponentialRampToValueAtTime(.001,e+t.duration),o.connect(a).connect(r.destination),i.start(e),i.stop(e+t.duration)}setTheme(e){n.set({theme:e})}resetTheme(){n.set({theme:null})}setVolume(e){n.set({volume:Math.max(0,Math.min(1,e))})}mute(){n.set({muted:!0})}unmute(){n.set({muted:!1})}toggleMute(){n.set({muted:!this.muted})}getSoundForFeeling(e){let t=this.theme;if(t?.feelings?.[e])return t.feelings[e];if(t?.categoryDefaults){let n=this.getCategoryForFeeling(e);if(t.categoryDefaults[n])return t.categoryDefaults[n]}return r[e]}getCategoryForFeeling(e){return[`joyful`,`content`,`excited`,`proud`,`hopeful`,`relieved`,`grateful`,`peaceful`,`playful`,`amused`,`curious`,`inspired`,`confident`,`loved`,`comforted`,`energized`,`celebrated`].includes(e)?`happy`:[`sad`,`lonely`,`disappointed`,`heartbroken`,`grieving`,`hopeless`,`empty`,`discouraged`,`melancholic`,`homesick`,`hurt`,`miserable`,`regretful`,`ashamed`,`inferior`].includes(e)?`sad`:[`anxious`,`worried`,`afraid`,`terrified`,`panicked`,`nervous`,`uneasy`,`insecure`,`overwhelmed`,`stressed`,`tense`,`apprehensive`,`startled`,`suspicious`,`vulnerable`].includes(e)?`anxious`:[`annoyed`,`irritated`,`frustrated`,`angry`,`enraged`,`bitter`,`resentful`,`jealous`,`envious`,`indignant`,`impatient`,`hostile`,`contemptuous`].includes(e)?`angry`:[`tired`,`exhausted`,`drained`,`burnedOut`,`numb`,`bored`,`unmotivated`,`apathetic`,`restless`].includes(e)?`tired`:[`calm`,`relaxed`,`atEase`,`balanced`,`stable`,`secure`,`safe`,`centered`,`grounded`,`accepting`].includes(e)?`calm`:[`connected`,`accepted`,`included`,`belonging`,`appreciated`,`valued`,`respected`,`supported`,`protective`,`compassionate`,`empathetic`].includes(e)?`connected`:`mixed`}play(e){if(this.muted)return;let t=this.getSoundForFeeling(e),n=this.getContext().currentTime,r=this.theme?.masterVolume??1,i=this.volume*r;t.puffs.forEach(e=>{this.playPuff(n+e.startTime,e,i)}),t.tones.forEach(e=>{this.playTone(n+e.startTime,e,i)})}dispose(){this.audioContext&&=(this.audioContext.close(),null)}static getInstance(){return e.instance||=new e,e.instance}}.getInstance(),a=i;Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});