@the-inclusionist/engine 8.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (756) hide show
  1. package/README.md +89 -78
  2. package/app/css/style.css +584 -374
  3. package/app/public/vendor/fonts/bitter-var-ext.woff2 +0 -0
  4. package/app/public/vendor/fonts/bitter-var.woff2 +0 -0
  5. package/app/public/vendor/fonts/bodonimoda-var-ext.woff2 +0 -0
  6. package/app/public/vendor/fonts/bodonimoda-var.woff2 +0 -0
  7. package/app/public/vendor/fonts/cat-abril_fatface-400-ext.woff2 +0 -0
  8. package/app/public/vendor/fonts/cat-abril_fatface-400.woff2 +0 -0
  9. package/app/public/vendor/fonts/cat-adlam_display-400-ext.woff2 +0 -0
  10. package/app/public/vendor/fonts/cat-adlam_display-400.woff2 +0 -0
  11. package/app/public/vendor/fonts/cat-agu_display-400-ext.woff2 +0 -0
  12. package/app/public/vendor/fonts/cat-agu_display-400.woff2 +0 -0
  13. package/app/public/vendor/fonts/cat-alfa_slab_one-400-ext.woff2 +0 -0
  14. package/app/public/vendor/fonts/cat-alfa_slab_one-400.woff2 +0 -0
  15. package/app/public/vendor/fonts/cat-are_you_serious-400-ext.woff2 +0 -0
  16. package/app/public/vendor/fonts/cat-are_you_serious-400.woff2 +0 -0
  17. package/app/public/vendor/fonts/cat-asimovian-400-ext.woff2 +0 -0
  18. package/app/public/vendor/fonts/cat-asimovian-400.woff2 +0 -0
  19. package/app/public/vendor/fonts/cat-atkinson_hyperlegible_next-400-ext.woff2 +0 -0
  20. package/app/public/vendor/fonts/cat-atkinson_hyperlegible_next-400.woff2 +0 -0
  21. package/app/public/vendor/fonts/cat-bakbak_one-400-ext.woff2 +0 -0
  22. package/app/public/vendor/fonts/cat-bakbak_one-400.woff2 +0 -0
  23. package/app/public/vendor/fonts/cat-bangers-400-ext.woff2 +0 -0
  24. package/app/public/vendor/fonts/cat-bangers-400.woff2 +0 -0
  25. package/app/public/vendor/fonts/cat-barriecito-400-ext.woff2 +0 -0
  26. package/app/public/vendor/fonts/cat-barriecito-400.woff2 +0 -0
  27. package/app/public/vendor/fonts/cat-berkshire_swash-400-ext.woff2 +0 -0
  28. package/app/public/vendor/fonts/cat-berkshire_swash-400.woff2 +0 -0
  29. package/app/public/vendor/fonts/cat-bevan-400-ext.woff2 +0 -0
  30. package/app/public/vendor/fonts/cat-bevan-400.woff2 +0 -0
  31. package/app/public/vendor/fonts/cat-bitcount-400-ext.woff2 +0 -0
  32. package/app/public/vendor/fonts/cat-bitcount-400.woff2 +0 -0
  33. package/app/public/vendor/fonts/cat-bowlby_one_sc-400-ext.woff2 +0 -0
  34. package/app/public/vendor/fonts/cat-bowlby_one_sc-400.woff2 +0 -0
  35. package/app/public/vendor/fonts/cat-bungee_shade-400-ext.woff2 +0 -0
  36. package/app/public/vendor/fonts/cat-bungee_shade-400.woff2 +0 -0
  37. package/app/public/vendor/fonts/cat-charm-400-ext.woff2 +0 -0
  38. package/app/public/vendor/fonts/cat-charm-400.woff2 +0 -0
  39. package/app/public/vendor/fonts/cat-charm-700-ext.woff2 +0 -0
  40. package/app/public/vendor/fonts/cat-charm-700.woff2 +0 -0
  41. package/app/public/vendor/fonts/cat-cherry_bomb_one-400-ext.woff2 +0 -0
  42. package/app/public/vendor/fonts/cat-cherry_bomb_one-400.woff2 +0 -0
  43. package/app/public/vendor/fonts/cat-chokokutai-400-ext.woff2 +0 -0
  44. package/app/public/vendor/fonts/cat-chokokutai-400.woff2 +0 -0
  45. package/app/public/vendor/fonts/cat-chonburi-400-ext.woff2 +0 -0
  46. package/app/public/vendor/fonts/cat-chonburi-400.woff2 +0 -0
  47. package/app/public/vendor/fonts/cat-climate_crisis-400-ext.woff2 +0 -0
  48. package/app/public/vendor/fonts/cat-climate_crisis-400.woff2 +0 -0
  49. package/app/public/vendor/fonts/cat-cookie-400.woff2 +0 -0
  50. package/app/public/vendor/fonts/cat-dela_gothic_one-400-ext.woff2 +0 -0
  51. package/app/public/vendor/fonts/cat-dela_gothic_one-400.woff2 +0 -0
  52. package/app/public/vendor/fonts/cat-fascinate_inline-400-ext.woff2 +0 -0
  53. package/app/public/vendor/fonts/cat-fascinate_inline-400.woff2 +0 -0
  54. package/app/public/vendor/fonts/cat-ga_maamli-400-ext.woff2 +0 -0
  55. package/app/public/vendor/fonts/cat-ga_maamli-400.woff2 +0 -0
  56. package/app/public/vendor/fonts/cat-itim-400-ext.woff2 +0 -0
  57. package/app/public/vendor/fonts/cat-itim-400.woff2 +0 -0
  58. package/app/public/vendor/fonts/cat-jacquard_24-400-ext.woff2 +0 -0
  59. package/app/public/vendor/fonts/cat-jacquard_24-400.woff2 +0 -0
  60. package/app/public/vendor/fonts/cat-kablammo-400-ext.woff2 +0 -0
  61. package/app/public/vendor/fonts/cat-kablammo-400.woff2 +0 -0
  62. package/app/public/vendor/fonts/cat-kalam-400-ext.woff2 +0 -0
  63. package/app/public/vendor/fonts/cat-kalam-400.woff2 +0 -0
  64. package/app/public/vendor/fonts/cat-kalam-700-ext.woff2 +0 -0
  65. package/app/public/vendor/fonts/cat-kalam-700.woff2 +0 -0
  66. package/app/public/vendor/fonts/cat-katibeh-400-ext.woff2 +0 -0
  67. package/app/public/vendor/fonts/cat-katibeh-400.woff2 +0 -0
  68. package/app/public/vendor/fonts/cat-lemonada-400-ext.woff2 +0 -0
  69. package/app/public/vendor/fonts/cat-lemonada-400.woff2 +0 -0
  70. package/app/public/vendor/fonts/cat-lilita_one-400-ext.woff2 +0 -0
  71. package/app/public/vendor/fonts/cat-lilita_one-400.woff2 +0 -0
  72. package/app/public/vendor/fonts/cat-lobster-400-ext.woff2 +0 -0
  73. package/app/public/vendor/fonts/cat-lobster-400.woff2 +0 -0
  74. package/app/public/vendor/fonts/cat-luckiest_guy-400-ext.woff2 +0 -0
  75. package/app/public/vendor/fonts/cat-luckiest_guy-400.woff2 +0 -0
  76. package/app/public/vendor/fonts/cat-marhey-400-ext.woff2 +0 -0
  77. package/app/public/vendor/fonts/cat-marhey-400.woff2 +0 -0
  78. package/app/public/vendor/fonts/cat-modak-400-ext.woff2 +0 -0
  79. package/app/public/vendor/fonts/cat-modak-400.woff2 +0 -0
  80. package/app/public/vendor/fonts/cat-momo_signature-400-ext.woff2 +0 -0
  81. package/app/public/vendor/fonts/cat-momo_signature-400.woff2 +0 -0
  82. package/app/public/vendor/fonts/cat-monofett-400-ext.woff2 +0 -0
  83. package/app/public/vendor/fonts/cat-monofett-400.woff2 +0 -0
  84. package/app/public/vendor/fonts/cat-monomakh-400-ext.woff2 +0 -0
  85. package/app/public/vendor/fonts/cat-monomakh-400.woff2 +0 -0
  86. package/app/public/vendor/fonts/cat-monoton-400-ext.woff2 +0 -0
  87. package/app/public/vendor/fonts/cat-monoton-400.woff2 +0 -0
  88. package/app/public/vendor/fonts/cat-nerko_one-400-ext.woff2 +0 -0
  89. package/app/public/vendor/fonts/cat-nerko_one-400.woff2 +0 -0
  90. package/app/public/vendor/fonts/cat-noto_sans_adlam-400-ext.woff2 +0 -0
  91. package/app/public/vendor/fonts/cat-noto_sans_adlam-400.woff2 +0 -0
  92. package/app/public/vendor/fonts/cat-noto_sans_arabic-400-ext.woff2 +0 -0
  93. package/app/public/vendor/fonts/cat-noto_sans_arabic-400.woff2 +0 -0
  94. package/app/public/vendor/fonts/cat-noto_sans_devanagari-400-ext.woff2 +0 -0
  95. package/app/public/vendor/fonts/cat-noto_sans_devanagari-400.woff2 +0 -0
  96. package/app/public/vendor/fonts/cat-noto_sans_hebrew-400-ext.woff2 +0 -0
  97. package/app/public/vendor/fonts/cat-noto_sans_hebrew-400.woff2 +0 -0
  98. package/app/public/vendor/fonts/cat-noto_sans_jp-400-ext.woff2 +0 -0
  99. package/app/public/vendor/fonts/cat-noto_sans_jp-400.woff2 +0 -0
  100. package/app/public/vendor/fonts/cat-noto_sans_khmer-400-ext.woff2 +0 -0
  101. package/app/public/vendor/fonts/cat-noto_sans_khmer-400.woff2 +0 -0
  102. package/app/public/vendor/fonts/cat-noto_sans_kr-400-ext.woff2 +0 -0
  103. package/app/public/vendor/fonts/cat-noto_sans_kr-400.woff2 +0 -0
  104. package/app/public/vendor/fonts/cat-noto_sans_sc-400-ext.woff2 +0 -0
  105. package/app/public/vendor/fonts/cat-noto_sans_sc-400.woff2 +0 -0
  106. package/app/public/vendor/fonts/cat-noto_sans_thai-400-ext.woff2 +0 -0
  107. package/app/public/vendor/fonts/cat-noto_sans_thai-400.woff2 +0 -0
  108. package/app/public/vendor/fonts/cat-ole-400-ext.woff2 +0 -0
  109. package/app/public/vendor/fonts/cat-ole-400.woff2 +0 -0
  110. package/app/public/vendor/fonts/cat-pacifico-400-ext.woff2 +0 -0
  111. package/app/public/vendor/fonts/cat-pacifico-400.woff2 +0 -0
  112. package/app/public/vendor/fonts/cat-patrick_hand-400-ext.woff2 +0 -0
  113. package/app/public/vendor/fonts/cat-patrick_hand-400.woff2 +0 -0
  114. package/app/public/vendor/fonts/cat-petit_formal_script-400-ext.woff2 +0 -0
  115. package/app/public/vendor/fonts/cat-petit_formal_script-400.woff2 +0 -0
  116. package/app/public/vendor/fonts/cat-pixelify_sans-400-ext.woff2 +0 -0
  117. package/app/public/vendor/fonts/cat-pixelify_sans-400.woff2 +0 -0
  118. package/app/public/vendor/fonts/cat-plaster-400-ext.woff2 +0 -0
  119. package/app/public/vendor/fonts/cat-plaster-400.woff2 +0 -0
  120. package/app/public/vendor/fonts/cat-playwrite_ar_guides-400-0.woff2 +0 -0
  121. package/app/public/vendor/fonts/cat-playwrite_at-400-0.woff2 +0 -0
  122. package/app/public/vendor/fonts/cat-playwrite_at_guides-400-0.woff2 +0 -0
  123. package/app/public/vendor/fonts/cat-playwrite_au_nsw-400-0.woff2 +0 -0
  124. package/app/public/vendor/fonts/cat-playwrite_au_nsw_guides-400-0.woff2 +0 -0
  125. package/app/public/vendor/fonts/cat-playwrite_au_qld-400-0.woff2 +0 -0
  126. package/app/public/vendor/fonts/cat-playwrite_au_qld_guides-400-0.woff2 +0 -0
  127. package/app/public/vendor/fonts/cat-playwrite_au_sa-400-0.woff2 +0 -0
  128. package/app/public/vendor/fonts/cat-playwrite_au_sa_guides-400-0.woff2 +0 -0
  129. package/app/public/vendor/fonts/cat-playwrite_au_tas-400-0.woff2 +0 -0
  130. package/app/public/vendor/fonts/cat-playwrite_au_tas_guides-400-0.woff2 +0 -0
  131. package/app/public/vendor/fonts/cat-playwrite_au_vic-400-0.woff2 +0 -0
  132. package/app/public/vendor/fonts/cat-playwrite_au_vic_guides-400-0.woff2 +0 -0
  133. package/app/public/vendor/fonts/cat-playwrite_be_vlg-400-0.woff2 +0 -0
  134. package/app/public/vendor/fonts/cat-playwrite_be_vlg_guides-400-0.woff2 +0 -0
  135. package/app/public/vendor/fonts/cat-playwrite_be_wal-400-0.woff2 +0 -0
  136. package/app/public/vendor/fonts/cat-playwrite_be_wal_guides-400-0.woff2 +0 -0
  137. package/app/public/vendor/fonts/cat-playwrite_br_guides-400-0.woff2 +0 -0
  138. package/app/public/vendor/fonts/cat-playwrite_ca_guides-400-0.woff2 +0 -0
  139. package/app/public/vendor/fonts/cat-playwrite_cl_guides-400-0.woff2 +0 -0
  140. package/app/public/vendor/fonts/cat-playwrite_co_guides-400-0.woff2 +0 -0
  141. package/app/public/vendor/fonts/cat-playwrite_cu_guides-400-0.woff2 +0 -0
  142. package/app/public/vendor/fonts/cat-playwrite_cz-400-0.woff2 +0 -0
  143. package/app/public/vendor/fonts/cat-playwrite_cz_guides-400-0.woff2 +0 -0
  144. package/app/public/vendor/fonts/cat-playwrite_de_grund-400-0.woff2 +0 -0
  145. package/app/public/vendor/fonts/cat-playwrite_de_grund_guides-400-0.woff2 +0 -0
  146. package/app/public/vendor/fonts/cat-playwrite_de_la-400-0.woff2 +0 -0
  147. package/app/public/vendor/fonts/cat-playwrite_de_la_guides-400-0.woff2 +0 -0
  148. package/app/public/vendor/fonts/cat-playwrite_de_sas-400-0.woff2 +0 -0
  149. package/app/public/vendor/fonts/cat-playwrite_de_sas_guides-400-0.woff2 +0 -0
  150. package/app/public/vendor/fonts/cat-playwrite_de_va-400-0.woff2 +0 -0
  151. package/app/public/vendor/fonts/cat-playwrite_de_va_guides-400-0.woff2 +0 -0
  152. package/app/public/vendor/fonts/cat-playwrite_dk_loopet-400-0.woff2 +0 -0
  153. package/app/public/vendor/fonts/cat-playwrite_dk_loopet_guides-400-0.woff2 +0 -0
  154. package/app/public/vendor/fonts/cat-playwrite_dk_uloopet-400-0.woff2 +0 -0
  155. package/app/public/vendor/fonts/cat-playwrite_dk_uloopet_guides-400-0.woff2 +0 -0
  156. package/app/public/vendor/fonts/cat-playwrite_es_deco_guides-400-0.woff2 +0 -0
  157. package/app/public/vendor/fonts/cat-playwrite_es_guides-400-0.woff2 +0 -0
  158. package/app/public/vendor/fonts/cat-playwrite_fr_moderne-400-0.woff2 +0 -0
  159. package/app/public/vendor/fonts/cat-playwrite_fr_moderne_guides-400-0.woff2 +0 -0
  160. package/app/public/vendor/fonts/cat-playwrite_fr_trad-400-0.woff2 +0 -0
  161. package/app/public/vendor/fonts/cat-playwrite_fr_trad_guides-400-0.woff2 +0 -0
  162. package/app/public/vendor/fonts/cat-playwrite_gb_j_guides-400-0.woff2 +0 -0
  163. package/app/public/vendor/fonts/cat-playwrite_gb_s_guides-400-0.woff2 +0 -0
  164. package/app/public/vendor/fonts/cat-playwrite_hr-400-0.woff2 +0 -0
  165. package/app/public/vendor/fonts/cat-playwrite_hr_guides-400-0.woff2 +0 -0
  166. package/app/public/vendor/fonts/cat-playwrite_hr_lijeva-400-0.woff2 +0 -0
  167. package/app/public/vendor/fonts/cat-playwrite_hr_lijeva_guides-400-0.woff2 +0 -0
  168. package/app/public/vendor/fonts/cat-playwrite_hu-400-0.woff2 +0 -0
  169. package/app/public/vendor/fonts/cat-playwrite_hu_guides-400-0.woff2 +0 -0
  170. package/app/public/vendor/fonts/cat-playwrite_id-400-0.woff2 +0 -0
  171. package/app/public/vendor/fonts/cat-playwrite_id_guides-400-0.woff2 +0 -0
  172. package/app/public/vendor/fonts/cat-playwrite_ie-400-0.woff2 +0 -0
  173. package/app/public/vendor/fonts/cat-playwrite_ie_guides-400-0.woff2 +0 -0
  174. package/app/public/vendor/fonts/cat-playwrite_in-400-0.woff2 +0 -0
  175. package/app/public/vendor/fonts/cat-playwrite_in_guides-400-0.woff2 +0 -0
  176. package/app/public/vendor/fonts/cat-playwrite_is-400-0.woff2 +0 -0
  177. package/app/public/vendor/fonts/cat-playwrite_is_guides-400-0.woff2 +0 -0
  178. package/app/public/vendor/fonts/cat-playwrite_it_moderna-400-0.woff2 +0 -0
  179. package/app/public/vendor/fonts/cat-playwrite_it_moderna_guides-400-0.woff2 +0 -0
  180. package/app/public/vendor/fonts/cat-playwrite_it_trad-400-0.woff2 +0 -0
  181. package/app/public/vendor/fonts/cat-playwrite_it_trad_guides-400-0.woff2 +0 -0
  182. package/app/public/vendor/fonts/cat-playwrite_mx_guides-400-0.woff2 +0 -0
  183. package/app/public/vendor/fonts/cat-playwrite_ng_modern-400-0.woff2 +0 -0
  184. package/app/public/vendor/fonts/cat-playwrite_ng_modern_guides-400-0.woff2 +0 -0
  185. package/app/public/vendor/fonts/cat-playwrite_nl-400-0.woff2 +0 -0
  186. package/app/public/vendor/fonts/cat-playwrite_nl_guides-400-0.woff2 +0 -0
  187. package/app/public/vendor/fonts/cat-playwrite_no-400-0.woff2 +0 -0
  188. package/app/public/vendor/fonts/cat-playwrite_no_guides-400-0.woff2 +0 -0
  189. package/app/public/vendor/fonts/cat-playwrite_nz-400-0.woff2 +0 -0
  190. package/app/public/vendor/fonts/cat-playwrite_nz_basic-400-0.woff2 +0 -0
  191. package/app/public/vendor/fonts/cat-playwrite_nz_basic_guides-400-0.woff2 +0 -0
  192. package/app/public/vendor/fonts/cat-playwrite_nz_guides-400-0.woff2 +0 -0
  193. package/app/public/vendor/fonts/cat-playwrite_pe_guides-400-0.woff2 +0 -0
  194. package/app/public/vendor/fonts/cat-playwrite_pl-400-0.woff2 +0 -0
  195. package/app/public/vendor/fonts/cat-playwrite_pl_guides-400-0.woff2 +0 -0
  196. package/app/public/vendor/fonts/cat-playwrite_pt_guides-400-0.woff2 +0 -0
  197. package/app/public/vendor/fonts/cat-playwrite_ro-400-0.woff2 +0 -0
  198. package/app/public/vendor/fonts/cat-playwrite_ro_guides-400-0.woff2 +0 -0
  199. package/app/public/vendor/fonts/cat-playwrite_sk-400-0.woff2 +0 -0
  200. package/app/public/vendor/fonts/cat-playwrite_sk_guides-400-0.woff2 +0 -0
  201. package/app/public/vendor/fonts/cat-playwrite_tz-400-0.woff2 +0 -0
  202. package/app/public/vendor/fonts/cat-playwrite_tz_guides-400-0.woff2 +0 -0
  203. package/app/public/vendor/fonts/cat-playwrite_us_modern_guides-400-0.woff2 +0 -0
  204. package/app/public/vendor/fonts/cat-playwrite_us_trad_guides-400-0.woff2 +0 -0
  205. package/app/public/vendor/fonts/cat-playwrite_vn-400-0.woff2 +0 -0
  206. package/app/public/vendor/fonts/cat-playwrite_vn_guides-400-0.woff2 +0 -0
  207. package/app/public/vendor/fonts/cat-playwrite_za-400-0.woff2 +0 -0
  208. package/app/public/vendor/fonts/cat-playwrite_za_guides-400-0.woff2 +0 -0
  209. package/app/public/vendor/fonts/cat-potta_one-400-ext.woff2 +0 -0
  210. package/app/public/vendor/fonts/cat-potta_one-400.woff2 +0 -0
  211. package/app/public/vendor/fonts/cat-ranchers-400-ext.woff2 +0 -0
  212. package/app/public/vendor/fonts/cat-ranchers-400.woff2 +0 -0
  213. package/app/public/vendor/fonts/cat-ranga-400-ext.woff2 +0 -0
  214. package/app/public/vendor/fonts/cat-ranga-400.woff2 +0 -0
  215. package/app/public/vendor/fonts/cat-ranga-700-ext.woff2 +0 -0
  216. package/app/public/vendor/fonts/cat-ranga-700.woff2 +0 -0
  217. package/app/public/vendor/fonts/cat-risque-400-ext.woff2 +0 -0
  218. package/app/public/vendor/fonts/cat-risque-400.woff2 +0 -0
  219. package/app/public/vendor/fonts/cat-rowdies-400-ext.woff2 +0 -0
  220. package/app/public/vendor/fonts/cat-rowdies-400.woff2 +0 -0
  221. package/app/public/vendor/fonts/cat-rowdies-700-ext.woff2 +0 -0
  222. package/app/public/vendor/fonts/cat-rowdies-700.woff2 +0 -0
  223. package/app/public/vendor/fonts/cat-ruge_boogie-400-ext.woff2 +0 -0
  224. package/app/public/vendor/fonts/cat-ruge_boogie-400.woff2 +0 -0
  225. package/app/public/vendor/fonts/cat-ruslan_display-400-ext.woff2 +0 -0
  226. package/app/public/vendor/fonts/cat-ruslan_display-400.woff2 +0 -0
  227. package/app/public/vendor/fonts/cat-sacramento-400-ext.woff2 +0 -0
  228. package/app/public/vendor/fonts/cat-sacramento-400.woff2 +0 -0
  229. package/app/public/vendor/fonts/cat-sancreek-400-ext.woff2 +0 -0
  230. package/app/public/vendor/fonts/cat-sancreek-400.woff2 +0 -0
  231. package/app/public/vendor/fonts/cat-sankofa_display-400-ext.woff2 +0 -0
  232. package/app/public/vendor/fonts/cat-sankofa_display-400.woff2 +0 -0
  233. package/app/public/vendor/fonts/cat-sedgwick_ave_display-400-ext.woff2 +0 -0
  234. package/app/public/vendor/fonts/cat-sedgwick_ave_display-400.woff2 +0 -0
  235. package/app/public/vendor/fonts/cat-shantell_sans-400-ext.woff2 +0 -0
  236. package/app/public/vendor/fonts/cat-shantell_sans-400.woff2 +0 -0
  237. package/app/public/vendor/fonts/cat-smokum-400-ext.woff2 +0 -0
  238. package/app/public/vendor/fonts/cat-smokum-400.woff2 +0 -0
  239. package/app/public/vendor/fonts/cat-solitreo-400-ext.woff2 +0 -0
  240. package/app/public/vendor/fonts/cat-solitreo-400.woff2 +0 -0
  241. package/app/public/vendor/fonts/cat-spicy_rice-400-ext.woff2 +0 -0
  242. package/app/public/vendor/fonts/cat-spicy_rice-400.woff2 +0 -0
  243. package/app/public/vendor/fonts/cat-sriracha-400-ext.woff2 +0 -0
  244. package/app/public/vendor/fonts/cat-sriracha-400.woff2 +0 -0
  245. package/app/public/vendor/fonts/cat-srisakdi-400-ext.woff2 +0 -0
  246. package/app/public/vendor/fonts/cat-srisakdi-400.woff2 +0 -0
  247. package/app/public/vendor/fonts/cat-srisakdi-700-ext.woff2 +0 -0
  248. package/app/public/vendor/fonts/cat-srisakdi-700.woff2 +0 -0
  249. package/app/public/vendor/fonts/cat-stix_two_math-400-0.woff2 +0 -0
  250. package/app/public/vendor/fonts/cat-tillana-400-ext.woff2 +0 -0
  251. package/app/public/vendor/fonts/cat-tillana-400.woff2 +0 -0
  252. package/app/public/vendor/fonts/cat-tillana-700-ext.woff2 +0 -0
  253. package/app/public/vendor/fonts/cat-tillana-700.woff2 +0 -0
  254. package/app/public/vendor/fonts/cat-titan_one-400-ext.woff2 +0 -0
  255. package/app/public/vendor/fonts/cat-titan_one-400.woff2 +0 -0
  256. package/app/public/vendor/fonts/cat-yatra_one-400-ext.woff2 +0 -0
  257. package/app/public/vendor/fonts/cat-yatra_one-400.woff2 +0 -0
  258. package/app/public/vendor/fonts/cat-yomogi-400-ext.woff2 +0 -0
  259. package/app/public/vendor/fonts/cat-yomogi-400.woff2 +0 -0
  260. package/app/public/vendor/fonts/dmserifdisplay-400-ext.woff2 +0 -0
  261. package/app/public/vendor/fonts/dmserifdisplay-400.woff2 +0 -0
  262. package/app/public/vendor/fonts/domine-var-ext.woff2 +0 -0
  263. package/app/public/vendor/fonts/domine-var.woff2 +0 -0
  264. package/app/public/vendor/fonts/fraunces-var-ext.woff2 +0 -0
  265. package/app/public/vendor/fonts/fraunces-var.woff2 +0 -0
  266. package/app/public/vendor/fonts/fredoka-var-ext.woff2 +0 -0
  267. package/app/public/vendor/fonts/fredoka-var.woff2 +0 -0
  268. package/app/public/vendor/fonts/jakarta-var-ext.woff2 +0 -0
  269. package/app/public/vendor/fonts/jakarta-var.woff2 +0 -0
  270. package/app/public/vendor/fonts/lora-var-ext.woff2 +0 -0
  271. package/app/public/vendor/fonts/lora-var.woff2 +0 -0
  272. package/app/public/vendor/fonts/merriweather-var-ext.woff2 +0 -0
  273. package/app/public/vendor/fonts/merriweather-var.woff2 +0 -0
  274. package/app/public/vendor/fonts/notosans-var-ext.woff2 +0 -0
  275. package/app/public/vendor/fonts/notosans-var.woff2 +0 -0
  276. package/app/public/vendor/fonts/nunito-var-ext.woff2 +0 -0
  277. package/app/public/vendor/fonts/nunito-var.woff2 +0 -0
  278. package/app/public/vendor/fonts/playfair-var-ext.woff2 +0 -0
  279. package/app/public/vendor/fonts/playfair-var.woff2 +0 -0
  280. package/app/public/vendor/fonts/playwrite-cu.woff2 +0 -0
  281. package/app/public/vendor/fonts/playwrite-es-deco.woff2 +0 -0
  282. package/app/public/vendor/fonts/playwrite-es.woff2 +0 -0
  283. package/app/public/vendor/fonts/playwrite-gb-j.woff2 +0 -0
  284. package/app/public/vendor/fonts/playwrite-gb-s.woff2 +0 -0
  285. package/app/public/vendor/fonts/playwrite-pe.woff2 +0 -0
  286. package/app/public/vendor/fonts/playwrite-pt.woff2 +0 -0
  287. package/app/public/vendor/fonts/quicksand-var-ext.woff2 +0 -0
  288. package/app/public/vendor/fonts/quicksand-var.woff2 +0 -0
  289. package/app/public/vendor/fonts/robotoflex-var-ext.woff2 +0 -0
  290. package/app/public/vendor/fonts/robotoflex-var.woff2 +0 -0
  291. package/app/public/vendor/fonts/sora-var-ext.woff2 +0 -0
  292. package/app/public/vendor/fonts/sora-var.woff2 +0 -0
  293. package/app/public/vendor/fonts/spacegrotesk-var-ext.woff2 +0 -0
  294. package/app/public/vendor/fonts/spacegrotesk-var.woff2 +0 -0
  295. package/app/public/vendor/fonts/spectral-400-ext.woff2 +0 -0
  296. package/app/public/vendor/fonts/spectral-400.woff2 +0 -0
  297. package/app/public/vendor/fonts/spectral-700-ext.woff2 +0 -0
  298. package/app/public/vendor/fonts/spectral-700.woff2 +0 -0
  299. package/app/public/vendor/fonts/teachers-var-ext.woff2 +0 -0
  300. package/app/public/vendor/fonts/teachers-var.woff2 +0 -0
  301. package/app/public/vendor/fonts/ubuntu-400-ext.woff2 +0 -0
  302. package/app/public/vendor/fonts/ubuntu-400.woff2 +0 -0
  303. package/app/public/vendor/fonts/ubuntu-700-ext.woff2 +0 -0
  304. package/app/public/vendor/fonts/ubuntu-700.woff2 +0 -0
  305. package/app/public/vendor/fonts.css +1167 -51
  306. package/dist-pkg/boot/create-game.d.ts +467 -162
  307. package/dist-pkg/boot/create-game.js +3563 -426
  308. package/dist-pkg/core/a11y-sr.d.ts +25 -3
  309. package/dist-pkg/core/a11y-sr.js +40 -19
  310. package/dist-pkg/core/accessible-label.d.ts +17 -0
  311. package/dist-pkg/core/accessible-label.js +37 -0
  312. package/dist-pkg/core/accommodation-subjects.d.ts +26 -0
  313. package/dist-pkg/core/accommodation-subjects.js +32 -0
  314. package/dist-pkg/core/accommodations.d.ts +107 -0
  315. package/dist-pkg/core/accommodations.js +178 -0
  316. package/dist-pkg/core/actions.d.ts +75 -51
  317. package/dist-pkg/core/actions.js +98 -69
  318. package/dist-pkg/core/calm-mode.d.ts +31 -0
  319. package/dist-pkg/core/calm-mode.js +47 -0
  320. package/dist-pkg/core/camera-cycle.d.ts +15 -0
  321. package/dist-pkg/core/camera-cycle.js +7 -0
  322. package/dist-pkg/core/caption-duration.d.ts +15 -0
  323. package/dist-pkg/core/caption-duration.js +19 -0
  324. package/dist-pkg/core/cartridge-problems.d.ts +34 -0
  325. package/dist-pkg/core/cartridge-problems.js +53 -0
  326. package/dist-pkg/core/constants.d.ts +0 -54
  327. package/dist-pkg/core/constants.js +9 -76
  328. package/dist-pkg/core/contract.d.ts +143 -163
  329. package/dist-pkg/core/contract.js +223 -207
  330. package/dist-pkg/core/dom-query.d.ts +4 -4
  331. package/dist-pkg/core/dom-query.js +12 -20
  332. package/dist-pkg/core/entity.d.ts +62 -77
  333. package/dist-pkg/core/entity.js +18 -32
  334. package/dist-pkg/core/escape-html.d.ts +9 -10
  335. package/dist-pkg/core/escape-html.js +16 -20
  336. package/dist-pkg/core/flash-threshold.d.ts +17 -0
  337. package/dist-pkg/core/flash-threshold.js +113 -0
  338. package/dist-pkg/core/game-speed.d.ts +11 -0
  339. package/dist-pkg/core/game-speed.js +16 -0
  340. package/dist-pkg/core/genres.d.ts +20 -0
  341. package/dist-pkg/core/genres.js +44 -0
  342. package/dist-pkg/core/i18n.d.ts +87 -41
  343. package/dist-pkg/core/i18n.js +206 -153
  344. package/dist-pkg/core/loop.d.ts +17 -6
  345. package/dist-pkg/core/loop.js +26 -26
  346. package/dist-pkg/core/pause-icon-catalogue.d.ts +15 -0
  347. package/dist-pkg/core/pause-icon-catalogue.js +54 -0
  348. package/dist-pkg/core/ring.d.ts +17 -0
  349. package/dist-pkg/core/ring.js +29 -0
  350. package/dist-pkg/core/rng.d.ts +7 -12
  351. package/dist-pkg/core/rng.js +23 -53
  352. package/dist-pkg/core/route.d.ts +26 -26
  353. package/dist-pkg/core/route.js +126 -121
  354. package/dist-pkg/core/scenes.d.ts +37 -40
  355. package/dist-pkg/core/scenes.js +41 -43
  356. package/dist-pkg/core/screens.d.ts +4 -4
  357. package/dist-pkg/core/screens.js +11 -16
  358. package/dist-pkg/core/setting-defaults.d.ts +61 -0
  359. package/dist-pkg/core/setting-defaults.js +66 -0
  360. package/dist-pkg/core/speech-rate.d.ts +29 -0
  361. package/dist-pkg/core/speech-rate.js +47 -0
  362. package/dist-pkg/core/state.d.ts +118 -118
  363. package/dist-pkg/core/state.js +322 -297
  364. package/dist-pkg/core/visual-cycles.d.ts +30 -0
  365. package/dist-pkg/core/visual-cycles.js +52 -0
  366. package/dist-pkg/core/visual-state.d.ts +13 -0
  367. package/dist-pkg/core/visual-state.js +6 -0
  368. package/dist-pkg/educational/activities-registry.d.ts +1 -1
  369. package/dist-pkg/educational/activities-registry.js +9 -8
  370. package/dist-pkg/educational/adaptive-engine.d.ts +11 -11
  371. package/dist-pkg/educational/adaptive-engine.js +17 -17
  372. package/dist-pkg/educational/segment-bar.d.ts +12 -12
  373. package/dist-pkg/educational/segment-bar.js +9 -9
  374. package/dist-pkg/i18n/en.js +321 -215
  375. package/dist-pkg/i18n/es.js +320 -215
  376. package/dist-pkg/i18n/pt.js +342 -215
  377. package/dist-pkg/input/default-bindings.d.ts +37 -38
  378. package/dist-pkg/input/default-bindings.js +127 -144
  379. package/dist-pkg/input/devices.d.ts +7 -7
  380. package/dist-pkg/input/devices.js +17 -16
  381. package/dist-pkg/input/edges.d.ts +23 -32
  382. package/dist-pkg/input/edges.js +23 -28
  383. package/dist-pkg/input/empathy-filter.d.ts +22 -0
  384. package/dist-pkg/input/empathy-filter.js +34 -0
  385. package/dist-pkg/input/face-map.d.ts +96 -0
  386. package/dist-pkg/input/face-map.js +255 -0
  387. package/dist-pkg/input/face-signals.d.ts +40 -0
  388. package/dist-pkg/input/face-signals.js +48 -0
  389. package/dist-pkg/input/gamepad.d.ts +164 -145
  390. package/dist-pkg/input/gamepad.js +351 -559
  391. package/dist-pkg/input/gaze-cycle.d.ts +64 -0
  392. package/dist-pkg/input/gaze-cycle.js +133 -0
  393. package/dist-pkg/input/gaze-relative.d.ts +68 -0
  394. package/dist-pkg/input/gaze-relative.js +142 -0
  395. package/dist-pkg/input/hand-map.d.ts +28 -0
  396. package/dist-pkg/input/hand-map.js +142 -0
  397. package/dist-pkg/input/input-cooldown.d.ts +17 -0
  398. package/dist-pkg/input/input-cooldown.js +39 -0
  399. package/dist-pkg/input/keyboard-runtime.d.ts +18 -20
  400. package/dist-pkg/input/keyboard-runtime.js +23 -27
  401. package/dist-pkg/input/keyboard.d.ts +68 -62
  402. package/dist-pkg/input/keyboard.js +83 -105
  403. package/dist-pkg/input/keydown.d.ts +124 -132
  404. package/dist-pkg/input/keydown.js +283 -288
  405. package/dist-pkg/input/latch-edge.d.ts +25 -21
  406. package/dist-pkg/input/latch-edge.js +33 -35
  407. package/dist-pkg/input/latch-scope.d.ts +43 -47
  408. package/dist-pkg/input/latch-scope.js +66 -75
  409. package/dist-pkg/input/latch-store.d.ts +28 -29
  410. package/dist-pkg/input/latch-store.js +44 -47
  411. package/dist-pkg/input/latch-sync.d.ts +28 -29
  412. package/dist-pkg/input/latch-sync.js +25 -25
  413. package/dist-pkg/input/latch.d.ts +14 -17
  414. package/dist-pkg/input/latch.js +29 -37
  415. package/dist-pkg/input/pad-defaults.d.ts +13 -16
  416. package/dist-pkg/input/pad-defaults.js +21 -28
  417. package/dist-pkg/input/pad-reading.d.ts +76 -0
  418. package/dist-pkg/input/pad-reading.js +164 -0
  419. package/dist-pkg/input/pad-wizard.d.ts +96 -0
  420. package/dist-pkg/input/pad-wizard.js +205 -0
  421. package/dist-pkg/input/pointer-space.d.ts +19 -20
  422. package/dist-pkg/input/pointer-space.js +27 -32
  423. package/dist-pkg/input/pointer.d.ts +39 -40
  424. package/dist-pkg/input/pointer.js +42 -45
  425. package/dist-pkg/input/state.d.ts +101 -89
  426. package/dist-pkg/input/state.js +54 -134
  427. package/dist-pkg/input/switch-scan.d.ts +42 -0
  428. package/dist-pkg/input/switch-scan.js +54 -0
  429. package/dist-pkg/input/synthetic-source.d.ts +42 -0
  430. package/dist-pkg/input/synthetic-source.js +57 -0
  431. package/dist-pkg/input/touch-bindings.d.ts +127 -113
  432. package/dist-pkg/input/touch-bindings.js +158 -173
  433. package/dist-pkg/input/touch.d.ts +130 -70
  434. package/dist-pkg/input/touch.js +321 -123
  435. package/dist-pkg/input/transport-in-use.d.ts +107 -0
  436. package/dist-pkg/input/transport-in-use.js +130 -0
  437. package/dist-pkg/input/transports.d.ts +96 -114
  438. package/dist-pkg/input/transports.js +104 -106
  439. package/dist-pkg/input/virtual-controller.d.ts +46 -0
  440. package/dist-pkg/input/virtual-controller.js +41 -0
  441. package/dist-pkg/input/vocabulary-migration.d.ts +50 -49
  442. package/dist-pkg/input/vocabulary-migration.js +80 -79
  443. package/dist-pkg/input/voice-map.d.ts +43 -0
  444. package/dist-pkg/input/voice-map.js +125 -0
  445. package/dist-pkg/platform/audio-ambient.d.ts +13 -1
  446. package/dist-pkg/platform/audio-ambient.js +11 -13
  447. package/dist-pkg/platform/audio-earcons.d.ts +20 -19
  448. package/dist-pkg/platform/audio-earcons.js +51 -42
  449. package/dist-pkg/platform/audio-jingles.js +9 -10
  450. package/dist-pkg/platform/audio-mixer.d.ts +14 -2
  451. package/dist-pkg/platform/audio-mixer.js +36 -39
  452. package/dist-pkg/platform/audio-sonar.d.ts +96 -113
  453. package/dist-pkg/platform/audio-sonar.js +245 -238
  454. package/dist-pkg/platform/audio.d.ts +53 -19
  455. package/dist-pkg/platform/audio.js +161 -169
  456. package/dist-pkg/platform/flash-sampler.d.ts +19 -0
  457. package/dist-pkg/platform/flash-sampler.js +79 -0
  458. package/dist-pkg/platform/guide-intensity.d.ts +26 -27
  459. package/dist-pkg/platform/guide-intensity.js +50 -52
  460. package/dist-pkg/platform/heavy-catalogue.d.ts +31 -0
  461. package/dist-pkg/platform/heavy-catalogue.js +223 -0
  462. package/dist-pkg/platform/heavy-mirror.d.ts +26 -0
  463. package/dist-pkg/platform/heavy-mirror.js +76 -0
  464. package/dist-pkg/platform/heavy.d.ts +104 -0
  465. package/dist-pkg/platform/heavy.js +169 -0
  466. package/dist-pkg/platform/interruptible-speech.d.ts +16 -16
  467. package/dist-pkg/platform/interruptible-speech.js +50 -51
  468. package/dist-pkg/platform/kokoro-port.d.ts +27 -0
  469. package/dist-pkg/platform/kokoro-port.js +50 -0
  470. package/dist-pkg/platform/kokoro-runtime.d.ts +20 -0
  471. package/dist-pkg/platform/kokoro-runtime.js +52 -0
  472. package/dist-pkg/platform/kokoro.d.ts +70 -0
  473. package/dist-pkg/platform/kokoro.js +133 -0
  474. package/dist-pkg/platform/listener-scope.d.ts +12 -0
  475. package/dist-pkg/platform/listener-scope.js +81 -0
  476. package/dist-pkg/platform/locale-host.d.ts +10 -0
  477. package/dist-pkg/platform/locale-host.js +34 -0
  478. package/dist-pkg/platform/microphone.d.ts +51 -0
  479. package/dist-pkg/platform/microphone.js +118 -0
  480. package/dist-pkg/platform/onnx-runtime.d.ts +34 -0
  481. package/dist-pkg/platform/onnx-runtime.js +42 -0
  482. package/dist-pkg/platform/reading-in-worker.d.ts +40 -0
  483. package/dist-pkg/platform/reading-in-worker.js +87 -0
  484. package/dist-pkg/platform/reading-model.d.ts +73 -0
  485. package/dist-pkg/platform/reading-model.js +247 -0
  486. package/dist-pkg/platform/reading-runtime.d.ts +24 -0
  487. package/dist-pkg/platform/reading-runtime.js +159 -0
  488. package/dist-pkg/platform/reading-worker.d.ts +41 -0
  489. package/dist-pkg/platform/reading-worker.js +58 -0
  490. package/dist-pkg/platform/reading.d.ts +69 -0
  491. package/dist-pkg/platform/reading.js +128 -0
  492. package/dist-pkg/platform/speech-recognition.d.ts +51 -0
  493. package/dist-pkg/platform/speech-recognition.js +84 -0
  494. package/dist-pkg/platform/speech.d.ts +14 -1
  495. package/dist-pkg/platform/speech.js +13 -13
  496. package/dist-pkg/platform/storage-keys.d.ts +96 -0
  497. package/dist-pkg/platform/storage-keys.js +106 -0
  498. package/dist-pkg/platform/storage.d.ts +46 -111
  499. package/dist-pkg/platform/storage.js +104 -169
  500. package/dist-pkg/platform/tts.d.ts +51 -38
  501. package/dist-pkg/platform/tts.js +217 -119
  502. package/dist-pkg/platform/vision-loop.d.ts +23 -0
  503. package/dist-pkg/platform/vision-loop.js +56 -0
  504. package/dist-pkg/platform/vision.d.ts +132 -0
  505. package/dist-pkg/platform/vision.js +117 -0
  506. package/dist-pkg/platform/voice-listener.d.ts +36 -0
  507. package/dist-pkg/platform/voice-listener.js +88 -0
  508. package/dist-pkg/platform/voice-plan.d.ts +6 -102
  509. package/dist-pkg/platform/voice-plan.js +9 -151
  510. package/dist-pkg/platform/vosk-runtime.d.ts +71 -0
  511. package/dist-pkg/platform/vosk-runtime.js +93 -0
  512. package/dist-pkg/render/canvas.d.ts +13 -7
  513. package/dist-pkg/render/canvas.js +13 -13
  514. package/dist-pkg/render/crt.d.ts +46 -12
  515. package/dist-pkg/render/crt.js +82 -80
  516. package/dist-pkg/render/cvd-matrices.d.ts +18 -18
  517. package/dist-pkg/render/cvd-matrices.js +33 -38
  518. package/dist-pkg/render/hc-role-data.d.ts +7 -7
  519. package/dist-pkg/render/hc-role-data.js +14 -14
  520. package/dist-pkg/render/high-contrast.d.ts +66 -54
  521. package/dist-pkg/render/high-contrast.js +221 -216
  522. package/dist-pkg/render/low-vision-drawing.d.ts +5 -0
  523. package/dist-pkg/render/low-vision-drawing.js +46 -0
  524. package/dist-pkg/render/lq-filter.d.ts +32 -20
  525. package/dist-pkg/render/lq-filter.js +59 -65
  526. package/dist-pkg/render/port.d.ts +86 -88
  527. package/dist-pkg/render/port.js +17 -23
  528. package/dist-pkg/render/screen-pipeline.d.ts +42 -42
  529. package/dist-pkg/render/screen-pipeline.js +80 -87
  530. package/dist-pkg/render/sprite-fx.d.ts +2 -1
  531. package/dist-pkg/render/sprite-fx.js +16 -14
  532. package/dist-pkg/render/viewports.d.ts +20 -15
  533. package/dist-pkg/render/viewports.js +83 -114
  534. package/dist-pkg/render/viz-axes-labels.d.ts +47 -0
  535. package/dist-pkg/render/viz-axes-labels.js +88 -0
  536. package/dist-pkg/render/viz-axes.d.ts +80 -86
  537. package/dist-pkg/render/viz-axes.js +115 -116
  538. package/dist-pkg/render/viz-modes.d.ts +28 -29
  539. package/dist-pkg/render/viz-modes.js +40 -45
  540. package/dist-pkg/render/viz-refusal.d.ts +32 -0
  541. package/dist-pkg/render/viz-refusal.js +57 -0
  542. package/dist-pkg/render/viz-setters.d.ts +104 -66
  543. package/dist-pkg/render/viz-setters.js +182 -191
  544. package/dist-pkg/ui/aac-sets.d.ts +40 -0
  545. package/dist-pkg/ui/aac-sets.js +49 -0
  546. package/dist-pkg/ui/audio-choices.d.ts +63 -0
  547. package/dist-pkg/ui/audio-choices.js +94 -0
  548. package/dist-pkg/ui/audio-rows-that-apply.d.ts +12 -0
  549. package/dist-pkg/ui/audio-rows-that-apply.js +43 -0
  550. package/dist-pkg/ui/camera-control.d.ts +6 -0
  551. package/dist-pkg/ui/camera-control.js +14 -0
  552. package/dist-pkg/ui/changed-mark.d.ts +9 -8
  553. package/dist-pkg/ui/changed-mark.js +22 -53
  554. package/dist-pkg/ui/control-choices.d.ts +37 -0
  555. package/dist-pkg/ui/control-choices.js +84 -0
  556. package/dist-pkg/ui/debug-panel.d.ts +59 -43
  557. package/dist-pkg/ui/debug-panel.js +68 -69
  558. package/dist-pkg/ui/dom.d.ts +10 -14
  559. package/dist-pkg/ui/dom.js +10 -47
  560. package/dist-pkg/ui/drawing-problems.d.ts +25 -0
  561. package/dist-pkg/ui/drawing-problems.js +93 -0
  562. package/dist-pkg/ui/eye-control.d.ts +36 -0
  563. package/dist-pkg/ui/eye-control.js +178 -0
  564. package/dist-pkg/ui/face-control.d.ts +25 -0
  565. package/dist-pkg/ui/face-control.js +183 -0
  566. package/dist-pkg/ui/focus-trap.d.ts +39 -49
  567. package/dist-pkg/ui/focus-trap.js +56 -65
  568. package/dist-pkg/ui/fonts.d.ts +118 -63
  569. package/dist-pkg/ui/fonts.js +267 -111
  570. package/dist-pkg/ui/game-options.d.ts +42 -0
  571. package/dist-pkg/ui/game-options.js +138 -0
  572. package/dist-pkg/ui/gaze-overlay.d.ts +64 -0
  573. package/dist-pkg/ui/gaze-overlay.js +165 -0
  574. package/dist-pkg/ui/hand-control.d.ts +25 -0
  575. package/dist-pkg/ui/hand-control.js +143 -0
  576. package/dist-pkg/ui/help-panel.d.ts +76 -0
  577. package/dist-pkg/ui/help-panel.js +232 -0
  578. package/dist-pkg/ui/hud-bands.d.ts +45 -0
  579. package/dist-pkg/ui/hud-bands.js +108 -0
  580. package/dist-pkg/ui/hud.d.ts +73 -70
  581. package/dist-pkg/ui/hud.js +94 -98
  582. package/dist-pkg/ui/item-announcement.d.ts +13 -12
  583. package/dist-pkg/ui/item-announcement.js +25 -26
  584. package/dist-pkg/ui/latch-refusal.d.ts +22 -21
  585. package/dist-pkg/ui/latch-refusal.js +37 -37
  586. package/dist-pkg/ui/layout.d.ts +103 -28
  587. package/dist-pkg/ui/layout.js +114 -99
  588. package/dist-pkg/ui/locale-flags.d.ts +16 -0
  589. package/dist-pkg/ui/locale-flags.js +30 -0
  590. package/dist-pkg/ui/loop-crash.d.ts +17 -17
  591. package/dist-pkg/ui/loop-crash.js +33 -62
  592. package/dist-pkg/ui/menu-intent.d.ts +32 -0
  593. package/dist-pkg/ui/menu-intent.js +54 -0
  594. package/dist-pkg/ui/menu-items.d.ts +10 -0
  595. package/dist-pkg/ui/menu-items.js +22 -0
  596. package/dist-pkg/ui/menu-nav.d.ts +60 -90
  597. package/dist-pkg/ui/menu-nav.js +301 -274
  598. package/dist-pkg/ui/mobility-choices.d.ts +26 -0
  599. package/dist-pkg/ui/mobility-choices.js +41 -0
  600. package/dist-pkg/ui/motion-choices.d.ts +31 -0
  601. package/dist-pkg/ui/motion-choices.js +68 -0
  602. package/dist-pkg/ui/motion-scene.d.ts +24 -19
  603. package/dist-pkg/ui/motion-scene.js +29 -61
  604. package/dist-pkg/ui/mount-panel.d.ts +81 -0
  605. package/dist-pkg/ui/mount-panel.js +61 -0
  606. package/dist-pkg/ui/panel-shell.d.ts +65 -31
  607. package/dist-pkg/ui/panel-shell.js +92 -66
  608. package/dist-pkg/ui/panel-widgets.d.ts +116 -0
  609. package/dist-pkg/ui/panel-widgets.js +208 -0
  610. package/dist-pkg/ui/pause-buttons.d.ts +35 -0
  611. package/dist-pkg/ui/pause-buttons.js +66 -0
  612. package/dist-pkg/ui/pause-icons.d.ts +250 -343
  613. package/dist-pkg/ui/pause-icons.js +614 -605
  614. package/dist-pkg/ui/pause-markup.d.ts +86 -0
  615. package/dist-pkg/ui/pause-markup.js +125 -0
  616. package/dist-pkg/ui/reach-notice.d.ts +22 -23
  617. package/dist-pkg/ui/reach-notice.js +55 -58
  618. package/dist-pkg/ui/scan-overlay.d.ts +23 -0
  619. package/dist-pkg/ui/scan-overlay.js +42 -0
  620. package/dist-pkg/ui/settings-aac.d.ts +68 -0
  621. package/dist-pkg/ui/settings-aac.js +189 -0
  622. package/dist-pkg/ui/settings-audio.d.ts +91 -113
  623. package/dist-pkg/ui/settings-audio.js +407 -405
  624. package/dist-pkg/ui/settings-controls.d.ts +53 -92
  625. package/dist-pkg/ui/settings-controls.js +143 -215
  626. package/dist-pkg/ui/settings-empathy.d.ts +39 -30
  627. package/dist-pkg/ui/settings-empathy.js +53 -60
  628. package/dist-pkg/ui/settings-mobility.d.ts +195 -0
  629. package/dist-pkg/ui/settings-mobility.js +374 -0
  630. package/dist-pkg/ui/settings-motion.d.ts +91 -70
  631. package/dist-pkg/ui/settings-motion.js +287 -198
  632. package/dist-pkg/ui/settings-panel.d.ts +48 -45
  633. package/dist-pkg/ui/settings-panel.js +164 -93
  634. package/dist-pkg/ui/settings-typo.d.ts +28 -76
  635. package/dist-pkg/ui/settings-typo.js +145 -125
  636. package/dist-pkg/ui/settings-visual.d.ts +29 -87
  637. package/dist-pkg/ui/settings-visual.js +240 -193
  638. package/dist-pkg/ui/shell.d.ts +113 -134
  639. package/dist-pkg/ui/shell.js +143 -216
  640. package/dist-pkg/ui/simulation-list.d.ts +27 -0
  641. package/dist-pkg/ui/simulation-list.js +76 -0
  642. package/dist-pkg/ui/simulation-over-the-world.d.ts +23 -0
  643. package/dist-pkg/ui/simulation-over-the-world.js +131 -0
  644. package/dist-pkg/ui/simulation-refusal.d.ts +5 -31
  645. package/dist-pkg/ui/simulation-refusal.js +8 -56
  646. package/dist-pkg/ui/switchable-control.d.ts +11 -0
  647. package/dist-pkg/ui/switchable-control.js +19 -0
  648. package/dist-pkg/ui/title.d.ts +4 -4
  649. package/dist-pkg/ui/title.js +11 -13
  650. package/dist-pkg/ui/top-band.d.ts +24 -0
  651. package/dist-pkg/ui/top-band.js +100 -0
  652. package/dist-pkg/ui/typo-choices.d.ts +71 -0
  653. package/dist-pkg/ui/typo-choices.js +84 -0
  654. package/dist-pkg/ui/visual-axes-panel.d.ts +11 -47
  655. package/dist-pkg/ui/visual-axes-panel.js +12 -94
  656. package/dist-pkg/ui/visual-choices.d.ts +77 -0
  657. package/dist-pkg/ui/visual-choices.js +107 -0
  658. package/dist-pkg/ui/vlibras.d.ts +33 -10
  659. package/dist-pkg/ui/vlibras.js +58 -81
  660. package/dist-pkg/ui/voice-control.d.ts +46 -0
  661. package/dist-pkg/ui/voice-control.js +143 -0
  662. package/dist-pkg/ui/voice-settings.d.ts +96 -0
  663. package/dist-pkg/ui/voice-settings.js +302 -0
  664. package/dist-pkg/ui/where-the-child-is.d.ts +31 -0
  665. package/dist-pkg/ui/where-the-child-is.js +70 -0
  666. package/docs/CREDITS.md +198 -54
  667. package/docs/LICENSES.md +160 -145
  668. package/package.json +24 -25
  669. package/scripts/heavy-into-the-delivery.mjs +144 -0
  670. package/scripts/licences/Apache-2.0.txt +176 -0
  671. package/scripts/licences/GPL-3.0.txt +674 -0
  672. package/scripts/licences/MIT.txt +17 -0
  673. package/scripts/licences/third-party.mjs +287 -0
  674. package/scripts/licences/vosk-browser.NOTICE.txt +268 -0
  675. package/app/public/vendor/fonts/comicneue-400.woff2 +0 -0
  676. package/app/public/vendor/fonts/comicneue-700.woff2 +0 -0
  677. package/dist-pkg/core/anel.d.ts +0 -17
  678. package/dist-pkg/core/anel.js +0 -31
  679. package/dist-pkg/core/collision.d.ts +0 -21
  680. package/dist-pkg/core/collision.js +0 -62
  681. package/dist-pkg/core/layers.d.ts +0 -63
  682. package/dist-pkg/core/layers.js +0 -95
  683. package/dist-pkg/core/letter-grid.d.ts +0 -55
  684. package/dist-pkg/core/letter-grid.js +0 -116
  685. package/dist-pkg/core/password.d.ts +0 -34
  686. package/dist-pkg/core/password.js +0 -205
  687. package/dist-pkg/core/rotulo-acessivel.d.ts +0 -17
  688. package/dist-pkg/core/rotulo-acessivel.js +0 -41
  689. package/dist-pkg/core/run-state.d.ts +0 -115
  690. package/dist-pkg/core/run-state.js +0 -40
  691. package/dist-pkg/core/tiles.d.ts +0 -12
  692. package/dist-pkg/core/tiles.js +0 -61
  693. package/dist-pkg/core/world.d.ts +0 -4
  694. package/dist-pkg/core/world.js +0 -58
  695. package/dist-pkg/input/origem-sintetica.d.ts +0 -44
  696. package/dist-pkg/input/origem-sintetica.js +0 -60
  697. package/dist-pkg/input/transporte-em-uso.d.ts +0 -101
  698. package/dist-pkg/input/transporte-em-uso.js +0 -130
  699. package/dist-pkg/platform/audio-nav.d.ts +0 -51
  700. package/dist-pkg/platform/audio-nav.js +0 -99
  701. package/dist-pkg/platform/pesados-catalogo.d.ts +0 -14
  702. package/dist-pkg/platform/pesados-catalogo.js +0 -177
  703. package/dist-pkg/platform/pesados.d.ts +0 -31
  704. package/dist-pkg/platform/pesados.js +0 -75
  705. package/dist-pkg/platform/vozes-prontas.d.ts +0 -28
  706. package/dist-pkg/platform/vozes-prontas.js +0 -61
  707. package/dist-pkg/render/camera.d.ts +0 -58
  708. package/dist-pkg/render/camera.js +0 -105
  709. package/dist-pkg/render/cenario-data.d.ts +0 -127
  710. package/dist-pkg/render/cenario-data.js +0 -145
  711. package/dist-pkg/render/city-tex.d.ts +0 -63
  712. package/dist-pkg/render/city-tex.js +0 -228
  713. package/dist-pkg/render/city-tiles.d.ts +0 -11
  714. package/dist-pkg/render/city-tiles.js +0 -140
  715. package/dist-pkg/render/draw.d.ts +0 -149
  716. package/dist-pkg/render/draw.js +0 -231
  717. package/dist-pkg/render/fx.d.ts +0 -63
  718. package/dist-pkg/render/fx.js +0 -123
  719. package/dist-pkg/render/minimap.d.ts +0 -11
  720. package/dist-pkg/render/minimap.js +0 -94
  721. package/dist-pkg/render/parallax.d.ts +0 -85
  722. package/dist-pkg/render/parallax.js +0 -158
  723. package/dist-pkg/render/player-anim.d.ts +0 -71
  724. package/dist-pkg/render/player-anim.js +0 -152
  725. package/dist-pkg/render/recycling-tex.d.ts +0 -48
  726. package/dist-pkg/render/recycling-tex.js +0 -164
  727. package/dist-pkg/render/scene-city.d.ts +0 -77
  728. package/dist-pkg/render/scene-city.js +0 -181
  729. package/dist-pkg/render/scene-parallax.d.ts +0 -72
  730. package/dist-pkg/render/scene-parallax.js +0 -426
  731. package/dist-pkg/render/scene-sky.d.ts +0 -126
  732. package/dist-pkg/render/scene-sky.js +0 -295
  733. package/dist-pkg/render/set-cenario.d.ts +0 -54
  734. package/dist-pkg/render/set-cenario.js +0 -103
  735. package/dist-pkg/render/textures.d.ts +0 -75
  736. package/dist-pkg/render/textures.js +0 -240
  737. package/dist-pkg/render/title-scene.d.ts +0 -46
  738. package/dist-pkg/render/title-scene.js +0 -75
  739. package/dist-pkg/render/weather.d.ts +0 -96
  740. package/dist-pkg/render/weather.js +0 -171
  741. package/dist-pkg/render/wheelchair-sprites.d.ts +0 -32
  742. package/dist-pkg/render/wheelchair-sprites.js +0 -69
  743. package/dist-pkg/render/world-tex.d.ts +0 -18
  744. package/dist-pkg/render/world-tex.js +0 -87
  745. package/dist-pkg/ui/activities-menu.d.ts +0 -258
  746. package/dist-pkg/ui/activities-menu.js +0 -648
  747. package/dist-pkg/ui/caa-sets.d.ts +0 -39
  748. package/dist-pkg/ui/caa-sets.js +0 -65
  749. package/dist-pkg/ui/map-hub.d.ts +0 -56
  750. package/dist-pkg/ui/map-hub.js +0 -138
  751. package/dist-pkg/ui/settings-caa.d.ts +0 -45
  752. package/dist-pkg/ui/settings-caa.js +0 -137
  753. package/dist-pkg/ui/settings-motor.d.ts +0 -175
  754. package/dist-pkg/ui/settings-motor.js +0 -342
  755. package/dist-pkg/ui/webcam.d.ts +0 -7
  756. package/dist-pkg/ui/webcam.js +0 -93
@@ -0,0 +1,17 @@
1
+ Permission is hereby granted, free of charge, to any person obtaining a copy
2
+ of this software and associated documentation files (the "Software"), to deal
3
+ in the Software without restriction, including without limitation the rights
4
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5
+ copies of the Software, and to permit persons to whom the Software is
6
+ furnished to do so, subject to the following conditions:
7
+
8
+ The above copyright notice and this permission notice shall be included in
9
+ all copies or substantial portions of the Software.
10
+
11
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
17
+ THE SOFTWARE.
@@ -0,0 +1,287 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ //
3
+ // WHAT A DELIVERY OWES THE PEOPLE WHOSE HEAVY FILES IT CARRIES (ADR-0177 delivery of heavy files, ADR-0203 mirror).
4
+ //
5
+ // `inclusionist-heavy` copies third-party runtimes and models into a delivery's `heavy/` folder, and a copy handed to a school is
6
+ // a distribution: Apache-2.0 §4(a) asks for the licence text to travel with it and §4(d) for the NOTICE attributions, MIT for its
7
+ // copyright and permission notice, GPL-3.0 for its text and the Corresponding Source (§6). So every folder of `heavy/` that
8
+ // receives a file also receives the `LICENSE` and `NOTICE` of the project it belongs to (and eSpeak NG's a `SOURCE`), and
9
+ // `heavy/THIRD-PARTY-NOTICES.md` lists each project written, with where its texts sit.
10
+ //
11
+ // 📌 THE TEXTS LIVE HERE, beside this module, and ship in the npm package (`files`): the command runs from `node_modules` on a
12
+ // school's build machine, which has neither the engine's `node_modules` nor the mirror. Each was COPIED from a local file, never
13
+ // written from memory — `LICENCE_TEXTS` names the file and pins its sha256, and `tests/heavy-licences.node.test.js` holds both.
14
+ //
15
+ // 📌 A CATALOGUE ENTRY WITH NO GROUP HERE IS NOT WRITTEN: the delivery refuses a file whose licence nobody recorded, the same way
16
+ // it refuses a file whose sha256 differs. Adding an entry to `app/js/platform/heavy-catalogue.ts` means adding its group here.
17
+ //
18
+ // ⚠️ UNVERIFIED is written where the project holds no evidence: most upstream copyright lines are not held locally (the mirror's
19
+ // `LICENSE.md` files are statements the project wrote, not the upstream text; see `docs/CREDITS.md`).
20
+
21
+ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
22
+ import { dirname, join } from 'node:path';
23
+
24
+ const HERE = new URL('./', import.meta.url);
25
+
26
+ /**
27
+ * The licence texts, each copied byte for byte from a local file (sha256 of the copy, with CRLF read as LF).
28
+ * · Apache-2.0: the vosk-browser upstream text as the mirror holds it; its terms match, word for word, the Apache-2.0 text of
29
+ * `node_modules/detect-libc/LICENSE` up to «END OF TERMS AND CONDITIONS» (the appendix, a how-to, is not in it).
30
+ * · MIT: the permission notice and disclaimer only — from «Permission is hereby granted» to the end — of
31
+ * `node_modules/pixi.js/LICENSE`. The copyright line above it is each project's own, written per group below.
32
+ * · GPL-3.0: the licence file of the `espeak-ng` 1.0.2 npm package itself.
33
+ */
34
+ export const LICENCE_TEXTS = Object.freeze({
35
+ 'Apache-2.0': { file: 'Apache-2.0.txt', sha256: 'bb618af833c817ab01c1564bd3ec75ba4b4f9cf30910a4a2168e30a674ee8cc6',
36
+ from: 'the-inclusionist-lfs/vosk-browser-dynamic-execution-0/LICENSE' },
37
+ MIT: { file: 'MIT.txt', sha256: '89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e',
38
+ from: 'node_modules/pixi.js/LICENSE (from «Permission is hereby granted» to the end)' },
39
+ 'GPL-3.0': { file: 'GPL-3.0.txt', sha256: '3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986',
40
+ from: 'node_modules/espeak-ng/LICENSE (npm espeak-ng 1.0.2)' },
41
+ });
42
+
43
+ /** Upstream NOTICE files, copied unchanged. */
44
+ export const NOTICE_TEXTS = Object.freeze({
45
+ 'vosk-browser': { file: 'vosk-browser.NOTICE.txt', sha256: '31dac6be41950e1c649686f51a1fe1b47c9cdcd993def80bd104f85df2badd5c',
46
+ from: 'the-inclusionist-lfs/vosk-browser-dynamic-execution-0/NOTICE' },
47
+ });
48
+
49
+ /**
50
+ * One group per upstream project. `ids` are catalogue id prefixes: an id belongs to a group when it equals one or continues it
51
+ * after a colon. `copyright` holds lines as a local file states them; `copyrightUnverified` says why there is none.
52
+ */
53
+ export const THIRD_PARTY = Object.freeze([
54
+ {
55
+ key: 'mediapipe-tasks-vision',
56
+ ids: ['visao'],
57
+ project: 'MediaPipe tasks-vision (Google): the runtime and the Face Landmarker, Gesture Recognizer and Hand Landmarker models',
58
+ version: '@mediapipe/tasks-vision 1.0.1; models float16, version 1',
59
+ spdx: 'Apache-2.0',
60
+ licence: 'Apache-2.0',
61
+ copyright: [],
62
+ copyrightUnverified: 'the runtime files carry no licence header, the .task bundles carry no licence file, and the package is not installed where this was written',
63
+ notice: [
64
+ 'Obtained unchanged from https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@1.0.1 (runtime) and https://storage.googleapis.com/mediapipe-models (models).',
65
+ 'Licence as stated by the project\'s mirror (the-inclusionist-lfs/mediapipe-tasks-vision-1.0.1/LICENSE.md) and ADR-0203\'s erratum.',
66
+ 'UNVERIFIED: the hand and gesture model cards were not read (engine issue #192), and whether upstream publishes a NOTICE file.',
67
+ ],
68
+ },
69
+ {
70
+ key: 'espeak-ng',
71
+ ids: ['voz:runtime:fonemas'],
72
+ project: 'eSpeak NG, WebAssembly build (npm package espeak-ng)',
73
+ version: 'espeak-ng 1.0.2 (npm); the binary reports eSpeak NG 1.52-dev',
74
+ spdx: 'GPL-3.0-or-later',
75
+ licence: 'GPL-3.0',
76
+ copyright: [],
77
+ copyrightUnverified: 'the npm package carries the GPL-3.0 text and no copyright line of its own, and the two files carry no licence header',
78
+ notice: [
79
+ 'dist/espeak-ng.js and dist/espeak-ng.wasm of the npm package espeak-ng 1.0.2, unchanged (https://cdn.jsdelivr.net/npm/espeak-ng@1.0.2).',
80
+ 'The package declares GPL-3.0-or-later (package.json "license"). Where its source is: SOURCE, beside this file.',
81
+ ],
82
+ source: [
83
+ 'eSpeak NG in WebAssembly: where the source of the files in this folder is',
84
+ '',
85
+ 'The files here are dist/espeak-ng.js and dist/espeak-ng.wasm of the npm package espeak-ng, version 1.0.2, unchanged: the',
86
+ 'build checks each against the sha256 pinned in The Inclusionist engine\'s heavy-file catalogue before writing it. They are',
87
+ 'licensed under the GNU General Public License, version 3 or later: the full text is LICENSE, beside this file.',
88
+ '',
89
+ 'What the package itself states about its origin:',
90
+ '- the package\'s repository: git+https://github.com/ianmarmour/espeak-ng.js.git (package.json "repository"); the package',
91
+ ' names no commit of it;',
92
+ '- the eSpeak NG source it compiles: https://github.com/espeak-ng/espeak-ng.git, cloned by the build recipe in the package\'s',
93
+ ' README, which names no tag and no commit;',
94
+ '- the version the binary reports: the string "1.52-dev", read from espeak-ng.wasm.',
95
+ '',
96
+ 'The exact eSpeak NG revision these files were built from is UNVERIFIED.',
97
+ '',
98
+ 'This delivery does not include the Corresponding Source, and The Inclusionist does not host it yet. How the project provides',
99
+ 'it is an open decision, recorded in engine issue #192.',
100
+ ],
101
+ },
102
+ {
103
+ key: 'onnxruntime-web',
104
+ ids: ['voz:runtime:onnx'],
105
+ project: 'ONNX Runtime Web (Microsoft)',
106
+ version: 'onnxruntime-web 1.27.0',
107
+ spdx: 'MIT',
108
+ licence: 'MIT',
109
+ copyright: ['Copyright (c) Microsoft Corporation. All rights reserved.'],
110
+ copyrightFrom: 'the header of dist/ort.webgpu.bundle.min.mjs',
111
+ notice: [
112
+ 'Three files of the npm package onnxruntime-web 1.27.0, unchanged (https://cdn.jsdelivr.net/npm/onnxruntime-web@1.27.0).',
113
+ 'The package declares MIT (package.json "license") and ships no licence file; the copyright line is the bundle\'s own header.',
114
+ 'UNVERIFIED: the third-party notices of the libraries compiled into the .wasm are not held locally.',
115
+ ],
116
+ },
117
+ {
118
+ key: 'kokoro',
119
+ ids: ['voz:kokoro'],
120
+ project: 'Kokoro-82M (hexgrad), ONNX export by onnx-community',
121
+ version: 'v1.0 (onnx-community/Kokoro-82M-v1.0-ONNX)',
122
+ spdx: 'Apache-2.0',
123
+ licence: 'Apache-2.0',
124
+ copyright: [],
125
+ copyrightUnverified: 'no copyright line of hexgrad or onnx-community is held locally',
126
+ notice: [
127
+ 'Obtained unchanged from https://huggingface.co/onnx-community/Kokoro-82M-v1.0-ONNX: the fp32 model, the tokenizer and one style table per voice.',
128
+ 'Kokoro-82M (hexgrad), Apache-2.0. Its model card credits training audio under CC BY licences: Koniwa (CC BY 3.0) and SIWIS (CC BY 4.0).',
129
+ ],
130
+ },
131
+ {
132
+ key: 'whisper-small',
133
+ ids: ['reading:pt'],
134
+ project: 'Whisper small (OpenAI), exported to ONNX by The Inclusionist',
135
+ version: 'openai/whisper-small',
136
+ spdx: 'Apache-2.0',
137
+ licence: 'Apache-2.0',
138
+ copyright: [],
139
+ copyrightUnverified: 'no copyright line of OpenAI for this model is held locally',
140
+ notice: [
141
+ 'Weights: https://huggingface.co/openai/whisper-small, Apache-2.0.',
142
+ 'CHANGED by The Inclusionist: exported to ONNX and quantized to 8 bits (encoder, decoder, decoder with past); the tokenizer, configuration and mel filterbank are copied unchanged. Recipe: the engine\'s scripts/models/export-whisper-small.py.',
143
+ ],
144
+ },
145
+ {
146
+ key: 'moonshine-streaming-small-en',
147
+ ids: ['reading:en'],
148
+ project: 'Moonshine streaming small (Useful Sensors / Moonshine AI), ONNX export by Workmind',
149
+ version: 'Workmind/moonshine-streaming-small-ONNX (base model UsefulSensors/moonshine-streaming-small)',
150
+ spdx: 'MIT',
151
+ licence: 'MIT',
152
+ copyright: [],
153
+ copyrightUnverified: 'the export declares `license: mit`, but no copyright line of Useful Sensors, Moonshine AI or Workmind is held locally',
154
+ notice: [
155
+ 'Obtained unchanged from https://huggingface.co/Workmind/moonshine-streaming-small-ONNX.',
156
+ ],
157
+ },
158
+ {
159
+ key: 'moonshine-streaming-small-es',
160
+ ids: ['reading:es'],
161
+ project: 'Moonshine streaming small es (Moonshine AI / Useful Sensors), exported to ONNX by The Inclusionist',
162
+ version: 'moonshine-ai/moonshine-streaming-small-es, revision 8cb0974f29ca24d6b645518c430efc8c57cd0073',
163
+ spdx: 'MIT',
164
+ licence: 'MIT',
165
+ copyright: [],
166
+ copyrightUnverified: 'the model declares `license: mit`, but no copyright line of Moonshine AI or Useful Sensors is held locally',
167
+ notice: [
168
+ 'Weights: https://huggingface.co/moonshine-ai/moonshine-streaming-small-es at the revision above.',
169
+ 'CHANGED by The Inclusionist: exported to ONNX (encoder fp32, decoders quantized to 8 bits); the tokenizer and configuration are copied unchanged. Recipe: the engine\'s scripts/models/export-moonshine-streaming-es.py.',
170
+ ],
171
+ },
172
+ {
173
+ key: 'vosk-browser',
174
+ ids: ['commands:runtime'],
175
+ project: 'Vosk for the browser: vosk-browser, vosk-api and Kaldi, built by The Inclusionist',
176
+ version: 'lichess-org/vosk-browser 50a6347 with alphacep/vosk-api d714dff',
177
+ spdx: 'Apache-2.0',
178
+ licence: 'Apache-2.0',
179
+ copyright: ['Copyright 2020-2022 Ciaran O\'Reilly', 'Copyright 2020, Denis Treskunov', 'Copyright 2019-2022 Alpha Cephei Inc. All Rights Reserved.'],
180
+ copyrightFrom: 'the upstream vosk-browser NOTICE',
181
+ upstreamNotice: 'vosk-browser',
182
+ notice: [
183
+ 'CHANGED by The Inclusionist: built from the sources above with one added link flag, -s DYNAMIC_EXECUTION=0, so the runtime runs under a Content-Security-Policy without \'unsafe-eval\'. Recipe and patch: the engine\'s scripts/models/build-vosk-browser.ps1 and scripts/models/vosk-browser-dynamic-execution.patch.',
184
+ 'The binary also contains Kaldi, OpenFst, CLAPACK (BSD-3-Clause), clapack-wasm, zlib (Zlib), libarchive (BSD-2-Clause) and Emscripten and musl (MIT); each one\'s notice is in the upstream NOTICE above.',
185
+ ],
186
+ },
187
+ {
188
+ key: 'vosk-models',
189
+ ids: ['commands:model'],
190
+ project: 'Vosk small models (Alpha Cephei)',
191
+ version: 'vosk-model-small-pt-0.3, vosk-model-small-en-us-0.15, vosk-model-small-es-0.42',
192
+ spdx: 'Apache-2.0',
193
+ licence: 'Apache-2.0',
194
+ copyright: ['Copyright 2020 Alpha Cephei Inc (vosk-model-small-en-us-0.15)', 'Copyright 2022-2050 AC Technologies LLC (vosk-model-small-es-0.42)'],
195
+ copyrightFrom: 'each archive\'s README; vosk-model-small-pt-0.3\'s states none',
196
+ notice: [
197
+ 'From https://alphacephei.com/vosk/models, which states Apache-2.0; the archives themselves state no licence.',
198
+ 'CHANGED by The Inclusionist: repacked unchanged from the upstream zips into the .tar.gz vosk-browser loads (the engine\'s scripts/models/repack-vosk-models.py).',
199
+ ],
200
+ },
201
+ ]);
202
+
203
+ /** The group an id belongs to, or `null`. */
204
+ export function groupOf(id, groups = THIRD_PARTY) {
205
+ return groups.find((g) => g.ids.some((p) => id === p || id.startsWith(`${p}:`))) ?? null;
206
+ }
207
+
208
+ const readStored = (file) => readFileSync(new URL(file, HERE), 'utf8');
209
+
210
+ /** The files that sit beside a group's heavy files: `LICENSE`, `NOTICE`, and `SOURCE` where the group has one. */
211
+ export function licenceFilesFor(group, read = readStored) {
212
+ const text = read(LICENCE_TEXTS[group.licence].file);
213
+ const copyright = group.copyright.length ? group.copyright : [`Copyright: UNVERIFIED — ${group.copyrightUnverified}.`];
214
+ const licence = group.licence === 'MIT' ? `MIT License\n\n${copyright.join('\n')}\n\n${text}` : text;
215
+ const own = [
216
+ `${group.project}`,
217
+ `${group.version}`,
218
+ `Licence: ${group.spdx}. The full text is LICENSE, beside this file.`,
219
+ ...(group.copyright.length ? [`Copyright (source: ${group.copyrightFrom}):`, ...group.copyright.map((c) => ` ${c}`)] : copyright),
220
+ '',
221
+ ...group.notice,
222
+ ].join('\n');
223
+ const notice = group.upstreamNotice
224
+ ? `${read(NOTICE_TEXTS[group.upstreamNotice].file).trimEnd()}\n\n---\n\nAddendum by The Inclusionist, which distributes this build:\n\n${own}\n`
225
+ : `${own}\n`;
226
+ const files = { LICENSE: licence, NOTICE: notice };
227
+ if (group.source) files.SOURCE = `${group.source.join('\n')}\n`;
228
+ return files;
229
+ }
230
+
231
+ /** `heavy/THIRD-PARTY-NOTICES.md`: each project in this delivery, its licence, its copyright, and where its texts sit. */
232
+ export function thirdPartyNotices(written) {
233
+ const lines = [
234
+ '# Third-party notices',
235
+ '',
236
+ 'The files under `heavy/` are not The Inclusionist\'s: each belongs to the project listed below and is distributed under that',
237
+ 'project\'s licence. Every folder that holds one of them also holds the project\'s `LICENSE` and `NOTICE`.',
238
+ '',
239
+ ];
240
+ for (const { group, folders } of written) {
241
+ lines.push(`## ${group.project}`, '');
242
+ lines.push(`- **Version:** ${group.version}`);
243
+ lines.push(`- **Licence (SPDX):** \`${group.spdx}\``);
244
+ if (group.copyright.length) lines.push(`- **Copyright** (source: ${group.copyrightFrom}): ${group.copyright.join(' · ')}`);
245
+ else lines.push(`- **Copyright:** UNVERIFIED — ${group.copyrightUnverified}.`);
246
+ lines.push('- **Licence text and notices in this delivery:**');
247
+ for (const f of folders) {
248
+ const names = ['LICENSE', 'NOTICE', ...(group.source ? ['SOURCE'] : [])];
249
+ lines.push(` - ${names.map((n) => `\`${f}/${n}\``).join(', ')}`);
250
+ }
251
+ lines.push('');
252
+ }
253
+ return `${lines.join('\n').trimEnd()}\n`;
254
+ }
255
+
256
+ /**
257
+ * Writes the licence files beside every heavy file present in the delivery, and `heavy/THIRD-PARTY-NOTICES.md`.
258
+ * `present` is `[{ id, path }]`, `path` being the delivery path (`heavy/<host><path>`). Throws when a file has no group, or when
259
+ * two groups would write the same folder — one `LICENSE` cannot speak for two projects.
260
+ */
261
+ export function writeLicences({ destination, present, groups = THIRD_PARTY, read = readStored }) {
262
+ const byGroup = new Map();
263
+ const owner = new Map();
264
+ for (const { id, path } of present) {
265
+ const group = groupOf(id, groups);
266
+ if (!group) throw new Error(`no licence recorded for ${id} in scripts/licences/third-party.mjs`);
267
+ const folder = dirname(path).replaceAll('\\', '/');
268
+ const other = owner.get(folder);
269
+ if (other && other !== group) throw new Error(`${folder} would hold the licence of both ${other.key} and ${group.key}`);
270
+ owner.set(folder, group);
271
+ if (!byGroup.has(group)) byGroup.set(group, new Set());
272
+ byGroup.get(group).add(folder);
273
+ }
274
+ const written = [];
275
+ for (const group of groups) {
276
+ if (!byGroup.has(group)) continue;
277
+ const files = licenceFilesFor(group, read);
278
+ const folders = [...byGroup.get(group)].sort();
279
+ for (const folder of folders) {
280
+ mkdirSync(join(destination, folder), { recursive: true });
281
+ for (const [name, text] of Object.entries(files)) writeFileSync(join(destination, folder, name), text);
282
+ }
283
+ written.push({ group, folders: folders.map((f) => f.replace(/^heavy\//, '')) });
284
+ }
285
+ if (written.length) writeFileSync(join(destination, 'heavy', 'THIRD-PARTY-NOTICES.md'), thirdPartyNotices(written));
286
+ return written.map(({ group, folders }) => ({ key: group.key, folders }));
287
+ }
@@ -0,0 +1,268 @@
1
+ Vosk-Browser
2
+ Copyright 2020-2022 Ciaran O'Reilly
3
+
4
+ The Initial Developer of the the WASM bindings
5
+ (https://github.com/dtreskunov/tiny-kaldi) for the VOSK API is Denis
6
+ Treskunov (https://github.com/dtreskunov).
7
+ Copyright 2020, Denis Treskunov
8
+
9
+ The Developer of the VOSK API (https://github.com/alphacep/vosk-api) is
10
+ Alpha Cephei Inc (https://alphacephei.com/en/).
11
+ Copyright 2019-2022 Alpha Cephei Inc. All Rights Reserved.
12
+
13
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not
14
+ use this file except in compliance with the License. You may obtain a copy
15
+ of the License at
16
+
17
+ http://www.apache.org/licenses/LICENSE-2.0
18
+
19
+ THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
20
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
21
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
22
+ MERCHANTABLITY OR NON-INFRINGEMENT.
23
+ See the Apache 2 License for the specific language governing permissions and
24
+ limitations under the License.
25
+
26
+ ---
27
+
28
+ kaldi:
29
+
30
+ Each of the files comprising Kaldi v1.0 have been separately licensed by
31
+ their respective author(s) under the terms of the Apache License v 2.0 (set
32
+ forth below). The source code headers for each file specifies the individual
33
+ authors and source material for that file as well the corresponding copyright
34
+ notice. For reference purposes only: A cumulative list of all individual
35
+ contributors and original source material as well as the full text of the Apache
36
+ License v 2.0 are set forth below.
37
+
38
+ Individual Contributors (in alphabetical order)
39
+
40
+ Mohit Agarwal
41
+ Tanel Alumae
42
+ Gilles Boulianne
43
+ Lukas Burget
44
+ Dogan Can
45
+ Guoguo Chen
46
+ Gaofeng Cheng
47
+ Cisco Corporation
48
+ Pavel Denisov
49
+ Ilya Edrenkin
50
+ Ewald Enzinger
51
+ Joachim Fainberg
52
+ Daniel Galvez
53
+ Pegah Ghahremani
54
+ Arnab Ghoshal
55
+ Ondrej Glembek
56
+ Go Vivace Inc.
57
+ Allen Guo
58
+ Hossein Hadian
59
+ Lv Hang
60
+ Mirko Hannemann
61
+ Hendy Irawan
62
+ Navdeep Jaitly
63
+ Johns Hopkins University
64
+ Shiyin Kang
65
+ Kirill Katsnelson
66
+ Tom Ko
67
+ Danijel Korzinek
68
+ Gaurav Kumar
69
+ Ke Li
70
+ Matthew Maciejewski
71
+ Vimal Manohar
72
+ Yajie Miao
73
+ Microsoft Corporation
74
+ Petr Motlicek
75
+ Xingyu Na
76
+ Vincent Nguyen
77
+ Lucas Ondel
78
+ Vassil Panayotov
79
+ Vijayaditya Peddinti
80
+ Phonexia s.r.o.
81
+ Ondrej Platek
82
+ Daniel Povey
83
+ Yanmin Qian
84
+ Ariya Rastrow
85
+ Saarland University
86
+ Omid Sadjadi
87
+ Petr Schwarz
88
+ Yiwen Shao
89
+ Nickolay V. Shmyrev
90
+ Jan Silovsky
91
+ Eduardo Silva
92
+ Peter Smit
93
+ David Snyder
94
+ Alexander Solovets
95
+ Georg Stemmer
96
+ Pawel Swietojanski
97
+ Jan "Yenda" Trmal
98
+ Albert Vernon
99
+ Karel Vesely
100
+ Yiming Wang
101
+ Shinji Watanabe
102
+ Minhua Wu
103
+ Haihua Xu
104
+ Hainan Xu
105
+ Xiaohui Zhang
106
+
107
+ Other Source Material
108
+
109
+ This project includes a port and modification of materials from JAMA: A Java
110
+ Matrix Package under the following notice: "This software is a cooperative
111
+ product of The MathWorks and the National Institute of Standards and Technology
112
+ (NIST) which has been released to the public domain." This notice and the
113
+ original code is available at http://math.nist.gov/javanumerics/jama/
114
+
115
+ This project includes a modified version of code published in Malvar, H.,
116
+ "Signal processing with lapped transforms," Artech House, Inc., 1992. The
117
+ current copyright holder, Henrique S. Malvar, has given his permission for the
118
+ release of this modified version under the Apache License 2.0.
119
+
120
+ This project includes material from the OpenFST Library v1.2.7 available at
121
+ http://www.openfst.org and released under the Apache License v. 2.0.
122
+
123
+ [OpenFst COPYING file begins here]
124
+
125
+ Licensed under the Apache License, Version 2.0 (the "License");
126
+ you may not use these files except in compliance with the License.
127
+ You may obtain a copy of the License at
128
+
129
+ http://www.apache.org/licenses/LICENSE-2.0
130
+
131
+ Unless required by applicable law or agreed to in writing, software
132
+ distributed under the License is distributed on an "AS IS" BASIS,
133
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134
+ See the License for the specific language governing permissions and
135
+ limitations under the License.
136
+
137
+ Copyright 2005-2010 Google, Inc.
138
+
139
+ [OpenFst COPYING file ends here]
140
+
141
+ ---
142
+
143
+ CLAPACK:
144
+
145
+ Copyright (c) 1992-2008 The University of Tennessee. All rights reserved.
146
+
147
+ Redistribution and use in source and binary forms, with or without
148
+ modification, are permitted provided that the following conditions are
149
+ met:
150
+
151
+ - Redistributions of source code must retain the above copyright
152
+ notice, this list of conditions and the following disclaimer.
153
+
154
+ - Redistributions in binary form must reproduce the above copyright
155
+ notice, this list of conditions and the following disclaimer listed
156
+ in this license in the documentation and/or other materials
157
+ provided with the distribution.
158
+
159
+ - Neither the name of the copyright holders nor the names of its
160
+ contributors may be used to endorse or promote products derived from
161
+ this software without specific prior written permission.
162
+
163
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
164
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
165
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
166
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
167
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
168
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
169
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
170
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
171
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
172
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
173
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
174
+
175
+ ---
176
+
177
+ clapack-wasm:
178
+
179
+ Copyright [2020] Mathieu Hu, Laurent Pierron, Emmanuel Vincent, Denis Jouvet (INRIA)
180
+
181
+ Licensed under the Apache License, Version 2.0 (the "License");
182
+ you may not use this file except in compliance with the License.
183
+ You may obtain a copy of the License at
184
+
185
+ http://www.apache.org/licenses/LICENSE-2.0
186
+
187
+ Unless required by applicable law or agreed to in writing, software
188
+ distributed under the License is distributed on an "AS IS" BASIS,
189
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
190
+ See the License for the specific language governing permissions and
191
+ limitations under the License.
192
+
193
+ ---
194
+
195
+ zlib:
196
+
197
+ Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
198
+
199
+ This software is provided 'as-is', without any express or implied
200
+ warranty. In no event will the authors be held liable for any damages
201
+ arising from the use of this software.
202
+
203
+ Permission is granted to anyone to use this software for any purpose,
204
+ including commercial applications, and to alter it and redistribute it
205
+ freely, subject to the following restrictions:
206
+
207
+ 1. The origin of this software must not be misrepresented; you must not
208
+ claim that you wrote the original software. If you use this software
209
+ in a product, an acknowledgment in the product documentation would be
210
+ appreciated but is not required.
211
+ 2. Altered source versions must be plainly marked as such, and must not be
212
+ misrepresented as being the original software.
213
+ 3. This notice may not be removed or altered from any source distribution.
214
+
215
+ ---
216
+
217
+ libarchive:
218
+
219
+ Copyright (c) 2003-2020 Tim Kientzle et al.
220
+ All rights reserved.
221
+
222
+ Redistribution and use in source and binary forms, with or without
223
+ modification, are permitted provided that the following conditions
224
+ are met:
225
+ 1. Redistributions of source code must retain the above copyright
226
+ notice, this list of conditions and the following disclaimer
227
+ in this position and unchanged.
228
+ 2. Redistributions in binary form must reproduce the above copyright
229
+ notice, this list of conditions and the following disclaimer in the
230
+ documentation and/or other materials provided with the distribution.
231
+
232
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
233
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
234
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
235
+ IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
236
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
237
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
238
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
239
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
240
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
241
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
242
+
243
+ ---
244
+
245
+ emscripten and musl:
246
+
247
+ Copyright (c) 2010-2014 Emscripten authors, see AUTHORS file.
248
+ Copyright © 2005-2014 Rich Felker, et al.
249
+
250
+ Permission is hereby granted, free of charge, to any person obtaining a copy
251
+ of this software and associated documentation files (the "Software"), to
252
+ deal in the Software without restriction, including without limitation the
253
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
254
+ sell copies of the Software, and to permit persons to whom the Software is
255
+ furnished to do so, subject to the following conditions:
256
+
257
+ The above copyright notice and this permission notice shall be included in
258
+ all copies or substantial portions of the Software.
259
+
260
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
261
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
262
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
263
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
264
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
265
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
266
+ IN THE SOFTWARE.
267
+
268
+ ---
@@ -1,17 +0,0 @@
1
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
- /**
3
- * ANDA UM PASSO NUM ANEL — passar do último volta ao primeiro, e antes do primeiro está o último.
4
- *
5
- * Era `clampIndex`, que prendia nas pontas "porque o original nunca faz wrap em lista de itens". O ADR-0044
6
- * derrubou isso, e o motivo é de uso, não de gosto: com UM MENU POR TELA, toda lista pode ser um anel, e o
7
- * item mais indesejado (`quit`) fica a UMA tecla do mais urgente (`resume`) sem estar perto dele. Quem não
8
- * enxerga não varre a lista à procura do fim — ela pergunta "e antes do primeiro?" e recebe uma resposta.
9
- *
10
- * A XAG 106 permite o anel exatamente para menu LINEAR, e o proíbe para grade 2-D de blocos: ali "voltar ao
11
- * primeiro" não tem significado espacial.
12
- *
13
- * ⚠️ NAVEGAR LISTA É ANEL; AJUSTAR VALOR É LIMITE. `selectStep` e `rangeStep` (em ui/menu-nav) continuam
14
- * presos nas pontas, e a diferença é real: passar do volume máximo para o mínimo com uma tecla é um susto,
15
- * não uma conveniência — e num jogo com pistas de áudio para cegueira, um susto de volume é dano.
16
- */
17
- export declare function passoNoAnel(len: number, idx: number, delta: number): number;
@@ -1,31 +0,0 @@
1
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
- // core/anel — A CONTA DO ANEL, e nada mais.
3
- //
4
- // Ela morava em `ui/menu-nav`, e saiu de lá quando o item 7 do ADR-0044 fez `ui/pause-icons` precisar dela
5
- // também: `menu-nav` já importava `pause-icons` (por `mostrarSubmenuDaPausa` e `PM_ITENS_VISIVEIS`), e a volta
6
- // fecharia um CICLO de importação. Ciclo em ESM não estoura na hora — estoura no boot, em TDZ, quando um dos
7
- // dois lê o outro durante a avaliação. É o tipo de defeito que aparece uma vez, em produção, e some ao ser
8
- // investigado.
9
- //
10
- // Módulo-folha de propósito: zero dependências, uma função, nenhuma I/O. `ui/menu-nav` continua a
11
- // reexportando, porque é de lá que os testes e os outros menus já a importavam — o nome público não muda.
12
- /**
13
- * ANDA UM PASSO NUM ANEL — passar do último volta ao primeiro, e antes do primeiro está o último.
14
- *
15
- * Era `clampIndex`, que prendia nas pontas "porque o original nunca faz wrap em lista de itens". O ADR-0044
16
- * derrubou isso, e o motivo é de uso, não de gosto: com UM MENU POR TELA, toda lista pode ser um anel, e o
17
- * item mais indesejado (`quit`) fica a UMA tecla do mais urgente (`resume`) sem estar perto dele. Quem não
18
- * enxerga não varre a lista à procura do fim — ela pergunta "e antes do primeiro?" e recebe uma resposta.
19
- *
20
- * A XAG 106 permite o anel exatamente para menu LINEAR, e o proíbe para grade 2-D de blocos: ali "voltar ao
21
- * primeiro" não tem significado espacial.
22
- *
23
- * ⚠️ NAVEGAR LISTA É ANEL; AJUSTAR VALOR É LIMITE. `selectStep` e `rangeStep` (em ui/menu-nav) continuam
24
- * presos nas pontas, e a diferença é real: passar do volume máximo para o mínimo com uma tecla é um susto,
25
- * não uma conveniência — e num jogo com pistas de áudio para cegueira, um susto de volume é dano.
26
- */
27
- export function passoNoAnel(len, idx, delta) {
28
- if (len <= 0)
29
- return 0;
30
- return ((idx + delta) % len + len) % len; // o `+ len` extra: `%` de negativo em JS devolve negativo
31
- }
@@ -1,21 +0,0 @@
1
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
- export type CollisionCtx = {
3
- world: number[][];
4
- W: number;
5
- H: number;
6
- isWheelchair: () => boolean;
7
- isModoCego: () => boolean;
8
- caneDiv: () => number;
9
- wcSolid: () => ReadonlySet<string>;
10
- gateTiles: () => ReadonlySet<string>;
11
- gateOpen: () => boolean;
12
- };
13
- export declare function initCollision(ctx: CollisionCtx): void;
14
- export declare const caneBlockPx: () => number;
15
- export declare const isSolidType: (t: number) => boolean;
16
- export declare const tileAt: (tx: number, ty: number) => number;
17
- export declare const solidTile: (x: number, y: number) => boolean;
18
- export declare const solidAt: (tx: number, ty: number) => boolean;
19
- export declare const surfTop: (x: number, y: number) => boolean;
20
- export declare const isWcRampRiser: (col: number, row: number) => boolean;
21
- export declare function rampSurfaceY(cx: number, py: number): number | null;