Skip to content

chore: bump DasherCore to v0.2.14 (complete) — 150 alphabets trained - #32

Merged
willwade merged 3 commits into
mainfrom
chore/dashercore-v0.2.14
Aug 29, 2026
Merged

chore: bump DasherCore to v0.2.14 (complete) — 150 alphabets trained#32
willwade merged 3 commits into
mainfrom
chore/dashercore-v0.2.14

Conversation

@willwade

Copy link
Copy Markdown
Contributor

Submodule at ba7a634a — the complete v0.2.14 including all 91 training corpora (the original tag was missing 56 files eaten by .gitignore, fixed in DasherCore #74).

  • 150 alphabets train on real Tatoeba sentences (was 48)
  • APK 51MB lighter — corpora capped at 400KB (74MB → 23MB)
  • Alphabet index records training_available

Verified on emulator: 91 corpora in files/dasher_data/training/, canvas rendering with weighted nodes.

DCO signed.

- 150 alphabets train on real Tatoeba sentences (was 48) — 56 new
  corpora imported from WorldAlphabets v0.1.1 (CC-BY 2.0 FR)
- Training weight: 74MB -> 23MB (400KB cap) — 51MB off the APK
- Alphabet index records training_available
- Script-aware corpus retargeting + injection into undeclared WA
  alphabets (54 now declare their Tatoeba corpus)

Signed-off-by: will wade <willwade@gmail.com>
Submodule at ba7a634a — the full v0.2.14 including the 56 Tatoeba
corpora that were initially eaten by .gitignore (DasherCore #74).

Signed-off-by: will wade <willwade@gmail.com>
Two bugs discovered on-device/emulator:

1. Settings crash: the LP_UNIFORM parameter description contained the
   multiplication sign as a single Latin-1 byte (0xD7) instead of
   UTF-8 (0xC3 97) — 'Uniform probability weight (×1000)' — a leftover
   mojibake 'fix' that traded wrong bytes for broken encoding. JNI's
   NewStringUTF validates Modified UTF-8 and aborts the process the
   moment nativeGetParameterInfo returns the string. Fixed in
   DasherCore's Parameters.cpp (also fixed upstream).

2. Alphabet picker showing one entry: the engine was queried
   (getAlphabetNames, locale-follow) before the canvas laid out, and
   set_screen_size was gated on canvas width > 0 — so Realize() (which
   builds the 474-entry name index) never ran before the first query.
   The picker got GetPermittedValues' single-item fallback (the current
   alphabet name). DasherEngine.create() now calls
   nativeSetScreenSize(800, 600) as a provisional size so the engine
   realizes immediately; the canvas corrects it when it lays out.

Verified on emulator: Settings opens without crashing; alphabet picker
lists 475 alphabets (Abc through Afrikaans and beyond).

Signed-off-by: will wade <willwade@gmail.com>
@willwade
willwade merged commit 18e76d6 into main Aug 29, 2026
2 checks passed
@willwade
willwade deleted the chore/dashercore-v0.2.14 branch August 29, 2026 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant