mitiru::narrative
Visual-novel runtime: script VM, dialogue state, branching, choice resolution, and integration with the VN view layer.
Visual-novel runtime: script VM, dialogue state, branching, choice resolution, and integration with the VN view layer.
| Name | Kind | Items |
|---|---|---|
TextScene | struct | 2 |
ImageScene | struct | 2 |
ChoiceOption | struct | 2 |
ChoiceScene | struct | 1 |
WaitScene | struct | 1 |
SetFlagScene | struct | 2 |
StatChangeScene | struct | 2 |
Script | struct | 2 |
GameContext | struct | 2 |
ExecuteResult | struct | 1 |
ScriptRunner | class | 19 |
Free functions and typedefs
using json = ::nlohmann::json;`using Scene = std::variant<TextScene, ImageScene, ChoiceScene, WaitScene, SetFlagScene, StatChangeScene>;`struct TextScene 2
std::string speakerstd::string textstruct ImageScene 2
std::string pathint durationMs = 0struct ChoiceOption 2
std::string labelstd::string nextstruct ChoiceScene 1
std::vector<ChoiceOption> optionsstruct WaitScene 1
int ms = 0struct SetFlagScene 2
std::string namebool value = falsestruct StatChangeScene 2
std::string statint delta = 0struct Script 2
std::string idstd::vector<Scene> scenesstruct GameContext 2
std::unordered_map<std::string, bool> flagsstd::unordered_map<std::string, int> statsstruct ExecuteResult 1
std::string chosenNextclass ScriptRunner 19
using TextFn = std::function<void(const std::string& speaker, const std::string& text)>;using ImageFn = std::function<void(const std::string& path, int durationMs)>;using ChoiceFn = std::function<std::string(const std::vector<std::string>& labels)>;using WaitFn = std::function<void(int ms)>;using FlagFn = std::function<void(const std::string& name, bool value)>;using StatChangeFn = std::function<void(const std::string& stat, int delta, int newValue)>;ScriptRunner() = defaultvoid loadFromJson(std::string_view jsonText, std::string_view sourceLabel = "<inline>")void loadFromDirectory(const std::filesystem::path& dir)[[nodiscard]] const Script* findScript(std::string_view id) const[[nodiscard]] std::size_t scriptCount() const noexceptvoid clear() noexceptvoid onTextDisplay(TextFn fn)void onImageShow(ImageFn fn)void onChoiceOffer(ChoiceFn fn)void onWaitBegin(WaitFn fn)void onFlagSet(FlagFn fn)void onStatChange(StatChangeFn fn)ExecuteResult execute(std::string_view scriptId, GameContext& ctx)Sourced from docs/API_CATALOG.md, auto-generated by tools/generate_api_catalog.py.