Skip to content

Releases: SuitIThub/MTS-Event-Manager

MTS Event Manager 0.6.3

Choose a tag to compare

@github-actions github-actions released this 03 Oct 13:53

[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, usually Z:; 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
    \r and \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_say alternatives, stats and
      end_event types, 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 + Movie declarations), background (set_background,
      blur, split, b/w), paperdoll editor and the Event(...) definition editor.
    • Check: every path of the event against images per value (incl. $ wildcard files),
      Movie declarations, 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.
  • Ren'Py monologue mode: a """…""" say statement is split at blank lines into several
    dialogue stops (rpy monologue single/none respected); each part is edited on its own.
  • Composite events: fragments inherit the patterns and selector values of their
    EventComposite (the engine's frag_image_patterns → image_patterns fallback).
  • 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 pass instead 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

Choose a tag to compare

@github-actions github-actions released this 27 Sep 09:24

[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_say alternatives, stats and
      end_event types, 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 + Movie declarations), background (set_background,
      blur, split, b/w), paperdoll editor and the Event(...) definition editor.
    • Check: every path of the event against images per value (incl. $ wildcard files),
      Movie declarations, 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.
  • Ren'Py monologue mode: a """…""" say statement is split at blank lines into several
    dialogue stops (rpy monologue single/none respected); each part is edited on its own.
  • Composite events: fragments inherit the patterns and selector values of their
    EventComposite (the engine's frag_image_patterns → image_patterns fallback).
  • 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 pass instead 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

Choose a tag to compare

@github-actions github-actions released this 26 Sep 18:26

[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_say alternatives, stats and
      end_event types, 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 + Movie declarations), background (set_background,
      blur, split, b/w), paperdoll editor and the Event(...) definition editor.
    • Check: every path of the event against images per value (incl. $ wildcard files),
      Movie declarations, 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.
  • Ren'Py monologue mode: a """…""" say statement is split at blank lines into several
    dialogue stops (rpy monologue single/none respected); each part is edited on its own.
  • Composite events: fragments inherit the patterns and selector values of their
    EventComposite (the engine's frag_image_patterns → image_patterns fallback).
  • 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 pass instead 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

Choose a tag to compare

@github-actions github-actions released this 26 Sep 18:10

[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_say alternatives, stats and
      end_event types, 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 + Movie declarations), background (set_background,
      blur, split, b/w), paperdoll editor and the Event(...) definition editor.
    • Check: every path of the event against images per value (incl. $ wildcard files),
      Movie declarations, 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.
  • Ren'Py monologue mode: a """…""" say statement is split at blank lines into several
    dialogue stops (rpy monologue single/none respected); each part is edited on its own.
  • Composite events: fragments inherit the patterns and selector values of their
    EventComposite (the engine's frag_image_patterns → image_patterns fallback).
  • 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 pass instead 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).