Technical checkpoint
First Post
Hello everyone! Everything these days begins with a first post, so here it is. Yes, I am human, and yes, I’m writing this myself, but not for long. For the foreseeable future it will be my enormous guest, Mr./Mrs. Bot, who will provide the updates and all those things, starting below. Enjoy!
This is not a release announcement. It is a technical checkpoint for the current WhackSmacker module and content-package work.
Local-first modules
WhackSmacker is moving toward local-first installable modules. The app is not meant to ship as one hard-coded pile of lessons. Language curricula live in their own source repositories, packages are generated from those sources, and the app installs those packages into a local data directory.
This separation matters because WhackSmacker is not meant to be a single hard-coded pile of lessons. The app, content packages, and user progress state are separate parts of the system.
curriculum repo
-> generated .wspkg package
-> local catalogue
-> installed module
-> readable content
-> review deck
-> local progress state
Current package set
The current all-module smoke test generated nine language packages:
- Korean
- Chinese - Mandarin (Traditional)
- Chinese - Mandarin (Simplified)
- Vietnamese
- Dutch
- German
- French
- Spanish
- Japanese
The terminal module installer can populate available modules from a catalogue with --catalogue. In the two-pane terminal tree, Space installs the selected available module, Enter opens, expands, or shows information, and same-version packages report Already installed rather than silently replacing package data.
Review sources
Review decks are enabled where the deck format is currently settled:
- Korean: Chapter 1-5 has 78 cards, Chapter 6-10 has 84 cards, and Chapter 11-15 has 84 cards.
- Chinese - Mandarin (Traditional): Pinyin-Zhuyin has 174 cards, and Pinyin-Zhuyin with Tones has 206 cards.
- Vietnamese, Dutch, German, French, and Spanish: each has a Chapter 1-5 deck with 80 cards.
Japanese Core review decks and Mandarin Core review decks are intentionally paused while the deck format is being decided. The existing Traditional Mandarin Pinyin/Zhuyin conversion decks remain active, and the Simplified Mandarin package currently has no review sources.
Progress state
Review progress is stored outside installed packages. Installed package content should stay read-only. User progress lives under the selected data directory, separate from package files, so package reinstall or replacement does not imply deleting review history.
Validation baseline
The latest checkpoint passed the local validation baseline:
npm run buildpassed.npm testpassed with 284 tests.npm pack --dry-runpassed.- The final all-module smoke test passed.
Rough edges
There are still rough edges worth calling out plainly:
- Parallel package installation can race the installed-package registry; sequential install works.
- Some low-level content commands still show source manifest names instead of the normalized module names.
- The terminal UI works, but it needs refinement.
- Markdown currently displays as plain text.
- Chess probably belongs in a separate project later.
Next steps
- Fix the deployment source so the public domain serves this static site instead of a stale
Hello worldresponse. - Refine the terminal UI.
- Decide the Japanese and Mandarin Core deck format.
- Continue language curriculum expansion.