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.
Tool windows:
- Every editor (scenario, scene builder, map, interactive objects,
lighting, catalog export) is rebuilt on the interface ToolWindow chrome
and the denser ToolTheme: header with title/close, status bar, Ctrl+S,
dirty-state confirmation.
- Shared building blocks in src/Common: ToolUi (rows, buttons, sections),
CollapsibleSection, FilteredList, ModFileSelector, DragHandle and
BackgroundCanvas (scene background with pan/zoom).
- The map, interactive and light editors draw on canvases
(MapEditorCanvas, InteractiveEditorCanvas, LightEditorCanvas) instead of
one Control "handle" node per object; the *Handle classes are removed.
- Scenario editor: tab data model (TabData), automatic graph layout
(ScenarioGraphLayout), file tree/info/thumbnail panel updates.
- Services: ModFileService (mod file listing and writing),
SceneBackgroundService; MapFileService/ModResourceService follow.
- Catalog export: per-language name/description editing.
- Locale (en/ru) regrouped under tools/*; unused keys removed.
Novel Editor:
- collections/novel_editor.json: a "game" whose entry scene is an
authoring workspace over the novel engine and the story content.
- NovelEditorHub (scenes/novel_editor_hub.tscn) lists every installed
tool through IToolProvider.AddMenuButton; ToolsInitializer registers it
as the logical scene "novel_editor".