lila/documentation/notes.md
lila be7a7903c5 refactor: migrate to deck-based vocabulary curation
Database Schema:
- Add decks table for curated word lists (A1, Most Common, etc.)
- Add deck_terms join table with position ordering
- Link rooms to decks via rooms.deck_id FK
- Remove frequency_rank from terms (now deck-scoped)
- Change users.id to uuid, add openauth_sub for auth mapping
- Add room_players.left_at for disconnect tracking
- Add rooms.updated_at for stale room recovery
- Add CHECK constraints for data integrity (pos, status, etc.)

Extraction Script:
- Rewrite extract.py to mirror complete OMW dataset
- Extract all 25,204 bilingual noun synsets (en-it)
- Remove frequency filtering and block lists
- Output all lemmas per synset for full synonym support
- Seed data now uncurated; decks handle selection

Architecture:
- Separate concerns: raw OMW data in DB, curation in decks
- Enables user-created decks and multiple difficulty levels
- Rooms select vocabulary by choosing a deck
2026-03-27 16:53:26 +01:00

626 B

notes

tasks

  • pinning dependencies in package.json files

open word net

download libraries via

python -c 'import wn; wn.download("omw-fr")';

libraries:

odenet:1.4 omw-es:1.4 omw-fr:1.4 omw-it:1.4 omw-en:1.4

upgrade wn package:

pip install --upgrade wn

check if wn is available, eg italian:

python -c "import wn; print(len(wn.words(lang='it', lexicon='omw-it:1.4')))"

remove a library:

python -c "import wn; wn.remove('oewn:2024')"﬌ python -c "import wn; wn.remove('oewn:2024')"

list all libraries:

python -c "import wn; print(wn.lexicons())"