Mods are renamed by role (shell2d_base, menu_base, ui_base, live2d_base,
editor_tools, cthangover_story, cthangover_murakami, cthangover_party) and
every reference follows. Engine UI prefabs (dialog, answers, message, game
menu, inventory, map, skills) and their panel entries moved out of the story
mod into the subsystem mods; the card_novel and vn_starter_novel collections
are removed.
The resource atlas reported them as used by the interface widgets but
shipped by visual_novel_core, a content mod the interface does not depend
on. They move here, next to their users.
- MenuBuilder skips a button whose MenuButtonEntry.Visible predicate is
false (e.g. "Continue" only when a last session exists); a throwing
predicate is logged and the button stays visible.
- MenuBuilder.OpenScene returns the overlay it opened (null when the
scene failed to build), so callers can configure it.
- Text for mods left out of a game's mod set: mods/not_in_game_reason.
- ToolBox: instead of a text button per tool (which did not fit the 60x60
icon row and overlapped the icons) the HUD gets one "tools" icon button
with a popup listing every visible tool, sorted by localized name.
- ToolWindow: chrome that follows the UI style guide (title on the left,
close on the right, drag-to-move, double-click/maximize, edge resize),
a status bar with buffered status/hint text, dirty-state confirmation
and keyboard shortcuts (Ctrl+S in _Input, other keys only when no
focused control consumed them).
- ToolTheme: denser copy of the game theme for editor toolbars;
ToolStatusKind: status bar message kinds.
- New tools icon and the tool window texts (unsaved changes, maximize,
close, menu title) in en/ru.