Skip to content

feat(gui): add effects enable control - #75

Closed
kakra wants to merge 1 commit into
ralgar:mainfrom
kakra:feat/effects-enable-control
Closed

kakra wants to merge 1 commit into
ralgar:mainfrom
kakra:feat/effects-enable-control

Conversation

@kakra

@kakra kakra commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Expose the current effects state in the Effects tab and allow it to be changed directly from the GUI.

  • add an Effects enabled checkbox next to Reload Active Effects
  • keep the checkbox synchronized with the existing ToggleEffects hotkey
  • replace the function-local toggle state with shared, device-scoped state
  • make swapchain rendering and the GUI use the same state

Motivation

The hotkey is useful for visual A/B comparisons, but after switching several times it can be difficult to remember whether the effect chain is currently enabled.

The checkbox makes the active state immediately visible while preserving the existing hotkey workflow.

Implementation

The current implementation stores the state in a device-scoped shared atomic value. This lets the rendering path, hotkey, and GUI observe and modify the same state without introducing a separate UI-only copy.

You previously mentioned that you may prefer different ownership for this state. I have kept the current implementation as a concrete review basis and am happy to adapt it to your preferred design.

Scope

This branch is now based directly on the current main and contains a single commit:

  • 1529171 feat(gui): add effects enable control

It no longer depends on the superseded live-log PR or any other local feature branch.

Testing

  • release build with meson compile -C build
  • all six configured tests pass with meson test -C build --print-errorlogs
  • git diff --check
  • range-diff against the previous standalone effects-control commit
  • previously smoke-tested in ETS2 as part of the local integration queue

A final ETS2 smoke test of checkbox/hotkey synchronization will be done before removing the draft status.

@kakra
kakra force-pushed the feat/effects-enable-control branch 2 times, most recently from d2844fb to bba68c9 Compare August 26, 2026 06:33
Replace the function-local effects toggle with device-scoped shared
state. Let the existing hotkey and an Effects-tab checkbox read and
update the same value.
@kakra
kakra force-pushed the feat/effects-enable-control branch from bba68c9 to 1529171 Compare August 26, 2026 20:20
@kakra

kakra commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

Updated the top post. The PR deliberately remains a draft pending a decision on state ownership.

@ralgar

ralgar commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Hey, since this PR was quite out of date and needed some changes anyway, I just went ahead and put it together quickly in #136 using the internal ConfigStore for global state tracking. It's not thread-safe, but nothing really is at this stage. Once the broader ownership issues are resolved I'll look at adding locking to ConfigStore, to properly support multiple swapchains.

@ralgar ralgar closed this Sep 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants