Skip to content

Add Penumbra mod action filtering and common pose shortcuts - #245

Draft
endfish wants to merge 3 commits into
Etheirys:mainfrom
endfish:feature/mod-action-tab
Draft

Add Penumbra mod action filtering and common pose shortcuts#245
endfish wants to merge 3 commits into
Etheirys:mainfrom
endfish:feature/mod-action-tab

Conversation

@endfish

@endfish endfish commented Jul 12, 2026

Copy link
Copy Markdown

Summary

  • Adds a Mod category to the action timeline selector for animations replaced by enabled Penumbra mods.
  • Adds a dedicated Poses category with quick access to common chair-sit, standing, ground-sit, and sleeping timelines.
  • Resolves the selected actor's effective Penumbra collection and detects pose variants from the actor's resolved game paths.
  • Applies selected entries through Brio's existing action timeline capability, so the resulting animation remains controllable from Brio.

Motivation

Animation and pose mods commonly replace the game's base idle animations. Penumbra can identify the affected emote, but it does not expose which numbered idle variant is being replaced in a convenient form. Entering timeline IDs manually is also cumbersome.

This addresses the common-pose quick-access portion of #209:
#209

The actor-persistence request in that issue is intentionally outside the scope of this PR.

Implementation notes

  • Uses Penumbra's public IPC subscribers to resolve the actor collection, changed items, mod paths, game-object resources, and resolved replacement paths.
  • Keeps a short-lived cache and invalidates the selector when detected mod actions change.
  • Includes the commonly used timeline IDs listed in [Feature Request] Actor persistence between sessions and quick-access for common idle poses #209 for chair sitting, standing, ground sitting, and sleeping.
  • Contains English UI text only; no Chinese resources or Brio-CN-specific behavior are included.

Validation

  • dotnet build brio.slnx -c Debug
  • Result: 0 warnings, 0 errors

endfish added 3 commits July 10, 2026 15:50
Add a dedicated Poses category for common chair-sit, standing, ground-sit, and sleep timelines. Improve Penumbra mod variant discovery so modded idle poses remain controllable through Brio.

Fulfills the quick-access request described in Etheirys#209.

Etheirys#209
@Minmoose

Copy link
Copy Markdown
Member

Thanks! I'm assuming this is similar in functionality to the unique features that CN Brio has?

@endfish

endfish commented Jul 13, 2026

Copy link
Copy Markdown
Author

Thanks! I'm assuming this is similar in functionality to the unique features that CN Brio has?

I don’t think I saw a similar feature in the CN-specific version of Brio, though it’s possible I just missed it, so I ended up implementing one myself.

For my own workflow, being able to directly access the animation mods currently enabled in Penumbra, as well as having shortcuts for sitting and standing poses, is incredibly convenient. So I figured other people might find it useful too, haha.

@endfish

endfish commented Jul 13, 2026

Copy link
Copy Markdown
Author

I took a closer look at the latest CN Brio code, and I think the two implementations are related in concept but serve different workflows.

CN Brio's Penumbra integration starts from an emote already selected in Brio. It resolves the effective mod for that emote and exposes the mod's XCP camera files, priority controls, and conflict handling inside the XAT/scene-control panel.

This PR works in the other direction: it resolves the selected actor's effective Penumbra collection, enumerates the currently active modded emotes and pose variants, and adds them directly to Brio's animation selector so they can be played and controlled through Brio. The dedicated common-pose category also appears to be separate; I could not find an equivalent in the current active CN Brio branches.

So there is some conceptual overlap around Penumbra-aware animation workflows, but they are not duplicates. I may still have missed a historical or unreleased implementation, and I mean no disrespect to the CN Brio work; I just wanted to clarify the distinction after checking it more carefully.

@Minmoose

Copy link
Copy Markdown
Member

Got it! Appreciate that!

I had always been planning on adding something like this as it's great idea. And while I don't really know anyone on the Brio CN team it had been a plan of mine to also port back some of that work into main Brio. This works as a great start though! So again, I think you, in the coming days I will review all 3 of the PRs you sent in, so we get them merged!

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