vn-settings

Crates.iovn-settings
lib.rsvn-settings
version
sourcesrc
created_at2025-03-15 20:48:58.565683+00
updated_at2025-03-15 20:48:58.565683+00
descriptionVarious settings intended to simulate visual novels
homepage
repositoryhttps://gitlab.com/porky11/vn-settngs
max_upload_size
id1593881
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Fabio Krapohl (porky11)

documentation

README

Visual Novel settings

Crates.io

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:

  1. General scene value (scene)
  2. General character specific scene value (characters_scene)
  3. General character specific default value (characters_default)
  4. 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

API Reference

Developed with ❤️ for visual novel creators

Commit count: 0

cargo fmt