@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.
- package/README.md +89 -78
- package/app/css/style.css +584 -374
- package/app/public/vendor/fonts/bitter-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/bitter-var.woff2 +0 -0
- package/app/public/vendor/fonts/bodonimoda-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/bodonimoda-var.woff2 +0 -0
- package/app/public/vendor/fonts/cat-abril_fatface-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-abril_fatface-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-adlam_display-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-adlam_display-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-agu_display-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-agu_display-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-alfa_slab_one-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-alfa_slab_one-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-are_you_serious-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-are_you_serious-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-asimovian-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-asimovian-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-atkinson_hyperlegible_next-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-atkinson_hyperlegible_next-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bakbak_one-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bakbak_one-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bangers-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bangers-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-barriecito-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-barriecito-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-berkshire_swash-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-berkshire_swash-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bevan-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bevan-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bitcount-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bitcount-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bowlby_one_sc-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bowlby_one_sc-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bungee_shade-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-bungee_shade-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-charm-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-charm-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-charm-700-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-charm-700.woff2 +0 -0
- package/app/public/vendor/fonts/cat-cherry_bomb_one-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-cherry_bomb_one-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-chokokutai-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-chokokutai-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-chonburi-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-chonburi-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-climate_crisis-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-climate_crisis-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-cookie-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-dela_gothic_one-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-dela_gothic_one-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-fascinate_inline-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-fascinate_inline-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ga_maamli-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ga_maamli-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-itim-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-itim-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-jacquard_24-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-jacquard_24-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-kablammo-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-kablammo-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-kalam-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-kalam-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-kalam-700-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-kalam-700.woff2 +0 -0
- package/app/public/vendor/fonts/cat-katibeh-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-katibeh-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-lemonada-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-lemonada-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-lilita_one-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-lilita_one-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-lobster-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-lobster-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-luckiest_guy-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-luckiest_guy-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-marhey-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-marhey-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-modak-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-modak-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-momo_signature-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-momo_signature-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-monofett-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-monofett-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-monomakh-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-monomakh-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-monoton-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-monoton-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-nerko_one-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-nerko_one-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_adlam-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_adlam-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_arabic-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_arabic-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_devanagari-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_devanagari-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_hebrew-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_hebrew-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_jp-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_jp-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_khmer-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_khmer-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_kr-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_kr-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_sc-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_sc-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_thai-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-noto_sans_thai-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ole-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ole-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-pacifico-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-pacifico-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-patrick_hand-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-patrick_hand-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-petit_formal_script-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-petit_formal_script-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-pixelify_sans-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-pixelify_sans-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-plaster-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-plaster-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_ar_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_at-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_at_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_au_nsw-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_au_nsw_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_au_qld-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_au_qld_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_au_sa-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_au_sa_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_au_tas-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_au_tas_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_au_vic-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_au_vic_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_be_vlg-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_be_vlg_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_be_wal-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_be_wal_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_br_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_ca_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_cl_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_co_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_cu_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_cz-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_cz_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_de_grund-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_de_grund_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_de_la-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_de_la_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_de_sas-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_de_sas_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_de_va-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_de_va_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_dk_loopet-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_dk_loopet_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_dk_uloopet-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_dk_uloopet_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_es_deco_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_es_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_fr_moderne-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_fr_moderne_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_fr_trad-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_fr_trad_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_gb_j_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_gb_s_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_hr-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_hr_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_hr_lijeva-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_hr_lijeva_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_hu-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_hu_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_id-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_id_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_ie-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_ie_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_in-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_in_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_is-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_is_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_it_moderna-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_it_moderna_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_it_trad-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_it_trad_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_mx_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_ng_modern-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_ng_modern_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_nl-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_nl_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_no-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_no_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_nz-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_nz_basic-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_nz_basic_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_nz_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_pe_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_pl-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_pl_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_pt_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_ro-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_ro_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_sk-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_sk_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_tz-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_tz_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_us_modern_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_us_trad_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_vn-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_vn_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_za-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-playwrite_za_guides-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-potta_one-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-potta_one-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ranchers-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ranchers-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ranga-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ranga-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ranga-700-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ranga-700.woff2 +0 -0
- package/app/public/vendor/fonts/cat-risque-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-risque-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-rowdies-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-rowdies-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-rowdies-700-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-rowdies-700.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ruge_boogie-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ruge_boogie-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ruslan_display-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-ruslan_display-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-sacramento-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-sacramento-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-sancreek-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-sancreek-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-sankofa_display-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-sankofa_display-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-sedgwick_ave_display-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-sedgwick_ave_display-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-shantell_sans-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-shantell_sans-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-smokum-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-smokum-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-solitreo-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-solitreo-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-spicy_rice-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-spicy_rice-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-sriracha-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-sriracha-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-srisakdi-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-srisakdi-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-srisakdi-700-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-srisakdi-700.woff2 +0 -0
- package/app/public/vendor/fonts/cat-stix_two_math-400-0.woff2 +0 -0
- package/app/public/vendor/fonts/cat-tillana-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-tillana-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-tillana-700-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-tillana-700.woff2 +0 -0
- package/app/public/vendor/fonts/cat-titan_one-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-titan_one-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-yatra_one-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-yatra_one-400.woff2 +0 -0
- package/app/public/vendor/fonts/cat-yomogi-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/cat-yomogi-400.woff2 +0 -0
- package/app/public/vendor/fonts/dmserifdisplay-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/dmserifdisplay-400.woff2 +0 -0
- package/app/public/vendor/fonts/domine-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/domine-var.woff2 +0 -0
- package/app/public/vendor/fonts/fraunces-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/fraunces-var.woff2 +0 -0
- package/app/public/vendor/fonts/fredoka-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/fredoka-var.woff2 +0 -0
- package/app/public/vendor/fonts/jakarta-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/jakarta-var.woff2 +0 -0
- package/app/public/vendor/fonts/lora-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/lora-var.woff2 +0 -0
- package/app/public/vendor/fonts/merriweather-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/merriweather-var.woff2 +0 -0
- package/app/public/vendor/fonts/notosans-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/notosans-var.woff2 +0 -0
- package/app/public/vendor/fonts/nunito-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/nunito-var.woff2 +0 -0
- package/app/public/vendor/fonts/playfair-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/playfair-var.woff2 +0 -0
- package/app/public/vendor/fonts/playwrite-cu.woff2 +0 -0
- package/app/public/vendor/fonts/playwrite-es-deco.woff2 +0 -0
- package/app/public/vendor/fonts/playwrite-es.woff2 +0 -0
- package/app/public/vendor/fonts/playwrite-gb-j.woff2 +0 -0
- package/app/public/vendor/fonts/playwrite-gb-s.woff2 +0 -0
- package/app/public/vendor/fonts/playwrite-pe.woff2 +0 -0
- package/app/public/vendor/fonts/playwrite-pt.woff2 +0 -0
- package/app/public/vendor/fonts/quicksand-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/quicksand-var.woff2 +0 -0
- package/app/public/vendor/fonts/robotoflex-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/robotoflex-var.woff2 +0 -0
- package/app/public/vendor/fonts/sora-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/sora-var.woff2 +0 -0
- package/app/public/vendor/fonts/spacegrotesk-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/spacegrotesk-var.woff2 +0 -0
- package/app/public/vendor/fonts/spectral-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/spectral-400.woff2 +0 -0
- package/app/public/vendor/fonts/spectral-700-ext.woff2 +0 -0
- package/app/public/vendor/fonts/spectral-700.woff2 +0 -0
- package/app/public/vendor/fonts/teachers-var-ext.woff2 +0 -0
- package/app/public/vendor/fonts/teachers-var.woff2 +0 -0
- package/app/public/vendor/fonts/ubuntu-400-ext.woff2 +0 -0
- package/app/public/vendor/fonts/ubuntu-400.woff2 +0 -0
- package/app/public/vendor/fonts/ubuntu-700-ext.woff2 +0 -0
- package/app/public/vendor/fonts/ubuntu-700.woff2 +0 -0
- package/app/public/vendor/fonts.css +1167 -51
- package/dist-pkg/boot/create-game.d.ts +467 -162
- package/dist-pkg/boot/create-game.js +3563 -426
- package/dist-pkg/core/a11y-sr.d.ts +25 -3
- package/dist-pkg/core/a11y-sr.js +40 -19
- package/dist-pkg/core/accessible-label.d.ts +17 -0
- package/dist-pkg/core/accessible-label.js +37 -0
- package/dist-pkg/core/accommodation-subjects.d.ts +26 -0
- package/dist-pkg/core/accommodation-subjects.js +32 -0
- package/dist-pkg/core/accommodations.d.ts +107 -0
- package/dist-pkg/core/accommodations.js +178 -0
- package/dist-pkg/core/actions.d.ts +75 -51
- package/dist-pkg/core/actions.js +98 -69
- package/dist-pkg/core/calm-mode.d.ts +31 -0
- package/dist-pkg/core/calm-mode.js +47 -0
- package/dist-pkg/core/camera-cycle.d.ts +15 -0
- package/dist-pkg/core/camera-cycle.js +7 -0
- package/dist-pkg/core/caption-duration.d.ts +15 -0
- package/dist-pkg/core/caption-duration.js +19 -0
- package/dist-pkg/core/cartridge-problems.d.ts +34 -0
- package/dist-pkg/core/cartridge-problems.js +53 -0
- package/dist-pkg/core/constants.d.ts +0 -54
- package/dist-pkg/core/constants.js +9 -76
- package/dist-pkg/core/contract.d.ts +143 -163
- package/dist-pkg/core/contract.js +223 -207
- package/dist-pkg/core/dom-query.d.ts +4 -4
- package/dist-pkg/core/dom-query.js +12 -20
- package/dist-pkg/core/entity.d.ts +62 -77
- package/dist-pkg/core/entity.js +18 -32
- package/dist-pkg/core/escape-html.d.ts +9 -10
- package/dist-pkg/core/escape-html.js +16 -20
- package/dist-pkg/core/flash-threshold.d.ts +17 -0
- package/dist-pkg/core/flash-threshold.js +113 -0
- package/dist-pkg/core/game-speed.d.ts +11 -0
- package/dist-pkg/core/game-speed.js +16 -0
- package/dist-pkg/core/genres.d.ts +20 -0
- package/dist-pkg/core/genres.js +44 -0
- package/dist-pkg/core/i18n.d.ts +87 -41
- package/dist-pkg/core/i18n.js +206 -153
- package/dist-pkg/core/loop.d.ts +17 -6
- package/dist-pkg/core/loop.js +26 -26
- package/dist-pkg/core/pause-icon-catalogue.d.ts +15 -0
- package/dist-pkg/core/pause-icon-catalogue.js +54 -0
- package/dist-pkg/core/ring.d.ts +17 -0
- package/dist-pkg/core/ring.js +29 -0
- package/dist-pkg/core/rng.d.ts +7 -12
- package/dist-pkg/core/rng.js +23 -53
- package/dist-pkg/core/route.d.ts +26 -26
- package/dist-pkg/core/route.js +126 -121
- package/dist-pkg/core/scenes.d.ts +37 -40
- package/dist-pkg/core/scenes.js +41 -43
- package/dist-pkg/core/screens.d.ts +4 -4
- package/dist-pkg/core/screens.js +11 -16
- package/dist-pkg/core/setting-defaults.d.ts +61 -0
- package/dist-pkg/core/setting-defaults.js +66 -0
- package/dist-pkg/core/speech-rate.d.ts +29 -0
- package/dist-pkg/core/speech-rate.js +47 -0
- package/dist-pkg/core/state.d.ts +118 -118
- package/dist-pkg/core/state.js +322 -297
- package/dist-pkg/core/visual-cycles.d.ts +30 -0
- package/dist-pkg/core/visual-cycles.js +52 -0
- package/dist-pkg/core/visual-state.d.ts +13 -0
- package/dist-pkg/core/visual-state.js +6 -0
- package/dist-pkg/educational/activities-registry.d.ts +1 -1
- package/dist-pkg/educational/activities-registry.js +9 -8
- package/dist-pkg/educational/adaptive-engine.d.ts +11 -11
- package/dist-pkg/educational/adaptive-engine.js +17 -17
- package/dist-pkg/educational/segment-bar.d.ts +12 -12
- package/dist-pkg/educational/segment-bar.js +9 -9
- package/dist-pkg/i18n/en.js +321 -215
- package/dist-pkg/i18n/es.js +320 -215
- package/dist-pkg/i18n/pt.js +342 -215
- package/dist-pkg/input/default-bindings.d.ts +37 -38
- package/dist-pkg/input/default-bindings.js +127 -144
- package/dist-pkg/input/devices.d.ts +7 -7
- package/dist-pkg/input/devices.js +17 -16
- package/dist-pkg/input/edges.d.ts +23 -32
- package/dist-pkg/input/edges.js +23 -28
- package/dist-pkg/input/empathy-filter.d.ts +22 -0
- package/dist-pkg/input/empathy-filter.js +34 -0
- package/dist-pkg/input/face-map.d.ts +96 -0
- package/dist-pkg/input/face-map.js +255 -0
- package/dist-pkg/input/face-signals.d.ts +40 -0
- package/dist-pkg/input/face-signals.js +48 -0
- package/dist-pkg/input/gamepad.d.ts +164 -145
- package/dist-pkg/input/gamepad.js +351 -559
- package/dist-pkg/input/gaze-cycle.d.ts +64 -0
- package/dist-pkg/input/gaze-cycle.js +133 -0
- package/dist-pkg/input/gaze-relative.d.ts +68 -0
- package/dist-pkg/input/gaze-relative.js +142 -0
- package/dist-pkg/input/hand-map.d.ts +28 -0
- package/dist-pkg/input/hand-map.js +142 -0
- package/dist-pkg/input/input-cooldown.d.ts +17 -0
- package/dist-pkg/input/input-cooldown.js +39 -0
- package/dist-pkg/input/keyboard-runtime.d.ts +18 -20
- package/dist-pkg/input/keyboard-runtime.js +23 -27
- package/dist-pkg/input/keyboard.d.ts +68 -62
- package/dist-pkg/input/keyboard.js +83 -105
- package/dist-pkg/input/keydown.d.ts +124 -132
- package/dist-pkg/input/keydown.js +283 -288
- package/dist-pkg/input/latch-edge.d.ts +25 -21
- package/dist-pkg/input/latch-edge.js +33 -35
- package/dist-pkg/input/latch-scope.d.ts +43 -47
- package/dist-pkg/input/latch-scope.js +66 -75
- package/dist-pkg/input/latch-store.d.ts +28 -29
- package/dist-pkg/input/latch-store.js +44 -47
- package/dist-pkg/input/latch-sync.d.ts +28 -29
- package/dist-pkg/input/latch-sync.js +25 -25
- package/dist-pkg/input/latch.d.ts +14 -17
- package/dist-pkg/input/latch.js +29 -37
- package/dist-pkg/input/pad-defaults.d.ts +13 -16
- package/dist-pkg/input/pad-defaults.js +21 -28
- package/dist-pkg/input/pad-reading.d.ts +76 -0
- package/dist-pkg/input/pad-reading.js +164 -0
- package/dist-pkg/input/pad-wizard.d.ts +96 -0
- package/dist-pkg/input/pad-wizard.js +205 -0
- package/dist-pkg/input/pointer-space.d.ts +19 -20
- package/dist-pkg/input/pointer-space.js +27 -32
- package/dist-pkg/input/pointer.d.ts +39 -40
- package/dist-pkg/input/pointer.js +42 -45
- package/dist-pkg/input/state.d.ts +101 -89
- package/dist-pkg/input/state.js +54 -134
- package/dist-pkg/input/switch-scan.d.ts +42 -0
- package/dist-pkg/input/switch-scan.js +54 -0
- package/dist-pkg/input/synthetic-source.d.ts +42 -0
- package/dist-pkg/input/synthetic-source.js +57 -0
- package/dist-pkg/input/touch-bindings.d.ts +127 -113
- package/dist-pkg/input/touch-bindings.js +158 -173
- package/dist-pkg/input/touch.d.ts +130 -70
- package/dist-pkg/input/touch.js +321 -123
- package/dist-pkg/input/transport-in-use.d.ts +107 -0
- package/dist-pkg/input/transport-in-use.js +130 -0
- package/dist-pkg/input/transports.d.ts +96 -114
- package/dist-pkg/input/transports.js +104 -106
- package/dist-pkg/input/virtual-controller.d.ts +46 -0
- package/dist-pkg/input/virtual-controller.js +41 -0
- package/dist-pkg/input/vocabulary-migration.d.ts +50 -49
- package/dist-pkg/input/vocabulary-migration.js +80 -79
- package/dist-pkg/input/voice-map.d.ts +43 -0
- package/dist-pkg/input/voice-map.js +125 -0
- package/dist-pkg/platform/audio-ambient.d.ts +13 -1
- package/dist-pkg/platform/audio-ambient.js +11 -13
- package/dist-pkg/platform/audio-earcons.d.ts +20 -19
- package/dist-pkg/platform/audio-earcons.js +51 -42
- package/dist-pkg/platform/audio-jingles.js +9 -10
- package/dist-pkg/platform/audio-mixer.d.ts +14 -2
- package/dist-pkg/platform/audio-mixer.js +36 -39
- package/dist-pkg/platform/audio-sonar.d.ts +96 -113
- package/dist-pkg/platform/audio-sonar.js +245 -238
- package/dist-pkg/platform/audio.d.ts +53 -19
- package/dist-pkg/platform/audio.js +161 -169
- package/dist-pkg/platform/flash-sampler.d.ts +19 -0
- package/dist-pkg/platform/flash-sampler.js +79 -0
- package/dist-pkg/platform/guide-intensity.d.ts +26 -27
- package/dist-pkg/platform/guide-intensity.js +50 -52
- package/dist-pkg/platform/heavy-catalogue.d.ts +31 -0
- package/dist-pkg/platform/heavy-catalogue.js +223 -0
- package/dist-pkg/platform/heavy-mirror.d.ts +26 -0
- package/dist-pkg/platform/heavy-mirror.js +76 -0
- package/dist-pkg/platform/heavy.d.ts +104 -0
- package/dist-pkg/platform/heavy.js +169 -0
- package/dist-pkg/platform/interruptible-speech.d.ts +16 -16
- package/dist-pkg/platform/interruptible-speech.js +50 -51
- package/dist-pkg/platform/kokoro-port.d.ts +27 -0
- package/dist-pkg/platform/kokoro-port.js +50 -0
- package/dist-pkg/platform/kokoro-runtime.d.ts +20 -0
- package/dist-pkg/platform/kokoro-runtime.js +52 -0
- package/dist-pkg/platform/kokoro.d.ts +70 -0
- package/dist-pkg/platform/kokoro.js +133 -0
- package/dist-pkg/platform/listener-scope.d.ts +12 -0
- package/dist-pkg/platform/listener-scope.js +81 -0
- package/dist-pkg/platform/locale-host.d.ts +10 -0
- package/dist-pkg/platform/locale-host.js +34 -0
- package/dist-pkg/platform/microphone.d.ts +51 -0
- package/dist-pkg/platform/microphone.js +118 -0
- package/dist-pkg/platform/onnx-runtime.d.ts +34 -0
- package/dist-pkg/platform/onnx-runtime.js +42 -0
- package/dist-pkg/platform/reading-in-worker.d.ts +40 -0
- package/dist-pkg/platform/reading-in-worker.js +87 -0
- package/dist-pkg/platform/reading-model.d.ts +73 -0
- package/dist-pkg/platform/reading-model.js +247 -0
- package/dist-pkg/platform/reading-runtime.d.ts +24 -0
- package/dist-pkg/platform/reading-runtime.js +159 -0
- package/dist-pkg/platform/reading-worker.d.ts +41 -0
- package/dist-pkg/platform/reading-worker.js +58 -0
- package/dist-pkg/platform/reading.d.ts +69 -0
- package/dist-pkg/platform/reading.js +128 -0
- package/dist-pkg/platform/speech-recognition.d.ts +51 -0
- package/dist-pkg/platform/speech-recognition.js +84 -0
- package/dist-pkg/platform/speech.d.ts +14 -1
- package/dist-pkg/platform/speech.js +13 -13
- package/dist-pkg/platform/storage-keys.d.ts +96 -0
- package/dist-pkg/platform/storage-keys.js +106 -0
- package/dist-pkg/platform/storage.d.ts +46 -111
- package/dist-pkg/platform/storage.js +104 -169
- package/dist-pkg/platform/tts.d.ts +51 -38
- package/dist-pkg/platform/tts.js +217 -119
- package/dist-pkg/platform/vision-loop.d.ts +23 -0
- package/dist-pkg/platform/vision-loop.js +56 -0
- package/dist-pkg/platform/vision.d.ts +132 -0
- package/dist-pkg/platform/vision.js +117 -0
- package/dist-pkg/platform/voice-listener.d.ts +36 -0
- package/dist-pkg/platform/voice-listener.js +88 -0
- package/dist-pkg/platform/voice-plan.d.ts +6 -102
- package/dist-pkg/platform/voice-plan.js +9 -151
- package/dist-pkg/platform/vosk-runtime.d.ts +71 -0
- package/dist-pkg/platform/vosk-runtime.js +93 -0
- package/dist-pkg/render/canvas.d.ts +13 -7
- package/dist-pkg/render/canvas.js +13 -13
- package/dist-pkg/render/crt.d.ts +46 -12
- package/dist-pkg/render/crt.js +82 -80
- package/dist-pkg/render/cvd-matrices.d.ts +18 -18
- package/dist-pkg/render/cvd-matrices.js +33 -38
- package/dist-pkg/render/hc-role-data.d.ts +7 -7
- package/dist-pkg/render/hc-role-data.js +14 -14
- package/dist-pkg/render/high-contrast.d.ts +66 -54
- package/dist-pkg/render/high-contrast.js +221 -216
- package/dist-pkg/render/low-vision-drawing.d.ts +5 -0
- package/dist-pkg/render/low-vision-drawing.js +46 -0
- package/dist-pkg/render/lq-filter.d.ts +32 -20
- package/dist-pkg/render/lq-filter.js +59 -65
- package/dist-pkg/render/port.d.ts +86 -88
- package/dist-pkg/render/port.js +17 -23
- package/dist-pkg/render/screen-pipeline.d.ts +42 -42
- package/dist-pkg/render/screen-pipeline.js +80 -87
- package/dist-pkg/render/sprite-fx.d.ts +2 -1
- package/dist-pkg/render/sprite-fx.js +16 -14
- package/dist-pkg/render/viewports.d.ts +20 -15
- package/dist-pkg/render/viewports.js +83 -114
- package/dist-pkg/render/viz-axes-labels.d.ts +47 -0
- package/dist-pkg/render/viz-axes-labels.js +88 -0
- package/dist-pkg/render/viz-axes.d.ts +80 -86
- package/dist-pkg/render/viz-axes.js +115 -116
- package/dist-pkg/render/viz-modes.d.ts +28 -29
- package/dist-pkg/render/viz-modes.js +40 -45
- package/dist-pkg/render/viz-refusal.d.ts +32 -0
- package/dist-pkg/render/viz-refusal.js +57 -0
- package/dist-pkg/render/viz-setters.d.ts +104 -66
- package/dist-pkg/render/viz-setters.js +182 -191
- package/dist-pkg/ui/aac-sets.d.ts +40 -0
- package/dist-pkg/ui/aac-sets.js +49 -0
- package/dist-pkg/ui/audio-choices.d.ts +63 -0
- package/dist-pkg/ui/audio-choices.js +94 -0
- package/dist-pkg/ui/audio-rows-that-apply.d.ts +12 -0
- package/dist-pkg/ui/audio-rows-that-apply.js +43 -0
- package/dist-pkg/ui/camera-control.d.ts +6 -0
- package/dist-pkg/ui/camera-control.js +14 -0
- package/dist-pkg/ui/changed-mark.d.ts +9 -8
- package/dist-pkg/ui/changed-mark.js +22 -53
- package/dist-pkg/ui/control-choices.d.ts +37 -0
- package/dist-pkg/ui/control-choices.js +84 -0
- package/dist-pkg/ui/debug-panel.d.ts +59 -43
- package/dist-pkg/ui/debug-panel.js +68 -69
- package/dist-pkg/ui/dom.d.ts +10 -14
- package/dist-pkg/ui/dom.js +10 -47
- package/dist-pkg/ui/drawing-problems.d.ts +25 -0
- package/dist-pkg/ui/drawing-problems.js +93 -0
- package/dist-pkg/ui/eye-control.d.ts +36 -0
- package/dist-pkg/ui/eye-control.js +178 -0
- package/dist-pkg/ui/face-control.d.ts +25 -0
- package/dist-pkg/ui/face-control.js +183 -0
- package/dist-pkg/ui/focus-trap.d.ts +39 -49
- package/dist-pkg/ui/focus-trap.js +56 -65
- package/dist-pkg/ui/fonts.d.ts +118 -63
- package/dist-pkg/ui/fonts.js +267 -111
- package/dist-pkg/ui/game-options.d.ts +42 -0
- package/dist-pkg/ui/game-options.js +138 -0
- package/dist-pkg/ui/gaze-overlay.d.ts +64 -0
- package/dist-pkg/ui/gaze-overlay.js +165 -0
- package/dist-pkg/ui/hand-control.d.ts +25 -0
- package/dist-pkg/ui/hand-control.js +143 -0
- package/dist-pkg/ui/help-panel.d.ts +76 -0
- package/dist-pkg/ui/help-panel.js +232 -0
- package/dist-pkg/ui/hud-bands.d.ts +45 -0
- package/dist-pkg/ui/hud-bands.js +108 -0
- package/dist-pkg/ui/hud.d.ts +73 -70
- package/dist-pkg/ui/hud.js +94 -98
- package/dist-pkg/ui/item-announcement.d.ts +13 -12
- package/dist-pkg/ui/item-announcement.js +25 -26
- package/dist-pkg/ui/latch-refusal.d.ts +22 -21
- package/dist-pkg/ui/latch-refusal.js +37 -37
- package/dist-pkg/ui/layout.d.ts +103 -28
- package/dist-pkg/ui/layout.js +114 -99
- package/dist-pkg/ui/locale-flags.d.ts +16 -0
- package/dist-pkg/ui/locale-flags.js +30 -0
- package/dist-pkg/ui/loop-crash.d.ts +17 -17
- package/dist-pkg/ui/loop-crash.js +33 -62
- package/dist-pkg/ui/menu-intent.d.ts +32 -0
- package/dist-pkg/ui/menu-intent.js +54 -0
- package/dist-pkg/ui/menu-items.d.ts +10 -0
- package/dist-pkg/ui/menu-items.js +22 -0
- package/dist-pkg/ui/menu-nav.d.ts +60 -90
- package/dist-pkg/ui/menu-nav.js +301 -274
- package/dist-pkg/ui/mobility-choices.d.ts +26 -0
- package/dist-pkg/ui/mobility-choices.js +41 -0
- package/dist-pkg/ui/motion-choices.d.ts +31 -0
- package/dist-pkg/ui/motion-choices.js +68 -0
- package/dist-pkg/ui/motion-scene.d.ts +24 -19
- package/dist-pkg/ui/motion-scene.js +29 -61
- package/dist-pkg/ui/mount-panel.d.ts +81 -0
- package/dist-pkg/ui/mount-panel.js +61 -0
- package/dist-pkg/ui/panel-shell.d.ts +65 -31
- package/dist-pkg/ui/panel-shell.js +92 -66
- package/dist-pkg/ui/panel-widgets.d.ts +116 -0
- package/dist-pkg/ui/panel-widgets.js +208 -0
- package/dist-pkg/ui/pause-buttons.d.ts +35 -0
- package/dist-pkg/ui/pause-buttons.js +66 -0
- package/dist-pkg/ui/pause-icons.d.ts +250 -343
- package/dist-pkg/ui/pause-icons.js +614 -605
- package/dist-pkg/ui/pause-markup.d.ts +86 -0
- package/dist-pkg/ui/pause-markup.js +125 -0
- package/dist-pkg/ui/reach-notice.d.ts +22 -23
- package/dist-pkg/ui/reach-notice.js +55 -58
- package/dist-pkg/ui/scan-overlay.d.ts +23 -0
- package/dist-pkg/ui/scan-overlay.js +42 -0
- package/dist-pkg/ui/settings-aac.d.ts +68 -0
- package/dist-pkg/ui/settings-aac.js +189 -0
- package/dist-pkg/ui/settings-audio.d.ts +91 -113
- package/dist-pkg/ui/settings-audio.js +407 -405
- package/dist-pkg/ui/settings-controls.d.ts +53 -92
- package/dist-pkg/ui/settings-controls.js +143 -215
- package/dist-pkg/ui/settings-empathy.d.ts +39 -30
- package/dist-pkg/ui/settings-empathy.js +53 -60
- package/dist-pkg/ui/settings-mobility.d.ts +195 -0
- package/dist-pkg/ui/settings-mobility.js +374 -0
- package/dist-pkg/ui/settings-motion.d.ts +91 -70
- package/dist-pkg/ui/settings-motion.js +287 -198
- package/dist-pkg/ui/settings-panel.d.ts +48 -45
- package/dist-pkg/ui/settings-panel.js +164 -93
- package/dist-pkg/ui/settings-typo.d.ts +28 -76
- package/dist-pkg/ui/settings-typo.js +145 -125
- package/dist-pkg/ui/settings-visual.d.ts +29 -87
- package/dist-pkg/ui/settings-visual.js +240 -193
- package/dist-pkg/ui/shell.d.ts +113 -134
- package/dist-pkg/ui/shell.js +143 -216
- package/dist-pkg/ui/simulation-list.d.ts +27 -0
- package/dist-pkg/ui/simulation-list.js +76 -0
- package/dist-pkg/ui/simulation-over-the-world.d.ts +23 -0
- package/dist-pkg/ui/simulation-over-the-world.js +131 -0
- package/dist-pkg/ui/simulation-refusal.d.ts +5 -31
- package/dist-pkg/ui/simulation-refusal.js +8 -56
- package/dist-pkg/ui/switchable-control.d.ts +11 -0
- package/dist-pkg/ui/switchable-control.js +19 -0
- package/dist-pkg/ui/title.d.ts +4 -4
- package/dist-pkg/ui/title.js +11 -13
- package/dist-pkg/ui/top-band.d.ts +24 -0
- package/dist-pkg/ui/top-band.js +100 -0
- package/dist-pkg/ui/typo-choices.d.ts +71 -0
- package/dist-pkg/ui/typo-choices.js +84 -0
- package/dist-pkg/ui/visual-axes-panel.d.ts +11 -47
- package/dist-pkg/ui/visual-axes-panel.js +12 -94
- package/dist-pkg/ui/visual-choices.d.ts +77 -0
- package/dist-pkg/ui/visual-choices.js +107 -0
- package/dist-pkg/ui/vlibras.d.ts +33 -10
- package/dist-pkg/ui/vlibras.js +58 -81
- package/dist-pkg/ui/voice-control.d.ts +46 -0
- package/dist-pkg/ui/voice-control.js +143 -0
- package/dist-pkg/ui/voice-settings.d.ts +96 -0
- package/dist-pkg/ui/voice-settings.js +302 -0
- package/dist-pkg/ui/where-the-child-is.d.ts +31 -0
- package/dist-pkg/ui/where-the-child-is.js +70 -0
- package/docs/CREDITS.md +198 -54
- package/docs/LICENSES.md +160 -145
- package/package.json +24 -25
- package/scripts/heavy-into-the-delivery.mjs +144 -0
- package/scripts/licences/Apache-2.0.txt +176 -0
- package/scripts/licences/GPL-3.0.txt +674 -0
- package/scripts/licences/MIT.txt +17 -0
- package/scripts/licences/third-party.mjs +287 -0
- package/scripts/licences/vosk-browser.NOTICE.txt +268 -0
- package/app/public/vendor/fonts/comicneue-400.woff2 +0 -0
- package/app/public/vendor/fonts/comicneue-700.woff2 +0 -0
- package/dist-pkg/core/anel.d.ts +0 -17
- package/dist-pkg/core/anel.js +0 -31
- package/dist-pkg/core/collision.d.ts +0 -21
- package/dist-pkg/core/collision.js +0 -62
- package/dist-pkg/core/layers.d.ts +0 -63
- package/dist-pkg/core/layers.js +0 -95
- package/dist-pkg/core/letter-grid.d.ts +0 -55
- package/dist-pkg/core/letter-grid.js +0 -116
- package/dist-pkg/core/password.d.ts +0 -34
- package/dist-pkg/core/password.js +0 -205
- package/dist-pkg/core/rotulo-acessivel.d.ts +0 -17
- package/dist-pkg/core/rotulo-acessivel.js +0 -41
- package/dist-pkg/core/run-state.d.ts +0 -115
- package/dist-pkg/core/run-state.js +0 -40
- package/dist-pkg/core/tiles.d.ts +0 -12
- package/dist-pkg/core/tiles.js +0 -61
- package/dist-pkg/core/world.d.ts +0 -4
- package/dist-pkg/core/world.js +0 -58
- package/dist-pkg/input/origem-sintetica.d.ts +0 -44
- package/dist-pkg/input/origem-sintetica.js +0 -60
- package/dist-pkg/input/transporte-em-uso.d.ts +0 -101
- package/dist-pkg/input/transporte-em-uso.js +0 -130
- package/dist-pkg/platform/audio-nav.d.ts +0 -51
- package/dist-pkg/platform/audio-nav.js +0 -99
- package/dist-pkg/platform/pesados-catalogo.d.ts +0 -14
- package/dist-pkg/platform/pesados-catalogo.js +0 -177
- package/dist-pkg/platform/pesados.d.ts +0 -31
- package/dist-pkg/platform/pesados.js +0 -75
- package/dist-pkg/platform/vozes-prontas.d.ts +0 -28
- package/dist-pkg/platform/vozes-prontas.js +0 -61
- package/dist-pkg/render/camera.d.ts +0 -58
- package/dist-pkg/render/camera.js +0 -105
- package/dist-pkg/render/cenario-data.d.ts +0 -127
- package/dist-pkg/render/cenario-data.js +0 -145
- package/dist-pkg/render/city-tex.d.ts +0 -63
- package/dist-pkg/render/city-tex.js +0 -228
- package/dist-pkg/render/city-tiles.d.ts +0 -11
- package/dist-pkg/render/city-tiles.js +0 -140
- package/dist-pkg/render/draw.d.ts +0 -149
- package/dist-pkg/render/draw.js +0 -231
- package/dist-pkg/render/fx.d.ts +0 -63
- package/dist-pkg/render/fx.js +0 -123
- package/dist-pkg/render/minimap.d.ts +0 -11
- package/dist-pkg/render/minimap.js +0 -94
- package/dist-pkg/render/parallax.d.ts +0 -85
- package/dist-pkg/render/parallax.js +0 -158
- package/dist-pkg/render/player-anim.d.ts +0 -71
- package/dist-pkg/render/player-anim.js +0 -152
- package/dist-pkg/render/recycling-tex.d.ts +0 -48
- package/dist-pkg/render/recycling-tex.js +0 -164
- package/dist-pkg/render/scene-city.d.ts +0 -77
- package/dist-pkg/render/scene-city.js +0 -181
- package/dist-pkg/render/scene-parallax.d.ts +0 -72
- package/dist-pkg/render/scene-parallax.js +0 -426
- package/dist-pkg/render/scene-sky.d.ts +0 -126
- package/dist-pkg/render/scene-sky.js +0 -295
- package/dist-pkg/render/set-cenario.d.ts +0 -54
- package/dist-pkg/render/set-cenario.js +0 -103
- package/dist-pkg/render/textures.d.ts +0 -75
- package/dist-pkg/render/textures.js +0 -240
- package/dist-pkg/render/title-scene.d.ts +0 -46
- package/dist-pkg/render/title-scene.js +0 -75
- package/dist-pkg/render/weather.d.ts +0 -96
- package/dist-pkg/render/weather.js +0 -171
- package/dist-pkg/render/wheelchair-sprites.d.ts +0 -32
- package/dist-pkg/render/wheelchair-sprites.js +0 -69
- package/dist-pkg/render/world-tex.d.ts +0 -18
- package/dist-pkg/render/world-tex.js +0 -87
- package/dist-pkg/ui/activities-menu.d.ts +0 -258
- package/dist-pkg/ui/activities-menu.js +0 -648
- package/dist-pkg/ui/caa-sets.d.ts +0 -39
- package/dist-pkg/ui/caa-sets.js +0 -65
- package/dist-pkg/ui/map-hub.d.ts +0 -56
- package/dist-pkg/ui/map-hub.js +0 -138
- package/dist-pkg/ui/settings-caa.d.ts +0 -45
- package/dist-pkg/ui/settings-caa.js +0 -137
- package/dist-pkg/ui/settings-motor.d.ts +0 -175
- package/dist-pkg/ui/settings-motor.js +0 -342
- package/dist-pkg/ui/webcam.d.ts +0 -7
- package/dist-pkg/ui/webcam.js +0 -93
|
@@ -1,43 +1,42 @@
|
|
|
1
1
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
2
2
|
import type { Action } from './actions.js';
|
|
3
|
-
/**
|
|
3
|
+
/** The name's grammatical gender. `n` = neuter/unknown (Portuguese uses the masculine as the default then). */
|
|
4
4
|
export type Gender = 'm' | 'f' | 'n';
|
|
5
|
-
/**
|
|
5
|
+
/** A name that can be SPOKEN (screen reader) and SIGNED (Libras, which translates the same text). */
|
|
6
6
|
export interface Speakable {
|
|
7
|
-
/**
|
|
7
|
+
/** The name, in the interface's language. Curriculum content is NOT translated — see pillar 3 of ADR-0010. */
|
|
8
8
|
readonly text: string;
|
|
9
9
|
readonly gender: Gender;
|
|
10
10
|
readonly plural: boolean;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* HOW A STEP IS COUNTED — and that is what decides the metric, which is not the same on every board.
|
|
14
14
|
*
|
|
15
|
-
* ⚠️
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* não é imprecisão, é mandar a criança para o lado errado com confiança.
|
|
15
|
+
* ⚠️ The grid had ONE fixed metric (Chebyshev), on the reasoning that on a grid a diagonal costs one step. True where the
|
|
16
|
+
* diagonal is legal. **False in a sliding puzzle**, where nothing moves diagonally: a piece two right and two down is 2
|
|
17
|
+
* away by Chebyshev and FOUR moves away. The sonar under-reported up to 2× — and under-reporting distance to someone who
|
|
18
|
+
* cannot see the screen is not imprecision, it is sending the child the wrong way with confidence.
|
|
20
19
|
*
|
|
21
|
-
* `grid`
|
|
20
|
+
* `grid` was never ONE thing. Whoever declares a grid declares how one walks on it.
|
|
22
21
|
*/
|
|
23
22
|
export type MoveRule = 'orthogonal' | 'diagonal' | 'free';
|
|
24
23
|
/**
|
|
25
|
-
*
|
|
24
|
+
* IN WHAT WORDS A DIRECTION IS SAID. Not the listener's preference: a property of the game's SPACE.
|
|
26
25
|
*
|
|
27
|
-
* `compass`
|
|
28
|
-
* `clock`
|
|
26
|
+
* `compass` north · south · east · west (+ zenith and nadir) — board, top-down, map, 3D
|
|
27
|
+
* `clock` "at 2 o'clock", "at 10 o'clock" — a 2D PLATFORMER, side view
|
|
29
28
|
*
|
|
30
|
-
* ⚠️
|
|
31
|
-
*
|
|
29
|
+
* ⚠️ In a platformer north and south mean nothing: the child is not looking at a map, they are looking from the side.
|
|
30
|
+
* The clock is the frame that view already uses, and gives 12 positions where the rose gives 8.
|
|
32
31
|
*
|
|
33
|
-
* ⚠️
|
|
34
|
-
*
|
|
32
|
+
* ⚠️ AND THE CLOCK ASSUMES READING AN ANALOGUE CLOCK, for an audience that includes early literacy. Not a reason to
|
|
33
|
+
* refuse it — a reason for the SPOKEN label to be tested with children (issue #7) before it is declared good.
|
|
35
34
|
*/
|
|
36
35
|
export type Frame = 'compass' | 'clock';
|
|
37
36
|
export type Topology =
|
|
38
37
|
/**
|
|
39
|
-
*
|
|
40
|
-
* `size`
|
|
38
|
+
* A discrete grid. Distance is in CELLS, and the metric comes from `move`.
|
|
39
|
+
* `size` is `[columns, rows]` or `[columns, rows, layers]`.
|
|
41
40
|
*/
|
|
42
41
|
{
|
|
43
42
|
readonly kind: 'grid';
|
|
@@ -46,8 +45,8 @@ export type Topology =
|
|
|
46
45
|
readonly frame: Frame;
|
|
47
46
|
}
|
|
48
47
|
/**
|
|
49
|
-
*
|
|
50
|
-
* `size`
|
|
48
|
+
* Continuous space. Distance is in world UNITS; `unit` says what a "step" is worth to the narrator.
|
|
49
|
+
* `size` is `[width, height]` or `[width, height, depth]`.
|
|
51
50
|
*/
|
|
52
51
|
| {
|
|
53
52
|
readonly kind: 'continuous';
|
|
@@ -56,43 +55,43 @@ export type Topology =
|
|
|
56
55
|
readonly move: MoveRule;
|
|
57
56
|
readonly frame: Frame;
|
|
58
57
|
}
|
|
59
|
-
/**
|
|
58
|
+
/** No space: an ORDERED list of targets. Distance is the difference of index, and there is no direction. */
|
|
60
59
|
| {
|
|
61
60
|
readonly kind: 'hotspots';
|
|
62
61
|
readonly order: readonly string[];
|
|
63
62
|
};
|
|
64
63
|
/**
|
|
65
|
-
*
|
|
64
|
+
* A position, in the declared topology's metric. In `hotspots`, `x` is the index and `y` is ignored.
|
|
66
65
|
*
|
|
67
|
-
* ⚠️
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
66
|
+
* ⚠️ A DELIBERATE ASYMMETRY WITH `size`. The EXTENT is a vector because the dimension varies and `size.length` is the
|
|
67
|
+
* one place it lives — otherwise "does it have depth?" would become `depth !== undefined` in every consumer. The POINT
|
|
68
|
+
* has named axes because code reads it all the time: `target.at.x` says what it is, `target.at[0]` makes you remember.
|
|
69
|
+
* The dimension is 2 or 3 and conformance refuses the rest, which closes the asymmetry: there is no `size` `Spot`
|
|
70
|
+
* cannot represent.
|
|
72
71
|
*/
|
|
73
72
|
export interface Spot {
|
|
74
73
|
readonly x: number;
|
|
75
74
|
readonly y: number;
|
|
76
75
|
readonly z?: number;
|
|
77
76
|
}
|
|
78
|
-
/**
|
|
77
|
+
/** The dimension the topology declares. `hotspots` has no space, so no dimension. */
|
|
79
78
|
export declare function dimension(t: Topology): number;
|
|
80
79
|
export type Role = 'hazard' | 'climb' | 'water' | 'goal' | 'gate' | 'key' | 'structure' | 'free';
|
|
81
80
|
/**
|
|
82
|
-
* ⚠️ `zenith`
|
|
83
|
-
* `
|
|
84
|
-
*
|
|
85
|
-
*
|
|
81
|
+
* ⚠️ `zenith` AND `nadir` EXIST BECAUSE `up`/`down` ALREADY MEAN TWO THINGS. `ACTIONS` (core/actions) has `up` and
|
|
82
|
+
* `down` as CONTROL ACTIONS — what the child presses — and the vertical axis of SPACE is something else entirely. On a
|
|
83
|
+
* flat world the ambiguity cost nothing; in three dimensions it would cost the worst kind of defect, one that reads right
|
|
84
|
+
* and does something else. Words of their own, before 3D arrives.
|
|
86
85
|
*/
|
|
87
86
|
export type Heading = 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w' | 'nw' | 'zenith' | 'nadir' | 'none';
|
|
88
87
|
/**
|
|
89
|
-
*
|
|
88
|
+
* WHERE A POINT LIES AS SEEN FROM ANOTHER, already in the frame the topology declares.
|
|
90
89
|
*
|
|
91
|
-
* ⚠️
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
90
|
+
* ⚠️ NOT THE FOCUS'S `heading`, and the difference is the defect this fixes. `Focus.heading` is where the child is
|
|
91
|
+
* FACING; this is where the TARGET is. The sonar needs the second and used to compute it by hand from a raw `x`, saying
|
|
92
|
+
* `left`/`right`/`ahead` — three words where the contract has eight, and MIXING FRAMES: left/right is relative to the
|
|
93
|
+
* screen, ahead is relative to the body. A blind child hearing both in one sentence cannot know which origin each one
|
|
94
|
+
* speaks from.
|
|
96
95
|
*/
|
|
97
96
|
export type Bearing = {
|
|
98
97
|
readonly kind: 'compass';
|
|
@@ -104,13 +103,13 @@ export type Bearing = {
|
|
|
104
103
|
readonly kind: 'none';
|
|
105
104
|
};
|
|
106
105
|
export interface Focus {
|
|
107
|
-
/**
|
|
106
|
+
/** Who has the focus. A game id — the engine does not interpret it, only carries it. */
|
|
108
107
|
readonly id: string;
|
|
109
108
|
readonly at: Spot;
|
|
110
109
|
readonly heading: Heading;
|
|
111
110
|
}
|
|
112
111
|
export interface Objective {
|
|
113
|
-
/**
|
|
112
|
+
/** What is being gathered/solved: "coins", "words", "sums". */
|
|
114
113
|
readonly name: Speakable;
|
|
115
114
|
readonly have: number;
|
|
116
115
|
readonly need: number;
|
|
@@ -125,202 +124,183 @@ export type Announcement = {
|
|
|
125
124
|
readonly urgent: boolean;
|
|
126
125
|
};
|
|
127
126
|
/**
|
|
128
|
-
*
|
|
127
|
+
* What the child sees as being the game.
|
|
129
128
|
*
|
|
130
|
-
* ⚠️ `none`
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
129
|
+
* ⚠️ `none` IS NOT A DEFAULT, IT IS A WRITTEN CHOICE. It exists for an activity without space — free painting,
|
|
130
|
+
* authoring, a form — where there is no world to simulate over and no target for a sonar. The Dev named the case:
|
|
131
|
+
* «atividades como paint não são exatamente jogos, mas podem ser feitas com a engine e sonar não vai funcionar muito
|
|
132
|
+
* bem».
|
|
134
133
|
*
|
|
135
|
-
* ⚠️
|
|
136
|
-
*
|
|
137
|
-
*
|
|
134
|
+
* ⚠️ AND WHAT IT CANNOT BE IS WHAT HAPPENS WHEN SOMEONE FORGETS. A pure-DOM game is not a game where empathy makes no
|
|
135
|
+
* sense: blindfold chess is the empirical proof that it does. `none` is for whoever DECLARES they have no space, and the
|
|
136
|
+
* field's absence is refused — otherwise both would produce the same silence.
|
|
138
137
|
*/
|
|
139
138
|
export type WorldScope =
|
|
140
|
-
/**
|
|
139
|
+
/** The selector of the element that is the world. The engine applies what belongs to the world there, and only there. */
|
|
141
140
|
{
|
|
142
141
|
readonly kind: 'element';
|
|
143
142
|
readonly selector: string;
|
|
144
143
|
}
|
|
145
|
-
/**
|
|
144
|
+
/** No space. Empathy and sonar are NOT offered — and the selection screen says so before the child starts. */
|
|
146
145
|
| {
|
|
147
146
|
readonly kind: 'none';
|
|
148
147
|
};
|
|
149
148
|
/**
|
|
150
|
-
*
|
|
151
|
-
*
|
|
149
|
+
* What a game hands the engine. `tick` is data; EVERYTHING ELSE is a function, because the answer changes with the
|
|
150
|
+
* position, the player and the instant.
|
|
152
151
|
*
|
|
153
|
-
* ⚠️
|
|
154
|
-
*
|
|
152
|
+
* ⚠️ DO NOT IMPORT THIS WHOLE into a consuming module. Use `Pick<GameDeclaration, 'roleAt'>` and the like — the rule of
|
|
153
|
+
* `core/entity`, which keeps test fixtures small.
|
|
155
154
|
*/
|
|
156
155
|
export interface GameDeclaration {
|
|
157
156
|
/**
|
|
158
|
-
*
|
|
157
|
+
* The shape of the space NOW.
|
|
159
158
|
*
|
|
160
|
-
* ⚠️
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
* em silêncio. Remendo que aparece duas vezes é o contrato a pedir para mudar. ADR-0084.
|
|
159
|
+
* ⚠️ It was a value, and the asymmetry had been patched in two places before anyone named it: the sonar's port always
|
|
160
|
+
* asked for a function, and the root bridged it with a function returning a constant. A sliding puzzle whose board
|
|
161
|
+
* size changes needed a getter to fit the type — and a getter that satisfies an interface is a TypeScript
|
|
162
|
+
* COINCIDENCE, not a contract: nothing told the next author it was expected, and conformance read it once, so whoever
|
|
163
|
+
* memorised the topology went stale in silence. A patch that shows up twice is the contract asking to change.
|
|
164
|
+
* ADR-0084.
|
|
167
165
|
*/
|
|
168
166
|
topology(): Topology;
|
|
169
167
|
/**
|
|
170
|
-
*
|
|
168
|
+
* WHICH ELEMENT IS THE WORLD. See block 8 above for the defect this field fixes.
|
|
171
169
|
*
|
|
172
|
-
* ⚠️
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
* o esquecimento passar como se fosse escolha.
|
|
170
|
+
* ⚠️ REQUIRED, and requiring it is the decision. The original proposal was an optional field with a default; the Dev
|
|
171
|
+
* refused, and the reason is BLINDFOLD CHESS: it exists, so a pure-DOM game is not one where empathy makes no sense —
|
|
172
|
+
* it is one where it asks more of whoever programs it. A default would let forgetting pass as a choice.
|
|
176
173
|
*/
|
|
177
174
|
world(): WorldScope;
|
|
178
175
|
/**
|
|
179
|
-
*
|
|
180
|
-
* UM. (ADR-0104 §A.)
|
|
176
|
+
* HOW MANY POSITIONS THIS GAME NEEDS HELD AT THE SAME TIME. Run + walk + jump is THREE; a quiz is ONE. (ADR-0104 §A.)
|
|
181
177
|
*
|
|
182
|
-
* ⚠️
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
* lado nenhum a dizer porquê. Alcançar uma ação e segurá-la junto com outra são perguntas distintas.
|
|
178
|
+
* ⚠️ A DIFFERENT AXIS FROM "HOW MANY ACTIONS", and because they are not the same there was a blind spot where the
|
|
179
|
+
* warning never fired: a game declaring nine actions on a pad with nine places reached them all, so the reach notice
|
|
180
|
+
* never appeared — but running, walking and jumping at once is three fingers, and on a two-finger phone the child
|
|
181
|
+
* simply cannot, with nothing anywhere saying why. Reaching an action and holding it with another are two questions.
|
|
187
182
|
*
|
|
188
|
-
* ⚠️
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
* jogos a responder deliberadamente é o custo; acessibilidade por sorte é a alternativa.
|
|
183
|
+
* ⚠️ REQUIRED, and requiring it IS the decision, in the Dev's words: «os 300 jogos precisam declarar sim! Não declarar
|
|
184
|
+
* é ter a acessibilidade programada no controle pro sorte». An optional field is answered by SILENCE, and here the
|
|
185
|
+
* silence decides for the child — decided by whoever did not think about it.
|
|
192
186
|
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
* em silêncio, que é o defeito que o ADR-0084 nomeou.
|
|
187
|
+
* A FUNCTION and not a value, like `topology`: a game with stages changes its demand between them — on foot it asks
|
|
188
|
+
* for three, in a vehicle perhaps one. A memorised value would go stale in silence, the defect ADR-0084 named.
|
|
196
189
|
*/
|
|
197
190
|
holdsAtOnce(): number;
|
|
198
191
|
/**
|
|
199
|
-
*
|
|
192
|
+
* DOES THIS GAME HOLD ANY KEY? — and the answer cannot be derived from anything else. (ADR-0115.)
|
|
200
193
|
*
|
|
201
|
-
* 🔴
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
* partido. É o botão morto que o ADR-0106 §5 proíbe.
|
|
194
|
+
* 🔴 THE TOGGLE EXISTS FOR A CONCRETE CHILD: whoever cannot KEEP a key pressed taps once to walk and again to stop. In
|
|
195
|
+
* a game where nothing is held — a quiz, a board, a tile puzzle — there is nothing to latch, and the setting becomes
|
|
196
|
+
* an option that **does nothing**. The child opens the accessibility menu, turns on the setting they depend on, and
|
|
197
|
+
* nothing happens: they learn the setting is broken. It is the dead button ADR-0106 §5 forbids.
|
|
206
198
|
*
|
|
207
|
-
* ⚠️
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
*
|
|
199
|
+
* ⚠️ AND `holdsAtOnce` ABOVE DOES NOT ANSWER THIS, which is the finding that forced this field: it counts SIMULTANEOUS
|
|
200
|
+
* positions and refuses zero, because zero would pass the reach arithmetic vacuously. The demo quiz declares **1
|
|
201
|
+
* while holding nothing at all**. "One at a time" and "one HELD" are the same number, and every decision downstream
|
|
202
|
+
* was reading a number that answers another question.
|
|
211
203
|
*
|
|
212
|
-
* ⚠️
|
|
213
|
-
*
|
|
214
|
-
* que ESQUECE a linha perder a alternância em silêncio, e quem paga é a criança com dificuldade motora.
|
|
204
|
+
* ⚠️ REQUIRED, and requiring it IS the decision — the same as `holdsAtOnce`, by the same words of the Dev. An optional
|
|
205
|
+
* field would let a game that FORGETS the line lose the toggle in silence, and the child with a motor difficulty pays.
|
|
215
206
|
*
|
|
216
|
-
* 📌
|
|
217
|
-
*
|
|
207
|
+
* 📌 A FUNCTION and not a value, by ADR-0084: a game changes its demand between stages. On foot one holds a direction;
|
|
208
|
+
* the same game in a vehicle may hold nothing.
|
|
218
209
|
*/
|
|
219
|
-
|
|
210
|
+
holdsKeys(): boolean;
|
|
220
211
|
/**
|
|
221
|
-
*
|
|
212
|
+
* DOES THIS GAME NEED A POINTER — a continuous position? (ADR-0112.)
|
|
222
213
|
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
214
|
+
* A drawing game does; a quiz does not. Declaring it makes a device without a pointer REFUSE before the child starts,
|
|
215
|
+
* instead of them finding out halfway through the first stroke.
|
|
225
216
|
*
|
|
226
|
-
* ⚠️
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
*
|
|
231
|
-
* escreve, porque ele também precisaria do ponteiro para o experimentar.
|
|
217
|
+
* ⚠️ OPTIONAL, AND THE DIFFERENCE FROM `holdsAtOnce` JUST ABOVE IS DELIBERATE — copying its requirement would apply a
|
|
218
|
+
* rule whose premise does not hold here. `holdsAtOnce` is required because it has no safe default AND fails INVISIBLY to
|
|
219
|
+
* whoever writes the game: they have a full keyboard, the game runs, and the child on a two-finger phone is who finds
|
|
220
|
+
* the defect. This one has a safe default (`false`) and fails VISIBLY — a drawing game that forgets to declare it is
|
|
221
|
+
* unusable on its own author's device, because they would need the pointer to try it.
|
|
232
222
|
*
|
|
233
|
-
*
|
|
234
|
-
* motivo dele.
|
|
235
|
-
*
|
|
236
|
-
* FUNÇÃO e não valor, pela mesma razão das outras: uma actividade pode desenhar numa fase e não noutra.
|
|
223
|
+
* A FUNCTION and not a value, like the others: an activity may draw in one stage and not in another.
|
|
237
224
|
*/
|
|
238
225
|
needsPointer?(): boolean;
|
|
239
226
|
/**
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
* A precedência é a que o registo pede, e ela cabe entre duas linhas que já existiam no `input/keyboard`:
|
|
243
|
-
* **fábrica da engine → padrão do JOGO → remapeamento da CRIANÇA.** Devolver `null` (ou não declarar) deixa
|
|
244
|
-
* a fábrica da engine intacta, que é o comportamento de sempre.
|
|
227
|
+
* THE KEYBOARD MAPPING THIS GAME WANTS — by number of players and by seat (ADR-0115).
|
|
245
228
|
*
|
|
246
|
-
*
|
|
247
|
-
* `
|
|
248
|
-
* segunda forma de fundir.
|
|
229
|
+
* The precedence is the one the record asks for: **the engine's factory → the GAME's default → the CHILD's remap.**
|
|
230
|
+
* Returning `null` (or not declaring it) leaves the engine's factory untouched, which is the behaviour it always had.
|
|
249
231
|
*
|
|
250
|
-
*
|
|
251
|
-
*
|
|
232
|
+
* PARTIAL on purpose: a game that only wants to change `action1` changes `action1`. The merge already exists — the
|
|
233
|
+
* `Object.assign` that lays the stored data on top — so this is one more layer in the same place, not a second way to
|
|
234
|
+
* merge.
|
|
252
235
|
*
|
|
253
|
-
* ⚠️
|
|
254
|
-
*
|
|
255
|
-
* o índice dentro desse arranjo.
|
|
236
|
+
* ⚠️ OPTIONAL, and here, unlike `holdsKeys`, silence has a safe side: with no declaration the game keeps the engine's
|
|
237
|
+
* factory, which is playable and is what it has today.
|
|
256
238
|
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
239
|
+
* ⚠️ AND IT TAKES THE SEAT because a two-player keyboard is not a one-player one: the arrows change owner, and a
|
|
240
|
+
* default that did not know the seat would give two children the same keys. `players` is 1, 2, 3 or 4; `seat` is the
|
|
241
|
+
* index within that arrangement.
|
|
259
242
|
*/
|
|
260
|
-
|
|
243
|
+
keyboardMapping?(players: number, seat: number): Partial<Record<Action, readonly string[] | null>> | null;
|
|
261
244
|
/**
|
|
262
|
-
*
|
|
245
|
+
* THE BUTTON MAPPING THIS GAME WANTS ON A PAD — the same question, another device (ADR-0115).
|
|
263
246
|
*
|
|
264
|
-
*
|
|
265
|
-
*
|
|
247
|
+
* Button indices of the "standard" Gamepad API, partial: `{ action1: 3 }` changes just that one. `null` on a button
|
|
248
|
+
* says "this position does not exist in this game", which differs from leaving it at the factory.
|
|
266
249
|
*
|
|
267
|
-
* ⚠️
|
|
268
|
-
*
|
|
269
|
-
*
|
|
250
|
+
* ⚠️ THE PRECEDENCE SITS IN A DIFFERENT PLACE, worth knowing: on the keyboard, the child's remap is a layer ON TOP of
|
|
251
|
+
* this; on a pad, the map they recorded in the wizard is a whole BRANCH — if it exists, this default is not consulted.
|
|
252
|
+
* Either way the child wins, which is what matters.
|
|
270
253
|
*
|
|
271
|
-
* 📌
|
|
272
|
-
*
|
|
273
|
-
* fazem o mesmo).
|
|
254
|
+
* 📌 It takes the seat for the keyboard's reason, by another path: two pads are two devices, but the GAME may want
|
|
255
|
+
* different arrangements per seat (a goalkeeper and a striker do not do the same thing).
|
|
274
256
|
*/
|
|
275
|
-
|
|
257
|
+
padMapping?(players: number, seat: number): Partial<Record<Action, number | null>> | null;
|
|
276
258
|
readonly tick: TickOwner;
|
|
277
|
-
/**
|
|
259
|
+
/** The role of what is at `at`. Field 2, and what replaces a table of tile numbers. */
|
|
278
260
|
roleAt(at: Spot): Role;
|
|
279
|
-
/**
|
|
261
|
+
/** What the thing at `at` is called. Without it there is no screen reader and no Libras. */
|
|
280
262
|
nameAt(at: Spot): Speakable | null;
|
|
281
|
-
/**
|
|
263
|
+
/** Who has the focus now, and where it points. `null` = nobody (menu closed, round not started). */
|
|
282
264
|
focusOf(playerIndex: number): Focus | null;
|
|
283
|
-
/**
|
|
265
|
+
/** What the round asks of this player. */
|
|
284
266
|
objectiveOf(playerIndex: number): Objective;
|
|
285
267
|
/**
|
|
286
|
-
*
|
|
268
|
+
* WHERE this player's still-valid targets are — the second half of field 5.
|
|
287
269
|
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
* lugar. A engine só compara distâncias, e é por isso que o sonar passa a servir a qualquer gênero.
|
|
270
|
+
* Instead of the engine sweeping an array of coins and filtering by owner and taken, the game returns the spots that
|
|
271
|
+
* still count for THIS player. A quiz returns the open question's index; a platformer, the coins not taken; a
|
|
272
|
+
* Sokoban, the boxes out of place. The engine only compares distances, which is why the sonar serves any genre.
|
|
292
273
|
*
|
|
293
|
-
*
|
|
274
|
+
* Empty is a legitimate answer and means "there is nowhere to point" — not an error.
|
|
294
275
|
*/
|
|
295
276
|
targetsOf(playerIndex: number): readonly Spot[];
|
|
296
277
|
}
|
|
297
278
|
/**
|
|
298
|
-
*
|
|
279
|
+
* Is a declaration well formed? Returns the list of problems — EMPTY means conformant.
|
|
299
280
|
*
|
|
300
|
-
*
|
|
301
|
-
*
|
|
281
|
+
* It exists because a preset is a promise, and a promise without a check is a comment. ADR-0030 says a genre package
|
|
282
|
+
* "either satisfies the seven fields or does not"; this is the "does not".
|
|
302
283
|
*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
305
|
-
* preset, não deste módulo.
|
|
284
|
+
* It checks SHAPE, not truth: that the topology has a positive measure, that the functions exist. It cannot check
|
|
285
|
+
* whether `roleAt` returns the RIGHT role — that is the preset's own test, not this module's.
|
|
306
286
|
*/
|
|
307
287
|
export declare function conformanceProblems(d: Partial<GameDeclaration> | null | undefined): string[];
|
|
308
|
-
/**
|
|
288
|
+
/** Is a speakable name well formed? Empty text is the silent defect: the screen reader simply goes quiet. */
|
|
309
289
|
export declare function speakableProblems(s: Speakable | null | undefined): string[];
|
|
310
290
|
/**
|
|
311
|
-
*
|
|
312
|
-
*
|
|
291
|
+
* The distance between two spots IN THE DECLARED METRIC — the one the game declared in `move`, over as many dimensions
|
|
292
|
+
* as it declared in `size`. It is what the sonar needs and used to compute in pixels.
|
|
313
293
|
*
|
|
314
|
-
* ⚠️
|
|
315
|
-
*
|
|
294
|
+
* ⚠️ THE GRID WAS ALWAYS CHEBYSHEV, which cost up to 2× error in a sliding puzzle. The three rules are not taste: they
|
|
295
|
+
* are what "one step" means in each game, and the sonar speaks in steps.
|
|
316
296
|
*/
|
|
317
297
|
export declare function distance(t: Topology, a: Spot, b: Spot): number;
|
|
318
298
|
/**
|
|
319
|
-
*
|
|
299
|
+
* WHERE `to` LIES AS SEEN FROM `from`, already in the words the topology declared.
|
|
320
300
|
*
|
|
321
|
-
* ⚠️
|
|
322
|
-
*
|
|
323
|
-
*
|
|
324
|
-
*
|
|
301
|
+
* ⚠️ TWO AXES WITH DIFFERENT CONVENTIONS, and silence about it would be the defect. `y` GROWS DOWNWARD — the screen's
|
|
302
|
+
* coordinate, inherited from the canvas and all existing code, not a choice of this function. `z` GROWS UPWARD, and
|
|
303
|
+
* that is a choice: nothing forces it, and in three dimensions "zenith" can only mean the side the child would look at
|
|
304
|
+
* by raising their head. A 3D game has to know both.
|
|
325
305
|
*/
|
|
326
306
|
export declare function bearing(t: Topology, from: Spot, to: Spot): Bearing;
|