error
Word2VecError — unified error type via thiserror
config
Config, ModelType — all hyperparameters with defaults
vocab
Frequency counts, min_count, subsampling, unigram noise table
model
Xavier init, skip-gram & CBOW SGD in-place update
trainer
Training loop, linear LR decay, progress bar, epoch history
embeddings
most_similar, similarity, analogy, save/load JSON + text
plot
Loss curve PNG + PCA scatter plot via plotters
bin/train
CLI — --input --output --dim --epochs --model --window