bump 0.2.0
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -0,0 +1,360 @@
|
||||
<!-- Generated by SpecStory, Markdown v2.1.0 -->
|
||||
|
||||
<!-- cursor Session 9d47ad7e-a8c1-4b72-b7cb-d27d2232bf50 (2026-03-10 17:24Z) -->
|
||||
|
||||
# Version and commit history check (2026-03-10 17:24Z)
|
||||
|
||||
_**User**_
|
||||
|
||||
1. First, check if there's a version file or manifest in T:\Dynamic-Link-Manager. Look for:
|
||||
- blender_manifest.toml
|
||||
- __init__.py with version/bl_info
|
||||
- Any version.txt or similar files
|
||||
|
||||
2. Check if there's a CHANGELOG.md or similar file
|
||||
|
||||
3. Run `git log --oneline -11` in the T:\Dynamic-Link-Manager directory to get the last 11 commits
|
||||
|
||||
Report back what you find for the current version and the commit history.
|
||||
|
||||
---
|
||||
|
||||
_**Agent (model accounts/fireworks/models/kimi-k2p5, mode Agent)**_
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
<think><details><summary>Thought Process</summary>
|
||||
The user wants me to:
|
||||
1. Check for version files in T:\Dynamic-Link-Manager
|
||||
2. Check for a CHANGELOG.md file
|
||||
3. Run git log --oneline -11 in that directory
|
||||
|
||||
Let me start by listing the files in the directory to see what exists, and then read the relevant files.</details></think>
|
||||
|
||||
---
|
||||
|
||||
I'll check for version files, changelog, and commit history in the repository.
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2** • Run command: ls -la T:\Dynamic-Link-Manager</summary>
|
||||
|
||||
```bash
|
||||
ls -la T:\Dynamic-Link-Manager
|
||||
```
|
||||
|
||||
```
|
||||
Get-ChildItem: C:\Users\Nathan\AppData\Local\Temp\ps-script-64c6ec1b-14fb-4817-ae61-5c5dd0a3abc6.ps1:7
|
||||
Line |
|
||||
7 | ls -la T:\Dynamic-Link-Manager
|
||||
| ~~~
|
||||
| A parameter cannot be found that matches parameter name 'la'.
|
||||
|
||||
```
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2** • Run command: git log --oneline -11</summary>
|
||||
|
||||
```bash
|
||||
git log --oneline -11
|
||||
```
|
||||
|
||||
```
|
||||
a570949 Purge orig actions and cleanup rep actions
|
||||
968425e make rm original work as intended
|
||||
48f0065 rm run migration
|
||||
50d3f05 add remove original button
|
||||
53927a6 make tweak tools collapsible
|
||||
b7a8366 separate functions into situational fixes
|
||||
0299cc5 FKrot bake finally working
|
||||
b681d02 tweak FKRot baking and removal
|
||||
1de7ec5 fix error print on migfkrot
|
||||
7e738fc add FKRotBake, armature parent functionality in RetargRelatives
|
||||
440b206 migfkrot working for 1 frame
|
||||
|
||||
```
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
<think><details><summary>Thought Process</summary>
|
||||
The ls -la command failed because it's using PowerShell, not bash. Let me try a PowerShell-compatible command to list the directory contents.</details></think>
|
||||
|
||||
---
|
||||
|
||||
Let me list the files using the correct PowerShell syntax.
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2** • Run command: Get-ChildItem -Path T:\Dynamic-Link-Manager | Select-Object Name</summary>
|
||||
|
||||
```bash
|
||||
Get-ChildItem -Path T:\Dynamic-Link-Manager | Select-Object Name
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2** • Run command: Get-ChildItem -Path T:\Dynamic-Link-Manager -Filter "*.md"</summary>
|
||||
|
||||
```bash
|
||||
Get-ChildItem -Path T:\Dynamic-Link-Manager -Filter "*.md"
|
||||
```
|
||||
|
||||
```
|
||||
|
||||
Directory: T:\Dynamic-Link-Manager
|
||||
|
||||
Mode LastWriteTime Length Name
|
||||
---- ------------- ------ ----
|
||||
-a--- 3/9/2026 2:28 PM 2424 CHANGELOG.md
|
||||
|
||||
```
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
<think><details><summary>Thought Process</summary>
|
||||
Good, I found a CHANGELOG.md. Now let me read the key files to check the version:
|
||||
1. blender_manifest.toml (already seen as open in the editor)
|
||||
2. __init__.py
|
||||
3. CHANGELOG.md
|
||||
|
||||
Let me read these files using the shell.</details></think>
|
||||
|
||||
---
|
||||
|
||||
Now let me read the version files and CHANGELOG.
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2** • Run command: Get-Content T:\Dynamic-Link-Manager\blender_manifest.toml</summary>
|
||||
|
||||
```bash
|
||||
Get-Content T:\Dynamic-Link-Manager\blender_manifest.toml
|
||||
```
|
||||
|
||||
```
|
||||
schema_version = "1.0.0"
|
||||
|
||||
id = "dynamiclinkmanager"
|
||||
name = "Dynamic Link Manager"
|
||||
tagline = "Character migrator and linked library tools"
|
||||
version = "0.1.2"
|
||||
type = "add-on"
|
||||
|
||||
# Optional: Semantic Versioning
|
||||
maintainer = "Nathan Lindsay <nathanlindsay9@gmail.com>"
|
||||
license = ["GPL-3.0-or-later"]
|
||||
blender_version_min = "4.5.0"
|
||||
|
||||
website = "http://10.1.10.3:30008/Nathan/Dynamic-Link-Manager"
|
||||
|
||||
tags = ["3D View"]
|
||||
|
||||
```
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2** • Run command: Get-Content T:\Dynamic-Link-Manager\CHANGELOG.md</summary>
|
||||
|
||||
```bash
|
||||
Get-Content T:\Dynamic-Link-Manager\CHANGELOG.md
|
||||
```
|
||||
|
||||
```
|
||||
# Changelog
|
||||
|
||||
## [0.1.2] - 2026-02-19
|
||||
|
||||
### Added
|
||||
- MigFKRot operator: copy FK arm and finger rotations from original to replacement using pose matrix copy.
|
||||
|
||||
### Changed
|
||||
- MigNLA: duplicate actions when copying to repchar so editing on repchar doesn't affect origchar.
|
||||
- MigFKRot: expanded bone name pattern matching for various rig styles (Rigify and alternatives).
|
||||
- MigBBody shapekeys: also duplicate shape key actions for independence.
|
||||
|
||||
### Fixed
|
||||
- MigFKRot: add debug logging to show which bones are found and copied.
|
||||
|
||||
|
||||
## [0.1.1] - 2026-02-19
|
||||
|
||||
### Fixed
|
||||
- MigBBody shapekeys: action slot not applying; now copy action and slot props (last_slot_identifier, action_slot, blend/extrapolation/influence) from original base body.
|
||||
- RetargRelations: skip objects in Original Character's hierarchy (linked collection); only retarget relations outside orig's hierarchy.
|
||||
- MigBoneConst: copy all constraint properties and targets (RNA POINTER/COLLECTION with origrep retarget), not just type/name/mute/influence.
|
||||
- AnimLayers: detect/mirror via RNA (obj.als.turn_on) so "Animation Layer attributes migrated" reports correctly.
|
||||
- MigCustProps: recursive id-property copy for nested groups; debug logging for armature/bone keys.
|
||||
|
||||
|
||||
## [0.1.0] - 2026-02-19
|
||||
|
||||
### Added
|
||||
- Gitea release workflow and runner docker-compose.
|
||||
- Tweak tools subsection: add/remove/bake constraints for arms, legs, and both; track name and post-clean options.
|
||||
- MigNLA: when no NLA, copy active action and action slot (incl. last_slot_identifier, blend/extrapolation/influence); debug logging for slot migration.
|
||||
- NLAMig: AnimLayers support (mirror `als.turn_on`), strip timing and properties; active-action-only path when no NLA tracks.
|
||||
- Operator icons (CopyAttr, MigNLA, CustProps, BoneConst, RetargRelatives, MigBBodyShapeKeys, pickers, tweak ops).
|
||||
- BaseBody shapekeys step: prefer original base body's shape-key action slot; library override + editable; copy shape key values.
|
||||
|
||||
### Changed
|
||||
- Operator labels refactored to canonical short names (CopyAttr, MigNLA, MigCustProps, etc.) with `bl_description` on all UI operators.
|
||||
- Migrate BaseBody shapekeys redefined: find base body in hierarchy, override mesh/key data when linked, then apply shape-key action.
|
||||
- Button labels truncated (e.g. "NLA", "BaseBody ShapeKeys").
|
||||
|
||||
### Fixed
|
||||
- BaseBody shapekeys: lib override creation and value copy; correct original-base-body lookup and slot assignment.
|
||||
|
||||
```
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2** • Run command: if (Test-Path T:\Dynamic-Link-Manager\__init__.py) { Get-Content T:\Dynamic-Link-Manager\__init__.py } else { "No __init__.py file found" }</summary>
|
||||
|
||||
```bash
|
||||
if (Test-Path T:\Dynamic-Link-Manager\__init__.py) { Get-Content T:\Dynamic-Link-Manager\__init__.py } else { "No __init__.py file found" }
|
||||
```
|
||||
|
||||
```
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import bpy
|
||||
|
||||
from .ui import CLASSES
|
||||
from .ui.properties import DynamicLinkManagerProperties
|
||||
from .ui.preferences import DynamicLinkManagerPreferences
|
||||
|
||||
|
||||
def ensure_default_search_path():
|
||||
addon = bpy.context.preferences.addons.get(__name__)
|
||||
if addon and len(addon.preferences.search_paths) == 0:
|
||||
addon.preferences.search_paths.add().path = "//"
|
||||
|
||||
|
||||
def register():
|
||||
DynamicLinkManagerPreferences.bl_idname = __name__
|
||||
for cls in CLASSES:
|
||||
bpy.utils.register_class(cls)
|
||||
bpy.types.Scene.dynamic_link_manager = bpy.props.PointerProperty(type=DynamicLinkManagerProperties)
|
||||
bpy.app.handlers.load_post.append(ensure_default_search_path)
|
||||
|
||||
|
||||
def unregister():
|
||||
if ensure_default_search_path in bpy.app.handlers.load_post:
|
||||
bpy.app.handlers.load_post.remove(ensure_default_search_path)
|
||||
del bpy.types.Scene.dynamic_link_manager
|
||||
for cls in reversed(CLASSES):
|
||||
try:
|
||||
bpy.utils.unregister_class(cls)
|
||||
except RuntimeError:
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
register()
|
||||
|
||||
```
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
<think><details><summary>Thought Process</summary>
|
||||
I now have all the information the user requested. Let me summarize:
|
||||
|
||||
1. **Version file**: `blender_manifest.toml` exists with `version = "0.1.2"`
|
||||
2. **CHANGELOG.md**: Exists with detailed changelog
|
||||
3. **__init__.py**: Exists but does NOT have a `bl_info` dict with version info - this appears to be a modern Blender 4.x extension format that uses `blender_manifest.toml` instead
|
||||
4. **Git log**: 11 commits provided
|
||||
|
||||
Let me report back the findings.</details></think>
|
||||
|
||||
---
|
||||
|
||||
Here's what I found:
|
||||
|
||||
## Version Information
|
||||
|
||||
**Current Version: `0.1.2`**
|
||||
|
||||
The version is defined in `blender_manifest.toml`:
|
||||
|
||||
```toml
|
||||
schema_version = "1.0.0"
|
||||
id = "dynamiclinkmanager"
|
||||
name = "Dynamic Link Manager"
|
||||
tagline = "Character migrator and linked library tools"
|
||||
version = "0.1.2"
|
||||
type = "add-on"
|
||||
maintainer = "Nathan Lindsay <nathanlindsay9@gmail.com>"
|
||||
license = ["GPL-3.0-or-later"]
|
||||
blender_version_min = "4.5.0"
|
||||
```
|
||||
|
||||
The `__init__.py` file exists but **does not contain a `bl_info` version dict** - this project uses the newer Blender 4.x extension manifest format (`blender_manifest.toml`) instead of the legacy add-on format.
|
||||
|
||||
## CHANGELOG.md
|
||||
|
||||
Found `CHANGELOG.md` with the following recent entries:
|
||||
|
||||
| Version | Date | Highlights |
|
||||
|---------|------|------------|
|
||||
| 0.1.2 | 2026-02-19 | MigFKRot operator for FK arm/finger rotations; expanded bone pattern matching |
|
||||
| 0.1.1 | 2026-02-19 | Fixed action slots, constraint copying, AnimLayers detection, custom properties |
|
||||
| 0.1.0 | 2026-02-19 | Initial release with Gitea workflow, tweak tools, NLA migration, AnimLayers support |
|
||||
|
||||
## Git Commit History (Last 11)
|
||||
|
||||
```
|
||||
a570949 Purge orig actions and cleanup rep actions
|
||||
968425e make rm original work as intended
|
||||
48f0065 rm run migration
|
||||
50d3f05 add remove original button
|
||||
53927a6 make tweak tools collapsible
|
||||
b7a8366 separate functions into situational fixes
|
||||
0299cc5 FKrot bake finally working
|
||||
b681d02 tweak FKRot baking and removal
|
||||
1de7ec5 fix error print on migfkrot
|
||||
7e738fc add FKRotBake, armature parent functionality in RetargRelatives
|
||||
440b206 migfkrot working for 1 frame
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
+144
@@ -0,0 +1,144 @@
|
||||
<!-- Generated by SpecStory, Markdown v2.1.0 -->
|
||||
|
||||
<!-- cursor Session dd526f99-b20d-401d-abac-ea6770d3a424 (2026-03-10 17:25Z) -->
|
||||
|
||||
# Dynamic-Link-Manager version and changelog update (2026-03-10 17:25Z)
|
||||
|
||||
_**User**_
|
||||
|
||||
Update the version and changelog for the Dynamic-Link-Manager addon:
|
||||
|
||||
1. **Update blender_manifest.toml**: Change version from "0.1.2" to "0.2.0"
|
||||
|
||||
2. **Update CHANGELOG.md**: Add a new entry at the top for version 0.2.0 with today's date (2026-03-10) and a concise summary of the changes from the last 11 commits:
|
||||
|
||||
The commits were:
|
||||
- Purge orig actions and cleanup rep actions
|
||||
- make rm original work as intended
|
||||
- rm run migration
|
||||
- add remove original button
|
||||
- make tweak tools collapsible
|
||||
- separate functions into situational fixes
|
||||
- FKrot bake finally working
|
||||
- tweak FKRot baking and removal
|
||||
- fix error print on migfkrot
|
||||
- add FKRotBake, armature parent functionality in RetargRelatives
|
||||
- migfkrot working for 1 frame
|
||||
|
||||
Summarize these concisely into a few bullet points covering:
|
||||
- New "Remove Original" operator with collection deletion and action management
|
||||
- UI improvements (collapsible Tweak Tools, Situational section)
|
||||
- FK rotation migration improvements (baking, single-frame copy, error fixes)
|
||||
- Removal of "Run Migration" button
|
||||
- Armature parent replication in RetargRelatives
|
||||
|
||||
Add the new entry at the TOP of the changelog table (before 0.1.2).
|
||||
|
||||
Use Python to make both edits.
|
||||
|
||||
---
|
||||
|
||||
_**Agent (model accounts/fireworks/models/kimi-k2p5, mode Agent)**_
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
<think><details><summary>Thought Process</summary>
|
||||
The user wants me to update version and changelog for a Blender addon. Let me first read the existing files to understand their structure, then use Python to make the edits.
|
||||
|
||||
Let me start by reading the files.</details></think>
|
||||
|
||||
---
|
||||
|
||||
I'll first read the existing files to understand their structure, then use Python to make the edits.
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2** • Run command: cat "t:\Dynamic-Link-Manager\blender_manifest.toml"</summary>
|
||||
|
||||
```bash
|
||||
cat "t:\Dynamic-Link-Manager\blender_manifest.toml"
|
||||
```
|
||||
|
||||
```
|
||||
schema_version = "1.0.0"
|
||||
|
||||
id = "dynamiclinkmanager"
|
||||
name = "Dynamic Link Manager"
|
||||
tagline = "Character migrator and linked library tools"
|
||||
version = "0.1.2"
|
||||
type = "add-on"
|
||||
|
||||
# Optional: Semantic Versioning
|
||||
maintainer = "Nathan Lindsay <nathanlindsay9@gmail.com>"
|
||||
license = ["GPL-3.0-or-later"]
|
||||
blender_version_min = "4.5.0"
|
||||
|
||||
website = "http://10.1.10.3:30008/Nathan/Dynamic-Link-Manager"
|
||||
|
||||
tags = ["3D View"]
|
||||
|
||||
```
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2**</summary>
|
||||
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2**</summary>
|
||||
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2**</summary>
|
||||
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
<tool-use data-tool-type="shell" data-tool-name="run_terminal_command_v2">
|
||||
<details><summary>Tool use: **run_terminal_command_v2**</summary>
|
||||
|
||||
</details>
|
||||
</tool-use>
|
||||
|
||||
---
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# Changelog
|
||||
|
||||
## [0.2.0] - 2026-03-10
|
||||
|
||||
### Added
|
||||
- New "Remove Original" operator with collection deletion and action management (purge/cleanup).
|
||||
- FK rotation migration improvements: baking support, single-frame copy, armature parent replication in RetargRelatives.
|
||||
|
||||
### Changed
|
||||
- UI improvements: Tweak Tools section is now collapsible; reorganized into Situational Fixes section.
|
||||
- Removed "Run Migration" button (functionality merged into Remove Original workflow).
|
||||
|
||||
### Fixed
|
||||
- MigFKRot: fixed error printing and improved bone matching reliability.
|
||||
|
||||
## [0.1.2] - 2026-02-19
|
||||
|
||||
### Added
|
||||
|
||||
@@ -3,7 +3,7 @@ schema_version = "1.0.0"
|
||||
id = "dynamiclinkmanager"
|
||||
name = "Dynamic Link Manager"
|
||||
tagline = "Character migrator and linked library tools"
|
||||
version = "0.1.2"
|
||||
version = "0.2.0"
|
||||
type = "add-on"
|
||||
|
||||
# Optional: Semantic Versioning
|
||||
|
||||
Reference in New Issue
Block a user