| Crates.io | vn-settings |
| lib.rs | vn-settings |
| version | 0.2.0 |
| created_at | 2025-03-15 20:48:58.565683+00 |
| updated_at | 2025-08-16 13:46:00.427339+00 |
| description | Various settings intended to simulate visual novels |
| homepage | |
| repository | https://gitlab.com/porky11/vn-settngs |
| max_upload_size | |
| id | 1593881 |
| size | 52,831 |
A cross-platform configuration system for visual novels, featuring cascading overrides and real-time state management.
This library provides various settings to simulate visual novels in Rust applications. It includes settings for colors, timing, images, objects, layout, and names.
Each parameter can have a default value and you can add temporary overrides to these values, which will only be active during a single continuous dialog.
Most parameters can also have a character specific values, which are only set when a character speaks. These character specific parameters can also have temporary overrides.
The priorities of the values is like this:
scene)characters_scene)characters_default)default)This should make managing state for visual novels easy.
🎨 Cascading Settings
Override colors, timing, and layouts at multiple levels:
settings.set_character_default(Setter::Color(
ColorParameter::Dialog(BoxColorParameter::TextFill).named("Alice"),
Color::RED
));
🔄 State Management
Track defaults, character-specific overrides, and scene changes:
settings.change(&Change::Timing(
TimingParameter::AutoNext.named("FastMode"),
1.0
));
📦 Serialization Ready
All types implement serde::Serialize (enable serde feature).
| Type | Description |
|---|---|
PlayerSettings |
Root container for all configuration |
Override<T> |
Hierarchical value management |
Parameter |
Addressable setting path |
Change |
Mutation operation |
Developed with ❤️ for visual novel creators