Repository navigation
Releases: SuitIThub/MTS-Event-Manager
Release list
MTS Event Manager 0.6.3
[0.6.3] - 2026-09-30
Added
-
Pose grid in the paperdoll module: the ▦ button next to Pose opens every pose of the
character as a thumbnail — rendered with the other current values (outfit, level, mood …).
Filter by name, click a pose to take it, Esc closes. Thumbnails are rendered small and cached. -
Paperdoll module navigation in the event editor: ◀ / ▶ step through the timeline's stops
and the module follows to the paperdoll that matters there (the doll's last display/register up
to that stop; another doll on stage if it left). 👥 n/m switches between the characters on
stage at the current stop. -
Refresh the capture bridge by hand: command MTS: Refresh Capture Bridge or 📷 Bridge in
the event editor deletes the bridge file and writes the open event again right away — no more
deleting the file by hand (user suggestion). -
Linux / macOS with the studio under Wine/Proton work without manual path setup: the bridge
file defaults to~/.local/share/MTS-Event-Manager/capture/active-event.json(or$XDG_DATA_HOME)
on both sides, and the plugin maps the extension's Unix paths onto Wine's drive for/(auto-
detected, usuallyZ:; plugin setting Unix drive (Wine)). Both bridge-path settings accept
either form (~/…,/home/…,Z:\home\…). (User report.) -
Linux VSIX: each release now has
mts-event-manager-<v>-linux-x64.vsix(with the Linux image
libraries — hover previews, portraits and pose thumbnails work) next to the Windows package
…-win32-x64.vsix.
Changed
- The plugin is attached to the release as
MTSCapture.dll(no zip) — copy it into
BepInEx/plugins/.
Fixed
- The capture bridge could stay stale: on Windows the file replace fails while the studio plugin
is reading it, and the error was only logged to the console. The write now retries and falls
back to writing in place; failures are listed in the MTS Capture Bridge output channel and
reported by the refresh command. - The event editor no longer jumps back to the first stop after an edit, a statement move or a
save — it stays on the stop you are reading (also when that stop's text was edited). Only
navigation (opening an event, Show in Event Timeline, inserting new content) moves the view. - Moving statements and markers failed in files with Windows line endings (CRLF — all game
scripts) with "the edit did not come out as verified and was rolled back": the edit ended between
\rand\n, a position the editor cannot address. Edit boundaries are now kept outside CRLF
for every write, and the tests check all moves and menu edits through the editor's position model. - Writes from the paperdoll module (Insert display, Apply, Insert register, Optimize …) and
the definition editor update the timeline right away.
[0.6.2] - 2026-09-27
Added
- Change history (
MTS: Change History, or 🕘 History in the event editor): every code
change made by the event manager, newest first, as a diff per block. Revert a single block or a
whole change, jump to it in the code, filter by file. Block states follow the file (reverted,
edited since); reverts are recorded too and can be reverted again. The history is kept per
workspace across restarts.
Changed
- ↩ Undo in the event editor now goes through the change history: it reverts the newest change
that is still in the code, verified like any other edit.
Fixed
- The paperdoll editor, the image preview carousel and the custom portraits panel keep working
when moved into another window (they were left empty and unresponsive); a test now requires
every panel to be restorable. - Events written directly inside
pool.add_event(Event(...), ...)were treated as "not added to a
pool" (116 events in the game, e.g. all office events). The simulator's pool competition and the
overview's pool groups now include them.
[0.6.1] - 2026-09-26
Added
- Update check in the extension and in MTS Capture: once a day (extension) / on studio start
(plugin) GitHub is asked for a newer release; you get a note with a link to the release post.
Extension: Open release / Skip this version, command MTS: Check for Updates, setting
mtsEventManager.checkForUpdates. Plugin: a line in the window, setting Check for updates.
Changed
- Moving statements in large files is much faster (the scene fuzzer went from 151 s to 39 s).
Fixed
- The plugin build restores HarmonyX / MonoMod / Mono.Cecil (dependencies of BepInEx.Core) on a
clean machine.
[0.6.0] - 2026-09-26
Added
- Event editor (timeline) —
MTS: Preview Event Timeline/ Show in Event Timeline:- Step through an event like the game plays it: dialogue with portraits, CGs, backgrounds,
paperdolls (with an animation player for moves, flips and pauses) and videos. - Pick branches (
call_custom_menu,if/elif) and selector values; the timeline follows. - Edit in place: dialogue text, speaker and type,
random_sayalternatives, stats and
end_eventtypes, menu choices. Insert dialogue, images, videos, paperdolls and menus
with +, move statements up/down, delete lines — every edit is verified and undoable. - Modules: image (steps, pause, video +
Moviedeclarations), background (set_background,
blur, split, b/w), paperdoll editor and theEvent(...)definition editor. - Check: every path of the event against images per value (incl.
$wildcard files),
Moviedeclarations, menu targets, endings and speakers — plus a shot list of missing images. - Simulator: when does the event fire? Time, levels and stats against its conditions and
its pool (incl. competing events). - Event overview of all events with thumbnails, pools and batch checks.
- Restores itself after a window reload and reopens in the editor group it was in.
- Step through an event like the game plays it: dialogue with portraits, CGs, backgrounds,
- Ren'Py monologue mode: a
"""…"""say statement is split at blank lines into several
dialogue stops (rpy monologue single/nonerespected); each part is edited on its own. - Composite events: fragments inherit the patterns and selector values of their
EventComposite(the engine'sfrag_image_patterns→image_patternsfallback). - Pattern paths built from variables (
base_path + "x <step>.webp") are resolved. convert_pattern(key, {"k": "v"})/**with_values(kwargs, k = "v")fixed values are respected
by previews and checks.- Mod support:
overwrite_event_image(...)replacement patterns;register_preset(...)paperdoll
presets are read from the workspace (mods included). - PNG / WEBP switch: when an image exists in both formats, the timeline and the image module
show which one the game loads and let you switch. - MTS Capture — a new BepInEx plugin for Honey Select 2 StudioNeoV2: assign screenshots to
the event's missing images (sorted by your key order), copied and renamed into the game's
image folder. The extension exports the open event for it (mtsEventManager.capture.*).
Changed
- Every write goes through a verified edit: planned, simulated, re-parsed, structure-checked
(strings, brackets, empty blocks) and rolled back if the result differs. - Faster indexing: per-file cache, no full reindex on every keystroke.
- Webview scripts moved out of TypeScript template strings into
webview/*.js; pages load them
with a nonce — no inline scripts are allowed any more (stricter CSP). - Image previews reload when files change on disk (versioned URLs + file watcher).
- The image and paperdoll CodeLens buttons were removed — both live in the event editor now.
Fixed
- Triple-quoted dialogue no longer produces bogus speakers or stops.
- + inserts after the end of a multi-line statement instead of after its first line.
- Deleting the only statement of a block leaves
passinstead of an empty block.
Install the extension: Extensions → … → Install from VSIX — mts-event-manager-0.6.3-win32-x64.vsix on Windows,
mts-event-manager-0.6.3-linux-x64.vsix on Linux.
Install the plugin: copy MTSCapture.dll into <Honey Select 2>/BepInEx/plugins/ (BepInEx 5 + KKAPI ≥ 1.46 required).
MTS Event Manager 0.6.2
[0.6.2] - 2026-09-27
Added
- Change history (
MTS: Change History, or 🕘 History in the event editor): every code
change made by the event manager, newest first, as a diff per block. Revert a single block or a
whole change, jump to it in the code, filter by file. Block states follow the file (reverted,
edited since); reverts are recorded too and can be reverted again. The history is kept per
workspace across restarts.
Changed
- ↩ Undo in the event editor now goes through the change history: it reverts the newest change
that is still in the code, verified like any other edit.
Fixed
- The paperdoll editor, the image preview carousel and the custom portraits panel keep working
when moved into another window (they were left empty and unresponsive); a test now requires
every panel to be restorable. - Events written directly inside
pool.add_event(Event(...), ...)were treated as "not added to a
pool" (116 events in the game, e.g. all office events). The simulator's pool competition and the
overview's pool groups now include them.
[0.6.1] - 2026-09-26
Added
- Update check in the extension and in MTS Capture: once a day (extension) / on studio start
(plugin) GitHub is asked for a newer release; you get a note with a link to the release post.
Extension: Open release / Skip this version, command MTS: Check for Updates, setting
mtsEventManager.checkForUpdates. Plugin: a line in the window, setting Check for updates.
Changed
- Moving statements in large files is much faster (the scene fuzzer went from 151 s to 39 s).
Fixed
- The plugin build restores HarmonyX / MonoMod / Mono.Cecil (dependencies of BepInEx.Core) on a
clean machine.
[0.6.0] - 2026-09-26
Added
- Event editor (timeline) —
MTS: Preview Event Timeline/ Show in Event Timeline:- Step through an event like the game plays it: dialogue with portraits, CGs, backgrounds,
paperdolls (with an animation player for moves, flips and pauses) and videos. - Pick branches (
call_custom_menu,if/elif) and selector values; the timeline follows. - Edit in place: dialogue text, speaker and type,
random_sayalternatives, stats and
end_eventtypes, menu choices. Insert dialogue, images, videos, paperdolls and menus
with +, move statements up/down, delete lines — every edit is verified and undoable. - Modules: image (steps, pause, video +
Moviedeclarations), background (set_background,
blur, split, b/w), paperdoll editor and theEvent(...)definition editor. - Check: every path of the event against images per value (incl.
$wildcard files),
Moviedeclarations, menu targets, endings and speakers — plus a shot list of missing images. - Simulator: when does the event fire? Time, levels and stats against its conditions and
its pool (incl. competing events). - Event overview of all events with thumbnails, pools and batch checks.
- Restores itself after a window reload and reopens in the editor group it was in.
- Step through an event like the game plays it: dialogue with portraits, CGs, backgrounds,
- Ren'Py monologue mode: a
"""…"""say statement is split at blank lines into several
dialogue stops (rpy monologue single/nonerespected); each part is edited on its own. - Composite events: fragments inherit the patterns and selector values of their
EventComposite(the engine'sfrag_image_patterns→image_patternsfallback). - Pattern paths built from variables (
base_path + "x <step>.webp") are resolved. convert_pattern(key, {"k": "v"})/**with_values(kwargs, k = "v")fixed values are respected
by previews and checks.- Mod support:
overwrite_event_image(...)replacement patterns;register_preset(...)paperdoll
presets are read from the workspace (mods included). - PNG / WEBP switch: when an image exists in both formats, the timeline and the image module
show which one the game loads and let you switch. - MTS Capture — a new BepInEx plugin for Honey Select 2 StudioNeoV2: assign screenshots to
the event's missing images (sorted by your key order), copied and renamed into the game's
image folder. The extension exports the open event for it (mtsEventManager.capture.*).
Changed
- Every write goes through a verified edit: planned, simulated, re-parsed, structure-checked
(strings, brackets, empty blocks) and rolled back if the result differs. - Faster indexing: per-file cache, no full reindex on every keystroke.
- Webview scripts moved out of TypeScript template strings into
webview/*.js; pages load them
with a nonce — no inline scripts are allowed any more (stricter CSP). - Image previews reload when files change on disk (versioned URLs + file watcher).
- The image and paperdoll CodeLens buttons were removed — both live in the event editor now.
Fixed
- Triple-quoted dialogue no longer produces bogus speakers or stops.
- + inserts after the end of a multi-line statement instead of after its first line.
- Deleting the only statement of a block leaves
passinstead of an empty block.
Install: the extension via Extensions → … → Install from VSIX (mts-event-manager-0.6.2.vsix);
the plugin by extracting MTSCapture-0.6.2.zip into the Honey Select 2 folder (BepInEx 5 + KKAPI ≥ 1.46 required).
MTS Event Manager 0.6.1
[0.6.1] - 2026-09-26
Added
- Update check in the extension and in MTS Capture: once a day (extension) / on studio start
(plugin) GitHub is asked for a newer release; you get a note with a link to the release post.
Extension: Open release / Skip this version, command MTS: Check for Updates, setting
mtsEventManager.checkForUpdates. Plugin: a line in the window, setting Check for updates.
Changed
- Moving statements in large files is much faster (the scene fuzzer went from 151 s to 39 s).
Fixed
- The plugin build restores HarmonyX / MonoMod / Mono.Cecil (dependencies of BepInEx.Core) on a
clean machine.
[0.6.0] - 2026-09-26
Added
- Event editor (timeline) —
MTS: Preview Event Timeline/ Show in Event Timeline:- Step through an event like the game plays it: dialogue with portraits, CGs, backgrounds,
paperdolls (with an animation player for moves, flips and pauses) and videos. - Pick branches (
call_custom_menu,if/elif) and selector values; the timeline follows. - Edit in place: dialogue text, speaker and type,
random_sayalternatives, stats and
end_eventtypes, menu choices. Insert dialogue, images, videos, paperdolls and menus
with +, move statements up/down, delete lines — every edit is verified and undoable. - Modules: image (steps, pause, video +
Moviedeclarations), background (set_background,
blur, split, b/w), paperdoll editor and theEvent(...)definition editor. - Check: every path of the event against images per value (incl.
$wildcard files),
Moviedeclarations, menu targets, endings and speakers — plus a shot list of missing images. - Simulator: when does the event fire? Time, levels and stats against its conditions and
its pool (incl. competing events). - Event overview of all events with thumbnails, pools and batch checks.
- Restores itself after a window reload and reopens in the editor group it was in.
- Step through an event like the game plays it: dialogue with portraits, CGs, backgrounds,
- Ren'Py monologue mode: a
"""…"""say statement is split at blank lines into several
dialogue stops (rpy monologue single/nonerespected); each part is edited on its own. - Composite events: fragments inherit the patterns and selector values of their
EventComposite(the engine'sfrag_image_patterns→image_patternsfallback). - Pattern paths built from variables (
base_path + "x <step>.webp") are resolved. convert_pattern(key, {"k": "v"})/**with_values(kwargs, k = "v")fixed values are respected
by previews and checks.- Mod support:
overwrite_event_image(...)replacement patterns;register_preset(...)paperdoll
presets are read from the workspace (mods included). - PNG / WEBP switch: when an image exists in both formats, the timeline and the image module
show which one the game loads and let you switch. - MTS Capture — a new BepInEx plugin for Honey Select 2 StudioNeoV2: assign screenshots to
the event's missing images (sorted by your key order), copied and renamed into the game's
image folder. The extension exports the open event for it (mtsEventManager.capture.*).
Changed
- Every write goes through a verified edit: planned, simulated, re-parsed, structure-checked
(strings, brackets, empty blocks) and rolled back if the result differs. - Faster indexing: per-file cache, no full reindex on every keystroke.
- Webview scripts moved out of TypeScript template strings into
webview/*.js; pages load them
with a nonce — no inline scripts are allowed any more (stricter CSP). - Image previews reload when files change on disk (versioned URLs + file watcher).
- The image and paperdoll CodeLens buttons were removed — both live in the event editor now.
Fixed
- Triple-quoted dialogue no longer produces bogus speakers or stops.
- + inserts after the end of a multi-line statement instead of after its first line.
- Deleting the only statement of a block leaves
passinstead of an empty block.
Install: the extension via Extensions → … → Install from VSIX (mts-event-manager-0.6.1.vsix);
the plugin by extracting MTSCapture-0.6.1.zip into the Honey Select 2 folder (BepInEx 5 + KKAPI ≥ 1.46 required).
MTS Event Manager 0.6.0
[0.6.0] - 2026-09-26
Added
- Event editor (timeline) —
MTS: Preview Event Timeline/ Show in Event Timeline:- Step through an event like the game plays it: dialogue with portraits, CGs, backgrounds,
paperdolls (with an animation player for moves, flips and pauses) and videos. - Pick branches (
call_custom_menu,if/elif) and selector values; the timeline follows. - Edit in place: dialogue text, speaker and type,
random_sayalternatives, stats and
end_eventtypes, menu choices. Insert dialogue, images, videos, paperdolls and menus
with +, move statements up/down, delete lines — every edit is verified and undoable. - Modules: image (steps, pause, video +
Moviedeclarations), background (set_background,
blur, split, b/w), paperdoll editor and theEvent(...)definition editor. - Check: every path of the event against images per value (incl.
$wildcard files),
Moviedeclarations, menu targets, endings and speakers — plus a shot list of missing images. - Simulator: when does the event fire? Time, levels and stats against its conditions and
its pool (incl. competing events). - Event overview of all events with thumbnails, pools and batch checks.
- Restores itself after a window reload and reopens in the editor group it was in.
- Step through an event like the game plays it: dialogue with portraits, CGs, backgrounds,
- Ren'Py monologue mode: a
"""…"""say statement is split at blank lines into several
dialogue stops (rpy monologue single/nonerespected); each part is edited on its own. - Composite events: fragments inherit the patterns and selector values of their
EventComposite(the engine'sfrag_image_patterns→image_patternsfallback). - Pattern paths built from variables (
base_path + "x <step>.webp") are resolved. convert_pattern(key, {"k": "v"})/**with_values(kwargs, k = "v")fixed values are respected
by previews and checks.- Mod support:
overwrite_event_image(...)replacement patterns;register_preset(...)paperdoll
presets are read from the workspace (mods included). - PNG / WEBP switch: when an image exists in both formats, the timeline and the image module
show which one the game loads and let you switch. - MTS Capture — a new BepInEx plugin for Honey Select 2 StudioNeoV2: assign screenshots to
the event's missing images (sorted by your key order), copied and renamed into the game's
image folder. The extension exports the open event for it (mtsEventManager.capture.*).
Changed
- Every write goes through a verified edit: planned, simulated, re-parsed, structure-checked
(strings, brackets, empty blocks) and rolled back if the result differs. - Faster indexing: per-file cache, no full reindex on every keystroke.
- Webview scripts moved out of TypeScript template strings into
webview/*.js; pages load them
with a nonce — no inline scripts are allowed any more (stricter CSP). - Image previews reload when files change on disk (versioned URLs + file watcher).
- The image and paperdoll CodeLens buttons were removed — both live in the event editor now.
Fixed
- Triple-quoted dialogue no longer produces bogus speakers or stops.
- + inserts after the end of a multi-line statement instead of after its first line.
- Deleting the only statement of a block leaves
passinstead of an empty block.
Install: the extension via Extensions → … → Install from VSIX (mts-event-manager-0.6.0.vsix);
the plugin by extracting MTSCapture-0.6.0.zip into the Honey Select 2 folder (BepInEx 5 + KKAPI ≥ 1.46 required).