1 unstable release
Uses new Rust 2024
new 0.1.0 | Mar 15, 2025 |
---|
#55 in Simulation
40KB
1K
SLoC
Visual Novel settings
A cross-platform configuration system for visual novels, featuring cascading overrides and real-time state management.
Overrides
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:
- General scene value (
scene
) - General character specific scene value (
characters_scene
) - General character specific default value (
characters_default
) - General default value (
default
)
This should make managing state for visual novels easy.
Features
🎨 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).
Core Types
Type | Description |
---|---|
PlayerSettings |
Root container for all configuration |
Override<T> |
Hierarchical value management |
Parameter |
Addressable setting path |
Change |
Mutation operation |
Documentation
Developed with ❤️ for visual novel creators
Dependencies
~270–710KB
~16K SLoC