Skip to content

0.6.1 - #10

Merged
YozoraKurage merged 3 commits into
mainfrom
0.6.1
Jun 10, 2026
Merged

YozoraKurage merged 3 commits into
mainfrom
0.6.1

Conversation

@YozoraKurage

Copy link
Copy Markdown
Owner

No description provided.

claude added 3 commits June 9, 2026 23:52
…eat: duplicate states (Ctrl+D)

Bug fixes:
- Guard every blend tree traversal (AllBlendTrees, blend tree graph view
  layout, hierarchy panel, ancestor search) against self-nested trees,
  which previously recursed forever and hung the editor. BlendTreePanel
  now rejects motion assignments that would create such a cycle, with a
  new BlendTree.ContainsTree helper.
- Transitions targeting a state nested inside a child sub-state machine
  (common for Any State transitions) were silently not drawn; they now
  render as an edge to the sub-state machine node, matching Unity.
- Sub-state machine nodes opened on double-clicks of any mouse button;
  now left-button only, consistent with state nodes.
- State copy paths tolerate null/destroyed states instead of risking a
  null dictionary key; edge parameter highlighting skips destroyed
  transitions.
- DaerDContext.SetLayer now resets path/selection and notifies listeners
  for zero-layer controllers too.
- Remove duplicated UNITY_INCLUDE_TESTS define constraint in tests asmdef.

Features:
- Duplicate State(s): Ctrl+D and a graph context menu entry clone the
  selected states in place (fields + transitions inside the selection)
  without clobbering the copy/paste clipboard. Core logic lives in the
  new StateDuplicator model class, which also hosts the shared unique
  state name helper.

Tests: new StateDuplicatorTests and AnimatorControllerExtensionsTests
(cycle termination, ContainsTree).

https://claude.ai/code/session_01SxnuHWXWvzKNgxHq8mQR1J
…layer settings to a right-click popup

- InspectorPanel no longer touches destroyed ("fake null") selection
  objects: deleting a selected state could repaint the inspector before
  the scheduled graph rebuild and throw MissingReferenceException (with
  the follow-up unbalanced-GUIClip error). The destroyed selection is
  also cleared from the shared context after each graph rebuild, since
  the silent selection restore never wrote back to it.
- Layer settings (name / weight / blending / mask / IK pass, plus
  Duplicate & Delete) moved from the block at the bottom of the Layers
  panel into a popup opened by right-clicking a layer row, so they stay
  next to the layer they affect. Duplicate/Delete run deferred so the
  confirmation dialog can't dismiss the popup mid-OnGUI.
- Deleting a non-current layer keeps the currently shown layer selected
  instead of jumping to the deleted slot; Duplicate/Delete now guard
  against stale indices.

https://claude.ai/code/session_01SxnuHWXWvzKNgxHq8mQR1J
…arameters to the Add menu

- Layers panel: each row gets a gear button on its right edge that opens
  the settings popup, replacing the right-click affordance (which was
  easy to miss / annoying to use). The popup itself is unchanged.
- Parameters panel: the Add ▾ menu gains a "VRChat" submenu listing every
  built-in VRChat avatar parameter (Locomotion, Gestures, Voice, State &
  Tracking, Avatar Scaling), each with its correct type. Parameters
  already present are shown checked and non-clickable; "Add All Missing
  (n)" adds every absent one in a single undo step. The plain New-type
  items (Float/Int/Bool/Trigger) are kept.
- Parameter definitions live in a new VrcParameters model class, matching
  https://creators.vrchat.com/avatars/animator-parameters/ (names are
  case-sensitive and must match VRChat exactly).

Tests: VrcParametersTests (unique/non-empty names, core coverage, types).

https://claude.ai/code/session_01SxnuHWXWvzKNgxHq8mQR1J
@YozoraKurage YozoraKurage added the patch up to 0.0.x label Jun 10, 2026
@YozoraKurage
YozoraKurage merged commit 600992b into main Jun 10, 2026
@YozoraKurage
YozoraKurage deleted the 0.6.1 branch June 10, 2026 02:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

patch up to 0.0.x

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants